@haniffalab/cherita-react 0.2.0-dev.2025-01-22.f523ac5e → 0.2.0-dev.2025-01-28.4d5ab0a4

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 (43) hide show
  1. package/README.md +5 -0
  2. package/dist/components/dotplot/Dotplot.js +19 -26
  3. package/dist/components/dotplot/DotplotControls.js +106 -147
  4. package/dist/components/full-page/FullPage.js +99 -148
  5. package/dist/components/heatmap/Heatmap.js +19 -26
  6. package/dist/components/heatmap/HeatmapControls.js +7 -13
  7. package/dist/components/matrixplot/Matrixplot.js +19 -26
  8. package/dist/components/matrixplot/MatrixplotControls.js +14 -35
  9. package/dist/components/obs-list/ObsItem.js +182 -239
  10. package/dist/components/obs-list/ObsList.js +40 -49
  11. package/dist/components/obs-list/ObsToolbar.js +44 -55
  12. package/dist/components/obsm-list/ObsmList.js +15 -23
  13. package/dist/components/offcanvas/index.js +45 -75
  14. package/dist/components/pseudospatial/Pseudospatial.js +26 -34
  15. package/dist/components/pseudospatial/PseudospatialControls.js +1 -2
  16. package/dist/components/pseudospatial/PseudospatialToolbar.js +37 -65
  17. package/dist/components/scatterplot/Scatterplot.js +74 -89
  18. package/dist/components/scatterplot/ScatterplotControls.js +28 -39
  19. package/dist/components/scatterplot/SpatialControls.js +94 -117
  20. package/dist/components/scatterplot/Toolbox.js +16 -24
  21. package/dist/components/search-bar/SearchBar.js +45 -54
  22. package/dist/components/search-bar/SearchResults.js +36 -49
  23. package/dist/components/var-list/VarItem.js +112 -160
  24. package/dist/components/var-list/VarList.js +81 -124
  25. package/dist/components/var-list/VarListToolbar.js +48 -59
  26. package/dist/components/var-list/VarSet.js +95 -120
  27. package/dist/components/violin/Violin.js +31 -46
  28. package/dist/components/violin/ViolinControls.js +8 -22
  29. package/dist/context/DatasetContext.js +17 -27
  30. package/dist/context/FilterContext.js +8 -12
  31. package/dist/context/ZarrDataContext.js +6 -9
  32. package/dist/helpers/color-helper.js +11 -12
  33. package/dist/helpers/map-helper.js +7 -8
  34. package/dist/helpers/zarr-helper.js +9 -15
  35. package/dist/utils/Histogram.js +34 -41
  36. package/dist/utils/ImageViewer.js +9 -14
  37. package/dist/utils/Legend.js +30 -40
  38. package/dist/utils/LoadingIndicators.js +16 -19
  39. package/dist/utils/VirtualizedList.js +32 -39
  40. package/dist/utils/requests.js +15 -25
  41. package/dist/utils/string.js +4 -9
  42. package/dist/utils/zarrData.js +2 -8
  43. package/package.json +40 -34
@@ -8,7 +8,6 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _lodash = _interopRequireDefault(require("lodash"));
9
9
  var _reactBootstrap = require("react-bootstrap");
10
10
  var _SearchResults = require("./SearchResults");
11
- var _jsxRuntime = require("react/jsx-runtime");
12
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
12
  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); }
14
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -26,12 +25,11 @@ function onVarSelect(dispatch, item) {
26
25
  value: "var"
27
26
  });
28
27
  }
29
- function SearchBar(_ref) {
30
- let {
31
- searchVar = true,
32
- searchDiseases = false,
33
- handleSelect = onVarSelect
34
- } = _ref;
28
+ function SearchBar({
29
+ searchVar = true,
30
+ searchDiseases = false,
31
+ handleSelect = onVarSelect
32
+ }) {
35
33
  const [showSuggestions, setShowSuggestions] = (0, _react.useState)(false);
36
34
  const [text, setText] = (0, _react.useState)("");
37
35
  const inputRef = (0, _react.useRef)(null);
@@ -41,51 +39,44 @@ function SearchBar(_ref) {
41
39
  setShowSuggestions(true);
42
40
  }
43
41
  }, [text]);
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Form, {
46
- onSubmit: e => {
47
- e.preventDefault();
48
- },
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.FormGroup, {
50
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Form.Control, {
51
- ref: inputRef,
52
- onFocus: () => {
53
- setShowSuggestions(text.length > 0);
54
- },
55
- onBlur: () => {
56
- _lodash.default.delay(() => {
57
- setShowSuggestions(false);
58
- }, 150);
59
- },
60
- type: "text",
61
- placeholder: "Search " + displayText,
62
- value: text,
63
- onChange: e => {
64
- setText(e.target.value);
65
- }
66
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown, {
67
- show: showSuggestions,
68
- onMouseDown: e => {
69
- e.preventDefault();
70
- },
71
- onSelect: () => {
72
- inputRef.current.blur();
73
- },
74
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Dropdown.Menu, {
75
- style: {
76
- width: "90%"
77
- },
78
- children: [searchVar && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchResults.VarSearchResults, {
79
- text: text,
80
- setShowSuggestions: setShowSuggestions,
81
- handleSelect: handleSelect
82
- }), searchVar && searchDiseases && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Divider, {}), searchDiseases && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchResults.DiseasesSearchResults, {
83
- text: text,
84
- setShowSuggestions: setShowSuggestions
85
- })]
86
- })
87
- })]
88
- })
89
- })
90
- });
42
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form, {
43
+ onSubmit: e => {
44
+ e.preventDefault();
45
+ }
46
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.FormGroup, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Control, {
47
+ ref: inputRef,
48
+ onFocus: () => {
49
+ setShowSuggestions(text.length > 0);
50
+ },
51
+ onBlur: () => {
52
+ _lodash.default.delay(() => {
53
+ setShowSuggestions(false);
54
+ }, 150);
55
+ },
56
+ type: "text",
57
+ placeholder: "Search " + displayText,
58
+ value: text,
59
+ onChange: e => {
60
+ setText(e.target.value);
61
+ }
62
+ }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown, {
63
+ show: showSuggestions,
64
+ onMouseDown: e => {
65
+ e.preventDefault();
66
+ },
67
+ onSelect: () => {
68
+ inputRef.current.blur();
69
+ }
70
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Menu, {
71
+ style: {
72
+ width: "90%"
73
+ }
74
+ }, searchVar && /*#__PURE__*/_react.default.createElement(_SearchResults.VarSearchResults, {
75
+ text: text,
76
+ setShowSuggestions: setShowSuggestions,
77
+ handleSelect: handleSelect
78
+ }), searchVar && searchDiseases && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Divider, null), searchDiseases && /*#__PURE__*/_react.default.createElement(_SearchResults.DiseasesSearchResults, {
79
+ text: text,
80
+ setShowSuggestions: setShowSuggestions
81
+ }))))));
91
82
  }
@@ -10,16 +10,14 @@ var _lodash = _interopRequireDefault(require("lodash"));
10
10
  var _reactBootstrap = require("react-bootstrap");
11
11
  var _DatasetContext = require("../../context/DatasetContext");
12
12
  var _search = require("../../utils/search");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
14
  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); }
16
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
- function VarSearchResults(_ref) {
18
- let {
19
- text,
20
- setShowSuggestions,
21
- handleSelect
22
- } = _ref;
16
+ function VarSearchResults({
17
+ text,
18
+ setShowSuggestions,
19
+ handleSelect
20
+ }) {
23
21
  const [suggestions, setSuggestions] = (0, _react.useState)([]);
24
22
  const dispatch = (0, _DatasetContext.useDatasetDispatch)();
25
23
  const {
@@ -59,7 +57,8 @@ function VarSearchResults(_ref) {
59
57
  }, [fetchedData, isPending, serverError, setShowSuggestions]);
60
58
  const suggestionsList = (0, _react.useMemo)(() => {
61
59
  return deferredData?.map(item => {
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Item, {
60
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Item, {
61
+ key: item.name,
63
62
  as: "button",
64
63
  disabled: isStale,
65
64
  onClick: () => {
@@ -67,32 +66,25 @@ function VarSearchResults(_ref) {
67
66
  _lodash.default.delay(() => {
68
67
  setShowSuggestions(false);
69
68
  }, 150);
70
- },
71
- children: item.name
69
+ }
72
70
  }, item.name);
73
71
  });
74
72
  }, [deferredData, dispatch, handleSelect, isStale, setShowSuggestions]);
75
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
76
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Header, {
77
- children: "Features"
78
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
79
- style: {
80
- maxHeight: "25vh",
81
- overflowY: "scroll"
82
- },
83
- children: deferredData?.length ? suggestionsList : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Item, {
84
- as: "button",
85
- disabled: true,
86
- children: !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"
87
- }, "empty")
88
- })]
89
- });
73
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Header, null, "Features"), /*#__PURE__*/_react.default.createElement("div", {
74
+ style: {
75
+ maxHeight: "25vh",
76
+ overflowY: "scroll"
77
+ }
78
+ }, deferredData?.length ? suggestionsList : /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Item, {
79
+ key: "empty",
80
+ as: "button",
81
+ disabled: true
82
+ }, !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data")));
90
83
  }
91
- function DiseasesSearchResults(_ref2) {
92
- let {
93
- text,
94
- setShowSuggestions
95
- } = _ref2;
84
+ function DiseasesSearchResults({
85
+ text,
86
+ setShowSuggestions
87
+ }) {
96
88
  const [suggestions, setSuggestions] = (0, _react.useState)([]);
97
89
  const dispatch = (0, _DatasetContext.useDatasetDispatch)();
98
90
  const {
@@ -131,7 +123,8 @@ function DiseasesSearchResults(_ref2) {
131
123
  }, [fetchedData, isPending, serverError, setShowSuggestions]);
132
124
  const suggestionsList = (0, _react.useMemo)(() => {
133
125
  return deferredData?.map(item => {
134
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Item, {
126
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Item, {
127
+ key: item.id,
135
128
  as: "button",
136
129
  disabled: isStale,
137
130
  onClick: () => {
@@ -143,24 +136,18 @@ function DiseasesSearchResults(_ref2) {
143
136
  _lodash.default.delay(() => {
144
137
  setShowSuggestions(false);
145
138
  }, 150);
146
- },
147
- children: item.disease_name
148
- }, item.id);
139
+ }
140
+ }, item.disease_name);
149
141
  });
150
142
  }, [deferredData, dispatch, isStale, setShowSuggestions]);
151
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
152
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Header, {
153
- children: "Diseases"
154
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
155
- style: {
156
- maxHeight: "25vh",
157
- overflowY: "scroll"
158
- },
159
- children: deferredData?.length ? suggestionsList : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Item, {
160
- as: "button",
161
- disabled: true,
162
- children: !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"
163
- }, "empty")
164
- })]
165
- });
143
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Header, null, "Diseases"), /*#__PURE__*/_react.default.createElement("div", {
144
+ style: {
145
+ maxHeight: "25vh",
146
+ overflowY: "scroll"
147
+ }
148
+ }, deferredData?.length ? suggestionsList : /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Item, {
149
+ key: "empty",
150
+ as: "button",
151
+ disabled: true
152
+ }, !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data")));
166
153
  }
@@ -17,14 +17,12 @@ var _FilterContext = require("../../context/FilterContext");
17
17
  var _Histogram = require("../../utils/Histogram");
18
18
  var _requests = require("../../utils/requests");
19
19
  var _VirtualizedList = require("../../utils/VirtualizedList");
20
- var _jsxRuntime = require("react/jsx-runtime");
21
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
21
  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); }
23
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
- function VarHistogram(_ref) {
25
- let {
26
- item
27
- } = _ref;
23
+ function VarHistogram({
24
+ item
25
+ }) {
28
26
  const ENDPOINT = "var/histograms";
29
27
  const dataset = (0, _DatasetContext.useDataset)();
30
28
  const {
@@ -53,7 +51,7 @@ function VarHistogram(_ref) {
53
51
  } = (0, _requests.useDebouncedFetch)(ENDPOINT, params, {
54
52
  refetchOnMount: false
55
53
  });
56
- return !serverError && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Histogram.Histogram, {
54
+ return !serverError && /*#__PURE__*/_react.default.createElement(_Histogram.Histogram, {
57
55
  data: fetchedData,
58
56
  isPending: isPending,
59
57
  altColor: isSliced
@@ -61,77 +59,47 @@ function VarHistogram(_ref) {
61
59
  }
62
60
  function VarDiseaseInfoItem(item) {
63
61
  const dispatch = (0, _DatasetContext.useDatasetDispatch)();
64
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
65
- className: "feature-disease-info",
66
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
67
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
68
- type: "button",
69
- className: "btn btn-link",
70
- onClick: () => {
71
- dispatch({
72
- type: "select.disease",
73
- id: item.disease_id,
74
- name: item.disease_name
75
- });
76
- },
77
- children: item.disease_name
78
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("br", {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Table, {
79
- striped: true,
80
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("tbody", {
81
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("tr", {
82
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
83
- children: "Confidence"
84
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
85
- children: item.confidence || "unknown"
86
- })]
87
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("tr", {
88
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("td", {
89
- children: ["Organ", item.organs.length > 1 ? "s" : ""]
90
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
91
- children: item.organs.map(o => o.name).join(", ")
92
- })]
93
- }), !_lodash.default.isEmpty(item.metadata) && _lodash.default.map(item.metadata, (value, key) => {
94
- if (value !== null && value !== undefined) {
95
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("tr", {
96
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
97
- children: key
98
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
99
- children: value
100
- })]
101
- });
102
- }
103
- })]
104
- })
105
- })]
106
- })
107
- }, item.disease_name);
62
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
63
+ key: item.disease_name,
64
+ className: "feature-disease-info"
65
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
66
+ type: "button",
67
+ className: "btn btn-link",
68
+ onClick: () => {
69
+ dispatch({
70
+ type: "select.disease",
71
+ id: item.disease_id,
72
+ name: item.disease_name
73
+ });
74
+ }
75
+ }, item.disease_name), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Table, {
76
+ striped: true
77
+ }, /*#__PURE__*/_react.default.createElement("tbody", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, "Confidence"), /*#__PURE__*/_react.default.createElement("td", null, item.confidence || "unknown")), /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, "Organ", item.organs.length > 1 ? "s" : ""), /*#__PURE__*/_react.default.createElement("td", null, item.organs.map(o => o.name).join(", "))), !_lodash.default.isEmpty(item.metadata) && _lodash.default.map(item.metadata, (value, key) => {
78
+ if (value !== null && value !== undefined) {
79
+ return /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, key), /*#__PURE__*/_react.default.createElement("td", null, value));
80
+ }
81
+ })))));
108
82
  }
109
- function VarDiseaseInfo(_ref2) {
110
- let {
111
- data
112
- } = _ref2;
113
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
114
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup, {
115
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VirtualizedList.VirtualizedList, {
116
- getDataAtIndex: index => data[index],
117
- count: data.length,
118
- estimateSize: 140,
119
- maxHeight: "100%",
120
- ItemComponent: VarDiseaseInfoItem
121
- })
122
- })
123
- });
83
+ function VarDiseaseInfo({
84
+ data
85
+ }) {
86
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, /*#__PURE__*/_react.default.createElement(_VirtualizedList.VirtualizedList, {
87
+ getDataAtIndex: index => data[index],
88
+ count: data.length,
89
+ estimateSize: 140,
90
+ maxHeight: "100%",
91
+ ItemComponent: VarDiseaseInfoItem
92
+ })));
124
93
  }
125
- function SingleSelectionItem(_ref3) {
126
- let {
127
- item,
128
- isActive,
129
- selectVar,
130
- removeVar,
131
- isDiseaseGene = false,
132
- showSetColorEncoding = true,
133
- showRemove = true
134
- } = _ref3;
94
+ function SingleSelectionItem({
95
+ item,
96
+ isActive,
97
+ selectVar,
98
+ removeVar,
99
+ isDiseaseGene = false,
100
+ showSetColorEncoding = true,
101
+ showRemove = true
102
+ }) {
135
103
  const ENDPOINT = "disease/gene";
136
104
  const [openInfo, setOpenInfo] = (0, _react.useState)(false);
137
105
  const dataset = (0, _DatasetContext.useDataset)();
@@ -149,92 +117,76 @@ function SingleSelectionItem(_ref3) {
149
117
  enabled: !!dataset.diseaseDatasets.length
150
118
  });
151
119
  const hasDiseaseInfo = !isPending && !serverError && !!fetchedData.length;
152
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
153
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
154
- className: `d-flex justify-content-between ${hasDiseaseInfo ? "cursor-pointer" : ""}`,
155
- onClick: () => {
156
- setOpenInfo(o => !o);
157
- },
158
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
159
- className: "d-flex justify-content-between align-items-center w-100",
160
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
161
- children: item.name
162
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
163
- className: "d-flex align-items-center gap-1",
164
- children: [hasDiseaseInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_iconsMaterial.MoreVert, {}), !isDiseaseGene && /*#__PURE__*/(0, _jsxRuntime.jsx)(VarHistogram, {
165
- item: item
166
- }), showSetColorEncoding && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
167
- type: "button",
168
- variant: isActive ? "primary" : isNotInData ? "outline-secondary" : "outline-primary",
169
- className: "m-0 p-0 px-1",
170
- onClick: e => {
171
- e.stopPropagation();
172
- selectVar();
173
- },
174
- disabled: isNotInData,
175
- title: isNotInData ? "Not present in data" : "Set as color encoding",
176
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
177
- icon: _freeSolidSvgIcons.faDroplet
178
- })
179
- }, item.matrix_index), (!isDiseaseGene || !showRemove) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
180
- type: "button",
181
- className: "m-0 p-0 px-1",
182
- variant: "outline-secondary",
183
- title: "Remove from list",
184
- onClick: e => {
185
- e.stopPropagation();
186
- removeVar();
187
- },
188
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
189
- icon: _freeSolidSvgIcons.faTrash
190
- })
191
- })]
192
- })]
193
- })
194
- }), hasDiseaseInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Collapse, {
195
- in: openInfo,
196
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
197
- className: "mt-2 var-disease-info-collapse",
198
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(VarDiseaseInfo, {
199
- data: fetchedData
200
- })
201
- })
202
- })]
203
- });
120
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
121
+ className: `d-flex justify-content-between ${hasDiseaseInfo ? "cursor-pointer" : ""}`,
122
+ onClick: () => {
123
+ setOpenInfo(o => !o);
124
+ }
125
+ }, /*#__PURE__*/_react.default.createElement("div", {
126
+ className: "d-flex justify-content-between align-items-center w-100"
127
+ }, /*#__PURE__*/_react.default.createElement("div", null, item.name), /*#__PURE__*/_react.default.createElement("div", {
128
+ className: "d-flex align-items-center gap-1"
129
+ }, hasDiseaseInfo && /*#__PURE__*/_react.default.createElement(_iconsMaterial.MoreVert, null), !isDiseaseGene && /*#__PURE__*/_react.default.createElement(VarHistogram, {
130
+ item: item
131
+ }), showSetColorEncoding && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
132
+ type: "button",
133
+ key: item.matrix_index,
134
+ variant: isActive ? "primary" : isNotInData ? "outline-secondary" : "outline-primary",
135
+ className: "m-0 p-0 px-1",
136
+ onClick: e => {
137
+ e.stopPropagation();
138
+ selectVar();
139
+ },
140
+ disabled: isNotInData,
141
+ title: isNotInData ? "Not present in data" : "Set as color encoding"
142
+ }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
143
+ icon: _freeSolidSvgIcons.faDroplet
144
+ })), (!isDiseaseGene || !showRemove) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
145
+ type: "button",
146
+ className: "m-0 p-0 px-1",
147
+ variant: "outline-secondary",
148
+ title: "Remove from list",
149
+ onClick: e => {
150
+ e.stopPropagation();
151
+ removeVar();
152
+ }
153
+ }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
154
+ icon: _freeSolidSvgIcons.faTrash
155
+ }))))), hasDiseaseInfo && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Collapse, {
156
+ in: openInfo
157
+ }, /*#__PURE__*/_react.default.createElement("div", {
158
+ className: "mt-2 var-disease-info-collapse"
159
+ }, /*#__PURE__*/_react.default.createElement(VarDiseaseInfo, {
160
+ data: fetchedData
161
+ }))));
204
162
  }
205
- function MultipleSelectionItem(_ref4) {
206
- let {
207
- item,
208
- isActive,
209
- toggleVar
210
- } = _ref4;
163
+ function MultipleSelectionItem({
164
+ item,
165
+ isActive,
166
+ toggleVar
167
+ }) {
211
168
  const isNotInData = item.matrix_index === -1;
212
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
213
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
214
- className: "d-flex",
215
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
216
- className: "flex-grow-1",
217
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
218
- type: "button",
219
- variant: isActive ? "primary" : "outline-primary",
220
- className: "m-0 p-0 px-1",
221
- onClick: toggleVar,
222
- disabled: isNotInData,
223
- title: isNotInData ? "Not present in data" : item.name,
224
- children: item.name
225
- }, item.matrix_index)
226
- })
227
- })
228
- });
169
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
170
+ className: "d-flex"
171
+ }, /*#__PURE__*/_react.default.createElement("div", {
172
+ className: "flex-grow-1"
173
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
174
+ type: "button",
175
+ key: item.matrix_index,
176
+ variant: isActive ? "primary" : "outline-primary",
177
+ className: "m-0 p-0 px-1",
178
+ onClick: toggleVar,
179
+ disabled: isNotInData,
180
+ title: isNotInData ? "Not present in data" : item.name
181
+ }, item.name))));
229
182
  }
230
- function VarItem(_ref5) {
231
- let {
232
- item,
233
- active,
234
- setVarButtons,
235
- mode = _constants.SELECTION_MODES.SINGLE,
236
- isDiseaseGene = false
237
- } = _ref5;
183
+ function VarItem({
184
+ item,
185
+ active,
186
+ setVarButtons,
187
+ mode = _constants.SELECTION_MODES.SINGLE,
188
+ isDiseaseGene = false
189
+ }) {
238
190
  const dataset = (0, _DatasetContext.useDataset)();
239
191
  const dispatch = (0, _DatasetContext.useDatasetDispatch)();
240
192
  const selectVar = () => {
@@ -284,7 +236,7 @@ function VarItem(_ref5) {
284
236
  }
285
237
  };
286
238
  if (item && mode === _constants.SELECTION_MODES.SINGLE) {
287
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(SingleSelectionItem, {
239
+ return /*#__PURE__*/_react.default.createElement(SingleSelectionItem, {
288
240
  item: item,
289
241
  isActive: dataset.colorEncoding === _constants.COLOR_ENCODINGS.VAR && active === item.matrix_index,
290
242
  selectVar: selectVar,
@@ -292,7 +244,7 @@ function VarItem(_ref5) {
292
244
  isDiseaseGene: isDiseaseGene
293
245
  });
294
246
  } else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
295
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(MultipleSelectionItem, {
247
+ return /*#__PURE__*/_react.default.createElement(MultipleSelectionItem, {
296
248
  item: item,
297
249
  isActive: item.matrix_index !== -1 && _lodash.default.includes(active, item.matrix_index),
298
250
  toggleVar: toggleVar