@haniffalab/cherita-react 1.2.0 → 1.3.0-dev.2025-05-28.9afc380f
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/cjs/components/controls/Controls.js +60 -0
- package/dist/cjs/components/dotplot/Dotplot.js +47 -38
- package/dist/cjs/components/dotplot/DotplotControls.js +77 -114
- package/dist/cjs/components/full-page/FullPage.js +29 -33
- package/dist/cjs/components/full-page/FullPagePseudospatial.js +30 -33
- package/dist/cjs/components/heatmap/Heatmap.js +33 -22
- package/dist/cjs/components/heatmap/HeatmapControls.js +2 -19
- package/dist/cjs/components/matrixplot/Matrixplot.js +35 -24
- package/dist/cjs/components/matrixplot/MatrixplotControls.js +4 -34
- package/dist/cjs/components/obs-list/ObsItem.js +63 -51
- package/dist/cjs/components/obs-list/ObsList.js +53 -48
- package/dist/cjs/components/obsm-list/ObsmList.js +17 -12
- package/dist/cjs/components/offcanvas/index.js +14 -11
- package/dist/cjs/components/pseudospatial/Pseudospatial.js +78 -68
- package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +27 -21
- package/dist/cjs/components/scatterplot/Scatterplot.js +82 -76
- package/dist/cjs/components/scatterplot/ScatterplotControls.js +18 -31
- package/dist/cjs/components/scatterplot/SpatialControls.js +53 -23
- package/dist/cjs/components/scatterplot/Toolbox.js +1 -18
- package/dist/cjs/components/search-bar/SearchBar.js +156 -59
- package/dist/cjs/components/search-bar/SearchInfo.js +182 -0
- package/dist/cjs/components/search-bar/SearchResults.js +90 -60
- package/dist/cjs/components/var-list/VarItem.js +52 -75
- package/dist/cjs/components/var-list/VarList.js +47 -172
- package/dist/cjs/components/var-list/VarListToolbar.js +7 -8
- package/dist/cjs/components/var-list/VarSet.js +66 -57
- package/dist/cjs/components/violin/Violin.js +54 -43
- package/dist/cjs/components/violin/ViolinControls.js +4 -20
- package/dist/cjs/context/DatasetContext.js +26 -513
- package/dist/cjs/context/FilterContext.js +9 -8
- package/dist/cjs/context/SettingsContext.js +539 -0
- package/dist/cjs/context/ZarrDataContext.js +1 -2
- package/dist/cjs/helpers/color-helper.js +8 -8
- package/dist/cjs/helpers/zarr-helper.js +19 -16
- package/dist/cjs/utils/Filter.js +25 -21
- package/dist/cjs/utils/Histogram.js +4 -3
- package/dist/cjs/utils/ImageViewer.js +1 -2
- package/dist/cjs/utils/Legend.js +18 -12
- package/dist/cjs/utils/LoadingIndicators.js +1 -1
- package/dist/cjs/utils/VirtualizedList.js +16 -13
- package/dist/cjs/utils/errors.js +20 -22
- package/dist/cjs/utils/requests.js +13 -10
- package/dist/cjs/utils/zarrData.js +31 -50
- package/dist/css/cherita.css +84 -24
- package/dist/css/cherita.css.map +1 -1
- package/dist/esm/components/controls/Controls.js +51 -0
- package/dist/esm/components/dotplot/Dotplot.js +47 -37
- package/dist/esm/components/dotplot/DotplotControls.js +77 -112
- package/dist/esm/components/full-page/FullPage.js +29 -32
- package/dist/esm/components/full-page/FullPagePseudospatial.js +30 -32
- package/dist/esm/components/heatmap/Heatmap.js +32 -20
- package/dist/esm/components/heatmap/HeatmapControls.js +3 -20
- package/dist/esm/components/matrixplot/Matrixplot.js +34 -22
- package/dist/esm/components/matrixplot/MatrixplotControls.js +5 -35
- package/dist/esm/components/obs-list/ObsItem.js +63 -49
- package/dist/esm/components/obs-list/ObsList.js +53 -47
- package/dist/esm/components/obsm-list/ObsmList.js +17 -11
- package/dist/esm/components/offcanvas/index.js +14 -11
- package/dist/esm/components/pseudospatial/Pseudospatial.js +77 -66
- package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +27 -20
- package/dist/esm/components/scatterplot/Scatterplot.js +81 -74
- package/dist/esm/components/scatterplot/ScatterplotControls.js +18 -29
- package/dist/esm/components/scatterplot/SpatialControls.js +54 -23
- package/dist/esm/components/scatterplot/Toolbox.js +1 -18
- package/dist/esm/components/search-bar/SearchBar.js +156 -59
- package/dist/esm/components/search-bar/SearchInfo.js +173 -0
- package/dist/esm/components/search-bar/SearchResults.js +91 -60
- package/dist/esm/components/var-list/VarItem.js +53 -76
- package/dist/esm/components/var-list/VarList.js +47 -171
- package/dist/esm/components/var-list/VarListToolbar.js +6 -6
- package/dist/esm/components/var-list/VarSet.js +67 -57
- package/dist/esm/components/violin/Violin.js +53 -41
- package/dist/esm/components/violin/ViolinControls.js +5 -21
- package/dist/esm/context/DatasetContext.js +25 -510
- package/dist/esm/context/FilterContext.js +8 -6
- package/dist/esm/context/SettingsContext.js +528 -0
- package/dist/esm/helpers/color-helper.js +8 -8
- package/dist/esm/helpers/zarr-helper.js +19 -16
- package/dist/esm/utils/Filter.js +25 -21
- package/dist/esm/utils/Histogram.js +4 -3
- package/dist/esm/utils/Legend.js +17 -10
- package/dist/esm/utils/LoadingIndicators.js +1 -1
- package/dist/esm/utils/VirtualizedList.js +15 -11
- package/dist/esm/utils/errors.js +20 -22
- package/dist/esm/utils/requests.js +13 -10
- package/dist/esm/utils/zarrData.js +33 -51
- package/package.json +6 -3
- package/scss/cherita.scss +50 -9
- package/scss/components/layouts.scss +24 -13
- package/scss/components/lists.scss +10 -0
- package/scss/components/plots.scss +3 -5
|
@@ -14,6 +14,7 @@ var _ObsToolbar = require("./ObsToolbar");
|
|
|
14
14
|
var _constants = require("../../constants/constants");
|
|
15
15
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
16
16
|
var _FilterContext = require("../../context/FilterContext");
|
|
17
|
+
var _SettingsContext = require("../../context/SettingsContext");
|
|
17
18
|
var _colorHelper = require("../../helpers/color-helper");
|
|
18
19
|
var _Histogram = require("../../utils/Histogram");
|
|
19
20
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
@@ -22,32 +23,40 @@ var _string = require("../../utils/string");
|
|
|
22
23
|
var _VirtualizedList = require("../../utils/VirtualizedList");
|
|
23
24
|
var _zarrData = require("../../utils/zarrData");
|
|
24
25
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
|
-
function
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
26
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
27
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
29
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
30
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
31
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
32
|
+
// const N_BINS = 5;
|
|
33
|
+
|
|
34
|
+
// function binContinuous(data, nBins) {
|
|
35
|
+
// const binSize = (data.max - data.min) * (1 / nBins);
|
|
36
|
+
// const thresholds = _.range(nBins + 1).map((b) => {
|
|
37
|
+
// return data.min + binSize * b;
|
|
38
|
+
// });
|
|
39
|
+
// const binEdges = _.range(thresholds.length - 1).map((i) => [
|
|
40
|
+
// thresholds[i],
|
|
41
|
+
// thresholds[i + 1],
|
|
42
|
+
// ]);
|
|
43
|
+
// const bins = {
|
|
44
|
+
// nBins: nBins,
|
|
45
|
+
// binSize: binSize,
|
|
46
|
+
// thresholds: thresholds,
|
|
47
|
+
// binEdges: binEdges,
|
|
48
|
+
// };
|
|
49
|
+
// return { ...data, bins: bins };
|
|
50
|
+
// }
|
|
51
|
+
|
|
45
52
|
function getContinuousLabel(code, binEdges) {
|
|
46
|
-
return
|
|
53
|
+
return "[ ".concat((0, _string.formatNumerical)(binEdges[code][0]), ", ").concat((0, _string.formatNumerical)(binEdges[code][1], _string.FORMATS.EXPONENTIAL)).concat(code === binEdges.length - 1 ? " ]" : " )");
|
|
47
54
|
}
|
|
48
55
|
const useObsHistogram = obs => {
|
|
56
|
+
var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3, _settings$selectedVar4, _settings$selectedVar9, _settings$selectedVar0, _settings$selectedVar1, _settings$selectedVar10;
|
|
49
57
|
const ENDPOINT = "obs/histograms";
|
|
50
58
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
59
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
51
60
|
const {
|
|
52
61
|
obsIndices,
|
|
53
62
|
isSliced
|
|
@@ -56,27 +65,27 @@ const useObsHistogram = obs => {
|
|
|
56
65
|
url: dataset.url,
|
|
57
66
|
obsCol: _lodash.default.omit(obs, "omit"),
|
|
58
67
|
// avoid re-rendering when toggling unselected obs
|
|
59
|
-
varKey:
|
|
60
|
-
name:
|
|
61
|
-
indices:
|
|
62
|
-
} :
|
|
68
|
+
varKey: (_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet ? {
|
|
69
|
+
name: (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name,
|
|
70
|
+
indices: (_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars.map(v => v.index)
|
|
71
|
+
} : (_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.index,
|
|
63
72
|
obsIndices: isSliced ? [...(obsIndices || [])] : null
|
|
64
73
|
});
|
|
65
74
|
(0, _react.useEffect)(() => {
|
|
66
75
|
setParams(p => {
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
var _settings$selectedVar5, _settings$selectedVar6, _settings$selectedVar7, _settings$selectedVar8;
|
|
77
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
69
78
|
obsCol: _lodash.default.omit(obs, "omit"),
|
|
70
|
-
varKey:
|
|
71
|
-
name:
|
|
72
|
-
indices:
|
|
73
|
-
} :
|
|
79
|
+
varKey: (_settings$selectedVar5 = settings.selectedVar) !== null && _settings$selectedVar5 !== void 0 && _settings$selectedVar5.isSet ? {
|
|
80
|
+
name: (_settings$selectedVar6 = settings.selectedVar) === null || _settings$selectedVar6 === void 0 ? void 0 : _settings$selectedVar6.name,
|
|
81
|
+
indices: (_settings$selectedVar7 = settings.selectedVar) === null || _settings$selectedVar7 === void 0 ? void 0 : _settings$selectedVar7.vars.map(v => v.index)
|
|
82
|
+
} : (_settings$selectedVar8 = settings.selectedVar) === null || _settings$selectedVar8 === void 0 ? void 0 : _settings$selectedVar8.index,
|
|
74
83
|
obsIndices: isSliced ? [...(obsIndices || [])] : null
|
|
75
|
-
};
|
|
84
|
+
});
|
|
76
85
|
});
|
|
77
|
-
}, [
|
|
86
|
+
}, [(_settings$selectedVar9 = settings.selectedVar) === null || _settings$selectedVar9 === void 0 ? void 0 : _settings$selectedVar9.index, (_settings$selectedVar0 = settings.selectedVar) === null || _settings$selectedVar0 === void 0 ? void 0 : _settings$selectedVar0.isSet, (_settings$selectedVar1 = settings.selectedVar) === null || _settings$selectedVar1 === void 0 ? void 0 : _settings$selectedVar1.name, (_settings$selectedVar10 = settings.selectedVar) === null || _settings$selectedVar10 === void 0 ? void 0 : _settings$selectedVar10.vars, obsIndices, isSliced, obs]);
|
|
78
87
|
return (0, _requests.useFetch)(ENDPOINT, params, {
|
|
79
|
-
enabled: !!
|
|
88
|
+
enabled: !!settings.selectedVar && settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR,
|
|
80
89
|
refetchOnMount: false
|
|
81
90
|
});
|
|
82
91
|
};
|
|
@@ -88,6 +97,7 @@ const getBinIndex = (v, binEdges) => {
|
|
|
88
97
|
return _lodash.default.findIndex(modifiedBinEdges, range => _lodash.default.inRange(v, ...range));
|
|
89
98
|
};
|
|
90
99
|
const useFilteredObsData = obs => {
|
|
100
|
+
var _obs$bins2;
|
|
91
101
|
const {
|
|
92
102
|
obsIndices
|
|
93
103
|
} = (0, _FilterContext.useFilteredData)();
|
|
@@ -103,19 +113,20 @@ const useFilteredObsData = obs => {
|
|
|
103
113
|
valueCounts = _lodash.default.countBy(filteredObsValues);
|
|
104
114
|
} else {
|
|
105
115
|
valueCounts = _lodash.default.countBy(filteredObsValues, v => {
|
|
106
|
-
|
|
116
|
+
var _obs$bins;
|
|
117
|
+
return getBinIndex(v, ((_obs$bins = obs.bins) === null || _obs$bins === void 0 ? void 0 : _obs$bins.binEdges) || [[null, null]]);
|
|
107
118
|
});
|
|
108
119
|
}
|
|
109
120
|
valueCounts = _lodash.default.mapKeys(valueCounts, (_v, i) => {
|
|
110
121
|
return obs.codesMap[i];
|
|
111
122
|
});
|
|
112
|
-
const totalCounts = obsIndices
|
|
123
|
+
const totalCounts = obsIndices === null || obsIndices === void 0 ? void 0 : obsIndices.size;
|
|
113
124
|
const pct = _lodash.default.mapValues(valueCounts, v => v / totalCounts * 100);
|
|
114
125
|
return {
|
|
115
126
|
valueCounts,
|
|
116
127
|
pct
|
|
117
128
|
};
|
|
118
|
-
}, [isCategorical, obs.bins
|
|
129
|
+
}, [isCategorical, (_obs$bins2 = obs.bins) === null || _obs$bins2 === void 0 ? void 0 : _obs$bins2.binEdges, obs.codesMap, obsData.data, obsIndices]);
|
|
119
130
|
return {
|
|
120
131
|
value_counts: valueCounts,
|
|
121
132
|
pct: pct
|
|
@@ -175,7 +186,7 @@ function CategoricalItem(_ref) {
|
|
|
175
186
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
176
187
|
className: "pl-1 m-0"
|
|
177
188
|
}, /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
178
|
-
title: isSliced ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Filtered:", " ", (0, _string.formatNumerical)(filteredStats.pct, _string.FORMATS.EXPONENTIAL), "%", /*#__PURE__*/_react.default.createElement("br", null), "Total: ", (0, _string.formatNumerical)(stats.pct, _string.FORMATS.EXPONENTIAL), "%") :
|
|
189
|
+
title: isSliced ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Filtered:", " ", (0, _string.formatNumerical)(filteredStats.pct, _string.FORMATS.EXPONENTIAL), "%", /*#__PURE__*/_react.default.createElement("br", null), "Total: ", (0, _string.formatNumerical)(stats.pct, _string.FORMATS.EXPONENTIAL), "%") : "".concat((0, _string.formatNumerical)(stats.pct, _string.FORMATS.EXPONENTIAL), "%"),
|
|
179
190
|
placement: "left",
|
|
180
191
|
arrow: true
|
|
181
192
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -230,7 +241,7 @@ function CategoricalItem(_ref) {
|
|
|
230
241
|
y: "0",
|
|
231
242
|
width: "10",
|
|
232
243
|
height: "10",
|
|
233
|
-
fill:
|
|
244
|
+
fill: "rgb(".concat(getColor({
|
|
234
245
|
value: (code - min) / (max - min),
|
|
235
246
|
categorical: true,
|
|
236
247
|
grayOut: isOmitted,
|
|
@@ -238,7 +249,7 @@ function CategoricalItem(_ref) {
|
|
|
238
249
|
alpha: 1
|
|
239
250
|
},
|
|
240
251
|
colorEncoding: "obs"
|
|
241
|
-
})
|
|
252
|
+
}), ")")
|
|
242
253
|
}))) : null))));
|
|
243
254
|
}
|
|
244
255
|
function CategoricalObs(_ref2) {
|
|
@@ -248,7 +259,7 @@ function CategoricalObs(_ref2) {
|
|
|
248
259
|
toggleObs,
|
|
249
260
|
showColor = true
|
|
250
261
|
} = _ref2;
|
|
251
|
-
const
|
|
262
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
252
263
|
const {
|
|
253
264
|
isSliced
|
|
254
265
|
} = (0, _FilterContext.useFilteredData)();
|
|
@@ -258,6 +269,7 @@ function CategoricalObs(_ref2) {
|
|
|
258
269
|
const obsHistograms = useObsHistogram(obs);
|
|
259
270
|
const filteredObsData = useFilteredObsData(obs);
|
|
260
271
|
const getDataAtIndex = (0, _react.useCallback)(index => {
|
|
272
|
+
var _obsHistograms$fetche;
|
|
261
273
|
return {
|
|
262
274
|
value: obs.values[index],
|
|
263
275
|
code: obs.codes[obs.values[index]],
|
|
@@ -267,8 +279,8 @@ function CategoricalObs(_ref2) {
|
|
|
267
279
|
},
|
|
268
280
|
isOmitted: _lodash.default.includes(obs.omit, obs.codes[obs.values[index]]),
|
|
269
281
|
label: obs.values[index],
|
|
270
|
-
histogramData:
|
|
271
|
-
data: obsHistograms.fetchedData
|
|
282
|
+
histogramData: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? {
|
|
283
|
+
data: (_obsHistograms$fetche = obsHistograms.fetchedData) === null || _obsHistograms$fetche === void 0 ? void 0 : _obsHistograms$fetche[obs.values[index]],
|
|
272
284
|
isPending: obsHistograms.isPending,
|
|
273
285
|
altColor: isSliced
|
|
274
286
|
} : {
|
|
@@ -276,13 +288,13 @@ function CategoricalObs(_ref2) {
|
|
|
276
288
|
isPending: false
|
|
277
289
|
},
|
|
278
290
|
filteredStats: {
|
|
279
|
-
value_counts: filteredObsData
|
|
280
|
-
pct: filteredObsData
|
|
291
|
+
value_counts: (filteredObsData === null || filteredObsData === void 0 ? void 0 : filteredObsData.value_counts[obs.values[index]]) || 0,
|
|
292
|
+
pct: (filteredObsData === null || filteredObsData === void 0 ? void 0 : filteredObsData.pct[obs.values[index]]) || 0
|
|
281
293
|
},
|
|
282
294
|
isSliced: isSliced
|
|
283
295
|
};
|
|
284
|
-
}, [
|
|
285
|
-
showColor &=
|
|
296
|
+
}, [settings.colorEncoding, filteredObsData === null || filteredObsData === void 0 ? void 0 : filteredObsData.pct, filteredObsData === null || filteredObsData === void 0 ? void 0 : filteredObsData.value_counts, isSliced, obs.codes, obs.omit, obs.value_counts, obs.values, obsHistograms.fetchedData, obsHistograms.isPending, totalCounts]);
|
|
297
|
+
showColor &= settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS;
|
|
286
298
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
|
|
287
299
|
variant: "flush",
|
|
288
300
|
className: "cherita-list"
|
|
@@ -344,9 +356,9 @@ function ObsContinuousStats(_ref3) {
|
|
|
344
356
|
},
|
|
345
357
|
xAxis: {
|
|
346
358
|
data: fetchedData.kde_values[0],
|
|
347
|
-
valueFormatter: v =>
|
|
359
|
+
valueFormatter: v => "".concat((0, _string.formatNumerical)(v, _string.FORMATS.EXPONENTIAL))
|
|
348
360
|
},
|
|
349
|
-
valueFormatter: v =>
|
|
361
|
+
valueFormatter: v => "".concat((0, _string.formatNumerical)(v, _string.FORMATS.EXPONENTIAL)),
|
|
350
362
|
slotProps: {
|
|
351
363
|
popper: {
|
|
352
364
|
className: "feature-histogram-tooltip"
|
|
@@ -391,8 +403,8 @@ function ContinuousObs(_ref4) {
|
|
|
391
403
|
isOmitted: _lodash.default.includes(obs.omit, obs.codes[obs.values[index]]),
|
|
392
404
|
label: isNaN(obs.values[index]) ? "NaN" : getContinuousLabel(obs.codes[obs.values[index]], obs.bins.binEdges),
|
|
393
405
|
filteredStats: {
|
|
394
|
-
value_counts: filteredObsData
|
|
395
|
-
pct: filteredObsData
|
|
406
|
+
value_counts: (filteredObsData === null || filteredObsData === void 0 ? void 0 : filteredObsData.value_counts[obs.values[index]]) || 0,
|
|
407
|
+
pct: (filteredObsData === null || filteredObsData === void 0 ? void 0 : filteredObsData.pct[obs.values[index]]) || 0
|
|
396
408
|
},
|
|
397
409
|
isSliced: isSliced
|
|
398
410
|
};
|
|
@@ -18,11 +18,16 @@ var _AccordionContext = _interopRequireDefault(require("react-bootstrap/Accordio
|
|
|
18
18
|
var _ObsItem = require("./ObsItem");
|
|
19
19
|
var _constants = require("../../constants/constants");
|
|
20
20
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
21
|
+
var _SettingsContext = require("../../context/SettingsContext");
|
|
21
22
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
22
23
|
var _requests = require("../../utils/requests");
|
|
23
24
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
|
-
function
|
|
25
|
-
function
|
|
25
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
26
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
29
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
30
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
26
31
|
const ObsAccordionToggle = _ref => {
|
|
27
32
|
let {
|
|
28
33
|
children,
|
|
@@ -37,7 +42,7 @@ const ObsAccordionToggle = _ref => {
|
|
|
37
42
|
handleAccordionToggle(eventKey, isCurrentEventKey);
|
|
38
43
|
});
|
|
39
44
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
-
className:
|
|
45
|
+
className: "obs-accordion-header ".concat(isCurrentEventKey ? "active" : ""),
|
|
41
46
|
onClick: decoratedOnClick
|
|
42
47
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
43
48
|
className: "obs-accordion-header-chevron"
|
|
@@ -48,29 +53,32 @@ const ObsAccordionToggle = _ref => {
|
|
|
48
53
|
}, children));
|
|
49
54
|
};
|
|
50
55
|
function ObsColsList(_ref2) {
|
|
56
|
+
var _settings$selectedObs;
|
|
51
57
|
let {
|
|
52
58
|
showColor = true,
|
|
53
59
|
enableObsGroups = true
|
|
54
60
|
} = _ref2;
|
|
55
61
|
const ENDPOINT = "obs/cols";
|
|
56
62
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
57
|
-
const
|
|
63
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
64
|
+
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
58
65
|
const [enableGroups, setEnableGroups] = (0, _react.useState)(enableObsGroups);
|
|
59
66
|
const [obsCols, setObsCols] = (0, _react.useState)(null);
|
|
60
|
-
const [active, setActive] = (0, _react.useState)([...[
|
|
67
|
+
const [active, setActive] = (0, _react.useState)([...[(_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.name]]);
|
|
61
68
|
const [params, setParams] = (0, _react.useState)({
|
|
62
69
|
url: dataset.url
|
|
63
70
|
});
|
|
64
|
-
const obsGroups = (0, _react.useMemo)(() =>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
const obsGroups = (0, _react.useMemo)(() => {
|
|
72
|
+
var _dataset$obsGroups;
|
|
73
|
+
return _objectSpread({
|
|
74
|
+
default: _lodash.default.union(_constants.DEFAULT_OBS_GROUP, (_dataset$obsGroups = dataset.obsGroups) === null || _dataset$obsGroups === void 0 ? void 0 : _dataset$obsGroups.default)
|
|
75
|
+
}, _lodash.default.omit(dataset.obsGroups, "default"));
|
|
76
|
+
}, [dataset.obsGroups]);
|
|
68
77
|
(0, _react.useEffect)(() => {
|
|
69
78
|
setParams(p => {
|
|
70
|
-
return {
|
|
71
|
-
...p,
|
|
79
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
72
80
|
url: dataset.url
|
|
73
|
-
};
|
|
81
|
+
});
|
|
74
82
|
});
|
|
75
83
|
}, [dataset.url]);
|
|
76
84
|
const {
|
|
@@ -91,7 +99,7 @@ function ObsColsList(_ref2) {
|
|
|
91
99
|
});
|
|
92
100
|
if (!!filteredData.length && !groupFiltered.length) {
|
|
93
101
|
setEnableGroups(false);
|
|
94
|
-
console.warn(
|
|
102
|
+
console.warn("No obs found in obsGroups ".concat(JSON.stringify(obsGroups), ", disabling obsGroups"));
|
|
95
103
|
} else {
|
|
96
104
|
filteredData = groupFiltered;
|
|
97
105
|
}
|
|
@@ -102,17 +110,17 @@ function ObsColsList(_ref2) {
|
|
|
102
110
|
return d.type !== _constants.OBS_TYPES.DISCRETE;
|
|
103
111
|
});
|
|
104
112
|
setObsCols(_lodash.default.keyBy(_lodash.default.map(filteredData, d => {
|
|
105
|
-
return {
|
|
106
|
-
...d,
|
|
113
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
107
114
|
codesMap: _lodash.default.invert(d.codes),
|
|
108
115
|
omit: []
|
|
109
|
-
};
|
|
116
|
+
});
|
|
110
117
|
}), "name"));
|
|
111
118
|
}
|
|
112
119
|
}, [fetchedData, isPending, obsGroups, serverError, enableGroups]);
|
|
113
120
|
(0, _react.useEffect)(() => {
|
|
114
121
|
if (obsCols) {
|
|
115
|
-
|
|
122
|
+
var _settings$selectedObs2;
|
|
123
|
+
if (!obsCols[(_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.name]) {
|
|
116
124
|
setActive([]);
|
|
117
125
|
dispatch({
|
|
118
126
|
type: "select.obs",
|
|
@@ -120,7 +128,7 @@ function ObsColsList(_ref2) {
|
|
|
120
128
|
});
|
|
121
129
|
}
|
|
122
130
|
}
|
|
123
|
-
}, [
|
|
131
|
+
}, [settings.selectedObs, dispatch, obsCols]);
|
|
124
132
|
const handleAccordionToggle = (itemName, isCurrentEventKey) => {
|
|
125
133
|
if (isCurrentEventKey) {
|
|
126
134
|
_lodash.default.delay(() => setActive(prev => _lodash.default.without(prev, itemName)), 250);
|
|
@@ -129,28 +137,26 @@ function ObsColsList(_ref2) {
|
|
|
129
137
|
}
|
|
130
138
|
};
|
|
131
139
|
const toggleAll = item => {
|
|
140
|
+
var _settings$selectedObs3;
|
|
132
141
|
const omit = item.omit.length ? [] : _lodash.default.map(item.values, v => item.codes[v]);
|
|
133
142
|
setObsCols(o => {
|
|
134
|
-
return {
|
|
135
|
-
|
|
136
|
-
[item.name]: {
|
|
137
|
-
...item,
|
|
143
|
+
return _objectSpread(_objectSpread({}, o), {}, {
|
|
144
|
+
[item.name]: _objectSpread(_objectSpread({}, item), {}, {
|
|
138
145
|
omit: omit
|
|
139
|
-
}
|
|
140
|
-
};
|
|
146
|
+
})
|
|
147
|
+
});
|
|
141
148
|
});
|
|
142
|
-
if (
|
|
149
|
+
if (((_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.name) === item.name) {
|
|
143
150
|
dispatch({
|
|
144
151
|
type: "select.obs",
|
|
145
|
-
obs: {
|
|
146
|
-
...item,
|
|
152
|
+
obs: _objectSpread(_objectSpread({}, item), {}, {
|
|
147
153
|
omit: omit
|
|
148
|
-
}
|
|
154
|
+
})
|
|
149
155
|
});
|
|
150
156
|
}
|
|
151
157
|
};
|
|
152
158
|
const toggleLabel = item => {
|
|
153
|
-
const inLabelObs = _lodash.default.some(
|
|
159
|
+
const inLabelObs = _lodash.default.some(settings.labelObs, i => i.name === item.name);
|
|
154
160
|
if (inLabelObs) {
|
|
155
161
|
dispatch({
|
|
156
162
|
type: "remove.label.obs",
|
|
@@ -184,6 +190,7 @@ function ObsColsList(_ref2) {
|
|
|
184
190
|
});
|
|
185
191
|
};
|
|
186
192
|
const toggleObs = (item, value) => {
|
|
193
|
+
var _settings$selectedObs4;
|
|
187
194
|
let omit;
|
|
188
195
|
if (_lodash.default.includes(item.omit, item.codes[value])) {
|
|
189
196
|
omit = item.omit.filter(i => i !== item.codes[value]);
|
|
@@ -191,34 +198,32 @@ function ObsColsList(_ref2) {
|
|
|
191
198
|
omit = [...item.omit, item.codes[value]];
|
|
192
199
|
}
|
|
193
200
|
setObsCols(o => {
|
|
194
|
-
return {
|
|
195
|
-
|
|
196
|
-
[item.name]: {
|
|
197
|
-
...item,
|
|
201
|
+
return _objectSpread(_objectSpread({}, o), {}, {
|
|
202
|
+
[item.name]: _objectSpread(_objectSpread({}, item), {}, {
|
|
198
203
|
omit: omit
|
|
199
|
-
}
|
|
200
|
-
};
|
|
204
|
+
})
|
|
205
|
+
});
|
|
201
206
|
});
|
|
202
|
-
if (
|
|
207
|
+
if (((_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.name) === item.name) {
|
|
203
208
|
dispatch({
|
|
204
209
|
type: "select.obs",
|
|
205
|
-
obs: {
|
|
206
|
-
...item,
|
|
210
|
+
obs: _objectSpread(_objectSpread({}, item), {}, {
|
|
207
211
|
omit: omit
|
|
208
|
-
}
|
|
212
|
+
})
|
|
209
213
|
});
|
|
210
214
|
}
|
|
211
215
|
};
|
|
212
216
|
const obsItem = item => {
|
|
217
|
+
var _settings$selectedObs5, _settings$selectedObs6;
|
|
213
218
|
if (!item) {
|
|
214
219
|
return null;
|
|
215
220
|
}
|
|
216
221
|
if (item.type === _constants.OBS_TYPES.DISCRETE) {
|
|
217
222
|
return null;
|
|
218
223
|
}
|
|
219
|
-
const inLabelObs = _lodash.default.some(
|
|
220
|
-
const inSliceObs =
|
|
221
|
-
const isColorEncoding =
|
|
224
|
+
const inLabelObs = _lodash.default.some(settings.labelObs, i => i.name === item.name);
|
|
225
|
+
const inSliceObs = settings.sliceBy.obs && ((_settings$selectedObs5 = settings.selectedObs) === null || _settings$selectedObs5 === void 0 ? void 0 : _settings$selectedObs5.name) === item.name;
|
|
226
|
+
const isColorEncoding = settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && ((_settings$selectedObs6 = settings.selectedObs) === null || _settings$selectedObs6 === void 0 ? void 0 : _settings$selectedObs6.name) === item.name;
|
|
222
227
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
223
228
|
className: "accordion-item",
|
|
224
229
|
key: item.name
|
|
@@ -226,21 +231,21 @@ function ObsColsList(_ref2) {
|
|
|
226
231
|
eventKey: item.name,
|
|
227
232
|
handleAccordionToggle: handleAccordionToggle
|
|
228
233
|
}, /*#__PURE__*/_react.default.createElement("div", null, item.name), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
229
|
-
className:
|
|
234
|
+
className: "mx-1 cursor-pointer ".concat(inLabelObs ? "active-icon" : "text-muted opacity-50"),
|
|
230
235
|
onClick: event => {
|
|
231
236
|
event.stopPropagation();
|
|
232
237
|
toggleLabel(item);
|
|
233
238
|
},
|
|
234
239
|
title: "Add to tooltip"
|
|
235
240
|
}, /*#__PURE__*/_react.default.createElement(_Comment.default, null)), /*#__PURE__*/_react.default.createElement("span", {
|
|
236
|
-
className:
|
|
241
|
+
className: "mx-1 cursor-pointer ".concat(inSliceObs ? "active-icon" : "text-muted opacity-50"),
|
|
237
242
|
onClick: event => {
|
|
238
243
|
event.stopPropagation();
|
|
239
244
|
toggleSlice(item);
|
|
240
245
|
},
|
|
241
246
|
title: "Filter applied"
|
|
242
247
|
}, /*#__PURE__*/_react.default.createElement(_JoinInner.default, null)), /*#__PURE__*/_react.default.createElement("span", {
|
|
243
|
-
className:
|
|
248
|
+
className: "mx-1 cursor-pointer ".concat(isColorEncoding ? "active-icon" : "text-muted opacity-50"),
|
|
244
249
|
onClick: event => {
|
|
245
250
|
event.stopPropagation();
|
|
246
251
|
toggleColor(item);
|
|
@@ -270,9 +275,9 @@ function ObsColsList(_ref2) {
|
|
|
270
275
|
})))));
|
|
271
276
|
};
|
|
272
277
|
const groupList = _lodash.default.map(_lodash.default.keys(obsGroups), group => {
|
|
273
|
-
const key =
|
|
278
|
+
const key = "group-".concat(group);
|
|
274
279
|
const groupItems = _lodash.default.compact(_lodash.default.map(_lodash.default.sortBy(obsGroups[group], o => _lodash.default.lowerCase(o.name)), item => {
|
|
275
|
-
return obsItem(obsCols
|
|
280
|
+
return obsItem(obsCols === null || obsCols === void 0 ? void 0 : obsCols[item]);
|
|
276
281
|
}));
|
|
277
282
|
if (group === "default") {
|
|
278
283
|
return groupItems;
|
|
@@ -289,7 +294,7 @@ function ObsColsList(_ref2) {
|
|
|
289
294
|
}
|
|
290
295
|
});
|
|
291
296
|
const obsList = enableGroups ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, groupList) : _lodash.default.map(_lodash.default.sortBy(obsCols, o => _lodash.default.lowerCase(o.name)), item => obsItem(item));
|
|
292
|
-
const defaultActiveGroup = enableGroups ?
|
|
297
|
+
const defaultActiveGroup = enableGroups ? "group-".concat(_lodash.default.findKey(obsGroups, g => g.includes(active === null || active === void 0 ? void 0 : active[0]))) : null;
|
|
293
298
|
if (!serverError) {
|
|
294
299
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
295
300
|
className: "position-relative h-100"
|
|
@@ -7,14 +7,20 @@ exports.ObsmKeysList = ObsmKeysList;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactBootstrap = require("react-bootstrap");
|
|
9
9
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
10
|
+
var _SettingsContext = require("../../context/SettingsContext");
|
|
10
11
|
var _requests = require("../../utils/requests");
|
|
11
12
|
var _Skeleton = require("../../utils/Skeleton");
|
|
12
|
-
function
|
|
13
|
-
function
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
19
|
function ObsmKeysList() {
|
|
15
20
|
const ENDPOINT = "obsm/keys";
|
|
16
21
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
17
|
-
const
|
|
22
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
23
|
+
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
18
24
|
const [obsmKeysList, setObsmKeysList] = (0, _react.useState)([]);
|
|
19
25
|
const [active, setActive] = (0, _react.useState)(null);
|
|
20
26
|
const [params, setParams] = (0, _react.useState)({
|
|
@@ -22,10 +28,9 @@ function ObsmKeysList() {
|
|
|
22
28
|
});
|
|
23
29
|
(0, _react.useEffect)(() => {
|
|
24
30
|
setParams(p => {
|
|
25
|
-
return {
|
|
26
|
-
...p,
|
|
31
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
27
32
|
url: dataset.url
|
|
28
|
-
};
|
|
33
|
+
});
|
|
29
34
|
});
|
|
30
35
|
}, [dataset.url]);
|
|
31
36
|
const {
|
|
@@ -41,14 +46,14 @@ function ObsmKeysList() {
|
|
|
41
46
|
}
|
|
42
47
|
}, [fetchedData, isPending, serverError]);
|
|
43
48
|
(0, _react.useEffect)(() => {
|
|
44
|
-
if (
|
|
45
|
-
setActive(
|
|
49
|
+
if (settings.selectedObsm) {
|
|
50
|
+
setActive(settings.selectedObsm);
|
|
46
51
|
}
|
|
47
|
-
}, [
|
|
52
|
+
}, [settings.selectedObsm]);
|
|
48
53
|
const obsmList = obsmKeysList.map(item => {
|
|
49
54
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Item, {
|
|
50
55
|
key: item,
|
|
51
|
-
className:
|
|
56
|
+
className: "custom ".concat(active === item && "active"),
|
|
52
57
|
onClick: () => {
|
|
53
58
|
dispatch({
|
|
54
59
|
type: "select.obsm",
|
|
@@ -63,8 +68,8 @@ function ObsmKeysList() {
|
|
|
63
68
|
}
|
|
64
69
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.DropdownButton, {
|
|
65
70
|
as: _reactBootstrap.ButtonGroup,
|
|
66
|
-
title:
|
|
67
|
-
variant:
|
|
71
|
+
title: settings.selectedObsm || "Select an embedding",
|
|
72
|
+
variant: settings.selectedObsm ? "primary" : "warning",
|
|
68
73
|
id: "bg-nested-dropdown",
|
|
69
74
|
size: "sm"
|
|
70
75
|
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Header, null, "Embeddings"), obsmList);
|
|
@@ -14,18 +14,21 @@ var _ObsList = require("../obs-list/ObsList");
|
|
|
14
14
|
var _ObsmList = require("../obsm-list/ObsmList");
|
|
15
15
|
var _SearchBar = require("../search-bar/SearchBar");
|
|
16
16
|
var _VarList = require("../var-list/VarList");
|
|
17
|
+
const _excluded = ["show", "handleClose"],
|
|
18
|
+
_excluded2 = ["show", "handleClose", "Controls"];
|
|
17
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
21
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
18
22
|
function OffcanvasObs(_ref) {
|
|
19
23
|
let {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
show,
|
|
25
|
+
handleClose
|
|
26
|
+
} = _ref,
|
|
27
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
24
28
|
return /*#__PURE__*/_react.default.createElement(_Offcanvas.default, {
|
|
25
29
|
show: show,
|
|
26
30
|
onHide: handleClose,
|
|
27
|
-
scroll: true
|
|
28
|
-
backdrop: false
|
|
31
|
+
scroll: true
|
|
29
32
|
}, /*#__PURE__*/_react.default.createElement(_Offcanvas.default.Header, {
|
|
30
33
|
closeButton: true
|
|
31
34
|
}, /*#__PURE__*/_react.default.createElement(_Offcanvas.default.Title, null, "Categories")), /*#__PURE__*/_react.default.createElement(_Offcanvas.default.Body, {
|
|
@@ -63,11 +66,11 @@ function OffcanvasVars(_ref3) {
|
|
|
63
66
|
}
|
|
64
67
|
function OffcanvasControls(_ref4) {
|
|
65
68
|
let {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
show,
|
|
70
|
+
handleClose,
|
|
71
|
+
Controls
|
|
72
|
+
} = _ref4,
|
|
73
|
+
props = _objectWithoutProperties(_ref4, _excluded2);
|
|
71
74
|
return /*#__PURE__*/_react.default.createElement(_Offcanvas.default, {
|
|
72
75
|
show: show,
|
|
73
76
|
onHide: handleClose
|