@haniffalab/cherita-react 1.4.4-dev.2025-11-05.37677c93 → 1.4.4-dev.2025-11-05.2f1df575

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.
@@ -14,11 +14,6 @@ var _requests = require("../../utils/requests");
14
14
  var _Skeleton = require("../../utils/Skeleton");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- 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; }
18
- 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; }
19
- 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; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
21
- 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
17
  function ObsmKeysList(_ref) {
23
18
  let {
24
19
  setHasObsm
@@ -29,16 +24,9 @@ function ObsmKeysList(_ref) {
29
24
  const dispatch = (0, _SettingsContext.useSettingsDispatch)();
30
25
  const [obsmKeysList, setObsmKeysList] = (0, _react.useState)([]);
31
26
  const [active, setActive] = (0, _react.useState)(null);
32
- const [params, setParams] = (0, _react.useState)({
27
+ const params = (0, _react.useMemo)(() => ({
33
28
  url: dataset.url
34
- });
35
- (0, _react.useEffect)(() => {
36
- setParams(p => {
37
- return _objectSpread(_objectSpread({}, p), {}, {
38
- url: dataset.url
39
- });
40
- });
41
- }, [dataset.url]);
29
+ }), [dataset.url]);
42
30
  const {
43
31
  fetchedData,
44
32
  isPending,
@@ -47,15 +35,31 @@ function ObsmKeysList(_ref) {
47
35
  refetchOnMount: false
48
36
  });
49
37
  (0, _react.useEffect)(() => {
50
- if (!isPending && !serverError) {
51
- if (!fetchedData || !fetchedData.length) {
38
+ if (!isPending) {
39
+ if (serverError || !fetchedData || !fetchedData.length) {
52
40
  setHasObsm(false);
41
+ setObsmKeysList([]);
42
+ if (settings.selectedObsm) {
43
+ dispatch({
44
+ type: 'select.obsm',
45
+ obsm: null
46
+ });
47
+ }
53
48
  } else {
54
49
  setHasObsm(true);
55
50
  setObsmKeysList(fetchedData);
56
-
57
- // Set default obsm if in keys list and not selected
58
- if (!settings.selectedObsm) {
51
+ if (settings.selectedObsm) {
52
+ // If selected obsm is not in keys list, reset to null
53
+ if (!_lodash.default.includes(fetchedData, settings.selectedObsm)) {
54
+ dispatch({
55
+ type: 'select.obsm',
56
+ obsm: null
57
+ });
58
+ } else {
59
+ setActive(settings.selectedObsm);
60
+ }
61
+ } else {
62
+ // Set default obsm if in keys list and not selected
59
63
  // Follow DEFAULT_OBSM_KEYS order
60
64
  _lodash.default.each(_constants.DEFAULT_OBSM_KEYS, k => {
61
65
  const defaultObsm = _lodash.default.find(fetchedData, item => item.toLowerCase() === k);
@@ -69,17 +73,6 @@ function ObsmKeysList(_ref) {
69
73
  });
70
74
  }
71
75
  }
72
- if (settings.selectedObsm) {
73
- // If selected obsm is not in keys list, reset to null
74
- if (!_lodash.default.includes(fetchedData || [], settings.selectedObsm)) {
75
- dispatch({
76
- type: 'select.obsm',
77
- obsm: null
78
- });
79
- } else {
80
- setActive(settings.selectedObsm);
81
- }
82
- }
83
76
  }
84
77
  }, [dispatch, fetchedData, isPending, serverError, setHasObsm, settings.selectedObsm]);
85
78
  const obsmList = obsmKeysList.map(item => {
@@ -60,7 +60,7 @@ const persistOptions = {
60
60
  return false;
61
61
  }
62
62
  },
63
- buster: "1.4.4-dev.2025-11-05.37677c93" || '0.0.0'
63
+ buster: "1.4.4-dev.2025-11-05.2f1df575" || '0.0.0'
64
64
  // @TODO: add maxAge and api version numbers as buster
65
65
  };
66
66
  const initialDataset = {
@@ -173,7 +173,7 @@ function SettingsProvider(_ref2) {
173
173
 
174
174
  // If the buster is not set or does not match the current package version,
175
175
  // reset localSettings to avoid stale data
176
- if (!buster || buster !== "1.4.4-dev.2025-11-05.37677c93") {
176
+ if (!buster || buster !== "1.4.4-dev.2025-11-05.2f1df575") {
177
177
  localSettings = {};
178
178
  }
179
179
  const initSettings = (0, _react.useRef)(initializer({
@@ -198,7 +198,7 @@ function SettingsProvider(_ref2) {
198
198
  if (canOverrideSettings && settings) {
199
199
  try {
200
200
  localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(_objectSpread({
201
- buster: "1.4.4-dev.2025-11-05.37677c93" || '0.0.0',
201
+ buster: "1.4.4-dev.2025-11-05.2f1df575" || '0.0.0',
202
202
  timestamp: Date.now()
203
203
  }, _lodash.default.omit(settings, 'data'))));
204
204
  } catch (err) {
@@ -1,9 +1,4 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
- 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); }
6
- import { useEffect, useState } from 'react';
1
+ import { useEffect, useState, useMemo } from 'react';
7
2
  import _ from 'lodash';
8
3
  import { Button, ButtonGroup, Dropdown, DropdownButton, OverlayTrigger, Tooltip } from 'react-bootstrap';
9
4
  import { DEFAULT_OBSM_KEYS } from '../../constants/constants';
@@ -22,16 +17,9 @@ export function ObsmKeysList(_ref) {
22
17
  const dispatch = useSettingsDispatch();
23
18
  const [obsmKeysList, setObsmKeysList] = useState([]);
24
19
  const [active, setActive] = useState(null);
25
- const [params, setParams] = useState({
20
+ const params = useMemo(() => ({
26
21
  url: dataset.url
27
- });
28
- useEffect(() => {
29
- setParams(p => {
30
- return _objectSpread(_objectSpread({}, p), {}, {
31
- url: dataset.url
32
- });
33
- });
34
- }, [dataset.url]);
22
+ }), [dataset.url]);
35
23
  const {
36
24
  fetchedData,
37
25
  isPending,
@@ -40,15 +28,31 @@ export function ObsmKeysList(_ref) {
40
28
  refetchOnMount: false
41
29
  });
42
30
  useEffect(() => {
43
- if (!isPending && !serverError) {
44
- if (!fetchedData || !fetchedData.length) {
31
+ if (!isPending) {
32
+ if (serverError || !fetchedData || !fetchedData.length) {
45
33
  setHasObsm(false);
34
+ setObsmKeysList([]);
35
+ if (settings.selectedObsm) {
36
+ dispatch({
37
+ type: 'select.obsm',
38
+ obsm: null
39
+ });
40
+ }
46
41
  } else {
47
42
  setHasObsm(true);
48
43
  setObsmKeysList(fetchedData);
49
-
50
- // Set default obsm if in keys list and not selected
51
- if (!settings.selectedObsm) {
44
+ if (settings.selectedObsm) {
45
+ // If selected obsm is not in keys list, reset to null
46
+ if (!_.includes(fetchedData, settings.selectedObsm)) {
47
+ dispatch({
48
+ type: 'select.obsm',
49
+ obsm: null
50
+ });
51
+ } else {
52
+ setActive(settings.selectedObsm);
53
+ }
54
+ } else {
55
+ // Set default obsm if in keys list and not selected
52
56
  // Follow DEFAULT_OBSM_KEYS order
53
57
  _.each(DEFAULT_OBSM_KEYS, k => {
54
58
  const defaultObsm = _.find(fetchedData, item => item.toLowerCase() === k);
@@ -62,17 +66,6 @@ export function ObsmKeysList(_ref) {
62
66
  });
63
67
  }
64
68
  }
65
- if (settings.selectedObsm) {
66
- // If selected obsm is not in keys list, reset to null
67
- if (!_.includes(fetchedData || [], settings.selectedObsm)) {
68
- dispatch({
69
- type: 'select.obsm',
70
- obsm: null
71
- });
72
- } else {
73
- setActive(settings.selectedObsm);
74
- }
75
- }
76
69
  }
77
70
  }, [dispatch, fetchedData, isPending, serverError, setHasObsm, settings.selectedObsm]);
78
71
  const obsmList = obsmKeysList.map(item => {
@@ -51,7 +51,7 @@ const persistOptions = {
51
51
  return false;
52
52
  }
53
53
  },
54
- buster: "1.4.4-dev.2025-11-05.37677c93" || '0.0.0'
54
+ buster: "1.4.4-dev.2025-11-05.2f1df575" || '0.0.0'
55
55
  // @TODO: add maxAge and api version numbers as buster
56
56
  };
57
57
  const initialDataset = {
@@ -163,7 +163,7 @@ export function SettingsProvider(_ref2) {
163
163
 
164
164
  // If the buster is not set or does not match the current package version,
165
165
  // reset localSettings to avoid stale data
166
- if (!buster || buster !== "1.4.4-dev.2025-11-05.37677c93") {
166
+ if (!buster || buster !== "1.4.4-dev.2025-11-05.2f1df575") {
167
167
  localSettings = {};
168
168
  }
169
169
  const initSettings = useRef(initializer({
@@ -188,7 +188,7 @@ export function SettingsProvider(_ref2) {
188
188
  if (canOverrideSettings && settings) {
189
189
  try {
190
190
  localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(_objectSpread({
191
- buster: "1.4.4-dev.2025-11-05.37677c93" || '0.0.0',
191
+ buster: "1.4.4-dev.2025-11-05.2f1df575" || '0.0.0',
192
192
  timestamp: Date.now()
193
193
  }, _.omit(settings, 'data'))));
194
194
  } catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haniffalab/cherita-react",
3
- "version": "1.4.4-dev.2025-11-05.37677c93",
3
+ "version": "1.4.4-dev.2025-11-05.2f1df575",
4
4
  "author": "Haniffa Lab",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -140,5 +140,5 @@
140
140
  "url": "https://github.com/haniffalab/cherita-react/issues"
141
141
  },
142
142
  "homepage": "https://github.com/haniffalab/cherita-react#readme",
143
- "prereleaseSha": "37677c93d42286cfbb4284e2d5368cca2a26df09"
143
+ "prereleaseSha": "2f1df57598af6c48157e1f111e1f6564e7cb5897"
144
144
  }