SalesforceLabs / EnhancedLightningGrid

Component that allows you to sort and filter data within the Lightning Experience. Use as a replacement for a Related List, or create a new grid that shows results from a custom query.
BSD 3-Clause "New" or "Revised" License
136 stars 97 forks source link

Selected Rows After Refresh #18

Closed gmandala-akacrm closed 2 years ago

gmandala-akacrm commented 5 years ago

It looks like the internal list of selected rows does not get cleared out after a force:refreshView or sortablegrid:evtRefreshSDG event is fired. The UI makes it look like all of the rows have been deselected, but list actions will receive the ids of previously selected rows.

justinclarke-sc commented 4 years ago

We've noticed the same issue 1.5 years later after this comment. We've resorted to doing a full page refresh (not force:refreshView) after a multi-select event is handled. Is there any chance of this issue getting fixed?

tepp0f3l commented 4 years ago

@flindsaysf FYI we recently received a question about this bug on Enhanced Lightning Grid. If you have any advice or have a chance to look into it, please let us know 🙂

stephan-doctari commented 4 years ago

hi, is it possible in general to auto refresh the grid after edit action (e.force:editRecord)? Atm we must do it manually via the refresh button.

scottlandes1217 commented 4 years ago

This would be amazing if we could fix this somehow. Even if there's just a way to force a page refresh after a multi-select button is used would be sooo helpful. Thanks for all your work on this!

scottlandes1217 commented 4 years ago

@tepp0f3l I will literally pay you to fix this bug. Or at least my company would. I started combing through some of the code and I feel like we would just need to update the function of the refresh button on the list to clear any held values. Right now, when you click on the refresh button, it unchecks the multi-select boxes, but still keeps all of the ID's somewhere.

tepp0f3l commented 4 years ago

Obviously that would never be necessary @scottlandes1217, but if it's truly a tool you use a lot, I will take a look under the hood today. Would you be willing to provide a screenshot, or even better, a basic gif / 10-second screencast?

scottlandes1217 commented 4 years ago

Hi @tepp0f3l, Thanks for getting back to me! This is definitely a tool our company utilizes a lot. Here's a screencast of a quick video I took of the issue. https://www.screencast.com/t/E8KNeuPBb2VE

The main problem is that when you select any of the multi-select checkboxes and then use the refresh button on the list, the checkboxes disappear, but they are still checked on the back-end and you can continue to perform actions on them even though they do not look checked.

scottlandes1217 commented 4 years ago

@tepp0f3l Do you think this is possible at all or do you need any more information? If we can’t get this resolved my company is probably going to have to look into alternatives which is going to take a lot of time and money to rebuild. Thanks again for any help!

scottlandes1217 commented 4 years ago

@tepp0f3l - Would it just be possible to add "var idlist = [];" to the reload: function on sdgController.js?

justinclarke-sc commented 4 years ago

I'm very interested in having this bug fixed as well, it's a big pain for our users.

On Wed, Oct 7, 2020 at 8:05 PM Scott Landes notifications@github.com wrote:

@tepp0f3l https://github.com/tepp0f3l - Would it just be possible to add "var idlist = [];" to the reload: function on sdgController.js?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SalesforceLabs/EnhancedLightningGrid/issues/18#issuecomment-705255535, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIA2SEEJDY3F6WTZ2NC376LSJT63XANCNFSM4GMMFFCA .

--

Justin Clarke Salesforce Developer

Direct Line: 416.583.7173 Toll Free: 800.387.3206 x7173

tepp0f3l commented 4 years ago

Thanks so much for the screencast @scottlandes1217, that is super helpful. Apologies for not getting back to you sooner (I was out-of-office middle of Oct. and just now revisiting this). I'll do some debugging today!

tepp0f3l commented 4 years ago

@scottlandes1217 So, I haven't yet been able to set up an example like the one you showed in your video (where the delete checkboxes appear). Are you using a custom Sortable Data Grid, or a Relationship?

Any ways, since I'm not able to test the use case, I just went ahead and applied the fix you suggested and created a new package version. I haven't added it to the listing (in case it doesn't work), but you can install it via this link: https://login.salesforce.com/packaging/installPackage.apexp?p0=04t4H000000kbIh

When you have a chance, could you upgrade your package version and let me know if it resolved the issue? If not I will release a patched version ASAP with the fix removed.

ohadios commented 3 years ago

@tepp0f3l - I've experienced the same issue as reported here, and came to a very similar conclusion. I just installed the above reference package, ver 3.38.

Unfortunately, this did not resolve the issue... I've asked one of my developers to look at this and he'll probably post his findings here in the next few days.

darrylingalls commented 3 years ago

I think the previously recommended fix in the reload function would do nothing but define an empty local array.
Previously recommended: "var idlist = [];"

I believe you would need to set the attribute component.set("v.CheckedRowIDs",[]); or component.set("v.CheckedRowIDs",idlist);

Or however you wish to set an empty list

ohadios commented 3 years ago

@tepp0f3l any chance to make the above changes and re-package?

mcarrilloatsalesforcedotcom commented 2 years ago

Hi @scottlandes1217, could you please share the screencast again? I'm trying to fix this issue. Thanks

ohadios commented 2 years ago

@mcarrilloatsalesforcedotcom this issue was already resolved with the latest version release a while ago.

mcarrilloatsalesforcedotcom commented 2 years ago

@ohadios, cool, thanks