@haniffalab/cherita-react 0.1.12 → 0.2.0-dev.2024-02-12.4d768f57

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.
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -11,16 +10,25 @@ var _lodash = _interopRequireDefault(require("lodash"));
11
10
  var _react = _interopRequireWildcard(require("react"));
12
11
  var _DatasetContext = require("../../context/DatasetContext");
13
12
  var _requests = require("../../utils/requests");
13
+ var _chromaJs = _interopRequireDefault(require("chroma-js"));
14
+ var _color = require("../../helpers/color");
15
+ var _LoadingSpinner = require("../../utils/LoadingSpinner");
14
16
  var _reactBootstrap = require("react-bootstrap");
15
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
18
21
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
22
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
23
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
24
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
22
25
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
23
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+ 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; }
30
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
31
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
24
32
  var N_BINS = 5;
25
33
  function binContinuous(data) {
26
34
  var nBins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : N_BINS;
@@ -28,38 +36,95 @@ function binContinuous(data) {
28
36
  var thresholds = _lodash.default.range(nBins + 1).map(function (b) {
29
37
  return data.min + binSize * b;
30
38
  });
31
- data.bins = {
39
+ var bins = {
32
40
  nBins: nBins,
33
41
  binSize: binSize,
34
42
  thresholds: thresholds
35
43
  };
36
- return data;
44
+ return _objectSpread(_objectSpread({}, data), bins);
37
45
  }
38
46
  function binDiscrete(data) {
39
47
  var nBins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : N_BINS;
40
48
  var binSize = _lodash.default.round(data.n_values * (1 / nBins));
41
- data.bins = {
49
+ var bins = {
42
50
  nBins: nBins,
43
51
  binSize: binSize
44
52
  };
45
- return data;
53
+ return _objectSpread(_objectSpread({}, data), bins);
46
54
  }
47
55
  function ObsColsList() {
56
+ var ENDPOINT = "obs/cols";
48
57
  var dataset = (0, _DatasetContext.useDataset)();
49
58
  var dispatch = (0, _DatasetContext.useDatasetDispatch)();
50
59
  var _useState = (0, _react.useState)([]),
51
60
  _useState2 = _slicedToArray(_useState, 2),
52
61
  obsColsList = _useState2[0],
53
62
  setObsColsList = _useState2[1];
54
- var _useState3 = (0, _react.useState)(null),
63
+ var _useState3 = (0, _react.useState)([]),
55
64
  _useState4 = _slicedToArray(_useState3, 2),
56
- active = _useState4[0],
57
- setActive = _useState4[1];
58
- (0, _react.useEffect)(function () {
59
- (0, _requests.fetchData)("obs/cols", {
65
+ obs = _useState4[0],
66
+ setObs = _useState4[1];
67
+ var _useState5 = (0, _react.useState)(false),
68
+ _useState6 = _slicedToArray(_useState5, 2),
69
+ updatedObsColsList = _useState6[0],
70
+ setUpdatedObsColsList = _useState6[1];
71
+ var _useState7 = (0, _react.useState)(null),
72
+ _useState8 = _slicedToArray(_useState7, 2),
73
+ active = _useState8[0],
74
+ setActive = _useState8[1];
75
+ var _useState9 = (0, _react.useState)({
60
76
  url: dataset.url
61
- }).then(function (data) {
62
- setObsColsList(data.map(function (d) {
77
+ }),
78
+ _useState10 = _slicedToArray(_useState9, 2),
79
+ params = _useState10[0],
80
+ setParams = _useState10[1];
81
+ var colorHelper = new _color.ColorHelper();
82
+ (0, _react.useEffect)(function () {
83
+ setParams(function (p) {
84
+ return _objectSpread(_objectSpread({}, p), {}, {
85
+ url: dataset.url
86
+ });
87
+ });
88
+ }, [dataset.url]);
89
+ var _useFetch = (0, _requests.useFetch)(ENDPOINT, params, {
90
+ refetchOnMount: false
91
+ }),
92
+ fetchedData = _useFetch.fetchedData,
93
+ isPending = _useFetch.isPending,
94
+ serverError = _useFetch.serverError;
95
+ var validateSelection = (0, _react.useCallback)(function (selectedObs) {
96
+ if (updatedObsColsList) {
97
+ if (!_lodash.default.some(obsColsList, selectedObs)) {
98
+ setActive(null);
99
+ dispatch({
100
+ type: "obsSelected",
101
+ obs: null
102
+ });
103
+ }
104
+ }
105
+ }, [dispatch, obsColsList, updatedObsColsList]);
106
+ (0, _react.useEffect)(function () {
107
+ if (!isPending && !serverError) {
108
+ setObs(fetchedData.reduce(function (result, key) {
109
+ var colors = _chromaJs.default.scale("Accent").colors(key.n_values, "rgb");
110
+ result[key.name] = {
111
+ type: key.type
112
+ };
113
+ if (key.type === "categorical") {
114
+ result[key.name]["is_truncated"] = key.is_truncated;
115
+ result[key.name]["n_values"] = key.n_values;
116
+ result[key.name]["values"] = key.values;
117
+ result[key.name]["state"] = key.values.map(function (value, index) {
118
+ return {
119
+ value: value,
120
+ color: (0, _chromaJs.default)(colors[index]).rgb(),
121
+ checked: true
122
+ };
123
+ });
124
+ }
125
+ return result;
126
+ }, {}));
127
+ setObsColsList(fetchedData.map(function (d) {
63
128
  if (d.type === "continuous") {
64
129
  d = binContinuous(d);
65
130
  }
@@ -68,32 +133,44 @@ function ObsColsList() {
68
133
  }
69
134
  return d;
70
135
  }));
71
- }).catch(function (response) {
72
- response.json().then(function (json) {
73
- console.log(json.message);
74
- });
75
- });
76
- }, [dataset.url]);
136
+ setUpdatedObsColsList(true);
137
+ }
138
+ }, [fetchedData, isPending, serverError]);
77
139
  (0, _react.useEffect)(function () {
78
140
  if (dataset.selectedObs) {
141
+ validateSelection(dataset.selectedObs);
79
142
  setActive(dataset.selectedObs.name);
80
143
  }
81
- }, [dataset.selectedObs]);
144
+ }, [dataset.selectedObs, validateSelection]);
145
+ (0, _react.useEffect)(function () {
146
+ dispatch({
147
+ type: "set.obs",
148
+ value: obs
149
+ });
150
+ }, [obs, dispatch]);
82
151
  function categoricalList(item) {
152
+ console.log(obs);
83
153
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Item, {
84
154
  key: item.name,
85
155
  eventKey: item.name
86
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Header, null, item.name), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Body, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, item.values.map(function (val) {
156
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Header, null, item.name), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Body, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
157
+ variant: "flush"
158
+ }, item.values.map(function (value, index) {
87
159
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
88
- key: val
89
- }, val);
160
+ key: index
161
+ }, value, /*#__PURE__*/_react.default.createElement("span", {
162
+ className: "cm-string cm-color",
163
+ style: {
164
+ backgroundColor: "rgb(".concat(obs[item.name]["state"][index]["color"], ")")
165
+ }
166
+ }));
90
167
  }))));
91
168
  }
92
169
  function continuousList(item) {
93
170
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Item, {
94
171
  key: item.name,
95
172
  eventKey: item.name
96
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Header, null, item.name), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Body, null, /*#__PURE__*/_react.default.createElement("p", null, "Min: ", item.min), /*#__PURE__*/_react.default.createElement("p", null, "Max: ", item.max), /*#__PURE__*/_react.default.createElement("p", null, "Mean: ", item.mean), /*#__PURE__*/_react.default.createElement("p", null, "Median: ", item.median), /*#__PURE__*/_react.default.createElement("p", null, "NBins: ", item.bins.nBins)));
173
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Header, null, item.name), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Body, null, /*#__PURE__*/_react.default.createElement("p", null, "Min: ", item.min), /*#__PURE__*/_react.default.createElement("p", null, "Max: ", item.max), /*#__PURE__*/_react.default.createElement("p", null, "Mean: ", item.mean), /*#__PURE__*/_react.default.createElement("p", null, "Median: ", item.median), /*#__PURE__*/_react.default.createElement("p", null, "NBins: ", item.nBins)));
97
174
  }
98
175
  function otherList(item) {
99
176
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion.Item, {
@@ -112,19 +189,28 @@ function ObsColsList() {
112
189
  }
113
190
  });
114
191
  }, [obsColsList]);
115
- return /*#__PURE__*/_react.default.createElement("div", {
116
- className: ""
117
- }, /*#__PURE__*/_react.default.createElement("div", {
118
- className: "list-group overflow-auto"
119
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion, {
120
- activeKey: active,
121
- onSelect: function onSelect(key) {
122
- dispatch({
123
- type: "obsSelected",
124
- obs: obsColsList.find(function (obs) {
125
- return obs.name === key;
126
- })
127
- });
128
- }
129
- }, obsList)));
192
+ if (!serverError) {
193
+ return /*#__PURE__*/_react.default.createElement("div", {
194
+ className: "position-relative"
195
+ }, /*#__PURE__*/_react.default.createElement("div", {
196
+ className: "list-group overflow-auto"
197
+ }, isPending && /*#__PURE__*/_react.default.createElement(_LoadingSpinner.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Accordion, {
198
+ flush: true,
199
+ activeKey: active,
200
+ onSelect: function onSelect(key) {
201
+ if (key != null) {
202
+ dispatch({
203
+ type: "obsSelected",
204
+ obs: obsColsList.find(function (obs) {
205
+ return obs.name === key;
206
+ })
207
+ });
208
+ }
209
+ }
210
+ }, obsList)));
211
+ } else {
212
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
213
+ variant: "danger"
214
+ }, serverError.message));
215
+ }
130
216
  }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ObsmKeysList = ObsmKeysList;
8
+ require("bootstrap/dist/css/bootstrap.min.css");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _requests = require("../../utils/requests");
11
+ var _DatasetContext = require("../../context/DatasetContext");
12
+ var _LoadingSpinner = require("../../utils/LoadingSpinner");
13
+ var _reactBootstrap = require("react-bootstrap");
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ 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; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+ function ObsmKeysList() {
28
+ var ENDPOINT = "obsm/keys";
29
+ var dataset = (0, _DatasetContext.useDataset)();
30
+ var dispatch = (0, _DatasetContext.useDatasetDispatch)();
31
+ var _useState = (0, _react.useState)([]),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ obsmKeysList = _useState2[0],
34
+ setObsmKeysList = _useState2[1];
35
+ var _useState3 = (0, _react.useState)(null),
36
+ _useState4 = _slicedToArray(_useState3, 2),
37
+ active = _useState4[0],
38
+ setActive = _useState4[1];
39
+ var _useState5 = (0, _react.useState)({
40
+ url: dataset.url
41
+ }),
42
+ _useState6 = _slicedToArray(_useState5, 2),
43
+ params = _useState6[0],
44
+ setParams = _useState6[1];
45
+ (0, _react.useEffect)(function () {
46
+ setParams(function (p) {
47
+ return _objectSpread(_objectSpread({}, p), {}, {
48
+ url: dataset.url
49
+ });
50
+ });
51
+ }, [dataset.url]);
52
+ var _useFetch = (0, _requests.useFetch)(ENDPOINT, params, {
53
+ refetchOnMount: false
54
+ }),
55
+ fetchedData = _useFetch.fetchedData,
56
+ isPending = _useFetch.isPending,
57
+ serverError = _useFetch.serverError;
58
+ (0, _react.useEffect)(function () {
59
+ if (!isPending && !serverError) {
60
+ setObsmKeysList(fetchedData);
61
+ }
62
+ }, [fetchedData, isPending, serverError]);
63
+ (0, _react.useEffect)(function () {
64
+ if (dataset.selectedObsm) {
65
+ setActive(dataset.selectedObsm);
66
+ }
67
+ }, [dataset.selectedObsm]);
68
+ var obsmList = obsmKeysList.map(function (item) {
69
+ return /*#__PURE__*/_react.default.createElement("button", {
70
+ type: "button",
71
+ key: item,
72
+ className: "list-group-item list-grou-item-action ".concat(active === item && "active"),
73
+ onClick: function onClick() {
74
+ dispatch({
75
+ type: "obsmSelected",
76
+ obsm: item
77
+ });
78
+ }
79
+ }, item);
80
+ });
81
+ if (!serverError) {
82
+ return /*#__PURE__*/_react.default.createElement("div", {
83
+ className: ""
84
+ }, isPending && /*#__PURE__*/_react.default.createElement(_LoadingSpinner.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement("div", {
85
+ className: "list-group overflow-auto mh-100"
86
+ }, obsmList));
87
+ } else {
88
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
89
+ variant: "danger"
90
+ }, serverError.message));
91
+ }
92
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Legend = Legend;
7
+ require("bootstrap/dist/css/bootstrap.min.css");
8
+ var _Dropdown = _interopRequireDefault(require("react-bootstrap/Dropdown"));
9
+ var _react = require("react");
10
+ var _DatasetContext = require("../../context/DatasetContext");
11
+ var _lodash = _interopRequireDefault(require("lodash"));
12
+ var _color = require("../../helpers/color");
13
+ var _OverlayTrigger = _interopRequireDefault(require("react-bootstrap/OverlayTrigger"));
14
+ var _layers = require("@nebula.gl/layers");
15
+ var _chromaJs = _interopRequireDefault(require("chroma-js"));
16
+ var _Tooltip = _interopRequireDefault(require("react-bootstrap/Tooltip"));
17
+ var _constants = require("../../constants/constants");
18
+ var _editModes = require("@nebula.gl/edit-modes");
19
+ var _Button = _interopRequireDefault(require("react-bootstrap/Button"));
20
+ var _DropdownButton = _interopRequireDefault(require("react-bootstrap/DropdownButton"));
21
+ var _ButtonGroup = _interopRequireDefault(require("react-bootstrap/ButtonGroup"));
22
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
23
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+ function Legend(_ref) {
26
+ var values = _ref.values;
27
+ var dataset = (0, _DatasetContext.useDataset)();
28
+ var colorHelper = new _color.ColorHelper();
29
+ if (dataset.colorEncoding === "var") {
30
+ var c = colorHelper.getScale(dataset, values);
31
+ var dom = c.domain ? c.domain() : [0, 1],
32
+ dmin = Math.min(dom[0], dom[dom.length - 1]),
33
+ dmax = Math.max(dom[dom.length - 1], dom[0]);
34
+ var legendList = [];
35
+ for (var i = 0; i <= 100; i++) {
36
+ var color = c(dmin + i / 100 * (dmax - dmin));
37
+ //console.log(color.hex());
38
+ legendList.push( /*#__PURE__*/_react.React.createElement("span", {
39
+ className: "grad-step",
40
+ style: {
41
+ backgroundColor: color.hex()
42
+ }
43
+ }));
44
+ }
45
+ return /*#__PURE__*/_react.React.createElement("div", {
46
+ className: "cherita-legend"
47
+ }, /*#__PURE__*/_react.React.createElement("div", {
48
+ className: "gradient"
49
+ }, legendList, /*#__PURE__*/_react.React.createElement("span", {
50
+ className: "domain-min"
51
+ }, dmin), /*#__PURE__*/_react.React.createElement("span", {
52
+ className: "domain-med"
53
+ }, (dmin + dmax) * 0.5), /*#__PURE__*/_react.React.createElement("span", {
54
+ className: "domain-max"
55
+ }, dmax)));
56
+ }
57
+ return /*#__PURE__*/_react.React.createElement(_react.React.Fragment, null);
58
+ }