@perses-dev/dashboards 0.0.0-snapshot-color-palette-gen-test-bc1b508 → 0.0.0-snapshot-tooltip-highlight-c995fc8

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 (110) hide show
  1. package/dist/cjs/components/EditJsonDialog/EditJsonDialog.js +5 -0
  2. package/dist/cjs/components/GridLayout/GridItemContent.js +22 -4
  3. package/dist/cjs/components/GridLayout/GridLayout.js +31 -2
  4. package/dist/cjs/components/Panel/Panel.js +2 -2
  5. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +41 -34
  6. package/dist/cjs/components/PanelDrawer/PanelPreview.js +32 -18
  7. package/dist/cjs/components/PanelDrawer/usePanelEditor.js +87 -0
  8. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +5 -5
  9. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +1 -1
  10. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +7 -8
  11. package/dist/cjs/context/DashboardProvider/DashboardProvider.js +7 -8
  12. package/dist/cjs/context/DashboardProvider/common.js +26 -6
  13. package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +4 -4
  14. package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +8 -32
  15. package/dist/cjs/context/useDashboard.js +4 -4
  16. package/dist/cjs/stories/decorators/WithDatasourceStore.js +2 -47
  17. package/dist/cjs/stories/decorators/index.js +0 -4
  18. package/dist/cjs/test/datasource-provider.js +70 -0
  19. package/dist/cjs/test/index.js +1 -0
  20. package/dist/cjs/test/plugin-registry.js +11 -5
  21. package/dist/cjs/test/testDashboard.js +79 -79
  22. package/dist/cjs/utils/index.js +1 -0
  23. package/dist/cjs/{stories/decorators/WithQueryClient.js → utils/time.js} +9 -11
  24. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts.map +1 -1
  25. package/dist/components/EditJsonDialog/EditJsonDialog.js +5 -0
  26. package/dist/components/EditJsonDialog/EditJsonDialog.js.map +1 -1
  27. package/dist/components/GridLayout/GridItemContent.d.ts +1 -0
  28. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  29. package/dist/components/GridLayout/GridItemContent.js +22 -4
  30. package/dist/components/GridLayout/GridItemContent.js.map +1 -1
  31. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
  32. package/dist/components/GridLayout/GridLayout.js +31 -2
  33. package/dist/components/GridLayout/GridLayout.js.map +1 -1
  34. package/dist/components/Panel/Panel.d.ts +1 -1
  35. package/dist/components/Panel/Panel.d.ts.map +1 -1
  36. package/dist/components/Panel/Panel.js +3 -3
  37. package/dist/components/Panel/Panel.js.map +1 -1
  38. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
  39. package/dist/components/PanelDrawer/PanelEditorForm.js +42 -35
  40. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
  41. package/dist/components/PanelDrawer/PanelPreview.d.ts +1 -1
  42. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
  43. package/dist/components/PanelDrawer/PanelPreview.js +32 -18
  44. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
  45. package/dist/components/PanelDrawer/usePanelEditor.d.ts +15 -0
  46. package/dist/components/PanelDrawer/usePanelEditor.d.ts.map +1 -0
  47. package/dist/components/PanelDrawer/usePanelEditor.js +84 -0
  48. package/dist/components/PanelDrawer/usePanelEditor.js.map +1 -0
  49. package/dist/components/TimeRangeControls/TimeRangeControls.js +6 -6
  50. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
  51. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +1 -1
  52. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
  53. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -1
  54. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +7 -8
  55. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
  56. package/dist/context/DashboardProvider/DashboardProvider.d.ts +2 -2
  57. package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -1
  58. package/dist/context/DashboardProvider/DashboardProvider.js +7 -8
  59. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
  60. package/dist/context/DashboardProvider/common.d.ts +2 -0
  61. package/dist/context/DashboardProvider/common.d.ts.map +1 -1
  62. package/dist/context/DashboardProvider/common.js +17 -2
  63. package/dist/context/DashboardProvider/common.js.map +1 -1
  64. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts +1 -1
  65. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts.map +1 -1
  66. package/dist/context/DashboardProvider/dashboard-provider-api.js +3 -3
  67. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
  68. package/dist/context/DashboardProvider/panel-editor-slice.d.ts +3 -6
  69. package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -1
  70. package/dist/context/DashboardProvider/panel-editor-slice.js +9 -33
  71. package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -1
  72. package/dist/context/useDashboard.d.ts.map +1 -1
  73. package/dist/context/useDashboard.js +4 -4
  74. package/dist/context/useDashboard.js.map +1 -1
  75. package/dist/stories/decorators/WithDatasourceStore.js +1 -46
  76. package/dist/stories/decorators/WithDatasourceStore.js.map +1 -1
  77. package/dist/stories/decorators/index.js +0 -4
  78. package/dist/stories/decorators/index.js.map +1 -1
  79. package/dist/test/datasource-provider.d.ts +6 -0
  80. package/dist/test/datasource-provider.d.ts.map +1 -0
  81. package/dist/test/datasource-provider.js +60 -0
  82. package/dist/test/datasource-provider.js.map +1 -0
  83. package/dist/test/index.d.ts +1 -0
  84. package/dist/test/index.d.ts.map +1 -1
  85. package/dist/test/index.js +1 -0
  86. package/dist/test/index.js.map +1 -1
  87. package/dist/test/plugin-registry.d.ts.map +1 -1
  88. package/dist/test/plugin-registry.js +11 -5
  89. package/dist/test/plugin-registry.js.map +1 -1
  90. package/dist/test/testDashboard.js +79 -79
  91. package/dist/test/testDashboard.js.map +1 -1
  92. package/dist/utils/index.d.ts +1 -0
  93. package/dist/utils/index.d.ts.map +1 -1
  94. package/dist/utils/index.js +1 -0
  95. package/dist/utils/index.js.map +1 -1
  96. package/dist/utils/time.d.ts +5 -0
  97. package/dist/utils/time.d.ts.map +1 -0
  98. package/dist/{stories/decorators/WithQueryClient.js → utils/time.js} +10 -10
  99. package/dist/utils/time.js.map +1 -0
  100. package/package.json +6 -6
  101. package/dist/cjs/stories/decorators/WithPluginRegistry.js +0 -91
  102. package/dist/cjs/stories/decorators/WithQueryParams.js +0 -29
  103. package/dist/cjs/stories/decorators/WithTimeRange.js +0 -38
  104. package/dist/stories/decorators/WithPluginRegistry.js +0 -46
  105. package/dist/stories/decorators/WithPluginRegistry.js.map +0 -1
  106. package/dist/stories/decorators/WithQueryClient.js.map +0 -1
  107. package/dist/stories/decorators/WithQueryParams.js +0 -23
  108. package/dist/stories/decorators/WithQueryParams.js.map +0 -1
  109. package/dist/stories/decorators/WithTimeRange.js +0 -32
  110. package/dist/stories/decorators/WithTimeRange.js.map +0 -1
@@ -40,20 +40,15 @@ function createPanelEditorSlice() {
40
40
  if (panelToEdit === undefined) {
41
41
  throw new Error(`Cannot find Panel with key '${panelKey}'`);
42
42
  }
43
- var _description;
44
43
  const editorState = {
45
44
  mode: 'Edit',
46
45
  initialValues: {
47
- name: panelToEdit.spec.display.name,
48
- description: (_description = panelToEdit.spec.display.description) !== null && _description !== void 0 ? _description : '',
49
46
  groupId: panelGroupItemId.panelGroupId,
50
- kind: panelToEdit.spec.plugin.kind,
51
- spec: panelToEdit.spec.plugin.spec
47
+ panelDefinition: panelToEdit
52
48
  },
53
49
  applyChanges: (next)=>{
54
- const panelDefinititon = createPanelDefinitionFromEditorValues(next);
55
50
  set((state)=>{
56
- state.panels[panelKey] = panelDefinititon;
51
+ state.panels[panelKey] = next.panelDefinition;
57
52
  // If the panel didn't change groups, nothing else to do
58
53
  if (next.groupId === panelGroupId) {
59
54
  return;
@@ -99,7 +94,7 @@ function createPanelEditorSlice() {
99
94
  });
100
95
  },
101
96
  openAddPanel (panelGroupId) {
102
- var ref, ref1;
97
+ var ref;
103
98
  // If a panel group isn't supplied, add to the first group or create a group if there aren't any
104
99
  let newGroup = undefined;
105
100
  panelGroupId !== null && panelGroupId !== void 0 ? panelGroupId : panelGroupId = get().panelGroupOrder[0];
@@ -108,22 +103,19 @@ function createPanelEditorSlice() {
108
103
  newGroup.title = 'Panel Group';
109
104
  panelGroupId = newGroup.id;
110
105
  }
111
- var ref2, ref3;
106
+ var ref1;
112
107
  const editorState = {
113
108
  mode: 'Add',
114
109
  initialValues: {
115
- name: '',
116
- description: '',
117
110
  groupId: panelGroupId,
118
- kind: (ref2 = (ref = get().initialValues) === null || ref === void 0 ? void 0 : ref.kind) !== null && ref2 !== void 0 ? ref2 : '',
119
- spec: (ref3 = (ref1 = get().initialValues) === null || ref1 === void 0 ? void 0 : ref1.spec) !== null && ref3 !== void 0 ? ref3 : {}
111
+ panelDefinition: (ref1 = (ref = get().initialValues) === null || ref === void 0 ? void 0 : ref.panelDefinition) !== null && ref1 !== void 0 ? ref1 : (0, _common.createPanelDefinition)()
120
112
  },
121
113
  applyChanges: (next)=>{
122
- const panelDef = createPanelDefinitionFromEditorValues(next);
123
- const panelKey = (0, _panelUtils.getValidPanelKey)(next.name, get().panels);
114
+ const name = next.panelDefinition.spec.display.name;
115
+ const panelKey = (0, _panelUtils.getValidPanelKey)(name, get().panels);
124
116
  set((state)=>{
125
117
  // Add a panel
126
- state.panels[panelKey] = panelDef;
118
+ state.panels[panelKey] = next.panelDefinition;
127
119
  // Also add a panel group item referencing the panel
128
120
  const group = state.panelGroups[next.groupId];
129
121
  if (group === undefined) {
@@ -158,19 +150,3 @@ function createPanelEditorSlice() {
158
150
  };
159
151
  };
160
152
  }
161
- // Helper to create PanelDefinitions when saving
162
- function createPanelDefinitionFromEditorValues(editorValues) {
163
- return {
164
- kind: 'Panel',
165
- spec: {
166
- display: {
167
- name: editorValues.name,
168
- description: editorValues.description !== '' ? editorValues.description : undefined
169
- },
170
- plugin: {
171
- kind: editorValues.kind,
172
- spec: editorValues.spec
173
- }
174
- }
175
- };
176
- }
@@ -22,14 +22,14 @@ const _core = require("@perses-dev/core");
22
22
  const _dashboardProvider = require("./DashboardProvider");
23
23
  const _templateVariableProvider = require("./TemplateVariableProvider");
24
24
  function useDashboard() {
25
- const { panels , panelGroups , panelGroupOrder , defaultTimeRange , setDashboard: setDashboardResource , metadata , display , } = (0, _dashboardProvider.useDashboardStore)(({ panels , panelGroups , panelGroupOrder , defaultTimeRange , setDashboard , metadata , display })=>({
25
+ const { panels , panelGroups , panelGroupOrder , setDashboard: setDashboardResource , metadata , display , duration , } = (0, _dashboardProvider.useDashboardStore)(({ panels , panelGroups , panelGroupOrder , setDashboard , metadata , display , duration })=>({
26
26
  panels,
27
27
  panelGroups,
28
28
  panelGroupOrder,
29
- defaultTimeRange,
30
29
  setDashboard,
31
30
  metadata,
32
- display
31
+ display,
32
+ duration
33
33
  }));
34
34
  const { setVariableDefinitions } = (0, _templateVariableProvider.useTemplateVariableActions)();
35
35
  const variables = (0, _templateVariableProvider.useTemplateVariableDefinitions)();
@@ -42,7 +42,7 @@ function useDashboard() {
42
42
  panels,
43
43
  layouts,
44
44
  variables,
45
- duration: defaultTimeRange.pastDuration
45
+ duration
46
46
  }
47
47
  };
48
48
  const setDashboard = (dashboardResource)=>{
@@ -20,62 +20,17 @@ Object.defineProperty(exports, "WithDatasourceStore", {
20
20
  });
21
21
  const _jsxRuntime = require("react/jsx-runtime");
22
22
  const _dashboards = require("@perses-dev/dashboards");
23
- const _constants = require("./constants");
23
+ const _test = require("../../test");
24
24
  // Type guard because storybook types parameters as `any`
25
25
  function isWithDatasourceStoreParameter(parameter) {
26
26
  return !!parameter && typeof parameter === 'object' && 'props' in parameter;
27
27
  }
28
- const prometheusDemoUrl = 'https://prometheus.demo.do.prometheus.io';
29
- const prometheusDemo = {
30
- kind: 'GlobalDatasource',
31
- metadata: {
32
- name: 'PrometheusDemo',
33
- created_at: '0001-01-01T00:00:00Z',
34
- updated_at: '0001-01-01T00:00:00Z',
35
- version: 0
36
- },
37
- spec: {
38
- default: true,
39
- plugin: {
40
- kind: 'PrometheusDatasource',
41
- spec: {
42
- direct_url: prometheusDemoUrl
43
- }
44
- }
45
- }
46
- };
47
28
  const WithDatasourceStore = (Story, context)=>{
48
29
  const initParameter = context.parameters.withDatasourceStore;
49
30
  const parameter = isWithDatasourceStoreParameter(initParameter) ? initParameter : undefined;
50
31
  const props = parameter === null || parameter === void 0 ? void 0 : parameter.props;
51
- // This default currently defines the bare minimum to get a story working in
52
- // the `Dashboard` storybook with the Prometheus demo api. We'll likely want
53
- // to expand it to do more in the future.
54
- const defaultDatasourceProps = {
55
- dashboardResource: _constants.EMPTY_DASHBOARD_RESOURCE,
56
- datasourceApi: {
57
- getDatasource: ()=>{
58
- return Promise.resolve(undefined);
59
- },
60
- getGlobalDatasource: (selector)=>{
61
- if (selector.kind === 'PrometheusDatasource') {
62
- return Promise.resolve({
63
- resource: prometheusDemo,
64
- proxyUrl: prometheusDemoUrl
65
- });
66
- }
67
- return Promise.resolve(undefined);
68
- },
69
- listDatasources: ()=>{
70
- return Promise.resolve([]);
71
- },
72
- listGlobalDatasources: ()=>{
73
- return Promise.resolve([]);
74
- }
75
- }
76
- };
77
32
  return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_dashboards.DatasourceStoreProvider, {
78
- ...defaultDatasourceProps,
33
+ ..._test.defaultDatasourceProps,
79
34
  ...props,
80
35
  children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(Story, {})
81
36
  });
@@ -17,11 +17,7 @@ Object.defineProperty(exports, "__esModule", {
17
17
  _exportStar(require("./constants"), exports);
18
18
  _exportStar(require("./WithDashboard"), exports);
19
19
  _exportStar(require("./WithDatasourceStore"), exports);
20
- _exportStar(require("./WithPluginRegistry"), exports);
21
- _exportStar(require("./WithQueryClient"), exports);
22
- _exportStar(require("./WithQueryParams"), exports);
23
20
  _exportStar(require("./WithTemplateVariables"), exports);
24
- _exportStar(require("./WithTimeRange"), exports);
25
21
  function _exportStar(from, to) {
26
22
  Object.keys(from).forEach(function(k) {
27
23
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
@@ -0,0 +1,70 @@
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
+ prometheusDemoUrl: ()=>prometheusDemoUrl,
25
+ prometheusDemo: ()=>prometheusDemo,
26
+ defaultDatasourceProps: ()=>defaultDatasourceProps
27
+ });
28
+ const _dashboardProvider = require("./dashboard-provider");
29
+ const prometheusDemoUrl = 'https://prometheus.demo.do.prometheus.io';
30
+ const prometheusDemo = {
31
+ kind: 'GlobalDatasource',
32
+ metadata: {
33
+ name: 'PrometheusDemo',
34
+ created_at: '0001-01-01T00:00:00Z',
35
+ updated_at: '0001-01-01T00:00:00Z',
36
+ version: 0
37
+ },
38
+ spec: {
39
+ default: true,
40
+ plugin: {
41
+ kind: 'PrometheusDatasource',
42
+ spec: {
43
+ direct_url: prometheusDemoUrl
44
+ }
45
+ }
46
+ }
47
+ };
48
+ const defaultDatasourceProps = {
49
+ dashboardResource: (0, _dashboardProvider.getTestDashboard)(),
50
+ datasourceApi: {
51
+ getDatasource: ()=>{
52
+ return Promise.resolve(undefined);
53
+ },
54
+ getGlobalDatasource: (selector)=>{
55
+ if (selector.kind === 'PrometheusDatasource') {
56
+ return Promise.resolve({
57
+ resource: prometheusDemo,
58
+ proxyUrl: prometheusDemoUrl
59
+ });
60
+ }
61
+ return Promise.resolve(undefined);
62
+ },
63
+ listDatasources: ()=>{
64
+ return Promise.resolve([]);
65
+ },
66
+ listGlobalDatasources: ()=>{
67
+ return Promise.resolve([]);
68
+ }
69
+ }
70
+ };
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  _exportStar(require("./dashboard-provider"), exports);
18
+ _exportStar(require("./datasource-provider"), exports);
18
19
  _exportStar(require("./plugin-registry"), exports);
19
20
  _exportStar(require("./render"), exports);
20
21
  function _exportStar(from, to) {
@@ -19,17 +19,23 @@ Object.defineProperty(exports, "MOCK_PLUGINS", {
19
19
  get: ()=>MOCK_PLUGINS
20
20
  });
21
21
  const _jsxRuntime = require("react/jsx-runtime");
22
+ const FakeTimeSeriesChartOptionEditor = ()=>{
23
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)("div", {
24
+ children: "TimeSeriesChart options"
25
+ });
26
+ };
22
27
  const FakeTimeSeriesPlugin = {
23
28
  PanelComponent: ()=>{
24
29
  return /*#__PURE__*/ (0, _jsxRuntime.jsx)("div", {
25
30
  children: "TimeSeriesChart panel"
26
31
  });
27
32
  },
28
- OptionsEditorComponent: ()=>{
29
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)("div", {
30
- children: "TimeSeriesChart options"
31
- });
32
- },
33
+ panelOptionsEditorComponents: [
34
+ {
35
+ label: 'Settings',
36
+ content: FakeTimeSeriesChartOptionEditor
37
+ }
38
+ ],
33
39
  createInitialOptions: ()=>({})
34
40
  };
35
41
  const MOCK_TIME_SERIES_PANEL = {
@@ -62,24 +62,24 @@ const testDashboard = {
62
62
  plugin: {
63
63
  kind: 'TimeSeriesChart',
64
64
  spec: {
65
- queries: [
66
- {
67
- kind: 'TimeSeriesQuery',
65
+ unit: {
66
+ kind: '%'
67
+ }
68
+ }
69
+ },
70
+ queries: [
71
+ {
72
+ kind: 'TimeSeriesQuery',
73
+ spec: {
74
+ plugin: {
75
+ kind: 'PrometheusTimeSeriesQuery',
68
76
  spec: {
69
- plugin: {
70
- kind: 'PrometheusTimeSeriesQuery',
71
- spec: {
72
- query: 'avg without (cpu)(rate(node_cpu_seconds_total{job="node",instance="$instance",mode!="idle"}[$interval]))'
73
- }
74
- }
77
+ query: 'avg without (cpu)(rate(node_cpu_seconds_total{job="node",instance="$instance",mode!="idle"}[$interval]))'
75
78
  }
76
79
  }
77
- ],
78
- unit: {
79
- kind: '%'
80
80
  }
81
81
  }
82
- }
82
+ ]
83
83
  }
84
84
  },
85
85
  memory: {
@@ -91,57 +91,57 @@ const testDashboard = {
91
91
  plugin: {
92
92
  kind: 'TimeSeriesChart',
93
93
  spec: {
94
- queries: [
95
- {
96
- kind: 'TimeSeriesQuery',
94
+ unit: {
95
+ kind: 'Bytes'
96
+ }
97
+ }
98
+ },
99
+ queries: [
100
+ {
101
+ kind: 'TimeSeriesQuery',
102
+ spec: {
103
+ plugin: {
104
+ kind: 'PrometheusTimeSeriesQuery',
97
105
  spec: {
98
- plugin: {
99
- kind: 'PrometheusTimeSeriesQuery',
100
- spec: {
101
- query: 'node_memory_MemTotal_bytes{job="node",instance="$instance"} - node_memory_MemFree_bytes{job="node",instance="$instance"} - node_memory_Buffers_bytes{job="node",instance="$instance"} - node_memory_Cached_bytes{job="node",instance="$instance"}'
102
- }
103
- }
106
+ query: 'node_memory_MemTotal_bytes{job="node",instance="$instance"} - node_memory_MemFree_bytes{job="node",instance="$instance"} - node_memory_Buffers_bytes{job="node",instance="$instance"} - node_memory_Cached_bytes{job="node",instance="$instance"}'
104
107
  }
105
- },
106
- {
107
- kind: 'TimeSeriesQuery',
108
+ }
109
+ }
110
+ },
111
+ {
112
+ kind: 'TimeSeriesQuery',
113
+ spec: {
114
+ plugin: {
115
+ kind: 'PrometheusTimeSeriesQuery',
108
116
  spec: {
109
- plugin: {
110
- kind: 'PrometheusTimeSeriesQuery',
111
- spec: {
112
- query: 'node_memory_Buffers_bytes{job="node",instance="$instance"}'
113
- }
114
- }
117
+ query: 'node_memory_Buffers_bytes{job="node",instance="$instance"}'
115
118
  }
116
- },
117
- {
118
- kind: 'TimeSeriesQuery',
119
+ }
120
+ }
121
+ },
122
+ {
123
+ kind: 'TimeSeriesQuery',
124
+ spec: {
125
+ plugin: {
126
+ kind: 'PrometheusTimeSeriesQuery',
119
127
  spec: {
120
- plugin: {
121
- kind: 'PrometheusTimeSeriesQuery',
122
- spec: {
123
- query: 'node_memory_Cached_bytes{job="node",instance="$instance"}'
124
- }
125
- }
128
+ query: 'node_memory_Cached_bytes{job="node",instance="$instance"}'
126
129
  }
127
- },
128
- {
129
- kind: 'TimeSeriesQuery',
130
+ }
131
+ }
132
+ },
133
+ {
134
+ kind: 'TimeSeriesQuery',
135
+ spec: {
136
+ plugin: {
137
+ kind: 'PrometheusTimeSeriesQuery',
130
138
  spec: {
131
- plugin: {
132
- kind: 'PrometheusTimeSeriesQuery',
133
- spec: {
134
- query: 'node_memory_MemFree_bytes{job="node",instance="$instance"}'
135
- }
136
- }
139
+ query: 'node_memory_MemFree_bytes{job="node",instance="$instance"}'
137
140
  }
138
141
  }
139
- ],
140
- unit: {
141
- kind: 'Bytes'
142
142
  }
143
143
  }
144
- }
144
+ ]
145
145
  }
146
146
  },
147
147
  // This panel is referenced in more than one layout below
@@ -154,24 +154,24 @@ const testDashboard = {
154
154
  plugin: {
155
155
  kind: 'TimeSeriesChart',
156
156
  spec: {
157
- queries: [
158
- {
159
- kind: 'TimeSeriesQuery',
157
+ unit: {
158
+ kind: 'Percent'
159
+ }
160
+ }
161
+ },
162
+ queries: [
163
+ {
164
+ kind: 'TimeSeriesQuery',
165
+ spec: {
166
+ plugin: {
167
+ kind: 'PrometheusTimeSeriesQuery',
160
168
  spec: {
161
- plugin: {
162
- kind: 'PrometheusTimeSeriesQuery',
163
- spec: {
164
- query: 'rate(node_disk_io_time_seconds_total{job="node",instance="$instance",device!~"^(md\\\\d+$|dm-)"}[$interval])'
165
- }
166
- }
169
+ query: 'rate(node_disk_io_time_seconds_total{job="node",instance="$instance",device!~"^(md\\\\d+$|dm-)"}[$interval])'
167
170
  }
168
171
  }
169
- ],
170
- unit: {
171
- kind: 'Percent'
172
172
  }
173
173
  }
174
- }
174
+ ]
175
175
  }
176
176
  },
177
177
  filesystemFullness: {
@@ -183,24 +183,24 @@ const testDashboard = {
183
183
  plugin: {
184
184
  kind: 'TimeSeriesChart',
185
185
  spec: {
186
- queries: [
187
- {
188
- kind: 'TimeSeriesQuery',
186
+ unit: {
187
+ kind: 'Percent'
188
+ }
189
+ }
190
+ },
191
+ queries: [
192
+ {
193
+ kind: 'TimeSeriesQuery',
194
+ spec: {
195
+ plugin: {
196
+ kind: 'PrometheusTimeSeriesQuery',
189
197
  spec: {
190
- plugin: {
191
- kind: 'PrometheusTimeSeriesQuery',
192
- spec: {
193
- query: '1 - node_filesystem_free_bytes{job="node",instance="$instance",fstype!="rootfs",mountpoint!~"/(run|var).*",mountpoint!=""} / node_filesystem_size_bytes{job="node",instance="$instance"}'
194
- }
195
- }
198
+ query: '1 - node_filesystem_free_bytes{job="node",instance="$instance",fstype!="rootfs",mountpoint!~"/(run|var).*",mountpoint!=""} / node_filesystem_size_bytes{job="node",instance="$instance"}'
196
199
  }
197
200
  }
198
- ],
199
- unit: {
200
- kind: 'Percent'
201
201
  }
202
202
  }
203
- }
203
+ ]
204
204
  }
205
205
  }
206
206
  },
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  _exportStar(require("./panelUtils"), exports);
18
+ _exportStar(require("./time"), exports);
18
19
  function _exportStar(from, to) {
19
20
  Object.keys(from).forEach(function(k) {
20
21
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
@@ -14,16 +14,14 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "WithQueryClient", {
17
+ Object.defineProperty(exports, "useSuggestedStepMs", {
18
18
  enumerable: true,
19
- get: ()=>WithQueryClient
19
+ get: ()=>useSuggestedStepMs
20
20
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
22
- const _reactQuery = require("@tanstack/react-query");
23
- const WithQueryClient = (Story)=>{
24
- const queryClient = new _reactQuery.QueryClient({});
25
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_reactQuery.QueryClientProvider, {
26
- client: queryClient,
27
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(Story, {})
28
- });
29
- };
21
+ const _core = require("@perses-dev/core");
22
+ const _pluginSystem = require("@perses-dev/plugin-system");
23
+ function useSuggestedStepMs(width) {
24
+ const { absoluteTimeRange } = (0, _pluginSystem.useTimeRange)();
25
+ if (width === undefined) return 0;
26
+ return (0, _core.getSuggestedStepMs)(absoluteTimeRange, width);
27
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"EditJsonDialog.d.ts","sourceRoot":"","sources":["../../../src/components/EditJsonDialog/EditJsonDialog.tsx"],"names":[],"mappings":";AAmBA,eAAO,MAAM,cAAc,mBAS1B,CAAC"}
1
+ {"version":3,"file":"EditJsonDialog.d.ts","sourceRoot":"","sources":["../../../src/components/EditJsonDialog/EditJsonDialog.tsx"],"names":[],"mappings":";AAoBA,eAAO,MAAM,cAAc,mBAS1B,CAAC"}
@@ -14,6 +14,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  import { useState } from 'react';
15
15
  import { Alert, FormControl } from '@mui/material';
16
16
  import { Dialog, JSONEditor } from '@perses-dev/components';
17
+ import { useTimeRange } from '@perses-dev/plugin-system';
17
18
  import { useEditJsonDialog } from '../../context/DashboardProvider';
18
19
  import { useDashboard } from '../../context/useDashboard';
19
20
  export const EditJsonDialog = ()=>{
@@ -34,11 +35,15 @@ export const EditJsonDialog = ()=>{
34
35
  };
35
36
  const EditJsonDialogForm = ()=>{
36
37
  const { closeEditJsonDialog } = useEditJsonDialog();
38
+ const { setTimeRange } = useTimeRange();
37
39
  const { dashboard , setDashboard } = useDashboard();
38
40
  const [draftDashboard, setDraftDashboard] = useState(dashboard);
39
41
  const handleApply = (e)=>{
40
42
  e.preventDefault();
41
43
  setDashboard(draftDashboard);
44
+ setTimeRange({
45
+ pastDuration: draftDashboard.spec.duration
46
+ });
42
47
  closeEditJsonDialog();
43
48
  };
44
49
  return /*#__PURE__*/ _jsxs(Dialog.Form, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/EditJsonDialog/EditJsonDialog.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { FormEvent, useState } from 'react';\nimport { Alert, FormControl } from '@mui/material';\nimport { Dialog, JSONEditor } from '@perses-dev/components';\nimport { useEditJsonDialog } from '../../context/DashboardProvider';\nimport { useDashboard } from '../../context/useDashboard';\n\nexport const EditJsonDialog = () => {\n const { editJsonDialog, closeEditJsonDialog } = useEditJsonDialog();\n\n return (\n <Dialog open={!!editJsonDialog?.isOpen} scroll=\"paper\" fullWidth maxWidth=\"lg\">\n <Dialog.Header onClose={() => closeEditJsonDialog()}>Edit Dashboard</Dialog.Header>\n {editJsonDialog?.isOpen && <EditJsonDialogForm />}\n </Dialog>\n );\n};\n\nconst EditJsonDialogForm = () => {\n const { closeEditJsonDialog } = useEditJsonDialog();\n const { dashboard, setDashboard } = useDashboard();\n const [draftDashboard, setDraftDashboard] = useState(dashboard);\n\n const handleApply = (e: FormEvent) => {\n e.preventDefault();\n setDashboard(draftDashboard);\n closeEditJsonDialog();\n };\n\n return (\n <Dialog.Form onSubmit={handleApply}>\n <Dialog.Content sx={{ width: '100%' }}>\n <Alert sx={{ marginBottom: (theme) => theme.spacing(1) }} severity=\"warning\">\n Metadata cannot be modified or saved.\n </Alert>\n <FormControl fullWidth>\n <JSONEditor\n minHeight=\"300px\"\n maxHeight=\"700px\"\n value={draftDashboard}\n onChange={(value) => setDraftDashboard(value)}\n />\n </FormControl>\n </Dialog.Content>\n <Dialog.Actions>\n <Dialog.PrimaryButton onClick={handleApply}>Apply</Dialog.PrimaryButton>\n </Dialog.Actions>\n </Dialog.Form>\n );\n};\n"],"names":["useState","Alert","FormControl","Dialog","JSONEditor","useEditJsonDialog","useDashboard","EditJsonDialog","editJsonDialog","closeEditJsonDialog","open","isOpen","scroll","fullWidth","maxWidth","Header","onClose","EditJsonDialogForm","dashboard","setDashboard","draftDashboard","setDraftDashboard","handleApply","e","preventDefault","Form","onSubmit","Content","sx","width","marginBottom","theme","spacing","severity","minHeight","maxHeight","value","onChange","Actions","PrimaryButton","onClick"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC;AAAA,SAAoBA,QAAQ,QAAQ,OAAO,CAAC;AAC5C,SAASC,KAAK,EAAEC,WAAW,QAAQ,eAAe,CAAC;AACnD,SAASC,MAAM,EAAEC,UAAU,QAAQ,wBAAwB,CAAC;AAC5D,SAASC,iBAAiB,QAAQ,iCAAiC,CAAC;AACpE,SAASC,YAAY,QAAQ,4BAA4B,CAAC;AAE1D,OAAO,MAAMC,cAAc,GAAG,IAAM;IAClC,MAAM,EAAEC,cAAc,CAAA,EAAEC,mBAAmB,CAAA,EAAE,GAAGJ,iBAAiB,EAAE,AAAC;IAEpE,qBACE,MAACF,MAAM;QAACO,IAAI,EAAE,CAAC,CAACF,CAAAA,cAAc,aAAdA,cAAc,WAAQ,GAAtBA,KAAAA,CAAsB,GAAtBA,cAAc,CAAEG,MAAM,CAAA;QAAEC,MAAM,EAAC,OAAO;QAACC,SAAS;QAACC,QAAQ,EAAC,IAAI;;0BAC5E,KAACX,MAAM,CAACY,MAAM;gBAACC,OAAO,EAAE,IAAMP,mBAAmB,EAAE;0BAAE,gBAAc;cAAgB;YAClFD,CAAAA,cAAc,aAAdA,cAAc,WAAQ,GAAtBA,KAAAA,CAAsB,GAAtBA,cAAc,CAAEG,MAAM,CAAA,kBAAI,KAACM,kBAAkB,KAAG;;MAC1C,CACT;AACJ,CAAC,CAAC;AAEF,MAAMA,kBAAkB,GAAG,IAAM;IAC/B,MAAM,EAAER,mBAAmB,CAAA,EAAE,GAAGJ,iBAAiB,EAAE,AAAC;IACpD,MAAM,EAAEa,SAAS,CAAA,EAAEC,YAAY,CAAA,EAAE,GAAGb,YAAY,EAAE,AAAC;IACnD,MAAM,CAACc,cAAc,EAAEC,iBAAiB,CAAC,GAAGrB,QAAQ,CAACkB,SAAS,CAAC,AAAC;IAEhE,MAAMI,WAAW,GAAG,CAACC,CAAY,GAAK;QACpCA,CAAC,CAACC,cAAc,EAAE,CAAC;QACnBL,YAAY,CAACC,cAAc,CAAC,CAAC;QAC7BX,mBAAmB,EAAE,CAAC;IACxB,CAAC,AAAC;IAEF,qBACE,MAACN,MAAM,CAACsB,IAAI;QAACC,QAAQ,EAAEJ,WAAW;;0BAChC,MAACnB,MAAM,CAACwB,OAAO;gBAACC,EAAE,EAAE;oBAAEC,KAAK,EAAE,MAAM;iBAAE;;kCACnC,KAAC5B,KAAK;wBAAC2B,EAAE,EAAE;4BAAEE,YAAY,EAAE,CAACC,KAAK,GAAKA,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC;yBAAE;wBAAEC,QAAQ,EAAC,SAAS;kCAAC,uCAE7E;sBAAQ;kCACR,KAAC/B,WAAW;wBAACW,SAAS;kCACpB,cAAA,KAACT,UAAU;4BACT8B,SAAS,EAAC,OAAO;4BACjBC,SAAS,EAAC,OAAO;4BACjBC,KAAK,EAAEhB,cAAc;4BACrBiB,QAAQ,EAAE,CAACD,KAAK,GAAKf,iBAAiB,CAACe,KAAK,CAAC;0BAC7C;sBACU;;cACC;0BACjB,KAACjC,MAAM,CAACmC,OAAO;0BACb,cAAA,KAACnC,MAAM,CAACoC,aAAa;oBAACC,OAAO,EAAElB,WAAW;8BAAE,OAAK;kBAAuB;cACzD;;MACL,CACd;AACJ,CAAC,AAAC"}
1
+ {"version":3,"sources":["../../../src/components/EditJsonDialog/EditJsonDialog.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { FormEvent, useState } from 'react';\nimport { Alert, FormControl } from '@mui/material';\nimport { Dialog, JSONEditor } from '@perses-dev/components';\nimport { useTimeRange } from '@perses-dev/plugin-system';\nimport { useEditJsonDialog } from '../../context/DashboardProvider';\nimport { useDashboard } from '../../context/useDashboard';\n\nexport const EditJsonDialog = () => {\n const { editJsonDialog, closeEditJsonDialog } = useEditJsonDialog();\n\n return (\n <Dialog open={!!editJsonDialog?.isOpen} scroll=\"paper\" fullWidth maxWidth=\"lg\">\n <Dialog.Header onClose={() => closeEditJsonDialog()}>Edit Dashboard</Dialog.Header>\n {editJsonDialog?.isOpen && <EditJsonDialogForm />}\n </Dialog>\n );\n};\n\nconst EditJsonDialogForm = () => {\n const { closeEditJsonDialog } = useEditJsonDialog();\n const { setTimeRange } = useTimeRange();\n const { dashboard, setDashboard } = useDashboard();\n const [draftDashboard, setDraftDashboard] = useState(dashboard);\n\n const handleApply = (e: FormEvent) => {\n e.preventDefault();\n setDashboard(draftDashboard);\n setTimeRange({ pastDuration: draftDashboard.spec.duration });\n closeEditJsonDialog();\n };\n\n return (\n <Dialog.Form onSubmit={handleApply}>\n <Dialog.Content sx={{ width: '100%' }}>\n <Alert sx={{ marginBottom: (theme) => theme.spacing(1) }} severity=\"warning\">\n Metadata cannot be modified or saved.\n </Alert>\n <FormControl fullWidth>\n <JSONEditor\n minHeight=\"300px\"\n maxHeight=\"700px\"\n value={draftDashboard}\n onChange={(value) => setDraftDashboard(value)}\n />\n </FormControl>\n </Dialog.Content>\n <Dialog.Actions>\n <Dialog.PrimaryButton onClick={handleApply}>Apply</Dialog.PrimaryButton>\n </Dialog.Actions>\n </Dialog.Form>\n );\n};\n"],"names":["useState","Alert","FormControl","Dialog","JSONEditor","useTimeRange","useEditJsonDialog","useDashboard","EditJsonDialog","editJsonDialog","closeEditJsonDialog","open","isOpen","scroll","fullWidth","maxWidth","Header","onClose","EditJsonDialogForm","setTimeRange","dashboard","setDashboard","draftDashboard","setDraftDashboard","handleApply","e","preventDefault","pastDuration","spec","duration","Form","onSubmit","Content","sx","width","marginBottom","theme","spacing","severity","minHeight","maxHeight","value","onChange","Actions","PrimaryButton","onClick"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { PanelGroupItemId } from '../../context';
3
3
  export interface GridItemContentProps {
4
4
  panelGroupItemId: PanelGroupItemId;
5
+ width: number;
5
6
  }
6
7
  /**
7
8
  * Resolves the reference to panel content in a GridItemDefinition and renders the panel.
@@ -1 +1 @@
1
- {"version":3,"file":"GridItemContent.d.ts","sourceRoot":"","sources":["../../../src/components/GridLayout/GridItemContent.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,gBAAgB,EAA0C,MAAM,eAAe,CAAC;AAGzF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAiB1D"}
1
+ {"version":3,"file":"GridItemContent.d.ts","sourceRoot":"","sources":["../../../src/components/GridLayout/GridItemContent.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,gBAAgB,EAA0C,MAAM,eAAe,CAAC;AAIzF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAkC1D"}