@perses-dev/dashboards 0.8.0 → 0.9.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.
Files changed (196) hide show
  1. package/dist/cjs/components/Dashboard.js +29 -14
  2. package/dist/cjs/components/DashboardToolbar.js +148 -20
  3. package/dist/cjs/components/GridLayout/GridItemContent.js +24 -18
  4. package/dist/cjs/components/GridLayout/GridLayout.js +88 -26
  5. package/dist/cjs/components/GridLayout/GridTitle.js +69 -31
  6. package/dist/cjs/components/GridLayout/index.js +18 -19
  7. package/dist/cjs/components/Panel/Panel.js +145 -55
  8. package/dist/cjs/components/Panel/Panel.test.js +50 -41
  9. package/dist/cjs/components/Panel/PanelContent.js +40 -12
  10. package/dist/cjs/components/Panel/index.js +16 -17
  11. package/dist/cjs/components/PanelDrawer/PanelDrawer.js +82 -107
  12. package/dist/cjs/components/PanelDrawer/PanelDrawer.test.js +91 -92
  13. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +152 -0
  14. package/dist/cjs/components/PanelDrawer/PanelSpecEditor.js +40 -0
  15. package/dist/cjs/components/PanelDrawer/PanelTypeSelect.js +38 -0
  16. package/dist/cjs/components/PanelDrawer/index.js +28 -0
  17. package/dist/cjs/components/PanelDrawer/panel-editor-model.js +140 -0
  18. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +120 -31
  19. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.test.js +90 -83
  20. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +120 -38
  21. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.test.js +42 -27
  22. package/dist/cjs/components/TimeRangeControls/index.js +16 -17
  23. package/dist/cjs/components/Variables/Variable.js +186 -35
  24. package/dist/cjs/components/Variables/VariableList.js +100 -13
  25. package/dist/cjs/components/Variables/index.js +17 -18
  26. package/dist/cjs/components/index.js +21 -21
  27. package/dist/cjs/context/DashboardAppSlice.js +43 -31
  28. package/dist/cjs/context/DashboardProvider.js +88 -58
  29. package/dist/cjs/context/DatasourceStoreProvider.js +68 -0
  30. package/dist/cjs/context/LayoutsSlice.js +40 -27
  31. package/dist/cjs/context/QueryStringProvider.js +69 -15
  32. package/dist/cjs/context/TemplateVariableProvider.js +128 -136
  33. package/dist/cjs/context/TimeRangeProvider.js +79 -30
  34. package/dist/cjs/context/index.js +22 -22
  35. package/dist/cjs/css/styles.js +43 -39
  36. package/dist/cjs/index.js +19 -20
  37. package/dist/cjs/test/dashboard-provider.js +51 -0
  38. package/dist/cjs/test/index.js +18 -18
  39. package/dist/cjs/test/plugin-registry.js +52 -25
  40. package/dist/cjs/test/render.js +25 -22
  41. package/dist/cjs/test/setup-tests.js +4 -2
  42. package/dist/cjs/test/testDashboard.js +193 -109
  43. package/dist/cjs/utils/functions.js +9 -5
  44. package/dist/cjs/views/ViewDashboard/DashboardApp.js +67 -0
  45. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +83 -0
  46. package/dist/cjs/views/ViewDashboard/index.js +28 -0
  47. package/dist/cjs/views/index.js +16 -17
  48. package/dist/components/Dashboard.js +38 -1
  49. package/dist/components/Dashboard.js.map +1 -0
  50. package/dist/components/DashboardToolbar.d.ts.map +1 -1
  51. package/dist/components/DashboardToolbar.js +154 -1
  52. package/dist/components/DashboardToolbar.js.map +1 -0
  53. package/dist/components/GridLayout/GridItemContent.js +35 -1
  54. package/dist/components/GridLayout/GridItemContent.js.map +1 -0
  55. package/dist/components/GridLayout/GridLayout.js +99 -1
  56. package/dist/components/GridLayout/GridLayout.js.map +1 -0
  57. package/dist/components/GridLayout/GridTitle.js +77 -1
  58. package/dist/components/GridLayout/GridTitle.js.map +1 -0
  59. package/dist/components/GridLayout/index.js +16 -1
  60. package/dist/components/GridLayout/index.js.map +1 -0
  61. package/dist/components/Panel/Panel.d.ts.map +1 -1
  62. package/dist/components/Panel/Panel.js +170 -1
  63. package/dist/components/Panel/Panel.js.map +1 -0
  64. package/dist/components/Panel/Panel.test.js +71 -1
  65. package/dist/components/Panel/Panel.test.js.map +1 -0
  66. package/dist/components/Panel/PanelContent.d.ts +2 -4
  67. package/dist/components/Panel/PanelContent.d.ts.map +1 -1
  68. package/dist/components/Panel/PanelContent.js +40 -1
  69. package/dist/components/Panel/PanelContent.js.map +1 -0
  70. package/dist/components/Panel/index.js +15 -1
  71. package/dist/components/Panel/index.js.map +1 -0
  72. package/dist/components/PanelDrawer/PanelDrawer.d.ts +4 -2
  73. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  74. package/dist/components/PanelDrawer/PanelDrawer.js +95 -1
  75. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -0
  76. package/dist/components/PanelDrawer/PanelDrawer.test.js +103 -1
  77. package/dist/components/PanelDrawer/PanelDrawer.test.js.map +1 -0
  78. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +12 -0
  79. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -0
  80. package/dist/components/PanelDrawer/PanelEditorForm.js +142 -0
  81. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -0
  82. package/dist/components/PanelDrawer/PanelSpecEditor.d.ts +7 -0
  83. package/dist/components/PanelDrawer/PanelSpecEditor.d.ts.map +1 -0
  84. package/dist/components/PanelDrawer/PanelSpecEditor.js +34 -0
  85. package/dist/components/PanelDrawer/PanelSpecEditor.js.map +1 -0
  86. package/dist/components/PanelDrawer/PanelTypeSelect.d.ts +8 -0
  87. package/dist/components/PanelDrawer/PanelTypeSelect.d.ts.map +1 -0
  88. package/dist/components/PanelDrawer/PanelTypeSelect.js +34 -0
  89. package/dist/components/PanelDrawer/PanelTypeSelect.js.map +1 -0
  90. package/dist/components/PanelDrawer/index.d.ts +2 -0
  91. package/dist/components/PanelDrawer/index.d.ts.map +1 -0
  92. package/dist/components/PanelDrawer/index.js +15 -0
  93. package/dist/components/PanelDrawer/index.js.map +1 -0
  94. package/dist/components/PanelDrawer/panel-editor-model.d.ts +27 -0
  95. package/dist/components/PanelDrawer/panel-editor-model.d.ts.map +1 -0
  96. package/dist/components/PanelDrawer/panel-editor-model.js +133 -0
  97. package/dist/components/PanelDrawer/panel-editor-model.js.map +1 -0
  98. package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
  99. package/dist/components/PanelGroupDialog/PanelGroupDialog.js +138 -1
  100. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -0
  101. package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js +95 -1
  102. package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js.map +1 -0
  103. package/dist/components/TimeRangeControls/TimeRangeControls.js +137 -1
  104. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -0
  105. package/dist/components/TimeRangeControls/TimeRangeControls.test.js +59 -1
  106. package/dist/components/TimeRangeControls/TimeRangeControls.test.js.map +1 -0
  107. package/dist/components/TimeRangeControls/index.js +15 -1
  108. package/dist/components/TimeRangeControls/index.js.map +1 -0
  109. package/dist/components/Variables/Variable.d.ts.map +1 -1
  110. package/dist/components/Variables/Variable.js +202 -1
  111. package/dist/components/Variables/Variable.js.map +1 -0
  112. package/dist/components/Variables/VariableList.js +108 -1
  113. package/dist/components/Variables/VariableList.js.map +1 -0
  114. package/dist/components/Variables/index.js +16 -1
  115. package/dist/components/Variables/index.js.map +1 -0
  116. package/dist/components/index.d.ts +1 -0
  117. package/dist/components/index.d.ts.map +1 -1
  118. package/dist/components/index.js +20 -1
  119. package/dist/components/index.js.map +1 -0
  120. package/dist/context/DashboardAppSlice.js +45 -1
  121. package/dist/context/DashboardAppSlice.js.map +1 -0
  122. package/dist/context/DashboardProvider.d.ts +4 -2
  123. package/dist/context/DashboardProvider.d.ts.map +1 -1
  124. package/dist/context/DashboardProvider.js +107 -1
  125. package/dist/context/DashboardProvider.js.map +1 -0
  126. package/dist/context/DatasourceStoreProvider.d.ts +16 -0
  127. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -0
  128. package/dist/context/DatasourceStoreProvider.js +64 -0
  129. package/dist/context/DatasourceStoreProvider.js.map +1 -0
  130. package/dist/context/LayoutsSlice.js +43 -1
  131. package/dist/context/LayoutsSlice.js.map +1 -0
  132. package/dist/context/QueryStringProvider.js +40 -1
  133. package/dist/context/QueryStringProvider.js.map +1 -0
  134. package/dist/context/TemplateVariableProvider.d.ts +6 -3
  135. package/dist/context/TemplateVariableProvider.d.ts.map +1 -1
  136. package/dist/context/TemplateVariableProvider.js +192 -1
  137. package/dist/context/TemplateVariableProvider.js.map +1 -0
  138. package/dist/context/TimeRangeProvider.js +72 -1
  139. package/dist/context/TimeRangeProvider.js.map +1 -0
  140. package/dist/context/index.d.ts +3 -2
  141. package/dist/context/index.d.ts.map +1 -1
  142. package/dist/context/index.js +21 -1
  143. package/dist/context/index.js.map +1 -0
  144. package/dist/css/styles.js +186 -1
  145. package/dist/css/styles.js.map +1 -0
  146. package/dist/index.js +17 -1
  147. package/dist/index.js.map +1 -0
  148. package/dist/test/dashboard-provider.d.ts +19 -0
  149. package/dist/test/dashboard-provider.d.ts.map +1 -0
  150. package/dist/test/dashboard-provider.js +40 -0
  151. package/dist/test/dashboard-provider.js.map +1 -0
  152. package/dist/test/index.d.ts +1 -0
  153. package/dist/test/index.d.ts.map +1 -1
  154. package/dist/test/index.js +17 -1
  155. package/dist/test/index.js.map +1 -0
  156. package/dist/test/plugin-registry.d.ts +2 -3
  157. package/dist/test/plugin-registry.d.ts.map +1 -1
  158. package/dist/test/plugin-registry.js +74 -1
  159. package/dist/test/plugin-registry.js.map +1 -0
  160. package/dist/test/render.d.ts +1 -2
  161. package/dist/test/render.d.ts.map +1 -1
  162. package/dist/test/render.js +34 -1
  163. package/dist/test/render.js.map +1 -0
  164. package/dist/test/setup-tests.js +18 -1
  165. package/dist/test/setup-tests.js.map +1 -0
  166. package/dist/test/testDashboard.d.ts.map +1 -1
  167. package/dist/test/testDashboard.js +274 -1
  168. package/dist/test/testDashboard.js.map +1 -0
  169. package/dist/utils/functions.js +17 -1
  170. package/dist/utils/functions.js.map +1 -0
  171. package/dist/views/ViewDashboard/DashboardApp.d.ts +7 -0
  172. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -0
  173. package/dist/views/ViewDashboard/DashboardApp.js +56 -0
  174. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -0
  175. package/dist/views/{ViewDashboard.d.ts → ViewDashboard/ViewDashboard.d.ts} +3 -1
  176. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -0
  177. package/dist/views/ViewDashboard/ViewDashboard.js +79 -0
  178. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -0
  179. package/dist/views/ViewDashboard/index.d.ts +2 -0
  180. package/dist/views/ViewDashboard/index.d.ts.map +1 -0
  181. package/dist/views/ViewDashboard/index.js +15 -0
  182. package/dist/views/ViewDashboard/index.js.map +1 -0
  183. package/dist/views/index.js +15 -1
  184. package/dist/views/index.js.map +1 -0
  185. package/package.json +13 -7
  186. package/dist/cjs/components/PanelDrawer/PanelOptionsEditor.js +0 -19
  187. package/dist/cjs/views/DashboardApp.js +0 -46
  188. package/dist/cjs/views/ViewDashboard.js +0 -43
  189. package/dist/components/PanelDrawer/PanelOptionsEditor.d.ts +0 -9
  190. package/dist/components/PanelDrawer/PanelOptionsEditor.d.ts.map +0 -1
  191. package/dist/components/PanelDrawer/PanelOptionsEditor.js +0 -1
  192. package/dist/views/DashboardApp.d.ts +0 -4
  193. package/dist/views/DashboardApp.d.ts.map +0 -1
  194. package/dist/views/DashboardApp.js +0 -1
  195. package/dist/views/ViewDashboard.d.ts.map +0 -1
  196. package/dist/views/ViewDashboard.js +0 -1
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Dashboard = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- // Copyright 2021 The Perses Authors
1
+ // Copyright 2022 The Perses Authors
6
2
  // Licensed under the Apache License, Version 2.0 (the "License");
7
3
  // you may not use this file except in compliance with the License.
8
4
  // You may obtain a copy of the License at
@@ -14,14 +10,33 @@ const jsx_runtime_1 = require("react/jsx-runtime");
14
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
11
  // See the License for the specific language governing permissions and
16
12
  // limitations under the License.
17
- const material_1 = require("@mui/material");
18
- const components_1 = require("@perses-dev/components");
19
- const GridLayout_1 = require("./GridLayout");
20
- /**
21
- * Renders a Dashboard for the provided Dashboard spec.
22
- */
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "Dashboard", {
18
+ enumerable: true,
19
+ get: ()=>Dashboard
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _material = require("@mui/material");
23
+ const _components = require("@perses-dev/components");
24
+ const _gridLayout = require("./GridLayout");
23
25
  function Dashboard(props) {
24
- const { spec, ...others } = props;
25
- return ((0, jsx_runtime_1.jsx)(material_1.Box, { ...others, children: (0, jsx_runtime_1.jsx)(components_1.ErrorBoundary, { FallbackComponent: components_1.ErrorAlert, children: spec.layouts.map((layout, idx) => ((0, jsx_runtime_1.jsx)(GridLayout_1.GridLayout, { groupIndex: idx, definition: layout, renderGridItemContent: (definition, groupIndex) => ((0, jsx_runtime_1.jsx)(GridLayout_1.GridItemContent, { content: definition.content, spec: spec, groupIndex: groupIndex })) }, `${JSON.stringify(spec.layouts)} ${idx}`))) }) }));
26
+ const { spec , ...others } = props;
27
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
28
+ ...others,
29
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.ErrorBoundary, {
30
+ FallbackComponent: _components.ErrorAlert,
31
+ children: spec.layouts.map((layout, idx)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_gridLayout.GridLayout, {
32
+ groupIndex: idx,
33
+ definition: layout,
34
+ renderGridItemContent: (definition, groupIndex)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_gridLayout.GridItemContent, {
35
+ content: definition.content,
36
+ spec: spec,
37
+ groupIndex: groupIndex
38
+ })
39
+ }, `${JSON.stringify(spec.layouts)} ${idx}`))
40
+ })
41
+ });
26
42
  }
27
- exports.Dashboard = Dashboard;
@@ -1,10 +1,3 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DashboardToolbar = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
1
  // Copyright 2022 The Perses Authors
9
2
  // Licensed under the Apache License, Version 2.0 (the "License");
10
3
  // you may not use this file except in compliance with the License.
@@ -17,21 +10,156 @@ const jsx_runtime_1 = require("react/jsx-runtime");
17
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
11
  // See the License for the specific language governing permissions and
19
12
  // limitations under the License.
20
- const material_1 = require("@mui/material");
21
- const PencilOutline_1 = __importDefault(require("mdi-material-ui/PencilOutline"));
22
- const Plus_1 = __importDefault(require("mdi-material-ui/Plus"));
23
- const context_1 = require("../context");
24
- const components_1 = require("../components");
25
- const DashboardToolbar = (props) => {
26
- const { dashboardName } = props;
27
- const { isEditMode, setEditMode } = (0, context_1.useEditMode)();
28
- const { openPanelDrawer, openPanelGroupDialog } = (0, context_1.useDashboardApp)();
29
- const onEditButtonClick = () => {
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "DashboardToolbar", {
18
+ enumerable: true,
19
+ get: ()=>DashboardToolbar
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _material = require("@mui/material");
23
+ const _pencilOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PencilOutline"));
24
+ const _plusBoxOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PlusBoxOutline"));
25
+ const _chartBoxPlusOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/ChartBoxPlusOutline"));
26
+ const _components = require("@perses-dev/components");
27
+ const _context = require("../context");
28
+ const _components1 = require("../components");
29
+ function _interopRequireDefault(obj) {
30
+ return obj && obj.__esModule ? obj : {
31
+ default: obj
32
+ };
33
+ }
34
+ const DashboardToolbar = (props)=>{
35
+ const { dashboardName } = props;
36
+ const { isEditMode , setEditMode } = (0, _context.useEditMode)();
37
+ const { openPanelDrawer , openPanelGroupDialog } = (0, _context.useDashboardApp)();
38
+ const onEditButtonClick = ()=>{
30
39
  setEditMode(true);
31
40
  };
32
- const onCancelButtonClick = () => {
41
+ const onCancelButtonClick = ()=>{
33
42
  setEditMode(false);
34
43
  };
35
- return ((0, jsx_runtime_1.jsx)(material_1.Toolbar, { disableGutters: true, sx: { display: 'block', padding: (theme) => theme.spacing(2, 0) }, children: isEditMode ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex', width: '100%' }, children: [(0, jsx_runtime_1.jsxs)(material_1.Typography, { variant: "h2", children: ["Edit ", dashboardName] }), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", spacing: 1, sx: { marginLeft: 'auto' }, children: [(0, jsx_runtime_1.jsx)(components_1.TimeRangeControls, {}), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", onClick: onCancelButtonClick, children: "Cancel" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", children: "Save" })] })] }), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: 'row', spacing: 1, sx: { display: 'flex', justifyContent: 'flex-end', width: '100%', padding: (theme) => theme.spacing(2, 0) }, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { startIcon: (0, jsx_runtime_1.jsx)(Plus_1.default, {}), onClick: () => openPanelGroupDialog(), children: "Add Group" }), (0, jsx_runtime_1.jsx)(material_1.Button, { startIcon: (0, jsx_runtime_1.jsx)(Plus_1.default, {}), onClick: () => openPanelDrawer({ groupIndex: 0 }), children: "Add Panel" })] })] })) : ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex', width: '100%' }, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h2", children: dashboardName }), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", spacing: 2, sx: { marginLeft: 'auto' }, children: [(0, jsx_runtime_1.jsx)(components_1.TimeRangeControls, {}), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", startIcon: (0, jsx_runtime_1.jsx)(PencilOutline_1.default, {}), onClick: onEditButtonClick, sx: { marginLeft: 'auto' }, children: "Edit" })] })] })) }));
44
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
45
+ children: isEditMode ? /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
46
+ spacing: 2,
47
+ children: [
48
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
49
+ sx: {
50
+ backgroundColor: (theme)=>theme.palette.primary.light + '20'
51
+ },
52
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
53
+ padding: 2,
54
+ display: "flex",
55
+ children: [
56
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Typography, {
57
+ variant: "h2",
58
+ children: [
59
+ "Edit ",
60
+ dashboardName
61
+ ]
62
+ }),
63
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
64
+ direction: "row",
65
+ spacing: 1,
66
+ sx: {
67
+ marginLeft: 'auto'
68
+ },
69
+ children: [
70
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
71
+ variant: "contained",
72
+ children: "Save"
73
+ }),
74
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
75
+ variant: "outlined",
76
+ onClick: onCancelButtonClick,
77
+ children: "Cancel"
78
+ })
79
+ ]
80
+ })
81
+ ]
82
+ })
83
+ }),
84
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
85
+ sx: {
86
+ display: 'flex',
87
+ width: '100%',
88
+ padding: (theme)=>theme.spacing(2)
89
+ },
90
+ children: [
91
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.ErrorBoundary, {
92
+ FallbackComponent: _components.ErrorAlert,
93
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components1.TemplateVariableList, {})
94
+ }),
95
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
96
+ direction: 'row',
97
+ spacing: 1,
98
+ sx: {
99
+ marginLeft: 'auto'
100
+ },
101
+ children: [
102
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
103
+ startIcon: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plusBoxOutline.default, {}),
104
+ onClick: ()=>openPanelGroupDialog(),
105
+ children: "Add Panel Group"
106
+ }),
107
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
108
+ startIcon: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_chartBoxPlusOutline.default, {}),
109
+ onClick: ()=>openPanelDrawer({
110
+ groupIndex: 0
111
+ }),
112
+ children: "Add Panel"
113
+ }),
114
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components1.TimeRangeControls, {})
115
+ ]
116
+ })
117
+ ]
118
+ })
119
+ ]
120
+ }) : /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
121
+ spacing: 2,
122
+ padding: 2,
123
+ children: [
124
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
125
+ sx: {
126
+ display: 'flex',
127
+ width: '100%'
128
+ },
129
+ children: [
130
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
131
+ variant: "h2",
132
+ children: dashboardName
133
+ }),
134
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
135
+ direction: "row",
136
+ spacing: 2,
137
+ sx: {
138
+ marginLeft: 'auto'
139
+ },
140
+ children: [
141
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components1.TimeRangeControls, {}),
142
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
143
+ variant: "outlined",
144
+ startIcon: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pencilOutline.default, {}),
145
+ onClick: onEditButtonClick,
146
+ sx: {
147
+ marginLeft: 'auto'
148
+ },
149
+ children: "Edit"
150
+ })
151
+ ]
152
+ })
153
+ ]
154
+ }),
155
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
156
+ paddingY: 2,
157
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.ErrorBoundary, {
158
+ FallbackComponent: _components.ErrorAlert,
159
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components1.TemplateVariableList, {})
160
+ })
161
+ })
162
+ ]
163
+ })
164
+ });
36
165
  };
37
- exports.DashboardToolbar = DashboardToolbar;
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridItemContent = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- // Copyright 2021 The Perses Authors
1
+ // Copyright 2022 The Perses Authors
6
2
  // Licensed under the Apache License, Version 2.0 (the "License");
7
3
  // you may not use this file except in compliance with the License.
8
4
  // You may obtain a copy of the License at
@@ -14,20 +10,30 @@ const jsx_runtime_1 = require("react/jsx-runtime");
14
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
11
  // See the License for the specific language governing permissions and
16
12
  // limitations under the License.
17
- const components_1 = require("@perses-dev/components");
18
- const core_1 = require("@perses-dev/core");
19
- const Panel_1 = require("../Panel/Panel");
20
- /**
21
- * Resolves the reference to panel content in a GridItemDefinition and renders the panel.
22
- */
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "GridItemContent", {
18
+ enumerable: true,
19
+ get: ()=>GridItemContent
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _components = require("@perses-dev/components");
23
+ const _core = require("@perses-dev/core");
24
+ const _panel = require("../Panel/Panel");
23
25
  function GridItemContent(props) {
24
- const { content, spec, groupIndex } = props;
26
+ const { content , spec , groupIndex } = props;
25
27
  try {
26
- const { panelDefinition, panelsKey } = (0, core_1.resolvePanelRef)(spec, content);
27
- return (0, jsx_runtime_1.jsx)(Panel_1.Panel, { definition: panelDefinition, groupIndex: groupIndex, panelKey: panelsKey });
28
- }
29
- catch (err) {
30
- return (0, jsx_runtime_1.jsx)(components_1.ErrorAlert, { error: err });
28
+ const { panelDefinition , panelsKey } = (0, _core.resolvePanelRef)(spec, content);
29
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_panel.Panel, {
30
+ definition: panelDefinition,
31
+ groupIndex: groupIndex,
32
+ panelKey: panelsKey
33
+ });
34
+ } catch (err) {
35
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.ErrorAlert, {
36
+ error: err
37
+ });
31
38
  }
32
39
  }
33
- exports.GridItemContent = GridItemContent;
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridLayout = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- // Copyright 2021 The Perses Authors
1
+ // Copyright 2022 The Perses Authors
6
2
  // Licensed under the Apache License, Version 2.0 (the "License");
7
3
  // you may not use this file except in compliance with the License.
8
4
  // You may obtain a copy of the License at
@@ -14,28 +10,94 @@ const jsx_runtime_1 = require("react/jsx-runtime");
14
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
11
  // See the License for the specific language governing permissions and
16
12
  // limitations under the License.
17
- const react_1 = require("react");
18
- const react_grid_layout_1 = require("react-grid-layout");
19
- const material_1 = require("@mui/material");
20
- const styles_1 = require("../../css/styles");
21
- const context_1 = require("../../context");
22
- const GridTitle_1 = require("./GridTitle");
23
- const ResponsiveGridLayout = (0, react_grid_layout_1.WidthProvider)(react_grid_layout_1.Responsive);
24
- /**
25
- * Layout component that arranges children in a Grid based on the definition.
26
- */
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "GridLayout", {
18
+ enumerable: true,
19
+ get: ()=>GridLayout
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _react = require("react");
23
+ const _reactGridLayout = require("react-grid-layout");
24
+ const _material = require("@mui/material");
25
+ const _styles = require("../../css/styles");
26
+ const _context = require("../../context");
27
+ const _gridTitle = require("./GridTitle");
28
+ const ResponsiveGridLayout = (0, _reactGridLayout.WidthProvider)(_reactGridLayout.Responsive);
27
29
  function GridLayout(props) {
28
- var _a, _b;
29
- const { groupIndex, definition: { spec }, renderGridItemContent, ...others } = props;
30
- const [isOpen, setIsOpen] = (0, react_1.useState)(!!((_b = (_a = spec.display) === null || _a === void 0 ? void 0 : _a.collapse) === null || _b === void 0 ? void 0 : _b.open));
31
- const { isEditMode } = (0, context_1.useEditMode)();
30
+ var ref, ref1;
31
+ const { groupIndex , definition: { spec } , renderGridItemContent , ...others } = props;
32
+ var ref2;
33
+ const [isOpen, setIsOpen] = (0, _react.useState)((ref2 = (ref = spec.display) === null || ref === void 0 ? void 0 : (ref1 = ref.collapse) === null || ref1 === void 0 ? void 0 : ref1.open) !== null && ref2 !== void 0 ? ref2 : true);
34
+ const { isEditMode } = (0, _context.useEditMode)();
32
35
  const gridItems = [];
33
- spec.items.forEach((item, idx) => {
34
- const { x, y, width: w, height: h } = item;
35
- gridItems.push((0, jsx_runtime_1.jsx)("div", { "data-grid": { x, y, w, h }, children: renderGridItemContent(item, groupIndex) }, idx));
36
+ spec.items.forEach((item, idx)=>{
37
+ const { x , y , width: w , height: h } = item;
38
+ gridItems.push(/*#__PURE__*/ (0, _jsxRuntime.jsx)("div", {
39
+ "data-grid": {
40
+ x,
41
+ y,
42
+ w,
43
+ h
44
+ },
45
+ children: renderGridItemContent(item, groupIndex)
46
+ }, idx));
47
+ });
48
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
49
+ children: [
50
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.GlobalStyles, {
51
+ styles: _styles.styles
52
+ }),
53
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
54
+ ...others,
55
+ component: "section",
56
+ sx: {
57
+ '& + &': {
58
+ marginTop: (theme)=>theme.spacing(1)
59
+ }
60
+ },
61
+ children: [
62
+ spec.display !== undefined && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_gridTitle.GridTitle, {
63
+ groupIndex: groupIndex,
64
+ title: spec.display.title,
65
+ collapse: spec.display.collapse === undefined ? undefined : {
66
+ isOpen,
67
+ onToggleOpen: ()=>setIsOpen((current)=>!current)
68
+ }
69
+ }),
70
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Collapse, {
71
+ in: isOpen,
72
+ unmountOnExit: true,
73
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(ResponsiveGridLayout, {
74
+ className: "layout",
75
+ breakpoints: {
76
+ lg: 1200,
77
+ md: 996,
78
+ sm: 768,
79
+ xs: 480,
80
+ xxs: 0
81
+ },
82
+ cols: {
83
+ lg: 24,
84
+ md: 24,
85
+ sm: 24,
86
+ xs: 24,
87
+ xxs: 2
88
+ },
89
+ rowHeight: 30,
90
+ draggableHandle: '.drag-handle',
91
+ resizeHandles: [
92
+ 'se'
93
+ ],
94
+ isDraggable: isEditMode,
95
+ isResizable: isEditMode,
96
+ children: gridItems
97
+ })
98
+ })
99
+ ]
100
+ })
101
+ ]
36
102
  });
37
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.GlobalStyles, { styles: styles_1.styles }), (0, jsx_runtime_1.jsxs)(material_1.Box, { ...others, component: "section", sx: { '& + &': { marginTop: (theme) => theme.spacing(1) } }, children: [spec.display !== undefined && ((0, jsx_runtime_1.jsx)(GridTitle_1.GridTitle, { groupIndex: groupIndex, title: spec.display.title, collapse: spec.display.collapse === undefined
38
- ? undefined
39
- : { isOpen, onToggleOpen: () => setIsOpen((current) => !current) } })), (0, jsx_runtime_1.jsx)(material_1.Collapse, { in: isOpen, unmountOnExit: true, children: (0, jsx_runtime_1.jsx)(ResponsiveGridLayout, { className: "layout", breakpoints: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 }, cols: { lg: 24, md: 24, sm: 24, xs: 24, xxs: 2 }, rowHeight: 30, draggableHandle: '.drag-handle', resizeHandles: ['se'], isDraggable: isEditMode, isResizable: isEditMode, children: gridItems }) })] })] }));
40
103
  }
41
- exports.GridLayout = GridLayout;
@@ -1,11 +1,4 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GridTitle = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- // Copyright 2021 The Perses Authors
1
+ // Copyright 2022 The Perses Authors
9
2
  // Licensed under the Apache License, Version 2.0 (the "License");
10
3
  // you may not use this file except in compliance with the License.
11
4
  // You may obtain a copy of the License at
@@ -17,31 +10,76 @@ const jsx_runtime_1 = require("react/jsx-runtime");
17
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
11
  // See the License for the specific language governing permissions and
19
12
  // limitations under the License.
20
- const material_1 = require("@mui/material");
21
- const ChevronUp_1 = __importDefault(require("mdi-material-ui/ChevronUp"));
22
- const ChevronDown_1 = __importDefault(require("mdi-material-ui/ChevronDown"));
23
- const Plus_1 = __importDefault(require("mdi-material-ui/Plus"));
24
- const PencilOutline_1 = __importDefault(require("mdi-material-ui/PencilOutline"));
25
- const react_1 = require("react");
26
- const context_1 = require("../../context");
27
- /**
28
- * Renders the title for a Grid section, optionally also supporting expanding
29
- * and collapsing
30
- */
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "GridTitle", {
18
+ enumerable: true,
19
+ get: ()=>GridTitle
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _material = require("@mui/material");
23
+ const _chevronUp = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/ChevronUp"));
24
+ const _chevronDown = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/ChevronDown"));
25
+ const _plus = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Plus"));
26
+ const _pencilOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PencilOutline"));
27
+ const _react = require("react");
28
+ const _context = require("../../context");
29
+ function _interopRequireDefault(obj) {
30
+ return obj && obj.__esModule ? obj : {
31
+ default: obj
32
+ };
33
+ }
31
34
  function GridTitle(props) {
32
- const { groupIndex, title, collapse } = props;
33
- const [isHovered, setIsHovered] = (0, react_1.useState)(false);
34
- const { openPanelDrawer, openPanelGroupDialog } = (0, context_1.useDashboardApp)();
35
- const { isEditMode } = (0, context_1.useEditMode)();
36
- const text = ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h2", sx: { marginLeft: collapse !== undefined ? 1 : undefined }, children: title }));
37
- return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
35
+ const { groupIndex , title , collapse } = props;
36
+ const [isHovered, setIsHovered] = (0, _react.useState)(false);
37
+ const { openPanelDrawer , openPanelGroupDialog } = (0, _context.useDashboardApp)();
38
+ const { isEditMode } = (0, _context.useEditMode)();
39
+ const text = /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
40
+ variant: "h2",
41
+ sx: {
42
+ marginLeft: collapse !== undefined ? 1 : undefined
43
+ },
44
+ children: title
45
+ });
46
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
47
+ sx: {
38
48
  display: 'flex',
39
49
  justifyContent: 'start',
40
50
  alignItems: 'center',
41
- padding: (theme) => theme.spacing(1),
42
- backgroundColor: (theme) => theme.palette.background.default,
43
- }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: collapse ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: collapse.onToggleOpen, children: collapse.isOpen ? (0, jsx_runtime_1.jsx)(ChevronUp_1.default, {}) : (0, jsx_runtime_1.jsx)(ChevronDown_1.default, {}) }), text, isEditMode && isHovered && ((0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", sx: { marginLeft: 'auto' }, children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: () => openPanelDrawer({ groupIndex }), children: (0, jsx_runtime_1.jsx)(Plus_1.default, {}) }), (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: () => openPanelGroupDialog(groupIndex), children: (0, jsx_runtime_1.jsx)(PencilOutline_1.default, {}) })] }))] })) : (
44
- // If we don't need expand/collapse, just render the title text
45
- text) }));
51
+ padding: (theme)=>theme.spacing(1),
52
+ backgroundColor: (theme)=>theme.palette.background.default
53
+ },
54
+ onMouseEnter: ()=>setIsHovered(true),
55
+ onMouseLeave: ()=>setIsHovered(false),
56
+ children: collapse ? /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
57
+ children: [
58
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
59
+ onClick: collapse.onToggleOpen,
60
+ children: collapse.isOpen ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_chevronUp.default, {}) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_chevronDown.default, {})
61
+ }),
62
+ text,
63
+ isEditMode && isHovered && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
64
+ direction: "row",
65
+ sx: {
66
+ marginLeft: 'auto'
67
+ },
68
+ children: [
69
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
70
+ onClick: ()=>openPanelDrawer({
71
+ groupIndex
72
+ }),
73
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plus.default, {})
74
+ }),
75
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
76
+ onClick: ()=>openPanelGroupDialog(groupIndex),
77
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pencilOutline.default, {})
78
+ })
79
+ ]
80
+ })
81
+ ]
82
+ }) : // If we don't need expand/collapse, just render the title text
83
+ text
84
+ });
46
85
  }
47
- exports.GridTitle = GridTitle;
@@ -1,5 +1,4 @@
1
- "use strict";
2
- // Copyright 2021 The Perses Authors
1
+ // Copyright 2022 The Perses Authors
3
2
  // Licensed under the Apache License, Version 2.0 (the "License");
4
3
  // you may not use this file except in compliance with the License.
5
4
  // You may obtain a copy of the License at
@@ -11,20 +10,20 @@
11
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
11
  // See the License for the specific language governing permissions and
13
12
  // limitations under the License.
14
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- var desc = Object.getOwnPropertyDescriptor(m, k);
17
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
- desc = { enumerable: true, get: function() { return m[k]; } };
19
- }
20
- Object.defineProperty(o, k2, desc);
21
- }) : (function(o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- }));
25
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- __exportStar(require("./GridLayout"), exports);
30
- __exportStar(require("./GridItemContent"), exports);
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ _exportStar(require("./GridLayout"), exports);
18
+ _exportStar(require("./GridItemContent"), 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
+ }