Went through and ensured that undefined/null values were caught and handled correctly in render functions. Also documented some of the more complicated functions.
---
Closes#1825
* Pass in the previous crossfilter when creating a new annomatrix for a switched embedding in order to retain the previous selection of cells.
* Address Bruce's PR comment
This PR adds multiple data to the dataset overview drawer provided by the config endpoint and formats them accordingly. The appearance of this new data is contingent on `dataPortalProps.corpora_schema_version === "1.0.0"`
For QA launch cellxgene with a remixed dataset and click on the button in the upper left-hand corner or the updated button in the info menu.

~~Review opening is blocked by merge of #1805~~
---
Closes#1319
* Fix frontend mishandling of null userinfo
If the authentication is disabled, the userinfo endpoint returns null.
This case needs to be handled.
#1780
* Small fix for handling refesh tokens in auth
* save tiledb array to s3, dont cache user annotations
* Add option to disable annotation filename prompt (#1787)
Co-authored-by: Madison Dunitz <dunitzm@gmail.com>
* set tiledb default context in cxg_adaptor
Co-authored-by: maniarathi <arathi.mani@chanzuckerberg.com>
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
* Separate userinfo from the config endpoint
previously information about if the user was logged in and their username
was part of the config endpoint.
However, the config endpoint was previously static, and has a cache control.
Rather than not caching the config, a new endpoint called "userinfo"
is created to handle that information.
The config endpoint still has the non-changing part of the authentication:
config:
authentication:
requires_client_login: True/False
login: <uri to login endoint if requires_client_login is True>
logout: <uri to logout endoint if requires_client_login is True>
The userinfo endpoint returns this information:
userinfo:
is_authenticated: True/False
username: <string if is_authenticated>
if authentication is not enabled then the config does not have an authentication key,
and userinfo returns None.
Also in the PR are a few minor code improvements and bug fixes
Co-authored-by: Colin Megill <colinmegill@gmail.com>
* add user flag feature to annomatrix
* add implicit subsetting for partial embeddings
* lint
* add embedding cell counts to embedding choice menu
* layout
* 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>
* Small fix for handling display versions
Making a distinction between __version__ and the version we display in the info panel (displayr_version).
The hosted cellxgene can overwrite the display_version using a plugin.
Improve version handling in the customized assets
* 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>
* 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>
* Decreased the scope of polygonToPath and distance variables. Added a
new variable for the lasso path color. Removed the color setting from
handleDragStart, since this is already set in handleDrag. Added a
closePathColor "#bb2f00" which is the complementary of lasso path color.
When a lasso can close, the color will change from blue to red.
* Fix some linter issues.
* Fixed some linter issues.
* Fixing some linter issues.
* Changed lasso open and closed to BLUE5 and GREEN5 respectively.