@haniffalab/cherita-react 1.0.0 → 1.1.0-dev.2025-04-01.1c91bb8b
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/LICENSE +1 -1
- package/dist/{components → cjs/components}/full-page/FullPage.js +32 -22
- package/dist/{components → cjs/components}/full-page/FullPagePseudospatial.js +7 -6
- package/dist/{components → cjs/components}/obs-list/ObsItem.js +88 -77
- package/dist/{components → cjs/components}/obs-list/ObsList.js +133 -50
- package/dist/cjs/components/obs-list/ObsToolbar.js +24 -0
- package/dist/{components → cjs/components}/obsm-list/ObsmList.js +8 -5
- package/dist/{components → cjs/components}/offcanvas/index.js +24 -20
- package/dist/{components → cjs/components}/pseudospatial/Pseudospatial.js +10 -9
- package/dist/{components → cjs/components}/pseudospatial/PseudospatialToolbar.js +4 -3
- package/dist/{components → cjs/components}/scatterplot/Scatterplot.js +33 -24
- package/dist/{components → cjs/components}/scatterplot/SpatialControls.js +43 -42
- package/dist/cjs/components/scatterplot/Toolbox.js +62 -0
- package/dist/{components → cjs/components}/search-bar/SearchBar.js +24 -7
- package/dist/{components → cjs/components}/search-bar/SearchResults.js +13 -17
- package/dist/{components → cjs/components}/var-list/VarItem.js +38 -29
- package/dist/{components → cjs/components}/var-list/VarList.js +59 -31
- package/dist/{components → cjs/components}/var-list/VarListToolbar.js +18 -14
- package/dist/{components → cjs/components}/var-list/VarSet.js +24 -20
- package/dist/{components → cjs/components}/violin/Violin.js +4 -3
- package/dist/{constants → cjs/constants}/constants.js +6 -2
- package/dist/{context → cjs/context}/DatasetContext.js +12 -11
- 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 +30 -38
- package/dist/{utils → cjs/utils}/Filter.js +1 -1
- 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/cjs/utils/Skeleton.js +19 -0
- package/dist/{utils → cjs/utils}/VirtualizedList.js +10 -9
- package/dist/{utils → cjs/utils}/requests.js +37 -39
- package/dist/{utils → cjs/utils}/string.js +9 -4
- package/dist/{utils → cjs/utils}/zarrData.js +12 -4
- package/dist/css/cherita.css +147 -152
- 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 +143 -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 +484 -0
- package/dist/esm/components/obs-list/ObsList.js +338 -0
- package/dist/esm/components/obs-list/ObsToolbar.js +17 -0
- package/dist/esm/components/obsm-list/ObsmList.js +75 -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 +55 -0
- package/dist/esm/components/search-bar/SearchBar.js +90 -0
- package/dist/esm/components/search-bar/SearchResults.js +139 -0
- package/dist/esm/components/var-list/VarItem.js +254 -0
- package/dist/esm/components/var-list/VarList.js +291 -0
- package/dist/esm/components/var-list/VarListToolbar.js +87 -0
- package/dist/esm/components/var-list/VarSet.js +194 -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 +88 -0
- package/dist/esm/context/DatasetContext.js +571 -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 +111 -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/Skeleton.js +12 -0
- package/dist/esm/utils/VirtualizedList.js +55 -0
- package/dist/esm/utils/errors.js +47 -0
- package/dist/esm/utils/requests.js +102 -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 +22 -9
- package/scss/cherita.scss +19 -50
- package/scss/components/accordions.scss +32 -0
- package/scss/components/layouts.scss +2 -1
- package/scss/components/lists.scss +14 -0
- package/dist/components/obs-list/ObsToolbar.js +0 -64
- package/dist/components/scatterplot/Toolbox.js +0 -31
- /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}/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/{index.js → cjs/index.js} +0 -0
- /package/dist/{utils → cjs/utils}/errors.js +0 -0
- /package/dist/{utils → cjs/utils}/search.js +0 -0
|
@@ -20,9 +20,10 @@ var _VirtualizedList = require("../../utils/VirtualizedList");
|
|
|
20
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
21
|
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); }
|
|
22
22
|
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; }
|
|
23
|
-
function VarHistogram({
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
function VarHistogram(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
item
|
|
26
|
+
} = _ref;
|
|
26
27
|
const ENDPOINT = "var/histograms";
|
|
27
28
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
28
29
|
const {
|
|
@@ -80,9 +81,10 @@ function VarDiseaseInfoItem(item) {
|
|
|
80
81
|
}
|
|
81
82
|
})))));
|
|
82
83
|
}
|
|
83
|
-
function VarDiseaseInfo({
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
function VarDiseaseInfo(_ref2) {
|
|
85
|
+
let {
|
|
86
|
+
data
|
|
87
|
+
} = _ref2;
|
|
86
88
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, /*#__PURE__*/_react.default.createElement(_VirtualizedList.VirtualizedList, {
|
|
87
89
|
getDataAtIndex: index => data[index],
|
|
88
90
|
count: data.length,
|
|
@@ -91,15 +93,16 @@ function VarDiseaseInfo({
|
|
|
91
93
|
ItemComponent: VarDiseaseInfoItem
|
|
92
94
|
})));
|
|
93
95
|
}
|
|
94
|
-
function SingleSelectionItem({
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
function SingleSelectionItem(_ref3) {
|
|
97
|
+
let {
|
|
98
|
+
item,
|
|
99
|
+
isActive,
|
|
100
|
+
selectVar,
|
|
101
|
+
removeVar,
|
|
102
|
+
isDiseaseGene = false,
|
|
103
|
+
showSetColorEncoding = true,
|
|
104
|
+
showRemove = true
|
|
105
|
+
} = _ref3;
|
|
103
106
|
const ENDPOINT = "disease/gene";
|
|
104
107
|
const [openInfo, setOpenInfo] = (0, _react.useState)(false);
|
|
105
108
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
@@ -116,7 +119,7 @@ function SingleSelectionItem({
|
|
|
116
119
|
refetchOnMount: false,
|
|
117
120
|
enabled: !!dataset.diseaseDatasets.length
|
|
118
121
|
});
|
|
119
|
-
const hasDiseaseInfo = !isPending && !serverError && !!fetchedData
|
|
122
|
+
const hasDiseaseInfo = !isPending && !serverError && !!fetchedData?.length;
|
|
120
123
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
121
124
|
className: `d-flex justify-content-between ${hasDiseaseInfo ? "cursor-pointer" : ""}`,
|
|
122
125
|
onClick: () => {
|
|
@@ -160,11 +163,12 @@ function SingleSelectionItem({
|
|
|
160
163
|
data: fetchedData
|
|
161
164
|
}))));
|
|
162
165
|
}
|
|
163
|
-
function MultipleSelectionItem({
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
function MultipleSelectionItem(_ref4) {
|
|
167
|
+
let {
|
|
168
|
+
item,
|
|
169
|
+
isActive,
|
|
170
|
+
toggleVar
|
|
171
|
+
} = _ref4;
|
|
168
172
|
const isNotInData = item.matrix_index === -1;
|
|
169
173
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
170
174
|
className: "d-flex"
|
|
@@ -180,13 +184,14 @@ function MultipleSelectionItem({
|
|
|
180
184
|
title: isNotInData ? "Not present in data" : item.name
|
|
181
185
|
}, item.name))));
|
|
182
186
|
}
|
|
183
|
-
function VarItem({
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
function VarItem(_ref5) {
|
|
188
|
+
let {
|
|
189
|
+
item,
|
|
190
|
+
active,
|
|
191
|
+
setVarButtons,
|
|
192
|
+
mode = _constants.SELECTION_MODES.SINGLE,
|
|
193
|
+
isDiseaseGene = false
|
|
194
|
+
} = _ref5;
|
|
190
195
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
191
196
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
192
197
|
const selectVar = () => {
|
|
@@ -197,13 +202,17 @@ function VarItem({
|
|
|
197
202
|
});
|
|
198
203
|
dispatch({
|
|
199
204
|
type: "set.colorEncoding",
|
|
200
|
-
value:
|
|
205
|
+
value: _constants.COLOR_ENCODINGS.VAR
|
|
201
206
|
});
|
|
202
207
|
} else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
|
|
203
208
|
dispatch({
|
|
204
209
|
type: "select.multivar",
|
|
205
210
|
var: item
|
|
206
211
|
});
|
|
212
|
+
dispatch({
|
|
213
|
+
type: "set.colorEncoding",
|
|
214
|
+
value: _constants.COLOR_ENCODINGS.VAR
|
|
215
|
+
});
|
|
207
216
|
}
|
|
208
217
|
};
|
|
209
218
|
const removeVar = () => {
|
|
@@ -5,20 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.VarNamesList = VarNamesList;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var
|
|
8
|
+
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
9
|
+
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
9
10
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
11
|
var _reactBootstrap = require("react-bootstrap");
|
|
11
|
-
var
|
|
12
|
-
var _VarListToolbar = require("./VarListToolbar");
|
|
13
|
-
var _VarSet = require("./VarSet");
|
|
12
|
+
var _ButtonGroup = _interopRequireDefault(require("react-bootstrap/ButtonGroup"));
|
|
14
13
|
var _constants = require("../../constants/constants");
|
|
15
14
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
16
15
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
17
16
|
var _requests = require("../../utils/requests");
|
|
17
|
+
var _VarItem = require("./VarItem");
|
|
18
|
+
var _VarListToolbar = require("./VarListToolbar");
|
|
19
|
+
var _VarSet = require("./VarSet");
|
|
18
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
21
|
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
22
|
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
|
|
23
|
+
const useVarMean = function (varKeys) {
|
|
24
|
+
let enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
22
25
|
const ENDPOINT = "matrix/mean";
|
|
23
26
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
24
27
|
const [params, setParams] = (0, _react.useState)({
|
|
@@ -47,11 +50,17 @@ const useVarMean = (varKeys, enabled = false) => {
|
|
|
47
50
|
});
|
|
48
51
|
};
|
|
49
52
|
|
|
53
|
+
// ensure nulls are lowest values
|
|
54
|
+
const sortMeans = (i, means) => {
|
|
55
|
+
return means[i.name] || _lodash.default.min(_lodash.default.values(means)) - 1;
|
|
56
|
+
};
|
|
57
|
+
|
|
50
58
|
// @TODO: display where disease data comes from
|
|
51
59
|
// add to disease dataset metadata
|
|
52
|
-
function DiseaseVarList({
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
function DiseaseVarList(_ref) {
|
|
61
|
+
let {
|
|
62
|
+
makeListItem
|
|
63
|
+
} = _ref;
|
|
55
64
|
const ENDPOINT = "disease/genes";
|
|
56
65
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
57
66
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
@@ -80,12 +89,12 @@ function DiseaseVarList({
|
|
|
80
89
|
setDiseaseVars(diseaseData.fetchedData);
|
|
81
90
|
}
|
|
82
91
|
}, [diseaseData.fetchedData, diseaseData.isPending, diseaseData.serverError]);
|
|
83
|
-
const varMeans = useVarMean(diseaseVars, diseaseVars && dataset.varSort.disease.sort === _constants.VAR_SORT.MATRIX);
|
|
92
|
+
const varMeans = useVarMean(diseaseVars, !!diseaseVars?.length && dataset.varSort.disease.sort === _constants.VAR_SORT.MATRIX);
|
|
84
93
|
(0, _react.useEffect)(() => {
|
|
85
94
|
if (dataset.varSort.disease.sort === _constants.VAR_SORT.MATRIX) {
|
|
86
95
|
if (!varMeans.isPending && !varMeans.serverError) {
|
|
87
96
|
setSortedDiseaseVars(_lodash.default.orderBy(diseaseVars, o => {
|
|
88
|
-
return varMeans.fetchedData
|
|
97
|
+
return sortMeans(o, varMeans.fetchedData);
|
|
89
98
|
}, dataset.varSort.disease.sortOrder));
|
|
90
99
|
}
|
|
91
100
|
} else if (dataset.varSort.disease.sort === _constants.VAR_SORT.NAME) {
|
|
@@ -103,25 +112,35 @@ function DiseaseVarList({
|
|
|
103
112
|
}, /*#__PURE__*/_react.default.createElement("h5", null, "Disease genes")), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
104
113
|
variant: "light"
|
|
105
114
|
}, "No disease genes found.")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
106
|
-
className: "d-flex justify-content-between
|
|
107
|
-
}, /*#__PURE__*/_react.default.createElement("h5", null, "Disease genes"), /*#__PURE__*/_react.default.createElement(
|
|
108
|
-
|
|
115
|
+
className: "d-flex justify-content-between my-2"
|
|
116
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, "Disease genes"), /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
|
|
117
|
+
"aria-label": "Feature options",
|
|
118
|
+
size: "sm"
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
120
|
+
variant: "info",
|
|
109
121
|
onClick: () => {
|
|
110
122
|
dispatch({
|
|
111
123
|
type: "reset.disease"
|
|
112
124
|
});
|
|
113
125
|
}
|
|
114
|
-
},
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
127
|
+
icon: _freeSolidSvgIcons.faTimes,
|
|
128
|
+
className: "me-1"
|
|
129
|
+
}), "Clear"))), /*#__PURE__*/_react.default.createElement("p", null, dataset.selectedDisease?.name), /*#__PURE__*/_react.default.createElement(_VarListToolbar.VarListToolbar, {
|
|
115
130
|
varType: "disease"
|
|
116
131
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
117
132
|
className: "position-relative"
|
|
118
|
-
}, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup,
|
|
133
|
+
}, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
|
|
134
|
+
variant: "flush",
|
|
135
|
+
className: "cherita-list"
|
|
136
|
+
}, diseaseVarList)))));
|
|
119
137
|
}
|
|
120
|
-
function VarNamesList({
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
138
|
+
function VarNamesList(_ref2) {
|
|
139
|
+
let {
|
|
140
|
+
mode = _constants.SELECTION_MODES.SINGLE,
|
|
141
|
+
displayName = "genes",
|
|
142
|
+
showDiseaseVarList = true
|
|
143
|
+
} = _ref2;
|
|
125
144
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
126
145
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
127
146
|
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]);
|
|
@@ -181,9 +200,9 @@ function VarNamesList({
|
|
|
181
200
|
// @TODO: deferr sortedVarButtons ?
|
|
182
201
|
(0, _react.useEffect)(() => {
|
|
183
202
|
if (dataset.varSort.var.sort === _constants.VAR_SORT.MATRIX) {
|
|
184
|
-
if (!varMeans.isPending && !varMeans.serverError) {
|
|
203
|
+
if (!varMeans.isPending && !varMeans.serverError && varMeans.fetchedData) {
|
|
185
204
|
setSortedVarButtons(_lodash.default.orderBy(varButtons, o => {
|
|
186
|
-
return varMeans.fetchedData
|
|
205
|
+
return sortMeans(o, varMeans.fetchedData);
|
|
187
206
|
}, dataset.varSort.var.sortOrder));
|
|
188
207
|
}
|
|
189
208
|
} else if (dataset.varSort.var.sort === _constants.VAR_SORT.NAME) {
|
|
@@ -192,7 +211,8 @@ function VarNamesList({
|
|
|
192
211
|
setSortedVarButtons(varButtons);
|
|
193
212
|
}
|
|
194
213
|
}, [dataset.varSort.var.sort, dataset.varSort.var.sortOrder, varButtons, varMeans.isPending, varMeans.serverError, varMeans.fetchedData]);
|
|
195
|
-
const makeListItem = (item
|
|
214
|
+
const makeListItem = function (item) {
|
|
215
|
+
let isDiseaseGene = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
196
216
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
197
217
|
key: item.matrix_index
|
|
198
218
|
}, /*#__PURE__*/_react.default.createElement(_VarItem.VarItem, {
|
|
@@ -237,10 +257,12 @@ function VarNamesList({
|
|
|
237
257
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
238
258
|
className: "overflow-auto mt-3"
|
|
239
259
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
240
|
-
className: "d-flex justify-content-between"
|
|
241
|
-
}, /*#__PURE__*/_react.default.createElement("h5", null, _lodash.default.capitalize(displayName)), /*#__PURE__*/_react.default.createElement(
|
|
242
|
-
|
|
243
|
-
|
|
260
|
+
className: "d-flex justify-content-between mb-2"
|
|
261
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, _lodash.default.capitalize(displayName)), /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
|
|
262
|
+
"aria-label": "Feature options",
|
|
263
|
+
size: "sm"
|
|
264
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
265
|
+
variant: "info",
|
|
244
266
|
onClick: () => {
|
|
245
267
|
dispatch({
|
|
246
268
|
type: "add.varSet",
|
|
@@ -251,8 +273,8 @@ function VarNamesList({
|
|
|
251
273
|
}
|
|
252
274
|
});
|
|
253
275
|
}
|
|
254
|
-
},
|
|
255
|
-
variant: "
|
|
276
|
+
}, "New set"), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
277
|
+
variant: "info",
|
|
256
278
|
onClick: () => {
|
|
257
279
|
setVarButtons([]);
|
|
258
280
|
dispatch({
|
|
@@ -262,11 +284,17 @@ function VarNamesList({
|
|
|
262
284
|
type: "reset.varSets"
|
|
263
285
|
});
|
|
264
286
|
}
|
|
265
|
-
},
|
|
287
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
288
|
+
icon: _freeSolidSvgIcons.faTimes,
|
|
289
|
+
className: "me-1"
|
|
290
|
+
}), "Clear"))), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !varList.length ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
266
291
|
variant: "light"
|
|
267
292
|
}, "Search for a feature.") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_VarListToolbar.VarListToolbar, null), /*#__PURE__*/_react.default.createElement("div", {
|
|
268
293
|
className: "position-relative"
|
|
269
|
-
}, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup,
|
|
294
|
+
}, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
|
|
295
|
+
variant: "flush",
|
|
296
|
+
className: "cherita-list"
|
|
297
|
+
}, varList)))), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showDiseaseVarList && /*#__PURE__*/_react.default.createElement(DiseaseVarList, {
|
|
270
298
|
makeListItem: makeListItem
|
|
271
299
|
}))));
|
|
272
300
|
}
|
|
@@ -7,16 +7,16 @@ exports.VarListToolbar = VarListToolbar;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
9
9
|
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
10
|
-
var _material = require("@mui/material");
|
|
11
10
|
var _reactBootstrap = require("react-bootstrap");
|
|
12
11
|
var _constants = require("../../constants/constants");
|
|
13
12
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
14
13
|
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
14
|
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
15
|
// @TODO: set option for "var" and "disease"
|
|
17
|
-
function VarListToolbar({
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
function VarListToolbar(_ref) {
|
|
17
|
+
let {
|
|
18
|
+
varType = "var"
|
|
19
|
+
} = _ref;
|
|
20
20
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
21
21
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
22
22
|
const [sort, setSort] = (0, _react.useState)(dataset.varSort.var.sort);
|
|
@@ -42,13 +42,15 @@ function VarListToolbar({
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
46
|
-
className: "
|
|
47
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
|
+
className: "d-flex justify-content-end align-items-center mb-2"
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButtonGroup, {
|
|
48
|
+
name: "sortfeatures",
|
|
49
|
+
"aria-label": "Sort features by",
|
|
50
|
+
size: "sm",
|
|
51
|
+
type: "radio"
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButton, {
|
|
53
|
+
id: _constants.VAR_SORT.NAME,
|
|
52
54
|
value: _constants.VAR_SORT.NAME,
|
|
53
55
|
"aria-label": "alphabetical",
|
|
54
56
|
title: "Sort alphabetically",
|
|
@@ -60,7 +62,8 @@ function VarListToolbar({
|
|
|
60
62
|
icon: _freeSolidSvgIcons.faArrowDownAZ
|
|
61
63
|
}) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
62
64
|
icon: _freeSolidSvgIcons.faArrowUpZA
|
|
63
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
65
|
+
})), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButton, {
|
|
66
|
+
id: _constants.VAR_SORT.MATRIX,
|
|
64
67
|
value: _constants.VAR_SORT.MATRIX,
|
|
65
68
|
"aria-label": "matrix value",
|
|
66
69
|
title: "Sort by matrix value",
|
|
@@ -72,7 +75,8 @@ function VarListToolbar({
|
|
|
72
75
|
icon: _freeSolidSvgIcons.faArrowDown19
|
|
73
76
|
}) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
74
77
|
icon: _freeSolidSvgIcons.faArrowUp91
|
|
75
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
78
|
+
})), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButton, {
|
|
79
|
+
id: "none",
|
|
76
80
|
value: "none",
|
|
77
81
|
"aria-label": "none",
|
|
78
82
|
title: "No sorting",
|
|
@@ -86,5 +90,5 @@ function VarListToolbar({
|
|
|
86
90
|
}
|
|
87
91
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
88
92
|
icon: _freeSolidSvgIcons.faXmark
|
|
89
|
-
}))))
|
|
93
|
+
}))));
|
|
90
94
|
}
|
|
@@ -10,10 +10,10 @@ var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
|
10
10
|
var _iconsMaterial = require("@mui/icons-material");
|
|
11
11
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
12
12
|
var _reactBootstrap = require("react-bootstrap");
|
|
13
|
-
var _VarItem = require("./VarItem");
|
|
14
13
|
var _constants = require("../../constants/constants");
|
|
15
14
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
16
15
|
var _SearchBar = require("../search-bar/SearchBar");
|
|
16
|
+
var _VarItem = require("./VarItem");
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
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); }
|
|
19
19
|
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; }
|
|
@@ -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, {
|
|
@@ -96,14 +97,16 @@ function SingleSelectionSet({
|
|
|
96
97
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
97
98
|
className: "mx-2"
|
|
98
99
|
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
|
|
99
|
-
variant: "flush"
|
|
100
|
+
variant: "flush",
|
|
101
|
+
className: "cherita-list"
|
|
100
102
|
}, varList)))));
|
|
101
103
|
}
|
|
102
|
-
function MultipleSelectionSet({
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
function MultipleSelectionSet(_ref2) {
|
|
105
|
+
let {
|
|
106
|
+
set,
|
|
107
|
+
isActive,
|
|
108
|
+
toggleSet
|
|
109
|
+
} = _ref2;
|
|
107
110
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
108
111
|
className: "d-flex"
|
|
109
112
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -117,11 +120,12 @@ function MultipleSelectionSet({
|
|
|
117
120
|
title: set.name
|
|
118
121
|
}, set.name))));
|
|
119
122
|
}
|
|
120
|
-
function VarSet({
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
function VarSet(_ref3) {
|
|
124
|
+
let {
|
|
125
|
+
set,
|
|
126
|
+
active,
|
|
127
|
+
mode = _constants.SELECTION_MODES.SINGLE
|
|
128
|
+
} = _ref3;
|
|
125
129
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
126
130
|
const dispatch = (0, _DatasetContext.useDatasetDispatch)();
|
|
127
131
|
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 {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VIOLIN_MODES = exports.VIOLINPLOT_SCALES = exports.VAR_SORT_ORDER = exports.VAR_SORT = exports.UNSELECTED_POLYGON_FILLCOLOR = exports.SELECTION_MODES = exports.SELECTED_POLYGON_FILLCOLOR = exports.PSEUDOSPATIAL_PLOT_TYPES = exports.PSEUDOSPATIAL_CATEGORICAL_MODES = exports.OBS_TYPES = exports.MATRIXPLOT_SCALES = exports.LOCAL_STORAGE_KEY = exports.DOTPLOT_SCALES = exports.COLOR_ENCODINGS = void 0;
|
|
6
|
+
exports.VIOLIN_MODES = exports.VIOLINPLOT_SCALES = exports.VAR_SORT_ORDER = exports.VAR_SORT = exports.UNSELECTED_POLYGON_FILLCOLOR = exports.SELECTION_MODES = exports.SELECTED_POLYGON_FILLCOLOR = exports.PSEUDOSPATIAL_PLOT_TYPES = exports.PSEUDOSPATIAL_CATEGORICAL_MODES = exports.OBS_TYPES = exports.MATRIXPLOT_SCALES = exports.LOCAL_STORAGE_KEY = exports.DOTPLOT_SCALES = exports.DEFAULT_OBS_GROUP = exports.COLOR_ENCODINGS = void 0;
|
|
7
7
|
const LOCAL_STORAGE_KEY = exports.LOCAL_STORAGE_KEY = "CHERITA";
|
|
8
8
|
const COLOR_ENCODINGS = exports.COLOR_ENCODINGS = {
|
|
9
9
|
VAR: "var",
|
|
@@ -87,4 +87,8 @@ const PSEUDOSPATIAL_CATEGORICAL_MODES = exports.PSEUDOSPATIAL_CATEGORICAL_MODES
|
|
|
87
87
|
value: "within",
|
|
88
88
|
name: "% within section"
|
|
89
89
|
}
|
|
90
|
-
};
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// `default` cols to be shown out of accordion, at top of obslist
|
|
93
|
+
// default values from cellxgene schema
|
|
94
|
+
const DEFAULT_OBS_GROUP = exports.DEFAULT_OBS_GROUP = ["assay", "cell_type", "development_stage", "disease", "donor_id", "organism", "self_reported_ethnicity", "sex", "suspension_type", "tissue", "tissue_type"];
|
|
@@ -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
|
}
|
|
@@ -100,8 +101,7 @@ const initialDataset = {
|
|
|
100
101
|
sortOrder: _constants.VAR_SORT_ORDER.ASC
|
|
101
102
|
}
|
|
102
103
|
},
|
|
103
|
-
|
|
104
|
-
// @TODO: implement specifying groups/categories for dropdowns
|
|
104
|
+
obsGroups: null,
|
|
105
105
|
imageUrl: null,
|
|
106
106
|
pseudospatial: {
|
|
107
107
|
maskSet: null,
|
|
@@ -116,11 +116,12 @@ const initializer = initialState => {
|
|
|
116
116
|
const localValues = _lodash.default.pick(localObj, keys);
|
|
117
117
|
return _lodash.default.assign(initialState, localValues);
|
|
118
118
|
};
|
|
119
|
-
function DatasetProvider({
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
function DatasetProvider(_ref2) {
|
|
120
|
+
let {
|
|
121
|
+
dataset_url,
|
|
122
|
+
children,
|
|
123
|
+
...dataset_params
|
|
124
|
+
} = _ref2;
|
|
124
125
|
const [dataset, dispatch] = (0, _react.useReducer)(datasetReducer, _lodash.default.assign(initializer({
|
|
125
126
|
url: dataset_url,
|
|
126
127
|
...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,
|