* embedding
* menu bottom left
* button
* change gutters to support lower toolbar
* fix scatterplot layout
* fix tests to match new layout
* fix smoke tests to match new layout
* better sentence, dataset.nObs to top
* scatterplot position
Co-authored-by: bkmartinjr <bruce@chanzuckerberg.com>
* refactor categorical controls state
* lint
* fix race condition in tests
* fix typo
* add missing update on subset
* remove obsolete code
* update jest and puppeteer major version; update all minors
* update when label changes
* remove lint from tests; increase timeouts in e2e tests
* initial refactoring to new async annomatrix
* refine error handling
* fix bad merge
* add continuous legend
* lint
* fix memoization in color table creators
* partial implementation of user defined annotations
* add new annotations action creator file
* first pass at user annotations
* additional user annotation bug fixes
* user annotation auto-save
* unit test cleanup
* lint
* refactor into multiple files
* cleanup
* add column GC
* fix several bugs in user annotations
* remove debug code
* no anonymous functions
* undo redo cleanup
* file cleanup
* scatterplot
* performance
* cleanup
* remove old code
* render in parallel with load
* fix race condition
* simply graph rendering
* render throttle DRY
* fix category label order
* fix typo in e2e test setup
* re-fix the e2e test setup
* be more tolerant of races
* anno matrix unit tests
* temp disable reembedding
* pilot port continuous histo to react-async
* name change
* lint
* fix repaint bug
* typo fix
* update snap to match new ids
* world/universe name cleanup
* move annoMatrix to src dir
* use private underscore naming convention
* fix corner case in all selected
* name cleanup
* add layout control
* init edge case
* lint
* port scatterplot
* fix label indexing bug and improve tests
* port category to react-async
* fix user annotation labelling while subset
* select all of prev layout on layout switch
* fix race with crossfilter update
* prettier lint
* fix misleading comment
* fix url composition in loader
* first pass at crossfilter tests
* lint
* lint
* fix typo
* improved error handling for network errors
* fix memoization bug
* add memo
* refactor for performnce
* add missing single-value handling in select exact parser
* small bugs discovered by tests
* lint
* additional crossfilter unit tests
* remove extraneous comment
* add support for automatic category determination
* lint
* fix render bug in category
* take advantage of schema categories guarantee
* lint
* do not clear history when resetting
* enhanced annomatrix gc
* lint
* finish renaming to follow conventions; fix clone race bug
* lint
* add priority based loading to improve initial data load UX
* crossfilter cache perf
* perf tuning
* remove timers
* documentation
* PR review changes
* PR review changes
* more PR review edits
* improve clarity of comment
* more PR review fixes
* port centroidLabels to use react-async
* remove dead code
* pr review updates
* oops, remove logging
* 1510-smoke-test
* config default
* update tests
* update test config
* fix linter errors
* more comments
* address comments
* use npm install in push_tests.yml
* use environment.default.json
* adding docs
* Take care of @mweiden's nits
* Save screenshots in the __tests__/screenshots/ directory
* typo
* docs
* Add chart tests (#1580)
* merge tests
* check if bin creation returned null before rendering charts (#1576)
* check if bin creation returned null before rendering charts
* refactor chart rendering into functions (#1577)
* little fixes from PR
* reintroduce fix to check for null values
* change getAllByClass to return element
* slice instead
* new stackedbar test
* feedback-1573-test (#1579)
* feedback-1573-test
* enable whole test set
* revert tests
Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
* tweak test to actually render chart
* include snapshot
* remove async
* fix getAllHistograms
* properly grab id
Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com>
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
* add case to removing labels
* add disabled state to centroid button
* fix centroid test button clicking order
* don't accidentally un-toggle first color
* run eslint --fix
* camelcase
* camelCase config part 1
* part 2
* part 3 - removing subscripts
* fix "class-methods-use-this"
* fix "class-methods-use-this"
* fix eslint ignores
* add eslint ignore for set state in update
* reformat comments to appease eslint
* add a11y features
* sort-comp fix
* a11y fix
* add ignore for set state in update
* add a11y htmlFor
* remove unused toast
* remove unnecessary bind
* add ignore for set state in update
* add rel="noopener noreferrer"
Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener
* use arrow function to bind
* remove unused definitions/declarations
* prettier
* remove unused state
* add comments to empty catch blocks remove curly brackets
* escape '
* use eqeqeq
* switch from default export
* remove ignore log
* remove static
* fix import
* revert subscripting config
* clean-up
* remove unnecessary subscript
* fix new errors from master
* change category click handler to a class property
* fix camelcase changes that slipped by
* unused import
* Fix newly introduced ESLint errors from addGenes
* Refactor CSS layout and react logic for layout
Fixes https://github.com/chanzuckerberg/cellxgene/issues/1022
* Menubar should wrap inside middle pane instead of overlapping left
sidebar when window is scrunched
* cellxgene should have a minimum width of 1240px
1. Replace absolute positioning and dimension calculation with css grid
2. Use flexbox for wrapping menubar buttons
* Middle pane (graph) can calculate its own size
* Removing components calculating their size/position relative to
eachother increases modularity, decreases use of global variables
* Improved some scrollbar behavior
* Removed responsive reducer, propagating window size to components
triggers unnecessary events and encourages breaking modularity; doing
this made some components state agnostic
Reference: https://css-tricks.com/snippets/css/complete-guide-grid/
* Reposition the continuous legend
* Small fixes
* Respond to feedback from @colinmegill
* Respond to feedback from @colinmegill
Add more documentation on the renderGraph method.
Fixes https://github.com/chanzuckerberg/cellxgene/issues/1349
For more information see https://github.com/d3/d3-format
Note that does not _fully_ fix the issue described in #1349, but rather
makes the formatting issue far less likely. It is _still_ possible for
this to occur if the difference between two ticks in axes happes in the
a significant digit cropped by the scientific notation format
* maybe truncate string
* add string formatting to test
* correct import
* destructuring
* add maxlength
* test
* Respond to feedback from @bkmartinjr
Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com>
* add test labels
* prettier + add clcik return to clickOn()
* prettier + begin test
* finish label counting test
* add util to get coordinates of element
* add test id to labels
* add test to check overlay transform
* remove logs
* rename to match master
* first cut at re-embedding route and back-end support
* update and expand config route tests
* add scanpy_umap
* add reembedding to config route parameters
* front-end support for reembedding fetch and UI
* remove unused imports
* add loading state
* save reembedding in reducer state
* improve withColsFrom
* transmit reembed schema to client; pick unique embedding names
* display embeddings
* format
* lint
* spaces, tab size 2
* lint
* test hack for smoke-test race
* back out hack sleep
* add check for backed mode
* add unit test for reembedding
* lint
* hide re-embedding CLI param from help
* Undo selection appends diffExp genes to user gene list
Fixes https://github.com/chanzuckerberg/cellxgene/issues/1171
Need: When a user performs a differential expression from within
a sub-selection (world) of the data and then resets the selection to all
cells (universe), the differential expression results are no longer
valid.
Approach:
* When the selection is reset, move the top (maxUserDefinedGenes
- len(userDefinedGenes) from the differential expression results to the
list of user defined genes
* Raise maxUserDefinedGenes to 25 to give users more room and
accommodate the extra genes transferred in from differential expression
Other commits:
* Choose different button icons
* Add diff exp genes to user defined genes on subset too
* Respond to feedback from @liaprins-czi and @bkmartinjr
* Add undo/redo tests for annotations
Fixes https://github.com/chanzuckerberg/cellxgene/issues/969
... also refactor the tests for DRY.
* Add done()
* Make e2e annotations tests safer to concurrency
* Add data-testclass for save state.
* Simplify tests and make them dependent on save state
* Add smoke test for annotations features
* Do not save during annotations tests
* Fix botched rebase in dev guidelines
* Revert "Do not save during annotations tests"
This reverts commit f0bd970bb2.
* Respond to feedback from @bkmartinjr
* Collect all env vars in one, easy-to-find place
Past state:
* Default environement variables were stored in both client/package.json
and client/__tests__/e2e/config.js
* Constants that should have been linked--like the cellxgene server port
during testing--were repeated.
With this commit:
* All environment variables are parameterized
* All environment variables are packaged in default env files
* Move npm scripts to client Makefile
* Respond to feedback from @seve and @bkmartinjr
* load annotations individually
* fix type check to be more general
* update node CI version from 10 to 12
* node 11
* debug print node version
* travis node version to latest
* try nvm
* remove extraneous node_js statement
* remove node version debugging printf
* incrementally load all annotations and layout
* process annotations and layout as they are loaded
* fix tests
* sort categories incrementally
* incrementally build category view summary; add category loading spinner
* add spinner to continuous metadata
* configure undoable reducer
* incremental crossfilter creation
* improve busy layout
* more layout cleanup
* correctly reconcile categories in schema
* refine layout of lsb spinners
* more spinner layout work
* more spinner layout
* always load layout before obs annotations
* Create right sidebar files, move histos over
* restructure continuous legend + all padding
* right sidebar file
* proper graph positioning and resize
* new lasso values since right sidebar
* fix autosave position
* freeze objects
* component rendering perf work
* use PureComponent where safe
* remove obsolete WorldUtil code
* make brushable histogram a pure component
* many graph/scatterplot fixes: 722, 882, 758, 886
* fix e2e test breakage caused by graph transform work
* convert webgl point shaders to use flags rather than explicit point size
* remove unused packages from dependencies
* fix typo in regl prop name
* factor common code into util helper file
* legibility tweaks
* comment
* add histogram functionality to Dataframe; port category occupancy to use it
* fix binning and create histogram for continous by catagorical
* Remove unnecessary logs
* Begin work on KDE
* Replace broken KDE with working histogram
* Define domain and range based on data from histogram
* Fix occupancy
* Add continuous obs and switch to canvas
* Stop value from always rerendering
* clear before render
* Clear canvas on render
* refactor categorical occupancy to canvas
* Remove log
* simplify finding max
* refactor kde->histogram and occupancy->bins
* refactor svg -> canvas
* rename to occupancy stack
* create popup
* add metadata and categorical values to popup
* fix overflow
* remove zeros info
* style graph
* fix shouldComponentUpdate to look for world changes
* change categorySelected -> categoryValueSelected
* refactor out render
* remove comment
* conditionally have bottom border
* remove diff comp
* remove comments
* remove unnecessary mapping
* Add comments describing drawing functions
* comments
* flip comparison order
* remove logging
* move default to parameter
* move defaults to parameter
* disable popover if not showing histogram
* fix wording and styling
* add line break
* menubar 1
* zoom switching
* centering, pixel perfect canvas
* remove dead args and code
* clipping
* remove log
* if
* connect props
* lint
* undo
* logo left, componetize
* graph back to full height
* shadow to top
* do not prematurely call event handlers during render
* change test to deal with async histogram creation
* left section padding
* lint
* adjust graph to account for top bar,
* lasso tests
* refine histogram tests
* remove testing (onlys)
* enforce column name uniqueness for obs and var
* parameterize the column name containing obs and var user-readable names
* use the new annotation index value from schema
* update f/e unit tests
* PR review suggestions
* lint