@perses-dev/dashboards 0.8.1 → 0.10.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 (258) hide show
  1. package/dist/cjs/components/Dashboard.js +25 -14
  2. package/dist/cjs/components/DashboardToolbar.js +148 -20
  3. package/dist/cjs/components/GridLayout/GridItemContent.js +25 -19
  4. package/dist/cjs/components/GridLayout/GridLayout.js +92 -27
  5. package/dist/cjs/components/GridLayout/GridTitle.js +91 -31
  6. package/dist/cjs/components/GridLayout/index.js +18 -19
  7. package/dist/cjs/components/Panel/DeletePanelDialog.js +91 -0
  8. package/dist/cjs/components/Panel/Panel.js +156 -55
  9. package/dist/cjs/components/Panel/Panel.test.js +58 -41
  10. package/dist/cjs/components/Panel/PanelContent.js +41 -12
  11. package/dist/cjs/components/Panel/index.js +16 -17
  12. package/dist/cjs/components/PanelDrawer/PanelDrawer.js +84 -108
  13. package/dist/cjs/components/PanelDrawer/PanelDrawer.test.js +87 -92
  14. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +194 -0
  15. package/dist/cjs/components/PanelDrawer/PanelPreview.js +48 -0
  16. package/dist/cjs/components/PanelDrawer/index.js +28 -0
  17. package/dist/cjs/components/PanelGroupDialog/DeletePanelGroupDialog.js +86 -0
  18. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +121 -39
  19. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.test.js +74 -88
  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 +195 -36
  24. package/dist/cjs/components/Variables/VariableEditor.js +207 -0
  25. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +236 -0
  26. package/dist/cjs/components/Variables/VariableEditorForm/index.js +28 -0
  27. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +88 -0
  28. package/dist/cjs/components/Variables/VariableList.js +81 -13
  29. package/dist/cjs/components/Variables/index.js +18 -18
  30. package/dist/cjs/components/index.js +21 -21
  31. package/dist/cjs/context/DashboardProvider/DashboardProvider.js +70 -0
  32. package/dist/cjs/context/DashboardProvider/common.js +18 -0
  33. package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +71 -0
  34. package/dist/cjs/context/DashboardProvider/index.js +29 -0
  35. package/dist/cjs/context/DashboardProvider/layout-slice.js +200 -0
  36. package/dist/cjs/context/DashboardProvider/panel-editing-slice.js +156 -0
  37. package/dist/cjs/context/DashboardProvider/panel-group-slice.js +38 -0
  38. package/dist/cjs/context/DatasourceStoreProvider.js +170 -0
  39. package/dist/cjs/context/QueryStringProvider.js +69 -15
  40. package/dist/cjs/context/TemplateVariableProvider.js +135 -136
  41. package/dist/cjs/context/TimeRangeProvider.js +79 -30
  42. package/dist/cjs/context/index.js +20 -22
  43. package/dist/cjs/css/styles.js +43 -39
  44. package/dist/cjs/index.js +19 -20
  45. package/dist/cjs/test/dashboard-provider.js +51 -0
  46. package/dist/cjs/test/index.js +18 -18
  47. package/dist/cjs/test/plugin-registry.js +52 -25
  48. package/dist/cjs/test/render.js +25 -22
  49. package/dist/cjs/test/setup-tests.js +4 -2
  50. package/dist/cjs/test/testDashboard.js +203 -107
  51. package/dist/cjs/utils/functions.js +9 -5
  52. package/dist/cjs/views/ViewDashboard/DashboardApp.js +49 -23
  53. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +62 -31
  54. package/dist/cjs/views/ViewDashboard/index.js +16 -17
  55. package/dist/cjs/views/ViewDashboard/tests/panelGroups.test.js +165 -0
  56. package/dist/cjs/views/index.js +16 -17
  57. package/dist/components/Dashboard.d.ts +1 -4
  58. package/dist/components/Dashboard.d.ts.map +1 -1
  59. package/dist/components/Dashboard.js +34 -1
  60. package/dist/components/Dashboard.js.map +1 -0
  61. package/dist/components/DashboardToolbar.d.ts.map +1 -1
  62. package/dist/components/DashboardToolbar.js +154 -1
  63. package/dist/components/DashboardToolbar.js.map +1 -0
  64. package/dist/components/GridLayout/GridItemContent.d.ts +3 -3
  65. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  66. package/dist/components/GridLayout/GridItemContent.js +35 -1
  67. package/dist/components/GridLayout/GridItemContent.js.map +1 -0
  68. package/dist/components/GridLayout/GridLayout.d.ts +2 -3
  69. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
  70. package/dist/components/GridLayout/GridLayout.js +102 -1
  71. package/dist/components/GridLayout/GridLayout.js.map +1 -0
  72. package/dist/components/GridLayout/GridTitle.d.ts.map +1 -1
  73. package/dist/components/GridLayout/GridTitle.js +99 -1
  74. package/dist/components/GridLayout/GridTitle.js.map +1 -0
  75. package/dist/components/GridLayout/index.js +16 -1
  76. package/dist/components/GridLayout/index.js.map +1 -0
  77. package/dist/components/Panel/DeletePanelDialog.d.ts +5 -0
  78. package/dist/components/Panel/DeletePanelDialog.d.ts.map +1 -0
  79. package/dist/components/Panel/DeletePanelDialog.js +80 -0
  80. package/dist/components/Panel/DeletePanelDialog.js.map +1 -0
  81. package/dist/components/Panel/Panel.d.ts +1 -1
  82. package/dist/components/Panel/Panel.d.ts.map +1 -1
  83. package/dist/components/Panel/Panel.js +181 -1
  84. package/dist/components/Panel/Panel.js.map +1 -0
  85. package/dist/components/Panel/Panel.test.js +74 -1
  86. package/dist/components/Panel/Panel.test.js.map +1 -0
  87. package/dist/components/Panel/PanelContent.d.ts +5 -4
  88. package/dist/components/Panel/PanelContent.d.ts.map +1 -1
  89. package/dist/components/Panel/PanelContent.js +41 -1
  90. package/dist/components/Panel/PanelContent.js.map +1 -0
  91. package/dist/components/Panel/index.js +15 -1
  92. package/dist/components/Panel/index.js.map +1 -0
  93. package/dist/components/PanelDrawer/PanelDrawer.d.ts +4 -2
  94. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  95. package/dist/components/PanelDrawer/PanelDrawer.js +96 -1
  96. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -0
  97. package/dist/components/PanelDrawer/PanelDrawer.test.js +99 -1
  98. package/dist/components/PanelDrawer/PanelDrawer.test.js.map +1 -0
  99. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +12 -0
  100. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -0
  101. package/dist/components/PanelDrawer/PanelEditorForm.js +184 -0
  102. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -0
  103. package/dist/components/PanelDrawer/PanelPreview.d.ts +4 -0
  104. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -0
  105. package/dist/components/PanelDrawer/PanelPreview.js +42 -0
  106. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -0
  107. package/dist/components/PanelDrawer/index.d.ts +2 -0
  108. package/dist/components/PanelDrawer/index.d.ts.map +1 -0
  109. package/dist/components/PanelDrawer/index.js +15 -0
  110. package/dist/components/PanelDrawer/index.js.map +1 -0
  111. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.d.ts +4 -0
  112. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.d.ts.map +1 -0
  113. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.js +75 -0
  114. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.js.map +1 -0
  115. package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
  116. package/dist/components/PanelGroupDialog/PanelGroupDialog.js +131 -1
  117. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -0
  118. package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js +74 -1
  119. package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js.map +1 -0
  120. package/dist/components/TimeRangeControls/TimeRangeControls.js +137 -1
  121. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -0
  122. package/dist/components/TimeRangeControls/TimeRangeControls.test.js +59 -1
  123. package/dist/components/TimeRangeControls/TimeRangeControls.test.js.map +1 -0
  124. package/dist/components/TimeRangeControls/index.js +15 -1
  125. package/dist/components/TimeRangeControls/index.js.map +1 -0
  126. package/dist/components/Variables/Variable.d.ts.map +1 -1
  127. package/dist/components/Variables/Variable.js +210 -1
  128. package/dist/components/Variables/Variable.js.map +1 -0
  129. package/dist/components/Variables/VariableEditor.d.ts +8 -0
  130. package/dist/components/Variables/VariableEditor.d.ts.map +1 -0
  131. package/dist/components/Variables/VariableEditor.js +196 -0
  132. package/dist/components/Variables/VariableEditor.js.map +1 -0
  133. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +8 -0
  134. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -0
  135. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +225 -0
  136. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -0
  137. package/dist/components/Variables/VariableEditorForm/index.d.ts +2 -0
  138. package/dist/components/Variables/VariableEditorForm/index.d.ts.map +1 -0
  139. package/dist/components/Variables/VariableEditorForm/index.js +15 -0
  140. package/dist/components/Variables/VariableEditorForm/index.js.map +1 -0
  141. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +21 -0
  142. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -0
  143. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +76 -0
  144. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -0
  145. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  146. package/dist/components/Variables/VariableList.js +84 -1
  147. package/dist/components/Variables/VariableList.js.map +1 -0
  148. package/dist/components/Variables/index.d.ts +1 -0
  149. package/dist/components/Variables/index.d.ts.map +1 -1
  150. package/dist/components/Variables/index.js +17 -1
  151. package/dist/components/Variables/index.js.map +1 -0
  152. package/dist/components/index.d.ts +1 -0
  153. package/dist/components/index.d.ts.map +1 -1
  154. package/dist/components/index.js +20 -1
  155. package/dist/components/index.js.map +1 -0
  156. package/dist/context/DashboardProvider/DashboardProvider.d.ts +23 -0
  157. package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -0
  158. package/dist/context/DashboardProvider/DashboardProvider.js +52 -0
  159. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -0
  160. package/dist/context/DashboardProvider/common.d.ts +5 -0
  161. package/dist/context/DashboardProvider/common.d.ts.map +1 -0
  162. package/dist/context/DashboardProvider/common.js +17 -0
  163. package/dist/context/DashboardProvider/common.js.map +1 -0
  164. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts +32 -0
  165. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts.map +1 -0
  166. package/dist/context/DashboardProvider/dashboard-provider-api.js +56 -0
  167. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -0
  168. package/dist/context/DashboardProvider/index.d.ts +3 -0
  169. package/dist/context/DashboardProvider/index.d.ts.map +1 -0
  170. package/dist/context/DashboardProvider/index.js +16 -0
  171. package/dist/context/DashboardProvider/index.js.map +1 -0
  172. package/dist/context/DashboardProvider/layout-slice.d.ts +57 -0
  173. package/dist/context/DashboardProvider/layout-slice.d.ts.map +1 -0
  174. package/dist/context/DashboardProvider/layout-slice.js +196 -0
  175. package/dist/context/DashboardProvider/layout-slice.js.map +1 -0
  176. package/dist/context/DashboardProvider/panel-editing-slice.d.ts +70 -0
  177. package/dist/context/DashboardProvider/panel-editing-slice.d.ts.map +1 -0
  178. package/dist/context/DashboardProvider/panel-editing-slice.js +152 -0
  179. package/dist/context/DashboardProvider/panel-editing-slice.js.map +1 -0
  180. package/dist/context/DashboardProvider/panel-group-slice.d.ts +15 -0
  181. package/dist/context/DashboardProvider/panel-group-slice.d.ts.map +1 -0
  182. package/dist/context/DashboardProvider/panel-group-slice.js +32 -0
  183. package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -0
  184. package/dist/context/DatasourceStoreProvider.d.ts +24 -0
  185. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -0
  186. package/dist/context/DatasourceStoreProvider.js +166 -0
  187. package/dist/context/DatasourceStoreProvider.js.map +1 -0
  188. package/dist/context/QueryStringProvider.js +40 -1
  189. package/dist/context/QueryStringProvider.js.map +1 -0
  190. package/dist/context/TemplateVariableProvider.d.ts +8 -3
  191. package/dist/context/TemplateVariableProvider.d.ts.map +1 -1
  192. package/dist/context/TemplateVariableProvider.js +199 -1
  193. package/dist/context/TemplateVariableProvider.js.map +1 -0
  194. package/dist/context/TimeRangeProvider.js +72 -1
  195. package/dist/context/TimeRangeProvider.js.map +1 -0
  196. package/dist/context/index.d.ts +3 -4
  197. package/dist/context/index.d.ts.map +1 -1
  198. package/dist/context/index.js +19 -1
  199. package/dist/context/index.js.map +1 -0
  200. package/dist/css/styles.js +186 -1
  201. package/dist/css/styles.js.map +1 -0
  202. package/dist/index.js +17 -1
  203. package/dist/index.js.map +1 -0
  204. package/dist/test/dashboard-provider.d.ts +19 -0
  205. package/dist/test/dashboard-provider.d.ts.map +1 -0
  206. package/dist/test/dashboard-provider.js +40 -0
  207. package/dist/test/dashboard-provider.js.map +1 -0
  208. package/dist/test/index.d.ts +1 -0
  209. package/dist/test/index.d.ts.map +1 -1
  210. package/dist/test/index.js +17 -1
  211. package/dist/test/index.js.map +1 -0
  212. package/dist/test/plugin-registry.d.ts +3 -4
  213. package/dist/test/plugin-registry.d.ts.map +1 -1
  214. package/dist/test/plugin-registry.js +74 -1
  215. package/dist/test/plugin-registry.js.map +1 -0
  216. package/dist/test/render.d.ts +1 -2
  217. package/dist/test/render.d.ts.map +1 -1
  218. package/dist/test/render.js +34 -1
  219. package/dist/test/render.js.map +1 -0
  220. package/dist/test/setup-tests.js +18 -1
  221. package/dist/test/setup-tests.js.map +1 -0
  222. package/dist/test/testDashboard.d.ts.map +1 -1
  223. package/dist/test/testDashboard.js +286 -1
  224. package/dist/test/testDashboard.js.map +1 -0
  225. package/dist/utils/functions.js +17 -1
  226. package/dist/utils/functions.js.map +1 -0
  227. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  228. package/dist/views/ViewDashboard/DashboardApp.js +55 -1
  229. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -0
  230. package/dist/views/ViewDashboard/ViewDashboard.d.ts +2 -0
  231. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  232. package/dist/views/ViewDashboard/ViewDashboard.js +79 -1
  233. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -0
  234. package/dist/views/ViewDashboard/index.js +15 -1
  235. package/dist/views/ViewDashboard/index.js.map +1 -0
  236. package/dist/views/ViewDashboard/tests/panelGroups.test.d.ts +2 -0
  237. package/dist/views/ViewDashboard/tests/panelGroups.test.d.ts.map +1 -0
  238. package/dist/views/ViewDashboard/tests/panelGroups.test.js +158 -0
  239. package/dist/views/ViewDashboard/tests/panelGroups.test.js.map +1 -0
  240. package/dist/views/index.js +15 -1
  241. package/dist/views/index.js.map +1 -0
  242. package/package.json +13 -7
  243. package/dist/cjs/components/PanelDrawer/PanelOptionsEditor.js +0 -19
  244. package/dist/cjs/context/DashboardAppSlice.js +0 -45
  245. package/dist/cjs/context/DashboardProvider.js +0 -98
  246. package/dist/cjs/context/LayoutsSlice.js +0 -42
  247. package/dist/components/PanelDrawer/PanelOptionsEditor.d.ts +0 -9
  248. package/dist/components/PanelDrawer/PanelOptionsEditor.d.ts.map +0 -1
  249. package/dist/components/PanelDrawer/PanelOptionsEditor.js +0 -1
  250. package/dist/context/DashboardAppSlice.d.ts +0 -26
  251. package/dist/context/DashboardAppSlice.d.ts.map +0 -1
  252. package/dist/context/DashboardAppSlice.js +0 -1
  253. package/dist/context/DashboardProvider.d.ts +0 -34
  254. package/dist/context/DashboardProvider.d.ts.map +0 -1
  255. package/dist/context/DashboardProvider.js +0 -1
  256. package/dist/context/LayoutsSlice.d.ts +0 -12
  257. package/dist/context/LayoutsSlice.d.ts.map +0 -1
  258. package/dist/context/LayoutsSlice.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
- const react_1 = require("react");
18
- const plugin_system_1 = require("@perses-dev/plugin-system");
19
- /**
20
- * Allows apps to provide their own query string implementations
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 } = props;
24
- const ctx = (0, react_1.useMemo)(() => ({ queryString, setQueryString }), [queryString, setQueryString]);
25
- return (0, jsx_runtime_1.jsx)(plugin_system_1.QueryStringContext.Provider, { value: ctx, children: children });
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, react_1.useContext)(plugin_system_1.QueryStringContext);
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
- const react_1 = require("react");
18
- const zustand_1 = require("zustand");
19
- const immer_1 = require("zustand/middleware/immer");
20
- const middleware_1 = require("zustand/middleware");
21
- const plugin_system_1 = require("@perses-dev/plugin-system");
22
- const core_1 = require("@perses-dev/core");
23
- const TemplateVariableStoreContext = (0, react_1.createContext)(undefined);
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, react_1.useContext)(TemplateVariableStoreContext);
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, zustand_1.useStore)(store, (s) => {
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,152 @@ 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, zustand_1.useStore)(store, (s) => {
65
+ return (0, _zustand.useStore)(store, (s)=>{
53
66
  const variableState = s.variableState[name];
54
- const definition = s.variableDefinitions.find((v) => v.name === name);
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, zustand_1.useStore)(store, (s) => {
76
+ return (0, _zustand.useStore)(store, (s)=>{
65
77
  return {
66
78
  setVariableValue: s.setVariableValue,
67
- loadTemplateVariable: s.loadTemplateVariable,
79
+ setVariableLoading: s.setVariableLoading,
80
+ setVariableOptions: s.setVariableOptions,
81
+ setVariableDefinitions: s.setVariableDefinitions
68
82
  };
69
83
  });
70
84
  }
71
- exports.useTemplateVariableActions = useTemplateVariableActions;
72
85
  function useTemplateVariableDefinitions() {
73
86
  const store = useTemplateVariableStoreCtx();
74
- return (0, zustand_1.useStore)(store, (s) => s.variableDefinitions);
87
+ return (0, _zustand.useStore)(store, (s)=>s.variableDefinitions);
75
88
  }
76
- exports.useTemplateVariableDefinitions = useTemplateVariableDefinitions;
77
89
  function useTemplateVariableStore() {
78
90
  const store = useTemplateVariableStoreCtx();
79
- return (0, zustand_1.useStore)(store);
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 });
91
+ return (0, _zustand.useStore)(store);
85
92
  }
86
- function createTemplateVariableSrvStore({ initialVariableDefinitions = [] }) {
87
- const store = (0, zustand_1.createStore)()((0, middleware_1.devtools)((0, immer_1.immer)((set, get) => ({
88
- variableState: hydrateTemplateVariableStates(initialVariableDefinitions),
89
- variableDefinitions: initialVariableDefinitions,
90
- // Actions
91
- loadTemplateVariable: async (name) => {
92
- const def = get().variableDefinitions.find((v) => v.name === name);
93
- if (!def) {
94
- // Can't find the variable definition
95
- return;
93
+ function PluginProvider({ children }) {
94
+ const originalValues = useTemplateVariableValues();
95
+ const values = (0, _react.useMemo)(()=>{
96
+ const contextValues = {};
97
+ // This will loop through all the current variables values
98
+ // and update any variables that have ALL_VALUE as their current value
99
+ // to include all options.
100
+ Object.keys(originalValues).forEach((name)=>{
101
+ const v = {
102
+ ...originalValues[name]
103
+ };
104
+ if (v.value === _pluginSystem.DEFAULT_ALL_VALUE) {
105
+ var ref;
106
+ var ref1;
107
+ v.value = (ref1 = (ref = v.options) === null || ref === void 0 ? void 0 : ref.map((o)=>o.value)) !== null && ref1 !== void 0 ? ref1 : null;
96
108
  }
97
- set((state) => {
98
- const varState = state.variableState[name];
99
- if (varState) {
100
- varState.loading = true;
101
- }
102
- });
103
- // Replace with loader
104
- const { data: values } = await loadTemplateVariables();
105
- if (def.options.allowAllValue) {
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;
109
+ contextValues[name] = v;
110
+ });
111
+ return contextValues;
112
+ }, [
113
+ originalValues
114
+ ]);
115
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.TemplateVariableContext.Provider, {
116
+ value: {
117
+ state: values
116
118
  },
117
- setVariableValue: (name, value) => set((state) => {
118
- let val = value;
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 }) }));
119
+ children: children
120
+ });
140
121
  }
141
- exports.TemplateVariableProvider = TemplateVariableProvider;
142
- /** Helpers */
143
- async function loadTemplateVariables() {
144
- // @TODO: Replace with plugin call
145
- // simluate sleep for 2 seconds
146
- // random time between 1 and 3 seconds
147
- const sleepTime = Math.floor(Math.random() * 10000) + 1000;
148
- await new Promise((resolve) => setTimeout(resolve, sleepTime));
149
- return {
150
- data: [
151
- 'a',
152
- 'b',
153
- 'c',
154
- 'd',
155
- 'e',
156
- 'f',
157
- 'g',
158
- 'h',
159
- 'i',
160
- 'j',
161
- 'k',
162
- 'l',
163
- 'm',
164
- 'n',
165
- 'o',
166
- 'p',
167
- 'q',
168
- 'r',
169
- 's',
170
- 't',
171
- 'u',
172
- 'v',
173
- 'w',
174
- 'x',
175
- 'y',
176
- 'z',
177
- ].map((v) => ({ label: v, value: v })),
178
- };
122
+ function createTemplateVariableSrvStore({ initialVariableDefinitions =[] }) {
123
+ const store = (0, _zustand.createStore)()((0, _middleware.devtools)((0, _immer.immer)((set)=>({
124
+ variableState: hydrateTemplateVariableStates(initialVariableDefinitions),
125
+ variableDefinitions: initialVariableDefinitions,
126
+ setVariableDefinitions (definitions) {
127
+ set((state)=>{
128
+ state.variableDefinitions = definitions;
129
+ state.variableState = hydrateTemplateVariableStates(definitions);
130
+ });
131
+ },
132
+ setVariableOptions (name, options) {
133
+ set((state)=>{
134
+ const varState = state.variableState[name];
135
+ if (!varState) {
136
+ return;
137
+ }
138
+ varState.options = options;
139
+ });
140
+ },
141
+ setVariableLoading (name, loading) {
142
+ set((state)=>{
143
+ const varState = state.variableState[name];
144
+ if (!varState) {
145
+ return;
146
+ }
147
+ varState.loading = loading;
148
+ });
149
+ },
150
+ setVariableValue: (name, value)=>set((state)=>{
151
+ let val = value;
152
+ const varState = state.variableState[name];
153
+ if (!varState) {
154
+ return;
155
+ }
156
+ // Make sure there is only one all value
157
+ if (Array.isArray(val) && val.includes(_pluginSystem.DEFAULT_ALL_VALUE)) {
158
+ if (val.at(-1) === _pluginSystem.DEFAULT_ALL_VALUE) {
159
+ val = _pluginSystem.DEFAULT_ALL_VALUE;
160
+ } else {
161
+ val = val.filter((v)=>v !== _pluginSystem.DEFAULT_ALL_VALUE);
162
+ }
163
+ }
164
+ varState.value = val;
165
+ })
166
+ }))));
167
+ return store;
179
168
  }
180
- function getAllOption() {
181
- return { label: 'All', value: core_1.DEFAULT_ALL_VALUE };
169
+ function TemplateVariableProvider({ children , initialVariableDefinitions =[] }) {
170
+ const [store] = (0, _react.useState)(createTemplateVariableSrvStore({
171
+ initialVariableDefinitions
172
+ }));
173
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(TemplateVariableStoreContext.Provider, {
174
+ value: store,
175
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(PluginProvider, {
176
+ children: children
177
+ })
178
+ });
182
179
  }
183
- function hydrateTemplateVariableState(definition) {
184
- var _a, _b;
180
+ /** Helpers */ function hydrateTemplateVariableState(definition) {
185
181
  const v = definition;
182
+ var _default_value;
186
183
  const varState = {
187
- value: null,
188
- loading: false,
184
+ value: (_default_value = v.spec.default_value) !== null && _default_value !== void 0 ? _default_value : null,
185
+ loading: false
189
186
  };
190
- switch (v.kind) {
187
+ switch(v.kind){
191
188
  case 'TextVariable':
192
- varState.value = v.options.value;
189
+ varState.value = v.spec.value;
193
190
  break;
194
191
  case 'ListVariable':
195
192
  varState.options = [];
196
- if (v.options.allowAllValue) {
197
- varState.options.unshift({ label: 'All', value: core_1.DEFAULT_ALL_VALUE });
198
- }
199
193
  if (varState.options.length > 0 && !varState.value) {
200
- const firstOptionValue = (_b = (_a = varState.options[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;
194
+ var ref;
195
+ var ref1;
196
+ const firstOptionValue = (ref1 = (ref = varState.options[0]) === null || ref === void 0 ? void 0 : ref.value) !== null && ref1 !== void 0 ? ref1 : null;
201
197
  if (firstOptionValue !== null) {
202
- varState.value = v.options.allowMultiple ? [firstOptionValue] : firstOptionValue;
198
+ varState.value = v.spec.allow_multiple ? [
199
+ firstOptionValue
200
+ ] : firstOptionValue;
203
201
  }
204
202
  }
203
+ break;
205
204
  default:
206
205
  break;
207
206
  }
@@ -209,8 +208,8 @@ function hydrateTemplateVariableState(definition) {
209
208
  }
210
209
  function hydrateTemplateVariableStates(definitions) {
211
210
  const state = {};
212
- definitions.forEach((v) => {
213
- state[v.name] = hydrateTemplateVariableState(v);
211
+ definitions.forEach((v)=>{
212
+ state[v.spec.name] = hydrateTemplateVariableState(v);
214
213
  });
215
214
  return state;
216
215
  }
@@ -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
- const react_1 = require("react");
18
- const date_fns_1 = require("date-fns");
19
- const core_1 = require("@perses-dev/core");
20
- const plugin_system_1 = require("@perses-dev/plugin-system");
21
- /**
22
- * Provider implementation that supplies the time range state at runtime.
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 } = props;
26
- const { queryString, setQueryString } = (0, plugin_system_1.useQueryString)();
27
- const defaultTimeRange = (0, core_1.isRelativeTimeRange)(initialTimeRange)
28
- ? (0, core_1.toAbsoluteTimeRange)(initialTimeRange)
29
- : initialTimeRange;
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, core_1.isRelativeTimeRange)(value)) {
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
- else {
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, date_fns_1.getUnixTime)(value.start) * 1000;
54
- const endUnixMs = (0, date_fns_1.getUnixTime)(value.end) * 1000;
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
- }, [queryString, setQueryString, onTimeRangeChange]);
63
- const ctx = (0, react_1.useMemo)(() => ({ timeRange, setTimeRange }), [timeRange, setTimeRange]);
64
- return (0, jsx_runtime_1.jsx)(plugin_system_1.TimeRangeContext.Provider, { value: ctx, children: children });
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,23 @@
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("./DashboardAppSlice"), exports);
30
- __exportStar(require("./LayoutsSlice"), exports);
31
- __exportStar(require("./TemplateVariableProvider"), exports);
32
- __exportStar(require("./DashboardProvider"), exports);
33
- __exportStar(require("./TimeRangeProvider"), exports);
34
- __exportStar(require("./QueryStringProvider"), exports);
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ _exportStar(require("./DashboardProvider"), exports);
18
+ _exportStar(require("./DatasourceStoreProvider"), exports);
19
+ _exportStar(require("./QueryStringProvider"), exports);
20
+ _exportStar(require("./TemplateVariableProvider"), exports);
21
+ _exportStar(require("./TimeRangeProvider"), exports);
22
+ function _exportStar(from, to) {
23
+ Object.keys(from).forEach(function(k) {
24
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
25
+ enumerable: true,
26
+ get: function() {
27
+ return from[k];
28
+ }
29
+ });
30
+ });
31
+ return from;
32
+ }