-
Notifications
You must be signed in to change notification settings - Fork 0
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
Orthogroup tree table - tooltips #1253
Orthogroup tree table - tooltips #1253
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should change the behaviour of the popover button text in "instantUpdate" mode.
With this PR, the button text changes with each filter checkbox click, and this can change the layout of the buttons and then the popover moves with them. It's not very nice UX.
Hopefully resetCounter
can be removed, but at one point it was necessary! (I don't remember why.)
Also, while we are tweaking the mouse-over/'tooltips' I saw that the mouse pointer is in cursor: pointer
mode for all table cells in this table, whether or not they have clickable or mouse-over-able contents. (Compare this with the Pfam and other tables on the page.) I tried to find the culprit but couldn't. The file DataRow.scss looked likely but the class is spelled differently: DataRow-Inline
(.scss file) vs DataRow--Inline
(dev tools).
I agree. I got a little overzealous with removing state. I'll address the button text issue. I was also looking for the cursor:pointer culprit, but couldn't. I'll try again! |
This reverts commit db05da5.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works/looks great!
* made a start - WIP * re-render sequence table with Mesa * tweak comments * WIP * loosely wire in TreeTable and get shimmimg working * add patristic and basic type support * made a start with controlling table row height but should investigate the Mesa inline option * added Mesa table tooltips for td contents when in 'inline' mode (basically fixed-height mode) * use Mesa's inline option and tidy up * Revert "added Mesa table tooltips for td contents when in 'inline' mode (basically fixed-height mode)" This reverts commit f215762. * remove placeholder td title * restore whitespace in DataCell.tsx * upgrade tidytree and use new interactive option * table and tree order are the same * added basic checkboxes * WIP clustal form * that's hopefully clustal sorted - but can't test with local ortho-site * improve 'must select two proteins' verbiage * de-complicate .DataTable margin-bottom override * rename TreeResponse to GroupTreeResponse * add PFam domain architecture column * ugly search working as a demo on description column * add warning banner for data issue and tweak pfam column heading * used RealTimeSearchBox and made regexps safer and reorganised so we can useMemo for the table filtering * more memo and remove some commented code * add tree filtering * tree highlighting works with filtering now, dependency issues fixed * add core/peripheral filtering * added pfam legend - needs wiring still * wired up pfam checkboxes to table search * added the row count * conditionally render pfam legend and add heading * Remove vert scrollbar from tidytree table * remove code that collapsed the main section of the orthogroup page * no longer request trees for 1 or 2 sequences; fix RowCounter props change; fix some imports * fudge to sort table based on dodgy colon-containing full_ids * make tree darker and make tree/table check more robust * provide PFam descriptions in domain cartoon tooltips * sort out row counts * add better console logging for tree/table mismatches * made tree-table comparison for console more robust * add inlineUseTooltips options prop but not working fully yet * attempted better handling of very large groups * looks good now * removed full_id column (from display only) and added Accession aka sequence_link column and enabled the link * Use flex for label to allow for block children * Use SelectList for Pfam filter * Explicit empty PFam legend * Use similar style for core/peripheral filter * Add species filter to protein table * prevent overflow in SelectTree button with many items selected; also use flex-wrap to prevent large buttons crowding the search box * add shouldOnlyUpdateOnClose option to SelectTree * remove some unused imports * add MAX_SEQUENCES_FOR_TREE logic * selected row highlighting * tone down the row background color * don't indent search bar and filters * add instantUpdate option to SelectList * revert taxon filter to instant-update * instantUpdate for core/peripheral filter * Pfam architectures are now scaled by protein length * removed core-only filter for larger groups * improved table sort and filter performance - added comments about further optimisations * rename shouldOnlyUpdateOnClose to instantUpdate * remove an effect * missed a setSelected and dependency * final tweaks to button label behaviour * add reset button, revisit filter button layout * placeholder wrapper for image next to group stats * restore the buttonless phyletic distribution * improved comment/documentation * Adding update evalue histogram * static histogram image now shows, with elaborate width-setting for caption below * make caption rendering smoother - no horizontal shifting of the figure * moved png file again * simplified to hardcoded dimensions * Address typescript errors * remove taxon_abbrev column * rename Taxon column to Clade * rename Species filter button to Organism * improve filter button layout, especially when buttons have expanded content * fix Omit prop typo that wasn't detected because only consumer so far was a JSX file * main proteins table now has fully-fledged search box with column selector * moved styling to .scss file * revert column changes now that model is updated OrthoMCLModel#5 * added new WDK record scope - record-collapsed * added Dave's suggestions * merge in npm action change * cherry picking missed this line * Orthogroup tree table perf (#1233) * Only call anchorNode.scrollIntoView() if the position has changed * Update note to handle MIN_SEQUENCES_FOR_TREE * useDeferredValue partially working * onSpeciesSelected wasn't stable, is now * replace debouncing with deferred value for CheckboxTree searchTerm * tidy up * new useDeferredState hook * Use fixed dimensions for organism filter of protein table * the very basics * straw man ready * forgot the reset button * DRYed up a bit * fixed the edge case as described in PR, improved search box responsiveness * text search field selectors now more responsive * added asterisk and improved filter positioning * fixed broken logic with corePeripheral filter * memoized rowsByAccession and mesaState and fixed some logic errors * memoize treeProps just for tidiness * replaced the key hack with ref approach * Orthogroup tree table - tooltips (#1253) * new warning added, no new component, sorry * improved tree error warning with link to contact form * use display names in SelectList button labels * standardised search behaviour with help text * fixed broken protein popover with useImperativeHandle deps array * protein filter and paged table interaction fixed * fixed label display issue in EDA * Convert to function component with simple debounce logic using setTimeout * Make callbacks stable across renders * target _blank * fix import path * show table for 1 or 2 protein groups, not the error. Changes to CheckboxList/SelectList generics 1 of 2 * changes to CheckboxList/SelectList generics 2 of 2 * reset button also cancels text search * error banner was showing instead of loading spinner for large groups, now it isn't * use const for min seqs in tree * Remove style override that is no longer necessary --------- Co-authored-by: Dave Falke <[email protected]> Co-authored-by: Richard Demko <[email protected]>
This PR address some perf issues with huge tables, and removes some unneeded react state.