@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
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.SingleSelectionItem = SingleSelectionItem;
|
|
6
|
+
exports.SelectionItem = SelectionItem;
|
|
8
7
|
exports.VarDiseaseInfo = VarDiseaseInfo;
|
|
9
8
|
exports.VarItem = VarItem;
|
|
10
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -19,10 +18,14 @@ var _FilterContext = require("../../context/FilterContext");
|
|
|
19
18
|
var _SettingsContext = require("../../context/SettingsContext");
|
|
20
19
|
var _Histogram = require("../../utils/Histogram");
|
|
21
20
|
var _requests = require("../../utils/requests");
|
|
22
|
-
var _VirtualizedList = require("../../utils/VirtualizedList");
|
|
23
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
|
-
function
|
|
25
|
-
function
|
|
22
|
+
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); }
|
|
23
|
+
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); }
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
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; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
28
|
+
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
29
|
function VarHistogram(_ref) {
|
|
27
30
|
let {
|
|
28
31
|
item
|
|
@@ -43,10 +46,9 @@ function VarHistogram(_ref) {
|
|
|
43
46
|
});
|
|
44
47
|
(0, _react.useEffect)(() => {
|
|
45
48
|
setParams(p => {
|
|
46
|
-
return {
|
|
47
|
-
...p,
|
|
49
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
48
50
|
obsIndices: isSliced ? [...(obsIndices || [])] : null
|
|
49
|
-
};
|
|
51
|
+
});
|
|
50
52
|
});
|
|
51
53
|
}, [obsIndices, isSliced]);
|
|
52
54
|
const {
|
|
@@ -85,23 +87,23 @@ function VarDiseaseInfo(_ref2) {
|
|
|
85
87
|
let {
|
|
86
88
|
data
|
|
87
89
|
} = _ref2;
|
|
88
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
});
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
|
|
91
|
+
className: "feature-disease-info-list"
|
|
92
|
+
}, data.map(item => {
|
|
93
|
+
return /*#__PURE__*/_react.default.createElement(VarDiseaseInfoItem, _extends({
|
|
94
|
+
key: item.disease_id
|
|
95
|
+
}, item));
|
|
96
|
+
}));
|
|
95
97
|
}
|
|
96
|
-
function
|
|
98
|
+
function SelectionItem(_ref3) {
|
|
97
99
|
let {
|
|
98
100
|
item,
|
|
99
101
|
isActive,
|
|
100
102
|
selectVar,
|
|
101
103
|
removeVar,
|
|
102
|
-
isDiseaseGene = false,
|
|
103
104
|
showSetColorEncoding = true,
|
|
104
|
-
showRemove = true
|
|
105
|
+
showRemove = true,
|
|
106
|
+
isMultiple = false
|
|
105
107
|
} = _ref3;
|
|
106
108
|
const ENDPOINT = "disease/gene";
|
|
107
109
|
const [openInfo, setOpenInfo] = (0, _react.useState)(false);
|
|
@@ -119,9 +121,9 @@ function SingleSelectionItem(_ref3) {
|
|
|
119
121
|
refetchOnMount: false,
|
|
120
122
|
enabled: !!dataset.diseaseDatasets.length
|
|
121
123
|
});
|
|
122
|
-
const hasDiseaseInfo = !isPending && !serverError && !!fetchedData
|
|
124
|
+
const hasDiseaseInfo = !isPending && !serverError && !!(fetchedData !== null && fetchedData !== void 0 && fetchedData.length);
|
|
123
125
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
124
|
-
className:
|
|
126
|
+
className: "d-flex justify-content-between ".concat(hasDiseaseInfo ? "cursor-pointer" : ""),
|
|
125
127
|
onClick: () => {
|
|
126
128
|
setOpenInfo(o => !o);
|
|
127
129
|
}
|
|
@@ -129,7 +131,7 @@ function SingleSelectionItem(_ref3) {
|
|
|
129
131
|
className: "d-flex justify-content-between align-items-center w-100"
|
|
130
132
|
}, /*#__PURE__*/_react.default.createElement("div", null, item.name), /*#__PURE__*/_react.default.createElement("div", {
|
|
131
133
|
className: "d-flex align-items-center gap-1"
|
|
132
|
-
}, hasDiseaseInfo && /*#__PURE__*/_react.default.createElement(_iconsMaterial.MoreVert, null),
|
|
134
|
+
}, hasDiseaseInfo && /*#__PURE__*/_react.default.createElement(_iconsMaterial.MoreVert, null), /*#__PURE__*/_react.default.createElement(VarHistogram, {
|
|
133
135
|
item: item
|
|
134
136
|
}), showSetColorEncoding && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
135
137
|
type: "button",
|
|
@@ -144,7 +146,11 @@ function SingleSelectionItem(_ref3) {
|
|
|
144
146
|
title: isNotInData ? "Not present in data" : "Set as color encoding"
|
|
145
147
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
146
148
|
icon: _freeSolidSvgIcons.faDroplet
|
|
147
|
-
})
|
|
149
|
+
}), isMultiple && /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
150
|
+
icon: _freeSolidSvgIcons.faPlus,
|
|
151
|
+
size: "xs",
|
|
152
|
+
className: "ps-xs-1"
|
|
153
|
+
})), showRemove && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
148
154
|
type: "button",
|
|
149
155
|
className: "m-0 p-0 px-1",
|
|
150
156
|
variant: "outline-secondary",
|
|
@@ -163,34 +169,12 @@ function SingleSelectionItem(_ref3) {
|
|
|
163
169
|
data: fetchedData
|
|
164
170
|
}))));
|
|
165
171
|
}
|
|
166
|
-
function
|
|
167
|
-
let {
|
|
168
|
-
item,
|
|
169
|
-
isActive,
|
|
170
|
-
toggleVar
|
|
171
|
-
} = _ref4;
|
|
172
|
-
const isNotInData = item.matrix_index === -1;
|
|
173
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
174
|
-
className: "d-flex"
|
|
175
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
176
|
-
className: "flex-grow-1"
|
|
177
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
178
|
-
type: "button",
|
|
179
|
-
key: item.matrix_index,
|
|
180
|
-
variant: isActive ? "primary" : "outline-primary",
|
|
181
|
-
className: "m-0 p-0 px-1",
|
|
182
|
-
onClick: toggleVar,
|
|
183
|
-
disabled: isNotInData,
|
|
184
|
-
title: isNotInData ? "Not present in data" : item.name
|
|
185
|
-
}, item.name))));
|
|
186
|
-
}
|
|
187
|
-
function VarItem(_ref5) {
|
|
172
|
+
function VarItem(_ref4) {
|
|
188
173
|
let {
|
|
189
174
|
item,
|
|
190
175
|
active,
|
|
191
|
-
mode = _constants.SELECTION_MODES.SINGLE
|
|
192
|
-
|
|
193
|
-
} = _ref5;
|
|
176
|
+
mode = _constants.SELECTION_MODES.SINGLE
|
|
177
|
+
} = _ref4;
|
|
194
178
|
const settings = (0, _SettingsContext.useSettings)();
|
|
195
179
|
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
196
180
|
const selectVar = () => {
|
|
@@ -241,88 +225,21 @@ function VarItem(_ref5) {
|
|
|
241
225
|
});
|
|
242
226
|
};
|
|
243
227
|
if (item && mode === _constants.SELECTION_MODES.SINGLE) {
|
|
244
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
228
|
+
return /*#__PURE__*/_react.default.createElement(SelectionItem, {
|
|
245
229
|
item: item,
|
|
246
230
|
isActive: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR && active === item.matrix_index,
|
|
247
231
|
selectVar: selectVar,
|
|
248
|
-
removeVar: removeVar
|
|
249
|
-
isDiseaseGene: isDiseaseGene
|
|
232
|
+
removeVar: removeVar
|
|
250
233
|
});
|
|
251
234
|
} else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
|
|
252
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
235
|
+
return /*#__PURE__*/_react.default.createElement(SelectionItem, {
|
|
253
236
|
item: item,
|
|
254
237
|
isActive: item.matrix_index !== -1 && _lodash.default.includes(active, item.matrix_index),
|
|
255
|
-
|
|
238
|
+
selectVar: toggleVar,
|
|
239
|
+
removeVar: removeVar,
|
|
240
|
+
isMultiple: true
|
|
256
241
|
});
|
|
257
242
|
} else {
|
|
258
243
|
return null;
|
|
259
244
|
}
|
|
260
|
-
}
|
|
261
|
-
function SearchResultItem(_ref6) {
|
|
262
|
-
let {
|
|
263
|
-
item,
|
|
264
|
-
isActive,
|
|
265
|
-
selectVar,
|
|
266
|
-
removeVar,
|
|
267
|
-
isDiseaseGene = false,
|
|
268
|
-
showSetColorEncoding = true,
|
|
269
|
-
showRemove = true
|
|
270
|
-
} = _ref6;
|
|
271
|
-
const ENDPOINT = "disease/gene";
|
|
272
|
-
const [openInfo, setOpenInfo] = (0, _react.useState)(false);
|
|
273
|
-
const dataset = (0, _DatasetContext.useDataset)();
|
|
274
|
-
const params = {
|
|
275
|
-
geneName: item.name,
|
|
276
|
-
diseaseDatasets: dataset.diseaseDatasets
|
|
277
|
-
};
|
|
278
|
-
const isNotInData = item.matrix_index === -1;
|
|
279
|
-
const {
|
|
280
|
-
fetchedData,
|
|
281
|
-
isPending,
|
|
282
|
-
serverError
|
|
283
|
-
} = (0, _requests.useFetch)(ENDPOINT, params, {
|
|
284
|
-
refetchOnMount: false,
|
|
285
|
-
enabled: !!dataset.diseaseDatasets.length
|
|
286
|
-
});
|
|
287
|
-
const hasDiseaseInfo = !isPending && !serverError && !!fetchedData?.length;
|
|
288
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
289
|
-
className: `d-flex justify-content-between ${hasDiseaseInfo ? "cursor-pointer" : ""}`,
|
|
290
|
-
onClick: () => {
|
|
291
|
-
setOpenInfo(o => !o);
|
|
292
|
-
}
|
|
293
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
294
|
-
className: "d-flex justify-content-between align-items-center w-100"
|
|
295
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, item.name), /*#__PURE__*/_react.default.createElement("div", {
|
|
296
|
-
className: "d-flex align-items-center gap-1"
|
|
297
|
-
}, hasDiseaseInfo && /*#__PURE__*/_react.default.createElement(_iconsMaterial.MoreVert, null), showSetColorEncoding && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
298
|
-
type: "button",
|
|
299
|
-
key: item.matrix_index,
|
|
300
|
-
variant: isActive ? "primary" : isNotInData ? "outline-secondary" : "outline-primary",
|
|
301
|
-
className: "m-0 p-0 px-1",
|
|
302
|
-
onClick: e => {
|
|
303
|
-
e.stopPropagation();
|
|
304
|
-
selectVar();
|
|
305
|
-
},
|
|
306
|
-
disabled: isNotInData,
|
|
307
|
-
title: isNotInData ? "Not present in data" : "Set as color encoding"
|
|
308
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
309
|
-
icon: _freeSolidSvgIcons.faDroplet
|
|
310
|
-
})), (!isDiseaseGene || !showRemove) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
311
|
-
type: "button",
|
|
312
|
-
className: "m-0 p-0 px-1",
|
|
313
|
-
variant: "outline-secondary",
|
|
314
|
-
title: "Remove from list",
|
|
315
|
-
onClick: e => {
|
|
316
|
-
e.stopPropagation();
|
|
317
|
-
removeVar();
|
|
318
|
-
}
|
|
319
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
320
|
-
icon: _freeSolidSvgIcons.faTrash
|
|
321
|
-
}))))), hasDiseaseInfo && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Collapse, {
|
|
322
|
-
in: openInfo
|
|
323
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
324
|
-
className: "mt-2 var-disease-info-collapse"
|
|
325
|
-
}, /*#__PURE__*/_react.default.createElement(VarDiseaseInfo, {
|
|
326
|
-
data: fetchedData
|
|
327
|
-
}))));
|
|
328
245
|
}
|
|
@@ -19,8 +19,12 @@ var _SettingsContext = require("../../context/SettingsContext");
|
|
|
19
19
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
20
20
|
var _requests = require("../../utils/requests");
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
-
function
|
|
23
|
-
function
|
|
22
|
+
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); }
|
|
23
|
+
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; }
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
27
|
+
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); }
|
|
24
28
|
const useVarMean = function (varKeys) {
|
|
25
29
|
let enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
26
30
|
const ENDPOINT = "matrix/mean";
|
|
@@ -36,13 +40,12 @@ const useVarMean = function (varKeys) {
|
|
|
36
40
|
});
|
|
37
41
|
(0, _react.useEffect)(() => {
|
|
38
42
|
setParams(p => {
|
|
39
|
-
return {
|
|
40
|
-
...p,
|
|
43
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
41
44
|
varKeys: _lodash.default.map(varKeys, v => v.isSet ? {
|
|
42
45
|
name: v.name,
|
|
43
46
|
indices: v.vars.map(v => v.index)
|
|
44
47
|
} : v.index)
|
|
45
|
-
};
|
|
48
|
+
});
|
|
46
49
|
});
|
|
47
50
|
}, [varKeys]);
|
|
48
51
|
return (0, _requests.useFetch)(ENDPOINT, params, {
|
|
@@ -56,17 +59,19 @@ const sortMeans = (i, means) => {
|
|
|
56
59
|
return means[i.name] || _lodash.default.min(_lodash.default.values(means)) - 1;
|
|
57
60
|
};
|
|
58
61
|
function VarNamesList(_ref) {
|
|
62
|
+
var _settings$selectedVar, _settings$selectedVar2;
|
|
59
63
|
let {
|
|
60
64
|
mode = _constants.SELECTION_MODES.SINGLE,
|
|
61
65
|
displayName = "genes"
|
|
62
66
|
} = _ref;
|
|
63
67
|
const settings = (0, _SettingsContext.useSettings)();
|
|
64
68
|
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
65
|
-
const [active, setActive] = (0, _react.useState)(mode === _constants.SELECTION_MODES.SINGLE ? settings.selectedVar
|
|
69
|
+
const [active, setActive] = (0, _react.useState)(mode === _constants.SELECTION_MODES.SINGLE ? ((_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.matrix_index) || ((_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name) : settings.selectedMultiVar.map(i => i.matrix_index || i.name));
|
|
66
70
|
const [sortedVars, setSortedVars] = (0, _react.useState)([]);
|
|
67
71
|
(0, _react.useEffect)(() => {
|
|
68
72
|
if (mode === _constants.SELECTION_MODES.SINGLE) {
|
|
69
|
-
|
|
73
|
+
var _settings$selectedVar3, _settings$selectedVar4;
|
|
74
|
+
setActive(((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.matrix_index) || ((_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.name));
|
|
70
75
|
}
|
|
71
76
|
}, [mode, settings.selectedVar]);
|
|
72
77
|
(0, _react.useEffect)(() => {
|
|
@@ -90,15 +95,13 @@ function VarNamesList(_ref) {
|
|
|
90
95
|
setSortedVars(settings.vars);
|
|
91
96
|
}
|
|
92
97
|
}, [settings.varSort.var.sort, settings.varSort.var.sortOrder, varMeans.isPending, varMeans.serverError, varMeans.fetchedData, settings.vars]);
|
|
93
|
-
const makeListItem =
|
|
94
|
-
let isDiseaseGene = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
98
|
+
const makeListItem = item => {
|
|
95
99
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
96
100
|
key: item.matrix_index
|
|
97
101
|
}, /*#__PURE__*/_react.default.createElement(_VarItem.VarItem, {
|
|
98
102
|
item: item,
|
|
99
103
|
active: active,
|
|
100
|
-
mode: mode
|
|
101
|
-
isDiseaseGene: isDiseaseGene
|
|
104
|
+
mode: mode
|
|
102
105
|
}));
|
|
103
106
|
};
|
|
104
107
|
const makeSetListItem = set => {
|
|
@@ -119,13 +122,13 @@ function VarNamesList(_ref) {
|
|
|
119
122
|
});
|
|
120
123
|
const newSetName = () => {
|
|
121
124
|
let n = 1;
|
|
122
|
-
let setName =
|
|
125
|
+
let setName = "Set ".concat(n);
|
|
123
126
|
const nameExists = name => {
|
|
124
127
|
return settings.vars.some(v => v.name === name);
|
|
125
128
|
};
|
|
126
129
|
while (nameExists(setName)) {
|
|
127
130
|
n++;
|
|
128
|
-
setName =
|
|
131
|
+
setName = "Set ".concat(n);
|
|
129
132
|
}
|
|
130
133
|
return setName;
|
|
131
134
|
};
|
|
@@ -10,8 +10,7 @@ var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
|
10
10
|
var _reactBootstrap = require("react-bootstrap");
|
|
11
11
|
var _constants = require("../../constants/constants");
|
|
12
12
|
var _SettingsContext = require("../../context/SettingsContext");
|
|
13
|
-
function
|
|
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; }
|
|
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); }
|
|
15
14
|
// @TODO: set option for "var" and "disease"
|
|
16
15
|
function VarListToolbar(_ref) {
|
|
17
16
|
let {
|
|
@@ -14,8 +14,7 @@ var _constants = require("../../constants/constants");
|
|
|
14
14
|
var _SettingsContext = require("../../context/SettingsContext");
|
|
15
15
|
var _SearchBar = require("../search-bar/SearchBar");
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function
|
|
18
|
-
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; }
|
|
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); }
|
|
19
18
|
// @TODO: add button to score genes and plot
|
|
20
19
|
|
|
21
20
|
const addVarToSet = (dispatch, set, v) => {
|
|
@@ -25,13 +24,14 @@ const addVarToSet = (dispatch, set, v) => {
|
|
|
25
24
|
var: v
|
|
26
25
|
});
|
|
27
26
|
};
|
|
28
|
-
function
|
|
27
|
+
function SelectionSet(_ref) {
|
|
29
28
|
let {
|
|
30
29
|
set,
|
|
31
30
|
isActive,
|
|
32
31
|
selectSet,
|
|
33
32
|
removeSet,
|
|
34
|
-
removeSetVar
|
|
33
|
+
removeSetVar,
|
|
34
|
+
isMultiple = false
|
|
35
35
|
} = _ref;
|
|
36
36
|
const [openSet, setOpenSet] = (0, _react.useState)(false);
|
|
37
37
|
const [showModal, setShowModal] = (0, _react.useState)(false);
|
|
@@ -39,7 +39,7 @@ function SingleSelectionSet(_ref) {
|
|
|
39
39
|
const varList = set.vars.length ? _lodash.default.map(set.vars, v => {
|
|
40
40
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
41
41
|
key: v.name
|
|
42
|
-
}, /*#__PURE__*/_react.default.createElement(_VarItem.
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement(_VarItem.SelectionItem, {
|
|
43
43
|
item: v,
|
|
44
44
|
showSetColorEncoding: false,
|
|
45
45
|
removeVar: () => removeSetVar(v)
|
|
@@ -95,6 +95,10 @@ function SingleSelectionSet(_ref) {
|
|
|
95
95
|
title: "Set as color encoding"
|
|
96
96
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
97
97
|
icon: _freeSolidSvgIcons.faDroplet
|
|
98
|
+
}), isMultiple && /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
99
|
+
icon: _freeSolidSvgIcons.faPlus,
|
|
100
|
+
size: "xs",
|
|
101
|
+
className: "ps-xs-1"
|
|
98
102
|
})), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
99
103
|
type: "button",
|
|
100
104
|
className: "m-0 p-0 px-1",
|
|
@@ -126,31 +130,12 @@ function SingleSelectionSet(_ref) {
|
|
|
126
130
|
searchDiseases: false
|
|
127
131
|
}));
|
|
128
132
|
}
|
|
129
|
-
function
|
|
130
|
-
let {
|
|
131
|
-
set,
|
|
132
|
-
isActive,
|
|
133
|
-
toggleSet
|
|
134
|
-
} = _ref2;
|
|
135
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
136
|
-
className: "d-flex"
|
|
137
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
-
className: "flex-grow-1"
|
|
139
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
140
|
-
type: "button",
|
|
141
|
-
key: set.name,
|
|
142
|
-
variant: isActive ? "primary" : "outline-primary",
|
|
143
|
-
className: "m-0 p-0 px-1",
|
|
144
|
-
onClick: toggleSet,
|
|
145
|
-
title: set.name
|
|
146
|
-
}, set.name))));
|
|
147
|
-
}
|
|
148
|
-
function VarSet(_ref3) {
|
|
133
|
+
function VarSet(_ref2) {
|
|
149
134
|
let {
|
|
150
135
|
set,
|
|
151
136
|
active,
|
|
152
137
|
mode = _constants.SELECTION_MODES.SINGLE
|
|
153
|
-
} =
|
|
138
|
+
} = _ref2;
|
|
154
139
|
const settings = (0, _SettingsContext.useSettings)();
|
|
155
140
|
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
156
141
|
const selectSet = () => {
|
|
@@ -204,7 +189,7 @@ function VarSet(_ref3) {
|
|
|
204
189
|
});
|
|
205
190
|
};
|
|
206
191
|
if (set && mode === _constants.SELECTION_MODES.SINGLE) {
|
|
207
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
192
|
+
return /*#__PURE__*/_react.default.createElement(SelectionSet, {
|
|
208
193
|
set: set,
|
|
209
194
|
isActive: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR && active === set.name,
|
|
210
195
|
selectSet: selectSet,
|
|
@@ -212,10 +197,13 @@ function VarSet(_ref3) {
|
|
|
212
197
|
removeSetVar: v => removeSetVar(v)
|
|
213
198
|
});
|
|
214
199
|
} else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
|
|
215
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
200
|
+
return /*#__PURE__*/_react.default.createElement(SelectionSet, {
|
|
216
201
|
set: set,
|
|
217
202
|
isActive: _lodash.default.includes(active, set.name),
|
|
218
|
-
|
|
203
|
+
selectSet: toggleSet,
|
|
204
|
+
removeSet: removeSet,
|
|
205
|
+
removeSetVar: v => removeSetVar(v),
|
|
206
|
+
isMultiple: true
|
|
219
207
|
});
|
|
220
208
|
} else {
|
|
221
209
|
return null;
|
|
@@ -17,9 +17,14 @@ var _SettingsContext = require("../../context/SettingsContext");
|
|
|
17
17
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
18
18
|
var _requests = require("../../utils/requests");
|
|
19
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
|
-
function
|
|
21
|
-
function
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
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; }
|
|
24
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
25
|
+
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); }
|
|
22
26
|
function Violin(_ref) {
|
|
27
|
+
var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3, _settings$selectedVar4, _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
|
|
23
28
|
let {
|
|
24
29
|
mode = _constants.VIOLIN_MODES.MULTIKEY
|
|
25
30
|
} = _ref;
|
|
@@ -33,30 +38,32 @@ function Violin(_ref) {
|
|
|
33
38
|
const [data, setData] = (0, _react.useState)([]);
|
|
34
39
|
const [layout, setLayout] = (0, _react.useState)({});
|
|
35
40
|
const [hasSelections, setHasSelections] = (0, _react.useState)(false);
|
|
36
|
-
const [params, setParams] = (0, _react.useState)({
|
|
41
|
+
const [params, setParams] = (0, _react.useState)(_objectSpread({
|
|
37
42
|
url: dataset.url,
|
|
38
43
|
mode: mode,
|
|
39
44
|
scale: settings.controls.scale.violinplot.value,
|
|
40
|
-
varNamesCol: dataset.varNamesCol
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
45
|
+
varNamesCol: dataset.varNamesCol
|
|
46
|
+
}, {
|
|
47
|
+
[_constants.VIOLIN_MODES.MULTIKEY]: {
|
|
48
|
+
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
49
|
+
name: i.name,
|
|
50
|
+
indices: i.vars.map(v => v.index)
|
|
51
|
+
} : i.index),
|
|
52
|
+
obsKeys: [] // @TODO: implement
|
|
53
|
+
},
|
|
54
|
+
[_constants.VIOLIN_MODES.GROUPBY]: {
|
|
55
|
+
varKey: (_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet ? {
|
|
56
|
+
name: (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name,
|
|
57
|
+
indices: (_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars.map(v => v.index)
|
|
58
|
+
} : (_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.index,
|
|
59
|
+
obsCol: settings.selectedObs,
|
|
60
|
+
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 => {
|
|
61
|
+
var _settings$selectedObs4;
|
|
62
|
+
return (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.codesMap[c];
|
|
63
|
+
}),
|
|
64
|
+
obsIndices: isSliced ? [...(obsIndices || [])] : null
|
|
65
|
+
}
|
|
66
|
+
}[mode]));
|
|
60
67
|
// @TODO: set default scale
|
|
61
68
|
|
|
62
69
|
(0, _react.useEffect)(() => {
|
|
@@ -67,8 +74,7 @@ function Violin(_ref) {
|
|
|
67
74
|
setHasSelections(false);
|
|
68
75
|
}
|
|
69
76
|
setParams(p => {
|
|
70
|
-
return {
|
|
71
|
-
...p,
|
|
77
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
72
78
|
url: dataset.url,
|
|
73
79
|
mode: mode,
|
|
74
80
|
varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
|
|
@@ -77,7 +83,7 @@ function Violin(_ref) {
|
|
|
77
83
|
} : i.index),
|
|
78
84
|
scale: settings.controls.scale.violinplot.value,
|
|
79
85
|
varNamesCol: dataset.varNamesCol
|
|
80
|
-
};
|
|
86
|
+
});
|
|
81
87
|
});
|
|
82
88
|
} else if (mode === _constants.VIOLIN_MODES.GROUPBY) {
|
|
83
89
|
if (settings.selectedObs && settings.selectedVar) {
|
|
@@ -86,20 +92,23 @@ function Violin(_ref) {
|
|
|
86
92
|
setHasSelections(false);
|
|
87
93
|
}
|
|
88
94
|
setParams(p => {
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
var _settings$selectedVar5, _settings$selectedVar6, _settings$selectedVar7, _settings$selectedVar8, _settings$selectedObs5, _settings$selectedObs6, _settings$selectedObs7;
|
|
96
|
+
return _objectSpread(_objectSpread({}, p), {}, {
|
|
91
97
|
url: dataset.url,
|
|
92
98
|
mode: mode,
|
|
93
|
-
varKey: settings.selectedVar
|
|
94
|
-
name: settings.selectedVar
|
|
95
|
-
indices: settings.selectedVar
|
|
96
|
-
} : settings.selectedVar
|
|
99
|
+
varKey: (_settings$selectedVar5 = settings.selectedVar) !== null && _settings$selectedVar5 !== void 0 && _settings$selectedVar5.isSet ? {
|
|
100
|
+
name: (_settings$selectedVar6 = settings.selectedVar) === null || _settings$selectedVar6 === void 0 ? void 0 : _settings$selectedVar6.name,
|
|
101
|
+
indices: (_settings$selectedVar7 = settings.selectedVar) === null || _settings$selectedVar7 === void 0 ? void 0 : _settings$selectedVar7.vars.map(v => v.index)
|
|
102
|
+
} : (_settings$selectedVar8 = settings.selectedVar) === null || _settings$selectedVar8 === void 0 ? void 0 : _settings$selectedVar8.index,
|
|
97
103
|
obsCol: settings.selectedObs,
|
|
98
|
-
obsValues: !settings.selectedObs
|
|
104
|
+
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 => {
|
|
105
|
+
var _settings$selectedObs8;
|
|
106
|
+
return (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.codesMap[c];
|
|
107
|
+
}),
|
|
99
108
|
obsIndices: isSliced ? [...(obsIndices || [])] : null,
|
|
100
109
|
scale: settings.controls.scale.violinplot.value,
|
|
101
110
|
varNamesCol: dataset.varNamesCol
|
|
102
|
-
};
|
|
111
|
+
});
|
|
103
112
|
});
|
|
104
113
|
}
|
|
105
114
|
}, [settings.controls.scale.violinplot.value, settings.selectedMultiVar, settings.selectedObs, settings.selectedVar, dataset.url, dataset.varNamesCol, obsIndices, isSliced, mode]);
|
|
@@ -128,7 +137,7 @@ function Violin(_ref) {
|
|
|
128
137
|
maxWidth: "100%",
|
|
129
138
|
maxHeight: "100%"
|
|
130
139
|
}
|
|
131
|
-
}), fetchedData
|
|
140
|
+
}), (fetchedData === null || fetchedData === void 0 ? void 0 : fetchedData.resampled) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
132
141
|
variant: "warning"
|
|
133
142
|
}, /*#__PURE__*/_react.default.createElement("b", null, "Warning:"), " For performance reasons this plot was generated with resampled data. It will not be exactly the same as one produced with the entire dataset. \xA0", /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
134
143
|
placement: "top",
|