The contents of list styles may be sorted by dragging and dropping.
The problem is that the first time always fails. This means that if I drag an item to the top of the list it seems to return to its previous position. If I repeat the action the sorting works.
The position is actually stored correctly, because after the first drag I can also do a page refresh, which shows the expected sort order.
So it seems like the ajax request that will immediatly show the result of the reordering shows stale information.
you have to drop the tile when the new position change to green; of course it could be enhanced, but is not a bug.
The issue actually occurs even if the position changes to green. I'll investigate further and try to find the cause.
This is what happens:
I'm not sure which is the best way to fix this. I don't know why list.py uses self.data at some times, but ITileDataManager at other times. If everything went through self.data it would be fine (though I don't see where the changes are written back in this case). If everything went through ITileDataManger it should also work, but then there's no caching.
Lastly, the cover.js could just ignore the resulting html because the dom is already up to date after the drop. But that seems like treading the symptom, not the cause.
What do you think? I don't mind getting my hands dirty and fixing this myself, pull request and all. But I do need some guidance with me being new to this codebase.
please help us fixing it, but first try to add some lines to the Robot Framework tests to demonstrate the reordering functionality and the bug if possible.
open a new branch and feel free to fix whatever you need to; the code of that tile is old and is plenty of insane stuff.
we haven't had the time to look at it very closely.
Got it, thanks.
Adds failing test for issue #351
Fixes issue #351, where the reordering of list-items was not reflecte…
…d in the DOM.