@haniffalab/cherita-react 1.4.1-dev.2025-08-13.6fc43290 → 1.4.1-dev.2025-08-13.8f63c242

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.
Files changed (31) hide show
  1. package/dist/cjs/components/dotplot/Dotplot.js +12 -16
  2. package/dist/cjs/components/heatmap/Heatmap.js +11 -16
  3. package/dist/cjs/components/matrixplot/Matrixplot.js +11 -16
  4. package/dist/cjs/components/obs-list/ObsItem.js +14 -14
  5. package/dist/cjs/components/obs-list/ObsList.js +24 -23
  6. package/dist/cjs/components/pseudospatial/Pseudospatial.js +25 -31
  7. package/dist/cjs/components/scatterplot/Scatterplot.js +14 -23
  8. package/dist/cjs/components/scatterplot/ScatterplotControls.js +9 -3
  9. package/dist/cjs/components/var-list/VarList.js +16 -14
  10. package/dist/cjs/components/violin/Violin.js +21 -25
  11. package/dist/cjs/context/DatasetContext.js +4 -4
  12. package/dist/cjs/context/SettingsContext.js +175 -40
  13. package/dist/cjs/utils/Filter.js +15 -10
  14. package/dist/cjs/utils/Resolver.js +188 -0
  15. package/dist/cjs/utils/zarrData.js +16 -17
  16. package/dist/esm/components/dotplot/Dotplot.js +12 -16
  17. package/dist/esm/components/heatmap/Heatmap.js +11 -16
  18. package/dist/esm/components/matrixplot/Matrixplot.js +11 -16
  19. package/dist/esm/components/obs-list/ObsItem.js +14 -14
  20. package/dist/esm/components/obs-list/ObsList.js +24 -23
  21. package/dist/esm/components/pseudospatial/Pseudospatial.js +25 -31
  22. package/dist/esm/components/scatterplot/Scatterplot.js +14 -23
  23. package/dist/esm/components/scatterplot/ScatterplotControls.js +9 -3
  24. package/dist/esm/components/var-list/VarList.js +16 -14
  25. package/dist/esm/components/violin/Violin.js +21 -25
  26. package/dist/esm/context/DatasetContext.js +4 -4
  27. package/dist/esm/context/SettingsContext.js +176 -41
  28. package/dist/esm/utils/Filter.js +15 -10
  29. package/dist/esm/utils/Resolver.js +176 -0
  30. package/dist/esm/utils/zarrData.js +16 -17
  31. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  import { useMemo } from "react";
2
2
  import _ from "lodash";
3
3
  import { slice } from "zarr";
4
+ import { useSelectedObs, useSelectedVar } from "./Resolver";
4
5
  import { OBS_TYPES } from "../constants/constants";
5
6
  import { useDataset } from "../context/DatasetContext";
6
7
  import { useSettings } from "../context/SettingsContext";
@@ -32,21 +33,18 @@ const meanData = (_i, data) => {
32
33
  export const useXData = function () {
33
34
  let agg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : meanData;
34
35
  const dataset = useDataset();
35
- const settings = useSettings();
36
- const xParams = useMemo(() => {
37
- var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3;
38
- return !settings.selectedVar ? [] : !((_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet) ? [{
36
+ const selectedVar = useSelectedVar();
37
+ const xParams = useMemo(() => !selectedVar ? [] : !(selectedVar !== null && selectedVar !== void 0 && selectedVar.isSet) ? [{
38
+ url: dataset.url,
39
+ path: "X",
40
+ s: [null, selectedVar === null || selectedVar === void 0 ? void 0 : selectedVar.matrix_index]
41
+ }] : _.map(selectedVar === null || selectedVar === void 0 ? void 0 : selectedVar.vars, v => {
42
+ return {
39
43
  url: dataset.url,
40
44
  path: "X",
41
- s: [null, (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.matrix_index]
42
- }] : _.map((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars, v => {
43
- return {
44
- url: dataset.url,
45
- path: "X",
46
- s: [null, v.matrix_index]
47
- };
48
- });
49
- }, [dataset.url, settings.selectedVar]);
45
+ s: [null, v.matrix_index]
46
+ };
47
+ }), [dataset.url, selectedVar]);
50
48
  return useMultipleZarr(xParams, GET_OPTIONS, {
51
49
  enabled: !!xParams.length
52
50
  }, agg);
@@ -55,8 +53,8 @@ export const useObsData = function () {
55
53
  var _obs3, _obs4;
56
54
  let obs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
57
55
  const dataset = useDataset();
58
- const settings = useSettings();
59
- obs = obs || settings.selectedObs;
56
+ const selectedObs = useSelectedObs();
57
+ obs = obs || selectedObs;
60
58
  const obsParams = useMemo(() => {
61
59
  var _obs, _obs2;
62
60
  return {
@@ -71,13 +69,14 @@ export const useObsData = function () {
71
69
  export const useLabelObsData = () => {
72
70
  const dataset = useDataset();
73
71
  const settings = useSettings();
74
- const labelObsParams = useMemo(() => _.map(settings.labelObs, obs => {
72
+ const labelObsParams = useMemo(() => _.map(settings.labelObs, obsName => {
73
+ const obs = settings.data.obs[obsName] || null;
75
74
  return {
76
75
  url: dataset.url,
77
76
  path: "obs/" + obs.name + (obs.type === OBS_TYPES.CATEGORICAL ? "/codes" : ""),
78
77
  key: obs.name
79
78
  };
80
- }), [dataset.url, settings.labelObs]);
79
+ }), [dataset.url, settings.data.obs, settings.labelObs]);
81
80
  return useMultipleZarr(labelObsParams, GET_OPTIONS, {
82
81
  enabled: !!labelObsParams.length
83
82
  });
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.6fc43290",
3
+ "version": "1.4.1-dev.2025-08-13.8f63c242",
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": "6fc43290e91ef296e79a1fd7b3e5b6be1215fd3b"
131
+ "prereleaseSha": "8f63c24228cd7f7747876340f0b3efb5afe18611"
132
132
  }