@haniffalab/cherita-react 1.3.0-dev.2025-05-29.ee7e9b72 → 1.3.0-dev.2025-06-04.bee6fd81
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/cjs/components/dotplot/Dotplot.js +35 -5
- package/dist/cjs/components/full-page/FullPage.js +108 -50
- package/dist/cjs/components/full-page/PlotTypeSelector.js +57 -0
- package/dist/cjs/components/heatmap/Heatmap.js +35 -5
- package/dist/cjs/components/matrixplot/Matrixplot.js +35 -5
- package/dist/cjs/components/obs-list/ObsItem.js +15 -4
- package/dist/cjs/components/obs-list/ObsList.js +4 -3
- package/dist/cjs/components/scatterplot/SpatialControls.js +3 -3
- package/dist/cjs/components/toolbar/Toolbar.js +102 -0
- package/dist/cjs/components/violin/Violin.js +37 -6
- package/dist/cjs/constants/constants.js +14 -2
- package/dist/cjs/index.js +15 -21
- package/dist/css/cherita.css +76 -23
- package/dist/css/cherita.css.map +1 -1
- package/dist/esm/components/dotplot/Dotplot.js +36 -6
- package/dist/esm/components/full-page/FullPage.js +110 -50
- package/dist/esm/components/full-page/PlotTypeSelector.js +50 -0
- package/dist/esm/components/heatmap/Heatmap.js +36 -6
- package/dist/esm/components/matrixplot/Matrixplot.js +36 -6
- package/dist/esm/components/obs-list/ObsItem.js +15 -4
- package/dist/esm/components/obs-list/ObsList.js +4 -3
- package/dist/esm/components/scatterplot/SpatialControls.js +3 -3
- package/dist/esm/components/toolbar/Toolbar.js +91 -0
- package/dist/esm/components/violin/Violin.js +39 -8
- package/dist/esm/constants/constants.js +13 -1
- package/dist/esm/index.js +4 -4
- package/package.json +2 -2
- package/scss/cherita.scss +0 -1
- package/scss/components/layouts.scss +69 -1
- package/scss/components/plotly.scss +19 -14
- package/dist/cjs/components/full-page/FullPagePseudospatial.js +0 -157
- package/dist/esm/components/full-page/FullPagePseudospatial.js +0 -149
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VarPlotlyToolbar = exports.Toolbar = exports.ObsPlotlyToolbar = exports.ControlsPlotlyToolbar = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
9
|
+
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
10
|
+
var _reactBootstrap = require("react-bootstrap");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const Toolbar = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
showObsBtn = true,
|
|
15
|
+
showVarsBtn = true,
|
|
16
|
+
showCtrlsBtn = true,
|
|
17
|
+
setShowObs,
|
|
18
|
+
setShowVars,
|
|
19
|
+
setShowControls
|
|
20
|
+
} = _ref;
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Navbar, {
|
|
22
|
+
expand: "md",
|
|
23
|
+
bg: "primary",
|
|
24
|
+
variant: "dark",
|
|
25
|
+
className: "cherita-navbar"
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
|
|
27
|
+
fluid: true
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Navbar.Toggle, {
|
|
29
|
+
"aria-controls": "navbarScroll"
|
|
30
|
+
}), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Navbar.Collapse, {
|
|
31
|
+
id: "navbarScroll"
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav, {
|
|
33
|
+
navbarScroll: true
|
|
34
|
+
}, showObsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav.Item, {
|
|
35
|
+
className: "me-2"
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav.Link, {
|
|
37
|
+
onClick: () => setShowObs(true)
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
39
|
+
icon: _freeSolidSvgIcons.faList,
|
|
40
|
+
className: "me-2"
|
|
41
|
+
}), "Explore Categories")), showVarsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav.Item, {
|
|
42
|
+
className: "me-2"
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav.Link, {
|
|
44
|
+
onClick: () => setShowVars(true)
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
46
|
+
icon: _freeSolidSvgIcons.faSearch,
|
|
47
|
+
className: "me-2"
|
|
48
|
+
}), "Search Genes")), showCtrlsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav.Item, {
|
|
49
|
+
className: "me-2"
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Nav.Link, {
|
|
51
|
+
onClick: () => setShowControls(true)
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
53
|
+
icon: _freeSolidSvgIcons.faSliders,
|
|
54
|
+
className: "me-2"
|
|
55
|
+
}), "Controls"))))));
|
|
56
|
+
};
|
|
57
|
+
exports.Toolbar = Toolbar;
|
|
58
|
+
const ObsPlotlyToolbar = _ref2 => {
|
|
59
|
+
let {
|
|
60
|
+
onClick
|
|
61
|
+
} = _ref2;
|
|
62
|
+
return {
|
|
63
|
+
name: "Categories",
|
|
64
|
+
icon: {
|
|
65
|
+
width: 512,
|
|
66
|
+
height: 512,
|
|
67
|
+
path: _freeSolidSvgIcons.faList.icon[4]
|
|
68
|
+
},
|
|
69
|
+
click: onClick
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
exports.ObsPlotlyToolbar = ObsPlotlyToolbar;
|
|
73
|
+
const VarPlotlyToolbar = _ref3 => {
|
|
74
|
+
let {
|
|
75
|
+
onClick
|
|
76
|
+
} = _ref3;
|
|
77
|
+
return {
|
|
78
|
+
name: "Features",
|
|
79
|
+
icon: {
|
|
80
|
+
width: 512,
|
|
81
|
+
height: 512,
|
|
82
|
+
path: _freeSolidSvgIcons.faSearch.icon[4]
|
|
83
|
+
},
|
|
84
|
+
click: onClick
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.VarPlotlyToolbar = VarPlotlyToolbar;
|
|
88
|
+
const ControlsPlotlyToolbar = _ref4 => {
|
|
89
|
+
let {
|
|
90
|
+
onClick
|
|
91
|
+
} = _ref4;
|
|
92
|
+
return {
|
|
93
|
+
name: "Controls",
|
|
94
|
+
icon: {
|
|
95
|
+
width: 512,
|
|
96
|
+
height: 512,
|
|
97
|
+
path: _freeSolidSvgIcons.faSliders.icon[4]
|
|
98
|
+
},
|
|
99
|
+
click: onClick
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
exports.ControlsPlotlyToolbar = ControlsPlotlyToolbar;
|
|
@@ -16,6 +16,7 @@ var _FilterContext = require("../../context/FilterContext");
|
|
|
16
16
|
var _SettingsContext = require("../../context/SettingsContext");
|
|
17
17
|
var _LoadingIndicators = require("../../utils/LoadingIndicators");
|
|
18
18
|
var _requests = require("../../utils/requests");
|
|
19
|
+
var _Toolbar = require("../toolbar/Toolbar");
|
|
19
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
21
|
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); }
|
|
21
22
|
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; }
|
|
@@ -26,7 +27,13 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
26
27
|
function Violin(_ref) {
|
|
27
28
|
var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3, _settings$selectedVar4, _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
|
|
28
29
|
let {
|
|
29
|
-
mode = _constants.VIOLIN_MODES.MULTIKEY
|
|
30
|
+
mode = _constants.VIOLIN_MODES.MULTIKEY,
|
|
31
|
+
showObsBtn = false,
|
|
32
|
+
showVarsBtn = false,
|
|
33
|
+
showCtrlsBtn = false,
|
|
34
|
+
setShowObs,
|
|
35
|
+
setShowVars,
|
|
36
|
+
setShowControls
|
|
30
37
|
} = _ref;
|
|
31
38
|
const ENDPOINT = "violin";
|
|
32
39
|
const dataset = (0, _DatasetContext.useDataset)();
|
|
@@ -125,17 +132,29 @@ function Violin(_ref) {
|
|
|
125
132
|
setLayout(fetchedData.layout);
|
|
126
133
|
}
|
|
127
134
|
}, [fetchedData, hasSelections, isPending, serverError]);
|
|
135
|
+
const customModeBarButtons = _lodash.default.compact([showObsBtn && (0, _Toolbar.ObsPlotlyToolbar)({
|
|
136
|
+
onClick: setShowObs
|
|
137
|
+
}), showVarsBtn && (0, _Toolbar.VarPlotlyToolbar)({
|
|
138
|
+
onClick: setShowVars
|
|
139
|
+
}), showCtrlsBtn && (0, _Toolbar.ControlsPlotlyToolbar)({
|
|
140
|
+
onClick: setShowControls
|
|
141
|
+
})]);
|
|
142
|
+
const modeBarButtons = customModeBarButtons.length ? [customModeBarButtons, _constants.PLOTLY_MODEBAR_BUTTONS] : [_constants.PLOTLY_MODEBAR_BUTTONS];
|
|
128
143
|
if (!serverError) {
|
|
129
144
|
if (hasSelections) {
|
|
130
145
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
-
className: "cherita-violin position-relative"
|
|
146
|
+
className: "cherita-plot cherita-violin position-relative"
|
|
132
147
|
}, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactPlotly.default, {
|
|
133
148
|
data: data,
|
|
134
149
|
layout: layout,
|
|
135
150
|
useResizeHandler: true,
|
|
136
151
|
style: {
|
|
137
|
-
|
|
138
|
-
|
|
152
|
+
width: "100%",
|
|
153
|
+
height: "100%"
|
|
154
|
+
},
|
|
155
|
+
config: {
|
|
156
|
+
displaylogo: false,
|
|
157
|
+
modeBarButtons: modeBarButtons
|
|
139
158
|
}
|
|
140
159
|
}), (fetchedData === null || fetchedData === void 0 ? void 0 : fetchedData.resampled) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
141
160
|
variant: "warning"
|
|
@@ -150,9 +169,21 @@ function Violin(_ref) {
|
|
|
150
169
|
className: "cherita-violin"
|
|
151
170
|
}, mode === _constants.VIOLIN_MODES.MULTIKEY && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
152
171
|
variant: "light"
|
|
153
|
-
}, "Select
|
|
172
|
+
}, "Select", " ", showVarsBtn ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
173
|
+
variant: "link",
|
|
174
|
+
className: "border-0 p-0 align-baseline",
|
|
175
|
+
onClick: setShowVars
|
|
176
|
+
}, "features") : "features"), mode === _constants.VIOLIN_MODES.GROUPBY && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
154
177
|
variant: "light"
|
|
155
|
-
}, "Select
|
|
178
|
+
}, "Select", " ", showObsBtn ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
179
|
+
variant: "link",
|
|
180
|
+
className: "border-0 p-0 align-baseline",
|
|
181
|
+
onClick: setShowObs
|
|
182
|
+
}, "categories") : "categories", " ", "and a", " ", showVarsBtn ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
183
|
+
variant: "link",
|
|
184
|
+
className: "border-0 p-0 align-baseline",
|
|
185
|
+
onClick: setShowVars
|
|
186
|
+
}, "feature") : "feature"));
|
|
156
187
|
} else {
|
|
157
188
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
|
|
158
189
|
variant: "danger"
|
|
@@ -3,8 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VIOLIN_MODES = exports.VIOLINPLOT_SCALES = exports.VAR_SORT_ORDER = exports.VAR_SORT = exports.UNSELECTED_POLYGON_FILLCOLOR = exports.SELECTION_MODES = exports.SELECTED_POLYGON_FILLCOLOR = exports.PSEUDOSPATIAL_PLOT_TYPES = exports.PSEUDOSPATIAL_CATEGORICAL_MODES = exports.OBS_TYPES = exports.MATRIXPLOT_SCALES = exports.LOCAL_STORAGE_KEY = exports.DOTPLOT_SCALES = exports.DEFAULT_OBS_GROUP = exports.COLOR_ENCODINGS = void 0;
|
|
6
|
+
exports.VIOLIN_MODES = exports.VIOLINPLOT_SCALES = exports.VAR_SORT_ORDER = exports.VAR_SORT = exports.UNSELECTED_POLYGON_FILLCOLOR = exports.SELECTION_MODES = exports.SELECTED_POLYGON_FILLCOLOR = exports.PSEUDOSPATIAL_PLOT_TYPES = exports.PSEUDOSPATIAL_CATEGORICAL_MODES = exports.PLOT_TYPES = exports.PLOTLY_MODEBAR_BUTTONS = exports.OBS_TYPES = exports.MATRIXPLOT_SCALES = exports.LOCAL_STORAGE_KEY = exports.DOTPLOT_SCALES = exports.DEFAULT_OBS_GROUP = exports.COLOR_ENCODINGS = exports.BREAKPOINTS = void 0;
|
|
7
7
|
const LOCAL_STORAGE_KEY = exports.LOCAL_STORAGE_KEY = "CHERITA";
|
|
8
|
+
const PLOT_TYPES = exports.PLOT_TYPES = {
|
|
9
|
+
SCATTERPLOT: "scatterplot",
|
|
10
|
+
DOTPLOT: "dotplot",
|
|
11
|
+
HEATMAP: "heatmap",
|
|
12
|
+
MATRIXPLOT: "matrixplot",
|
|
13
|
+
VIOLINPLOT: "violinplot"
|
|
14
|
+
};
|
|
8
15
|
const COLOR_ENCODINGS = exports.COLOR_ENCODINGS = {
|
|
9
16
|
VAR: "var",
|
|
10
17
|
OBS: "obs"
|
|
@@ -91,4 +98,9 @@ const PSEUDOSPATIAL_CATEGORICAL_MODES = exports.PSEUDOSPATIAL_CATEGORICAL_MODES
|
|
|
91
98
|
|
|
92
99
|
// `default` cols to be shown out of accordion, at top of obslist
|
|
93
100
|
// default values from cellxgene schema
|
|
94
|
-
const DEFAULT_OBS_GROUP = exports.DEFAULT_OBS_GROUP = ["assay", "cell_type", "development_stage", "disease", "donor_id", "organism", "self_reported_ethnicity", "sex", "suspension_type", "tissue", "tissue_type"];
|
|
101
|
+
const DEFAULT_OBS_GROUP = exports.DEFAULT_OBS_GROUP = ["assay", "cell_type", "development_stage", "disease", "donor_id", "organism", "self_reported_ethnicity", "sex", "suspension_type", "tissue", "tissue_type"];
|
|
102
|
+
const PLOTLY_MODEBAR_BUTTONS = exports.PLOTLY_MODEBAR_BUTTONS = ["toImage", "zoom2d", "pan2d", "zoomIn2d", "zoomOut2d", "autoScale2d", "resetScale2d"];
|
|
103
|
+
const BREAKPOINTS = exports.BREAKPOINTS = {
|
|
104
|
+
LG: "(max-width: 991.98px)",
|
|
105
|
+
XL: "(max-width: 1199.98px)"
|
|
106
|
+
};
|
package/dist/cjs/index.js
CHANGED
|
@@ -39,24 +39,6 @@ Object.defineProperty(exports, "FullPage", {
|
|
|
39
39
|
return _FullPage.FullPage;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
Object.defineProperty(exports, "FullPagePlots", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _FullPage.FullPagePlots;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "FullPagePseudospatial", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
-
return _FullPagePseudospatial.FullPagePseudospatial;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(exports, "FullPageScatterplot", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _FullPage.FullPageScatterplot;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
42
|
Object.defineProperty(exports, "Heatmap", {
|
|
61
43
|
enumerable: true,
|
|
62
44
|
get: function () {
|
|
@@ -117,6 +99,12 @@ Object.defineProperty(exports, "OffcanvasVars", {
|
|
|
117
99
|
return _offcanvas.OffcanvasVars;
|
|
118
100
|
}
|
|
119
101
|
});
|
|
102
|
+
Object.defineProperty(exports, "PLOT_TYPES", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _constants.PLOT_TYPES;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
120
108
|
Object.defineProperty(exports, "Pseudospatial", {
|
|
121
109
|
enumerable: true,
|
|
122
110
|
get: function () {
|
|
@@ -147,6 +135,12 @@ Object.defineProperty(exports, "SearchBar", {
|
|
|
147
135
|
return _SearchBar.SearchBar;
|
|
148
136
|
}
|
|
149
137
|
});
|
|
138
|
+
Object.defineProperty(exports, "Toolbar", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function () {
|
|
141
|
+
return _Toolbar.Toolbar;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
150
144
|
Object.defineProperty(exports, "VIOLIN_MODES", {
|
|
151
145
|
enumerable: true,
|
|
152
146
|
get: function () {
|
|
@@ -173,22 +167,22 @@ Object.defineProperty(exports, "ViolinControls", {
|
|
|
173
167
|
});
|
|
174
168
|
var _Dotplot = require("./components/dotplot/Dotplot");
|
|
175
169
|
var _DotplotControls = require("./components/dotplot/DotplotControls");
|
|
170
|
+
var _FullPage = require("./components/full-page/FullPage");
|
|
176
171
|
var _Heatmap = require("./components/heatmap/Heatmap");
|
|
177
172
|
var _HeatmapControls = require("./components/heatmap/HeatmapControls");
|
|
178
173
|
var _Matrixplot = require("./components/matrixplot/Matrixplot");
|
|
179
174
|
var _MatrixplotControls = require("./components/matrixplot/MatrixplotControls");
|
|
180
175
|
var _ObsList = require("./components/obs-list/ObsList");
|
|
181
176
|
var _ObsmList = require("./components/obsm-list/ObsmList");
|
|
177
|
+
var _offcanvas = require("./components/offcanvas");
|
|
182
178
|
var _Pseudospatial = require("./components/pseudospatial/Pseudospatial");
|
|
183
179
|
var _Scatterplot = require("./components/scatterplot/Scatterplot");
|
|
184
180
|
var _ScatterplotControls = require("./components/scatterplot/ScatterplotControls");
|
|
185
181
|
var _SearchBar = require("./components/search-bar/SearchBar");
|
|
182
|
+
var _Toolbar = require("./components/toolbar/Toolbar");
|
|
186
183
|
var _VarList = require("./components/var-list/VarList");
|
|
187
184
|
var _Violin = require("./components/violin/Violin");
|
|
188
185
|
var _ViolinControls = require("./components/violin/ViolinControls");
|
|
189
|
-
var _FullPage = require("./components/full-page/FullPage");
|
|
190
|
-
var _FullPagePseudospatial = require("./components/full-page/FullPagePseudospatial");
|
|
191
|
-
var _offcanvas = require("./components/offcanvas");
|
|
192
186
|
var _colorscales = require("./constants/colorscales");
|
|
193
187
|
var _constants = require("./constants/constants");
|
|
194
188
|
var _DatasetContext = require("./context/DatasetContext");
|
package/dist/css/cherita.css
CHANGED
|
@@ -7216,7 +7216,7 @@ textarea.form-control-lg {
|
|
|
7216
7216
|
display: inline-block !important;
|
|
7217
7217
|
}
|
|
7218
7218
|
|
|
7219
|
-
.d-block, .cherita-app .cherita-navbar {
|
|
7219
|
+
.d-block, .cherita-app .cherita-navbar, .cherita-app-container .cherita-app-canvas .cherita-navbar {
|
|
7220
7220
|
display: block !important;
|
|
7221
7221
|
}
|
|
7222
7222
|
|
|
@@ -7778,7 +7778,7 @@ textarea.form-control-lg {
|
|
|
7778
7778
|
order: 6 !important;
|
|
7779
7779
|
}
|
|
7780
7780
|
|
|
7781
|
-
.m-0 {
|
|
7781
|
+
.m-0, .cherita-app-container .cherita-app-canvas .cherita-navbar {
|
|
7782
7782
|
margin: 0 !important;
|
|
7783
7783
|
}
|
|
7784
7784
|
|
|
@@ -7811,7 +7811,7 @@ textarea.form-control-lg {
|
|
|
7811
7811
|
margin-left: 0 !important;
|
|
7812
7812
|
}
|
|
7813
7813
|
|
|
7814
|
-
.mx-1 {
|
|
7814
|
+
.mx-1, .js-plotly-plot .plotly .modebar .modebar-group {
|
|
7815
7815
|
margin-right: 0.25rem !important;
|
|
7816
7816
|
margin-left: 0.25rem !important;
|
|
7817
7817
|
}
|
|
@@ -7988,11 +7988,11 @@ textarea.form-control-lg {
|
|
|
7988
7988
|
margin-left: auto !important;
|
|
7989
7989
|
}
|
|
7990
7990
|
|
|
7991
|
-
.p-0 {
|
|
7991
|
+
.p-0, .cherita-app-container {
|
|
7992
7992
|
padding: 0 !important;
|
|
7993
7993
|
}
|
|
7994
7994
|
|
|
7995
|
-
.p-1 {
|
|
7995
|
+
.p-1, .cherita-app-container .cherita-app-canvas {
|
|
7996
7996
|
padding: 0.25rem !important;
|
|
7997
7997
|
}
|
|
7998
7998
|
|
|
@@ -8666,7 +8666,7 @@ textarea.form-control-lg {
|
|
|
8666
8666
|
--bs-link-underline-opacity: 1;
|
|
8667
8667
|
}
|
|
8668
8668
|
|
|
8669
|
-
.bg-primary {
|
|
8669
|
+
.bg-primary, .js-plotly-plot .plotly .modebar .modebar-group {
|
|
8670
8670
|
--bs-bg-opacity: 1;
|
|
8671
8671
|
background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
|
|
8672
8672
|
}
|
|
@@ -11927,6 +11927,7 @@ textarea.form-control-lg {
|
|
|
11927
11927
|
|
|
11928
11928
|
.cherita-app {
|
|
11929
11929
|
position: relative;
|
|
11930
|
+
width: 100%;
|
|
11930
11931
|
}
|
|
11931
11932
|
|
|
11932
11933
|
.cherita-app .cherita-navbar {
|
|
@@ -11961,6 +11962,18 @@ textarea.form-control-lg {
|
|
|
11961
11962
|
.cherita-app-sidebar .card-body {
|
|
11962
11963
|
overflow-y: hidden;
|
|
11963
11964
|
}
|
|
11965
|
+
.cherita-app-sidebar .sidebar-plotselector {
|
|
11966
|
+
padding: 6px;
|
|
11967
|
+
border-bottom: 1px solid #dee2e6;
|
|
11968
|
+
}
|
|
11969
|
+
.cherita-app-sidebar .sidebar-plotselector .plotselector-icon {
|
|
11970
|
+
padding-bottom: 2px;
|
|
11971
|
+
cursor: pointer;
|
|
11972
|
+
}
|
|
11973
|
+
.cherita-app-sidebar .sidebar-plotselector .plotselector-icon .active {
|
|
11974
|
+
opacity: 1;
|
|
11975
|
+
border-bottom: 2px solid #007bff;
|
|
11976
|
+
}
|
|
11964
11977
|
.cherita-app-sidebar .sidebar-pseudospatial {
|
|
11965
11978
|
padding: 10px;
|
|
11966
11979
|
border-bottom: 1px solid #dee2e6;
|
|
@@ -12011,36 +12024,77 @@ textarea.form-control-lg {
|
|
|
12011
12024
|
border-left: 1px solid #dee2e6;
|
|
12012
12025
|
}
|
|
12013
12026
|
|
|
12027
|
+
.cherita-app-canvas .cherita-plot {
|
|
12028
|
+
height: 100%;
|
|
12029
|
+
min-height: 400px;
|
|
12030
|
+
}
|
|
12031
|
+
|
|
12032
|
+
.cherita-app-container {
|
|
12033
|
+
display: flex;
|
|
12034
|
+
flex-wrap: nowrap;
|
|
12035
|
+
width: 100%;
|
|
12036
|
+
height: 100%;
|
|
12037
|
+
}
|
|
12038
|
+
.cherita-app-container .cherita-app-obs {
|
|
12039
|
+
flex: 0 0 auto;
|
|
12040
|
+
min-width: 350px;
|
|
12041
|
+
max-width: 20%;
|
|
12042
|
+
overflow-y: auto;
|
|
12043
|
+
}
|
|
12044
|
+
.cherita-app-container .cherita-app-canvas {
|
|
12045
|
+
flex: 1 1 auto;
|
|
12046
|
+
min-width: 400px;
|
|
12047
|
+
position: relative;
|
|
12048
|
+
max-height: 100%;
|
|
12049
|
+
display: flex;
|
|
12050
|
+
flex-direction: column;
|
|
12051
|
+
}
|
|
12052
|
+
.cherita-app-container .cherita-app-canvas .cherita-navbar {
|
|
12053
|
+
position: relative;
|
|
12054
|
+
}
|
|
12055
|
+
.cherita-app-container .cherita-app-sidebar {
|
|
12056
|
+
flex: 0 0 auto;
|
|
12057
|
+
min-width: 350px;
|
|
12058
|
+
max-width: 20%;
|
|
12059
|
+
position: relative;
|
|
12060
|
+
}
|
|
12061
|
+
@media (max-width: 1400px) {
|
|
12062
|
+
.cherita-app-container .cherita-app-obs,
|
|
12063
|
+
.cherita-app-container .cherita-app-sidebar {
|
|
12064
|
+
max-width: 25%;
|
|
12065
|
+
}
|
|
12066
|
+
}
|
|
12067
|
+
|
|
12014
12068
|
.ps-xs-1 {
|
|
12015
12069
|
padding-left: 0.15rem !important;
|
|
12016
12070
|
}
|
|
12017
12071
|
|
|
12018
|
-
.js-plotly-plot .plotly .modebar {
|
|
12019
|
-
border-radius: 5px;
|
|
12020
|
-
background-color: rgba(0, 0, 0, 0.6);
|
|
12021
|
-
padding: 0 4px !important;
|
|
12022
|
-
}
|
|
12023
12072
|
.js-plotly-plot .plotly .modebar .modebar-group {
|
|
12024
|
-
|
|
12025
|
-
padding:
|
|
12026
|
-
background-color: transparent !important;
|
|
12073
|
+
border-radius: 5px;
|
|
12074
|
+
padding: 4px !important;
|
|
12027
12075
|
}
|
|
12028
12076
|
.js-plotly-plot .plotly .modebar .modebar-group .modebar-btn {
|
|
12029
|
-
|
|
12030
|
-
|
|
12077
|
+
display: inline-flex;
|
|
12078
|
+
justify-content: center;
|
|
12031
12079
|
position: relative;
|
|
12032
|
-
font-size:
|
|
12033
|
-
padding:
|
|
12080
|
+
font-size: 1.25rem;
|
|
12081
|
+
padding: 0.25rem;
|
|
12034
12082
|
height: auto;
|
|
12035
12083
|
cursor: pointer;
|
|
12036
12084
|
line-height: normal;
|
|
12037
12085
|
}
|
|
12038
12086
|
.js-plotly-plot .plotly .modebar .modebar-group .modebar-btn svg {
|
|
12039
12087
|
position: relative;
|
|
12040
|
-
top:
|
|
12041
|
-
|
|
12042
|
-
|
|
12043
|
-
|
|
12088
|
+
top: 1px;
|
|
12089
|
+
}
|
|
12090
|
+
.js-plotly-plot .plotly .modebar .modebar-group .modebar-btn svg path {
|
|
12091
|
+
fill: white !important;
|
|
12092
|
+
color: white !important;
|
|
12093
|
+
}
|
|
12094
|
+
|
|
12095
|
+
.js-plotly-plot .plotly .modebar--hover > :not(.watermark) {
|
|
12096
|
+
opacity: 0.5;
|
|
12097
|
+
transition: opacity 0.3s;
|
|
12044
12098
|
}
|
|
12045
12099
|
|
|
12046
12100
|
.cherita-spatial-controls {
|
|
@@ -12118,7 +12172,6 @@ textarea.form-control-lg {
|
|
|
12118
12172
|
|
|
12119
12173
|
/* End scrollbar styling */
|
|
12120
12174
|
.cherita-container-plot {
|
|
12121
|
-
margin-top: 76px;
|
|
12122
12175
|
padding: 20px;
|
|
12123
12176
|
position: relative;
|
|
12124
12177
|
min-height: 400px;
|