@haniffalab/cherita-react 1.4.1-dev.2025-08-13.8f63c242 → 1.4.1-dev.2025-08-18.6fbf7a74

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.
@@ -44,7 +44,7 @@ const INITIAL_VIEW_STATE = {
44
44
  bearing: 0
45
45
  };
46
46
  function Scatterplot(_ref) {
47
- var _features$features2, _obsmData$serverError, _xData$serverError, _obsData$serverError, _labelObsData$serverE, _settings$selectedVar, _data$positions;
47
+ var _features$features2, _obsmData$serverError, _labelObsData$serverE, _settings$selectedVar, _data$positions;
48
48
  let {
49
49
  radius = null,
50
50
  setShowObs,
@@ -75,6 +75,7 @@ function Scatterplot(_ref) {
75
75
  values: []
76
76
  });
77
77
  const [coordsError, setCoordsError] = (0, _react.useState)(null);
78
+ const [dataError, setDataError] = (0, _react.useState)(null);
78
79
  const selectedObs = (0, _Resolver.useSelectedObs)();
79
80
 
80
81
  // EditableGeoJsonLayer
@@ -109,9 +110,21 @@ function Scatterplot(_ref) {
109
110
  setData(d => {
110
111
  let values = d.values;
111
112
  if (settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR) {
112
- values = !xData.serverError ? xData.data : values;
113
+ if (!xData.serverError) {
114
+ values = xData.data;
115
+ setDataError(null);
116
+ } else {
117
+ values = [];
118
+ setDataError(xData.serverError);
119
+ }
113
120
  } else if (settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS) {
114
- values = !obsData.serverError ? obsData.data : values;
121
+ if (!obsData.serverError) {
122
+ values = obsData.data;
123
+ setDataError(null);
124
+ } else {
125
+ values = [];
126
+ setDataError(obsData.serverError);
127
+ }
115
128
  }
116
129
  if (!obsmData.serverError && obsmData.data) {
117
130
  if (obsmData.data[0].length !== 2) {
@@ -357,7 +370,7 @@ function Scatterplot(_ref) {
357
370
  }
358
371
  };
359
372
  };
360
- 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.length && ((_labelObsData$serverE = labelObsData.serverError) === null || _labelObsData$serverE === void 0 ? void 0 : _labelObsData$serverE.length) || coordsError;
373
+ const error = settings.selectedObsm && ((_obsmData$serverError = obsmData.serverError) === null || _obsmData$serverError === void 0 ? void 0 : _obsmData$serverError.length) || dataError || settings.labelObs.length && ((_labelObsData$serverE = labelObsData.serverError) === null || _labelObsData$serverE === void 0 ? void 0 : _labelObsData$serverE.length) || coordsError;
361
374
  return /*#__PURE__*/_react.default.createElement("div", {
362
375
  className: "cherita-container-scatterplot"
363
376
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -406,13 +419,15 @@ function Scatterplot(_ref) {
406
419
  className: "cherita-toolbox-footer"
407
420
  }, !!error && !isRendering && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
408
421
  variant: "danger"
409
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
422
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert.Heading, null, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
410
423
  icon: _freeSolidSvgIcons.faTriangleExclamation
411
- }), "\xA0Error loading data"), /*#__PURE__*/_react.default.createElement(_Toolbox.Toolbox, {
424
+ }), "\xA0Error loading data"), /*#__PURE__*/_react.default.createElement("p", {
425
+ className: "mb-0"
426
+ }, error.message)), /*#__PURE__*/_react.default.createElement(_Toolbox.Toolbox, {
412
427
  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 ? selectedObs === null || selectedObs === void 0 ? void 0 : selectedObs.name : null,
413
428
  obsLength: parseInt((_data$positions = data.positions) === null || _data$positions === void 0 ? void 0 : _data$positions.length),
414
429
  slicedLength: parseInt(slicedLength)
415
- })), /*#__PURE__*/_react.default.createElement(_Legend.Legend, {
430
+ })), !error && /*#__PURE__*/_react.default.createElement(_Legend.Legend, {
416
431
  isCategorical: isCategorical,
417
432
  min: min,
418
433
  max: max
@@ -60,7 +60,7 @@ const persistOptions = {
60
60
  return false;
61
61
  }
62
62
  },
63
- buster: "1.4.1-dev.2025-08-13.8f63c242" || "0.0.0"
63
+ buster: "1.4.1-dev.2025-08-18.6fbf7a74" || "0.0.0"
64
64
  // @TODO: add maxAge and api version numbers as buster
65
65
  };
66
66
  const initialDataset = {
@@ -164,7 +164,7 @@ function SettingsProvider(_ref2) {
164
164
 
165
165
  // If the buster is not set or does not match the current package version,
166
166
  // reset localSettings to avoid stale data
167
- if (!buster || buster !== "1.4.1-dev.2025-08-13.8f63c242") {
167
+ if (!buster || buster !== "1.4.1-dev.2025-08-18.6fbf7a74") {
168
168
  localSettings = {};
169
169
  }
170
170
  const initSettings = (0, _react.useRef)(initializer({
@@ -189,7 +189,7 @@ function SettingsProvider(_ref2) {
189
189
  if (canOverrideSettings) {
190
190
  try {
191
191
  localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(_objectSpread(_objectSpread({
192
- buster: "1.4.1-dev.2025-08-13.8f63c242" || "0.0.0",
192
+ buster: "1.4.1-dev.2025-08-18.6fbf7a74" || "0.0.0",
193
193
  timestamp: Date.now()
194
194
  }, _lodash.default.omit(settings, "data")), settings)));
195
195
  } catch (err) {
@@ -36,7 +36,7 @@ const INITIAL_VIEW_STATE = {
36
36
  bearing: 0
37
37
  };
38
38
  export function Scatterplot(_ref) {
39
- var _features$features2, _obsmData$serverError, _xData$serverError, _obsData$serverError, _labelObsData$serverE, _settings$selectedVar, _data$positions;
39
+ var _features$features2, _obsmData$serverError, _labelObsData$serverE, _settings$selectedVar, _data$positions;
40
40
  let {
41
41
  radius = null,
42
42
  setShowObs,
@@ -67,6 +67,7 @@ export function Scatterplot(_ref) {
67
67
  values: []
68
68
  });
69
69
  const [coordsError, setCoordsError] = useState(null);
70
+ const [dataError, setDataError] = useState(null);
70
71
  const selectedObs = useSelectedObs();
71
72
 
72
73
  // EditableGeoJsonLayer
@@ -101,9 +102,21 @@ export function Scatterplot(_ref) {
101
102
  setData(d => {
102
103
  let values = d.values;
103
104
  if (settings.colorEncoding === COLOR_ENCODINGS.VAR) {
104
- values = !xData.serverError ? xData.data : values;
105
+ if (!xData.serverError) {
106
+ values = xData.data;
107
+ setDataError(null);
108
+ } else {
109
+ values = [];
110
+ setDataError(xData.serverError);
111
+ }
105
112
  } else if (settings.colorEncoding === COLOR_ENCODINGS.OBS) {
106
- values = !obsData.serverError ? obsData.data : values;
113
+ if (!obsData.serverError) {
114
+ values = obsData.data;
115
+ setDataError(null);
116
+ } else {
117
+ values = [];
118
+ setDataError(obsData.serverError);
119
+ }
107
120
  }
108
121
  if (!obsmData.serverError && obsmData.data) {
109
122
  if (obsmData.data[0].length !== 2) {
@@ -349,7 +362,7 @@ export function Scatterplot(_ref) {
349
362
  }
350
363
  };
351
364
  };
352
- const error = settings.selectedObsm && ((_obsmData$serverError = obsmData.serverError) === null || _obsmData$serverError === void 0 ? void 0 : _obsmData$serverError.length) || settings.colorEncoding === COLOR_ENCODINGS.VAR && ((_xData$serverError = xData.serverError) === null || _xData$serverError === void 0 ? void 0 : _xData$serverError.length) || settings.colorEncoding === COLOR_ENCODINGS.OBS && ((_obsData$serverError = obsData.serverError) === null || _obsData$serverError === void 0 ? void 0 : _obsData$serverError.length) || settings.labelObs.length && ((_labelObsData$serverE = labelObsData.serverError) === null || _labelObsData$serverE === void 0 ? void 0 : _labelObsData$serverE.length) || coordsError;
365
+ const error = settings.selectedObsm && ((_obsmData$serverError = obsmData.serverError) === null || _obsmData$serverError === void 0 ? void 0 : _obsmData$serverError.length) || dataError || settings.labelObs.length && ((_labelObsData$serverE = labelObsData.serverError) === null || _labelObsData$serverE === void 0 ? void 0 : _labelObsData$serverE.length) || coordsError;
353
366
  return /*#__PURE__*/React.createElement("div", {
354
367
  className: "cherita-container-scatterplot"
355
368
  }, /*#__PURE__*/React.createElement("div", {
@@ -398,13 +411,15 @@ export function Scatterplot(_ref) {
398
411
  className: "cherita-toolbox-footer"
399
412
  }, !!error && !isRendering && /*#__PURE__*/React.createElement(Alert, {
400
413
  variant: "danger"
401
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
414
+ }, /*#__PURE__*/React.createElement(Alert.Heading, null, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
402
415
  icon: faTriangleExclamation
403
- }), "\xA0Error loading data"), /*#__PURE__*/React.createElement(Toolbox, {
416
+ }), "\xA0Error loading data"), /*#__PURE__*/React.createElement("p", {
417
+ className: "mb-0"
418
+ }, error.message)), /*#__PURE__*/React.createElement(Toolbox, {
404
419
  mode: settings.colorEncoding === COLOR_ENCODINGS.VAR ? (_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.name : settings.colorEncoding === COLOR_ENCODINGS.OBS ? selectedObs === null || selectedObs === void 0 ? void 0 : selectedObs.name : null,
405
420
  obsLength: parseInt((_data$positions = data.positions) === null || _data$positions === void 0 ? void 0 : _data$positions.length),
406
421
  slicedLength: parseInt(slicedLength)
407
- })), /*#__PURE__*/React.createElement(Legend, {
422
+ })), !error && /*#__PURE__*/React.createElement(Legend, {
408
423
  isCategorical: isCategorical,
409
424
  min: min,
410
425
  max: max
@@ -50,7 +50,7 @@ const persistOptions = {
50
50
  return false;
51
51
  }
52
52
  },
53
- buster: "1.4.1-dev.2025-08-13.8f63c242" || "0.0.0"
53
+ buster: "1.4.1-dev.2025-08-18.6fbf7a74" || "0.0.0"
54
54
  // @TODO: add maxAge and api version numbers as buster
55
55
  };
56
56
  const initialDataset = {
@@ -153,7 +153,7 @@ export function SettingsProvider(_ref2) {
153
153
 
154
154
  // If the buster is not set or does not match the current package version,
155
155
  // reset localSettings to avoid stale data
156
- if (!buster || buster !== "1.4.1-dev.2025-08-13.8f63c242") {
156
+ if (!buster || buster !== "1.4.1-dev.2025-08-18.6fbf7a74") {
157
157
  localSettings = {};
158
158
  }
159
159
  const initSettings = useRef(initializer({
@@ -178,7 +178,7 @@ export function SettingsProvider(_ref2) {
178
178
  if (canOverrideSettings) {
179
179
  try {
180
180
  localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(_objectSpread(_objectSpread({
181
- buster: "1.4.1-dev.2025-08-13.8f63c242" || "0.0.0",
181
+ buster: "1.4.1-dev.2025-08-18.6fbf7a74" || "0.0.0",
182
182
  timestamp: Date.now()
183
183
  }, _.omit(settings, "data")), settings)));
184
184
  } catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haniffalab/cherita-react",
3
- "version": "1.4.1-dev.2025-08-13.8f63c242",
3
+ "version": "1.4.1-dev.2025-08-18.6fbf7a74",
4
4
  "author": "Haniffa Lab",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -128,5 +128,5 @@
128
128
  "url": "https://github.com/haniffalab/cherita-react/issues"
129
129
  },
130
130
  "homepage": "https://github.com/haniffalab/cherita-react#readme",
131
- "prereleaseSha": "8f63c24228cd7f7747876340f0b3efb5afe18611"
131
+ "prereleaseSha": "6fbf7a74893c9385c9f23ecbef969792d6d34869"
132
132
  }