@perses-dev/dashboards 0.10.0 → 0.12.0
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/Dashboard.js +4 -5
- package/dist/cjs/components/DashboardToolbar.js +18 -5
- package/dist/cjs/components/GridLayout/GridItemContent.js +3 -11
- package/dist/cjs/components/GridLayout/GridLayout.js +20 -20
- package/dist/cjs/components/GridLayout/GridTitle.js +9 -11
- package/dist/cjs/components/Panel/DeletePanelDialog.js +12 -10
- package/dist/cjs/components/Panel/Panel.js +12 -22
- package/dist/cjs/components/Panel/Panel.test.js +5 -3
- package/dist/cjs/components/Panel/index.js +1 -0
- package/dist/cjs/components/PanelDrawer/PanelDrawer.js +1 -1
- package/dist/cjs/components/PanelDrawer/PanelDrawer.test.js +13 -5
- package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +21 -15
- package/dist/cjs/components/PanelDrawer/PanelPreview.js +9 -3
- package/dist/cjs/components/PanelGroupDialog/DeletePanelGroupDialog.js +13 -11
- package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +70 -111
- package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.test.js +22 -16
- package/dist/cjs/components/PanelGroupDialog/PanelGroupEditorForm.js +92 -0
- package/dist/cjs/components/PanelGroupDialog/index.js +29 -0
- package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +8 -11
- package/dist/cjs/components/TimeRangeControls/TimeRangeControls.test.js +20 -13
- package/dist/cjs/components/Variables/Variable.js +1 -0
- package/dist/cjs/components/Variables/VariableEditor.js +40 -6
- package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +9 -5
- package/dist/cjs/components/Variables/VariableList.js +0 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/context/DashboardProvider/DashboardProvider.js +26 -8
- package/dist/cjs/context/DashboardProvider/common.js +10 -0
- package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +122 -29
- package/dist/cjs/context/DashboardProvider/delete-panel-group-slice.js +70 -0
- package/dist/cjs/context/DashboardProvider/delete-panel-slice.js +85 -0
- package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +182 -0
- package/dist/cjs/context/DashboardProvider/panel-group-editor-slice.js +89 -0
- package/dist/cjs/context/DashboardProvider/panel-group-slice.js +83 -18
- package/dist/cjs/context/DashboardProvider/panel-slice.js +36 -0
- package/dist/cjs/context/TimeRangeProvider.js +20 -44
- package/dist/cjs/context/index.js +1 -1
- package/dist/cjs/context/useDashboardSpec.js +90 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/test/render.js +25 -5
- package/dist/cjs/test/setup-tests.js +4 -1
- package/dist/cjs/test/testDashboard.js +11 -10
- package/dist/cjs/utils/index.js +28 -0
- package/dist/cjs/utils/time-range-params.js +151 -0
- package/dist/cjs/views/ViewDashboard/DashboardApp.js +2 -5
- package/dist/cjs/views/ViewDashboard/ViewDashboard.js +5 -22
- package/dist/cjs/views/ViewDashboard/tests/panelGroups.test.js +42 -93
- package/dist/components/Dashboard.js +5 -6
- package/dist/components/Dashboard.js.map +1 -1
- package/dist/components/DashboardToolbar.d.ts.map +1 -1
- package/dist/components/DashboardToolbar.js +20 -7
- package/dist/components/DashboardToolbar.js.map +1 -1
- package/dist/components/GridLayout/GridItemContent.d.ts +2 -4
- package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
- package/dist/components/GridLayout/GridItemContent.js +4 -12
- package/dist/components/GridLayout/GridItemContent.js.map +1 -1
- package/dist/components/GridLayout/GridLayout.d.ts +2 -3
- package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
- package/dist/components/GridLayout/GridLayout.js +22 -22
- package/dist/components/GridLayout/GridLayout.js.map +1 -1
- package/dist/components/GridLayout/GridTitle.d.ts +2 -1
- package/dist/components/GridLayout/GridTitle.d.ts.map +1 -1
- package/dist/components/GridLayout/GridTitle.js +10 -12
- package/dist/components/GridLayout/GridTitle.js.map +1 -1
- package/dist/components/Panel/DeletePanelDialog.d.ts +0 -1
- package/dist/components/Panel/DeletePanelDialog.d.ts.map +1 -1
- package/dist/components/Panel/DeletePanelDialog.js +13 -11
- package/dist/components/Panel/DeletePanelDialog.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +2 -2
- package/dist/components/Panel/Panel.d.ts.map +1 -1
- package/dist/components/Panel/Panel.js +12 -22
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/Panel/Panel.test.d.ts +1 -1
- package/dist/components/Panel/Panel.test.d.ts.map +1 -1
- package/dist/components/Panel/Panel.test.js +5 -3
- package/dist/components/Panel/Panel.test.js.map +1 -1
- package/dist/components/Panel/index.d.ts +1 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +1 -0
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/PanelDrawer/PanelDrawer.js +2 -2
- package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
- package/dist/components/PanelDrawer/PanelDrawer.test.js +13 -5
- package/dist/components/PanelDrawer/PanelDrawer.test.js.map +1 -1
- package/dist/components/PanelDrawer/PanelEditorForm.d.ts +1 -1
- package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
- package/dist/components/PanelDrawer/PanelEditorForm.js +22 -16
- package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
- package/dist/components/PanelDrawer/PanelPreview.d.ts +2 -2
- package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
- package/dist/components/PanelDrawer/PanelPreview.js +9 -3
- package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
- package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.d.ts +1 -2
- package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.d.ts.map +1 -1
- package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.js +13 -11
- package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.js.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts +4 -2
- package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.js +73 -112
- package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js +21 -15
- package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupEditorForm.d.ts +12 -0
- package/dist/components/PanelGroupDialog/PanelGroupEditorForm.d.ts.map +1 -0
- package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js +82 -0
- package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -0
- package/dist/components/PanelGroupDialog/index.d.ts +3 -0
- package/dist/components/PanelGroupDialog/index.d.ts.map +1 -0
- package/dist/components/PanelGroupDialog/index.js +16 -0
- package/dist/components/PanelGroupDialog/index.js.map +1 -0
- package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.js +11 -14
- package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.test.js +21 -14
- package/dist/components/TimeRangeControls/TimeRangeControls.test.js.map +1 -1
- package/dist/components/Variables/Variable.js +1 -0
- package/dist/components/Variables/Variable.js.map +1 -1
- package/dist/components/Variables/VariableEditor.d.ts.map +1 -1
- package/dist/components/Variables/VariableEditor.js +40 -6
- package/dist/components/Variables/VariableEditor.js.map +1 -1
- package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -1
- package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +9 -5
- package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
- package/dist/components/Variables/VariableList.js +0 -1
- package/dist/components/Variables/VariableList.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/context/DashboardProvider/DashboardProvider.d.ts +10 -5
- package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -1
- package/dist/context/DashboardProvider/DashboardProvider.js +26 -8
- package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
- package/dist/context/DashboardProvider/common.d.ts +7 -0
- package/dist/context/DashboardProvider/common.d.ts.map +1 -1
- package/dist/context/DashboardProvider/common.js +8 -1
- package/dist/context/DashboardProvider/common.js.map +1 -1
- package/dist/context/DashboardProvider/dashboard-provider-api.d.ts +65 -22
- package/dist/context/DashboardProvider/dashboard-provider-api.d.ts.map +1 -1
- package/dist/context/DashboardProvider/dashboard-provider-api.js +133 -26
- package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
- package/dist/context/DashboardProvider/delete-panel-group-slice.d.ts +23 -0
- package/dist/context/DashboardProvider/delete-panel-group-slice.d.ts.map +1 -0
- package/dist/context/DashboardProvider/delete-panel-group-slice.js +64 -0
- package/dist/context/DashboardProvider/delete-panel-group-slice.js.map +1 -0
- package/dist/context/DashboardProvider/delete-panel-slice.d.ts +36 -0
- package/dist/context/DashboardProvider/delete-panel-slice.d.ts.map +1 -0
- package/dist/context/DashboardProvider/delete-panel-slice.js +81 -0
- package/dist/context/DashboardProvider/delete-panel-slice.js.map +1 -0
- package/dist/context/DashboardProvider/index.d.ts +3 -0
- package/dist/context/DashboardProvider/index.d.ts.map +1 -1
- package/dist/context/DashboardProvider/index.js.map +1 -1
- package/dist/context/DashboardProvider/panel-editor-slice.d.ts +56 -0
- package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -0
- package/dist/context/DashboardProvider/panel-editor-slice.js +178 -0
- package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -0
- package/dist/context/DashboardProvider/panel-group-editor-slice.d.ts +33 -0
- package/dist/context/DashboardProvider/panel-group-editor-slice.d.ts.map +1 -0
- package/dist/context/DashboardProvider/panel-group-editor-slice.js +83 -0
- package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -0
- package/dist/context/DashboardProvider/panel-group-slice.d.ts +60 -11
- package/dist/context/DashboardProvider/panel-group-slice.d.ts.map +1 -1
- package/dist/context/DashboardProvider/panel-group-slice.js +85 -18
- package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -1
- package/dist/context/DashboardProvider/panel-slice.d.ts +23 -0
- package/dist/context/DashboardProvider/panel-slice.d.ts.map +1 -0
- package/dist/context/DashboardProvider/panel-slice.js +32 -0
- package/dist/context/DashboardProvider/panel-slice.js.map +1 -0
- package/dist/context/TimeRangeProvider.d.ts +9 -2
- package/dist/context/TimeRangeProvider.d.ts.map +1 -1
- package/dist/context/TimeRangeProvider.js +15 -43
- package/dist/context/TimeRangeProvider.js.map +1 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/context/useDashboardSpec.d.ts +11 -0
- package/dist/context/useDashboardSpec.d.ts.map +1 -0
- package/dist/context/useDashboardSpec.js +84 -0
- package/dist/context/useDashboardSpec.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/test/render.d.ts +2 -1
- package/dist/test/render.d.ts.map +1 -1
- package/dist/test/render.js +25 -5
- package/dist/test/render.js.map +1 -1
- package/dist/test/setup-tests.d.ts.map +1 -1
- package/dist/test/setup-tests.js +4 -0
- package/dist/test/setup-tests.js.map +1 -1
- package/dist/test/testDashboard.d.ts.map +1 -1
- package/dist/test/testDashboard.js +11 -10
- package/dist/test/testDashboard.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +15 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/time-range-params.d.ts +25 -0
- package/dist/utils/time-range-params.d.ts.map +1 -0
- package/dist/utils/time-range-params.js +143 -0
- package/dist/utils/time-range-params.js.map +1 -0
- package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
- package/dist/views/ViewDashboard/DashboardApp.js +1 -4
- package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
- package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
- package/dist/views/ViewDashboard/ViewDashboard.js +5 -22
- package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
- package/dist/views/ViewDashboard/tests/panelGroups.test.js +45 -96
- package/dist/views/ViewDashboard/tests/panelGroups.test.js.map +1 -1
- package/package.json +5 -4
- package/dist/cjs/context/DashboardProvider/layout-slice.js +0 -200
- package/dist/cjs/context/DashboardProvider/panel-editing-slice.js +0 -156
- package/dist/cjs/context/QueryStringProvider.js +0 -89
- package/dist/context/DashboardProvider/layout-slice.d.ts +0 -57
- package/dist/context/DashboardProvider/layout-slice.d.ts.map +0 -1
- package/dist/context/DashboardProvider/layout-slice.js +0 -196
- package/dist/context/DashboardProvider/layout-slice.js.map +0 -1
- package/dist/context/DashboardProvider/panel-editing-slice.d.ts +0 -70
- package/dist/context/DashboardProvider/panel-editing-slice.d.ts.map +0 -1
- package/dist/context/DashboardProvider/panel-editing-slice.js +0 -152
- package/dist/context/DashboardProvider/panel-editing-slice.js.map +0 -1
- package/dist/context/QueryStringProvider.d.ts +0 -13
- package/dist/context/QueryStringProvider.d.ts.map +0 -1
- package/dist/context/QueryStringProvider.js +0 -40
- package/dist/context/QueryStringProvider.js.map +0 -1
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", {
|
|
15
15
|
value: true
|
|
16
16
|
});
|
|
17
|
-
Object.defineProperty(exports, "
|
|
17
|
+
Object.defineProperty(exports, "DeletePanelGroupDialog", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: ()=>
|
|
19
|
+
get: ()=>DeletePanelGroupDialog
|
|
20
20
|
});
|
|
21
21
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
const _material = require("@mui/material");
|
|
@@ -28,18 +28,17 @@ function _interopRequireDefault(obj) {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
const DeletePanelGroupDialog = ()=>{
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const { deletePanelGroupDialog , closeDeletePanelGroupDialog } = (0, _context.usePanelGroupDialog)();
|
|
34
|
-
const groupIndex = deletePanelGroupDialog === null || deletePanelGroupDialog === void 0 ? void 0 : deletePanelGroupDialog.groupIndex;
|
|
31
|
+
const { deletePanelGroupDialog , closeDeletePanelGroupDialog , deletePanelGroup } = (0, _context.useDeletePanelGroupDialog)();
|
|
32
|
+
const panelGroupId = deletePanelGroupDialog === null || deletePanelGroupDialog === void 0 ? void 0 : deletePanelGroupDialog.panelGroupId;
|
|
35
33
|
const handleDelete = (e)=>{
|
|
36
34
|
e.preventDefault();
|
|
37
|
-
if (
|
|
35
|
+
if (panelGroupId == undefined) {
|
|
38
36
|
throw new Error('group index is undefined');
|
|
39
37
|
}
|
|
40
|
-
deletePanelGroup(
|
|
38
|
+
deletePanelGroup(panelGroupId);
|
|
41
39
|
closeDeletePanelGroupDialog();
|
|
42
40
|
};
|
|
41
|
+
var ref;
|
|
43
42
|
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Dialog, {
|
|
44
43
|
open: deletePanelGroupDialog !== undefined,
|
|
45
44
|
children: [
|
|
@@ -59,11 +58,15 @@ const DeletePanelGroupDialog = ()=>{
|
|
|
59
58
|
/*#__PURE__*/ (0, _jsxRuntime.jsxs)("form", {
|
|
60
59
|
onSubmit: handleDelete,
|
|
61
60
|
children: [
|
|
62
|
-
/*#__PURE__*/ (0, _jsxRuntime.
|
|
61
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.DialogContent, {
|
|
63
62
|
sx: {
|
|
64
63
|
width: '500px'
|
|
65
64
|
},
|
|
66
|
-
children:
|
|
65
|
+
children: [
|
|
66
|
+
"Are you sure you want to delete ",
|
|
67
|
+
(ref = deletePanelGroupDialog === null || deletePanelGroupDialog === void 0 ? void 0 : deletePanelGroupDialog.panelGroupName) !== null && ref !== void 0 ? ref : 'panel group',
|
|
68
|
+
"? This will delete all the panels within the group."
|
|
69
|
+
]
|
|
67
70
|
}),
|
|
68
71
|
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.DialogActions, {
|
|
69
72
|
children: [
|
|
@@ -83,4 +86,3 @@ const DeletePanelGroupDialog = ()=>{
|
|
|
83
86
|
]
|
|
84
87
|
});
|
|
85
88
|
};
|
|
86
|
-
const _default = DeletePanelGroupDialog;
|
|
@@ -14,129 +14,88 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", {
|
|
15
15
|
value: true
|
|
16
16
|
});
|
|
17
|
-
Object.defineProperty(exports, "
|
|
17
|
+
Object.defineProperty(exports, "PanelGroupDialog", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: ()=>
|
|
19
|
+
get: ()=>PanelGroupDialog
|
|
20
20
|
});
|
|
21
21
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _react = require("react");
|
|
23
22
|
const _material = require("@mui/material");
|
|
24
23
|
const _close = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Close"));
|
|
24
|
+
const _react = require("react");
|
|
25
25
|
const _context = require("../../context");
|
|
26
|
+
const _panelGroupEditorForm = require("./PanelGroupEditorForm");
|
|
26
27
|
function _interopRequireDefault(obj) {
|
|
27
28
|
return obj && obj.__esModule ? obj : {
|
|
28
29
|
default: obj
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var ref;
|
|
41
|
-
e.preventDefault();
|
|
42
|
-
var ref1;
|
|
43
|
-
const newGroup = {
|
|
44
|
-
isCollapsed,
|
|
45
|
-
title: name !== null && name !== void 0 ? name : '',
|
|
46
|
-
items: groupIndex === undefined ? [] : (ref1 = (ref = layouts[groupIndex]) === null || ref === void 0 ? void 0 : ref.items) !== null && ref1 !== void 0 ? ref1 : []
|
|
47
|
-
};
|
|
48
|
-
updatePanelGroup(newGroup, groupIndex);
|
|
49
|
-
closePanelGroupDialog();
|
|
32
|
+
function PanelGroupDialog() {
|
|
33
|
+
const panelGroupEditor = (0, _context.usePanelGroupEditor)();
|
|
34
|
+
// When the user clicks close, start closing but don't call the store yet to keep values stable during animtation
|
|
35
|
+
const [isClosing, setIsClosing] = (0, _react.useState)(false);
|
|
36
|
+
const handleClose = ()=>setIsClosing(true);
|
|
37
|
+
// Don't call close on the store until the Dialog has completely transitioned out
|
|
38
|
+
const handleExited = ()=>{
|
|
39
|
+
panelGroupEditor === null || panelGroupEditor === void 0 ? void 0 : panelGroupEditor.close();
|
|
40
|
+
setIsClosing(false);
|
|
50
41
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
// Dialog is open if we have a model and we're not transitioning out
|
|
43
|
+
const isOpen = panelGroupEditor !== undefined && isClosing === false;
|
|
44
|
+
const handleSubmit = (values)=>{
|
|
45
|
+
// This shouldn't happen since we don't render the submit button until we have a model, but check to make TS happy
|
|
46
|
+
if (panelGroupEditor === undefined) {
|
|
47
|
+
throw new Error('Cannot apply changes');
|
|
48
|
+
}
|
|
49
|
+
panelGroupEditor.applyChanges(values);
|
|
50
|
+
handleClose();
|
|
54
51
|
};
|
|
55
|
-
return /*#__PURE__*/ (0, _jsxRuntime.
|
|
56
|
-
open:
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
variant: "outlined",
|
|
86
|
-
value: name,
|
|
87
|
-
onChange: (e)=>setName(e.target.value)
|
|
88
|
-
})
|
|
89
|
-
}),
|
|
90
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
|
|
91
|
-
sx: {
|
|
92
|
-
display: 'flex',
|
|
93
|
-
alignItems: 'center',
|
|
94
|
-
width: '100%',
|
|
95
|
-
justifyContent: 'space-between'
|
|
96
|
-
},
|
|
97
|
-
children: [
|
|
98
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.InputLabel, {
|
|
99
|
-
children: "Collapse State"
|
|
100
|
-
}),
|
|
101
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Select, {
|
|
102
|
-
required: true,
|
|
103
|
-
displayEmpty: true,
|
|
104
|
-
labelId: "select-collapse-state",
|
|
105
|
-
size: "small",
|
|
106
|
-
value: isCollapsed ? 'Close' : 'Open',
|
|
107
|
-
onChange: handleSelectCollapsedStateChange,
|
|
108
|
-
children: [
|
|
109
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
|
|
110
|
-
value: 'Open',
|
|
111
|
-
children: "Open"
|
|
112
|
-
}, 'open'),
|
|
113
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
|
|
114
|
-
value: 'Close',
|
|
115
|
-
children: "Close"
|
|
116
|
-
}, 'close')
|
|
117
|
-
]
|
|
118
|
-
})
|
|
119
|
-
]
|
|
120
|
-
})
|
|
121
|
-
]
|
|
122
|
-
})
|
|
123
|
-
}),
|
|
124
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.DialogActions, {
|
|
125
|
-
children: [
|
|
126
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
|
|
127
|
-
variant: "contained",
|
|
128
|
-
type: "submit",
|
|
129
|
-
children: isEditingPanelGroup ? 'Apply' : 'Add'
|
|
130
|
-
}),
|
|
131
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
|
|
132
|
-
onClick: ()=>closePanelGroupDialog(),
|
|
133
|
-
children: "Cancel"
|
|
134
|
-
})
|
|
135
|
-
]
|
|
52
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Dialog, {
|
|
53
|
+
open: isOpen,
|
|
54
|
+
TransitionProps: {
|
|
55
|
+
onExited: handleExited
|
|
56
|
+
},
|
|
57
|
+
children: panelGroupEditor !== undefined && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
58
|
+
children: [
|
|
59
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.DialogTitle, {
|
|
60
|
+
children: [
|
|
61
|
+
panelGroupEditor.mode,
|
|
62
|
+
" Panel Group"
|
|
63
|
+
]
|
|
64
|
+
}),
|
|
65
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
|
|
66
|
+
"aria-label": "Close",
|
|
67
|
+
onClick: panelGroupEditor.close,
|
|
68
|
+
sx: (theme)=>({
|
|
69
|
+
position: 'absolute',
|
|
70
|
+
top: theme.spacing(0.5),
|
|
71
|
+
right: theme.spacing(0.5)
|
|
72
|
+
}),
|
|
73
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_close.default, {})
|
|
74
|
+
}),
|
|
75
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.DialogContent, {
|
|
76
|
+
sx: {
|
|
77
|
+
width: '500px'
|
|
78
|
+
},
|
|
79
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_panelGroupEditorForm.PanelGroupEditorForm, {
|
|
80
|
+
initialValues: panelGroupEditor.initialValues,
|
|
81
|
+
onSubmit: handleSubmit
|
|
136
82
|
})
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
83
|
+
}),
|
|
84
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.DialogActions, {
|
|
85
|
+
children: [
|
|
86
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
|
|
87
|
+
variant: "contained",
|
|
88
|
+
type: "submit",
|
|
89
|
+
form: _panelGroupEditorForm.panelGroupEditorFormId,
|
|
90
|
+
children: panelGroupEditor.mode === 'Edit' ? 'Apply' : 'Add'
|
|
91
|
+
}),
|
|
92
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
|
|
93
|
+
onClick: panelGroupEditor.close,
|
|
94
|
+
children: "Cancel"
|
|
95
|
+
})
|
|
96
|
+
]
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
})
|
|
140
100
|
});
|
|
141
|
-
}
|
|
142
|
-
const _default = PanelGroupDialog;
|
|
101
|
+
}
|
|
@@ -20,8 +20,7 @@ const _userEvent = /*#__PURE__*/ _interopRequireDefault(require("@testing-librar
|
|
|
20
20
|
const _testUtils = require("react-dom/test-utils");
|
|
21
21
|
const _context = require("../../context");
|
|
22
22
|
const _test = require("../../test");
|
|
23
|
-
const
|
|
24
|
-
const _panelGroupDialog = /*#__PURE__*/ _interopRequireDefault(require("./PanelGroupDialog"));
|
|
23
|
+
const _panelGroupDialog = require("./PanelGroupDialog");
|
|
25
24
|
function _interopRequireDefault(obj) {
|
|
26
25
|
return obj && obj.__esModule ? obj : {
|
|
27
26
|
default: obj
|
|
@@ -37,7 +36,7 @@ describe('Add Panel Group', ()=>{
|
|
|
37
36
|
},
|
|
38
37
|
children: [
|
|
39
38
|
/*#__PURE__*/ (0, _jsxRuntime.jsx)(DashboardProviderSpy, {}),
|
|
40
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_panelGroupDialog.
|
|
39
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_panelGroupDialog.PanelGroupDialog, {})
|
|
41
40
|
]
|
|
42
41
|
}));
|
|
43
42
|
const { value: storeApi } = store;
|
|
@@ -49,33 +48,40 @@ describe('Add Panel Group', ()=>{
|
|
|
49
48
|
it('should add new panel group', async ()=>{
|
|
50
49
|
const storeApi = renderDialog();
|
|
51
50
|
// Open the dialog for a new panel group
|
|
52
|
-
(0, _testUtils.act)(()=>storeApi.getState().
|
|
51
|
+
(0, _testUtils.act)(()=>storeApi.getState().openAddPanelGroup());
|
|
53
52
|
const nameInput = await _react.screen.findByLabelText(/Name/);
|
|
54
53
|
_userEvent.default.type(nameInput, 'New Panel Group');
|
|
55
54
|
_userEvent.default.click(_react.screen.getByText('Add'));
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
// TODO: Figure out how to test this without coupling to the store state
|
|
56
|
+
const panelGroups = Object.values(storeApi.getState().panelGroups);
|
|
57
|
+
expect(panelGroups).toContainEqual({
|
|
58
|
+
id: expect.any(Number),
|
|
59
59
|
title: 'New Panel Group',
|
|
60
60
|
isCollapsed: false,
|
|
61
|
-
|
|
61
|
+
itemLayouts: expect.any(Array),
|
|
62
|
+
itemPanelKeys: expect.any(Object)
|
|
62
63
|
});
|
|
63
64
|
});
|
|
64
65
|
it('should edit existing panel group', async ()=>{
|
|
65
|
-
var ref;
|
|
66
66
|
const storeApi = renderDialog();
|
|
67
67
|
// Open the dialog for an existing panel group
|
|
68
|
-
|
|
68
|
+
const group = Object.values(storeApi.getState().panelGroups).find((group)=>group.title === 'CPU Stats');
|
|
69
|
+
if (group === undefined) {
|
|
70
|
+
throw new Error('Missing test group');
|
|
71
|
+
}
|
|
72
|
+
(0, _testUtils.act)(()=>storeApi.getState().openEditPanelGroup(group.id));
|
|
69
73
|
const nameInput = await _react.screen.findByLabelText(/Name/);
|
|
70
74
|
_userEvent.default.clear(nameInput);
|
|
71
75
|
_userEvent.default.type(nameInput, 'New Name');
|
|
72
76
|
_userEvent.default.click(_react.screen.getByText('Apply'));
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
// TODO: Figure out how to test this without coupling to the store state
|
|
78
|
+
const panelGroups = storeApi.getState().panelGroups;
|
|
79
|
+
expect(panelGroups).toMatchObject({
|
|
80
|
+
[group.id]: {
|
|
81
|
+
id: group.id,
|
|
82
|
+
title: 'New Name',
|
|
83
|
+
isCollapsed: false
|
|
84
|
+
}
|
|
79
85
|
});
|
|
80
86
|
});
|
|
81
87
|
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Copyright 2022 The Perses Authors
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
function _export(target, all) {
|
|
18
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: all[name]
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
_export(exports, {
|
|
24
|
+
PanelGroupEditorForm: ()=>PanelGroupEditorForm,
|
|
25
|
+
panelGroupEditorFormId: ()=>panelGroupEditorFormId
|
|
26
|
+
});
|
|
27
|
+
const _jsxRuntime = require("react/jsx-runtime");
|
|
28
|
+
const _react = require("react");
|
|
29
|
+
const _material = require("@mui/material");
|
|
30
|
+
function PanelGroupEditorForm(props) {
|
|
31
|
+
const { initialValues , onSubmit } = props;
|
|
32
|
+
const [title, setTitle] = (0, _react.useState)(initialValues.title);
|
|
33
|
+
const [isCollapsed, setIsCollapsed] = (0, _react.useState)(initialValues.isCollapsed);
|
|
34
|
+
const handleCollapsedChange = (e)=>{
|
|
35
|
+
const next = e.target.value;
|
|
36
|
+
setIsCollapsed(next === 'Closed');
|
|
37
|
+
};
|
|
38
|
+
const handleSubmit = (e)=>{
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
onSubmit({
|
|
41
|
+
title,
|
|
42
|
+
isCollapsed
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)("form", {
|
|
46
|
+
id: panelGroupEditorFormId,
|
|
47
|
+
onSubmit: handleSubmit,
|
|
48
|
+
children: [
|
|
49
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.FormControl, {
|
|
50
|
+
fullWidth: true,
|
|
51
|
+
margin: "normal",
|
|
52
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TextField, {
|
|
53
|
+
required: true,
|
|
54
|
+
label: "Name",
|
|
55
|
+
variant: "outlined",
|
|
56
|
+
value: title,
|
|
57
|
+
onChange: (e)=>setTitle(e.target.value)
|
|
58
|
+
})
|
|
59
|
+
}),
|
|
60
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.FormControl, {
|
|
61
|
+
fullWidth: true,
|
|
62
|
+
margin: "normal",
|
|
63
|
+
children: [
|
|
64
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.InputLabel, {
|
|
65
|
+
id: "select-collapse-state",
|
|
66
|
+
children: "Collapse State"
|
|
67
|
+
}),
|
|
68
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Select, {
|
|
69
|
+
required: true,
|
|
70
|
+
displayEmpty: true,
|
|
71
|
+
labelId: "select-collapse-state",
|
|
72
|
+
label: "Collapse State",
|
|
73
|
+
size: "small",
|
|
74
|
+
value: isCollapsed ? 'Closed' : 'Open',
|
|
75
|
+
onChange: handleCollapsedChange,
|
|
76
|
+
children: [
|
|
77
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
|
|
78
|
+
value: "Open",
|
|
79
|
+
children: "Open"
|
|
80
|
+
}),
|
|
81
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
|
|
82
|
+
value: "Closed",
|
|
83
|
+
children: "Closed"
|
|
84
|
+
})
|
|
85
|
+
]
|
|
86
|
+
})
|
|
87
|
+
]
|
|
88
|
+
})
|
|
89
|
+
]
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
const panelGroupEditorFormId = 'panel-group-editor-form';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright 2022 The Perses Authors
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
_exportStar(require("./PanelGroupDialog"), exports);
|
|
18
|
+
_exportStar(require("./DeletePanelGroupDialog"), exports);
|
|
19
|
+
function _exportStar(from, to) {
|
|
20
|
+
Object.keys(from).forEach(function(k) {
|
|
21
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function() {
|
|
24
|
+
return from[k];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
return from;
|
|
29
|
+
}
|
|
@@ -29,7 +29,6 @@ const _react = require("react");
|
|
|
29
29
|
const _material = require("@mui/material");
|
|
30
30
|
const _components = require("@perses-dev/components");
|
|
31
31
|
const _core = require("@perses-dev/core");
|
|
32
|
-
const _pluginSystem = require("@perses-dev/plugin-system");
|
|
33
32
|
const _context = require("../../context");
|
|
34
33
|
const TIME_OPTIONS = [
|
|
35
34
|
{
|
|
@@ -88,14 +87,14 @@ const TIME_OPTIONS = [
|
|
|
88
87
|
}
|
|
89
88
|
];
|
|
90
89
|
function TimeRangeControls() {
|
|
91
|
-
const { timeRange , setTimeRange } = (0,
|
|
92
|
-
const dashboardDefaultTimeRange = (0, _context.useDefaultTimeRange)();
|
|
93
|
-
const { queryString } = (0, _pluginSystem.useQueryString)();
|
|
94
|
-
const defaultTimeRange = (0, _core.getDefaultTimeRange)(dashboardDefaultTimeRange, queryString);
|
|
95
|
-
// selected form value can be relative or absolute, timeRange from plugin-system is only absolute
|
|
96
|
-
const [selectedTimeRange, setSelectedTimeRange] = (0, _react.useState)(defaultTimeRange);
|
|
90
|
+
const { timeRange , setTimeRange } = (0, _context.useDashboardTimeRange)();
|
|
97
91
|
const [showCustomDateSelector, setShowCustomDateSelector] = (0, _react.useState)(false);
|
|
98
92
|
const anchorEl = (0, _react.useRef)();
|
|
93
|
+
const convertedTimeRange = (0, _react.useMemo)(()=>{
|
|
94
|
+
return (0, _core.isRelativeTimeRange)(timeRange) ? (0, _core.toAbsoluteTimeRange)(timeRange) : timeRange;
|
|
95
|
+
}, [
|
|
96
|
+
timeRange
|
|
97
|
+
]);
|
|
99
98
|
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
|
|
100
99
|
direction: "row",
|
|
101
100
|
spacing: 1,
|
|
@@ -112,10 +111,9 @@ function TimeRangeControls() {
|
|
|
112
111
|
padding: theme.spacing(2)
|
|
113
112
|
}),
|
|
114
113
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.AbsoluteTimePicker, {
|
|
115
|
-
initialTimeRange:
|
|
114
|
+
initialTimeRange: convertedTimeRange,
|
|
116
115
|
onChange: (timeRange)=>{
|
|
117
116
|
setTimeRange(timeRange);
|
|
118
|
-
setSelectedTimeRange(timeRange);
|
|
119
117
|
setShowCustomDateSelector(false);
|
|
120
118
|
}
|
|
121
119
|
})
|
|
@@ -126,7 +124,7 @@ function TimeRangeControls() {
|
|
|
126
124
|
ref: anchorEl,
|
|
127
125
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.TimeRangeSelector, {
|
|
128
126
|
timeOptions: TIME_OPTIONS,
|
|
129
|
-
value:
|
|
127
|
+
value: timeRange,
|
|
130
128
|
onSelectChange: (event)=>{
|
|
131
129
|
const duration = event.target.value;
|
|
132
130
|
const relativeTimeInput = {
|
|
@@ -134,7 +132,6 @@ function TimeRangeControls() {
|
|
|
134
132
|
end: new Date()
|
|
135
133
|
};
|
|
136
134
|
setTimeRange(relativeTimeInput);
|
|
137
|
-
setSelectedTimeRange(relativeTimeInput);
|
|
138
135
|
setShowCustomDateSelector(false);
|
|
139
136
|
},
|
|
140
137
|
onCustomClick: ()=>{
|
|
@@ -15,8 +15,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
15
15
|
value: true
|
|
16
16
|
});
|
|
17
17
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _reactRouter = require("react-router");
|
|
19
|
+
const _history = require("history");
|
|
18
20
|
const _userEvent = /*#__PURE__*/ _interopRequireDefault(require("@testing-library/user-event"));
|
|
19
|
-
const _core = require("@perses-dev/core");
|
|
20
21
|
const _react = require("@testing-library/react");
|
|
21
22
|
const _test = require("../../test");
|
|
22
23
|
const _testDashboard = /*#__PURE__*/ _interopRequireDefault(require("../../test/testDashboard"));
|
|
@@ -27,31 +28,37 @@ function _interopRequireDefault(obj) {
|
|
|
27
28
|
default: obj
|
|
28
29
|
};
|
|
29
30
|
}
|
|
31
|
+
const history = (0, _history.createMemoryHistory)({
|
|
32
|
+
initialEntries: [
|
|
33
|
+
(0, _reactRouter.generatePath)('/dashboards/:id', {
|
|
34
|
+
id: 'test'
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
});
|
|
30
38
|
describe('TimeRangeControls', ()=>{
|
|
31
39
|
let initialState;
|
|
40
|
+
const testDefaultTimeRange = {
|
|
41
|
+
pastDuration: _testDashboard.default.spec.duration
|
|
42
|
+
};
|
|
32
43
|
beforeEach(()=>{
|
|
33
44
|
initialState = {
|
|
34
45
|
dashboardSpec: _testDashboard.default.spec
|
|
35
46
|
};
|
|
36
47
|
});
|
|
37
48
|
const renderTimeRangeControls = ()=>{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
initialState: initialState,
|
|
44
|
-
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_context.TimeRangeProvider, {
|
|
45
|
-
initialTimeRange: defaultTimeRange,
|
|
46
|
-
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_timeRangeControls.TimeRangeControls, {})
|
|
47
|
-
})
|
|
49
|
+
(0, _test.renderWithContext)(/*#__PURE__*/ (0, _jsxRuntime.jsx)(_context.DashboardProvider, {
|
|
50
|
+
initialState: initialState,
|
|
51
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_context.TimeRangeProvider, {
|
|
52
|
+
timeRange: testDefaultTimeRange,
|
|
53
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_timeRangeControls.TimeRangeControls, {})
|
|
48
54
|
})
|
|
49
|
-
}));
|
|
55
|
+
}), undefined, history);
|
|
50
56
|
};
|
|
51
57
|
it('should render correct initial relative time shortcut', async ()=>{
|
|
52
58
|
renderTimeRangeControls();
|
|
53
|
-
expect(_react.screen.getByText('Last
|
|
59
|
+
expect(_react.screen.getByText('Last 5 minutes')).toBeInTheDocument();
|
|
54
60
|
});
|
|
61
|
+
// TODO: fix setTimeRange no-op, test query params
|
|
55
62
|
it('should be able to select the first option', ()=>{
|
|
56
63
|
renderTimeRangeControls();
|
|
57
64
|
const dateButton = _react.screen.getByRole('button');
|
|
@@ -154,6 +154,7 @@ function ListVariable({ name }) {
|
|
|
154
154
|
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
|
|
155
155
|
display: 'flex',
|
|
156
156
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.FormControl, {
|
|
157
|
+
fullWidth: true,
|
|
157
158
|
children: [
|
|
158
159
|
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.InputLabel, {
|
|
159
160
|
id: name,
|