@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
|
@@ -11,8 +11,12 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
12
12
|
var _constants = require("../constants/constants");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
function
|
|
15
|
-
function
|
|
14
|
+
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
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
19
|
+
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); }
|
|
16
20
|
const SettingsContext = exports.SettingsContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
17
21
|
const SettingsDispatchContext = exports.SettingsDispatchContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
18
22
|
const initialSettings = {
|
|
@@ -78,7 +82,7 @@ function SettingsProvider(_ref2) {
|
|
|
78
82
|
canOverrideSettings,
|
|
79
83
|
children
|
|
80
84
|
} = _ref2;
|
|
81
|
-
const DATASET_STORAGE_KEY =
|
|
85
|
+
const DATASET_STORAGE_KEY = "".concat(_constants.LOCAL_STORAGE_KEY, "-").concat(dataset_url);
|
|
82
86
|
// Use localStorage directly instead of useLocalStorage due to unnecessary re-renders
|
|
83
87
|
// https://github.com/uidotdev/usehooks/issues/157
|
|
84
88
|
const localSettings = JSON.parse(localStorage.getItem(DATASET_STORAGE_KEY)) || {};
|
|
@@ -116,133 +120,118 @@ function settingsReducer(settings, action) {
|
|
|
116
120
|
switch (action.type) {
|
|
117
121
|
case "select.obs":
|
|
118
122
|
{
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
var _action$obs;
|
|
124
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
121
125
|
selectedObs: action.obs,
|
|
122
|
-
controls: {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
},
|
|
126
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
127
|
+
range: ((_action$obs = action.obs) === null || _action$obs === void 0 ? void 0 : _action$obs.type) === _constants.OBS_TYPES.CATEGORICAL ? [0, 1] : settings.controls.range
|
|
128
|
+
}),
|
|
126
129
|
colorEncoding: settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && !action.obs ? null : settings.colorEncoding,
|
|
127
|
-
sliceBy: {
|
|
128
|
-
...settings.sliceBy,
|
|
130
|
+
sliceBy: _objectSpread(_objectSpread({}, settings.sliceBy), {}, {
|
|
129
131
|
obs: action.obs ? settings.sliceBy.obs : false
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
+
})
|
|
133
|
+
});
|
|
132
134
|
}
|
|
133
135
|
case "select.obsm":
|
|
134
136
|
{
|
|
135
|
-
return {
|
|
136
|
-
...settings,
|
|
137
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
137
138
|
selectedObsm: action.obsm
|
|
138
|
-
};
|
|
139
|
+
});
|
|
139
140
|
}
|
|
140
141
|
case "select.var":
|
|
141
142
|
{
|
|
142
143
|
if (settings.vars.find(v => _lodash.default.isEqual(v, action.var))) {
|
|
143
|
-
return {
|
|
144
|
-
...settings,
|
|
144
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
145
145
|
selectedVar: action.var
|
|
146
|
-
};
|
|
146
|
+
});
|
|
147
147
|
} else {
|
|
148
|
-
return {
|
|
149
|
-
...settings,
|
|
148
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
150
149
|
selectedVar: action.var,
|
|
151
150
|
vars: [...settings.vars, action.var]
|
|
152
|
-
};
|
|
151
|
+
});
|
|
153
152
|
}
|
|
154
153
|
}
|
|
155
154
|
case "select.multivar":
|
|
156
155
|
{
|
|
157
156
|
const vars = settings.vars.find(v => _lodash.default.isEqual(v, action.var)) ? settings.vars : [...settings.vars, action.var];
|
|
158
157
|
if (settings.selectedMultiVar.find(v => _lodash.default.isEqual(v, action.var))) {
|
|
159
|
-
return {
|
|
160
|
-
...settings,
|
|
158
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
161
159
|
vars: vars
|
|
162
|
-
};
|
|
160
|
+
});
|
|
163
161
|
} else {
|
|
164
|
-
return {
|
|
165
|
-
...settings,
|
|
162
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
166
163
|
selectedMultiVar: [...settings.selectedMultiVar, action.var],
|
|
167
164
|
vars: vars
|
|
168
|
-
};
|
|
165
|
+
});
|
|
169
166
|
}
|
|
170
167
|
}
|
|
171
168
|
case "deselect.multivar":
|
|
172
169
|
{
|
|
173
|
-
return {
|
|
174
|
-
...settings,
|
|
170
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
175
171
|
selectedMultiVar: settings.selectedMultiVar.filter(v => v !== action.var.name)
|
|
176
|
-
};
|
|
172
|
+
});
|
|
177
173
|
}
|
|
178
174
|
case "toggle.multivar":
|
|
179
175
|
{
|
|
180
176
|
const inMultiVar = settings.selectedMultiVar.some(v => v.name === action.var.name);
|
|
181
177
|
if (inMultiVar) {
|
|
182
|
-
return {
|
|
183
|
-
...settings,
|
|
178
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
184
179
|
selectedMultiVar: settings.selectedMultiVar.filter(v => v.name !== action.var.name)
|
|
185
|
-
};
|
|
180
|
+
});
|
|
186
181
|
} else {
|
|
187
|
-
return {
|
|
188
|
-
...settings,
|
|
182
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
189
183
|
selectedMultiVar: [...settings.selectedMultiVar, action.var]
|
|
190
|
-
};
|
|
184
|
+
});
|
|
191
185
|
}
|
|
192
186
|
}
|
|
193
187
|
case "set.colorEncoding":
|
|
194
188
|
{
|
|
195
|
-
return {
|
|
196
|
-
...settings,
|
|
189
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
197
190
|
colorEncoding: action.value
|
|
198
|
-
};
|
|
191
|
+
});
|
|
199
192
|
}
|
|
200
193
|
case "reset.vars":
|
|
201
194
|
{
|
|
202
|
-
return {
|
|
203
|
-
...settings,
|
|
195
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
204
196
|
vars: [],
|
|
205
197
|
selectedVar: null,
|
|
206
198
|
selectedMultiVar: []
|
|
207
|
-
};
|
|
199
|
+
});
|
|
208
200
|
}
|
|
209
201
|
case "reset.multiVar":
|
|
210
202
|
{
|
|
211
|
-
return {
|
|
212
|
-
...settings,
|
|
203
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
213
204
|
selectedMultiVar: [],
|
|
214
205
|
colorEncoding: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? null : settings.colorEncoding
|
|
215
|
-
};
|
|
206
|
+
});
|
|
216
207
|
}
|
|
217
208
|
case "reset.var":
|
|
218
209
|
{
|
|
219
|
-
return {
|
|
220
|
-
...settings,
|
|
210
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
221
211
|
selectedVar: null,
|
|
222
212
|
colorEncoding: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? null : settings.colorEncoding
|
|
223
|
-
};
|
|
213
|
+
});
|
|
224
214
|
}
|
|
225
215
|
case "add.var":
|
|
226
216
|
{
|
|
227
217
|
if (settings.vars.find(v => v.name === action.var.name)) {
|
|
228
218
|
return settings;
|
|
229
219
|
} else {
|
|
230
|
-
return {
|
|
231
|
-
...settings,
|
|
220
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
232
221
|
vars: [...settings.vars, action.var]
|
|
233
|
-
};
|
|
222
|
+
});
|
|
234
223
|
}
|
|
235
224
|
}
|
|
236
225
|
case "remove.var":
|
|
237
226
|
{
|
|
238
|
-
|
|
227
|
+
var _settings$selectedVar;
|
|
228
|
+
const selectedVar = ((_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.name) === action.var.name ? null : settings.selectedVar;
|
|
239
229
|
const selectedMultiVar = settings.selectedMultiVar.filter(v => v.name !== action.var.name);
|
|
240
|
-
return {
|
|
241
|
-
...settings,
|
|
230
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
242
231
|
vars: settings.vars.filter(a => a.name !== action.var.name),
|
|
243
232
|
selectedVar: selectedVar,
|
|
244
233
|
selectedMultiVar: selectedMultiVar
|
|
245
|
-
};
|
|
234
|
+
});
|
|
246
235
|
}
|
|
247
236
|
case "add.varSet.var":
|
|
248
237
|
{
|
|
@@ -253,37 +242,34 @@ function settingsReducer(settings, action) {
|
|
|
253
242
|
if (varSet.vars.some(v => v.name === action.var.name)) {
|
|
254
243
|
return settings;
|
|
255
244
|
} else {
|
|
245
|
+
var _settings$selectedVar2;
|
|
256
246
|
const varSetVars = [...varSet.vars, action.var];
|
|
257
247
|
const vars = settings.vars.map(v => {
|
|
258
248
|
if (v.name === varSet.name) {
|
|
259
|
-
return {
|
|
260
|
-
...v,
|
|
249
|
+
return _objectSpread(_objectSpread({}, v), {}, {
|
|
261
250
|
vars: varSetVars
|
|
262
|
-
};
|
|
251
|
+
});
|
|
263
252
|
} else {
|
|
264
253
|
return v;
|
|
265
254
|
}
|
|
266
255
|
});
|
|
267
|
-
const selectedVar = settings.selectedVar
|
|
268
|
-
...varSet,
|
|
256
|
+
const selectedVar = ((_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name) === action.varSet.name ? _objectSpread(_objectSpread({}, varSet), {}, {
|
|
269
257
|
vars: varSetVars
|
|
270
|
-
} : settings.selectedVar;
|
|
258
|
+
}) : settings.selectedVar;
|
|
271
259
|
const selectedMultiVar = settings.selectedMultiVar.map(v => {
|
|
272
260
|
if (v.name === varSet.name) {
|
|
273
|
-
return {
|
|
274
|
-
...v,
|
|
261
|
+
return _objectSpread(_objectSpread({}, v), {}, {
|
|
275
262
|
vars: varSetVars
|
|
276
|
-
};
|
|
263
|
+
});
|
|
277
264
|
} else {
|
|
278
265
|
return v;
|
|
279
266
|
}
|
|
280
267
|
});
|
|
281
|
-
return {
|
|
282
|
-
...settings,
|
|
268
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
283
269
|
vars: vars,
|
|
284
270
|
selectedVar: selectedVar,
|
|
285
271
|
selectedMultiVar: selectedMultiVar
|
|
286
|
-
};
|
|
272
|
+
});
|
|
287
273
|
}
|
|
288
274
|
}
|
|
289
275
|
case "remove.varSet.var":
|
|
@@ -298,306 +284,252 @@ function settingsReducer(settings, action) {
|
|
|
298
284
|
const varSetVars = varSet.vars.filter(v => v.name !== action.var.name);
|
|
299
285
|
const vars = settings.vars.map(v => {
|
|
300
286
|
if (v.name === varSet.name) {
|
|
301
|
-
return {
|
|
302
|
-
...v,
|
|
287
|
+
return _objectSpread(_objectSpread({}, v), {}, {
|
|
303
288
|
vars: varSetVars
|
|
304
|
-
};
|
|
289
|
+
});
|
|
305
290
|
} else {
|
|
306
291
|
return v;
|
|
307
292
|
}
|
|
308
293
|
});
|
|
309
294
|
// Remove from selected if varSet vars is empty
|
|
310
295
|
if (!varSetVars.length) {
|
|
311
|
-
|
|
296
|
+
var _settings$selectedVar3;
|
|
297
|
+
const selectedVar = ((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.name) === action.varSet.name ? null : settings.selectedVar;
|
|
312
298
|
const selectedMultiVar = settings.selectedMultiVar.filter(v => v.name !== action.varSet.name);
|
|
313
|
-
return {
|
|
314
|
-
...settings,
|
|
299
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
315
300
|
vars: vars,
|
|
316
301
|
selectedVar: selectedVar,
|
|
317
302
|
selectedMultiVar: selectedMultiVar
|
|
318
|
-
};
|
|
303
|
+
});
|
|
319
304
|
} else {
|
|
305
|
+
var _settings$selectedVar4;
|
|
320
306
|
// Update selected if varSet is selected
|
|
321
|
-
const selectedVar = settings.selectedVar
|
|
322
|
-
...varSet,
|
|
307
|
+
const selectedVar = ((_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.name) === action.varSet.name ? _objectSpread(_objectSpread({}, varSet), {}, {
|
|
323
308
|
vars: varSetVars
|
|
324
|
-
} : settings.selectedVar;
|
|
309
|
+
}) : settings.selectedVar;
|
|
325
310
|
const selectedMultiVar = settings.selectedMultiVar.map(v => {
|
|
326
311
|
if (v.name === varSet.name) {
|
|
327
|
-
return {
|
|
328
|
-
...v,
|
|
312
|
+
return _objectSpread(_objectSpread({}, v), {}, {
|
|
329
313
|
vars: varSetVars
|
|
330
|
-
};
|
|
314
|
+
});
|
|
331
315
|
} else {
|
|
332
316
|
return v;
|
|
333
317
|
}
|
|
334
318
|
});
|
|
335
|
-
return {
|
|
336
|
-
...settings,
|
|
319
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
337
320
|
vars: vars,
|
|
338
321
|
selectedVar: selectedVar,
|
|
339
322
|
selectedMultiVar: selectedMultiVar
|
|
340
|
-
};
|
|
323
|
+
});
|
|
341
324
|
}
|
|
342
325
|
}
|
|
343
326
|
}
|
|
344
327
|
case "set.controls.colorScale":
|
|
345
328
|
{
|
|
346
|
-
return {
|
|
347
|
-
|
|
348
|
-
controls: {
|
|
349
|
-
...settings.controls,
|
|
329
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
330
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
350
331
|
colorScale: action.colorScale
|
|
351
|
-
}
|
|
352
|
-
};
|
|
332
|
+
})
|
|
333
|
+
});
|
|
353
334
|
}
|
|
354
335
|
case "set.controls.valueRange":
|
|
355
336
|
{
|
|
356
|
-
return {
|
|
357
|
-
|
|
358
|
-
controls: {
|
|
359
|
-
...settings.controls,
|
|
337
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
338
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
360
339
|
valueRange: action.valueRange
|
|
361
|
-
}
|
|
362
|
-
};
|
|
340
|
+
})
|
|
341
|
+
});
|
|
363
342
|
}
|
|
364
343
|
case "set.controls.range":
|
|
365
344
|
{
|
|
366
|
-
return {
|
|
367
|
-
|
|
368
|
-
controls: {
|
|
369
|
-
...settings.controls,
|
|
345
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
346
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
370
347
|
range: action.range
|
|
371
|
-
}
|
|
372
|
-
};
|
|
348
|
+
})
|
|
349
|
+
});
|
|
373
350
|
}
|
|
374
351
|
case "set.controls.colorAxis":
|
|
375
352
|
{
|
|
376
|
-
return {
|
|
377
|
-
|
|
378
|
-
controls: {
|
|
379
|
-
...settings.controls,
|
|
353
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
354
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
380
355
|
colorAxis: action.colorAxis
|
|
381
|
-
}
|
|
382
|
-
};
|
|
356
|
+
})
|
|
357
|
+
});
|
|
383
358
|
}
|
|
384
359
|
case "set.controls.colorAxis.crange":
|
|
385
360
|
{
|
|
386
|
-
return {
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
...settings.controls,
|
|
390
|
-
colorAxis: {
|
|
391
|
-
...settings.controls.colorAxis,
|
|
361
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
362
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
363
|
+
colorAxis: _objectSpread(_objectSpread({}, settings.controls.colorAxis), {}, {
|
|
392
364
|
cmin: action.cmin,
|
|
393
365
|
cmax: action.cmax
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
};
|
|
366
|
+
})
|
|
367
|
+
})
|
|
368
|
+
});
|
|
397
369
|
}
|
|
398
370
|
case "set.controls.colorAxis.cmin":
|
|
399
371
|
{
|
|
400
|
-
return {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
...settings.controls,
|
|
404
|
-
colorAxis: {
|
|
405
|
-
...settings.controls.colorAxis,
|
|
372
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
373
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
374
|
+
colorAxis: _objectSpread(_objectSpread({}, settings.controls.colorAxis), {}, {
|
|
406
375
|
cmin: action.cmin
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
};
|
|
376
|
+
})
|
|
377
|
+
})
|
|
378
|
+
});
|
|
410
379
|
}
|
|
411
380
|
case "set.controls.colorAxis.cmax":
|
|
412
381
|
{
|
|
413
|
-
return {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
...settings.controls,
|
|
417
|
-
colorAxis: {
|
|
418
|
-
...settings.controls.colorAxis,
|
|
382
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
383
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
384
|
+
colorAxis: _objectSpread(_objectSpread({}, settings.controls.colorAxis), {}, {
|
|
419
385
|
cmax: action.cmax
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
};
|
|
386
|
+
})
|
|
387
|
+
})
|
|
388
|
+
});
|
|
423
389
|
}
|
|
424
390
|
case "set.controls.scale":
|
|
425
391
|
{
|
|
426
|
-
return {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
...settings.controls,
|
|
430
|
-
scale: {
|
|
431
|
-
...settings.controls.scale,
|
|
392
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
393
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
394
|
+
scale: _objectSpread(_objectSpread({}, settings.controls.scale), {}, {
|
|
432
395
|
[action.plot]: action.scale
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
};
|
|
396
|
+
})
|
|
397
|
+
})
|
|
398
|
+
});
|
|
436
399
|
}
|
|
437
400
|
case "set.controls.meanOnlyExpressed":
|
|
438
401
|
{
|
|
439
|
-
return {
|
|
440
|
-
|
|
441
|
-
controls: {
|
|
442
|
-
...settings.controls,
|
|
402
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
403
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
443
404
|
meanOnlyExpressed: action.meanOnlyExpressed
|
|
444
|
-
}
|
|
445
|
-
};
|
|
405
|
+
})
|
|
406
|
+
});
|
|
446
407
|
}
|
|
447
408
|
case "set.controls.expressionCutoff":
|
|
448
409
|
{
|
|
449
|
-
return {
|
|
450
|
-
|
|
451
|
-
controls: {
|
|
452
|
-
...settings.controls,
|
|
410
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
411
|
+
controls: _objectSpread(_objectSpread({}, settings.controls), {}, {
|
|
453
412
|
expressionCutoff: action.expressionCutoff
|
|
454
|
-
}
|
|
455
|
-
};
|
|
413
|
+
})
|
|
414
|
+
});
|
|
456
415
|
}
|
|
457
416
|
case "toggle.slice.obs":
|
|
458
417
|
{
|
|
459
418
|
if (_lodash.default.isEqual(settings.selectedObs, action.obs)) {
|
|
460
|
-
return {
|
|
461
|
-
|
|
462
|
-
sliceBy: {
|
|
463
|
-
...settings.sliceBy,
|
|
419
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
420
|
+
sliceBy: _objectSpread(_objectSpread({}, settings.sliceBy), {}, {
|
|
464
421
|
obs: !settings.sliceBy.obs
|
|
465
|
-
}
|
|
466
|
-
};
|
|
422
|
+
})
|
|
423
|
+
});
|
|
467
424
|
} else {
|
|
468
|
-
return {
|
|
469
|
-
...settings,
|
|
425
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
470
426
|
selectedObs: action.obs,
|
|
471
|
-
sliceBy: {
|
|
472
|
-
...settings.sliceBy,
|
|
427
|
+
sliceBy: _objectSpread(_objectSpread({}, settings.sliceBy), {}, {
|
|
473
428
|
obs: true
|
|
474
|
-
}
|
|
475
|
-
};
|
|
429
|
+
})
|
|
430
|
+
});
|
|
476
431
|
}
|
|
477
432
|
}
|
|
478
433
|
case "toggle.slice.polygons":
|
|
479
434
|
{
|
|
480
|
-
return {
|
|
481
|
-
|
|
482
|
-
sliceBy: {
|
|
483
|
-
...settings.sliceBy,
|
|
435
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
436
|
+
sliceBy: _objectSpread(_objectSpread({}, settings.sliceBy), {}, {
|
|
484
437
|
polygons: !settings.sliceBy.polygons
|
|
485
|
-
}
|
|
486
|
-
};
|
|
438
|
+
})
|
|
439
|
+
});
|
|
487
440
|
}
|
|
488
441
|
case "disable.slice.polygons":
|
|
489
442
|
{
|
|
490
|
-
return {
|
|
491
|
-
|
|
492
|
-
sliceBy: {
|
|
493
|
-
...settings.sliceBy,
|
|
443
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
444
|
+
sliceBy: _objectSpread(_objectSpread({}, settings.sliceBy), {}, {
|
|
494
445
|
polygons: false
|
|
495
|
-
}
|
|
496
|
-
};
|
|
446
|
+
})
|
|
447
|
+
});
|
|
497
448
|
}
|
|
498
449
|
case "add.label.obs":
|
|
499
450
|
{
|
|
500
451
|
if (settings.labelObs.find(i => _lodash.default.isEqual(i, action.obs))) {
|
|
501
452
|
return settings;
|
|
502
453
|
} else {
|
|
503
|
-
return {
|
|
504
|
-
...settings,
|
|
454
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
505
455
|
labelObs: [...settings.labelObs, action.obs]
|
|
506
|
-
};
|
|
456
|
+
});
|
|
507
457
|
}
|
|
508
458
|
}
|
|
509
459
|
case "remove.label.obs":
|
|
510
460
|
{
|
|
511
|
-
return {
|
|
512
|
-
...settings,
|
|
461
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
513
462
|
labelObs: settings.labelObs.filter(a => a.name !== action.obsName)
|
|
514
|
-
};
|
|
463
|
+
});
|
|
515
464
|
}
|
|
516
465
|
case "reset.label.obs":
|
|
517
466
|
{
|
|
518
|
-
return {
|
|
519
|
-
...settings,
|
|
467
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
520
468
|
labelObs: []
|
|
521
|
-
};
|
|
469
|
+
});
|
|
522
470
|
}
|
|
523
471
|
case "set.varSort":
|
|
524
472
|
{
|
|
525
|
-
return {
|
|
526
|
-
|
|
527
|
-
varSort: {
|
|
528
|
-
...settings.varSort,
|
|
473
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
474
|
+
varSort: _objectSpread(_objectSpread({}, settings.varSort), {}, {
|
|
529
475
|
[action.var]: {
|
|
530
476
|
sort: action.sort,
|
|
531
477
|
sortOrder: action.sortOrder
|
|
532
478
|
}
|
|
533
|
-
}
|
|
534
|
-
};
|
|
479
|
+
})
|
|
480
|
+
});
|
|
535
481
|
}
|
|
536
482
|
case "set.varSort.sort":
|
|
537
483
|
{
|
|
538
|
-
return {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
...settings.varSort,
|
|
542
|
-
[action.var]: {
|
|
543
|
-
...settings.varSort[action.var],
|
|
484
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
485
|
+
varSort: _objectSpread(_objectSpread({}, settings.varSort), {}, {
|
|
486
|
+
[action.var]: _objectSpread(_objectSpread({}, settings.varSort[action.var]), {}, {
|
|
544
487
|
sort: action.sort
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
};
|
|
488
|
+
})
|
|
489
|
+
})
|
|
490
|
+
});
|
|
548
491
|
}
|
|
549
492
|
case "set.varSort.sortOrder":
|
|
550
493
|
{
|
|
551
|
-
return {
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
...settings.varSort,
|
|
555
|
-
[action.var]: {
|
|
556
|
-
...settings.varSort[action.var],
|
|
494
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
495
|
+
varSort: _objectSpread(_objectSpread({}, settings.varSort), {}, {
|
|
496
|
+
[action.var]: _objectSpread(_objectSpread({}, settings.varSort[action.var]), {}, {
|
|
557
497
|
sortOrder: action.sortOrder
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
};
|
|
498
|
+
})
|
|
499
|
+
})
|
|
500
|
+
});
|
|
561
501
|
}
|
|
562
502
|
case "set.polygons":
|
|
563
503
|
{
|
|
564
|
-
return {
|
|
565
|
-
|
|
566
|
-
polygons: {
|
|
567
|
-
...settings.polygons,
|
|
504
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
505
|
+
polygons: _objectSpread(_objectSpread({}, settings.polygons), {}, {
|
|
568
506
|
[action.obsm]: action.polygons
|
|
569
|
-
}
|
|
570
|
-
};
|
|
507
|
+
})
|
|
508
|
+
});
|
|
571
509
|
}
|
|
572
510
|
case "set.pseudospatial.maskSet":
|
|
573
511
|
{
|
|
574
|
-
return {
|
|
575
|
-
|
|
576
|
-
pseudospatial: {
|
|
577
|
-
...settings.pseudospatial,
|
|
512
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
513
|
+
pseudospatial: _objectSpread(_objectSpread({}, settings.pseudospatial), {}, {
|
|
578
514
|
maskSet: action.maskSet
|
|
579
|
-
}
|
|
580
|
-
};
|
|
515
|
+
})
|
|
516
|
+
});
|
|
581
517
|
}
|
|
582
518
|
case "set.pseudospatial.maskValues":
|
|
583
519
|
{
|
|
584
|
-
return {
|
|
585
|
-
|
|
586
|
-
pseudospatial: {
|
|
587
|
-
...settings.pseudospatial,
|
|
520
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
521
|
+
pseudospatial: _objectSpread(_objectSpread({}, settings.pseudospatial), {}, {
|
|
588
522
|
maskValues: action.maskValues
|
|
589
|
-
}
|
|
590
|
-
};
|
|
523
|
+
})
|
|
524
|
+
});
|
|
591
525
|
}
|
|
592
526
|
case "set.pseudospatial.categoricalMode":
|
|
593
527
|
{
|
|
594
|
-
return {
|
|
595
|
-
|
|
596
|
-
pseudospatial: {
|
|
597
|
-
...settings.pseudospatial,
|
|
528
|
+
return _objectSpread(_objectSpread({}, settings), {}, {
|
|
529
|
+
pseudospatial: _objectSpread(_objectSpread({}, settings.pseudospatial), {}, {
|
|
598
530
|
categoricalMode: action.categoricalMode
|
|
599
|
-
}
|
|
600
|
-
};
|
|
531
|
+
})
|
|
532
|
+
});
|
|
601
533
|
}
|
|
602
534
|
default:
|
|
603
535
|
{
|