Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OrthoMCL - Custom tree-table for OrthoGroup page (#904)
* 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]>
- Loading branch information