@haniffalab/cherita-react 1.2.0-dev.2025-05-21.31931945 → 1.2.0-dev.2025-05-21.e57ef5f2
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/dotplot/Dotplot.js +26 -19
- package/dist/cjs/components/dotplot/DotplotControls.js +17 -19
- package/dist/cjs/components/full-page/FullPage.js +9 -7
- package/dist/cjs/components/full-page/FullPagePseudospatial.js +9 -7
- package/dist/cjs/components/heatmap/Heatmap.js +22 -13
- package/dist/cjs/components/matrixplot/Matrixplot.js +22 -13
- package/dist/cjs/components/obs-list/ObsItem.js +37 -29
- package/dist/cjs/components/obs-list/ObsList.js +47 -44
- package/dist/cjs/components/obsm-list/ObsmList.js +9 -6
- package/dist/cjs/components/offcanvas/index.js +13 -9
- package/dist/cjs/components/pseudospatial/Pseudospatial.js +61 -53
- package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +17 -11
- package/dist/cjs/components/scatterplot/Scatterplot.js +52 -52
- package/dist/cjs/components/scatterplot/ScatterplotControls.js +3 -3
- package/dist/cjs/components/scatterplot/SpatialControls.js +4 -4
- package/dist/cjs/components/search-bar/SearchBar.js +12 -10
- package/dist/cjs/components/search-bar/SearchInfo.js +14 -13
- package/dist/cjs/components/search-bar/SearchResults.js +16 -14
- package/dist/cjs/components/var-list/VarItem.js +37 -120
- package/dist/cjs/components/var-list/VarList.js +16 -13
- package/dist/cjs/components/var-list/VarListToolbar.js +1 -2
- package/dist/cjs/components/var-list/VarSet.js +17 -29
- package/dist/cjs/components/violin/Violin.js +44 -35
- package/dist/cjs/context/DatasetContext.js +17 -11
- package/dist/cjs/context/FilterContext.js +9 -8
- package/dist/cjs/context/SettingsContext.js +169 -237
- package/dist/cjs/context/ZarrDataContext.js +1 -2
- package/dist/cjs/helpers/color-helper.js +3 -3
- package/dist/cjs/helpers/zarr-helper.js +15 -12
- package/dist/cjs/utils/Filter.js +13 -9
- package/dist/cjs/utils/Histogram.js +4 -3
- package/dist/cjs/utils/ImageViewer.js +1 -2
- package/dist/cjs/utils/Legend.js +3 -3
- 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 +12 -8
- package/dist/css/cherita.css +24 -10
- package/dist/css/cherita.css.map +1 -1
- package/dist/esm/components/dotplot/Dotplot.js +25 -17
- package/dist/esm/components/dotplot/DotplotControls.js +16 -17
- package/dist/esm/components/full-page/FullPage.js +8 -5
- package/dist/esm/components/full-page/FullPagePseudospatial.js +8 -5
- package/dist/esm/components/heatmap/Heatmap.js +21 -11
- package/dist/esm/components/matrixplot/Matrixplot.js +21 -11
- package/dist/esm/components/obs-list/ObsItem.js +36 -27
- package/dist/esm/components/obs-list/ObsList.js +46 -42
- package/dist/esm/components/obsm-list/ObsmList.js +8 -4
- package/dist/esm/components/offcanvas/index.js +13 -9
- package/dist/esm/components/pseudospatial/Pseudospatial.js +60 -51
- package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +16 -9
- package/dist/esm/components/scatterplot/Scatterplot.js +51 -50
- package/dist/esm/components/scatterplot/ScatterplotControls.js +2 -1
- package/dist/esm/components/scatterplot/SpatialControls.js +3 -2
- package/dist/esm/components/search-bar/SearchBar.js +11 -8
- package/dist/esm/components/search-bar/SearchInfo.js +13 -11
- package/dist/esm/components/search-bar/SearchResults.js +15 -12
- package/dist/esm/components/var-list/VarItem.js +36 -117
- package/dist/esm/components/var-list/VarList.js +15 -11
- package/dist/esm/components/var-list/VarSet.js +17 -28
- package/dist/esm/components/violin/Violin.js +43 -33
- package/dist/esm/context/DatasetContext.js +16 -9
- package/dist/esm/context/FilterContext.js +8 -6
- package/dist/esm/context/SettingsContext.js +168 -235
- package/dist/esm/helpers/color-helper.js +3 -3
- package/dist/esm/helpers/zarr-helper.js +15 -12
- package/dist/esm/utils/Filter.js +13 -9
- package/dist/esm/utils/Histogram.js +4 -3
- package/dist/esm/utils/Legend.js +2 -1
- 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 +12 -8
- package/package.json +4 -2
- package/scss/cherita.scss +5 -0
- package/scss/components/layouts.scss +4 -0
- package/scss/components/lists.scss +4 -5
|
@@ -14,9 +14,14 @@ var _SettingsContext = require("../../context/SettingsContext");
|
|
|
14
14
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
15
15
|
var _requests = require("../../utils/requests");
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function
|
|
18
|
-
function
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
22
|
+
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); }
|
|
19
23
|
function Dotplot() {
|
|
24
|
+
var _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
|
|
20
25
|
const ENDPOINT = "dotplot";
|
|
21
26
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
22
27
|
const settings = (0, _SettingsContext.useSettings)();
|
|
@@ -32,7 +37,10 @@ function Dotplot() {
|
|
|
32
37
|
const [params, setParams] = (0, _react.useState)({
|
|
33
38
|
url: dataset.url,
|
|
34
39
|
obsCol: settings.selectedObs,
|
|
35
|
-
obsValues: !settings.selectedObs
|
|
40
|
+
obsValues: !((_settings$selectedObs = settings.selectedObs) !== null && _settings$selectedObs !== void 0 && _settings$selectedObs.omit.length) ? null : _lodash.default.difference(_lodash.default.values((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.codes), (_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.omit).map(c => {
|
|
41
|
+
var _settings$selectedObs4;
|
|
42
|
+
return (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.codesMap[c];
|
|
43
|
+
}),
|
|
36
44
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
37
45
|
name: i.name,
|
|
38
46
|
indices: i.vars.map(v => v.index)
|
|
@@ -52,11 +60,14 @@ function Dotplot() {
|
|
|
52
60
|
setHasSelections(false);
|
|
53
61
|
}
|
|
54
62
|
setParams(p => {
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
var _settings$selectedObs5, _settings$selectedObs6, _settings$selectedObs7;
|
|
64
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
57
65
|
url: dataset.url,
|
|
58
66
|
obsCol: settings.selectedObs,
|
|
59
|
-
obsValues: !settings.selectedObs
|
|
67
|
+
obsValues: !((_settings$selectedObs5 = settings.selectedObs) !== null && _settings$selectedObs5 !== void 0 && _settings$selectedObs5.omit.length) ? null : _lodash.default.difference(_lodash.default.values((_settings$selectedObs6 = settings.selectedObs) === null || _settings$selectedObs6 === void 0 ? void 0 : _settings$selectedObs6.codes), (_settings$selectedObs7 = settings.selectedObs) === null || _settings$selectedObs7 === void 0 ? void 0 : _settings$selectedObs7.omit).map(c => {
|
|
68
|
+
var _settings$selectedObs8;
|
|
69
|
+
return (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.codesMap[c];
|
|
70
|
+
}),
|
|
60
71
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
61
72
|
name: i.name,
|
|
62
73
|
indices: i.vars.map(v => v.index)
|
|
@@ -66,18 +77,16 @@ function Dotplot() {
|
|
|
66
77
|
meanOnlyExpressed: settings.controls.meanOnlyExpressed,
|
|
67
78
|
expressionCutoff: settings.controls.expressionCutoff,
|
|
68
79
|
varNamesCol: dataset.varNamesCol
|
|
69
|
-
};
|
|
80
|
+
});
|
|
70
81
|
});
|
|
71
82
|
}, [dataset.url, settings.selectedObs, settings.selectedMultiVar, settings.controls.standardScale, settings.controls.meanOnlyExpressed, settings.controls.expressionCutoff, dataset.varNamesCol, isSliced, obsIndices]);
|
|
72
83
|
const updateColorscale = (0, _react.useCallback)(colorscale => {
|
|
73
84
|
setLayout(l => {
|
|
74
|
-
return {
|
|
75
|
-
|
|
76
|
-
coloraxis: {
|
|
77
|
-
...l.coloraxis,
|
|
85
|
+
return _objectSpread(_objectSpread({}, l), {}, {
|
|
86
|
+
coloraxis: _objectSpread(_objectSpread({}, l.coloraxis), {}, {
|
|
78
87
|
colorscale: colorscale
|
|
79
|
-
}
|
|
80
|
-
};
|
|
88
|
+
})
|
|
89
|
+
});
|
|
81
90
|
});
|
|
82
91
|
}, []);
|
|
83
92
|
const {
|
|
@@ -109,14 +118,12 @@ function Dotplot() {
|
|
|
109
118
|
}, [settings.controls.colorScale, updateColorscale]);
|
|
110
119
|
(0, _react.useEffect)(() => {
|
|
111
120
|
setLayout(l => {
|
|
112
|
-
return {
|
|
113
|
-
|
|
114
|
-
coloraxis: {
|
|
115
|
-
...l.coloraxis,
|
|
121
|
+
return _objectSpread(_objectSpread({}, l), {}, {
|
|
122
|
+
coloraxis: _objectSpread(_objectSpread({}, l.coloraxis), {}, {
|
|
116
123
|
cmin: settings.controls.colorAxis.cmin,
|
|
117
124
|
cmax: settings.controls.colorAxis.cmax
|
|
118
|
-
}
|
|
119
|
-
};
|
|
125
|
+
})
|
|
126
|
+
});
|
|
120
127
|
});
|
|
121
128
|
}, [settings.controls.colorAxis.cmin, settings.controls.colorAxis.cmax]);
|
|
122
129
|
if (!serverError) {
|
|
@@ -12,8 +12,12 @@ var _colorscales = require("../../constants/colorscales");
|
|
|
12
12
|
var _constants = require("../../constants/constants");
|
|
13
13
|
var _SettingsContext = require("../../context/SettingsContext");
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
function
|
|
16
|
-
function
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
20
|
+
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); }
|
|
17
21
|
function DotplotControls() {
|
|
18
22
|
const settings = (0, _SettingsContext.useSettings)();
|
|
19
23
|
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
@@ -25,8 +29,7 @@ function DotplotControls() {
|
|
|
25
29
|
}
|
|
26
30
|
});
|
|
27
31
|
(0, _react.useEffect)(() => {
|
|
28
|
-
setControls(c => ({
|
|
29
|
-
...c,
|
|
32
|
+
setControls(c => _objectSpread(_objectSpread({}, c), {}, {
|
|
30
33
|
colorAxis: {
|
|
31
34
|
cmin: settings.controls.colorAxis.cmin,
|
|
32
35
|
cmax: settings.controls.colorAxis.cmax
|
|
@@ -87,10 +90,9 @@ function DotplotControls() {
|
|
|
87
90
|
min: 0.0,
|
|
88
91
|
value: controls.expressionCutoff,
|
|
89
92
|
onChange: e => {
|
|
90
|
-
setControls({
|
|
91
|
-
...controls,
|
|
93
|
+
setControls(_objectSpread(_objectSpread({}, controls), {}, {
|
|
92
94
|
expressionCutoff: e.target.value
|
|
93
|
-
});
|
|
95
|
+
}));
|
|
94
96
|
}
|
|
95
97
|
}), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
96
98
|
type: "submit",
|
|
@@ -113,13 +115,11 @@ function DotplotControls() {
|
|
|
113
115
|
min: Math.min(settings.controls.colorAxis.dmin, 0.0),
|
|
114
116
|
max: settings.controls.colorAxis.dmax,
|
|
115
117
|
onChange: e => {
|
|
116
|
-
setControls({
|
|
117
|
-
|
|
118
|
-
colorAxis: {
|
|
119
|
-
...controls.colorAxis,
|
|
118
|
+
setControls(_objectSpread(_objectSpread({}, controls), {}, {
|
|
119
|
+
colorAxis: _objectSpread(_objectSpread({}, controls.colorAxis), {}, {
|
|
120
120
|
cmin: e.target.value
|
|
121
|
-
}
|
|
122
|
-
});
|
|
121
|
+
})
|
|
122
|
+
}));
|
|
123
123
|
}
|
|
124
124
|
}), /*#__PURE__*/_react.default.createElement(_reactBootstrap.InputGroup.Text, null, "max"), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Control, {
|
|
125
125
|
name: "scaleMax",
|
|
@@ -133,13 +133,11 @@ function DotplotControls() {
|
|
|
133
133
|
if (parseFloat(e.target.value) > settings.controls.colorAxis.dmax) {
|
|
134
134
|
e.target.value = settings.controls.colorAxis.dmax.toFixed(1);
|
|
135
135
|
}
|
|
136
|
-
setControls({
|
|
137
|
-
|
|
138
|
-
colorAxis: {
|
|
139
|
-
...controls.colorAxis,
|
|
136
|
+
setControls(_objectSpread(_objectSpread({}, controls), {}, {
|
|
137
|
+
colorAxis: _objectSpread(_objectSpread({}, controls.colorAxis), {}, {
|
|
140
138
|
cmax: e.target.value
|
|
141
|
-
}
|
|
142
|
-
});
|
|
139
|
+
})
|
|
140
|
+
}));
|
|
143
141
|
}
|
|
144
142
|
}), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
145
143
|
type: "submit",
|
|
@@ -20,16 +20,18 @@ var _ScatterplotControls = require("../scatterplot/ScatterplotControls");
|
|
|
20
20
|
var _SearchBar = require("../search-bar/SearchBar");
|
|
21
21
|
var _VarList = require("../var-list/VarList");
|
|
22
22
|
var _Violin = require("../violin/Violin");
|
|
23
|
-
|
|
24
|
-
function _interopRequireWildcard(e, r) { if (!
|
|
23
|
+
const _excluded = ["children", "varMode", "searchDiseases"];
|
|
24
|
+
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); }
|
|
25
25
|
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); }
|
|
26
|
+
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; }
|
|
27
|
+
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; }
|
|
26
28
|
function FullPage(_ref) {
|
|
27
29
|
let {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
children,
|
|
31
|
+
varMode = _constants.SELECTION_MODES.SINGLE,
|
|
32
|
+
searchDiseases = false
|
|
33
|
+
} = _ref,
|
|
34
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
33
35
|
const appRef = (0, _react.useRef)();
|
|
34
36
|
const [appDimensions, setAppDimensions] = (0, _react.useState)({
|
|
35
37
|
width: 0,
|
|
@@ -19,16 +19,18 @@ var _Scatterplot = require("../scatterplot/Scatterplot");
|
|
|
19
19
|
var _ScatterplotControls = require("../scatterplot/ScatterplotControls");
|
|
20
20
|
var _SearchBar = require("../search-bar/SearchBar");
|
|
21
21
|
var _VarList = require("../var-list/VarList");
|
|
22
|
-
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!
|
|
22
|
+
const _excluded = ["children", "varMode", "searchDiseases"];
|
|
23
|
+
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); }
|
|
24
24
|
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); }
|
|
25
|
+
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; }
|
|
26
|
+
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; }
|
|
25
27
|
function FullPage(_ref) {
|
|
26
28
|
let {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
children,
|
|
30
|
+
varMode = _constants.SELECTION_MODES.SINGLE,
|
|
31
|
+
searchDiseases = false
|
|
32
|
+
} = _ref,
|
|
33
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
32
34
|
const appRef = (0, _react.useRef)();
|
|
33
35
|
const [appDimensions, setAppDimensions] = (0, _react.useState)({
|
|
34
36
|
width: 0,
|
|
@@ -14,9 +14,14 @@ var _SettingsContext = require("../../context/SettingsContext");
|
|
|
14
14
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
15
15
|
var _requests = require("../../utils/requests");
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function
|
|
18
|
-
function
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
22
|
+
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); }
|
|
19
23
|
function Heatmap() {
|
|
24
|
+
var _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
|
|
20
25
|
const ENDPOINT = "heatmap";
|
|
21
26
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
22
27
|
const settings = (0, _SettingsContext.useSettings)();
|
|
@@ -31,7 +36,10 @@ function Heatmap() {
|
|
|
31
36
|
const [params, setParams] = (0, _react.useState)({
|
|
32
37
|
url: dataset.url,
|
|
33
38
|
obsCol: settings.selectedObs,
|
|
34
|
-
obsValues: !settings.selectedObs
|
|
39
|
+
obsValues: !((_settings$selectedObs = settings.selectedObs) !== null && _settings$selectedObs !== void 0 && _settings$selectedObs.omit.length) ? null : _lodash.default.difference(_lodash.default.values((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.codes), (_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.omit).map(c => {
|
|
40
|
+
var _settings$selectedObs4;
|
|
41
|
+
return (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.codesMap[c];
|
|
42
|
+
}),
|
|
35
43
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
36
44
|
name: i.name,
|
|
37
45
|
indices: i.vars.map(v => v.index)
|
|
@@ -46,29 +54,30 @@ function Heatmap() {
|
|
|
46
54
|
setHasSelections(false);
|
|
47
55
|
}
|
|
48
56
|
setParams(p => {
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
var _settings$selectedObs5, _settings$selectedObs6, _settings$selectedObs7;
|
|
58
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
51
59
|
url: dataset.url,
|
|
52
60
|
obsCol: settings.selectedObs,
|
|
53
|
-
obsValues: !settings.selectedObs
|
|
61
|
+
obsValues: !((_settings$selectedObs5 = settings.selectedObs) !== null && _settings$selectedObs5 !== void 0 && _settings$selectedObs5.omit.length) ? null : _lodash.default.difference(_lodash.default.values((_settings$selectedObs6 = settings.selectedObs) === null || _settings$selectedObs6 === void 0 ? void 0 : _settings$selectedObs6.codes), (_settings$selectedObs7 = settings.selectedObs) === null || _settings$selectedObs7 === void 0 ? void 0 : _settings$selectedObs7.omit).map(c => {
|
|
62
|
+
var _settings$selectedObs8;
|
|
63
|
+
return (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.codesMap[c];
|
|
64
|
+
}),
|
|
54
65
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
55
66
|
name: i.name,
|
|
56
67
|
indices: i.vars.map(v => v.index)
|
|
57
68
|
} : i.index),
|
|
58
69
|
obsIndices: isSliced ? [...(obsIndices || [])] : null,
|
|
59
70
|
varNamesCol: dataset.varNamesCol
|
|
60
|
-
};
|
|
71
|
+
});
|
|
61
72
|
});
|
|
62
73
|
}, [settings.selectedMultiVar, settings.selectedObs, dataset.url, dataset.varNamesCol, obsIndices, isSliced]);
|
|
63
74
|
const updateColorscale = (0, _react.useCallback)(colorscale => {
|
|
64
75
|
setLayout(l => {
|
|
65
|
-
return {
|
|
66
|
-
|
|
67
|
-
coloraxis: {
|
|
68
|
-
...l.coloraxis,
|
|
76
|
+
return _objectSpread(_objectSpread({}, l), {}, {
|
|
77
|
+
coloraxis: _objectSpread(_objectSpread({}, l.coloraxis), {}, {
|
|
69
78
|
colorscale: colorscale
|
|
70
|
-
}
|
|
71
|
-
};
|
|
79
|
+
})
|
|
80
|
+
});
|
|
72
81
|
});
|
|
73
82
|
}, []);
|
|
74
83
|
const {
|
|
@@ -14,9 +14,14 @@ var _SettingsContext = require("../../context/SettingsContext");
|
|
|
14
14
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
15
15
|
var _requests = require("../../utils/requests");
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function
|
|
18
|
-
function
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
22
|
+
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); }
|
|
19
23
|
function Matrixplot() {
|
|
24
|
+
var _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
|
|
20
25
|
const ENDPOINT = "matrixplot";
|
|
21
26
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
22
27
|
const settings = (0, _SettingsContext.useSettings)();
|
|
@@ -31,7 +36,10 @@ function Matrixplot() {
|
|
|
31
36
|
const [params, setParams] = (0, _react.useState)({
|
|
32
37
|
url: dataset.url,
|
|
33
38
|
obsCol: settings.selectedObs,
|
|
34
|
-
obsValues: !settings.selectedObs
|
|
39
|
+
obsValues: !((_settings$selectedObs = settings.selectedObs) !== null && _settings$selectedObs !== void 0 && _settings$selectedObs.omit.length) ? null : _lodash.default.difference(_lodash.default.values((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.codes), (_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.omit).map(c => {
|
|
40
|
+
var _settings$selectedObs4;
|
|
41
|
+
return (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.codesMap[c];
|
|
42
|
+
}),
|
|
35
43
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
36
44
|
name: i.name,
|
|
37
45
|
indices: i.vars.map(v => v.index)
|
|
@@ -47,11 +55,14 @@ function Matrixplot() {
|
|
|
47
55
|
setHasSelections(false);
|
|
48
56
|
}
|
|
49
57
|
setParams(p => {
|
|
50
|
-
|
|
51
|
-
|
|
58
|
+
var _settings$selectedObs5, _settings$selectedObs6, _settings$selectedObs7;
|
|
59
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
52
60
|
url: dataset.url,
|
|
53
61
|
obsCol: settings.selectedObs,
|
|
54
|
-
obsValues: !settings.selectedObs
|
|
62
|
+
obsValues: !((_settings$selectedObs5 = settings.selectedObs) !== null && _settings$selectedObs5 !== void 0 && _settings$selectedObs5.omit.length) ? null : _lodash.default.difference(_lodash.default.values((_settings$selectedObs6 = settings.selectedObs) === null || _settings$selectedObs6 === void 0 ? void 0 : _settings$selectedObs6.codes), (_settings$selectedObs7 = settings.selectedObs) === null || _settings$selectedObs7 === void 0 ? void 0 : _settings$selectedObs7.omit).map(c => {
|
|
63
|
+
var _settings$selectedObs8;
|
|
64
|
+
return (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.codesMap[c];
|
|
65
|
+
}),
|
|
55
66
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
56
67
|
name: i.name,
|
|
57
68
|
indices: i.vars.map(v => v.index)
|
|
@@ -59,18 +70,16 @@ function Matrixplot() {
|
|
|
59
70
|
obsIndices: isSliced ? [...(obsIndices || [])] : null,
|
|
60
71
|
standardScale: settings.controls.standardScale,
|
|
61
72
|
varNamesCol: dataset.varNamesCol
|
|
62
|
-
};
|
|
73
|
+
});
|
|
63
74
|
});
|
|
64
75
|
}, [settings.controls.standardScale, settings.selectedMultiVar, settings.selectedObs, dataset.url, dataset.varNamesCol, obsIndices, isSliced]);
|
|
65
76
|
const updateColorscale = (0, _react.useCallback)(colorscale => {
|
|
66
77
|
setLayout(l => {
|
|
67
|
-
return {
|
|
68
|
-
|
|
69
|
-
coloraxis: {
|
|
70
|
-
...l.coloraxis,
|
|
78
|
+
return _objectSpread(_objectSpread({}, l), {}, {
|
|
79
|
+
coloraxis: _objectSpread(_objectSpread({}, l.coloraxis), {}, {
|
|
71
80
|
colorscale: colorscale
|
|
72
|
-
}
|
|
73
|
-
};
|
|
81
|
+
})
|
|
82
|
+
});
|
|
74
83
|
});
|
|
75
84
|
}, []);
|
|
76
85
|
const {
|
|
@@ -23,8 +23,12 @@ var _string = require("../../utils/string");
|
|
|
23
23
|
var _VirtualizedList = require("../../utils/VirtualizedList");
|
|
24
24
|
var _zarrData = require("../../utils/zarrData");
|
|
25
25
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
|
-
function
|
|
27
|
-
function
|
|
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); }
|
|
28
32
|
// const N_BINS = 5;
|
|
29
33
|
|
|
30
34
|
// function binContinuous(data, nBins) {
|
|
@@ -46,9 +50,10 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
46
50
|
// }
|
|
47
51
|
|
|
48
52
|
function getContinuousLabel(code, binEdges) {
|
|
49
|
-
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 ? " ]" : " )");
|
|
50
54
|
}
|
|
51
55
|
const useObsHistogram = obs => {
|
|
56
|
+
var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3, _settings$selectedVar4, _settings$selectedVar9, _settings$selectedVar0, _settings$selectedVar1, _settings$selectedVar10;
|
|
52
57
|
const ENDPOINT = "obs/histograms";
|
|
53
58
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
54
59
|
const settings = (0, _SettingsContext.useSettings)();
|
|
@@ -60,25 +65,25 @@ const useObsHistogram = obs => {
|
|
|
60
65
|
url: dataset.url,
|
|
61
66
|
obsCol: _lodash.default.omit(obs, "omit"),
|
|
62
67
|
// avoid re-rendering when toggling unselected obs
|
|
63
|
-
varKey: settings.selectedVar
|
|
64
|
-
name: settings.selectedVar
|
|
65
|
-
indices: settings.selectedVar
|
|
66
|
-
} : settings.selectedVar
|
|
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,
|
|
67
72
|
obsIndices: isSliced ? [...(obsIndices || [])] : null
|
|
68
73
|
});
|
|
69
74
|
(0, _react.useEffect)(() => {
|
|
70
75
|
setParams(p => {
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
var _settings$selectedVar5, _settings$selectedVar6, _settings$selectedVar7, _settings$selectedVar8;
|
|
77
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
73
78
|
obsCol: _lodash.default.omit(obs, "omit"),
|
|
74
|
-
varKey: settings.selectedVar
|
|
75
|
-
name: settings.selectedVar
|
|
76
|
-
indices: settings.selectedVar
|
|
77
|
-
} : settings.selectedVar
|
|
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,
|
|
78
83
|
obsIndices: isSliced ? [...(obsIndices || [])] : null
|
|
79
|
-
};
|
|
84
|
+
});
|
|
80
85
|
});
|
|
81
|
-
}, [settings.selectedVar
|
|
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]);
|
|
82
87
|
return (0, _requests.useFetch)(ENDPOINT, params, {
|
|
83
88
|
enabled: !!settings.selectedVar && settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR,
|
|
84
89
|
refetchOnMount: false
|
|
@@ -92,6 +97,7 @@ const getBinIndex = (v, binEdges) => {
|
|
|
92
97
|
return _lodash.default.findIndex(modifiedBinEdges, range => _lodash.default.inRange(v, ...range));
|
|
93
98
|
};
|
|
94
99
|
const useFilteredObsData = obs => {
|
|
100
|
+
var _obs$bins2;
|
|
95
101
|
const {
|
|
96
102
|
obsIndices
|
|
97
103
|
} = (0, _FilterContext.useFilteredData)();
|
|
@@ -107,19 +113,20 @@ const useFilteredObsData = obs => {
|
|
|
107
113
|
valueCounts = _lodash.default.countBy(filteredObsValues);
|
|
108
114
|
} else {
|
|
109
115
|
valueCounts = _lodash.default.countBy(filteredObsValues, v => {
|
|
110
|
-
|
|
116
|
+
var _obs$bins;
|
|
117
|
+
return getBinIndex(v, ((_obs$bins = obs.bins) === null || _obs$bins === void 0 ? void 0 : _obs$bins.binEdges) || [[null, null]]);
|
|
111
118
|
});
|
|
112
119
|
}
|
|
113
120
|
valueCounts = _lodash.default.mapKeys(valueCounts, (_v, i) => {
|
|
114
121
|
return obs.codesMap[i];
|
|
115
122
|
});
|
|
116
|
-
const totalCounts = obsIndices
|
|
123
|
+
const totalCounts = obsIndices === null || obsIndices === void 0 ? void 0 : obsIndices.size;
|
|
117
124
|
const pct = _lodash.default.mapValues(valueCounts, v => v / totalCounts * 100);
|
|
118
125
|
return {
|
|
119
126
|
valueCounts,
|
|
120
127
|
pct
|
|
121
128
|
};
|
|
122
|
-
}, [isCategorical, obs.bins
|
|
129
|
+
}, [isCategorical, (_obs$bins2 = obs.bins) === null || _obs$bins2 === void 0 ? void 0 : _obs$bins2.binEdges, obs.codesMap, obsData.data, obsIndices]);
|
|
123
130
|
return {
|
|
124
131
|
value_counts: valueCounts,
|
|
125
132
|
pct: pct
|
|
@@ -179,7 +186,7 @@ function CategoricalItem(_ref) {
|
|
|
179
186
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
180
187
|
className: "pl-1 m-0"
|
|
181
188
|
}, /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
182
|
-
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), "%"),
|
|
183
190
|
placement: "left",
|
|
184
191
|
arrow: true
|
|
185
192
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -234,7 +241,7 @@ function CategoricalItem(_ref) {
|
|
|
234
241
|
y: "0",
|
|
235
242
|
width: "10",
|
|
236
243
|
height: "10",
|
|
237
|
-
fill:
|
|
244
|
+
fill: "rgb(".concat(getColor({
|
|
238
245
|
value: (code - min) / (max - min),
|
|
239
246
|
categorical: true,
|
|
240
247
|
grayOut: isOmitted,
|
|
@@ -242,7 +249,7 @@ function CategoricalItem(_ref) {
|
|
|
242
249
|
alpha: 1
|
|
243
250
|
},
|
|
244
251
|
colorEncoding: "obs"
|
|
245
|
-
})
|
|
252
|
+
}), ")")
|
|
246
253
|
}))) : null))));
|
|
247
254
|
}
|
|
248
255
|
function CategoricalObs(_ref2) {
|
|
@@ -262,6 +269,7 @@ function CategoricalObs(_ref2) {
|
|
|
262
269
|
const obsHistograms = useObsHistogram(obs);
|
|
263
270
|
const filteredObsData = useFilteredObsData(obs);
|
|
264
271
|
const getDataAtIndex = (0, _react.useCallback)(index => {
|
|
272
|
+
var _obsHistograms$fetche;
|
|
265
273
|
return {
|
|
266
274
|
value: obs.values[index],
|
|
267
275
|
code: obs.codes[obs.values[index]],
|
|
@@ -272,7 +280,7 @@ function CategoricalObs(_ref2) {
|
|
|
272
280
|
isOmitted: _lodash.default.includes(obs.omit, obs.codes[obs.values[index]]),
|
|
273
281
|
label: obs.values[index],
|
|
274
282
|
histogramData: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? {
|
|
275
|
-
data: obsHistograms.fetchedData
|
|
283
|
+
data: (_obsHistograms$fetche = obsHistograms.fetchedData) === null || _obsHistograms$fetche === void 0 ? void 0 : _obsHistograms$fetche[obs.values[index]],
|
|
276
284
|
isPending: obsHistograms.isPending,
|
|
277
285
|
altColor: isSliced
|
|
278
286
|
} : {
|
|
@@ -280,12 +288,12 @@ function CategoricalObs(_ref2) {
|
|
|
280
288
|
isPending: false
|
|
281
289
|
},
|
|
282
290
|
filteredStats: {
|
|
283
|
-
value_counts: filteredObsData
|
|
284
|
-
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
|
|
285
293
|
},
|
|
286
294
|
isSliced: isSliced
|
|
287
295
|
};
|
|
288
|
-
}, [settings.colorEncoding, filteredObsData
|
|
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]);
|
|
289
297
|
showColor &= settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS;
|
|
290
298
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
|
|
291
299
|
variant: "flush",
|
|
@@ -348,9 +356,9 @@ function ObsContinuousStats(_ref3) {
|
|
|
348
356
|
},
|
|
349
357
|
xAxis: {
|
|
350
358
|
data: fetchedData.kde_values[0],
|
|
351
|
-
valueFormatter: v =>
|
|
359
|
+
valueFormatter: v => "".concat((0, _string.formatNumerical)(v, _string.FORMATS.EXPONENTIAL))
|
|
352
360
|
},
|
|
353
|
-
valueFormatter: v =>
|
|
361
|
+
valueFormatter: v => "".concat((0, _string.formatNumerical)(v, _string.FORMATS.EXPONENTIAL)),
|
|
354
362
|
slotProps: {
|
|
355
363
|
popper: {
|
|
356
364
|
className: "feature-histogram-tooltip"
|
|
@@ -395,8 +403,8 @@ function ContinuousObs(_ref4) {
|
|
|
395
403
|
isOmitted: _lodash.default.includes(obs.omit, obs.codes[obs.values[index]]),
|
|
396
404
|
label: isNaN(obs.values[index]) ? "NaN" : getContinuousLabel(obs.codes[obs.values[index]], obs.bins.binEdges),
|
|
397
405
|
filteredStats: {
|
|
398
|
-
value_counts: filteredObsData
|
|
399
|
-
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
|
|
400
408
|
},
|
|
401
409
|
isSliced: isSliced
|
|
402
410
|
};
|