@haniffalab/cherita-react 0.2.0-dev.2024-02-14.0bb7b79c → 0.2.0-dev.2024-03-27.cff3436e
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/components/obs-list/ObsList.js +2 -2
- package/dist/components/scatterplot/Legend.js +2 -2
- package/dist/components/scatterplot/Scatterplot.js +10 -10
- package/dist/helpers/color-helper.js +26 -0
- package/dist/helpers/map-helper.js +51 -0
- package/dist/helpers/zarr-helper.js +29 -0
- package/package.json +2 -2
- package/dist/helpers/color.js +0 -31
- package/dist/helpers/map.js +0 -56
- package/dist/helpers/zarr.js +0 -34
|
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
12
12
|
var _requests = require("../../utils/requests");
|
|
13
13
|
var _chromaJs = _interopRequireDefault(require("chroma-js"));
|
|
14
|
-
var
|
|
14
|
+
var _colorHelper = require("../../helpers/color-helper");
|
|
15
15
|
var _LoadingSpinner = require("../../utils/LoadingSpinner");
|
|
16
16
|
var _reactBootstrap = require("react-bootstrap");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -58,7 +58,7 @@ function ObsColsList() {
|
|
|
58
58
|
const [params, setParams] = (0, _react.useState)({
|
|
59
59
|
url: dataset.url
|
|
60
60
|
});
|
|
61
|
-
const colorHelper = new
|
|
61
|
+
const colorHelper = new _colorHelper.ColorHelper();
|
|
62
62
|
(0, _react.useEffect)(() => {
|
|
63
63
|
setParams(p => {
|
|
64
64
|
return {
|
|
@@ -9,7 +9,7 @@ var _Dropdown = _interopRequireDefault(require("react-bootstrap/Dropdown"));
|
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
11
11
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
12
|
-
var
|
|
12
|
+
var _colorHelper = require("../../helpers/color-helper");
|
|
13
13
|
var _OverlayTrigger = _interopRequireDefault(require("react-bootstrap/OverlayTrigger"));
|
|
14
14
|
var _layers = require("@nebula.gl/layers");
|
|
15
15
|
var _chromaJs = _interopRequireDefault(require("chroma-js"));
|
|
@@ -28,7 +28,7 @@ function Legend(_ref) {
|
|
|
28
28
|
values
|
|
29
29
|
} = _ref;
|
|
30
30
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
31
|
-
const colorHelper = new
|
|
31
|
+
const colorHelper = new _colorHelper.ColorHelper();
|
|
32
32
|
if (dataset.colorEncoding === "var") {
|
|
33
33
|
let c = colorHelper.getScale(dataset, values);
|
|
34
34
|
var dom = c.domain ? c.domain() : [0, 1],
|
|
@@ -18,9 +18,9 @@ var _Toolbox = require("./Toolbox");
|
|
|
18
18
|
var _Legend = require("./Legend");
|
|
19
19
|
var _constants = require("../../constants/constants");
|
|
20
20
|
var _DatasetContext = require("../../context/DatasetContext");
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
21
|
+
var _mapHelper = require("../../helpers/map-helper");
|
|
22
|
+
var _zarrHelper = require("../../helpers/zarr-helper");
|
|
23
|
+
var _colorHelper = require("../../helpers/color-helper");
|
|
24
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
26
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -75,7 +75,7 @@ function Scatterplot(_ref) {
|
|
|
75
75
|
});
|
|
76
76
|
(0, _react.useEffect)(() => {
|
|
77
77
|
setData(function (prevState, props) {
|
|
78
|
-
const colorHelper = new
|
|
78
|
+
const colorHelper = new _colorHelper.ColorHelper();
|
|
79
79
|
let scale = dataset.colorEncoding === "var" ? colorHelper.getScale(dataset, values) : null;
|
|
80
80
|
var data = position.map(function (e, i) {
|
|
81
81
|
return {
|
|
@@ -90,11 +90,11 @@ function Scatterplot(_ref) {
|
|
|
90
90
|
}, [position, values, dataset.controls.colorScale]);
|
|
91
91
|
(0, _react.useEffect)(() => {
|
|
92
92
|
if (dataset.selectedObsm) {
|
|
93
|
-
const helper = new
|
|
94
|
-
const zarrHelper = new
|
|
93
|
+
const helper = new _mapHelper.MapHelper();
|
|
94
|
+
const zarrHelper = new _zarrHelper.ZarrHelper();
|
|
95
95
|
const fetchObsm = async () => {
|
|
96
96
|
const z = await zarrHelper.open(dataset.url, "obsm/" + dataset.selectedObsm);
|
|
97
|
-
await z.get(null,
|
|
97
|
+
await z.get(null, _zarrHelper.GET_OPTIONS).then(result => {
|
|
98
98
|
const {
|
|
99
99
|
latitude,
|
|
100
100
|
longitude,
|
|
@@ -116,10 +116,10 @@ function Scatterplot(_ref) {
|
|
|
116
116
|
}, [dataset.url, dataset.selectedObsm]);
|
|
117
117
|
(0, _react.useEffect)(() => {
|
|
118
118
|
if (dataset.selectedVar) {
|
|
119
|
-
const zarrHelper = new
|
|
119
|
+
const zarrHelper = new _zarrHelper.ZarrHelper();
|
|
120
120
|
const fetchData = async () => {
|
|
121
121
|
const z = await zarrHelper.open(dataset.url, "X");
|
|
122
|
-
await z.get([null, dataset.selectedVar.matrix_index],
|
|
122
|
+
await z.get([null, dataset.selectedVar.matrix_index], _zarrHelper.GET_OPTIONS).then(result => {
|
|
123
123
|
setValues(result.data);
|
|
124
124
|
dispatch({
|
|
125
125
|
type: "set.colorEncoding",
|
|
@@ -132,7 +132,7 @@ function Scatterplot(_ref) {
|
|
|
132
132
|
}, [dataset.url, dataset.selectedVar]);
|
|
133
133
|
(0, _react.useEffect)(() => {
|
|
134
134
|
if (dataset.selectedObs) {
|
|
135
|
-
const zarrHelper = new
|
|
135
|
+
const zarrHelper = new _zarrHelper.ZarrHelper();
|
|
136
136
|
const fetchData = async () => {
|
|
137
137
|
const z = await zarrHelper.open(dataset.url, "obs/" + dataset.selectedObs.name + "/codes");
|
|
138
138
|
await z.get().then(result => {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ColorHelper = void 0;
|
|
7
|
+
var _chromaJs = _interopRequireDefault(require("chroma-js"));
|
|
8
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
+
var _constants = require("../constants/constants");
|
|
10
|
+
var _DatasetContext = require("../context/DatasetContext");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
class ColorHelper {
|
|
13
|
+
getScale(dataset, values) {
|
|
14
|
+
return _chromaJs.default.scale(_constants.CHROMA_COLORSCALES[dataset.controls.colorScale]).domain([_lodash.default.min(values), _lodash.default.max(values)]);
|
|
15
|
+
}
|
|
16
|
+
getColor(dataset, value) {
|
|
17
|
+
let scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _chromaJs.default.scale();
|
|
18
|
+
if (dataset.colorEncoding === "var") {
|
|
19
|
+
return scale(value).rgb();
|
|
20
|
+
} else if (dataset.colorEncoding === "obs") {
|
|
21
|
+
//console.log(dataset.obs[dataset.selectedObs.name].state[value]["color"]);
|
|
22
|
+
return dataset.obs[dataset.selectedObs.name].state.hasOwnProperty(value) ? dataset.obs[dataset.selectedObs.name].state[value]["color"] : null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ColorHelper = ColorHelper;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MapHelper = void 0;
|
|
7
|
+
var _core = require("@deck.gl/core");
|
|
8
|
+
class MapHelper {
|
|
9
|
+
fitBounds(coords) {
|
|
10
|
+
let view = new _core.WebMercatorViewport({
|
|
11
|
+
width: 600,
|
|
12
|
+
height: 400,
|
|
13
|
+
longitude: -122.45,
|
|
14
|
+
latitude: 37.78,
|
|
15
|
+
zoom: 12,
|
|
16
|
+
pitch: 30,
|
|
17
|
+
bearing: 15
|
|
18
|
+
});
|
|
19
|
+
let latMin = 90;
|
|
20
|
+
let latMax = -90;
|
|
21
|
+
let lonMin = 180;
|
|
22
|
+
let lonMax = -180;
|
|
23
|
+
coords.forEach(function (coord) {
|
|
24
|
+
const RECT_LAT_INDEX = "0";
|
|
25
|
+
const RECT_LON_INDEX = "1";
|
|
26
|
+
if (coord[RECT_LAT_INDEX] < latMin) latMin = coord[RECT_LAT_INDEX];
|
|
27
|
+
if (coord[RECT_LAT_INDEX] > latMax) latMax = coord[RECT_LAT_INDEX];
|
|
28
|
+
if (coord[RECT_LON_INDEX] < lonMin) lonMin = coord[RECT_LON_INDEX];
|
|
29
|
+
if (coord[RECT_LON_INDEX] > lonMax) lonMax = coord[RECT_LON_INDEX];
|
|
30
|
+
});
|
|
31
|
+
const bounds = [[lonMin, latMax], [lonMax, latMin]];
|
|
32
|
+
const {
|
|
33
|
+
longitude,
|
|
34
|
+
latitude,
|
|
35
|
+
zoom
|
|
36
|
+
} = view.fitBounds(bounds, {
|
|
37
|
+
padding: {
|
|
38
|
+
top: 50,
|
|
39
|
+
bottom: 50,
|
|
40
|
+
left: 50,
|
|
41
|
+
right: 50
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
longitude,
|
|
46
|
+
latitude,
|
|
47
|
+
zoom
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.MapHelper = MapHelper;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ZarrHelper = exports.GET_OPTIONS = void 0;
|
|
7
|
+
var _zarr = require("zarr");
|
|
8
|
+
const GET_OPTIONS = exports.GET_OPTIONS = {
|
|
9
|
+
concurrencyLimit: 10,
|
|
10
|
+
// max number of concurrent requests (default 10)
|
|
11
|
+
progressCallback: _ref => {
|
|
12
|
+
let {
|
|
13
|
+
progress,
|
|
14
|
+
queueSize
|
|
15
|
+
} = _ref;
|
|
16
|
+
console.log("".concat(progress / queueSize * 100, "% complete."));
|
|
17
|
+
} // callback executed after each request
|
|
18
|
+
};
|
|
19
|
+
class ZarrHelper {
|
|
20
|
+
async open(url, path) {
|
|
21
|
+
const z = await (0, _zarr.openArray)({
|
|
22
|
+
store: url,
|
|
23
|
+
path: path,
|
|
24
|
+
mode: "r"
|
|
25
|
+
});
|
|
26
|
+
return z;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.ZarrHelper = ZarrHelper;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haniffalab/cherita-react",
|
|
3
|
-
"version": "0.2.0-dev.2024-
|
|
3
|
+
"version": "0.2.0-dev.2024-03-27.cff3436e",
|
|
4
4
|
"author": "",
|
|
5
5
|
"license": "",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"url": "https://github.com/haniffalab/cherita-react/issues"
|
|
79
79
|
},
|
|
80
80
|
"homepage": "https://github.com/haniffalab/cherita-react#readme",
|
|
81
|
-
"prereleaseSha": "
|
|
81
|
+
"prereleaseSha": "cff3436e43cdef28cacfc8209100972b25611b55"
|
|
82
82
|
}
|
package/dist/helpers/color.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ColorHelper = void 0;
|
|
7
|
-
var _chromaJs = _interopRequireDefault(require("chroma-js"));
|
|
8
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
var _constants = require("../constants/constants");
|
|
10
|
-
var _DatasetContext = require("../context/DatasetContext");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
14
|
-
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); }
|
|
15
|
-
class ColorHelper {
|
|
16
|
-
constructor() {
|
|
17
|
-
_defineProperty(this, "getScale", (dataset, values) => {
|
|
18
|
-
return _chromaJs.default.scale(_constants.CHROMA_COLORSCALES[dataset.controls.colorScale]).domain([_lodash.default.min(values), _lodash.default.max(values)]);
|
|
19
|
-
});
|
|
20
|
-
_defineProperty(this, "getColor", function (dataset, value) {
|
|
21
|
-
let scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _chromaJs.default.scale();
|
|
22
|
-
if (dataset.colorEncoding === "var") {
|
|
23
|
-
return scale(value).rgb();
|
|
24
|
-
} else if (dataset.colorEncoding === "obs") {
|
|
25
|
-
//console.log(dataset.obs[dataset.selectedObs.name].state[value]["color"]);
|
|
26
|
-
return dataset.obs[dataset.selectedObs.name].state.hasOwnProperty(value) ? dataset.obs[dataset.selectedObs.name].state[value]["color"] : null;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.ColorHelper = ColorHelper;
|
package/dist/helpers/map.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.MapHelper = void 0;
|
|
7
|
-
var _core = require("@deck.gl/core");
|
|
8
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
10
|
-
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); }
|
|
11
|
-
class MapHelper {
|
|
12
|
-
constructor() {
|
|
13
|
-
_defineProperty(this, "fitBounds", coords => {
|
|
14
|
-
let view = new _core.WebMercatorViewport({
|
|
15
|
-
width: 600,
|
|
16
|
-
height: 400,
|
|
17
|
-
longitude: -122.45,
|
|
18
|
-
latitude: 37.78,
|
|
19
|
-
zoom: 12,
|
|
20
|
-
pitch: 30,
|
|
21
|
-
bearing: 15
|
|
22
|
-
});
|
|
23
|
-
let latMin = 90;
|
|
24
|
-
let latMax = -90;
|
|
25
|
-
let lonMin = 180;
|
|
26
|
-
let lonMax = -180;
|
|
27
|
-
coords.forEach(function (coord) {
|
|
28
|
-
const RECT_LAT_INDEX = "0";
|
|
29
|
-
const RECT_LON_INDEX = "1";
|
|
30
|
-
if (coord[RECT_LAT_INDEX] < latMin) latMin = coord[RECT_LAT_INDEX];
|
|
31
|
-
if (coord[RECT_LAT_INDEX] > latMax) latMax = coord[RECT_LAT_INDEX];
|
|
32
|
-
if (coord[RECT_LON_INDEX] < lonMin) lonMin = coord[RECT_LON_INDEX];
|
|
33
|
-
if (coord[RECT_LON_INDEX] > lonMax) lonMax = coord[RECT_LON_INDEX];
|
|
34
|
-
});
|
|
35
|
-
const bounds = [[lonMin, latMax], [lonMax, latMin]];
|
|
36
|
-
const {
|
|
37
|
-
longitude,
|
|
38
|
-
latitude,
|
|
39
|
-
zoom
|
|
40
|
-
} = view.fitBounds(bounds, {
|
|
41
|
-
padding: {
|
|
42
|
-
top: 50,
|
|
43
|
-
bottom: 50,
|
|
44
|
-
left: 50,
|
|
45
|
-
right: 50
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
return {
|
|
49
|
-
longitude,
|
|
50
|
-
latitude,
|
|
51
|
-
zoom
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.MapHelper = MapHelper;
|
package/dist/helpers/zarr.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ZarrHelper = exports.GET_OPTIONS = void 0;
|
|
7
|
-
var _zarr = require("zarr");
|
|
8
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
10
|
-
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); }
|
|
11
|
-
const GET_OPTIONS = exports.GET_OPTIONS = {
|
|
12
|
-
concurrencyLimit: 10,
|
|
13
|
-
// max number of concurrent requests (default 10)
|
|
14
|
-
progressCallback: _ref => {
|
|
15
|
-
let {
|
|
16
|
-
progress,
|
|
17
|
-
queueSize
|
|
18
|
-
} = _ref;
|
|
19
|
-
console.log("".concat(progress / queueSize * 100, "% complete."));
|
|
20
|
-
} // callback executed after each request
|
|
21
|
-
};
|
|
22
|
-
class ZarrHelper {
|
|
23
|
-
constructor() {
|
|
24
|
-
_defineProperty(this, "open", async (url, path) => {
|
|
25
|
-
const z = await (0, _zarr.openArray)({
|
|
26
|
-
store: url,
|
|
27
|
-
path: path,
|
|
28
|
-
mode: "r"
|
|
29
|
-
});
|
|
30
|
-
return z;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.ZarrHelper = ZarrHelper;
|