vitessce
Version:
Vitessce app and React component library
321 lines (317 loc) • 12.3 kB
JavaScript
import { CoordinationType, Component } from '../constants';
/**
* Coordination types may have default values,
* which can be defined here, and used by the
* auto initialization strategy.
*/
export const DEFAULT_COORDINATION_VALUES = {
[]: 'cell',
[]: 'gene',
[]: 'expression',
[]: null,
[]: 0,
[]: null,
[]: null,
[]: 0,
[]: false,
[]: false,
[]: 14,
[]: 1,
[]: 'auto',
[]: 1,
[]: 'auto',
[]: null,
[]: 0,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: false,
[]: 0,
[]: 'Y',
[]: null,
[]: null,
[]: null,
[]: null,
[]: 0,
[]: 0,
[]: 0,
[]: 0,
[]: 'plasma',
[]: [0.0, 1.0],
[]: null,
[]: 1,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: 'cellSetSelection',
[]: 0,
[]: 0,
[]: 1549999999.5,
[]: 1549999999.5,
[]: null,
[]: null,
[]: null,
[]: null,
};
// The following coordination types should be
// initialized to independent scopes when
// initialized automatically.
// These make the resulting view config
// (after auto-initialization) behave
// like "legacy" Vitessce (pre-coordination model).
export const AUTO_INDEPENDENT_COORDINATION_TYPES = [
CoordinationType.HEATMAP_ZOOM_X,
CoordinationType.HEATMAP_ZOOM_Y,
CoordinationType.HEATMAP_TARGET_X,
CoordinationType.HEATMAP_TARGET_Y,
CoordinationType.EMBEDDING_ZOOM,
CoordinationType.EMBEDDING_TARGET_X,
CoordinationType.EMBEDDING_TARGET_Y,
CoordinationType.EMBEDDING_TARGET_Z,
CoordinationType.EMBEDDING_OBS_SET_POLYGONS_VISIBLE,
CoordinationType.EMBEDDING_OBS_SET_LABELS_VISIBLE,
CoordinationType.EMBEDDING_OBS_SET_LABEL_SIZE,
CoordinationType.EMBEDDING_OBS_RADIUS,
CoordinationType.EMBEDDING_OBS_OPACITY,
];
/**
* Mapping from component type to
* supported coordination object types.
* This mapping can be used to determine
* which pieces of state that a component will
* need to get/set.
* Keys here are the component registry keys.
*/
export const COMPONENT_COORDINATION_TYPES = {
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.EMBEDDING_TYPE,
CoordinationType.EMBEDDING_ZOOM,
CoordinationType.EMBEDDING_ROTATION,
CoordinationType.EMBEDDING_TARGET_X,
CoordinationType.EMBEDDING_TARGET_Y,
CoordinationType.EMBEDDING_TARGET_Z,
CoordinationType.EMBEDDING_OBS_SET_POLYGONS_VISIBLE,
CoordinationType.EMBEDDING_OBS_SET_LABELS_VISIBLE,
CoordinationType.EMBEDDING_OBS_SET_LABEL_SIZE,
CoordinationType.EMBEDDING_OBS_RADIUS,
CoordinationType.EMBEDDING_OBS_RADIUS_MODE,
CoordinationType.EMBEDDING_OBS_OPACITY,
CoordinationType.EMBEDDING_OBS_OPACITY_MODE,
CoordinationType.OBS_FILTER,
CoordinationType.OBS_HIGHLIGHT,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
CoordinationType.FEATURE_VALUE_COLORMAP,
CoordinationType.FEATURE_VALUE_COLORMAP_RANGE,
CoordinationType.OBS_COLOR_ENCODING,
CoordinationType.ADDITIONAL_OBS_SETS,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.EMBEDDING_TYPE,
CoordinationType.EMBEDDING_ZOOM,
CoordinationType.EMBEDDING_ROTATION,
CoordinationType.EMBEDDING_TARGET_X,
CoordinationType.EMBEDDING_TARGET_Y,
CoordinationType.EMBEDDING_TARGET_Z,
CoordinationType.EMBEDDING_OBS_SET_POLYGONS_VISIBLE,
CoordinationType.EMBEDDING_OBS_SET_LABELS_VISIBLE,
CoordinationType.EMBEDDING_OBS_SET_LABEL_SIZE,
CoordinationType.EMBEDDING_OBS_RADIUS,
CoordinationType.EMBEDDING_OBS_RADIUS_MODE,
CoordinationType.EMBEDDING_OBS_OPACITY,
CoordinationType.EMBEDDING_OBS_OPACITY_MODE,
CoordinationType.OBS_FILTER,
CoordinationType.OBS_HIGHLIGHT,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
CoordinationType.FEATURE_VALUE_COLORMAP,
CoordinationType.FEATURE_VALUE_COLORMAP_RANGE,
CoordinationType.OBS_COLOR_ENCODING,
CoordinationType.ADDITIONAL_OBS_SETS,
CoordinationType.FEATURE_VALUE_TRANSFORM,
CoordinationType.FEATURE_VALUE_TRANSFORM_COEFFICIENT,
CoordinationType.GATING_FEATURE_SELECTION_X,
CoordinationType.GATING_FEATURE_SELECTION_Y,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.SPATIAL_ZOOM,
CoordinationType.SPATIAL_ROTATION,
CoordinationType.SPATIAL_IMAGE_LAYER,
CoordinationType.SPATIAL_SEGMENTATION_LAYER,
CoordinationType.SPATIAL_POINT_LAYER,
CoordinationType.SPATIAL_NEIGHBORHOOD_LAYER,
CoordinationType.SPATIAL_TARGET_X,
CoordinationType.SPATIAL_TARGET_Y,
CoordinationType.SPATIAL_TARGET_Z,
CoordinationType.SPATIAL_ROTATION_X,
CoordinationType.SPATIAL_ROTATION_Y,
CoordinationType.SPATIAL_ROTATION_Z,
CoordinationType.SPATIAL_ROTATION_ORBIT,
CoordinationType.SPATIAL_ORBIT_AXIS,
CoordinationType.SPATIAL_AXIS_FIXED,
CoordinationType.OBS_FILTER,
CoordinationType.OBS_HIGHLIGHT,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
CoordinationType.FEATURE_VALUE_COLORMAP,
CoordinationType.FEATURE_VALUE_COLORMAP_RANGE,
CoordinationType.OBS_COLOR_ENCODING,
CoordinationType.ADDITIONAL_OBS_SETS,
CoordinationType.MOLECULE_HIGHLIGHT,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.HEATMAP_ZOOM_X,
CoordinationType.HEATMAP_ZOOM_Y,
CoordinationType.HEATMAP_TARGET_X,
CoordinationType.HEATMAP_TARGET_Y,
CoordinationType.OBS_FILTER,
CoordinationType.OBS_HIGHLIGHT,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.FEATURE_FILTER,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
CoordinationType.FEATURE_VALUE_COLORMAP,
CoordinationType.FEATURE_VALUE_COLORMAP_RANGE,
CoordinationType.OBS_COLOR_ENCODING,
CoordinationType.ADDITIONAL_OBS_SETS,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.OBS_COLOR_ENCODING,
CoordinationType.ADDITIONAL_OBS_SETS,
CoordinationType.FEATURE_SELECTION,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.ADDITIONAL_OBS_SETS,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_HIGHLIGHT,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.MOLECULE_HIGHLIGHT,
],
[]: [
CoordinationType.DATASET,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_FILTER,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
CoordinationType.OBS_COLOR_ENCODING,
CoordinationType.OBS_SET_SELECTION,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.FEATURE_SELECTION,
CoordinationType.FEATURE_VALUE_TRANSFORM,
CoordinationType.FEATURE_VALUE_TRANSFORM_COEFFICIENT,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.ADDITIONAL_OBS_SETS,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.FEATURE_SELECTION,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.SPATIAL_IMAGE_LAYER,
CoordinationType.SPATIAL_SEGMENTATION_LAYER,
CoordinationType.SPATIAL_POINT_LAYER,
CoordinationType.SPATIAL_NEIGHBORHOOD_LAYER,
CoordinationType.SPATIAL_ZOOM,
CoordinationType.SPATIAL_TARGET_X,
CoordinationType.SPATIAL_TARGET_Y,
CoordinationType.SPATIAL_TARGET_Z,
CoordinationType.SPATIAL_ROTATION_X,
CoordinationType.SPATIAL_ROTATION_Y,
CoordinationType.SPATIAL_ROTATION_Z,
CoordinationType.SPATIAL_ROTATION_ORBIT,
CoordinationType.SPATIAL_ORBIT_AXIS,
],
[]: [
CoordinationType.DATASET,
CoordinationType.OBS_TYPE,
CoordinationType.FEATURE_TYPE,
CoordinationType.FEATURE_VALUE_TYPE,
CoordinationType.GENOMIC_ZOOM_X,
CoordinationType.GENOMIC_ZOOM_Y,
CoordinationType.GENOMIC_TARGET_X,
CoordinationType.GENOMIC_TARGET_Y,
CoordinationType.FEATURE_FILTER,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
CoordinationType.OBS_SET_SELECTION,
CoordinationType.OBS_SET_HIGHLIGHT,
CoordinationType.OBS_SET_COLOR,
CoordinationType.ADDITIONAL_OBS_SETS,
],
[]: [
CoordinationType.DATASET,
CoordinationType.SPATIAL_IMAGE_LAYER,
],
higlass: [
CoordinationType.DATASET,
CoordinationType.GENOMIC_ZOOM_X,
CoordinationType.GENOMIC_ZOOM_Y,
CoordinationType.GENOMIC_TARGET_X,
CoordinationType.GENOMIC_TARGET_Y,
CoordinationType.FEATURE_FILTER,
CoordinationType.FEATURE_HIGHLIGHT,
CoordinationType.FEATURE_SELECTION,
],
};