Skip to content

React centre panel#4413

Closed
will-moore wants to merge 73 commits intoome:developfrom
will-moore:react_centre_panel
Closed

React centre panel#4413
will-moore wants to merge 73 commits intoome:developfrom
will-moore:react_centre_panel

Conversation

@will-moore
Copy link
Copy Markdown
Member

Evaluating React.js for updating centre panel

TODO: 🚧

  • focus(): Use scrollIntoViewIfNeeded() instead.
  • sorting. Need to implement sorting in jsTree so that thumbs stay in same order as tree, since otherwise everything breaks on pagination etc and we might be able to use jsTree selection logic instead of new logic just for thumbnails.
  • Selecting a range of filtered thumbnails. Possible to select a range of thumbnails where some in the range are hidden (filtered). They should not be selected.
  • Drag to select (jQuery plugin) - need to manually update selected thumbnails to jsTree.
  • Select plate - hide top Dataset toolbar (and clear filter).
  • Click handling for Wells
  • Double-click handling for Dataset thumbnails and Wells.
  • Refresh thumbnails (?thumbVersion etc)
  • Pagination
  • Handle /?show=well-123 and /?show=image-456 (image in well)
  • Webpack etc
  • Urls to use proper prefix
  • Robot framework tests!
  • Tests for new imageCount in views.py
  • Remove old code, checking all functionality is included in this PR: center_plugin.thumbs.js, plate.html, ome.plateview.js, containers_icon.html, container_paging.html
  • propTypes
  • code complexity: More components, smaller functions
  • shouldComponentUpdate() to improve rendering speed, especially on click/selection change

@will-moore
Copy link
Copy Markdown
Member Author

Close for now, until ready to test etc.

@will-moore will-moore closed this Jan 15, 2016
@joshmoore
Copy link
Copy Markdown
Member

One question having seen this pass by, @will-moore, would be if it wouldn't be possible to have this as a plugin.

@will-moore
Copy link
Copy Markdown
Member Author

So you could disable it? (like you can with the Acquisition tab and Preview tabs on the right panel)?
Yes, that's certainly possible, but is that question related specifically to this PR, or to the existing centre panel behaviour?

@joshmoore
Copy link
Copy Markdown
Member

Well, mostly re: the need to immediately close this. If it were a plugin, then it could just live wherever.

@jburel
Copy link
Copy Markdown
Member

jburel commented Jan 19, 2016

and having a plugin for example in web test. It could be easily evaluated using docker
since we now install figure/webtagging/gallery and webtest

@will-moore
Copy link
Copy Markdown
Member Author

I only closed it because it's not ready yet. I just wanted to open a PR to create a PR link I could include in my presentation and I couldn't immediately add a "broken" label to it, so I've closed it while I continue to work on it (or not). The purpose of this PR was primarily the evaluation of React.js, which we'll discuss later. But this is not optional extra behaviour (like webtagging). It is a direct replacement of existing functionality.

@joshmoore
Copy link
Copy Markdown
Member

It is a direct replacement of existing functionality.

Understood. For me, it's mostly about thinking through the concept of pluggability as far as possible. i.e. what would it cost us now or later to be able to make even this component pluggable?

Want to use the same query for loading images (with pagination / filtering to limit numbers)
and for counting the number of images we'd get without pagination or filtering.
Moved the 'converter' for converting json data for jstree into a manual external function so that
we can manually get the 'count' data before converting the data
This fixes the delay in slider handle movements, E.g. thumb slider
@will-moore will-moore reopened this Feb 29, 2016
@will-moore will-moore closed this Feb 29, 2016
@will-moore will-moore mentioned this pull request Jun 10, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants