-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jstree 2015 #3995
Jstree 2015 #3995
Conversation
Hotkeys is now built into jstree so remove that plugin jstree + Everything else Added appropriate HTTP Response Codes to REST API Changed default paging and no-arguments for tree.py functions Functions will now return as much data as possible by default, it is then filtered by some or all of the other options. Added capability to customize the page size on REST API views and tree.py Small tidyup remocing comments and whitespace changes Removed leftover old '-locked' check Some whitespace and comment changes also Whitespace and comments Fixed extra parameter in marshalling plate acquisitions Expand node on selection by default Added select on up/down keys in jstree Changed expand-on-open jstree to use click not select This is to allow keypress navigation without opening everything Also, enable double click on a jstree image to open the full-viewer Load, but not open nodes on select with key navigation as that is what the current client does Restore selection intelligently upon refresh Added child count indicator and ensure it is updated when its number of children change Correctly update the child count of containers within the tree when changing one of their identical brethren Fix re-load on selection change on already loaded jstree nodes Fix slight issue with duplicate node child count on insertion in jstree Added conditional selection to jstree to prevent selection of different types simultaneously Comment on group-dropdown behaviour Remove group-user drowndown enhancements from branch Improvements to public share/discussion interface REST API now offers the capability to return all shares/discussions, optionally filter by those that a user is a member of and/or the owner of. Webclient updated to use new API interface Webclient public interface now responds correctly to dblclick Webclient public interface now correctly updates the right panel Webclient public interface now correctly handles the case where a shared image has been deleted Remove old functions Added 400 Bad Request to handling of ajax errors Also added a 400 for ValidationException for the containers api to test with initially Added more exception handling to REST API Fixed double-loading when expand-on-select in jstree Fix rename of P/D/I updates jsTree node name jsTree up/down hotkeys deselect_all() then select_node() Handle left & right jsTree hotkeys Slight readability improvement to hotkeys Handle renaming with identical nodes in jstree Added comment on renaming nodes in jstree on change Disallowed selection of multiple of the same item simultaneously in the jstree Handle all the possible exceptions in REST API and return appropriate HTTP Response Codes Minor PEP8 corrections Fix area select Handled filtering the centre panel results Correctly update the jstree toolbar when updating the tree selection in response to filtering or icon selection Updated webclient area selection to only update dom and jstree once instead of once per icon selected Fix bug in REST API view where group context was not being taken into account when listing tagged objects Added DELETE list of tags capability to the REST API Fix toolbar and deleting tags in webclient Tags panel Comment and minor fix Fixed buttons toggle on tags panel when selecting in middle panel in webclient Disabled multiple selection of the same object Enabled load on select, open in click and double click open for images Remove 'annotation' button config from webclient as it doens't seem to exist Fix share/discussion REST API that was returning duplicate rows in some cases Integration tests for marshalling of shares/discussions Added crosslinked object checks to tree tests Correctly disable paste button after emptying paste buffer Updated jstree to latest standard release (3.0.8) Add missing locate functionality when nodes are created Reinstated 5.0 cut behaviour Context menu 5.0 cut behaviour Very nearly completed reworking of thumbnail update + conventional cut support. Committing for safety reasons Fixed numerous issues with updating thumbs/tree on copy/cut/move/delete/dnd including some to do with updating other identical nodes and/or child counts Fixed missing plugin in tags/public Fixed missing data on copied nodes Conflicts: components/tools/OmeroWeb/omeroweb/webclient/static/webclient/css/layout.css components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.webclient.actions.js components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/annotations/annotations_share.html components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/container_tags.html components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/containers.html components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/containers_icon.html components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/includes/center_plugin.thumbs.js.html components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/includes/hotkeys.js components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/plate.html components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/public/public.html components/tools/OmeroWeb/omeroweb/webclient/tree.py components/tools/OmeroWeb/omeroweb/webclient/urls.py components/tools/OmeroWeb/omeroweb/webclient/views.py components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.hotkeys-0.8.js components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/jquery.jstree.js components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/apple/bg.jpg components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/apple/d.png components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/apple/dot_for_ie.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/apple/style.css components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/apple/throbber.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/classic/d.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/classic/d.png components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/classic/dot_for_ie.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/classic/style.css components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/classic/throbber.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default-rtl/d.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default-rtl/d.png components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default-rtl/dots.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default-rtl/style.css components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default-rtl/throbber.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default/d.gif components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default/d.png components/tools/OmeroWeb/omeroweb/webgateway/static/3rdparty/jquery.jstree-1.0-rc3/themes/default/style_ie.css components/tools/OmeroWeb/test/integration/test_show.py components/tools/OmeroWeb/test/integration/test_tree.py
Conflicts: components/tools/OmeroWeb/test/integration/test_tree.py
Conflicts: components/tools/OmeroWeb/test/unit/test_tree.py
Removed perms test which is not for inclusion here Conflicts: components/tools/OmeroWeb/test/integration/test_tree.py components/tools/OmeroWeb/test/integration/test_tree_perms.py
Conflicts: components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/public/public.html
Also some reformatting of public.html Conflicts: components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/public/public.html
Conflicts: components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.webclient.actions.js
panel Conflicts: components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.webclient.actions.js components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/container_tags.html components/tools/OmeroWeb/omeroweb/webgateway/templates/webgateway/base/includes/script_src_jquery.html components/tools/OmeroWeb/omeroweb/webgateway/templates/webgateway/base_site.html
Replaced 'isOwned' with the owned id in the JSON interface Also handled ome-cut/paste for crosslinked data including multi-linked and child counts Conflicts: components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.webclient.actions.js components/tools/OmeroWeb/omeroweb/webclient/tree.py components/tools/OmeroWeb/test/integration/test_tree.py
otherwise Conflicts: components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/container_tags.html
…ing in a variety of situations
Conflicts: components/tools/OmeroWeb/test/unit/test_tree.py
also causing the disabling on some context menus Conflicts: components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.webclient.actions.js components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/containers.html
styling Conflicts: components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/data/chgrp_target_tree.html
Ran all the robot tests, searched the runserver urls log for 301 redirects caused by missing trailing slashes. Only ones found were caused by robot tests themselves.
@sbesson @pwalczysko @joshmoore @jburel I think this PR is pretty much ready to merge now. Anything else need mentioning / discussing / scheduling? |
Will have a look at the trello card |
There is still a desynchronization between tree and central pane in cases where the names of images end in a style such as [ To repeat, navigate to http://eel.openmicroscopy.org/merge/webclient/?show=image-1861 (login as member-all-7, the "pagination" db must be deployed on eel) and use the down key to see the desynchronization. |
@pwalczysko The sorting bug was purely upper-case vv lower-case issue, fixed by always sorting with lower-case. Also fixed the sorting in table, to handle items with same name (sort these by id). |
OK. So after the new commits are in, the testing
I think this test exhaustively covers all the untested commits here. Possibly we could manage a rebuild today ? @sbesson @joshmoore ? |
2 more problems:
|
Another potential problem - after cut and paste of Bruker set inot Orphaned, when there already are some Brukers present, the newly pasted Burkers do not appear in the tree, just in the central pane (all sorts itself out after a refresh). |
@pwalczysko The tree and thumbnail sorting should be fully sync'd now since I'm sorting the thumbnails on load. Also the thumbnail selection followed by hotkey should keep everything in sync too. |
All good here, even the copy and paste of Bruker into the same folder twice without refresh is now fine #3995 (comment). Went trough orphaned and in-dataset workflow, multipage with bruker, also sorting by name and date, in orphaned and dataset. |
🎉 🎈 👏 🍰 |
Thanks all for testing and bug-fixes! |
Thanks for all the hard work pushing this home, sorry I couldn't do it myself! |
Next step : Does the webtagging work ? (looking) |
Yeah, I knew it wouldn't but was waiting until it was merged to fix it.
|
This is @dpwrussell's big #3141 jsTree PR rebased onto develop (again)!
This is currently "breaking" since the web-UI will need a lot of testing to check what's broken.
The OmeroWeb integrations tests test_tree.py and test_show.py are passing, but require @joshmoore's workarounds at #3910
I have had to do a lot of merge conflict on these tests, since the previous work was before the
lib.ITest
work. cc @ximenesuk @sbesson.Next I will work on Robot tests to get them passing before we go to manual testing of web scenarios.
NB: Many PRs (since last year) have conflicted with changes here and may have been broken in the merging above so lots of retesting needed! cc @aleksandra-tarkowska
Rebased work:
--rebased-from #4112