@perses-dev/plugin-system 0.39.0 → 0.40.1

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 (253) hide show
  1. package/dist/cjs/components/CalculationSelector/CalculationSelector.js +6 -4
  2. package/dist/cjs/components/CalculationSelector/index.js +10 -8
  3. package/dist/cjs/components/DatasourceEditorForm/DatasourceEditorForm.js +381 -0
  4. package/dist/cjs/components/DatasourceEditorForm/index.js +30 -0
  5. package/dist/cjs/components/DatasourceSelect.js +119 -21
  6. package/dist/cjs/components/LegendOptionsEditor/LegendOptionsEditor.js +18 -16
  7. package/dist/cjs/components/LegendOptionsEditor/index.js +10 -8
  8. package/dist/cjs/components/OptionsEditorRadios/OptionsEditorRadios.js +23 -28
  9. package/dist/cjs/components/OptionsEditorRadios/index.js +10 -8
  10. package/dist/cjs/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js +6 -4
  11. package/dist/cjs/components/OptionsEditorTabPanel/index.js +10 -8
  12. package/dist/cjs/components/OptionsEditorTabs/OptionsEditorTabs.js +10 -8
  13. package/dist/cjs/components/OptionsEditorTabs/index.js +10 -8
  14. package/dist/cjs/components/PanelSpecEditor/PanelSpecEditor.js +13 -11
  15. package/dist/cjs/components/PanelSpecEditor/index.js +10 -8
  16. package/dist/cjs/components/PluginEditor/PluginEditor.js +24 -31
  17. package/dist/cjs/components/PluginEditor/index.js +11 -9
  18. package/dist/cjs/components/PluginEditor/plugin-editor-api.js +5 -3
  19. package/dist/cjs/components/PluginKindSelect/PluginKindSelect.js +23 -12
  20. package/dist/cjs/components/PluginKindSelect/index.js +10 -8
  21. package/dist/cjs/components/PluginRegistry/PluginRegistry.js +11 -9
  22. package/dist/cjs/components/PluginRegistry/index.js +10 -8
  23. package/dist/cjs/components/PluginRegistry/plugin-indexes.js +6 -2
  24. package/dist/cjs/components/PluginSpecEditor/PluginSpecEditor.js +6 -4
  25. package/dist/cjs/components/PluginSpecEditor/index.js +10 -8
  26. package/dist/cjs/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +15 -13
  27. package/dist/cjs/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js +21 -19
  28. package/dist/cjs/components/TimeSeriesQueryEditor/index.js +10 -8
  29. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +257 -166
  30. package/dist/cjs/components/Variables/VariableEditorForm/VariablePreview.js +32 -28
  31. package/dist/cjs/components/Variables/VariableEditorForm/index.js +11 -9
  32. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +28 -32
  33. package/dist/cjs/components/Variables/index.js +11 -9
  34. package/dist/cjs/components/Variables/variable-model.js +17 -9
  35. package/dist/cjs/components/index.js +22 -19
  36. package/dist/cjs/constants/index.js +10 -8
  37. package/dist/cjs/constants/user-interface-text.js +3 -1
  38. package/dist/cjs/index.js +16 -13
  39. package/dist/cjs/model/index.js +17 -15
  40. package/dist/cjs/model/legend.js +32 -20
  41. package/dist/cjs/model/panels.js +2 -2
  42. package/dist/cjs/model/plugin-base.js +2 -2
  43. package/dist/cjs/model/plugin-loading.js +3 -1
  44. package/dist/cjs/runtime/DataQueriesProvider/DataQueriesProvider.js +19 -11
  45. package/dist/cjs/runtime/DataQueriesProvider/index.js +11 -9
  46. package/dist/cjs/runtime/DataQueriesProvider/model.js +12 -8
  47. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProvider.js +19 -11
  48. package/dist/cjs/runtime/TimeRangeProvider/index.js +11 -9
  49. package/dist/cjs/runtime/TimeRangeProvider/query-params.js +36 -18
  50. package/dist/cjs/runtime/builtin-variables.js +81 -0
  51. package/dist/cjs/runtime/datasources.js +29 -11
  52. package/dist/cjs/runtime/index.js +16 -13
  53. package/dist/cjs/runtime/plugin-registry.js +41 -11
  54. package/dist/cjs/runtime/template-variables.js +42 -12
  55. package/dist/cjs/runtime/time-series-queries.js +39 -27
  56. package/dist/cjs/stories/shared-utils/decorators/WithDataQueries.js +7 -5
  57. package/dist/cjs/stories/shared-utils/decorators/WithPluginRegistry.js +16 -14
  58. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js +42 -0
  59. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +19 -13
  60. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.js +6 -4
  61. package/dist/cjs/stories/shared-utils/decorators/WithTimeRange.js +7 -5
  62. package/dist/cjs/stories/shared-utils/decorators/index.js +15 -12
  63. package/dist/cjs/stories/shared-utils/index.js +10 -8
  64. package/dist/cjs/test/index.js +11 -9
  65. package/dist/cjs/test/mock-data.js +3 -1
  66. package/dist/cjs/test/render.js +13 -11
  67. package/dist/cjs/test/test-plugins/bert/index.js +14 -10
  68. package/dist/cjs/test/test-plugins/ernie/index.js +13 -9
  69. package/dist/cjs/test/test-plugins/index.js +11 -9
  70. package/dist/cjs/test-utils/index.js +10 -8
  71. package/dist/cjs/test-utils/mock-plugin-registry.js +8 -4
  72. package/dist/cjs/utils/action.js +43 -0
  73. package/dist/cjs/utils/index.js +11 -8
  74. package/dist/cjs/utils/variables.js +26 -8
  75. package/dist/cjs/validation/datasource.js +30 -0
  76. package/dist/cjs/validation/index.js +32 -0
  77. package/dist/cjs/validation/resource.js +24 -0
  78. package/dist/cjs/validation/variable.js +29 -0
  79. package/dist/components/CalculationSelector/CalculationSelector.js.map +1 -1
  80. package/dist/components/CalculationSelector/index.js.map +1 -1
  81. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts +15 -0
  82. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts.map +1 -0
  83. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js +334 -0
  84. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js.map +1 -0
  85. package/dist/components/DatasourceEditorForm/index.d.ts +2 -0
  86. package/dist/components/DatasourceEditorForm/index.d.ts.map +1 -0
  87. package/dist/components/DatasourceEditorForm/index.js +15 -0
  88. package/dist/components/DatasourceEditorForm/index.js.map +1 -0
  89. package/dist/components/DatasourceSelect.d.ts +5 -0
  90. package/dist/components/DatasourceSelect.d.ts.map +1 -1
  91. package/dist/components/DatasourceSelect.js +102 -19
  92. package/dist/components/DatasourceSelect.js.map +1 -1
  93. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js +2 -2
  94. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js.map +1 -1
  95. package/dist/components/LegendOptionsEditor/index.js.map +1 -1
  96. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts +2 -2
  97. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts.map +1 -1
  98. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js +16 -23
  99. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js.map +1 -1
  100. package/dist/components/OptionsEditorRadios/index.js.map +1 -1
  101. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js.map +1 -1
  102. package/dist/components/OptionsEditorTabPanel/index.js.map +1 -1
  103. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js.map +1 -1
  104. package/dist/components/OptionsEditorTabs/index.js.map +1 -1
  105. package/dist/components/PanelSpecEditor/PanelSpecEditor.js +2 -2
  106. package/dist/components/PanelSpecEditor/PanelSpecEditor.js.map +1 -1
  107. package/dist/components/PanelSpecEditor/index.js.map +1 -1
  108. package/dist/components/PluginEditor/PluginEditor.js +15 -24
  109. package/dist/components/PluginEditor/PluginEditor.js.map +1 -1
  110. package/dist/components/PluginEditor/index.js.map +1 -1
  111. package/dist/components/PluginEditor/plugin-editor-api.d.ts +1 -1
  112. package/dist/components/PluginEditor/plugin-editor-api.js +2 -2
  113. package/dist/components/PluginEditor/plugin-editor-api.js.map +1 -1
  114. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts +3 -3
  115. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts.map +1 -1
  116. package/dist/components/PluginKindSelect/PluginKindSelect.js +21 -12
  117. package/dist/components/PluginKindSelect/PluginKindSelect.js.map +1 -1
  118. package/dist/components/PluginKindSelect/index.js.map +1 -1
  119. package/dist/components/PluginRegistry/PluginRegistry.js +3 -3
  120. package/dist/components/PluginRegistry/PluginRegistry.js.map +1 -1
  121. package/dist/components/PluginRegistry/index.js.map +1 -1
  122. package/dist/components/PluginRegistry/plugin-indexes.js.map +1 -1
  123. package/dist/components/PluginSpecEditor/PluginSpecEditor.js.map +1 -1
  124. package/dist/components/PluginSpecEditor/index.js.map +1 -1
  125. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +4 -4
  126. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js.map +1 -1
  127. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js +1 -1
  128. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js.map +1 -1
  129. package/dist/components/TimeSeriesQueryEditor/index.js.map +1 -1
  130. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +10 -7
  131. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -1
  132. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +201 -112
  133. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
  134. package/dist/components/Variables/VariableEditorForm/VariablePreview.js.map +1 -1
  135. package/dist/components/Variables/VariableEditorForm/index.js.map +1 -1
  136. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +5 -4
  137. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -1
  138. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +22 -30
  139. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
  140. package/dist/components/Variables/index.js.map +1 -1
  141. package/dist/components/Variables/variable-model.js +3 -3
  142. package/dist/components/Variables/variable-model.js.map +1 -1
  143. package/dist/components/index.d.ts +1 -0
  144. package/dist/components/index.d.ts.map +1 -1
  145. package/dist/components/index.js +1 -0
  146. package/dist/components/index.js.map +1 -1
  147. package/dist/constants/index.js.map +1 -1
  148. package/dist/constants/user-interface-text.js.map +1 -1
  149. package/dist/index.d.ts +1 -0
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.js +1 -0
  152. package/dist/index.js.map +1 -1
  153. package/dist/model/datasource.d.ts +2 -1
  154. package/dist/model/datasource.d.ts.map +1 -1
  155. package/dist/model/datasource.js.map +1 -1
  156. package/dist/model/index.js.map +1 -1
  157. package/dist/model/legend.d.ts +1 -1
  158. package/dist/model/legend.d.ts.map +1 -1
  159. package/dist/model/legend.js +14 -14
  160. package/dist/model/legend.js.map +1 -1
  161. package/dist/model/panels.js.map +1 -1
  162. package/dist/model/plugin-base.js.map +1 -1
  163. package/dist/model/plugin-loading.js.map +1 -1
  164. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js +4 -4
  165. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js.map +1 -1
  166. package/dist/runtime/DataQueriesProvider/index.js.map +1 -1
  167. package/dist/runtime/DataQueriesProvider/model.d.ts +3 -2
  168. package/dist/runtime/DataQueriesProvider/model.d.ts.map +1 -1
  169. package/dist/runtime/DataQueriesProvider/model.js +4 -4
  170. package/dist/runtime/DataQueriesProvider/model.js.map +1 -1
  171. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js.map +1 -1
  172. package/dist/runtime/TimeRangeProvider/index.js.map +1 -1
  173. package/dist/runtime/TimeRangeProvider/query-params.js +1 -1
  174. package/dist/runtime/TimeRangeProvider/query-params.js.map +1 -1
  175. package/dist/runtime/builtin-variables.d.ts +11 -0
  176. package/dist/runtime/builtin-variables.d.ts.map +1 -0
  177. package/dist/runtime/builtin-variables.js +59 -0
  178. package/dist/runtime/builtin-variables.js.map +1 -0
  179. package/dist/runtime/datasources.d.ts +14 -6
  180. package/dist/runtime/datasources.d.ts.map +1 -1
  181. package/dist/runtime/datasources.js +13 -6
  182. package/dist/runtime/datasources.js.map +1 -1
  183. package/dist/runtime/index.d.ts +1 -0
  184. package/dist/runtime/index.d.ts.map +1 -1
  185. package/dist/runtime/index.js +1 -0
  186. package/dist/runtime/index.js.map +1 -1
  187. package/dist/runtime/plugin-registry.d.ts +2 -0
  188. package/dist/runtime/plugin-registry.d.ts.map +1 -1
  189. package/dist/runtime/plugin-registry.js +19 -2
  190. package/dist/runtime/plugin-registry.js.map +1 -1
  191. package/dist/runtime/template-variables.d.ts +2 -1
  192. package/dist/runtime/template-variables.d.ts.map +1 -1
  193. package/dist/runtime/template-variables.js +27 -8
  194. package/dist/runtime/template-variables.js.map +1 -1
  195. package/dist/runtime/time-series-queries.d.ts +3 -3
  196. package/dist/runtime/time-series-queries.d.ts.map +1 -1
  197. package/dist/runtime/time-series-queries.js +14 -12
  198. package/dist/runtime/time-series-queries.js.map +1 -1
  199. package/dist/stories/shared-utils/decorators/WithDataQueries.js.map +1 -1
  200. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js.map +1 -1
  201. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.d.ts +13 -0
  202. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.d.ts.map +1 -0
  203. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js +39 -0
  204. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js.map +1 -0
  205. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.d.ts.map +1 -1
  206. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +11 -7
  207. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js.map +1 -1
  208. package/dist/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.js.map +1 -1
  209. package/dist/stories/shared-utils/decorators/WithTimeRange.js.map +1 -1
  210. package/dist/stories/shared-utils/decorators/index.d.ts +1 -0
  211. package/dist/stories/shared-utils/decorators/index.d.ts.map +1 -1
  212. package/dist/stories/shared-utils/decorators/index.js +1 -0
  213. package/dist/stories/shared-utils/decorators/index.js.map +1 -1
  214. package/dist/stories/shared-utils/index.js.map +1 -1
  215. package/dist/test/index.js.map +1 -1
  216. package/dist/test/mock-data.js.map +1 -1
  217. package/dist/test/render.js +2 -2
  218. package/dist/test/render.js.map +1 -1
  219. package/dist/test/setup-tests.js.map +1 -1
  220. package/dist/test/test-plugins/bert/index.js.map +1 -1
  221. package/dist/test/test-plugins/ernie/index.js.map +1 -1
  222. package/dist/test/test-plugins/index.js.map +1 -1
  223. package/dist/test-utils/index.js.map +1 -1
  224. package/dist/test-utils/mock-plugin-registry.js +2 -2
  225. package/dist/test-utils/mock-plugin-registry.js.map +1 -1
  226. package/dist/utils/action.d.ts +4 -0
  227. package/dist/utils/action.d.ts.map +1 -0
  228. package/dist/utils/action.js +27 -0
  229. package/dist/utils/action.js.map +1 -0
  230. package/dist/utils/index.d.ts +1 -0
  231. package/dist/utils/index.d.ts.map +1 -1
  232. package/dist/utils/index.js +1 -0
  233. package/dist/utils/index.js.map +1 -1
  234. package/dist/utils/variables.d.ts.map +1 -1
  235. package/dist/utils/variables.js +17 -5
  236. package/dist/utils/variables.js.map +1 -1
  237. package/dist/validation/datasource.d.ts +19 -0
  238. package/dist/validation/datasource.d.ts.map +1 -0
  239. package/dist/validation/datasource.js +22 -0
  240. package/dist/validation/datasource.js.map +1 -0
  241. package/dist/validation/index.d.ts +4 -0
  242. package/dist/validation/index.d.ts.map +1 -0
  243. package/dist/validation/index.js +17 -0
  244. package/dist/validation/index.js.map +1 -0
  245. package/dist/validation/resource.d.ts +3 -0
  246. package/dist/validation/resource.d.ts.map +1 -0
  247. package/dist/validation/resource.js +16 -0
  248. package/dist/validation/resource.js.map +1 -0
  249. package/dist/validation/variable.d.ts +19 -0
  250. package/dist/validation/variable.d.ts.map +1 -0
  251. package/dist/validation/variable.js +21 -0
  252. package/dist/validation/variable.js.map +1 -0
  253. package/package.json +8 -6
@@ -21,14 +21,22 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- DataQueriesContext: ()=>DataQueriesContext,
25
- useDataQueriesContext: ()=>useDataQueriesContext,
26
- useDataQueries: ()=>useDataQueries,
27
- DataQueriesProvider: ()=>DataQueriesProvider
24
+ DataQueriesContext: function() {
25
+ return DataQueriesContext;
26
+ },
27
+ useDataQueriesContext: function() {
28
+ return useDataQueriesContext;
29
+ },
30
+ useDataQueries: function() {
31
+ return useDataQueries;
32
+ },
33
+ DataQueriesProvider: function() {
34
+ return DataQueriesProvider;
35
+ }
28
36
  });
29
- const _jsxRuntime = require("react/jsx-runtime");
37
+ const _jsxruntime = require("react/jsx-runtime");
30
38
  const _react = require("react");
31
- const _timeSeriesQueries = require("../time-series-queries");
39
+ const _timeseriesqueries = require("../time-series-queries");
32
40
  const _model = require("./model");
33
41
  const DataQueriesContext = /*#__PURE__*/ (0, _react.createContext)(undefined);
34
42
  function useDataQueriesContext() {
@@ -44,8 +52,8 @@ function useDataQueries(queryType) {
44
52
  const filteredQueryResults = ctx.queryResults.filter((queryResult)=>queryResult.definition.kind === queryType);
45
53
  // Filter the errors based on the specified query type
46
54
  const filteredErrors = ctx.errors.filter((errors, index)=>{
47
- var ref;
48
- return ((ref = ctx.queryResults[index]) === null || ref === void 0 ? void 0 : ref.definition.kind) === queryType;
55
+ var _ctx_queryResults_index;
56
+ return ((_ctx_queryResults_index = ctx.queryResults[index]) === null || _ctx_queryResults_index === void 0 ? void 0 : _ctx_queryResults_index.definition.kind) === queryType;
49
57
  });
50
58
  // Create a new context object with the filtered results and errors
51
59
  const filteredCtx = {
@@ -58,7 +66,7 @@ function useDataQueries(queryType) {
58
66
  return filteredCtx;
59
67
  }
60
68
  function DataQueriesProvider(props) {
61
- const { definitions , options , children } = props;
69
+ const { definitions , options , children , queryOptions } = props;
62
70
  const getQueryType = (0, _model.useQueryType)();
63
71
  const queryDefinitions = definitions.map((definition)=>{
64
72
  const type = getQueryType(definition.kind);
@@ -71,7 +79,7 @@ function DataQueriesProvider(props) {
71
79
  });
72
80
  // Filter definitions for time series query and other future query plugins
73
81
  const timeSeriesQueries = queryDefinitions.filter((definition)=>definition.kind === 'TimeSeriesQuery');
74
- const timeSeriesResults = (0, _timeSeriesQueries.useTimeSeriesQueries)(timeSeriesQueries, options);
82
+ const timeSeriesResults = (0, _timeseriesqueries.useTimeSeriesQueries)(timeSeriesQueries, options, queryOptions);
75
83
  const refetchAll = (0, _react.useCallback)(()=>{
76
84
  timeSeriesResults.forEach((result)=>result.refetch());
77
85
  }, [
@@ -93,7 +101,7 @@ function DataQueriesProvider(props) {
93
101
  timeSeriesResults,
94
102
  refetchAll
95
103
  ]);
96
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(DataQueriesContext.Provider, {
104
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(DataQueriesContext.Provider, {
97
105
  value: ctx,
98
106
  children: children
99
107
  });
@@ -14,16 +14,18 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./DataQueriesProvider"), exports);
18
- _exportStar(require("./model"), exports);
19
- function _exportStar(from, to) {
17
+ _export_star(require("./DataQueriesProvider"), exports);
18
+ _export_star(require("./model"), exports);
19
+ function _export_star(from, to) {
20
20
  Object.keys(from).forEach(function(k) {
21
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
22
- enumerable: true,
23
- get: function() {
24
- return from[k];
25
- }
26
- });
21
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
22
+ Object.defineProperty(to, k, {
23
+ enumerable: true,
24
+ get: function() {
25
+ return from[k];
26
+ }
27
+ });
28
+ }
27
29
  });
28
30
  return from;
29
31
  }
@@ -21,11 +21,15 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- transformQueryResults: ()=>transformQueryResults,
25
- useQueryType: ()=>useQueryType
24
+ transformQueryResults: function() {
25
+ return transformQueryResults;
26
+ },
27
+ useQueryType: function() {
28
+ return useQueryType;
29
+ }
26
30
  });
27
31
  const _react = require("react");
28
- const _pluginRegistry = require("../plugin-registry");
32
+ const _pluginregistry = require("../plugin-registry");
29
33
  function transformQueryResults(results, definitions) {
30
34
  return results.map(({ data , isFetching , isLoading , refetch , error }, i)=>{
31
35
  return {
@@ -39,15 +43,15 @@ function transformQueryResults(results, definitions) {
39
43
  });
40
44
  }
41
45
  function useQueryType() {
42
- const { data: timeSeriesQueryPlugins , isLoading } = (0, _pluginRegistry.useListPluginMetadata)('TimeSeriesQuery');
46
+ const { data: timeSeriesQueryPlugins , isLoading } = (0, _pluginregistry.useListPluginMetadata)('TimeSeriesQuery');
43
47
  const queryTypeMap = (0, _react.useMemo)(()=>{
44
48
  const map = {
45
49
  TimeSeriesQuery: []
46
50
  };
47
51
  if (timeSeriesQueryPlugins) {
48
52
  timeSeriesQueryPlugins.forEach((plugin)=>{
49
- var ref;
50
- (ref = map['TimeSeriesQuery']) === null || ref === void 0 ? void 0 : ref.push(plugin.kind);
53
+ var _map_TimeSeriesQuery;
54
+ (_map_TimeSeriesQuery = map['TimeSeriesQuery']) === null || _map_TimeSeriesQuery === void 0 ? void 0 : _map_TimeSeriesQuery.push(plugin.kind);
51
55
  });
52
56
  }
53
57
  return map;
@@ -59,8 +63,8 @@ function useQueryType() {
59
63
  return undefined;
60
64
  }
61
65
  for(const queryType in queryTypeMap){
62
- var ref;
63
- if ((ref = queryTypeMap[queryType]) === null || ref === void 0 ? void 0 : ref.includes(pluginKind)) {
66
+ var _queryTypeMap_queryType;
67
+ if ((_queryTypeMap_queryType = queryTypeMap[queryType]) === null || _queryTypeMap_queryType === void 0 ? void 0 : _queryTypeMap_queryType.includes(pluginKind)) {
64
68
  return queryType;
65
69
  }
66
70
  }
@@ -21,15 +21,23 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- TimeRangeContext: ()=>TimeRangeContext,
25
- useTimeRangeContext: ()=>useTimeRangeContext,
26
- useTimeRange: ()=>useTimeRange,
27
- TimeRangeProvider: ()=>TimeRangeProvider
24
+ TimeRangeContext: function() {
25
+ return TimeRangeContext;
26
+ },
27
+ useTimeRangeContext: function() {
28
+ return useTimeRangeContext;
29
+ },
30
+ useTimeRange: function() {
31
+ return useTimeRange;
32
+ },
33
+ TimeRangeProvider: function() {
34
+ return TimeRangeProvider;
35
+ }
28
36
  });
29
- const _jsxRuntime = require("react/jsx-runtime");
30
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
37
+ const _jsxruntime = require("react/jsx-runtime");
38
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
31
39
  const _core = require("@perses-dev/core");
32
- const _queryParams = require("./query-params");
40
+ const _queryparams = require("./query-params");
33
41
  function _getRequireWildcardCache(nodeInterop) {
34
42
  if (typeof WeakMap !== "function") return null;
35
43
  var cacheBabelInterop = new WeakMap();
@@ -38,7 +46,7 @@ function _getRequireWildcardCache(nodeInterop) {
38
46
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
39
47
  })(nodeInterop);
40
48
  }
41
- function _interopRequireWildcard(obj, nodeInterop) {
49
+ function _interop_require_wildcard(obj, nodeInterop) {
42
50
  if (!nodeInterop && obj && obj.__esModule) {
43
51
  return obj;
44
52
  }
@@ -82,8 +90,8 @@ function useTimeRange() {
82
90
  }
83
91
  function TimeRangeProvider(props) {
84
92
  const { initialTimeRange , initialRefreshInterval , enabledURLParams , children } = props;
85
- const { timeRange , setTimeRange } = (0, _queryParams.useSetTimeRangeParams)(initialTimeRange, enabledURLParams);
86
- const { refreshInterval , setRefreshInterval , refreshIntervalInMs } = (0, _queryParams.useSetRefreshIntervalParams)(initialRefreshInterval, enabledURLParams);
93
+ const { timeRange , setTimeRange } = (0, _queryparams.useSetTimeRangeParams)(initialTimeRange, enabledURLParams);
94
+ const { refreshInterval , setRefreshInterval , refreshIntervalInMs } = (0, _queryparams.useSetRefreshIntervalParams)(initialRefreshInterval, enabledURLParams);
87
95
  const [refreshKey, setRefreshKey] = (0, _react.useState)(0);
88
96
  const refresh = (0, _react.useCallback)(()=>{
89
97
  setRefreshKey(refreshKey + 1);
@@ -111,7 +119,7 @@ function TimeRangeProvider(props) {
111
119
  refreshIntervalInMs,
112
120
  setRefreshInterval
113
121
  ]);
114
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(TimeRangeContext.Provider, {
122
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(TimeRangeContext.Provider, {
115
123
  value: ctx,
116
124
  children: children
117
125
  });
@@ -14,16 +14,18 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./TimeRangeProvider"), exports);
18
- _exportStar(require("./query-params"), exports);
19
- function _exportStar(from, to) {
17
+ _export_star(require("./TimeRangeProvider"), exports);
18
+ _export_star(require("./query-params"), exports);
19
+ function _export_star(from, to) {
20
20
  Object.keys(from).forEach(function(k) {
21
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
22
- enumerable: true,
23
- get: function() {
24
- return from[k];
25
- }
26
- });
21
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
22
+ Object.defineProperty(to, k, {
23
+ enumerable: true,
24
+ get: function() {
25
+ return from[k];
26
+ }
27
+ });
28
+ }
27
29
  });
28
30
  return from;
29
31
  }
@@ -21,19 +21,37 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- encodeTimeRangeValue: ()=>encodeTimeRangeValue,
25
- decodeTimeRangeValue: ()=>decodeTimeRangeValue,
26
- TimeRangeParam: ()=>TimeRangeParam,
27
- timeRangeQueryConfig: ()=>timeRangeQueryConfig,
28
- refreshIntervalQueryConfig: ()=>refreshIntervalQueryConfig,
29
- useInitialTimeRange: ()=>useInitialTimeRange,
30
- useSetTimeRangeParams: ()=>useSetTimeRangeParams,
31
- useInitialRefreshInterval: ()=>useInitialRefreshInterval,
32
- useSetRefreshIntervalParams: ()=>useSetRefreshIntervalParams
24
+ encodeTimeRangeValue: function() {
25
+ return encodeTimeRangeValue;
26
+ },
27
+ decodeTimeRangeValue: function() {
28
+ return decodeTimeRangeValue;
29
+ },
30
+ TimeRangeParam: function() {
31
+ return TimeRangeParam;
32
+ },
33
+ timeRangeQueryConfig: function() {
34
+ return timeRangeQueryConfig;
35
+ },
36
+ refreshIntervalQueryConfig: function() {
37
+ return refreshIntervalQueryConfig;
38
+ },
39
+ useInitialTimeRange: function() {
40
+ return useInitialTimeRange;
41
+ },
42
+ useSetTimeRangeParams: function() {
43
+ return useSetTimeRangeParams;
44
+ },
45
+ useInitialRefreshInterval: function() {
46
+ return useInitialRefreshInterval;
47
+ },
48
+ useSetRefreshIntervalParams: function() {
49
+ return useSetRefreshIntervalParams;
50
+ }
33
51
  });
34
52
  const _react = require("react");
35
- const _useQueryParams = require("use-query-params");
36
- const _dateFns = require("date-fns");
53
+ const _usequeryparams = require("use-query-params");
54
+ const _datefns = require("date-fns");
37
55
  const _core = require("@perses-dev/core");
38
56
  /* Interprets an encoded string and returns either the string or null/undefined if not available */ function getEncodedValue(input, allowEmptyString) {
39
57
  if (input == null) {
@@ -61,7 +79,7 @@ function encodeTimeRangeValue(timeOptionValue) {
61
79
  return timeOptionValue;
62
80
  }
63
81
  }
64
- return ((0, _dateFns.getUnixTime)(timeOptionValue) * 1000).toString();
82
+ return ((0, _datefns.getUnixTime)(timeOptionValue) * 1000).toString();
65
83
  }
66
84
  function decodeTimeRangeValue(input) {
67
85
  const paramString = getEncodedValue(input);
@@ -85,7 +103,7 @@ const refreshIntervalQueryConfig = {
85
103
  refresh: TimeRangeParam
86
104
  };
87
105
  function useInitialTimeRange(dashboardDuration) {
88
- const [query] = (0, _useQueryParams.useQueryParams)(timeRangeQueryConfig, {
106
+ const [query] = (0, _usequeryparams.useQueryParams)(timeRangeQueryConfig, {
89
107
  updateType: 'replaceIn'
90
108
  });
91
109
  const { start , end } = query;
@@ -101,7 +119,7 @@ function useInitialTimeRange(dashboardDuration) {
101
119
  initialTimeRange = {
102
120
  pastDuration: startStr
103
121
  };
104
- } else if ((0, _dateFns.isDate)(start) && (0, _dateFns.isDate)(end)) {
122
+ } else if ((0, _datefns.isDate)(start) && (0, _datefns.isDate)(end)) {
105
123
  initialTimeRange = {
106
124
  start: start,
107
125
  end: end
@@ -115,7 +133,7 @@ function useInitialTimeRange(dashboardDuration) {
115
133
  ]);
116
134
  }
117
135
  function useSetTimeRangeParams(initialTimeRange, enabledURLParams = true) {
118
- const [query, setQuery] = (0, _useQueryParams.useQueryParams)(timeRangeQueryConfig, {
136
+ const [query, setQuery] = (0, _usequeryparams.useQueryParams)(timeRangeQueryConfig, {
119
137
  updateType: 'replaceIn'
120
138
  });
121
139
  // determine whether initial param had previously been populated to fix back btn
@@ -166,7 +184,7 @@ function useSetTimeRangeParams(initialTimeRange, enabledURLParams = true) {
166
184
  };
167
185
  }
168
186
  function useInitialRefreshInterval(dashboardDuration) {
169
- const [query] = (0, _useQueryParams.useQueryParams)(refreshIntervalQueryConfig, {
187
+ const [query] = (0, _usequeryparams.useQueryParams)(refreshIntervalQueryConfig, {
170
188
  updateType: 'replaceIn'
171
189
  });
172
190
  const { refresh } = query;
@@ -196,7 +214,7 @@ function getRefreshIntervalInMs(refreshInterval) {
196
214
  return refreshIntervalInMs;
197
215
  }
198
216
  function useSetRefreshIntervalParams(initialRefreshInterval, enabledURLParams = true) {
199
- const [query, setQuery] = (0, _useQueryParams.useQueryParams)(refreshIntervalQueryConfig, {
217
+ const [query, setQuery] = (0, _usequeryparams.useQueryParams)(refreshIntervalQueryConfig, {
200
218
  updateType: 'replaceIn'
201
219
  });
202
220
  // determine whether initial param had previously been populated to fix back btn
@@ -206,7 +224,7 @@ function useSetRefreshIntervalParams(initialRefreshInterval, enabledURLParams =
206
224
  const [refreshIntervalState, setRefreshIntervalState] = (0, _react.useState)(initialRefreshInterval);
207
225
  const { refresh } = query;
208
226
  (0, _react.useEffect)(()=>{
209
- // when dashboard loaded with no params, default to dashboard duration
227
+ // when dashboard loaded with no params, default to dashboard refresh interval
210
228
  if (enabledURLParams && !paramsLoaded && !refresh) {
211
229
  setQuery({
212
230
  refresh: initialRefreshInterval
@@ -0,0 +1,81 @@
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
+ BuiltinVariableContext: function() {
25
+ return BuiltinVariableContext;
26
+ },
27
+ useBuiltinVariableContext: function() {
28
+ return useBuiltinVariableContext;
29
+ },
30
+ useBuiltinVariableValues: function() {
31
+ return useBuiltinVariableValues;
32
+ },
33
+ useBuiltinVariableDefinitions: function() {
34
+ return useBuiltinVariableDefinitions;
35
+ }
36
+ });
37
+ const _react = require("react");
38
+ const BuiltinVariableContext = (0, _react.createContext)(undefined);
39
+ function useBuiltinVariableContext() {
40
+ const ctx = (0, _react.useContext)(BuiltinVariableContext);
41
+ if (ctx === undefined) {
42
+ throw new Error('No BuiltinVariableContext found. Did you forget a Provider?');
43
+ }
44
+ return ctx;
45
+ }
46
+ function useBuiltinVariableValues(names) {
47
+ const { variables } = useBuiltinVariableContext();
48
+ const states = (0, _react.useMemo)(()=>{
49
+ const values = {};
50
+ for (const variable of variables){
51
+ values[variable.spec.name] = {
52
+ loading: false,
53
+ value: variable.spec.value()
54
+ };
55
+ }
56
+ return values;
57
+ }, [
58
+ variables
59
+ ]);
60
+ const values = (0, _react.useMemo)(()=>{
61
+ const values = {};
62
+ names === null || names === void 0 ? void 0 : names.forEach((name)=>{
63
+ const s = states[name];
64
+ if (s) {
65
+ values[name] = s;
66
+ }
67
+ });
68
+ return values;
69
+ }, [
70
+ names,
71
+ states
72
+ ]);
73
+ if (names === undefined) {
74
+ return states;
75
+ }
76
+ return values;
77
+ }
78
+ function useBuiltinVariableDefinitions() {
79
+ const { variables } = useBuiltinVariableContext();
80
+ return variables;
81
+ }
@@ -21,12 +21,23 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- DatasourceStoreContext: ()=>DatasourceStoreContext,
25
- useDatasourceStore: ()=>useDatasourceStore,
26
- useListDatasources: ()=>useListDatasources,
27
- useDatasourceClient: ()=>useDatasourceClient
24
+ DatasourceStoreContext: function() {
25
+ return DatasourceStoreContext;
26
+ },
27
+ useDatasourceStore: function() {
28
+ return useDatasourceStore;
29
+ },
30
+ useListDatasourceSelectItems: function() {
31
+ return useListDatasourceSelectItems;
32
+ },
33
+ useDatasourceClient: function() {
34
+ return useDatasourceClient;
35
+ },
36
+ useDatasource: function() {
37
+ return useDatasource;
38
+ }
28
39
  });
29
- const _reactQuery = require("@tanstack/react-query");
40
+ const _reactquery = require("@tanstack/react-query");
30
41
  const _react = require("react");
31
42
  const DatasourceStoreContext = (0, _react.createContext)(undefined);
32
43
  function useDatasourceStore() {
@@ -36,17 +47,24 @@ function useDatasourceStore() {
36
47
  }
37
48
  return ctx;
38
49
  }
39
- function useListDatasources(datasourcePluginKind) {
40
- const { listDatasourceMetadata } = useDatasourceStore();
41
- return (0, _reactQuery.useQuery)([
42
- 'listDatasourceMetadata',
50
+ function useListDatasourceSelectItems(datasourcePluginKind) {
51
+ const { listDatasourceSelectItems } = useDatasourceStore();
52
+ return (0, _reactquery.useQuery)([
53
+ 'listDatasourceSelectItems',
43
54
  datasourcePluginKind
44
- ], ()=>listDatasourceMetadata(datasourcePluginKind));
55
+ ], ()=>listDatasourceSelectItems(datasourcePluginKind));
45
56
  }
46
57
  function useDatasourceClient(selector) {
47
58
  const store = useDatasourceStore();
48
- return (0, _reactQuery.useQuery)([
59
+ return (0, _reactquery.useQuery)([
49
60
  'getDatasourceClient',
50
61
  selector
51
62
  ], ()=>store.getDatasourceClient(selector));
52
63
  }
64
+ function useDatasource(selector) {
65
+ const store = useDatasourceStore();
66
+ return (0, _reactquery.useQuery)([
67
+ 'getDatasource',
68
+ selector
69
+ ], ()=>store.getDatasource(selector));
70
+ }
@@ -14,20 +14,23 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./datasources"), exports);
18
- _exportStar(require("./plugin-registry"), exports);
19
- _exportStar(require("./template-variables"), exports);
20
- _exportStar(require("./TimeRangeProvider"), exports);
21
- _exportStar(require("./time-series-queries"), exports);
22
- _exportStar(require("./DataQueriesProvider"), exports);
23
- function _exportStar(from, to) {
17
+ _export_star(require("./builtin-variables"), exports);
18
+ _export_star(require("./datasources"), exports);
19
+ _export_star(require("./plugin-registry"), exports);
20
+ _export_star(require("./template-variables"), exports);
21
+ _export_star(require("./TimeRangeProvider"), exports);
22
+ _export_star(require("./time-series-queries"), exports);
23
+ _export_star(require("./DataQueriesProvider"), exports);
24
+ function _export_star(from, to) {
24
25
  Object.keys(from).forEach(function(k) {
25
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
26
- enumerable: true,
27
- get: function() {
28
- return from[k];
29
- }
30
- });
26
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
27
+ Object.defineProperty(to, k, {
28
+ enumerable: true,
29
+ get: function() {
30
+ return from[k];
31
+ }
32
+ });
33
+ }
31
34
  });
32
35
  return from;
33
36
  }
@@ -21,14 +21,27 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- PluginRegistryContext: ()=>PluginRegistryContext,
25
- usePluginRegistry: ()=>usePluginRegistry,
26
- usePlugin: ()=>usePlugin,
27
- usePlugins: ()=>usePlugins,
28
- useListPluginMetadata: ()=>useListPluginMetadata
24
+ PluginRegistryContext: function() {
25
+ return PluginRegistryContext;
26
+ },
27
+ usePluginRegistry: function() {
28
+ return usePluginRegistry;
29
+ },
30
+ usePlugin: function() {
31
+ return usePlugin;
32
+ },
33
+ usePlugins: function() {
34
+ return usePlugins;
35
+ },
36
+ useListPluginMetadata: function() {
37
+ return useListPluginMetadata;
38
+ },
39
+ usePluginBuiltinVariableDefinitions: function() {
40
+ return usePluginBuiltinVariableDefinitions;
41
+ }
29
42
  });
30
43
  const _react = require("react");
31
- const _reactQuery = require("@tanstack/react-query");
44
+ const _reactquery = require("@tanstack/react-query");
32
45
  const PluginRegistryContext = (0, _react.createContext)(undefined);
33
46
  function usePluginRegistry() {
34
47
  const ctx = (0, _react.useContext)(PluginRegistryContext);
@@ -38,14 +51,14 @@ function usePluginRegistry() {
38
51
  return ctx;
39
52
  }
40
53
  function usePlugin(pluginType, kind, options) {
41
- var ref;
54
+ var _options_enabled;
42
55
  // We never want to ask for a plugin when the kind isn't set yet, so disable those queries automatically
43
56
  options = {
44
57
  ...options,
45
- enabled: ((ref = options === null || options === void 0 ? void 0 : options.enabled) !== null && ref !== void 0 ? ref : true) && kind !== ''
58
+ enabled: ((_options_enabled = options === null || options === void 0 ? void 0 : options.enabled) !== null && _options_enabled !== void 0 ? _options_enabled : true) && kind !== ''
46
59
  };
47
60
  const { getPlugin } = usePluginRegistry();
48
- return (0, _reactQuery.useQuery)([
61
+ return (0, _reactquery.useQuery)([
49
62
  'getPlugin',
50
63
  pluginType,
51
64
  kind
@@ -53,7 +66,7 @@ function usePlugin(pluginType, kind, options) {
53
66
  }
54
67
  function usePlugins(pluginType, plugins) {
55
68
  const { getPlugin } = usePluginRegistry();
56
- return (0, _reactQuery.useQueries)({
69
+ return (0, _reactquery.useQueries)({
57
70
  queries: plugins.map((p)=>{
58
71
  return {
59
72
  queryKey: [
@@ -68,8 +81,25 @@ function usePlugins(pluginType, plugins) {
68
81
  }
69
82
  function useListPluginMetadata(pluginType, options) {
70
83
  const { listPluginMetadata } = usePluginRegistry();
71
- return (0, _reactQuery.useQuery)([
84
+ return (0, _reactquery.useQuery)([
72
85
  'listPluginMetadata',
73
86
  pluginType
74
87
  ], ()=>listPluginMetadata(pluginType), options);
75
88
  }
89
+ function usePluginBuiltinVariableDefinitions() {
90
+ const { getPlugin , listPluginMetadata } = usePluginRegistry();
91
+ return (0, _reactquery.useQuery)([
92
+ 'usePluginBuiltinVariableDefinitions'
93
+ ], async ()=>{
94
+ const datasources = await listPluginMetadata('Datasource');
95
+ const datasourceKinds = new Set(datasources.map((datasource)=>datasource.kind));
96
+ const result = [];
97
+ for (const kind of datasourceKinds){
98
+ const plugin = await getPlugin('Datasource', kind);
99
+ if (plugin.getBuiltinVariableDefinitions) {
100
+ plugin.getBuiltinVariableDefinitions().forEach((definition)=>result.push(definition));
101
+ }
102
+ }
103
+ return result;
104
+ });
105
+ }