@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.
- package/dist/cjs/components/Dashboard.js +29 -14
- package/dist/cjs/components/DashboardToolbar.js +148 -20
- package/dist/cjs/components/GridLayout/GridItemContent.js +24 -18
- package/dist/cjs/components/GridLayout/GridLayout.js +88 -26
- package/dist/cjs/components/GridLayout/GridTitle.js +69 -31
- package/dist/cjs/components/GridLayout/index.js +18 -19
- package/dist/cjs/components/Panel/Panel.js +145 -55
- package/dist/cjs/components/Panel/Panel.test.js +50 -41
- package/dist/cjs/components/Panel/PanelContent.js +40 -12
- package/dist/cjs/components/Panel/index.js +16 -17
- package/dist/cjs/components/PanelDrawer/PanelDrawer.js +82 -107
- package/dist/cjs/components/PanelDrawer/PanelDrawer.test.js +91 -92
- package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +152 -0
- package/dist/cjs/components/PanelDrawer/PanelSpecEditor.js +40 -0
- package/dist/cjs/components/PanelDrawer/PanelTypeSelect.js +38 -0
- package/dist/cjs/components/PanelDrawer/index.js +28 -0
- package/dist/cjs/components/PanelDrawer/panel-editor-model.js +140 -0
- package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +120 -31
- package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.test.js +90 -83
- package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +120 -38
- package/dist/cjs/components/TimeRangeControls/TimeRangeControls.test.js +42 -27
- package/dist/cjs/components/TimeRangeControls/index.js +16 -17
- package/dist/cjs/components/Variables/Variable.js +186 -35
- package/dist/cjs/components/Variables/VariableList.js +100 -13
- package/dist/cjs/components/Variables/index.js +17 -18
- package/dist/cjs/components/index.js +21 -21
- package/dist/cjs/context/DashboardAppSlice.js +43 -31
- package/dist/cjs/context/DashboardProvider.js +88 -58
- package/dist/cjs/context/DatasourceStoreProvider.js +68 -0
- package/dist/cjs/context/LayoutsSlice.js +40 -27
- package/dist/cjs/context/QueryStringProvider.js +69 -15
- package/dist/cjs/context/TemplateVariableProvider.js +128 -136
- package/dist/cjs/context/TimeRangeProvider.js +79 -30
- package/dist/cjs/context/index.js +22 -22
- package/dist/cjs/css/styles.js +43 -39
- package/dist/cjs/index.js +19 -20
- package/dist/cjs/test/dashboard-provider.js +51 -0
- package/dist/cjs/test/index.js +18 -18
- package/dist/cjs/test/plugin-registry.js +52 -25
- package/dist/cjs/test/render.js +25 -22
- package/dist/cjs/test/setup-tests.js +4 -2
- package/dist/cjs/test/testDashboard.js +193 -109
- package/dist/cjs/utils/functions.js +9 -5
- package/dist/cjs/views/ViewDashboard/DashboardApp.js +67 -0
- package/dist/cjs/views/ViewDashboard/ViewDashboard.js +83 -0
- package/dist/cjs/views/ViewDashboard/index.js +28 -0
- package/dist/cjs/views/index.js +16 -17
- package/dist/components/Dashboard.js +38 -1
- package/dist/components/Dashboard.js.map +1 -0
- package/dist/components/DashboardToolbar.d.ts.map +1 -1
- package/dist/components/DashboardToolbar.js +154 -1
- package/dist/components/DashboardToolbar.js.map +1 -0
- package/dist/components/GridLayout/GridItemContent.js +35 -1
- package/dist/components/GridLayout/GridItemContent.js.map +1 -0
- package/dist/components/GridLayout/GridLayout.js +99 -1
- package/dist/components/GridLayout/GridLayout.js.map +1 -0
- package/dist/components/GridLayout/GridTitle.js +77 -1
- package/dist/components/GridLayout/GridTitle.js.map +1 -0
- package/dist/components/GridLayout/index.js +16 -1
- package/dist/components/GridLayout/index.js.map +1 -0
- package/dist/components/Panel/Panel.d.ts.map +1 -1
- package/dist/components/Panel/Panel.js +170 -1
- package/dist/components/Panel/Panel.js.map +1 -0
- package/dist/components/Panel/Panel.test.js +71 -1
- package/dist/components/Panel/Panel.test.js.map +1 -0
- package/dist/components/Panel/PanelContent.d.ts +2 -4
- package/dist/components/Panel/PanelContent.d.ts.map +1 -1
- package/dist/components/Panel/PanelContent.js +40 -1
- package/dist/components/Panel/PanelContent.js.map +1 -0
- package/dist/components/Panel/index.js +15 -1
- package/dist/components/Panel/index.js.map +1 -0
- package/dist/components/PanelDrawer/PanelDrawer.d.ts +4 -2
- package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
- package/dist/components/PanelDrawer/PanelDrawer.js +95 -1
- package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -0
- package/dist/components/PanelDrawer/PanelDrawer.test.js +103 -1
- package/dist/components/PanelDrawer/PanelDrawer.test.js.map +1 -0
- package/dist/components/PanelDrawer/PanelEditorForm.d.ts +12 -0
- package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -0
- package/dist/components/PanelDrawer/PanelEditorForm.js +142 -0
- package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -0
- package/dist/components/PanelDrawer/PanelSpecEditor.d.ts +7 -0
- package/dist/components/PanelDrawer/PanelSpecEditor.d.ts.map +1 -0
- package/dist/components/PanelDrawer/PanelSpecEditor.js +34 -0
- package/dist/components/PanelDrawer/PanelSpecEditor.js.map +1 -0
- package/dist/components/PanelDrawer/PanelTypeSelect.d.ts +8 -0
- package/dist/components/PanelDrawer/PanelTypeSelect.d.ts.map +1 -0
- package/dist/components/PanelDrawer/PanelTypeSelect.js +34 -0
- package/dist/components/PanelDrawer/PanelTypeSelect.js.map +1 -0
- package/dist/components/PanelDrawer/index.d.ts +2 -0
- package/dist/components/PanelDrawer/index.d.ts.map +1 -0
- package/dist/components/PanelDrawer/index.js +15 -0
- package/dist/components/PanelDrawer/index.js.map +1 -0
- package/dist/components/PanelDrawer/panel-editor-model.d.ts +27 -0
- package/dist/components/PanelDrawer/panel-editor-model.d.ts.map +1 -0
- package/dist/components/PanelDrawer/panel-editor-model.js +133 -0
- package/dist/components/PanelDrawer/panel-editor-model.js.map +1 -0
- package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.js +138 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -0
- package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js +95 -1
- package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js.map +1 -0
- package/dist/components/TimeRangeControls/TimeRangeControls.js +137 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -0
- package/dist/components/TimeRangeControls/TimeRangeControls.test.js +59 -1
- package/dist/components/TimeRangeControls/TimeRangeControls.test.js.map +1 -0
- package/dist/components/TimeRangeControls/index.js +15 -1
- package/dist/components/TimeRangeControls/index.js.map +1 -0
- package/dist/components/Variables/Variable.d.ts.map +1 -1
- package/dist/components/Variables/Variable.js +202 -1
- package/dist/components/Variables/Variable.js.map +1 -0
- package/dist/components/Variables/VariableList.js +108 -1
- package/dist/components/Variables/VariableList.js.map +1 -0
- package/dist/components/Variables/index.js +16 -1
- package/dist/components/Variables/index.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +20 -1
- package/dist/components/index.js.map +1 -0
- package/dist/context/DashboardAppSlice.js +45 -1
- package/dist/context/DashboardAppSlice.js.map +1 -0
- package/dist/context/DashboardProvider.d.ts +4 -2
- package/dist/context/DashboardProvider.d.ts.map +1 -1
- package/dist/context/DashboardProvider.js +107 -1
- package/dist/context/DashboardProvider.js.map +1 -0
- package/dist/context/DatasourceStoreProvider.d.ts +16 -0
- package/dist/context/DatasourceStoreProvider.d.ts.map +1 -0
- package/dist/context/DatasourceStoreProvider.js +64 -0
- package/dist/context/DatasourceStoreProvider.js.map +1 -0
- package/dist/context/LayoutsSlice.js +43 -1
- package/dist/context/LayoutsSlice.js.map +1 -0
- package/dist/context/QueryStringProvider.js +40 -1
- package/dist/context/QueryStringProvider.js.map +1 -0
- package/dist/context/TemplateVariableProvider.d.ts +6 -3
- package/dist/context/TemplateVariableProvider.d.ts.map +1 -1
- package/dist/context/TemplateVariableProvider.js +192 -1
- package/dist/context/TemplateVariableProvider.js.map +1 -0
- package/dist/context/TimeRangeProvider.js +72 -1
- package/dist/context/TimeRangeProvider.js.map +1 -0
- package/dist/context/index.d.ts +3 -2
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +21 -1
- package/dist/context/index.js.map +1 -0
- package/dist/css/styles.js +186 -1
- package/dist/css/styles.js.map +1 -0
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -0
- package/dist/test/dashboard-provider.d.ts +19 -0
- package/dist/test/dashboard-provider.d.ts.map +1 -0
- package/dist/test/dashboard-provider.js +40 -0
- package/dist/test/dashboard-provider.js.map +1 -0
- package/dist/test/index.d.ts +1 -0
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +17 -1
- package/dist/test/index.js.map +1 -0
- package/dist/test/plugin-registry.d.ts +2 -3
- package/dist/test/plugin-registry.d.ts.map +1 -1
- package/dist/test/plugin-registry.js +74 -1
- package/dist/test/plugin-registry.js.map +1 -0
- package/dist/test/render.d.ts +1 -2
- package/dist/test/render.d.ts.map +1 -1
- package/dist/test/render.js +34 -1
- package/dist/test/render.js.map +1 -0
- package/dist/test/setup-tests.js +18 -1
- package/dist/test/setup-tests.js.map +1 -0
- package/dist/test/testDashboard.d.ts.map +1 -1
- package/dist/test/testDashboard.js +274 -1
- package/dist/test/testDashboard.js.map +1 -0
- package/dist/utils/functions.js +17 -1
- package/dist/utils/functions.js.map +1 -0
- package/dist/views/ViewDashboard/DashboardApp.d.ts +7 -0
- package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -0
- package/dist/views/ViewDashboard/DashboardApp.js +56 -0
- package/dist/views/ViewDashboard/DashboardApp.js.map +1 -0
- package/dist/views/{ViewDashboard.d.ts → ViewDashboard/ViewDashboard.d.ts} +3 -1
- package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -0
- package/dist/views/ViewDashboard/ViewDashboard.js +79 -0
- package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -0
- package/dist/views/ViewDashboard/index.d.ts +2 -0
- package/dist/views/ViewDashboard/index.d.ts.map +1 -0
- package/dist/views/ViewDashboard/index.js +15 -0
- package/dist/views/ViewDashboard/index.js.map +1 -0
- package/dist/views/index.js +15 -1
- package/dist/views/index.js.map +1 -0
- package/package.json +13 -7
- package/dist/cjs/components/PanelDrawer/PanelOptionsEditor.js +0 -19
- package/dist/cjs/views/DashboardApp.js +0 -46
- package/dist/cjs/views/ViewDashboard.js +0 -43
- package/dist/components/PanelDrawer/PanelOptionsEditor.d.ts +0 -9
- package/dist/components/PanelDrawer/PanelOptionsEditor.d.ts.map +0 -1
- package/dist/components/PanelDrawer/PanelOptionsEditor.js +0 -1
- package/dist/views/DashboardApp.d.ts +0 -4
- package/dist/views/DashboardApp.d.ts.map +0 -1
- package/dist/views/DashboardApp.js +0 -1
- package/dist/views/ViewDashboard.d.ts.map +0 -1
- package/dist/views/ViewDashboard.js +0 -1
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useQueryString = exports.QueryStringProvider = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
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.
|
|
@@ -14,22 +10,80 @@ 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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
+
QueryStringProvider: ()=>QueryStringProvider,
|
|
25
|
+
useQueryString: ()=>useQueryString
|
|
26
|
+
});
|
|
27
|
+
const _jsxRuntime = require("react/jsx-runtime");
|
|
28
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
29
|
+
const _pluginSystem = require("@perses-dev/plugin-system");
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
31
|
+
if (typeof WeakMap !== "function") return null;
|
|
32
|
+
var cacheBabelInterop = new WeakMap();
|
|
33
|
+
var cacheNodeInterop = new WeakMap();
|
|
34
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
35
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
36
|
+
})(nodeInterop);
|
|
37
|
+
}
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
39
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
40
|
+
return obj;
|
|
41
|
+
}
|
|
42
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
43
|
+
return {
|
|
44
|
+
default: obj
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
48
|
+
if (cache && cache.has(obj)) {
|
|
49
|
+
return cache.get(obj);
|
|
50
|
+
}
|
|
51
|
+
var newObj = {};
|
|
52
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
53
|
+
for(var key in obj){
|
|
54
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
55
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
56
|
+
if (desc && (desc.get || desc.set)) {
|
|
57
|
+
Object.defineProperty(newObj, key, desc);
|
|
58
|
+
} else {
|
|
59
|
+
newObj[key] = obj[key];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
newObj.default = obj;
|
|
64
|
+
if (cache) {
|
|
65
|
+
cache.set(obj, newObj);
|
|
66
|
+
}
|
|
67
|
+
return newObj;
|
|
68
|
+
}
|
|
22
69
|
function QueryStringProvider(props) {
|
|
23
|
-
const { queryString, setQueryString, children
|
|
24
|
-
const ctx = (0,
|
|
25
|
-
|
|
70
|
+
const { queryString , setQueryString , children } = props;
|
|
71
|
+
const ctx = (0, _react.useMemo)(()=>({
|
|
72
|
+
queryString,
|
|
73
|
+
setQueryString
|
|
74
|
+
}), [
|
|
75
|
+
queryString,
|
|
76
|
+
setQueryString
|
|
77
|
+
]);
|
|
78
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.QueryStringContext.Provider, {
|
|
79
|
+
value: ctx,
|
|
80
|
+
children: children
|
|
81
|
+
});
|
|
26
82
|
}
|
|
27
|
-
exports.QueryStringProvider = QueryStringProvider;
|
|
28
83
|
function useQueryString() {
|
|
29
|
-
const ctx = (0,
|
|
84
|
+
const ctx = (0, _react.useContext)(_pluginSystem.QueryStringContext);
|
|
30
85
|
if (ctx === undefined) {
|
|
31
86
|
throw new Error('No QueryStringContext found. Did you forget a Provider?');
|
|
32
87
|
}
|
|
33
88
|
return ctx;
|
|
34
89
|
}
|
|
35
|
-
exports.useQueryString = useQueryString;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TemplateVariableProvider = exports.useTemplateVariableStore = exports.useTemplateVariableDefinitions = exports.useTemplateVariableActions = exports.useTemplateVariable = exports.useTemplateVariableValues = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
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.
|
|
@@ -14,15 +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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
+
useTemplateVariableValues: ()=>useTemplateVariableValues,
|
|
25
|
+
useTemplateVariable: ()=>useTemplateVariable,
|
|
26
|
+
useTemplateVariableActions: ()=>useTemplateVariableActions,
|
|
27
|
+
useTemplateVariableDefinitions: ()=>useTemplateVariableDefinitions,
|
|
28
|
+
useTemplateVariableStore: ()=>useTemplateVariableStore,
|
|
29
|
+
TemplateVariableProvider: ()=>TemplateVariableProvider
|
|
30
|
+
});
|
|
31
|
+
const _jsxRuntime = require("react/jsx-runtime");
|
|
32
|
+
const _react = require("react");
|
|
33
|
+
const _zustand = require("zustand");
|
|
34
|
+
const _immer = require("zustand/middleware/immer");
|
|
35
|
+
const _middleware = require("zustand/middleware");
|
|
36
|
+
const _pluginSystem = require("@perses-dev/plugin-system");
|
|
37
|
+
const TemplateVariableStoreContext = /*#__PURE__*/ (0, _react.createContext)(undefined);
|
|
24
38
|
function useTemplateVariableStoreCtx() {
|
|
25
|
-
const context = (0,
|
|
39
|
+
const context = (0, _react.useContext)(TemplateVariableStoreContext);
|
|
26
40
|
if (!context) {
|
|
27
41
|
throw new Error('TemplateVariableStoreContext not initialized');
|
|
28
42
|
}
|
|
@@ -30,10 +44,10 @@ function useTemplateVariableStoreCtx() {
|
|
|
30
44
|
}
|
|
31
45
|
function useTemplateVariableValues(variableNames) {
|
|
32
46
|
const store = useTemplateVariableStoreCtx();
|
|
33
|
-
const state = (0,
|
|
47
|
+
const state = (0, _zustand.useStore)(store, (s)=>{
|
|
34
48
|
const names = variableNames !== null && variableNames !== void 0 ? variableNames : Object.keys(s.variableState);
|
|
35
49
|
const vars = {};
|
|
36
|
-
names.forEach((name)
|
|
50
|
+
names.forEach((name)=>{
|
|
37
51
|
const varState = s.variableState[name];
|
|
38
52
|
if (!varState) {
|
|
39
53
|
return;
|
|
@@ -41,167 +55,145 @@ function useTemplateVariableValues(variableNames) {
|
|
|
41
55
|
vars[name] = varState;
|
|
42
56
|
});
|
|
43
57
|
return vars;
|
|
44
|
-
}, (left, right)
|
|
58
|
+
}, (left, right)=>{
|
|
45
59
|
return JSON.stringify(left) === JSON.stringify(right);
|
|
46
60
|
});
|
|
47
61
|
return state;
|
|
48
62
|
}
|
|
49
|
-
exports.useTemplateVariableValues = useTemplateVariableValues;
|
|
50
63
|
function useTemplateVariable(name) {
|
|
51
64
|
const store = useTemplateVariableStoreCtx();
|
|
52
|
-
return (0,
|
|
65
|
+
return (0, _zustand.useStore)(store, (s)=>{
|
|
53
66
|
const variableState = s.variableState[name];
|
|
54
|
-
const definition = s.variableDefinitions.find((v)
|
|
67
|
+
const definition = s.variableDefinitions.find((v)=>v.spec.name === name);
|
|
55
68
|
return {
|
|
56
69
|
state: variableState,
|
|
57
|
-
definition
|
|
70
|
+
definition
|
|
58
71
|
};
|
|
59
72
|
});
|
|
60
73
|
}
|
|
61
|
-
exports.useTemplateVariable = useTemplateVariable;
|
|
62
74
|
function useTemplateVariableActions() {
|
|
63
75
|
const store = useTemplateVariableStoreCtx();
|
|
64
|
-
return (0,
|
|
76
|
+
return (0, _zustand.useStore)(store, (s)=>{
|
|
65
77
|
return {
|
|
66
78
|
setVariableValue: s.setVariableValue,
|
|
67
|
-
|
|
79
|
+
setVariableLoading: s.setVariableLoading,
|
|
80
|
+
setVariableOptions: s.setVariableOptions
|
|
68
81
|
};
|
|
69
82
|
});
|
|
70
83
|
}
|
|
71
|
-
exports.useTemplateVariableActions = useTemplateVariableActions;
|
|
72
84
|
function useTemplateVariableDefinitions() {
|
|
73
85
|
const store = useTemplateVariableStoreCtx();
|
|
74
|
-
return (0,
|
|
86
|
+
return (0, _zustand.useStore)(store, (s)=>s.variableDefinitions);
|
|
75
87
|
}
|
|
76
|
-
exports.useTemplateVariableDefinitions = useTemplateVariableDefinitions;
|
|
77
88
|
function useTemplateVariableStore() {
|
|
78
89
|
const store = useTemplateVariableStoreCtx();
|
|
79
|
-
return (0,
|
|
80
|
-
}
|
|
81
|
-
exports.useTemplateVariableStore = useTemplateVariableStore;
|
|
82
|
-
function PluginProvider({ children }) {
|
|
83
|
-
const values = useTemplateVariableValues();
|
|
84
|
-
return (0, jsx_runtime_1.jsx)(plugin_system_1.TemplateVariableContext.Provider, { value: { state: values }, children: children });
|
|
90
|
+
return (0, _zustand.useStore)(store);
|
|
85
91
|
}
|
|
86
|
-
function
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
function PluginProvider({ children }) {
|
|
93
|
+
const originalValues = useTemplateVariableValues();
|
|
94
|
+
const values = (0, _react.useMemo)(()=>{
|
|
95
|
+
const contextValues = {};
|
|
96
|
+
// This will loop through all the current variables values
|
|
97
|
+
// and update any variables that have ALL_VALUE as their current value
|
|
98
|
+
// to include all options.
|
|
99
|
+
Object.keys(originalValues).forEach((name)=>{
|
|
100
|
+
const v = {
|
|
101
|
+
...originalValues[name]
|
|
102
|
+
};
|
|
103
|
+
if (v.value === _pluginSystem.DEFAULT_ALL_VALUE) {
|
|
104
|
+
var ref;
|
|
105
|
+
var ref1;
|
|
106
|
+
v.value = (ref1 = (ref = v.options) === null || ref === void 0 ? void 0 : ref.map((o)=>o.value)) !== null && ref1 !== void 0 ? ref1 : null;
|
|
96
107
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
values.unshift(getAllOption());
|
|
107
|
-
}
|
|
108
|
-
set((state) => {
|
|
109
|
-
const varState = state.variableState[name];
|
|
110
|
-
if (varState) {
|
|
111
|
-
varState.options = values;
|
|
112
|
-
varState.loading = false;
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
return;
|
|
108
|
+
contextValues[name] = v;
|
|
109
|
+
});
|
|
110
|
+
return contextValues;
|
|
111
|
+
}, [
|
|
112
|
+
originalValues
|
|
113
|
+
]);
|
|
114
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.TemplateVariableContext.Provider, {
|
|
115
|
+
value: {
|
|
116
|
+
state: values
|
|
116
117
|
},
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const varState = state.variableState[name];
|
|
120
|
-
if (!varState) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
// Make sure there is only one all value
|
|
124
|
-
if (Array.isArray(val) && val.includes(core_1.DEFAULT_ALL_VALUE)) {
|
|
125
|
-
if (val.at(-1) === core_1.DEFAULT_ALL_VALUE) {
|
|
126
|
-
val = [core_1.DEFAULT_ALL_VALUE];
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
val = val.filter((v) => v !== core_1.DEFAULT_ALL_VALUE);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
varState.value = val;
|
|
133
|
-
}),
|
|
134
|
-
}))));
|
|
135
|
-
return store;
|
|
136
|
-
}
|
|
137
|
-
function TemplateVariableProvider({ children, initialVariableDefinitions = [], }) {
|
|
138
|
-
const store = createTemplateVariableSrvStore({ initialVariableDefinitions });
|
|
139
|
-
return ((0, jsx_runtime_1.jsx)(TemplateVariableStoreContext.Provider, { value: store, children: (0, jsx_runtime_1.jsx)(PluginProvider, { children: children }) }));
|
|
118
|
+
children: children
|
|
119
|
+
});
|
|
140
120
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
121
|
+
function createTemplateVariableSrvStore({ initialVariableDefinitions =[] }) {
|
|
122
|
+
const store = (0, _zustand.createStore)()((0, _middleware.devtools)((0, _immer.immer)((set)=>({
|
|
123
|
+
variableState: hydrateTemplateVariableStates(initialVariableDefinitions),
|
|
124
|
+
variableDefinitions: initialVariableDefinitions,
|
|
125
|
+
setVariableOptions (name, options) {
|
|
126
|
+
set((state)=>{
|
|
127
|
+
const varState = state.variableState[name];
|
|
128
|
+
if (!varState) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
varState.options = options;
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
setVariableLoading (name, loading) {
|
|
135
|
+
set((state)=>{
|
|
136
|
+
const varState = state.variableState[name];
|
|
137
|
+
if (!varState) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
varState.loading = loading;
|
|
141
|
+
});
|
|
142
|
+
},
|
|
143
|
+
setVariableValue: (name, value)=>set((state)=>{
|
|
144
|
+
let val = value;
|
|
145
|
+
const varState = state.variableState[name];
|
|
146
|
+
if (!varState) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Make sure there is only one all value
|
|
150
|
+
if (Array.isArray(val) && val.includes(_pluginSystem.DEFAULT_ALL_VALUE)) {
|
|
151
|
+
if (val.at(-1) === _pluginSystem.DEFAULT_ALL_VALUE) {
|
|
152
|
+
val = _pluginSystem.DEFAULT_ALL_VALUE;
|
|
153
|
+
} else {
|
|
154
|
+
val = val.filter((v)=>v !== _pluginSystem.DEFAULT_ALL_VALUE);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
varState.value = val;
|
|
158
|
+
})
|
|
159
|
+
}))));
|
|
160
|
+
return store;
|
|
179
161
|
}
|
|
180
|
-
function
|
|
181
|
-
|
|
162
|
+
function TemplateVariableProvider({ children , initialVariableDefinitions =[] }) {
|
|
163
|
+
const [store] = (0, _react.useState)(createTemplateVariableSrvStore({
|
|
164
|
+
initialVariableDefinitions
|
|
165
|
+
}));
|
|
166
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(TemplateVariableStoreContext.Provider, {
|
|
167
|
+
value: store,
|
|
168
|
+
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(PluginProvider, {
|
|
169
|
+
children: children
|
|
170
|
+
})
|
|
171
|
+
});
|
|
182
172
|
}
|
|
183
|
-
function hydrateTemplateVariableState(definition) {
|
|
184
|
-
var _a, _b;
|
|
173
|
+
/** Helpers */ function hydrateTemplateVariableState(definition) {
|
|
185
174
|
const v = definition;
|
|
175
|
+
var _default_value;
|
|
186
176
|
const varState = {
|
|
187
|
-
value: null,
|
|
188
|
-
loading: false
|
|
177
|
+
value: (_default_value = v.spec.default_value) !== null && _default_value !== void 0 ? _default_value : null,
|
|
178
|
+
loading: false
|
|
189
179
|
};
|
|
190
|
-
switch
|
|
180
|
+
switch(v.kind){
|
|
191
181
|
case 'TextVariable':
|
|
192
|
-
varState.value = v.
|
|
182
|
+
varState.value = v.spec.value;
|
|
193
183
|
break;
|
|
194
184
|
case 'ListVariable':
|
|
195
185
|
varState.options = [];
|
|
196
|
-
if (v.options.allowAllValue) {
|
|
197
|
-
varState.options.unshift({ label: 'All', value: core_1.DEFAULT_ALL_VALUE });
|
|
198
|
-
}
|
|
199
186
|
if (varState.options.length > 0 && !varState.value) {
|
|
200
|
-
|
|
187
|
+
var ref;
|
|
188
|
+
var ref1;
|
|
189
|
+
const firstOptionValue = (ref1 = (ref = varState.options[0]) === null || ref === void 0 ? void 0 : ref.value) !== null && ref1 !== void 0 ? ref1 : null;
|
|
201
190
|
if (firstOptionValue !== null) {
|
|
202
|
-
varState.value = v.
|
|
191
|
+
varState.value = v.spec.allow_multiple ? [
|
|
192
|
+
firstOptionValue
|
|
193
|
+
] : firstOptionValue;
|
|
203
194
|
}
|
|
204
195
|
}
|
|
196
|
+
break;
|
|
205
197
|
default:
|
|
206
198
|
break;
|
|
207
199
|
}
|
|
@@ -209,8 +201,8 @@ function hydrateTemplateVariableState(definition) {
|
|
|
209
201
|
}
|
|
210
202
|
function hydrateTemplateVariableStates(definitions) {
|
|
211
203
|
const state = {};
|
|
212
|
-
definitions.forEach((v)
|
|
213
|
-
state[v.name] = hydrateTemplateVariableState(v);
|
|
204
|
+
definitions.forEach((v)=>{
|
|
205
|
+
state[v.spec.name] = hydrateTemplateVariableState(v);
|
|
214
206
|
});
|
|
215
207
|
return state;
|
|
216
208
|
}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeRangeProvider = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
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.
|
|
@@ -14,35 +10,77 @@ 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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "TimeRangeProvider", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: ()=>TimeRangeProvider
|
|
20
|
+
});
|
|
21
|
+
const _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
23
|
+
const _dateFns = require("date-fns");
|
|
24
|
+
const _core = require("@perses-dev/core");
|
|
25
|
+
const _pluginSystem = require("@perses-dev/plugin-system");
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
27
|
+
if (typeof WeakMap !== "function") return null;
|
|
28
|
+
var cacheBabelInterop = new WeakMap();
|
|
29
|
+
var cacheNodeInterop = new WeakMap();
|
|
30
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
31
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
32
|
+
})(nodeInterop);
|
|
33
|
+
}
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
35
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
36
|
+
return obj;
|
|
37
|
+
}
|
|
38
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
39
|
+
return {
|
|
40
|
+
default: obj
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
44
|
+
if (cache && cache.has(obj)) {
|
|
45
|
+
return cache.get(obj);
|
|
46
|
+
}
|
|
47
|
+
var newObj = {};
|
|
48
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
49
|
+
for(var key in obj){
|
|
50
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
51
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
52
|
+
if (desc && (desc.get || desc.set)) {
|
|
53
|
+
Object.defineProperty(newObj, key, desc);
|
|
54
|
+
} else {
|
|
55
|
+
newObj[key] = obj[key];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
newObj.default = obj;
|
|
60
|
+
if (cache) {
|
|
61
|
+
cache.set(obj, newObj);
|
|
62
|
+
}
|
|
63
|
+
return newObj;
|
|
64
|
+
}
|
|
24
65
|
function TimeRangeProvider(props) {
|
|
25
|
-
const { initialTimeRange, children, onTimeRangeChange
|
|
26
|
-
const { queryString, setQueryString
|
|
27
|
-
const defaultTimeRange = (0,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const [timeRange, setActiveTimeRange] = (0, react_1.useState)(defaultTimeRange);
|
|
31
|
-
const setTimeRange = (0, react_1.useCallback)((value) => {
|
|
66
|
+
const { initialTimeRange , children , onTimeRangeChange } = props;
|
|
67
|
+
const { queryString , setQueryString } = (0, _pluginSystem.useQueryString)();
|
|
68
|
+
const defaultTimeRange = (0, _core.isRelativeTimeRange)(initialTimeRange) ? (0, _core.toAbsoluteTimeRange)(initialTimeRange) : initialTimeRange;
|
|
69
|
+
const [timeRange, setActiveTimeRange] = (0, _react.useState)(defaultTimeRange);
|
|
70
|
+
const setTimeRange = (0, _react.useCallback)((value)=>{
|
|
32
71
|
if (onTimeRangeChange !== undefined) {
|
|
33
72
|
// optional callback to override default behavior
|
|
34
73
|
onTimeRangeChange(value);
|
|
35
74
|
return;
|
|
36
75
|
}
|
|
37
|
-
if ((0,
|
|
76
|
+
if ((0, _core.isRelativeTimeRange)(value)) {
|
|
38
77
|
if (setQueryString) {
|
|
39
78
|
queryString.set('start', value.pastDuration);
|
|
40
79
|
// end not required for relative time but may have been set by AbsoluteTimePicker or zoom
|
|
41
80
|
queryString.delete('end');
|
|
42
81
|
setQueryString(queryString);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
setActiveTimeRange((0, core_1.toAbsoluteTimeRange)(value));
|
|
82
|
+
} else {
|
|
83
|
+
setActiveTimeRange((0, _core.toAbsoluteTimeRange)(value));
|
|
46
84
|
}
|
|
47
85
|
return;
|
|
48
86
|
}
|
|
@@ -50,17 +88,28 @@ function TimeRangeProvider(props) {
|
|
|
50
88
|
if (setQueryString) {
|
|
51
89
|
// Absolute URL example) ?start=1663707045000&end=1663713330000
|
|
52
90
|
// currently set from ViewDashboard initial queryString, AbsoluteTimePicker, or LineChart panel onDataZoom
|
|
53
|
-
const startUnixMs = (0,
|
|
54
|
-
const endUnixMs = (0,
|
|
91
|
+
const startUnixMs = (0, _dateFns.getUnixTime)(value.start) * 1000;
|
|
92
|
+
const endUnixMs = (0, _dateFns.getUnixTime)(value.end) * 1000;
|
|
55
93
|
queryString.set('start', startUnixMs.toString());
|
|
56
94
|
queryString.set('end', endUnixMs.toString());
|
|
57
95
|
setQueryString(queryString);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
96
|
+
} else {
|
|
60
97
|
setActiveTimeRange(value);
|
|
61
98
|
}
|
|
62
|
-
}, [
|
|
63
|
-
|
|
64
|
-
|
|
99
|
+
}, [
|
|
100
|
+
queryString,
|
|
101
|
+
setQueryString,
|
|
102
|
+
onTimeRangeChange
|
|
103
|
+
]);
|
|
104
|
+
const ctx = (0, _react.useMemo)(()=>({
|
|
105
|
+
timeRange,
|
|
106
|
+
setTimeRange
|
|
107
|
+
}), [
|
|
108
|
+
timeRange,
|
|
109
|
+
setTimeRange
|
|
110
|
+
]);
|
|
111
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.TimeRangeContext.Provider, {
|
|
112
|
+
value: ctx,
|
|
113
|
+
children: children
|
|
114
|
+
});
|
|
65
115
|
}
|
|
66
|
-
exports.TimeRangeProvider = TimeRangeProvider;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
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.
|
|
@@ -11,24 +10,25 @@
|
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
_exportStar(require("./DashboardAppSlice"), exports);
|
|
18
|
+
_exportStar(require("./DashboardProvider"), exports);
|
|
19
|
+
_exportStar(require("./DatasourceStoreProvider"), exports);
|
|
20
|
+
_exportStar(require("./LayoutsSlice"), exports);
|
|
21
|
+
_exportStar(require("./QueryStringProvider"), exports);
|
|
22
|
+
_exportStar(require("./TemplateVariableProvider"), exports);
|
|
23
|
+
_exportStar(require("./TimeRangeProvider"), exports);
|
|
24
|
+
function _exportStar(from, to) {
|
|
25
|
+
Object.keys(from).forEach(function(k) {
|
|
26
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function() {
|
|
29
|
+
return from[k];
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
return from;
|
|
34
|
+
}
|