@haniffalab/cherita-react 1.2.0 → 1.3.0-dev.2025-05-29.ee7e9b72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/controls/Controls.js +60 -0
- package/dist/cjs/components/dotplot/Dotplot.js +47 -38
- package/dist/cjs/components/dotplot/DotplotControls.js +77 -114
- package/dist/cjs/components/full-page/FullPage.js +29 -33
- package/dist/cjs/components/full-page/FullPagePseudospatial.js +30 -33
- package/dist/cjs/components/heatmap/Heatmap.js +33 -22
- package/dist/cjs/components/heatmap/HeatmapControls.js +2 -19
- package/dist/cjs/components/matrixplot/Matrixplot.js +35 -24
- package/dist/cjs/components/matrixplot/MatrixplotControls.js +4 -34
- package/dist/cjs/components/obs-list/ObsItem.js +63 -51
- package/dist/cjs/components/obs-list/ObsList.js +53 -48
- package/dist/cjs/components/obsm-list/ObsmList.js +17 -12
- package/dist/cjs/components/offcanvas/index.js +14 -11
- package/dist/cjs/components/pseudospatial/Pseudospatial.js +78 -68
- package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +27 -21
- package/dist/cjs/components/scatterplot/Scatterplot.js +82 -76
- package/dist/cjs/components/scatterplot/ScatterplotControls.js +18 -31
- package/dist/cjs/components/scatterplot/SpatialControls.js +53 -23
- package/dist/cjs/components/scatterplot/Toolbox.js +1 -18
- package/dist/cjs/components/search-bar/SearchBar.js +156 -59
- package/dist/cjs/components/search-bar/SearchInfo.js +182 -0
- package/dist/cjs/components/search-bar/SearchResults.js +90 -60
- package/dist/cjs/components/var-list/VarItem.js +52 -75
- package/dist/cjs/components/var-list/VarList.js +47 -172
- package/dist/cjs/components/var-list/VarListToolbar.js +7 -8
- package/dist/cjs/components/var-list/VarSet.js +66 -57
- package/dist/cjs/components/violin/Violin.js +54 -43
- package/dist/cjs/components/violin/ViolinControls.js +4 -20
- package/dist/cjs/context/DatasetContext.js +26 -513
- package/dist/cjs/context/FilterContext.js +9 -8
- package/dist/cjs/context/SettingsContext.js +539 -0
- package/dist/cjs/context/ZarrDataContext.js +1 -2
- package/dist/cjs/helpers/color-helper.js +8 -8
- package/dist/cjs/helpers/zarr-helper.js +19 -16
- package/dist/cjs/utils/Filter.js +25 -21
- package/dist/cjs/utils/Histogram.js +4 -3
- package/dist/cjs/utils/ImageViewer.js +1 -2
- package/dist/cjs/utils/Legend.js +18 -12
- package/dist/cjs/utils/LoadingIndicators.js +1 -1
- package/dist/cjs/utils/VirtualizedList.js +16 -13
- package/dist/cjs/utils/errors.js +20 -22
- package/dist/cjs/utils/requests.js +13 -10
- package/dist/cjs/utils/zarrData.js +31 -50
- package/dist/css/cherita.css +84 -24
- package/dist/css/cherita.css.map +1 -1
- package/dist/esm/components/controls/Controls.js +51 -0
- package/dist/esm/components/dotplot/Dotplot.js +47 -37
- package/dist/esm/components/dotplot/DotplotControls.js +77 -112
- package/dist/esm/components/full-page/FullPage.js +29 -32
- package/dist/esm/components/full-page/FullPagePseudospatial.js +30 -32
- package/dist/esm/components/heatmap/Heatmap.js +32 -20
- package/dist/esm/components/heatmap/HeatmapControls.js +3 -20
- package/dist/esm/components/matrixplot/Matrixplot.js +34 -22
- package/dist/esm/components/matrixplot/MatrixplotControls.js +5 -35
- package/dist/esm/components/obs-list/ObsItem.js +63 -49
- package/dist/esm/components/obs-list/ObsList.js +53 -47
- package/dist/esm/components/obsm-list/ObsmList.js +17 -11
- package/dist/esm/components/offcanvas/index.js +14 -11
- package/dist/esm/components/pseudospatial/Pseudospatial.js +77 -66
- package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +27 -20
- package/dist/esm/components/scatterplot/Scatterplot.js +81 -74
- package/dist/esm/components/scatterplot/ScatterplotControls.js +18 -29
- package/dist/esm/components/scatterplot/SpatialControls.js +54 -23
- package/dist/esm/components/scatterplot/Toolbox.js +1 -18
- package/dist/esm/components/search-bar/SearchBar.js +156 -59
- package/dist/esm/components/search-bar/SearchInfo.js +173 -0
- package/dist/esm/components/search-bar/SearchResults.js +91 -60
- package/dist/esm/components/var-list/VarItem.js +53 -76
- package/dist/esm/components/var-list/VarList.js +47 -171
- package/dist/esm/components/var-list/VarListToolbar.js +6 -6
- package/dist/esm/components/var-list/VarSet.js +67 -57
- package/dist/esm/components/violin/Violin.js +53 -41
- package/dist/esm/components/violin/ViolinControls.js +5 -21
- package/dist/esm/context/DatasetContext.js +25 -510
- package/dist/esm/context/FilterContext.js +8 -6
- package/dist/esm/context/SettingsContext.js +528 -0
- package/dist/esm/helpers/color-helper.js +8 -8
- package/dist/esm/helpers/zarr-helper.js +19 -16
- package/dist/esm/utils/Filter.js +25 -21
- package/dist/esm/utils/Histogram.js +4 -3
- package/dist/esm/utils/Legend.js +17 -10
- package/dist/esm/utils/LoadingIndicators.js +1 -1
- package/dist/esm/utils/VirtualizedList.js +15 -11
- package/dist/esm/utils/errors.js +20 -22
- package/dist/esm/utils/requests.js +13 -10
- package/dist/esm/utils/zarrData.js +33 -51
- package/package.json +6 -3
- package/scss/cherita.scss +50 -9
- package/scss/components/layouts.scss +24 -13
- package/scss/components/lists.scss +10 -0
- package/scss/components/plots.scss +3 -5
|
@@ -13,9 +13,11 @@ var _editModes = require("@nebula.gl/edit-modes");
|
|
|
13
13
|
var _layers2 = require("@nebula.gl/layers");
|
|
14
14
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
15
15
|
var _reactBootstrap = require("react-bootstrap");
|
|
16
|
+
var _SpatialControls = require("./SpatialControls");
|
|
17
|
+
var _Toolbox = require("./Toolbox");
|
|
16
18
|
var _constants = require("../../constants/constants");
|
|
17
|
-
var _DatasetContext = require("../../context/DatasetContext");
|
|
18
19
|
var _FilterContext = require("../../context/FilterContext");
|
|
20
|
+
var _SettingsContext = require("../../context/SettingsContext");
|
|
19
21
|
var _ZarrDataContext = require("../../context/ZarrDataContext");
|
|
20
22
|
var _colorHelper = require("../../helpers/color-helper");
|
|
21
23
|
var _mapHelper = require("../../helpers/map-helper");
|
|
@@ -23,11 +25,13 @@ var _Legend = require("../../utils/Legend");
|
|
|
23
25
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
24
26
|
var _string = require("../../utils/string");
|
|
25
27
|
var _zarrData = require("../../utils/zarrData");
|
|
26
|
-
var _SpatialControls = require("./SpatialControls");
|
|
27
|
-
var _Toolbox = require("./Toolbox");
|
|
28
28
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
|
-
function
|
|
30
|
-
function
|
|
29
|
+
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); }
|
|
30
|
+
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; }
|
|
31
|
+
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; }
|
|
32
|
+
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; }
|
|
33
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
34
|
+
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); }
|
|
31
35
|
window.deck.log.level = 1;
|
|
32
36
|
const INITIAL_VIEW_STATE = {
|
|
33
37
|
longitude: 0,
|
|
@@ -38,17 +42,21 @@ const INITIAL_VIEW_STATE = {
|
|
|
38
42
|
bearing: 0
|
|
39
43
|
};
|
|
40
44
|
function Scatterplot(_ref) {
|
|
45
|
+
var _settings$selectedObs3, _features$features2, _obsmData$serverError, _xData$serverError, _obsData$serverError, _labelObsData$serverE, _settings$selectedVar, _settings$selectedObs4, _obsmData$data;
|
|
41
46
|
let {
|
|
42
|
-
radius = 30
|
|
47
|
+
radius = 30,
|
|
48
|
+
setShowObs,
|
|
49
|
+
setShowVars,
|
|
50
|
+
isFullscreen = false
|
|
43
51
|
} = _ref;
|
|
44
|
-
const
|
|
52
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
45
53
|
const {
|
|
46
54
|
obsIndices,
|
|
47
55
|
valueMin,
|
|
48
56
|
valueMax,
|
|
49
57
|
slicedLength
|
|
50
58
|
} = (0, _FilterContext.useFilteredData)();
|
|
51
|
-
const dispatch = (0,
|
|
59
|
+
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
52
60
|
const {
|
|
53
61
|
getColor
|
|
54
62
|
} = (0, _colorHelper.useColor)();
|
|
@@ -66,7 +74,7 @@ function Scatterplot(_ref) {
|
|
|
66
74
|
const [mode, setMode] = (0, _react.useState)(() => _editModes.ViewMode);
|
|
67
75
|
const [features, setFeatures] = (0, _react.useState)({
|
|
68
76
|
type: "FeatureCollection",
|
|
69
|
-
features:
|
|
77
|
+
features: settings.polygons[settings.selectedObsm] || []
|
|
70
78
|
});
|
|
71
79
|
const [selectedFeatureIndexes, setSelectedFeatureIndexes] = (0, _react.useState)([]);
|
|
72
80
|
const {
|
|
@@ -79,12 +87,12 @@ function Scatterplot(_ref) {
|
|
|
79
87
|
|
|
80
88
|
(0, _react.useEffect)(() => {
|
|
81
89
|
if (!obsmData.isPending && !obsmData.serverError) {
|
|
90
|
+
var _deckRef$current, _deckRef$current2;
|
|
82
91
|
setIsRendering(true);
|
|
83
92
|
setData(d => {
|
|
84
|
-
return {
|
|
85
|
-
...d,
|
|
93
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
86
94
|
positions: obsmData.data
|
|
87
|
-
};
|
|
95
|
+
});
|
|
88
96
|
});
|
|
89
97
|
const mapHelper = new _mapHelper.MapHelper();
|
|
90
98
|
const {
|
|
@@ -92,35 +100,34 @@ function Scatterplot(_ref) {
|
|
|
92
100
|
longitude,
|
|
93
101
|
zoom
|
|
94
102
|
} = mapHelper.fitBounds(obsmData.data, {
|
|
95
|
-
width: deckRef
|
|
96
|
-
height: deckRef
|
|
103
|
+
width: deckRef === null || deckRef === void 0 || (_deckRef$current = deckRef.current) === null || _deckRef$current === void 0 || (_deckRef$current = _deckRef$current.deck) === null || _deckRef$current === void 0 ? void 0 : _deckRef$current.width,
|
|
104
|
+
height: deckRef === null || deckRef === void 0 || (_deckRef$current2 = deckRef.current) === null || _deckRef$current2 === void 0 || (_deckRef$current2 = _deckRef$current2.deck) === null || _deckRef$current2 === void 0 ? void 0 : _deckRef$current2.height
|
|
97
105
|
});
|
|
98
106
|
setViewState(v => {
|
|
99
|
-
return {
|
|
100
|
-
...v,
|
|
107
|
+
return _objectSpread(_objectSpread({}, v), {}, {
|
|
101
108
|
longitude: longitude,
|
|
102
109
|
latitude: latitude,
|
|
103
110
|
zoom: zoom
|
|
104
|
-
};
|
|
111
|
+
});
|
|
105
112
|
});
|
|
106
113
|
} else if (!obsmData.isPending && obsmData.serverError) {
|
|
107
114
|
setIsRendering(true);
|
|
108
115
|
setData(d => {
|
|
109
|
-
return {
|
|
110
|
-
...d,
|
|
116
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
111
117
|
positions: []
|
|
112
|
-
};
|
|
118
|
+
});
|
|
113
119
|
});
|
|
114
120
|
}
|
|
115
|
-
}, [
|
|
121
|
+
}, [settings.selectedObsm, obsmData.data, obsmData.isPending, obsmData.serverError]);
|
|
116
122
|
const getBounds = (0, _react.useCallback)(() => {
|
|
123
|
+
var _deckRef$current3, _deckRef$current4;
|
|
117
124
|
const {
|
|
118
125
|
latitude,
|
|
119
126
|
longitude,
|
|
120
127
|
zoom
|
|
121
128
|
} = new _mapHelper.MapHelper().fitBounds(data.positions, {
|
|
122
|
-
width: deckRef
|
|
123
|
-
height: deckRef
|
|
129
|
+
width: deckRef === null || deckRef === void 0 || (_deckRef$current3 = deckRef.current) === null || _deckRef$current3 === void 0 || (_deckRef$current3 = _deckRef$current3.deck) === null || _deckRef$current3 === void 0 ? void 0 : _deckRef$current3.width,
|
|
130
|
+
height: deckRef === null || deckRef === void 0 || (_deckRef$current4 = deckRef.current) === null || _deckRef$current4 === void 0 || (_deckRef$current4 = _deckRef$current4.deck) === null || _deckRef$current4 === void 0 ? void 0 : _deckRef$current4.height
|
|
124
131
|
});
|
|
125
132
|
return {
|
|
126
133
|
latitude,
|
|
@@ -129,69 +136,64 @@ function Scatterplot(_ref) {
|
|
|
129
136
|
};
|
|
130
137
|
}, [data.positions]);
|
|
131
138
|
(0, _react.useEffect)(() => {
|
|
132
|
-
if (
|
|
139
|
+
if (settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR) {
|
|
133
140
|
setIsRendering(true);
|
|
134
141
|
if (!xData.isPending && !xData.serverError) {
|
|
135
142
|
// @TODO: add condition to check obs slicing
|
|
136
143
|
setData(d => {
|
|
137
|
-
return {
|
|
138
|
-
...d,
|
|
144
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
139
145
|
values: xData.data
|
|
140
|
-
};
|
|
146
|
+
});
|
|
141
147
|
});
|
|
142
148
|
} else if (!xData.isPending && xData.serverError) {
|
|
143
149
|
setData(d => {
|
|
144
|
-
return {
|
|
145
|
-
...d,
|
|
150
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
146
151
|
values: []
|
|
147
|
-
};
|
|
152
|
+
});
|
|
148
153
|
});
|
|
149
154
|
}
|
|
150
155
|
}
|
|
151
|
-
}, [
|
|
156
|
+
}, [settings.colorEncoding, xData.data, xData.isPending, xData.serverError, getColor]);
|
|
152
157
|
(0, _react.useEffect)(() => {
|
|
153
|
-
if (
|
|
158
|
+
if (settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS) {
|
|
154
159
|
setIsRendering(true);
|
|
155
160
|
if (!obsData.isPending && !obsData.serverError) {
|
|
156
161
|
setData(d => {
|
|
157
|
-
return {
|
|
158
|
-
...d,
|
|
162
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
159
163
|
values: obsData.data
|
|
160
|
-
};
|
|
164
|
+
});
|
|
161
165
|
});
|
|
162
166
|
} else if (!obsData.isPending && obsData.serverError) {
|
|
163
167
|
setData(d => {
|
|
164
|
-
return {
|
|
165
|
-
...d,
|
|
168
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
166
169
|
values: []
|
|
167
|
-
};
|
|
170
|
+
});
|
|
168
171
|
});
|
|
169
172
|
}
|
|
170
|
-
} else if (
|
|
173
|
+
} else if (settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR && settings.sliceBy.obs) {
|
|
171
174
|
if (!obsData.isPending && !obsData.serverError) {
|
|
172
175
|
setData(d => {
|
|
173
|
-
return {
|
|
174
|
-
...d,
|
|
176
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
175
177
|
sliceValues: obsData.data
|
|
176
|
-
};
|
|
178
|
+
});
|
|
177
179
|
});
|
|
178
180
|
} else if (!obsData.isPending && obsData.serverError) {
|
|
179
181
|
setData(d => {
|
|
180
|
-
return {
|
|
181
|
-
...d,
|
|
182
|
+
return _objectSpread(_objectSpread({}, d), {}, {
|
|
182
183
|
sliceValues: []
|
|
183
|
-
};
|
|
184
|
+
});
|
|
184
185
|
});
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
|
-
}, [
|
|
188
|
+
}, [settings.colorEncoding, obsData.data, obsData.isPending, obsData.serverError, settings.sliceBy.obs]);
|
|
188
189
|
const isCategorical = (0, _react.useMemo)(() => {
|
|
189
|
-
if (
|
|
190
|
-
|
|
190
|
+
if (settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS) {
|
|
191
|
+
var _settings$selectedObs, _settings$selectedObs2;
|
|
192
|
+
return ((_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.type) === _constants.OBS_TYPES.CATEGORICAL || ((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.type) === _constants.OBS_TYPES.BOOLEAN;
|
|
191
193
|
} else {
|
|
192
194
|
return false;
|
|
193
195
|
}
|
|
194
|
-
}, [
|
|
196
|
+
}, [settings.colorEncoding, (_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.type]);
|
|
195
197
|
(0, _react.useEffect)(() => {
|
|
196
198
|
dispatch({
|
|
197
199
|
type: "set.controls.valueRange",
|
|
@@ -202,8 +204,8 @@ function Scatterplot(_ref) {
|
|
|
202
204
|
min,
|
|
203
205
|
max
|
|
204
206
|
} = {
|
|
205
|
-
min:
|
|
206
|
-
max:
|
|
207
|
+
min: settings.controls.range[0] * (valueMax - valueMin) + valueMin,
|
|
208
|
+
max: settings.controls.range[1] * (valueMax - valueMin) + valueMin
|
|
207
209
|
};
|
|
208
210
|
const getFillColor = (0, _react.useCallback)((_d, _ref2) => {
|
|
209
211
|
let {
|
|
@@ -277,19 +279,20 @@ function Scatterplot(_ref) {
|
|
|
277
279
|
const layers = (0, _react.useDeferredValue)(mode === _editModes.ViewMode ? memoizedLayers.reverse() : memoizedLayers); // draw scatterplot on top of polygons when in ViewMode
|
|
278
280
|
|
|
279
281
|
(0, _react.useEffect)(() => {
|
|
280
|
-
|
|
282
|
+
var _features$features;
|
|
283
|
+
if (!(features !== null && features !== void 0 && (_features$features = features.features) !== null && _features$features !== void 0 && _features$features.length)) {
|
|
281
284
|
dispatch({
|
|
282
285
|
type: "disable.slice.polygons"
|
|
283
286
|
});
|
|
284
287
|
}
|
|
285
|
-
}, [dispatch, features
|
|
288
|
+
}, [dispatch, features === null || features === void 0 || (_features$features2 = features.features) === null || _features$features2 === void 0 ? void 0 : _features$features2.length]);
|
|
286
289
|
(0, _react.useEffect)(() => {
|
|
287
290
|
dispatch({
|
|
288
291
|
type: "set.polygons",
|
|
289
|
-
obsm:
|
|
290
|
-
polygons: features
|
|
292
|
+
obsm: settings.selectedObsm,
|
|
293
|
+
polygons: (features === null || features === void 0 ? void 0 : features.features) || []
|
|
291
294
|
});
|
|
292
|
-
}, [
|
|
295
|
+
}, [settings.selectedObsm, dispatch, features.features]);
|
|
293
296
|
function onLayerClick(info) {
|
|
294
297
|
if (mode !== _editModes.ViewMode) {
|
|
295
298
|
// don't change selection while editing
|
|
@@ -300,9 +303,9 @@ function Scatterplot(_ref) {
|
|
|
300
303
|
const getLabel = function (o, v) {
|
|
301
304
|
let isVar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
302
305
|
if (isVar || o.type === _constants.OBS_TYPES.CONTINUOUS) {
|
|
303
|
-
return
|
|
306
|
+
return "".concat(o.name, ": ").concat((0, _string.formatNumerical)(parseFloat(v)));
|
|
304
307
|
} else {
|
|
305
|
-
return
|
|
308
|
+
return "".concat(o.name, ": ").concat(o.codesMap[v]);
|
|
306
309
|
}
|
|
307
310
|
};
|
|
308
311
|
const getTooltip = _ref5 => {
|
|
@@ -310,19 +313,21 @@ function Scatterplot(_ref) {
|
|
|
310
313
|
object,
|
|
311
314
|
index
|
|
312
315
|
} = _ref5;
|
|
313
|
-
if (!object || object
|
|
316
|
+
if (!object || (object === null || object === void 0 ? void 0 : object.type) === "Feature") return;
|
|
314
317
|
const text = [];
|
|
315
|
-
if (
|
|
316
|
-
name:
|
|
318
|
+
if (settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && settings.selectedObs && !_lodash.default.some(settings.labelObs, {
|
|
319
|
+
name: settings.selectedObs.name
|
|
317
320
|
})) {
|
|
318
|
-
|
|
321
|
+
var _obsData$data;
|
|
322
|
+
text.push(getLabel(settings.selectedObs, (_obsData$data = obsData.data) === null || _obsData$data === void 0 ? void 0 : _obsData$data[index]));
|
|
319
323
|
}
|
|
320
|
-
if (
|
|
321
|
-
|
|
324
|
+
if (settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR && settings.selectedVar) {
|
|
325
|
+
var _xData$data;
|
|
326
|
+
text.push(getLabel(settings.selectedVar, (_xData$data = xData.data) === null || _xData$data === void 0 ? void 0 : _xData$data[index], true));
|
|
322
327
|
}
|
|
323
|
-
if (
|
|
328
|
+
if (settings.labelObs.length) {
|
|
324
329
|
text.push(..._lodash.default.map(labelObsData.data, (v, k) => {
|
|
325
|
-
const labelObs = _lodash.default.find(
|
|
330
|
+
const labelObs = _lodash.default.find(settings.labelObs, o => o.name === k);
|
|
326
331
|
return getLabel(labelObs, v[index]);
|
|
327
332
|
}));
|
|
328
333
|
}
|
|
@@ -332,16 +337,16 @@ function Scatterplot(_ref) {
|
|
|
332
337
|
text: text.length ? _lodash.default.compact(text).join("\n") : null,
|
|
333
338
|
className: grayOut ? "tooltip-grayout" : "deck-tooltip",
|
|
334
339
|
style: !grayOut ? {
|
|
335
|
-
"border-left":
|
|
340
|
+
"border-left": "3px solid ".concat((0, _colorHelper.rgbToHex)(getFillColor(null, {
|
|
336
341
|
index
|
|
337
|
-
}))
|
|
342
|
+
})))
|
|
338
343
|
} : {
|
|
339
344
|
"border-left": "none"
|
|
340
345
|
}
|
|
341
346
|
};
|
|
342
347
|
};
|
|
343
348
|
const isPending = (isRendering || xData.isPending || obsmData.isPending) && !obsmData.isPending;
|
|
344
|
-
const error =
|
|
349
|
+
const error = settings.selectedObsm && ((_obsmData$serverError = obsmData.serverError) === null || _obsmData$serverError === void 0 ? void 0 : _obsmData$serverError.length) || settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR && ((_xData$serverError = xData.serverError) === null || _xData$serverError === void 0 ? void 0 : _xData$serverError.length) || settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && ((_obsData$serverError = obsData.serverError) === null || _obsData$serverError === void 0 ? void 0 : _obsData$serverError.length) || settings.labelObs.lengh && ((_labelObsData$serverE = labelObsData.serverError) === null || _labelObsData$serverE === void 0 ? void 0 : _labelObsData$serverE.length);
|
|
345
350
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
346
351
|
className: "cherita-container-scatterplot"
|
|
347
352
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -375,14 +380,15 @@ function Scatterplot(_ref) {
|
|
|
375
380
|
setFeatures: setFeatures,
|
|
376
381
|
selectedFeatureIndexes: selectedFeatureIndexes,
|
|
377
382
|
resetBounds: () => setViewState(getBounds()),
|
|
378
|
-
increaseZoom: () => setViewState(v => ({
|
|
379
|
-
...v,
|
|
383
|
+
increaseZoom: () => setViewState(v => _objectSpread(_objectSpread({}, v), {}, {
|
|
380
384
|
zoom: v.zoom + 1
|
|
381
385
|
})),
|
|
382
|
-
decreaseZoom: () => setViewState(v => ({
|
|
383
|
-
...v,
|
|
386
|
+
decreaseZoom: () => setViewState(v => _objectSpread(_objectSpread({}, v), {}, {
|
|
384
387
|
zoom: v.zoom - 1
|
|
385
|
-
}))
|
|
388
|
+
})),
|
|
389
|
+
setShowObs: setShowObs,
|
|
390
|
+
setShowVars: setShowVars,
|
|
391
|
+
isFullscreen: isFullscreen
|
|
386
392
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
387
393
|
className: "cherita-spatial-footer"
|
|
388
394
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -392,8 +398,8 @@ function Scatterplot(_ref) {
|
|
|
392
398
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
393
399
|
icon: _freeSolidSvgIcons.faTriangleExclamation
|
|
394
400
|
}), "\xA0Error loading data"), /*#__PURE__*/_react.default.createElement(_Toolbox.Toolbox, {
|
|
395
|
-
mode:
|
|
396
|
-
obsLength: parseInt(obsmData.data
|
|
401
|
+
mode: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? (_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.name : settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS ? (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.name : null,
|
|
402
|
+
obsLength: parseInt((_obsmData$data = obsmData.data) === null || _obsmData$data === void 0 ? void 0 : _obsmData$data.length),
|
|
397
403
|
slicedLength: parseInt(slicedLength)
|
|
398
404
|
})), /*#__PURE__*/_react.default.createElement(_Legend.Legend, {
|
|
399
405
|
isCategorical: isCategorical,
|
|
@@ -6,31 +6,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.ScatterplotControls = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _material = require("@mui/material");
|
|
9
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
9
|
var _reactBootstrap = require("react-bootstrap");
|
|
11
|
-
var _colorscales = require("../../constants/colorscales");
|
|
12
10
|
var _constants = require("../../constants/constants");
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
function
|
|
16
|
-
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; }
|
|
11
|
+
var _SettingsContext = require("../../context/SettingsContext");
|
|
12
|
+
var _Controls = require("../controls/Controls");
|
|
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); }
|
|
17
14
|
const ScatterplotControls = () => {
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
key: key,
|
|
24
|
-
active: dataset.controls.colorScale === key,
|
|
25
|
-
onClick: () => {
|
|
26
|
-
dispatch({
|
|
27
|
-
type: "set.controls.colorScale",
|
|
28
|
-
colorScale: key
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}, key));
|
|
15
|
+
var _settings$selectedObs;
|
|
16
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
17
|
+
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
18
|
+
const [sliderValue, setSliderValue] = _react.default.useState(settings.controls.range || [0, 1]);
|
|
19
|
+
const isCategorical = settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS ? ((_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.type) === _constants.OBS_TYPES.CATEGORICAL : false;
|
|
32
20
|
const valueLabelFormat = value => {
|
|
33
|
-
return (value * (
|
|
21
|
+
return (value * (settings.controls.valueRange[1] - settings.controls.valueRange[0]) + settings.controls.valueRange[0]).toFixed(2);
|
|
34
22
|
};
|
|
35
23
|
const marks = [{
|
|
36
24
|
value: 0,
|
|
@@ -50,14 +38,16 @@ const ScatterplotControls = () => {
|
|
|
50
38
|
});
|
|
51
39
|
};
|
|
52
40
|
(0, _react.useEffect)(() => {
|
|
53
|
-
setSliderValue(
|
|
54
|
-
}, [
|
|
41
|
+
setSliderValue(settings.controls.range);
|
|
42
|
+
}, [settings.controls.range]);
|
|
55
43
|
const rangeSlider = /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
56
44
|
className: "w-100"
|
|
57
45
|
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
58
46
|
id: "colorscale-range",
|
|
59
47
|
gutterBottom: true
|
|
60
|
-
}, "Colorscale range"), /*#__PURE__*/_react.default.createElement(
|
|
48
|
+
}, "Colorscale range"), /*#__PURE__*/_react.default.createElement("div", {
|
|
49
|
+
className: "px-4"
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Slider, {
|
|
61
51
|
"aria-labelledby": "colorscale-range",
|
|
62
52
|
min: 0,
|
|
63
53
|
max: 1,
|
|
@@ -70,12 +60,9 @@ const ScatterplotControls = () => {
|
|
|
70
60
|
valueLabelFormat: valueLabelFormat,
|
|
71
61
|
marks: marks,
|
|
72
62
|
disabled: isCategorical
|
|
73
|
-
}));
|
|
74
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}, dataset.controls.colorScale), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Menu, null, colormapList)), /*#__PURE__*/_react.default.createElement("div", {
|
|
78
|
-
className: "m-4"
|
|
79
|
-
}, rangeSlider));
|
|
63
|
+
})));
|
|
64
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form, null, /*#__PURE__*/_react.default.createElement(_Controls.ColorscaleSelect, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
65
|
+
className: "mb-2"
|
|
66
|
+
}, rangeSlider)));
|
|
80
67
|
};
|
|
81
68
|
exports.ScatterplotControls = ScatterplotControls;
|
|
@@ -8,17 +8,20 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
9
9
|
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
10
10
|
var _iconsMaterial = require("@mui/icons-material");
|
|
11
|
+
var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery"));
|
|
11
12
|
var _editModes = require("@nebula.gl/edit-modes");
|
|
13
|
+
var _reactBootstrap = require("react-bootstrap");
|
|
12
14
|
var _Button = _interopRequireDefault(require("react-bootstrap/Button"));
|
|
13
15
|
var _ButtonGroup = _interopRequireDefault(require("react-bootstrap/ButtonGroup"));
|
|
14
16
|
var _Dropdown = _interopRequireDefault(require("react-bootstrap/Dropdown"));
|
|
15
17
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
16
18
|
var _offcanvas = require("../offcanvas");
|
|
17
19
|
var _ScatterplotControls = require("./ScatterplotControls");
|
|
20
|
+
var _SettingsContext = require("../../context/SettingsContext");
|
|
18
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
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); }
|
|
21
23
|
function SpatialControls(_ref) {
|
|
24
|
+
var _features$features;
|
|
22
25
|
let {
|
|
23
26
|
mode,
|
|
24
27
|
setMode,
|
|
@@ -27,13 +30,20 @@ function SpatialControls(_ref) {
|
|
|
27
30
|
selectedFeatureIndexes,
|
|
28
31
|
resetBounds,
|
|
29
32
|
increaseZoom,
|
|
30
|
-
decreaseZoom
|
|
33
|
+
decreaseZoom,
|
|
34
|
+
setShowObs,
|
|
35
|
+
setShowVars,
|
|
36
|
+
isFullscreen
|
|
31
37
|
} = _ref;
|
|
32
|
-
const
|
|
33
|
-
const dispatch = (0,
|
|
38
|
+
const settings = (0, _SettingsContext.useSettings)();
|
|
39
|
+
const dispatch = (0, _SettingsContext.useSettingsDispatch)();
|
|
34
40
|
const [showControls, setShowControls] = (0, _react.useState)(false);
|
|
35
41
|
const handleCloseControls = () => setShowControls(false);
|
|
36
42
|
const handleShowControls = () => setShowControls(true);
|
|
43
|
+
const LgBreakpoint = (0, _useMediaQuery.default)("(max-width: 991.98px)");
|
|
44
|
+
const XlBreakpoint = (0, _useMediaQuery.default)("(max-width: 1199.98px)");
|
|
45
|
+
const showObsBtn = isFullscreen ? LgBreakpoint : true;
|
|
46
|
+
const showVarsBtn = isFullscreen ? XlBreakpoint : true;
|
|
37
47
|
const onSelect = (eventKey, event) => {
|
|
38
48
|
switch (eventKey) {
|
|
39
49
|
case "DrawPolygonMode":
|
|
@@ -62,7 +72,7 @@ function SpatialControls(_ref) {
|
|
|
62
72
|
});
|
|
63
73
|
};
|
|
64
74
|
const polygonControls = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
65
|
-
active:
|
|
75
|
+
active: settings.sliceBy.polygons,
|
|
66
76
|
title: "Filter data with polygons",
|
|
67
77
|
onClick: () => {
|
|
68
78
|
setMode(() => _editModes.ViewMode);
|
|
@@ -85,10 +95,37 @@ function SpatialControls(_ref) {
|
|
|
85
95
|
})));
|
|
86
96
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
87
97
|
className: "cherita-spatial-controls"
|
|
88
|
-
}, /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
|
|
98
|
+
}, (showObsBtn || showVarsBtn) && /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
|
|
89
99
|
vertical: true,
|
|
90
100
|
className: "w-100 mb-1"
|
|
101
|
+
}, showObsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
102
|
+
placement: "right",
|
|
103
|
+
overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
|
|
104
|
+
id: "tooltip-obs"
|
|
105
|
+
}, "Browse categories")
|
|
91
106
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
107
|
+
onClick: () => setShowObs(true)
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
109
|
+
icon: _freeSolidSvgIcons.faList
|
|
110
|
+
}))), showVarsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
111
|
+
placement: "right",
|
|
112
|
+
overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
|
|
113
|
+
id: "tooltip-vars"
|
|
114
|
+
}, "Search features")
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
116
|
+
onClick: () => setShowVars(true)
|
|
117
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
118
|
+
icon: _freeSolidSvgIcons.faSearch
|
|
119
|
+
})))), /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
|
|
120
|
+
vertical: true,
|
|
121
|
+
className: "w-100"
|
|
122
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
123
|
+
onClick: () => setMode(() => _editModes.ViewMode),
|
|
124
|
+
title: "Set dragging mode",
|
|
125
|
+
active: mode === _editModes.ViewMode
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
127
|
+
icon: _freeSolidSvgIcons.faHand
|
|
128
|
+
})), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
92
129
|
onClick: increaseZoom,
|
|
93
130
|
title: "Increase zoom"
|
|
94
131
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
@@ -98,24 +135,13 @@ function SpatialControls(_ref) {
|
|
|
98
135
|
title: "Decrease zoom"
|
|
99
136
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
100
137
|
icon: _freeSolidSvgIcons.faMinus
|
|
101
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
138
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
139
|
+
className: "border-bottom"
|
|
140
|
+
}), " ", /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
102
141
|
onClick: resetBounds,
|
|
103
142
|
title: "Reset zoom and center"
|
|
104
143
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
105
144
|
icon: _freeSolidSvgIcons.faCrosshairs
|
|
106
|
-
})), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
107
|
-
onClick: handleShowControls
|
|
108
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
109
|
-
icon: _freeSolidSvgIcons.faSliders
|
|
110
|
-
}))), /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
|
|
111
|
-
vertical: true,
|
|
112
|
-
className: "w-100"
|
|
113
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
114
|
-
onClick: () => setMode(() => _editModes.ViewMode),
|
|
115
|
-
title: "Set dragging mode",
|
|
116
|
-
active: mode === _editModes.ViewMode
|
|
117
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
118
|
-
icon: _freeSolidSvgIcons.faHand
|
|
119
145
|
})), /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
|
|
120
146
|
as: _ButtonGroup.default,
|
|
121
147
|
className: "caret-off",
|
|
@@ -123,7 +149,7 @@ function SpatialControls(_ref) {
|
|
|
123
149
|
onSelect: onSelect
|
|
124
150
|
}, /*#__PURE__*/_react.default.createElement(_Dropdown.default.Toggle, {
|
|
125
151
|
id: "dropdown-autoclose-outside",
|
|
126
|
-
className:
|
|
152
|
+
className: "caret-off ".concat(mode === _editModes.DrawPolygonByDraggingMode || mode === _editModes.ModifyMode ? "active" : "")
|
|
127
153
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
128
154
|
icon: _freeSolidSvgIcons.faDrawPolygon
|
|
129
155
|
})), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, null, /*#__PURE__*/_react.default.createElement(_Dropdown.default.Header, null, "Polygon tools"), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
|
|
@@ -141,7 +167,11 @@ function SpatialControls(_ref) {
|
|
|
141
167
|
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
142
168
|
icon: _freeSolidSvgIcons.faTrash,
|
|
143
169
|
className: "nav-icon"
|
|
144
|
-
}), "Delete polygons"))), !!features
|
|
170
|
+
}), "Delete polygons"))), !!(features !== null && features !== void 0 && (_features$features = features.features) !== null && _features$features !== void 0 && _features$features.length) && polygonControls, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
171
|
+
onClick: handleShowControls
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
173
|
+
icon: _freeSolidSvgIcons.faSliders
|
|
174
|
+
}))), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasControls, {
|
|
145
175
|
show: showControls,
|
|
146
176
|
handleClose: handleCloseControls,
|
|
147
177
|
Controls: _ScatterplotControls.ScatterplotControls
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Toolbox = Toolbox;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
9
|
-
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
10
8
|
var _reactBootstrap = require("react-bootstrap");
|
|
11
9
|
var _string = require("../../utils/string");
|
|
12
10
|
var _ObsmList = require("../obsm-list/ObsmList");
|
|
@@ -19,22 +17,7 @@ function Toolbox(_ref) {
|
|
|
19
17
|
} = _ref;
|
|
20
18
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
21
19
|
className: "cherita-toolbox"
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_ObsmList.ObsmKeysList, null), mode && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
23
|
-
placement: "top",
|
|
24
|
-
overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
|
|
25
|
-
id: "tooltip-dropped-mode"
|
|
26
|
-
}, "The color scale is currently set to ", mode)
|
|
27
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
28
|
-
size: "sm",
|
|
29
|
-
variant: "primary",
|
|
30
|
-
style: {
|
|
31
|
-
cursor: "default"
|
|
32
|
-
},
|
|
33
|
-
"aria-disabled": "true"
|
|
34
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
35
|
-
icon: _freeSolidSvgIcons.faDroplet,
|
|
36
|
-
className: "me-1"
|
|
37
|
-
}), " ", mode)), (mode || !isNaN(obsLength)) && (mode !== null && !isNaN(slicedLength) && slicedLength !== obsLength ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
20
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_ObsmList.ObsmKeysList, null), (mode || !isNaN(obsLength)) && (mode !== null && !isNaN(slicedLength) && slicedLength !== obsLength ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
38
21
|
placement: "top",
|
|
39
22
|
overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
|
|
40
23
|
id: "tooltip-dropped-mode"
|