@haniffalab/cherita-react 1.0.0-dev.2025-03-13.73606a74 → 1.0.0-dev.2025-03-13.274a553c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{components → cjs/components}/full-page/FullPage.js +6 -5
- package/dist/{components → cjs/components}/full-page/FullPagePseudospatial.js +6 -5
- package/dist/{components → cjs/components}/obs-list/ObsItem.js +50 -46
- package/dist/{components → cjs/components}/obs-list/ObsList.js +9 -7
- package/dist/{components → cjs/components}/obs-list/ObsToolbar.js +12 -11
- package/dist/{components → cjs/components}/offcanvas/index.js +24 -20
- package/dist/{components → cjs/components}/pseudospatial/Pseudospatial.js +9 -8
- package/dist/{components → cjs/components}/pseudospatial/PseudospatialToolbar.js +4 -3
- package/dist/{components → cjs/components}/scatterplot/Scatterplot.js +31 -22
- package/dist/{components → cjs/components}/scatterplot/SpatialControls.js +11 -10
- package/dist/{components → cjs/components}/scatterplot/Toolbox.js +6 -5
- package/dist/{components → cjs/components}/search-bar/SearchBar.js +6 -5
- package/dist/{components → cjs/components}/search-bar/SearchResults.js +13 -17
- package/dist/{components → cjs/components}/var-list/VarItem.js +32 -27
- package/dist/{components → cjs/components}/var-list/VarList.js +14 -10
- package/dist/{components → cjs/components}/var-list/VarListToolbar.js +4 -3
- package/dist/{components → cjs/components}/var-list/VarSet.js +21 -18
- package/dist/{components → cjs/components}/violin/Violin.js +4 -3
- package/dist/{context → cjs/context}/DatasetContext.js +11 -9
- package/dist/{context → cjs/context}/FilterContext.js +4 -3
- package/dist/{context → cjs/context}/ZarrDataContext.js +4 -3
- package/dist/{helpers → cjs/helpers}/color-helper.js +12 -11
- package/dist/{helpers → cjs/helpers}/map-helper.js +8 -7
- package/dist/{helpers → cjs/helpers}/zarr-helper.js +25 -15
- package/dist/{utils → cjs/utils}/Histogram.js +12 -8
- package/dist/{utils → cjs/utils}/ImageViewer.js +6 -5
- package/dist/{utils → cjs/utils}/Legend.js +8 -7
- package/dist/{utils → cjs/utils}/LoadingIndicators.js +5 -4
- package/dist/{utils → cjs/utils}/VirtualizedList.js +10 -9
- package/dist/{utils → cjs/utils}/requests.js +33 -21
- package/dist/{utils → cjs/utils}/string.js +9 -4
- package/dist/{utils → cjs/utils}/zarrData.js +12 -4
- package/dist/css/cherita.css +10 -0
- package/dist/css/cherita.css.map +1 -1
- package/dist/esm/components/dotplot/Dotplot.js +135 -0
- package/dist/esm/components/dotplot/DotplotControls.js +148 -0
- package/dist/esm/components/full-page/FullPage.js +134 -0
- package/dist/esm/components/full-page/FullPagePseudospatial.js +151 -0
- package/dist/esm/components/heatmap/Heatmap.js +105 -0
- package/dist/esm/components/heatmap/HeatmapControls.js +23 -0
- package/dist/esm/components/matrixplot/Matrixplot.js +107 -0
- package/dist/esm/components/matrixplot/MatrixplotControls.js +38 -0
- package/dist/esm/components/obs-list/ObsItem.js +477 -0
- package/dist/esm/components/obs-list/ObsList.js +256 -0
- package/dist/esm/components/obs-list/ObsToolbar.js +58 -0
- package/dist/esm/components/obsm-list/ObsmList.js +72 -0
- package/dist/esm/components/offcanvas/index.js +67 -0
- package/dist/esm/components/pseudospatial/Pseudospatial.js +228 -0
- package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +123 -0
- package/dist/esm/components/scatterplot/Scatterplot.js +394 -0
- package/dist/esm/components/scatterplot/ScatterplotControls.js +71 -0
- package/dist/esm/components/scatterplot/SpatialControls.js +140 -0
- package/dist/esm/components/scatterplot/Toolbox.js +25 -0
- package/dist/esm/components/search-bar/SearchBar.js +74 -0
- package/dist/esm/components/search-bar/SearchResults.js +139 -0
- package/dist/esm/components/var-list/VarItem.js +250 -0
- package/dist/esm/components/var-list/VarList.js +267 -0
- package/dist/esm/components/var-list/VarListToolbar.js +84 -0
- package/dist/esm/components/var-list/VarSet.js +193 -0
- package/dist/esm/components/violin/Violin.js +141 -0
- package/dist/esm/components/violin/ViolinControls.js +24 -0
- package/dist/esm/constants/colorscales.js +22 -0
- package/dist/esm/constants/constants.js +84 -0
- package/dist/esm/context/DatasetContext.js +572 -0
- package/dist/esm/context/FilterContext.js +48 -0
- package/dist/esm/context/ZarrDataContext.js +26 -0
- package/dist/esm/helpers/color-helper.js +66 -0
- package/dist/esm/helpers/map-helper.js +53 -0
- package/dist/esm/helpers/zarr-helper.js +129 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/utils/Filter.js +147 -0
- package/dist/esm/utils/Histogram.js +44 -0
- package/dist/esm/utils/ImageViewer.js +27 -0
- package/dist/esm/utils/Legend.js +58 -0
- package/dist/esm/utils/LoadingIndicators.js +22 -0
- package/dist/esm/utils/VirtualizedList.js +55 -0
- package/dist/esm/utils/errors.js +47 -0
- package/dist/esm/utils/requests.js +116 -0
- package/dist/esm/utils/search.js +39 -0
- package/dist/esm/utils/string.js +59 -0
- package/dist/esm/utils/zarrData.js +102 -0
- package/package.json +16 -5
- package/scss/cherita.scss +10 -0
- package/scss/components/layouts.scss +1 -0
- /package/dist/{components → cjs/components}/dotplot/Dotplot.js +0 -0
- /package/dist/{components → cjs/components}/dotplot/DotplotControls.js +0 -0
- /package/dist/{components → cjs/components}/heatmap/Heatmap.js +0 -0
- /package/dist/{components → cjs/components}/heatmap/HeatmapControls.js +0 -0
- /package/dist/{components → cjs/components}/matrixplot/Matrixplot.js +0 -0
- /package/dist/{components → cjs/components}/matrixplot/MatrixplotControls.js +0 -0
- /package/dist/{components → cjs/components}/obsm-list/ObsmList.js +0 -0
- /package/dist/{components → cjs/components}/scatterplot/ScatterplotControls.js +0 -0
- /package/dist/{components → cjs/components}/violin/ViolinControls.js +0 -0
- /package/dist/{constants → cjs/constants}/colorscales.js +0 -0
- /package/dist/{constants → cjs/constants}/constants.js +0 -0
- /package/dist/{index.js → cjs/index.js} +0 -0
- /package/dist/{utils → cjs/utils}/Filter.js +0 -0
- /package/dist/{utils → cjs/utils}/errors.js +0 -0
- /package/dist/{utils → cjs/utils}/search.js +0 -0
|
@@ -18,7 +18,8 @@ var _requests = require("../../utils/requests");
|
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
-
const useVarMean = (varKeys
|
|
21
|
+
const useVarMean = function (varKeys) {
|
|
22
|
+
let enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
22
23
|
const ENDPOINT = "matrix/mean";
|
|
23
24
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
24
25
|
const [params, setParams] = (0, _react.useState)({
|
|
@@ -49,9 +50,10 @@ const useVarMean = (varKeys, enabled = false) => {
|
|
|
49
50
|
|
|
50
51
|
// @TODO: display where disease data comes from
|
|
51
52
|
// add to disease dataset metadata
|
|
52
|
-
function DiseaseVarList({
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
function DiseaseVarList(_ref) {
|
|
54
|
+
let {
|
|
55
|
+
makeListItem
|
|
56
|
+
} = _ref;
|
|
55
57
|
const ENDPOINT = "disease/genes";
|
|
56
58
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
57
59
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
@@ -117,11 +119,12 @@ function DiseaseVarList({
|
|
|
117
119
|
className: "position-relative"
|
|
118
120
|
}, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, diseaseVarList)))));
|
|
119
121
|
}
|
|
120
|
-
function VarNamesList({
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
function VarNamesList(_ref2) {
|
|
123
|
+
let {
|
|
124
|
+
mode = _constants.SELECTION_MODES.SINGLE,
|
|
125
|
+
displayName = "genes",
|
|
126
|
+
showDiseaseVarList = true
|
|
127
|
+
} = _ref2;
|
|
125
128
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
126
129
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
127
130
|
const [varButtons, setVarButtons] = (0, _react.useState)(mode === _constants.SELECTION_MODES.SINGLE ? dataset.selectedVar ? _lodash.default.unionWith([dataset.selectedVar], dataset.varSets, _lodash.default.isEqual) : [...dataset.varSets] : [...dataset.selectedMultiVar, ...dataset.varSets]);
|
|
@@ -192,7 +195,8 @@ function VarNamesList({
|
|
|
192
195
|
setSortedVarButtons(varButtons);
|
|
193
196
|
}
|
|
194
197
|
}, [dataset.varSort.var.sort, dataset.varSort.var.sortOrder, varButtons, varMeans.isPending, varMeans.serverError, varMeans.fetchedData]);
|
|
195
|
-
const makeListItem = (item
|
|
198
|
+
const makeListItem = function (item) {
|
|
199
|
+
let isDiseaseGene = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
196
200
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
197
201
|
key: item.matrix_index
|
|
198
202
|
}, /*#__PURE__*/_react.default.createElement(_VarItem.VarItem, {
|
|
@@ -14,9 +14,10 @@ var _DatasetContext = require("../../context/DatasetContext");
|
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
// @TODO: set option for "var" and "disease"
|
|
17
|
-
function VarListToolbar({
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
function VarListToolbar(_ref) {
|
|
18
|
+
let {
|
|
19
|
+
varType = "var"
|
|
20
|
+
} = _ref;
|
|
20
21
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
21
22
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
22
23
|
const [sort, setSort] = (0, _react.useState)(dataset.varSort.var.sort);
|
|
@@ -26,14 +26,15 @@ const addVarToSet = (dispatch, set, v) => {
|
|
|
26
26
|
var: v
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
|
-
function SingleSelectionSet({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
function SingleSelectionSet(_ref) {
|
|
30
|
+
let {
|
|
31
|
+
set,
|
|
32
|
+
isActive,
|
|
33
|
+
selectSet,
|
|
34
|
+
removeSet,
|
|
35
|
+
removeSetVar,
|
|
36
|
+
showSearchBar = true
|
|
37
|
+
} = _ref;
|
|
37
38
|
const [openSet, setOpenSet] = (0, _react.useState)(false);
|
|
38
39
|
const varList = set.vars.length ? _lodash.default.map(set.vars, v => {
|
|
39
40
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
@@ -99,11 +100,12 @@ function SingleSelectionSet({
|
|
|
99
100
|
variant: "flush"
|
|
100
101
|
}, varList)))));
|
|
101
102
|
}
|
|
102
|
-
function MultipleSelectionSet({
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
function MultipleSelectionSet(_ref2) {
|
|
104
|
+
let {
|
|
105
|
+
set,
|
|
106
|
+
isActive,
|
|
107
|
+
toggleSet
|
|
108
|
+
} = _ref2;
|
|
107
109
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
108
110
|
className: "d-flex"
|
|
109
111
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -117,11 +119,12 @@ function MultipleSelectionSet({
|
|
|
117
119
|
title: set.name
|
|
118
120
|
}, set.name))));
|
|
119
121
|
}
|
|
120
|
-
function VarSet({
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
function VarSet(_ref3) {
|
|
123
|
+
let {
|
|
124
|
+
set,
|
|
125
|
+
active,
|
|
126
|
+
mode = _constants.SELECTION_MODES.SINGLE
|
|
127
|
+
} = _ref3;
|
|
125
128
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
126
129
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
127
130
|
const selectSet = () => {
|
|
@@ -18,9 +18,10 @@ var _requests = require("../../utils/requests");
|
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
-
function Violin({
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
function Violin(_ref) {
|
|
22
|
+
let {
|
|
23
|
+
mode = _constants.VIOLIN_MODES.MULTIKEY
|
|
24
|
+
} = _ref;
|
|
24
25
|
const ENDPOINT = "violin";
|
|
25
26
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
26
27
|
const {
|
|
@@ -44,10 +44,11 @@ const persistOptions = {
|
|
|
44
44
|
storage: window.localStorage
|
|
45
45
|
}),
|
|
46
46
|
dehydrateOptions: {
|
|
47
|
-
shouldDehydrateQuery:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
shouldDehydrateQuery: _ref => {
|
|
48
|
+
let {
|
|
49
|
+
queryKey,
|
|
50
|
+
state
|
|
51
|
+
} = _ref;
|
|
51
52
|
if (state.status === "success") {
|
|
52
53
|
return persistKeys.includes(queryKey?.[0]);
|
|
53
54
|
}
|
|
@@ -116,11 +117,12 @@ const initializer = initialState => {
|
|
|
116
117
|
const localValues = _lodash.default.pick(localObj, keys);
|
|
117
118
|
return _lodash.default.assign(initialState, localValues);
|
|
118
119
|
};
|
|
119
|
-
function DatasetProvider({
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
function DatasetProvider(_ref2) {
|
|
121
|
+
let {
|
|
122
|
+
dataset_url,
|
|
123
|
+
children,
|
|
124
|
+
...dataset_params
|
|
125
|
+
} = _ref2;
|
|
124
126
|
const [dataset, dispatch] = (0, _react.useReducer)(datasetReducer, _lodash.default.assign(initializer({
|
|
125
127
|
url: dataset_url,
|
|
126
128
|
...initialDataset
|
|
@@ -19,9 +19,10 @@ const initialFilterData = {
|
|
|
19
19
|
slicedLength: null,
|
|
20
20
|
isSliced: false
|
|
21
21
|
};
|
|
22
|
-
function FilterProvider({
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
function FilterProvider(_ref) {
|
|
23
|
+
let {
|
|
24
|
+
children
|
|
25
|
+
} = _ref;
|
|
25
26
|
const [filteredData, dispatch] = (0, _react.useReducer)(filterReducer, {
|
|
26
27
|
...initialFilterData
|
|
27
28
|
});
|
|
@@ -11,9 +11,10 @@ var _zarrData = require("../utils/zarrData");
|
|
|
11
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
13
|
const ZarrDataContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
14
|
-
function ZarrDataProvider({
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
function ZarrDataProvider(_ref) {
|
|
15
|
+
let {
|
|
16
|
+
children
|
|
17
|
+
} = _ref;
|
|
17
18
|
const obsmData = (0, _zarrData.useObsmData)();
|
|
18
19
|
const obsData = (0, _zarrData.useObsData)();
|
|
19
20
|
const xData = (0, _zarrData.useXData)();
|
|
@@ -42,17 +42,18 @@ const rgbToHex = color => {
|
|
|
42
42
|
exports.rgbToHex = rgbToHex;
|
|
43
43
|
const useColor = () => {
|
|
44
44
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
45
|
-
const getColor = (0, _react.useCallback)(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
const getColor = (0, _react.useCallback)(_ref => {
|
|
46
|
+
let {
|
|
47
|
+
value,
|
|
48
|
+
categorical = false,
|
|
49
|
+
grayOut = false,
|
|
50
|
+
grayParams: {
|
|
51
|
+
alpha = 0.75,
|
|
52
|
+
gray = 0.95
|
|
53
|
+
} = {},
|
|
54
|
+
colorEncoding = dataset.colorEncoding,
|
|
55
|
+
colorscale = null
|
|
56
|
+
} = _ref;
|
|
56
57
|
const colormap = colorscale || _colorscales.COLORSCALES[categorical ? "Accent" : dataset.controls.colorScale];
|
|
57
58
|
if (colorEncoding) {
|
|
58
59
|
if (grayOut) {
|
|
@@ -8,13 +8,14 @@ var _core = require("@deck.gl/core");
|
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
class MapHelper {
|
|
11
|
-
fitBounds(coords
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
fitBounds(coords) {
|
|
12
|
+
let {
|
|
13
|
+
width = 400,
|
|
14
|
+
height = 600
|
|
15
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
16
|
+
width: 400,
|
|
17
|
+
height: 600
|
|
18
|
+
};
|
|
18
19
|
let view = new _core.WebMercatorViewport({
|
|
19
20
|
width: width,
|
|
20
21
|
height: height,
|
|
@@ -10,10 +10,11 @@ var _zarr = require("zarr");
|
|
|
10
10
|
const GET_OPTIONS = exports.GET_OPTIONS = {
|
|
11
11
|
concurrencyLimit: 10,
|
|
12
12
|
// max number of concurrent requests (default 10)
|
|
13
|
-
progressCallback:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
progressCallback: _ref => {
|
|
14
|
+
let {
|
|
15
|
+
progress,
|
|
16
|
+
queueSize
|
|
17
|
+
} = _ref;
|
|
17
18
|
console.debug(`${progress / queueSize * 100}% complete.`);
|
|
18
19
|
} // callback executed after each request
|
|
19
20
|
};
|
|
@@ -41,10 +42,14 @@ const fetchDataFromZarr = async (url, path, s, opts) => {
|
|
|
41
42
|
throw error;
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
|
-
const useZarr = ({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
const useZarr = function (_ref2) {
|
|
46
|
+
let {
|
|
47
|
+
url,
|
|
48
|
+
path
|
|
49
|
+
} = _ref2;
|
|
50
|
+
let s = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
51
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : GET_OPTIONS;
|
|
52
|
+
let opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
48
53
|
const {
|
|
49
54
|
enabled = true
|
|
50
55
|
} = opts;
|
|
@@ -61,9 +66,10 @@ const useZarr = ({
|
|
|
61
66
|
return;
|
|
62
67
|
}
|
|
63
68
|
},
|
|
64
|
-
retry: (failureCount, {
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
retry: (failureCount, _ref3) => {
|
|
70
|
+
let {
|
|
71
|
+
error
|
|
72
|
+
} = _ref3;
|
|
67
73
|
if ([400, 401, 403, 404, 422].includes(error?.status)) return false;
|
|
68
74
|
return failureCount < 3;
|
|
69
75
|
},
|
|
@@ -84,7 +90,10 @@ const aggregateData = (inputs, data) => {
|
|
|
84
90
|
});
|
|
85
91
|
return dataObject;
|
|
86
92
|
};
|
|
87
|
-
const useMultipleZarr = (inputs
|
|
93
|
+
const useMultipleZarr = function (inputs) {
|
|
94
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : GET_OPTIONS;
|
|
95
|
+
let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
96
|
+
let agg = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : aggregateData;
|
|
88
97
|
const {
|
|
89
98
|
enabled = true
|
|
90
99
|
} = opts;
|
|
@@ -109,9 +118,10 @@ const useMultipleZarr = (inputs, options = GET_OPTIONS, opts = {}, agg = aggrega
|
|
|
109
118
|
return;
|
|
110
119
|
}
|
|
111
120
|
},
|
|
112
|
-
retry: (failureCount, {
|
|
113
|
-
|
|
114
|
-
|
|
121
|
+
retry: (failureCount, _ref4) => {
|
|
122
|
+
let {
|
|
123
|
+
error
|
|
124
|
+
} = _ref4;
|
|
115
125
|
if ([400, 401, 403, 404, 422].includes(error?.status)) return false;
|
|
116
126
|
return failureCount < 3;
|
|
117
127
|
},
|
|
@@ -10,11 +10,12 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
10
10
|
var _LoadingIndicators = require("./LoadingIndicators");
|
|
11
11
|
var _string = require("./string");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
function Histogram({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
function Histogram(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
data,
|
|
16
|
+
isPending,
|
|
17
|
+
altColor = false
|
|
18
|
+
} = _ref;
|
|
18
19
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
19
20
|
className: "feature-histogram-container"
|
|
20
21
|
}, isPending ? /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingLinear, null) : data ? /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -31,9 +32,12 @@ function Histogram({
|
|
|
31
32
|
colors: altColor ? _xCharts.mangoFusionPalette : _xCharts.blueberryTwilightPalette,
|
|
32
33
|
showHighlight: true,
|
|
33
34
|
showTooltip: true,
|
|
34
|
-
valueFormatter: (v, {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
valueFormatter: (v, _ref2) => {
|
|
36
|
+
let {
|
|
37
|
+
dataIndex
|
|
38
|
+
} = _ref2;
|
|
39
|
+
return `${(0, _string.formatNumerical)(data.hist[dataIndex])}`;
|
|
40
|
+
},
|
|
37
41
|
xAxis: {
|
|
38
42
|
data: _lodash.default.range(data.bin_edges?.length) || null,
|
|
39
43
|
valueFormatter: v => `Bin [${(0, _string.formatNumerical)(data.bin_edges[v][0], _string.FORMATS.EXPONENTIAL)}, ${(0, _string.formatNumerical)(data.bin_edges[v][1], _string.FORMATS.EXPONENTIAL)}${v === data.bin_edges.length - 1 ? "]" : ")"}`
|
|
@@ -8,11 +8,12 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactBootstrap = require("react-bootstrap");
|
|
9
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
10
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
-
const ImageViewer =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const ImageViewer = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
src,
|
|
14
|
+
alt,
|
|
15
|
+
className = "img-fluid"
|
|
16
|
+
} = _ref;
|
|
16
17
|
const [error, setError] = (0, _react.useState)(false);
|
|
17
18
|
const handleError = () => {
|
|
18
19
|
console.error("Error loading image from src:", src);
|
|
@@ -13,13 +13,14 @@ var _colorHelper = require("../helpers/color-helper");
|
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
-
function Legend({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
function Legend(_ref) {
|
|
17
|
+
let {
|
|
18
|
+
isCategorical = false,
|
|
19
|
+
min = 0,
|
|
20
|
+
max = 1,
|
|
21
|
+
colorscale = null,
|
|
22
|
+
addText = ""
|
|
23
|
+
} = _ref;
|
|
23
24
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
24
25
|
const {
|
|
25
26
|
getColor
|
|
@@ -7,10 +7,11 @@ exports.LoadingSpinner = exports.LoadingLinear = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _material = require("@mui/material");
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
const LoadingSpinner =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const LoadingSpinner = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
text = null,
|
|
13
|
+
disableShrink = false
|
|
14
|
+
} = _ref;
|
|
14
15
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
15
16
|
className: "loading-spinner"
|
|
16
17
|
}, /*#__PURE__*/_react.default.createElement(_material.CircularProgress, {
|
|
@@ -9,15 +9,16 @@ var _reactVirtual = require("@tanstack/react-virtual");
|
|
|
9
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
10
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
11
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
12
|
-
function VirtualizedList({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
function VirtualizedList(_ref) {
|
|
13
|
+
let {
|
|
14
|
+
getDataAtIndex,
|
|
15
|
+
count,
|
|
16
|
+
ItemComponent,
|
|
17
|
+
estimateSize = 45,
|
|
18
|
+
overscan = 25,
|
|
19
|
+
maxHeight = "80vh",
|
|
20
|
+
...props
|
|
21
|
+
} = _ref;
|
|
21
22
|
const [parentNode, setParentNode] = (0, _react.useState)(null);
|
|
22
23
|
const itemVirtualizer = (0, _reactVirtual.useVirtualizer)({
|
|
23
24
|
count: count,
|
|
@@ -8,7 +8,10 @@ exports.useFetch = exports.useDebouncedFetch = void 0;
|
|
|
8
8
|
var _reactQuery = require("@tanstack/react-query");
|
|
9
9
|
var _usehooks = require("@uidotdev/usehooks");
|
|
10
10
|
var _errors = require("./errors");
|
|
11
|
-
async function fetchData(endpoint, params
|
|
11
|
+
async function fetchData(endpoint, params) {
|
|
12
|
+
let signal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
13
|
+
let ms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 300000;
|
|
14
|
+
let apiUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
12
15
|
apiUrl = apiUrl || process.env.REACT_APP_API_URL;
|
|
13
16
|
const controller = new AbortController();
|
|
14
17
|
const timeout = setTimeout(() => {
|
|
@@ -36,10 +39,12 @@ async function fetchData(endpoint, params, signal = null, ms = 300000, apiUrl =
|
|
|
36
39
|
}
|
|
37
40
|
return await response.json();
|
|
38
41
|
}
|
|
39
|
-
const useFetch = (endpoint, params
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
const useFetch = function (endpoint, params) {
|
|
43
|
+
let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
44
|
+
refetchOnMount: false,
|
|
45
|
+
refetchOnWindowFocus: false
|
|
46
|
+
};
|
|
47
|
+
let apiUrl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
43
48
|
const {
|
|
44
49
|
enabled = true
|
|
45
50
|
} = opts;
|
|
@@ -49,18 +54,20 @@ const useFetch = (endpoint, params, opts = {
|
|
|
49
54
|
error: serverError = null
|
|
50
55
|
} = (0, _reactQuery.useQuery)({
|
|
51
56
|
queryKey: [endpoint, params],
|
|
52
|
-
queryFn:
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
queryFn: _ref => {
|
|
58
|
+
let {
|
|
59
|
+
signal
|
|
60
|
+
} = _ref;
|
|
55
61
|
if (enabled) {
|
|
56
62
|
return fetchData(endpoint, params, signal, apiUrl);
|
|
57
63
|
} else {
|
|
58
64
|
return;
|
|
59
65
|
}
|
|
60
66
|
},
|
|
61
|
-
retry: (failureCount, {
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
retry: (failureCount, _ref2) => {
|
|
68
|
+
let {
|
|
69
|
+
error
|
|
70
|
+
} = _ref2;
|
|
64
71
|
if ([400, 401, 403, 404, 422].includes(error?.status)) return false;
|
|
65
72
|
return failureCount < 3;
|
|
66
73
|
},
|
|
@@ -73,10 +80,13 @@ const useFetch = (endpoint, params, opts = {
|
|
|
73
80
|
};
|
|
74
81
|
};
|
|
75
82
|
exports.useFetch = useFetch;
|
|
76
|
-
const useDebouncedFetch = (endpoint, params
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
const useDebouncedFetch = function (endpoint, params) {
|
|
84
|
+
let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;
|
|
85
|
+
let opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
|
|
86
|
+
refetchOnMount: false,
|
|
87
|
+
refetchOnWindowFocus: false
|
|
88
|
+
};
|
|
89
|
+
let apiUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
80
90
|
const {
|
|
81
91
|
enabled = true
|
|
82
92
|
} = opts;
|
|
@@ -87,18 +97,20 @@ const useDebouncedFetch = (endpoint, params, delay = 500, opts = {
|
|
|
87
97
|
error: serverError = null
|
|
88
98
|
} = (0, _reactQuery.useQuery)({
|
|
89
99
|
queryKey: [endpoint, debouncedParams],
|
|
90
|
-
queryFn:
|
|
91
|
-
|
|
92
|
-
|
|
100
|
+
queryFn: _ref3 => {
|
|
101
|
+
let {
|
|
102
|
+
signal
|
|
103
|
+
} = _ref3;
|
|
93
104
|
if (enabled) {
|
|
94
105
|
return fetchData(endpoint, debouncedParams, signal, apiUrl);
|
|
95
106
|
} else {
|
|
96
107
|
return;
|
|
97
108
|
}
|
|
98
109
|
},
|
|
99
|
-
retry: (failureCount, {
|
|
100
|
-
|
|
101
|
-
|
|
110
|
+
retry: (failureCount, _ref4) => {
|
|
111
|
+
let {
|
|
112
|
+
error
|
|
113
|
+
} = _ref4;
|
|
102
114
|
if ([400, 401, 403, 404, 422].includes(error?.status)) return false;
|
|
103
115
|
return failureCount < 3;
|
|
104
116
|
},
|
|
@@ -13,28 +13,33 @@ const FORMATS = exports.FORMATS = {
|
|
|
13
13
|
ABBREVIATION: "abbreviation",
|
|
14
14
|
THOUSAND: "thousand"
|
|
15
15
|
};
|
|
16
|
-
function formatThousand(n
|
|
16
|
+
function formatThousand(n) {
|
|
17
|
+
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
17
18
|
return (0, _numbro.default)(n).format({
|
|
18
19
|
thousandSeparated: true,
|
|
19
20
|
mantissa: precision,
|
|
20
21
|
trimMantissa: true
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
|
-
function formatExponential(n
|
|
24
|
+
function formatExponential(n) {
|
|
25
|
+
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
24
26
|
return (0, _numbro.default)(n).format({
|
|
25
27
|
exponential: true,
|
|
26
28
|
mantissa: precision,
|
|
27
29
|
trimMantissa: true
|
|
28
30
|
});
|
|
29
31
|
}
|
|
30
|
-
function formatAbbreviation(n
|
|
32
|
+
function formatAbbreviation(n) {
|
|
33
|
+
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
31
34
|
return (0, _numbro.default)(n).format({
|
|
32
35
|
average: true,
|
|
33
36
|
mantissa: precision,
|
|
34
37
|
trimMantissa: true
|
|
35
38
|
}).toUpperCase();
|
|
36
39
|
}
|
|
37
|
-
function formatNumerical(n
|
|
40
|
+
function formatNumerical(n) {
|
|
41
|
+
let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FORMATS.THOUSAND;
|
|
42
|
+
let precision = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;
|
|
38
43
|
if (n === 0) {
|
|
39
44
|
return "0";
|
|
40
45
|
} else if (!n || n === undefined || isNaN(n)) {
|
|
@@ -10,7 +10,8 @@ var _constants = require("../constants/constants");
|
|
|
10
10
|
var _DatasetContext = require("../context/DatasetContext");
|
|
11
11
|
var _zarrHelper = require("../helpers/zarr-helper");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
const useObsmData = (
|
|
13
|
+
const useObsmData = function () {
|
|
14
|
+
let obsm = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
14
15
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
15
16
|
obsm = obsm || dataset.selectedObsm;
|
|
16
17
|
const [obsmParams, setObsmParams] = (0, _react.useState)({
|
|
@@ -29,9 +30,15 @@ const useObsmData = (obsm = null) => {
|
|
|
29
30
|
};
|
|
30
31
|
exports.useObsmData = useObsmData;
|
|
31
32
|
const meanData = (_i, data) => {
|
|
32
|
-
return _lodash.default.zipWith(...data, (
|
|
33
|
+
return _lodash.default.zipWith(...data, function () {
|
|
34
|
+
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
|
+
values[_key] = arguments[_key];
|
|
36
|
+
}
|
|
37
|
+
return _lodash.default.mean(values);
|
|
38
|
+
});
|
|
33
39
|
};
|
|
34
|
-
const useXData = (
|
|
40
|
+
const useXData = function () {
|
|
41
|
+
let agg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : meanData;
|
|
35
42
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
36
43
|
const [xParams, setXParams] = (0, _react.useState)(!dataset.selectedVar ? [] : !dataset.selectedVar?.isSet ? [{
|
|
37
44
|
url: dataset.url,
|
|
@@ -62,7 +69,8 @@ const useXData = (agg = meanData) => {
|
|
|
62
69
|
}, agg);
|
|
63
70
|
};
|
|
64
71
|
exports.useXData = useXData;
|
|
65
|
-
const useObsData = (
|
|
72
|
+
const useObsData = function () {
|
|
73
|
+
let obs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
66
74
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
67
75
|
obs = obs || dataset.selectedObs;
|
|
68
76
|
const [obsParams, setObsParams] = (0, _react.useState)({
|