Edit List Data
This page shows you how to edit items on the List widget. You will learn how to edit, delete, and duplicate a List item using action buttons within the widget.
Prerequisites
- A List widget connected to a query that holds the data you want to edit and update.
Edit list item
To edit a List item using an icon, follow these steps:
- 
Drop an Icon button to the List widget and select edit in Icon from the property pane. 
- 
Drop a Modal widget on to the canvas and add the required widgets to display specific details from the List item. Rename the buttons on the Modal to ResetandUpdate.
- 
Add a new query to update the List data. Example: UPDATE product
 SET name = {{inp_addProductTitle.text}},
 description = {{inp_addProductDescription.text}},
 type = 'OTHER',
 image = {{inp_addImgUrl.text}}
 WHERE id = {{utils.activeEditProduct ? utils.activeEditProduct.id : ''}};
- 
Create a JS Object to run the update query, close the Modal, and fetch the updated data from the datasource. Example: updateProduct: async () => {
 await updateProduct.run();
 closeModal('mdl_manageProduct');
 showAlert('Product Updated', 'success');
 getProducts.run();
 }
- 
Add Execute a JS function action to the onClick event of the Updatebutton on the modal.
- 
Add a Show modal action to the onClick event of the Icon. Select the Modal created in Step 2. 
Delete list item
To delete a list item using an icon, follow these steps:
- 
Drop an Icon button to the List widget and select trash in Icon from the property pane. 
- 
Drop a Modal widget on to the canvas and design it to show a confirmation message with CloseandDeletebuttons.
- 
Add a Show modal action to the onClick event of the Icon. 
- 
Add a query to delete the list item based on the triggeredItem property. Example: DELETE FROM product
 WHERE id = {{lst_products.triggeredItem.id}};
- 
Add Execute query action to the onClick event of the Deletebutton to run delete query.
Edit list item inline
To implement inline editing of list items using a Select widget, follow these steps:
- 
Drop a Select widget to the List widget. Bind data to the widget to populate values from a specific column. 
- 
Create a new query to update the column value for the triggered row. Example: UPDATE public."product"
 SET state = '{{lst_products.triggeredItem.sel_state.selectedOptionValue}}'
 -- Specify a valid condition here. Removing the condition may update every row in the table!
 WHERE id = {{lst_products.triggeredItem.id}};
- 
Add an action to the onOptionChange event of the Select widget to run the update query. 
- 
Set the On success callback to execute the fetch query for the List widget to reflect the changes.