@perses-dev/dashboards 0.21.1 → 0.23.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/AddGroupButton/AddGroupButton.js +43 -0
- package/dist/cjs/components/AddGroupButton/index.js +28 -0
- package/dist/cjs/components/AddPanelButton/AddPanelButton.js +43 -0
- package/dist/cjs/components/AddPanelButton/index.js +28 -0
- package/dist/cjs/components/Dashboard/Dashboard.js +1 -1
- package/dist/cjs/components/Dashboard/index.js +1 -1
- package/dist/cjs/components/DashboardToolbar/DashboardToolbar.js +50 -22
- package/dist/cjs/components/DashboardToolbar/index.js +1 -1
- package/dist/cjs/components/DeletePanelDialog/DeletePanelDialog.js +9 -31
- package/dist/cjs/components/DeletePanelDialog/index.js +1 -1
- package/dist/cjs/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +2 -1
- package/dist/cjs/components/DeletePanelGroupDialog/index.js +1 -1
- package/dist/cjs/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +2 -1
- package/dist/cjs/components/DiscardChangesConfirmationDialog/index.js +1 -1
- package/dist/cjs/components/DownloadButton/DownloadButton.js +17 -53
- package/dist/cjs/components/DownloadButton/index.js +1 -1
- package/dist/cjs/components/GridLayout/GridContainer.js +2 -1
- package/dist/cjs/components/GridLayout/GridItemContent.js +3 -2
- package/dist/cjs/components/GridLayout/GridLayout.js +6 -8
- package/dist/cjs/components/GridLayout/GridTitle.js +14 -11
- package/dist/cjs/components/GridLayout/index.js +1 -1
- package/dist/cjs/components/Panel/Panel.js +6 -6
- package/dist/cjs/components/Panel/Panel.test.js +11 -3
- package/dist/cjs/components/Panel/PanelContent.js +3 -2
- package/dist/cjs/components/Panel/PanelHeader.js +26 -8
- package/dist/cjs/components/Panel/index.js +1 -1
- package/dist/cjs/components/PanelDrawer/PanelDrawer.js +2 -1
- package/dist/cjs/components/PanelDrawer/PanelDrawer.test.js +1 -1
- package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +1 -1
- package/dist/cjs/components/PanelDrawer/PanelPreview.js +1 -1
- package/dist/cjs/components/PanelDrawer/index.js +1 -1
- package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +4 -1
- package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.test.js +1 -1
- package/dist/cjs/components/PanelGroupDialog/PanelGroupEditorForm.js +1 -1
- package/dist/cjs/components/PanelGroupDialog/index.js +1 -1
- package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +14 -16
- package/dist/cjs/components/TimeRangeControls/TimeRangeControls.test.js +3 -3
- package/dist/cjs/components/TimeRangeControls/index.js +1 -1
- package/dist/cjs/components/ToolbarIconButton/ToolbarIconButton.js +35 -0
- package/dist/cjs/components/ToolbarIconButton/index.js +28 -0
- package/dist/cjs/components/Variables/EditVariablesButton.js +75 -0
- package/dist/cjs/components/Variables/Variable.js +1 -1
- package/dist/cjs/components/Variables/VariableEditor.js +10 -6
- package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +6 -7
- package/dist/cjs/components/Variables/VariableEditorForm/index.js +1 -1
- package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +1 -1
- package/dist/cjs/components/Variables/VariableList.js +45 -111
- package/dist/cjs/components/Variables/index.js +4 -2
- package/dist/cjs/components/Variables/variable-model.js +1 -1
- package/dist/cjs/components/Variables/variable-model.test.js +1 -1
- package/dist/cjs/components/index.js +5 -2
- package/dist/cjs/{utils/functions.js → constants/grid-layout-config.js} +14 -6
- package/dist/cjs/constants/index.js +29 -0
- package/dist/cjs/constants/user-interface-text.js +61 -0
- package/dist/cjs/context/DashboardProvider/DashboardProvider.js +28 -3
- package/dist/cjs/context/DashboardProvider/common.js +1 -1
- package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +7 -5
- package/dist/cjs/context/DashboardProvider/delete-panel-group-slice.js +1 -1
- package/dist/cjs/context/DashboardProvider/delete-panel-slice.js +1 -1
- package/dist/cjs/context/DashboardProvider/discard-changes-dialog-slice.js +1 -1
- package/dist/cjs/context/DashboardProvider/duplicate-panel-slice.js +62 -0
- package/dist/cjs/context/DashboardProvider/index.js +1 -1
- package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +9 -38
- package/dist/cjs/context/DashboardProvider/panel-group-editor-slice.js +1 -1
- package/dist/cjs/context/DashboardProvider/panel-group-slice.js +1 -1
- package/dist/cjs/context/DashboardProvider/panel-slice.js +1 -1
- package/dist/cjs/context/DatasourceStoreProvider.js +1 -1
- package/dist/cjs/context/TemplateVariableProvider/TemplateVariableProvider.js +8 -8
- package/dist/cjs/context/TemplateVariableProvider/index.js +1 -1
- package/dist/cjs/context/TemplateVariableProvider/query-params.js +1 -1
- package/dist/cjs/context/TemplateVariableProvider/query-params.test.js +1 -1
- package/dist/cjs/context/index.js +1 -1
- package/dist/cjs/context/useDashboard.js +5 -3
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/test/dashboard-provider.js +1 -1
- package/dist/cjs/test/index.js +1 -1
- package/dist/cjs/test/plugin-registry.js +1 -1
- package/dist/cjs/test/render.js +1 -1
- package/dist/cjs/test/setup-tests.js +1 -1
- package/dist/cjs/test/testDashboard.js +1 -1
- package/dist/cjs/utils/index.js +28 -0
- package/dist/cjs/utils/panelUtils.js +168 -0
- package/dist/cjs/utils/panelUtils.test.js +195 -0
- package/dist/cjs/views/ViewDashboard/DashboardApp.js +5 -2
- package/dist/cjs/views/ViewDashboard/ViewDashboard.js +5 -3
- package/dist/cjs/views/ViewDashboard/index.js +1 -1
- package/dist/cjs/views/ViewDashboard/tests/panelGroups.test.js +1 -1
- package/dist/cjs/views/index.js +1 -1
- package/dist/components/AddGroupButton/AddGroupButton.d.ts +3 -0
- package/dist/components/AddGroupButton/AddGroupButton.d.ts.map +1 -0
- package/dist/components/AddGroupButton/AddGroupButton.js +32 -0
- package/dist/components/AddGroupButton/AddGroupButton.js.map +1 -0
- package/dist/components/AddGroupButton/index.d.ts +2 -0
- package/dist/components/AddGroupButton/index.d.ts.map +1 -0
- package/dist/{utils/functions.js → components/AddGroupButton/index.js} +3 -5
- package/dist/components/AddGroupButton/index.js.map +1 -0
- package/dist/components/AddPanelButton/AddPanelButton.d.ts +3 -0
- package/dist/components/AddPanelButton/AddPanelButton.d.ts.map +1 -0
- package/dist/components/AddPanelButton/AddPanelButton.js +32 -0
- package/dist/components/AddPanelButton/AddPanelButton.js.map +1 -0
- package/dist/components/AddPanelButton/index.d.ts +2 -0
- package/dist/components/AddPanelButton/index.d.ts.map +1 -0
- package/dist/components/AddPanelButton/index.js +15 -0
- package/dist/components/AddPanelButton/index.js.map +1 -0
- package/dist/components/Dashboard/Dashboard.js +1 -1
- package/dist/components/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Dashboard/index.js +1 -1
- package/dist/components/Dashboard/index.js.map +1 -1
- package/dist/components/DashboardToolbar/DashboardToolbar.d.ts.map +1 -1
- package/dist/components/DashboardToolbar/DashboardToolbar.js +51 -23
- package/dist/components/DashboardToolbar/DashboardToolbar.js.map +1 -1
- package/dist/components/DashboardToolbar/index.js +1 -1
- package/dist/components/DashboardToolbar/index.js.map +1 -1
- package/dist/components/DeletePanelDialog/DeletePanelDialog.d.ts.map +1 -1
- package/dist/components/DeletePanelDialog/DeletePanelDialog.js +8 -25
- package/dist/components/DeletePanelDialog/DeletePanelDialog.js.map +1 -1
- package/dist/components/DeletePanelDialog/index.js +1 -1
- package/dist/components/DeletePanelDialog/index.js.map +1 -1
- package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +2 -1
- package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js.map +1 -1
- package/dist/components/DeletePanelGroupDialog/index.js +1 -1
- package/dist/components/DeletePanelGroupDialog/index.js.map +1 -1
- package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +2 -1
- package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js.map +1 -1
- package/dist/components/DiscardChangesConfirmationDialog/index.js +1 -1
- package/dist/components/DiscardChangesConfirmationDialog/index.js.map +1 -1
- package/dist/components/DownloadButton/DownloadButton.d.ts +5 -1
- package/dist/components/DownloadButton/DownloadButton.d.ts.map +1 -1
- package/dist/components/DownloadButton/DownloadButton.js +18 -15
- package/dist/components/DownloadButton/DownloadButton.js.map +1 -1
- package/dist/components/DownloadButton/index.js +1 -1
- package/dist/components/DownloadButton/index.js.map +1 -1
- package/dist/components/GridLayout/GridContainer.d.ts.map +1 -1
- package/dist/components/GridLayout/GridContainer.js +2 -1
- package/dist/components/GridLayout/GridContainer.js.map +1 -1
- package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
- package/dist/components/GridLayout/GridItemContent.js +3 -2
- package/dist/components/GridLayout/GridItemContent.js.map +1 -1
- package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
- package/dist/components/GridLayout/GridLayout.js +6 -8
- package/dist/components/GridLayout/GridLayout.js.map +1 -1
- package/dist/components/GridLayout/GridTitle.d.ts.map +1 -1
- package/dist/components/GridLayout/GridTitle.js +14 -11
- package/dist/components/GridLayout/GridTitle.js.map +1 -1
- package/dist/components/GridLayout/index.js +1 -1
- package/dist/components/GridLayout/index.js.map +1 -1
- package/dist/components/Panel/Panel.js +7 -7
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/Panel/Panel.test.js +11 -3
- package/dist/components/Panel/Panel.test.js.map +1 -1
- package/dist/components/Panel/PanelContent.d.ts.map +1 -1
- package/dist/components/Panel/PanelContent.js +3 -2
- package/dist/components/Panel/PanelContent.js.map +1 -1
- package/dist/components/Panel/PanelHeader.d.ts +1 -0
- package/dist/components/Panel/PanelHeader.d.ts.map +1 -1
- package/dist/components/Panel/PanelHeader.js +26 -8
- package/dist/components/Panel/PanelHeader.js.map +1 -1
- package/dist/components/Panel/index.js +1 -1
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/PanelDrawer/PanelDrawer.js +2 -1
- package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
- package/dist/components/PanelDrawer/PanelDrawer.test.js +1 -1
- package/dist/components/PanelDrawer/PanelDrawer.test.js.map +1 -1
- package/dist/components/PanelDrawer/PanelEditorForm.js +1 -1
- package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
- package/dist/components/PanelDrawer/PanelPreview.js +1 -1
- package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
- package/dist/components/PanelDrawer/index.js +1 -1
- package/dist/components/PanelDrawer/index.js.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.js +4 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -1
- package/dist/components/PanelGroupDialog/index.js +1 -1
- package/dist/components/PanelGroupDialog/index.js.map +1 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.js +15 -17
- package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.test.js +3 -3
- package/dist/components/TimeRangeControls/TimeRangeControls.test.js.map +1 -1
- package/dist/components/TimeRangeControls/index.js +1 -1
- package/dist/components/TimeRangeControls/index.js.map +1 -1
- package/dist/components/ToolbarIconButton/ToolbarIconButton.d.ts +6 -0
- package/dist/components/ToolbarIconButton/ToolbarIconButton.d.ts.map +1 -0
- package/dist/components/ToolbarIconButton/ToolbarIconButton.js +29 -0
- package/dist/components/ToolbarIconButton/ToolbarIconButton.js.map +1 -0
- package/dist/components/ToolbarIconButton/index.d.ts +2 -0
- package/dist/components/ToolbarIconButton/index.d.ts.map +1 -0
- package/dist/components/ToolbarIconButton/index.js +15 -0
- package/dist/components/ToolbarIconButton/index.js.map +1 -0
- package/dist/components/Variables/EditVariablesButton.d.ts +3 -0
- package/dist/components/Variables/EditVariablesButton.d.ts.map +1 -0
- package/dist/components/Variables/EditVariablesButton.js +64 -0
- package/dist/components/Variables/EditVariablesButton.js.map +1 -0
- package/dist/components/Variables/Variable.js +1 -1
- 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 +10 -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 +8 -9
- package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
- package/dist/components/Variables/VariableEditorForm/index.js +1 -1
- package/dist/components/Variables/VariableEditorForm/index.js.map +1 -1
- package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +1 -1
- package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
- package/dist/components/Variables/VariableList.d.ts.map +1 -1
- package/dist/components/Variables/VariableList.js +47 -74
- package/dist/components/Variables/VariableList.js.map +1 -1
- package/dist/components/Variables/index.d.ts +3 -1
- package/dist/components/Variables/index.d.ts.map +1 -1
- package/dist/components/Variables/index.js +4 -2
- package/dist/components/Variables/index.js.map +1 -1
- package/dist/components/Variables/variable-model.js +1 -1
- package/dist/components/Variables/variable-model.js.map +1 -1
- package/dist/components/Variables/variable-model.test.js +1 -1
- package/dist/components/Variables/variable-model.test.js.map +1 -1
- package/dist/components/index.d.ts +4 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -2
- package/dist/components/index.js.map +1 -1
- package/dist/constants/grid-layout-config.d.ts +6 -0
- package/dist/constants/grid-layout-config.d.ts.map +1 -0
- package/dist/constants/grid-layout-config.js +19 -0
- package/dist/constants/grid-layout-config.js.map +1 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +16 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/user-interface-text.d.ts +30 -0
- package/dist/constants/user-interface-text.d.ts.map +1 -0
- package/dist/constants/user-interface-text.js +49 -0
- package/dist/constants/user-interface-text.js.map +1 -0
- package/dist/context/DashboardProvider/DashboardProvider.d.ts +6 -4
- package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -1
- package/dist/context/DashboardProvider/DashboardProvider.js +29 -4
- package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
- package/dist/context/DashboardProvider/common.js +1 -1
- package/dist/context/DashboardProvider/common.js.map +1 -1
- package/dist/context/DashboardProvider/dashboard-provider-api.d.ts +1 -0
- package/dist/context/DashboardProvider/dashboard-provider-api.d.ts.map +1 -1
- package/dist/context/DashboardProvider/dashboard-provider-api.js +7 -5
- package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
- package/dist/context/DashboardProvider/delete-panel-group-slice.js +1 -1
- package/dist/context/DashboardProvider/delete-panel-group-slice.js.map +1 -1
- package/dist/context/DashboardProvider/delete-panel-slice.js +1 -1
- package/dist/context/DashboardProvider/delete-panel-slice.js.map +1 -1
- package/dist/context/DashboardProvider/discard-changes-dialog-slice.js +1 -1
- package/dist/context/DashboardProvider/discard-changes-dialog-slice.js.map +1 -1
- package/dist/context/DashboardProvider/duplicate-panel-slice.d.ts +19 -0
- package/dist/context/DashboardProvider/duplicate-panel-slice.d.ts.map +1 -0
- package/dist/context/DashboardProvider/duplicate-panel-slice.js +58 -0
- package/dist/context/DashboardProvider/duplicate-panel-slice.js.map +1 -0
- package/dist/context/DashboardProvider/index.d.ts +1 -1
- package/dist/context/DashboardProvider/index.d.ts.map +1 -1
- package/dist/context/DashboardProvider/index.js +1 -1
- package/dist/context/DashboardProvider/index.js.map +1 -1
- package/dist/context/DashboardProvider/panel-editor-slice.d.ts +4 -0
- package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -1
- package/dist/context/DashboardProvider/panel-editor-slice.js +7 -36
- package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -1
- package/dist/context/DashboardProvider/panel-group-editor-slice.js +1 -1
- package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -1
- package/dist/context/DashboardProvider/panel-group-slice.js +1 -1
- package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -1
- package/dist/context/DashboardProvider/panel-slice.js +1 -1
- package/dist/context/DashboardProvider/panel-slice.js.map +1 -1
- package/dist/context/DatasourceStoreProvider.js +1 -1
- package/dist/context/DatasourceStoreProvider.js.map +1 -1
- package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js +8 -8
- package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js.map +1 -1
- package/dist/context/TemplateVariableProvider/index.js +1 -1
- package/dist/context/TemplateVariableProvider/index.js.map +1 -1
- package/dist/context/TemplateVariableProvider/query-params.js +1 -1
- package/dist/context/TemplateVariableProvider/query-params.js.map +1 -1
- package/dist/context/TemplateVariableProvider/query-params.test.js +1 -1
- package/dist/context/TemplateVariableProvider/query-params.test.js.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/context/useDashboard.d.ts.map +1 -1
- package/dist/context/useDashboard.js +5 -3
- package/dist/context/useDashboard.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/test/dashboard-provider.js +1 -1
- package/dist/test/dashboard-provider.js.map +1 -1
- package/dist/test/index.js +1 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/plugin-registry.js +1 -1
- package/dist/test/plugin-registry.js.map +1 -1
- package/dist/test/render.js +1 -1
- package/dist/test/render.js.map +1 -1
- package/dist/test/setup-tests.js +1 -1
- package/dist/test/setup-tests.js.map +1 -1
- package/dist/test/testDashboard.js +1 -1
- 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/panelUtils.d.ts +27 -0
- package/dist/utils/panelUtils.d.ts.map +1 -0
- package/dist/utils/panelUtils.js +174 -0
- package/dist/utils/panelUtils.js.map +1 -0
- package/dist/utils/panelUtils.test.d.ts +2 -0
- package/dist/utils/panelUtils.test.d.ts.map +1 -0
- package/dist/utils/panelUtils.test.js +193 -0
- package/dist/utils/panelUtils.test.js.map +1 -0
- package/dist/views/ViewDashboard/DashboardApp.d.ts +1 -0
- package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
- package/dist/views/ViewDashboard/DashboardApp.js +5 -2
- package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
- package/dist/views/ViewDashboard/ViewDashboard.d.ts +2 -0
- package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
- package/dist/views/ViewDashboard/ViewDashboard.js +5 -3
- package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
- package/dist/views/ViewDashboard/index.js +1 -1
- package/dist/views/ViewDashboard/index.js.map +1 -1
- package/dist/views/ViewDashboard/tests/panelGroups.test.js +1 -1
- package/dist/views/ViewDashboard/tests/panelGroups.test.js.map +1 -1
- package/dist/views/index.js +1 -1
- package/dist/views/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/utils/functions.d.ts +0 -2
- package/dist/utils/functions.d.ts.map +0 -1
- package/dist/utils/functions.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "VariableEditor", {
|
|
|
21
21
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
const _react = require("react");
|
|
23
23
|
const _material = require("@mui/material");
|
|
24
|
+
const _plus = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Plus"));
|
|
24
25
|
const _useImmer = require("use-immer");
|
|
25
26
|
const _pencil = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Pencil"));
|
|
26
27
|
const _trashCan = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/TrashCan"));
|
|
@@ -194,7 +195,7 @@ function VariableEditor(props) {
|
|
|
194
195
|
sx: {
|
|
195
196
|
minWidth: 650
|
|
196
197
|
},
|
|
197
|
-
"aria-label": "
|
|
198
|
+
"aria-label": "table of variables",
|
|
198
199
|
children: [
|
|
199
200
|
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TableHead, {
|
|
200
201
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.TableRow, {
|
|
@@ -209,8 +210,7 @@ function VariableEditor(props) {
|
|
|
209
210
|
children: "Type"
|
|
210
211
|
}),
|
|
211
212
|
/*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
|
|
212
|
-
align: "right"
|
|
213
|
-
children: "Action"
|
|
213
|
+
align: "right"
|
|
214
214
|
})
|
|
215
215
|
]
|
|
216
216
|
})
|
|
@@ -274,9 +274,13 @@ function VariableEditor(props) {
|
|
|
274
274
|
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
|
|
275
275
|
display: "flex",
|
|
276
276
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
|
|
277
|
-
onClick: addVariable,
|
|
278
277
|
variant: "contained",
|
|
279
|
-
|
|
278
|
+
startIcon: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plus.default, {}),
|
|
279
|
+
sx: {
|
|
280
|
+
marginLeft: 'auto'
|
|
281
|
+
},
|
|
282
|
+
onClick: addVariable,
|
|
283
|
+
children: "Add Variable"
|
|
280
284
|
})
|
|
281
285
|
})
|
|
282
286
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -26,6 +26,7 @@ const _pluginSystem = require("@perses-dev/plugin-system");
|
|
|
26
26
|
const _components = require("@perses-dev/components");
|
|
27
27
|
const _refresh = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Refresh"));
|
|
28
28
|
const _clipboardOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/ClipboardOutline"));
|
|
29
|
+
const _constants = require("../../../constants");
|
|
29
30
|
const _variableModel = require("../variable-model");
|
|
30
31
|
const _variableEditorFormModel = require("./variable-editor-form-model");
|
|
31
32
|
function _interopRequireDefault(obj) {
|
|
@@ -115,18 +116,16 @@ function VariableListPreview({ definition , onRefresh }) {
|
|
|
115
116
|
variant: "caption",
|
|
116
117
|
children: "Preview Values"
|
|
117
118
|
}),
|
|
118
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(
|
|
119
|
-
|
|
120
|
-
placement: "right",
|
|
119
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.InfoTooltip, {
|
|
120
|
+
description: _constants.TOOLTIP_TEXT.refreshVariableValues,
|
|
121
121
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
|
|
122
122
|
onClick: onRefresh,
|
|
123
123
|
size: "small",
|
|
124
124
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_refresh.default, {})
|
|
125
125
|
})
|
|
126
126
|
}),
|
|
127
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(
|
|
128
|
-
|
|
129
|
-
placement: "right",
|
|
127
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.InfoTooltip, {
|
|
128
|
+
description: _constants.TOOLTIP_TEXT.copyVariableValues,
|
|
130
129
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
|
|
131
130
|
onClick: async ()=>{
|
|
132
131
|
if (data === null || data === void 0 ? void 0 : data.length) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -19,132 +19,66 @@ Object.defineProperty(exports, "TemplateVariableList", {
|
|
|
19
19
|
get: ()=>TemplateVariableList
|
|
20
20
|
});
|
|
21
21
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _react =
|
|
22
|
+
const _react = require("react");
|
|
23
23
|
const _material = require("@mui/material");
|
|
24
|
-
const _pencil = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Pencil"));
|
|
25
24
|
const _pinOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PinOutline"));
|
|
26
25
|
const _pinOffOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PinOffOutline"));
|
|
27
|
-
const _components = require("@perses-dev/components");
|
|
28
26
|
const _context = require("../../context");
|
|
29
27
|
const _variable = require("./Variable");
|
|
30
|
-
const _variableEditor = require("./VariableEditor");
|
|
31
28
|
function _interopRequireDefault(obj) {
|
|
32
29
|
return obj && obj.__esModule ? obj : {
|
|
33
30
|
default: obj
|
|
34
31
|
};
|
|
35
32
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var cacheBabelInterop = new WeakMap();
|
|
39
|
-
var cacheNodeInterop = new WeakMap();
|
|
40
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
41
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
42
|
-
})(nodeInterop);
|
|
43
|
-
}
|
|
44
|
-
function _interopRequireWildcard(obj, nodeInterop) {
|
|
45
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
46
|
-
return obj;
|
|
47
|
-
}
|
|
48
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
49
|
-
return {
|
|
50
|
-
default: obj
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
54
|
-
if (cache && cache.has(obj)) {
|
|
55
|
-
return cache.get(obj);
|
|
56
|
-
}
|
|
57
|
-
var newObj = {};
|
|
58
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
59
|
-
for(var key in obj){
|
|
60
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
61
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
62
|
-
if (desc && (desc.get || desc.set)) {
|
|
63
|
-
Object.defineProperty(newObj, key, desc);
|
|
64
|
-
} else {
|
|
65
|
-
newObj[key] = obj[key];
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
newObj.default = obj;
|
|
70
|
-
if (cache) {
|
|
71
|
-
cache.set(obj, newObj);
|
|
72
|
-
}
|
|
73
|
-
return newObj;
|
|
74
|
-
}
|
|
33
|
+
const VARIABLE_INPUT_MIN_WIDTH = '120px';
|
|
34
|
+
const VARIABLE_INPUT_MAX_WIDTH = '240px';
|
|
75
35
|
function TemplateVariableList(props) {
|
|
76
|
-
const [isEditing, setIsEditing] = (0, _react.useState)(false);
|
|
77
36
|
const [isPin, setIsPin] = (0, _react.useState)(props.initialVariableIsSticky);
|
|
78
37
|
const variableDefinitions = (0, _context.useTemplateVariableDefinitions)();
|
|
79
|
-
const { isEditMode } = (0, _context.useEditMode)();
|
|
80
|
-
const { setVariableDefinitions } = (0, _context.useTemplateVariableActions)();
|
|
81
38
|
const scrollTrigger = (0, _material.useScrollTrigger)({
|
|
82
39
|
disableHysteresis: true
|
|
83
40
|
});
|
|
84
41
|
const isSticky = scrollTrigger && props.initialVariableIsSticky && isPin;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
justifyContent: "space-between",
|
|
125
|
-
my: isSticky ? 2 : 0,
|
|
126
|
-
ml: isSticky ? 2 : 0,
|
|
127
|
-
children: [
|
|
128
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Stack, {
|
|
129
|
-
direction: "row",
|
|
130
|
-
spacing: 1,
|
|
131
|
-
children: variableDefinitions.map((v)=>{
|
|
132
|
-
var ref;
|
|
133
|
-
/*#__PURE__*/ return (0, _jsxRuntime.jsx)(_material.Box, {
|
|
134
|
-
display: ((ref = v.spec.display) === null || ref === void 0 ? void 0 : ref.hidden) ? 'none' : undefined,
|
|
135
|
-
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_variable.TemplateVariable, {
|
|
136
|
-
name: v.spec.name
|
|
137
|
-
}, v.spec.name)
|
|
138
|
-
}, v.spec.name);
|
|
139
|
-
})
|
|
140
|
-
}),
|
|
141
|
-
props.initialVariableIsSticky && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
|
|
142
|
-
onClick: ()=>setIsPin(!isPin),
|
|
143
|
-
children: isPin ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pinOutline.default, {}) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pinOffOutline.default, {})
|
|
144
|
-
})
|
|
145
|
-
]
|
|
146
|
-
})
|
|
42
|
+
return(// marginBottom={-1} counteracts the marginBottom={1} on every variable input.
|
|
43
|
+
// The margin on the inputs is for spacing between inputs, but is not meant to add space to bottom of the container.
|
|
44
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
|
|
45
|
+
marginBottom: -1,
|
|
46
|
+
"data-testid": "variable-list",
|
|
47
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.AppBar, {
|
|
48
|
+
color: "inherit",
|
|
49
|
+
position: isSticky ? 'fixed' : 'static',
|
|
50
|
+
elevation: isSticky ? 4 : 0,
|
|
51
|
+
sx: {
|
|
52
|
+
backgroundColor: 'inherit',
|
|
53
|
+
...props.sx
|
|
54
|
+
},
|
|
55
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
|
|
56
|
+
display: "flex",
|
|
57
|
+
flexWrap: "wrap",
|
|
58
|
+
alignItems: "start",
|
|
59
|
+
my: isSticky ? 2 : 0,
|
|
60
|
+
ml: isSticky ? 2 : 0,
|
|
61
|
+
children: [
|
|
62
|
+
variableDefinitions.map((v)=>{
|
|
63
|
+
var ref;
|
|
64
|
+
/*#__PURE__*/ return (0, _jsxRuntime.jsx)(_material.Box, {
|
|
65
|
+
display: ((ref = v.spec.display) === null || ref === void 0 ? void 0 : ref.hidden) ? 'none' : undefined,
|
|
66
|
+
minWidth: VARIABLE_INPUT_MIN_WIDTH,
|
|
67
|
+
maxWidth: VARIABLE_INPUT_MAX_WIDTH,
|
|
68
|
+
marginBottom: 1,
|
|
69
|
+
marginRight: 1,
|
|
70
|
+
"data-testid": "template-variable",
|
|
71
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_variable.TemplateVariable, {
|
|
72
|
+
name: v.spec.name
|
|
73
|
+
}, v.spec.name)
|
|
74
|
+
}, v.spec.name);
|
|
75
|
+
}),
|
|
76
|
+
props.initialVariableIsSticky && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
|
|
77
|
+
onClick: ()=>setIsPin(!isPin),
|
|
78
|
+
children: isPin ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pinOutline.default, {}) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pinOffOutline.default, {})
|
|
79
|
+
})
|
|
80
|
+
]
|
|
147
81
|
})
|
|
148
|
-
|
|
149
|
-
});
|
|
82
|
+
})
|
|
83
|
+
}));
|
|
150
84
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -14,9 +14,11 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", {
|
|
15
15
|
value: true
|
|
16
16
|
});
|
|
17
|
+
_exportStar(require("./EditVariablesButton"), exports);
|
|
17
18
|
_exportStar(require("./Variable"), exports);
|
|
18
|
-
_exportStar(require("./
|
|
19
|
+
_exportStar(require("./VariableEditor"), exports);
|
|
19
20
|
_exportStar(require("./VariableEditorForm"), exports);
|
|
21
|
+
_exportStar(require("./VariableList"), exports);
|
|
20
22
|
function _exportStar(from, to) {
|
|
21
23
|
Object.keys(from).forEach(function(k) {
|
|
22
24
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -14,17 +14,20 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", {
|
|
15
15
|
value: true
|
|
16
16
|
});
|
|
17
|
+
_exportStar(require("./AddGroupButton"), exports);
|
|
18
|
+
_exportStar(require("./AddPanelButton"), exports);
|
|
17
19
|
_exportStar(require("./Dashboard"), exports);
|
|
18
20
|
_exportStar(require("./DashboardToolbar"), exports);
|
|
19
21
|
_exportStar(require("./DeletePanelDialog"), exports);
|
|
20
22
|
_exportStar(require("./DeletePanelGroupDialog"), exports);
|
|
23
|
+
_exportStar(require("./DiscardChangesConfirmationDialog"), exports);
|
|
21
24
|
_exportStar(require("./DownloadButton"), exports);
|
|
22
25
|
_exportStar(require("./GridLayout"), exports);
|
|
23
26
|
_exportStar(require("./Panel"), exports);
|
|
24
27
|
_exportStar(require("./PanelDrawer"), exports);
|
|
25
28
|
_exportStar(require("./PanelGroupDialog"), exports);
|
|
26
29
|
_exportStar(require("./TimeRangeControls"), exports);
|
|
27
|
-
_exportStar(require("./
|
|
30
|
+
_exportStar(require("./ToolbarIconButton"), exports);
|
|
28
31
|
_exportStar(require("./Variables"), exports);
|
|
29
32
|
function _exportStar(from, to) {
|
|
30
33
|
Object.keys(from).forEach(function(k) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -14,10 +14,18 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", {
|
|
15
15
|
value: true
|
|
16
16
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
+
GRID_LAYOUT_COLS: ()=>GRID_LAYOUT_COLS,
|
|
25
|
+
GRID_LAYOUT_SMALL_BREAKPOINT: ()=>GRID_LAYOUT_SMALL_BREAKPOINT
|
|
20
26
|
});
|
|
21
|
-
const
|
|
22
|
-
|
|
27
|
+
const GRID_LAYOUT_COLS = {
|
|
28
|
+
sm: 24,
|
|
29
|
+
xxs: 2
|
|
23
30
|
};
|
|
31
|
+
const GRID_LAYOUT_SMALL_BREAKPOINT = 'sm';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright 2023 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("./grid-layout-config"), exports);
|
|
18
|
+
_exportStar(require("./user-interface-text"), 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
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright 2023 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
|
+
TOOLTIP_TEXT: ()=>TOOLTIP_TEXT,
|
|
25
|
+
ARIA_LABEL_TEXT: ()=>ARIA_LABEL_TEXT
|
|
26
|
+
});
|
|
27
|
+
const TOOLTIP_TEXT = {
|
|
28
|
+
// Toolbar buttons
|
|
29
|
+
addPanel: 'Add panel',
|
|
30
|
+
addGroup: 'Add panel group',
|
|
31
|
+
downloadDashboard: 'Download JSON',
|
|
32
|
+
editVariables: 'Edit variables',
|
|
33
|
+
refreshDashboard: 'Refresh dashboard',
|
|
34
|
+
// Group buttons
|
|
35
|
+
addPanelToGroup: 'Add panel to group',
|
|
36
|
+
deleteGroup: 'Delete group',
|
|
37
|
+
editGroup: 'Edit group',
|
|
38
|
+
moveGroupDown: 'Move group down',
|
|
39
|
+
moveGroupUp: 'Move group up',
|
|
40
|
+
// Panel buttons
|
|
41
|
+
editPanel: 'Edit',
|
|
42
|
+
duplicatePanel: 'Duplicate',
|
|
43
|
+
deletePanel: 'Delete',
|
|
44
|
+
movePanel: 'Move',
|
|
45
|
+
// Variable editor buttons
|
|
46
|
+
refreshVariableValues: 'Refresh values',
|
|
47
|
+
copyVariableValues: 'Copy values to clipboard'
|
|
48
|
+
};
|
|
49
|
+
const ARIA_LABEL_TEXT = {
|
|
50
|
+
// Group buttons
|
|
51
|
+
addPanelToGroup: (groupName)=>`add panel to group ${groupName}`,
|
|
52
|
+
deleteGroup: (groupName)=>`delete group ${groupName}`,
|
|
53
|
+
editGroup: (groupName)=>`edit group ${groupName}`,
|
|
54
|
+
moveGroupDown: (groupName)=>`move group ${groupName} down`,
|
|
55
|
+
moveGroupUp: (groupName)=>`move group ${groupName} up`,
|
|
56
|
+
// Panel buttons
|
|
57
|
+
editPanel: (panelName)=>`edit panel ${panelName}`,
|
|
58
|
+
duplicatePanel: (panelName)=>`duplicate panel ${panelName}`,
|
|
59
|
+
deletePanel: (panelName)=>`delete panel ${panelName}`,
|
|
60
|
+
movePanel: (panelName)=>`move panel ${panelName}`
|
|
61
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -31,6 +31,7 @@ const _middleware = require("zustand/middleware");
|
|
|
31
31
|
const _immer = require("zustand/middleware/immer");
|
|
32
32
|
const _shallow = /*#__PURE__*/ _interopRequireDefault(require("zustand/shallow"));
|
|
33
33
|
const _react = require("react");
|
|
34
|
+
const _pluginSystem = require("@perses-dev/plugin-system");
|
|
34
35
|
const _panelGroupEditorSlice = require("./panel-group-editor-slice");
|
|
35
36
|
const _panelGroupSlice = require("./panel-group-slice");
|
|
36
37
|
const _panelEditorSlice = require("./panel-editor-slice");
|
|
@@ -38,6 +39,7 @@ const _panelSlice = require("./panel-slice");
|
|
|
38
39
|
const _deletePanelGroupSlice = require("./delete-panel-group-slice");
|
|
39
40
|
const _deletePanelSlice = require("./delete-panel-slice");
|
|
40
41
|
const _discardChangesDialogSlice = require("./discard-changes-dialog-slice");
|
|
42
|
+
const _duplicatePanelSlice = require("./duplicate-panel-slice");
|
|
41
43
|
function _interopRequireDefault(obj) {
|
|
42
44
|
return obj && obj.__esModule ? obj : {
|
|
43
45
|
default: obj
|
|
@@ -55,7 +57,27 @@ function DashboardProvider(props) {
|
|
|
55
57
|
const createDashboardStore = (0, _react.useCallback)(initStore, [
|
|
56
58
|
props
|
|
57
59
|
]);
|
|
60
|
+
// load plugin to retrieve initial spec if default panel kind is defined
|
|
61
|
+
const { defaultPluginKinds } = (0, _pluginSystem.usePluginRegistry)();
|
|
62
|
+
var ref;
|
|
63
|
+
const defaultPanelKind = (ref = defaultPluginKinds === null || defaultPluginKinds === void 0 ? void 0 : defaultPluginKinds['Panel']) !== null && ref !== void 0 ? ref : '';
|
|
64
|
+
const { data: plugin } = (0, _pluginSystem.usePlugin)('Panel', defaultPanelKind);
|
|
58
65
|
const [store] = (0, _react.useState)(createDashboardStore(props)); // prevent calling createDashboardStore every time it rerenders
|
|
66
|
+
(0, _react.useEffect)(()=>{
|
|
67
|
+
if (plugin === undefined) return;
|
|
68
|
+
const spec = plugin.createInitialOptions();
|
|
69
|
+
// set default panel kind and spec for add panel editor
|
|
70
|
+
store.setState({
|
|
71
|
+
initialValues: {
|
|
72
|
+
kind: defaultPanelKind,
|
|
73
|
+
spec
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}, [
|
|
77
|
+
plugin,
|
|
78
|
+
store,
|
|
79
|
+
defaultPanelKind
|
|
80
|
+
]);
|
|
59
81
|
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(DashboardContext.Provider, {
|
|
60
82
|
value: store,
|
|
61
83
|
children: props.children
|
|
@@ -63,7 +85,7 @@ function DashboardProvider(props) {
|
|
|
63
85
|
}
|
|
64
86
|
function initStore(props) {
|
|
65
87
|
const { initialState: { dashboardResource , isEditMode } , } = props;
|
|
66
|
-
const { spec: { layouts , panels , duration } , metadata , } = dashboardResource;
|
|
88
|
+
const { spec: { display , layouts , panels , duration } , metadata , } = dashboardResource;
|
|
67
89
|
const store = (0, _zustand.createStore)()((0, _immer.immer)((0, _middleware.devtools)((...args)=>{
|
|
68
90
|
const [set] = args;
|
|
69
91
|
return {
|
|
@@ -74,7 +96,9 @@ function initStore(props) {
|
|
|
74
96
|
...(0, _panelEditorSlice.createPanelEditorSlice)()(...args),
|
|
75
97
|
...(0, _deletePanelSlice.createDeletePanelSlice)()(...args),
|
|
76
98
|
...(0, _discardChangesDialogSlice.createDiscardChangesDialogSlice)(...args),
|
|
99
|
+
...(0, _duplicatePanelSlice.createDuplicatePanelSlice)()(...args),
|
|
77
100
|
metadata,
|
|
101
|
+
display,
|
|
78
102
|
defaultTimeRange: {
|
|
79
103
|
pastDuration: duration
|
|
80
104
|
},
|
|
@@ -82,9 +106,10 @@ function initStore(props) {
|
|
|
82
106
|
setEditMode: (isEditMode)=>set({
|
|
83
107
|
isEditMode
|
|
84
108
|
}),
|
|
85
|
-
setDashboard: ({ metadata , spec: { panels , layouts } })=>{
|
|
109
|
+
setDashboard: ({ metadata , spec: { display , panels , layouts } })=>{
|
|
86
110
|
set((state)=>{
|
|
87
111
|
state.metadata = metadata;
|
|
112
|
+
state.display = display;
|
|
88
113
|
const { panelGroups , panelGroupOrder } = (0, _panelGroupSlice.convertLayoutsToPanelGroups)(layouts);
|
|
89
114
|
state.panels = panels;
|
|
90
115
|
state.panelGroups = panelGroups;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 The Perses Authors
|
|
2
2
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
3
|
// you may not use this file except in compliance with the License.
|
|
4
4
|
// You may obtain a copy of the License at
|
|
@@ -162,15 +162,17 @@ function usePanel(panelGroupItemId) {
|
|
|
162
162
|
}
|
|
163
163
|
return panel;
|
|
164
164
|
}
|
|
165
|
-
const selectPanelActions = ({ openEditPanel , openDeletePanelDialog })=>({
|
|
165
|
+
const selectPanelActions = ({ openEditPanel , openDeletePanelDialog , duplicatePanel })=>({
|
|
166
166
|
openEditPanel,
|
|
167
|
-
openDeletePanelDialog
|
|
167
|
+
openDeletePanelDialog,
|
|
168
|
+
duplicatePanel
|
|
168
169
|
});
|
|
169
170
|
function usePanelActions(panelGroupItemId) {
|
|
170
|
-
const { openEditPanel , openDeletePanelDialog } = (0, _dashboardProvider.useDashboardStore)(selectPanelActions);
|
|
171
|
+
const { openEditPanel , openDeletePanelDialog , duplicatePanel } = (0, _dashboardProvider.useDashboardStore)(selectPanelActions);
|
|
171
172
|
return {
|
|
172
173
|
openEditPanel: ()=>openEditPanel(panelGroupItemId),
|
|
173
|
-
openDeletePanelDialog: ()=>openDeletePanelDialog(panelGroupItemId)
|
|
174
|
+
openDeletePanelDialog: ()=>openDeletePanelDialog(panelGroupItemId),
|
|
175
|
+
duplicatePanel: ()=>duplicatePanel(panelGroupItemId)
|
|
174
176
|
};
|
|
175
177
|
}
|
|
176
178
|
const selectPanelEditor = (state)=>state.panelEditor;
|