I have created Admingrid and associate UI form. I need to change the Status for all the items using Massaction. Any one know Please suggest me..
Uigrid.xml
<massaction name="listing_massaction">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="selectProvider" xsi:type="string">ox_homeslider_post_listing.ox_homeslider_post_listing.ox_homeslider_post_columns.ids</item>
<item name="indexField" xsi:type="string">id</item>
</item>
</argument>
<action name="delete">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="type" xsi:type="string">delete</item>
<item name="label" xsi:type="string" translate="true">Delete</item>
<item name="url" xsi:type="url" path="homeslider/post/massdelete"/>
<item name="confirm" xsi:type="array">
<item name="title" xsi:type="string" translate="true">Delete Slides</item>
<item name="message" xsi:type="string" translate="true">Are you sure you wan't to delete selected Slides?</item>
</item>
</item>
</argument>
</action>
<action name="status">
<settings>
<type>status</type>
<label translate="true">Change status</label>
<actions>
<action name="0">
<type>enable</type>
<label translate="true">Enable</label>
<url path="homeslider/post/massStatus">
<param name="status">1</param>
</url>
</action>
<action name="1">
<type>disable</type>
<label translate="true">Disable</label>
<url path="homeslider/post/massStatus">
<param name="status">2</param>
</url>
</action>
</actions>
</settings>
</action>
</massaction>
Best Answer
You can define your massaction in your uicomponent grid.
Inside
listingToolbar>
tag you can define<massaction>
as many mass action you want.<item name="indexField" xsi:type="string">entity_id</item>
defines the primary key which you will get in your controller.<item name="url" xsi:type="url" path="*/*/massDelete"/>
defines the path of your controller where you can call your model and perform mass action on it. You need to create controller for same.Update For Mass Status Update
You need to define your mass controller