@haniffalab/cherita-react 1.4.0-dev.2025-06-09.7cd38232 → 1.4.0-dev.2025-06-13.6fe0c0de
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.
|
@@ -10,6 +10,7 @@ exports.useSettingsDispatch = useSettingsDispatch;
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
12
12
|
var _constants = require("../constants/constants");
|
|
13
|
+
const _excluded = ["buster", "timestamp"];
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
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
16
|
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; }
|
|
@@ -17,6 +18,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
17
18
|
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
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
19
20
|
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); }
|
|
21
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
22
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
20
23
|
const SettingsContext = exports.SettingsContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
21
24
|
const SettingsDispatchContext = exports.SettingsDispatchContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
22
25
|
|
|
@@ -128,7 +131,18 @@ function SettingsProvider(_ref2) {
|
|
|
128
131
|
const DATASET_STORAGE_KEY = "".concat(_constants.LOCAL_STORAGE_KEY, "-").concat(dataset_url);
|
|
129
132
|
// Use localStorage directly instead of useLocalStorage due to unnecessary re-renders
|
|
130
133
|
// https://github.com/uidotdev/usehooks/issues/157
|
|
131
|
-
|
|
134
|
+
let _ref3 = JSON.parse(localStorage.getItem(DATASET_STORAGE_KEY)) || {},
|
|
135
|
+
{
|
|
136
|
+
buster,
|
|
137
|
+
timestamp
|
|
138
|
+
} = _ref3,
|
|
139
|
+
localSettings = _objectWithoutProperties(_ref3, _excluded);
|
|
140
|
+
|
|
141
|
+
// If the buster is not set or does not match the current package version,
|
|
142
|
+
// reset localSettings to avoid stale data
|
|
143
|
+
if (!buster || buster !== "1.4.0-dev.2025-06-13.6fe0c0de") {
|
|
144
|
+
localSettings = {};
|
|
145
|
+
}
|
|
132
146
|
const [settings, dispatch] = (0, _react.useReducer)(settingsReducer, {
|
|
133
147
|
canOverrideSettings,
|
|
134
148
|
defaultSettings,
|
|
@@ -137,7 +151,10 @@ function SettingsProvider(_ref2) {
|
|
|
137
151
|
(0, _react.useEffect)(() => {
|
|
138
152
|
if (canOverrideSettings) {
|
|
139
153
|
try {
|
|
140
|
-
localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(
|
|
154
|
+
localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(_objectSpread({
|
|
155
|
+
buster: "1.4.0-dev.2025-06-13.6fe0c0de" || "0.0.0",
|
|
156
|
+
timestamp: Date.now()
|
|
157
|
+
}, settings)));
|
|
141
158
|
} catch (err) {
|
|
142
159
|
if (err.code === 22 || err.code === 1014 || err.name === "QuotaExceededError" || err.name === "NS_ERROR_DOM_QUOTA_REACHED") {
|
|
143
160
|
console.err("Browser storage quota exceeded");
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
const _excluded = ["buster", "timestamp"];
|
|
1
2
|
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
3
|
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
4
|
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
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
6
|
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); }
|
|
7
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
8
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
6
9
|
import React, { createContext, useContext, useEffect, useReducer } from "react";
|
|
7
10
|
import _ from "lodash";
|
|
8
11
|
import { COLOR_ENCODINGS, DOTPLOT_SCALES, LOCAL_STORAGE_KEY, MATRIXPLOT_SCALES, OBS_TYPES, PSEUDOSPATIAL_CATEGORICAL_MODES, VAR_SORT, VAR_SORT_ORDER, VIOLINPLOT_SCALES } from "../constants/constants";
|
|
@@ -117,7 +120,18 @@ export function SettingsProvider(_ref2) {
|
|
|
117
120
|
const DATASET_STORAGE_KEY = "".concat(LOCAL_STORAGE_KEY, "-").concat(dataset_url);
|
|
118
121
|
// Use localStorage directly instead of useLocalStorage due to unnecessary re-renders
|
|
119
122
|
// https://github.com/uidotdev/usehooks/issues/157
|
|
120
|
-
|
|
123
|
+
let _ref3 = JSON.parse(localStorage.getItem(DATASET_STORAGE_KEY)) || {},
|
|
124
|
+
{
|
|
125
|
+
buster,
|
|
126
|
+
timestamp
|
|
127
|
+
} = _ref3,
|
|
128
|
+
localSettings = _objectWithoutProperties(_ref3, _excluded);
|
|
129
|
+
|
|
130
|
+
// If the buster is not set or does not match the current package version,
|
|
131
|
+
// reset localSettings to avoid stale data
|
|
132
|
+
if (!buster || buster !== "1.4.0-dev.2025-06-13.6fe0c0de") {
|
|
133
|
+
localSettings = {};
|
|
134
|
+
}
|
|
121
135
|
const [settings, dispatch] = useReducer(settingsReducer, {
|
|
122
136
|
canOverrideSettings,
|
|
123
137
|
defaultSettings,
|
|
@@ -126,7 +140,10 @@ export function SettingsProvider(_ref2) {
|
|
|
126
140
|
useEffect(() => {
|
|
127
141
|
if (canOverrideSettings) {
|
|
128
142
|
try {
|
|
129
|
-
localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(
|
|
143
|
+
localStorage.setItem(DATASET_STORAGE_KEY, JSON.stringify(_objectSpread({
|
|
144
|
+
buster: "1.4.0-dev.2025-06-13.6fe0c0de" || "0.0.0",
|
|
145
|
+
timestamp: Date.now()
|
|
146
|
+
}, settings)));
|
|
130
147
|
} catch (err) {
|
|
131
148
|
if (err.code === 22 || err.code === 1014 || err.name === "QuotaExceededError" || err.name === "NS_ERROR_DOM_QUOTA_REACHED") {
|
|
132
149
|
console.err("Browser storage quota exceeded");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haniffalab/cherita-react",
|
|
3
|
-
"version": "1.4.0-dev.2025-06-
|
|
3
|
+
"version": "1.4.0-dev.2025-06-13.6fe0c0de",
|
|
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": "
|
|
131
|
+
"prereleaseSha": "6fe0c0de28690a314a69e0e8c66f3af963e7cd94"
|
|
132
132
|
}
|