@perses-dev/plugin-system 0.0.0-snapshot-scatter-chart-embed-8efdfab → 0.0.0-snapshot-explorer-plugin-c4a7621

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 (431) hide show
  1. package/dist/cjs/components/CalculationSelector/CalculationSelector.js +1 -1
  2. package/dist/cjs/components/DatasourceEditorForm/DatasourceEditorForm.js +83 -163
  3. package/dist/cjs/components/DatasourceSelect.js +12 -15
  4. package/dist/cjs/components/HTTPSettingsEditor/HTTPSettingsEditor.js +528 -0
  5. package/dist/cjs/components/{TimeSeriesQueryEditor → HTTPSettingsEditor}/index.js +2 -2
  6. package/dist/cjs/components/LegendOptionsEditor/LegendOptionsEditor.js +8 -7
  7. package/dist/cjs/components/MetricLabelInput/MetricLabelInput.js +41 -0
  8. package/dist/cjs/{validation/resource.js → components/MetricLabelInput/index.js} +15 -9
  9. package/dist/cjs/components/{TraceQueryEditor/TraceQueryEditor.js → MultiQueryEditor/MultiQueryEditor.js} +39 -40
  10. package/dist/cjs/components/{TimeSeriesQueryEditor/TimeSeriesQueryInput.js → MultiQueryEditor/QueryEditorContainer.js} +23 -11
  11. package/dist/cjs/components/MultiQueryEditor/index.js +30 -0
  12. package/dist/cjs/components/OptionsEditorRadios/OptionsEditorRadios.js +3 -3
  13. package/dist/cjs/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js +1 -1
  14. package/dist/cjs/components/OptionsEditorTabs/OptionsEditorTabs.js +3 -3
  15. package/dist/cjs/components/PanelSpecEditor/PanelSpecEditor.js +54 -62
  16. package/dist/cjs/components/PluginEditor/PluginEditor.js +16 -13
  17. package/dist/cjs/components/PluginEditor/plugin-editor-api.js +44 -33
  18. package/dist/cjs/components/PluginKindSelect/PluginKindSelect.js +55 -7
  19. package/dist/cjs/components/PluginRegistry/PluginRegistry.js +9 -10
  20. package/dist/cjs/components/PluginRegistry/plugin-indexes.js +20 -17
  21. package/dist/cjs/components/PluginSpecEditor/PluginSpecEditor.js +3 -3
  22. package/dist/cjs/components/ProjectSelect.js +7 -7
  23. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +131 -0
  24. package/dist/cjs/components/{TraceQueryEditor → TimeRangeControls}/index.js +1 -1
  25. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +394 -439
  26. package/dist/cjs/components/Variables/VariableEditorForm/VariablePreview.js +17 -15
  27. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +7 -12
  28. package/dist/cjs/components/Variables/variable-model.js +35 -37
  29. package/dist/cjs/components/index.js +4 -1
  30. package/dist/cjs/constants/user-interface-text.js +4 -1
  31. package/dist/cjs/context/ProjectStoreProvider.js +12 -9
  32. package/dist/cjs/context/ValidationProvider.js +69 -0
  33. package/dist/cjs/context/index.js +1 -0
  34. package/dist/cjs/index.js +1 -1
  35. package/dist/{components/TimeSeriesQueryEditor/index.js → cjs/model/explore.js} +4 -3
  36. package/dist/cjs/model/legend.js +5 -5
  37. package/dist/cjs/remote/PersesPlugin.types.js +16 -0
  38. package/dist/cjs/remote/PluginLoaderComponent.js +75 -0
  39. package/dist/cjs/remote/PluginRuntime.js +267 -0
  40. package/dist/cjs/{validation → remote}/index.js +2 -4
  41. package/dist/cjs/remote/remotePluginLoader.js +61 -0
  42. package/dist/cjs/runtime/DataQueriesProvider/DataQueriesProvider.js +23 -14
  43. package/dist/cjs/runtime/DataQueriesProvider/model.js +10 -9
  44. package/dist/cjs/runtime/QueryCountProvider.js +83 -0
  45. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProvider.js +37 -13
  46. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js +3 -3
  47. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeSettingsProvider.js +100 -0
  48. package/dist/cjs/runtime/TimeRangeProvider/index.js +2 -1
  49. package/dist/cjs/runtime/TimeRangeProvider/query-params.js +20 -23
  50. package/dist/cjs/runtime/UsageMetricsProvider.js +99 -0
  51. package/dist/cjs/runtime/builtin-variables.js +7 -7
  52. package/dist/cjs/runtime/datasources.js +30 -21
  53. package/dist/cjs/runtime/index.js +4 -2
  54. package/dist/cjs/runtime/plugin-registry.js +48 -36
  55. package/dist/cjs/runtime/time-series-queries.js +35 -40
  56. package/dist/cjs/runtime/trace-queries.js +9 -6
  57. package/dist/cjs/runtime/{template-variables.js → variables.js} +38 -48
  58. package/dist/cjs/stories/shared-utils/decorators/WithDataQueries.js +1 -1
  59. package/dist/cjs/stories/shared-utils/decorators/WithPluginRegistry.js +1 -65
  60. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js +1 -1
  61. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +5 -5
  62. package/dist/cjs/stories/shared-utils/decorators/{WithPluginSystemTemplateVariables.js → WithPluginSystemVariables.js} +9 -9
  63. package/dist/cjs/stories/shared-utils/decorators/WithTimeRange.js +1 -1
  64. package/dist/cjs/stories/shared-utils/decorators/index.js +2 -2
  65. package/dist/cjs/test/mock-data.js +25 -4
  66. package/dist/cjs/test/render.js +2 -11
  67. package/dist/cjs/test/test-plugins/bert/index.js +21 -20
  68. package/dist/cjs/test/test-plugins/ernie/index.js +2 -2
  69. package/dist/cjs/test/test-plugins/index.js +3 -1
  70. package/dist/cjs/test-utils/mock-plugin-registry.js +13 -13
  71. package/dist/cjs/utils/action.js +3 -3
  72. package/dist/cjs/utils/variables.js +24 -24
  73. package/dist/components/CalculationSelector/CalculationSelector.d.ts +2 -2
  74. package/dist/components/CalculationSelector/CalculationSelector.d.ts.map +1 -1
  75. package/dist/components/CalculationSelector/CalculationSelector.js +1 -1
  76. package/dist/components/CalculationSelector/CalculationSelector.js.map +1 -1
  77. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts +7 -7
  78. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts.map +1 -1
  79. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js +86 -166
  80. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js.map +1 -1
  81. package/dist/components/DatasourceSelect.d.ts +4 -4
  82. package/dist/components/DatasourceSelect.d.ts.map +1 -1
  83. package/dist/components/DatasourceSelect.js +9 -12
  84. package/dist/components/DatasourceSelect.js.map +1 -1
  85. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.d.ts +11 -0
  86. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.d.ts.map +1 -0
  87. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.js +474 -0
  88. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.js.map +1 -0
  89. package/dist/components/HTTPSettingsEditor/index.d.ts +2 -0
  90. package/dist/components/HTTPSettingsEditor/index.d.ts.map +1 -0
  91. package/dist/components/HTTPSettingsEditor/index.js +15 -0
  92. package/dist/components/HTTPSettingsEditor/index.js.map +1 -0
  93. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.d.ts +3 -2
  94. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.d.ts.map +1 -1
  95. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js +10 -9
  96. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js.map +1 -1
  97. package/dist/components/MetricLabelInput/MetricLabelInput.d.ts +7 -0
  98. package/dist/components/MetricLabelInput/MetricLabelInput.d.ts.map +1 -0
  99. package/dist/components/MetricLabelInput/MetricLabelInput.js +33 -0
  100. package/dist/components/MetricLabelInput/MetricLabelInput.js.map +1 -0
  101. package/dist/components/MetricLabelInput/index.d.ts +2 -0
  102. package/dist/components/MetricLabelInput/index.d.ts.map +1 -0
  103. package/dist/components/MetricLabelInput/index.js +15 -0
  104. package/dist/components/MetricLabelInput/index.js.map +1 -0
  105. package/dist/components/MultiQueryEditor/MultiQueryEditor.d.ts +17 -0
  106. package/dist/components/MultiQueryEditor/MultiQueryEditor.d.ts.map +1 -0
  107. package/dist/components/{TimeSeriesQueryEditor/TimeSeriesQueryEditor.js → MultiQueryEditor/MultiQueryEditor.js} +42 -39
  108. package/dist/components/MultiQueryEditor/MultiQueryEditor.js.map +1 -0
  109. package/dist/components/MultiQueryEditor/QueryEditorContainer.d.ts +29 -0
  110. package/dist/components/MultiQueryEditor/QueryEditorContainer.d.ts.map +1 -0
  111. package/dist/components/{TimeSeriesQueryEditor/TimeSeriesQueryInput.js → MultiQueryEditor/QueryEditorContainer.js} +33 -10
  112. package/dist/components/MultiQueryEditor/QueryEditorContainer.js.map +1 -0
  113. package/dist/components/MultiQueryEditor/index.d.ts +2 -0
  114. package/dist/components/MultiQueryEditor/index.d.ts.map +1 -0
  115. package/dist/components/MultiQueryEditor/index.js +15 -0
  116. package/dist/components/{TraceQueryEditor → MultiQueryEditor}/index.js.map +1 -1
  117. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts +4 -4
  118. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts.map +1 -1
  119. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js +3 -3
  120. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js.map +1 -1
  121. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.d.ts +2 -2
  122. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.d.ts.map +1 -1
  123. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js +1 -1
  124. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js.map +1 -1
  125. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.d.ts +5 -5
  126. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.d.ts.map +1 -1
  127. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js +3 -3
  128. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js.map +1 -1
  129. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts +5 -3
  130. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts.map +1 -1
  131. package/dist/components/PanelSpecEditor/PanelSpecEditor.js +56 -64
  132. package/dist/components/PanelSpecEditor/PanelSpecEditor.js.map +1 -1
  133. package/dist/components/PluginEditor/PluginEditor.d.ts +2 -2
  134. package/dist/components/PluginEditor/PluginEditor.d.ts.map +1 -1
  135. package/dist/components/PluginEditor/PluginEditor.js +16 -13
  136. package/dist/components/PluginEditor/PluginEditor.js.map +1 -1
  137. package/dist/components/PluginEditor/plugin-editor-api.d.ts +16 -10
  138. package/dist/components/PluginEditor/plugin-editor-api.d.ts.map +1 -1
  139. package/dist/components/PluginEditor/plugin-editor-api.js +44 -33
  140. package/dist/components/PluginEditor/plugin-editor-api.js.map +1 -1
  141. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts +11 -5
  142. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts.map +1 -1
  143. package/dist/components/PluginKindSelect/PluginKindSelect.js +61 -10
  144. package/dist/components/PluginKindSelect/PluginKindSelect.js.map +1 -1
  145. package/dist/components/PluginRegistry/PluginRegistry.d.ts +4 -4
  146. package/dist/components/PluginRegistry/PluginRegistry.d.ts.map +1 -1
  147. package/dist/components/PluginRegistry/PluginRegistry.js +9 -10
  148. package/dist/components/PluginRegistry/PluginRegistry.js.map +1 -1
  149. package/dist/components/PluginRegistry/plugin-indexes.d.ts +4 -4
  150. package/dist/components/PluginRegistry/plugin-indexes.d.ts.map +1 -1
  151. package/dist/components/PluginRegistry/plugin-indexes.js +17 -14
  152. package/dist/components/PluginRegistry/plugin-indexes.js.map +1 -1
  153. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts +5 -5
  154. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts.map +1 -1
  155. package/dist/components/PluginSpecEditor/PluginSpecEditor.js +3 -3
  156. package/dist/components/PluginSpecEditor/PluginSpecEditor.js.map +1 -1
  157. package/dist/components/ProjectSelect.d.ts +3 -3
  158. package/dist/components/ProjectSelect.d.ts.map +1 -1
  159. package/dist/components/ProjectSelect.js +7 -7
  160. package/dist/components/ProjectSelect.js.map +1 -1
  161. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts +14 -0
  162. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -0
  163. package/dist/components/TimeRangeControls/TimeRangeControls.js +110 -0
  164. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -0
  165. package/dist/components/TimeRangeControls/index.d.ts +2 -0
  166. package/dist/components/TimeRangeControls/index.d.ts.map +1 -0
  167. package/dist/components/{TraceQueryEditor → TimeRangeControls}/index.js +1 -1
  168. package/dist/components/TimeRangeControls/index.js.map +1 -0
  169. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +4 -3
  170. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -1
  171. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +395 -442
  172. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
  173. package/dist/components/Variables/VariableEditorForm/VariablePreview.d.ts +3 -3
  174. package/dist/components/Variables/VariableEditorForm/VariablePreview.d.ts.map +1 -1
  175. package/dist/components/Variables/VariableEditorForm/VariablePreview.js +11 -11
  176. package/dist/components/Variables/VariableEditorForm/VariablePreview.js.map +1 -1
  177. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +3 -3
  178. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -1
  179. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +7 -12
  180. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
  181. package/dist/components/Variables/variable-model.d.ts +2 -1
  182. package/dist/components/Variables/variable-model.d.ts.map +1 -1
  183. package/dist/components/Variables/variable-model.js +29 -31
  184. package/dist/components/Variables/variable-model.js.map +1 -1
  185. package/dist/components/index.d.ts +4 -1
  186. package/dist/components/index.d.ts.map +1 -1
  187. package/dist/components/index.js +4 -1
  188. package/dist/components/index.js.map +1 -1
  189. package/dist/constants/user-interface-text.d.ts +2 -0
  190. package/dist/constants/user-interface-text.d.ts.map +1 -1
  191. package/dist/constants/user-interface-text.js +4 -1
  192. package/dist/constants/user-interface-text.js.map +1 -1
  193. package/dist/context/ProjectStoreProvider.d.ts +4 -4
  194. package/dist/context/ProjectStoreProvider.d.ts.map +1 -1
  195. package/dist/context/ProjectStoreProvider.js +9 -6
  196. package/dist/context/ProjectStoreProvider.js.map +1 -1
  197. package/dist/context/ValidationProvider.d.ts +19 -0
  198. package/dist/context/ValidationProvider.d.ts.map +1 -0
  199. package/dist/context/ValidationProvider.js +52 -0
  200. package/dist/context/ValidationProvider.js.map +1 -0
  201. package/dist/context/index.d.ts +1 -0
  202. package/dist/context/index.d.ts.map +1 -1
  203. package/dist/context/index.js +1 -0
  204. package/dist/context/index.js.map +1 -1
  205. package/dist/context/query-params.d.ts.map +1 -1
  206. package/dist/context/query-params.js.map +1 -1
  207. package/dist/index.d.ts +1 -1
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +1 -1
  210. package/dist/index.js.map +1 -1
  211. package/dist/model/datasource.js +3 -1
  212. package/dist/model/datasource.js.map +1 -1
  213. package/dist/model/explore.d.ts +13 -0
  214. package/dist/model/explore.d.ts.map +1 -0
  215. package/dist/{validation/resource.js → model/explore.js} +4 -3
  216. package/dist/model/explore.js.map +1 -0
  217. package/dist/model/legend.d.ts +2 -2
  218. package/dist/model/legend.d.ts.map +1 -1
  219. package/dist/model/legend.js.map +1 -1
  220. package/dist/model/panels.d.ts +17 -5
  221. package/dist/model/panels.d.ts.map +1 -1
  222. package/dist/model/panels.js.map +1 -1
  223. package/dist/model/plugin-base.d.ts +0 -1
  224. package/dist/model/plugin-base.d.ts.map +1 -1
  225. package/dist/model/plugin-base.js.map +1 -1
  226. package/dist/model/plugin-loading.js.map +1 -1
  227. package/dist/model/plugins.d.ts +35 -21
  228. package/dist/model/plugins.d.ts.map +1 -1
  229. package/dist/model/plugins.js.map +1 -1
  230. package/dist/model/time-series-queries.d.ts +4 -3
  231. package/dist/model/time-series-queries.d.ts.map +1 -1
  232. package/dist/model/time-series-queries.js.map +1 -1
  233. package/dist/model/trace-queries.d.ts +1 -1
  234. package/dist/model/trace-queries.d.ts.map +1 -1
  235. package/dist/model/trace-queries.js.map +1 -1
  236. package/dist/model/variables.d.ts +2 -2
  237. package/dist/model/variables.d.ts.map +1 -1
  238. package/dist/model/variables.js +3 -1
  239. package/dist/model/variables.js.map +1 -1
  240. package/dist/remote/PersesPlugin.types.d.ts +7 -0
  241. package/dist/remote/PersesPlugin.types.d.ts.map +1 -0
  242. package/dist/remote/PersesPlugin.types.js +15 -0
  243. package/dist/remote/PersesPlugin.types.js.map +1 -0
  244. package/dist/remote/PluginLoaderComponent.d.ts +10 -0
  245. package/dist/remote/PluginLoaderComponent.d.ts.map +1 -0
  246. package/dist/remote/PluginLoaderComponent.js +67 -0
  247. package/dist/remote/PluginLoaderComponent.js.map +1 -0
  248. package/dist/remote/PluginRuntime.d.ts +11 -0
  249. package/dist/remote/PluginRuntime.d.ts.map +1 -0
  250. package/dist/remote/PluginRuntime.js +202 -0
  251. package/dist/remote/PluginRuntime.js.map +1 -0
  252. package/dist/remote/index.d.ts +3 -0
  253. package/dist/remote/index.d.ts.map +1 -0
  254. package/dist/{validation → remote}/index.js +2 -4
  255. package/dist/remote/index.js.map +1 -0
  256. package/dist/remote/remotePluginLoader.d.ts +3 -0
  257. package/dist/remote/remotePluginLoader.d.ts.map +1 -0
  258. package/dist/remote/remotePluginLoader.js +53 -0
  259. package/dist/remote/remotePluginLoader.js.map +1 -0
  260. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts +2 -2
  261. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts.map +1 -1
  262. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js +19 -10
  263. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js.map +1 -1
  264. package/dist/runtime/DataQueriesProvider/model.d.ts +6 -7
  265. package/dist/runtime/DataQueriesProvider/model.d.ts.map +1 -1
  266. package/dist/runtime/DataQueriesProvider/model.js +10 -9
  267. package/dist/runtime/DataQueriesProvider/model.js.map +1 -1
  268. package/dist/runtime/QueryCountProvider.d.ts +9 -0
  269. package/dist/runtime/QueryCountProvider.d.ts.map +1 -0
  270. package/dist/{validation/datasource.js → runtime/QueryCountProvider.js} +14 -10
  271. package/dist/runtime/QueryCountProvider.js.map +1 -0
  272. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts +6 -2
  273. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts.map +1 -1
  274. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js +30 -9
  275. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js.map +1 -1
  276. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.d.ts +2 -2
  277. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.d.ts.map +1 -1
  278. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js +3 -3
  279. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js.map +1 -1
  280. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.d.ts +32 -0
  281. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.d.ts.map +1 -0
  282. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.js +82 -0
  283. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.js.map +1 -0
  284. package/dist/runtime/TimeRangeProvider/index.d.ts +1 -0
  285. package/dist/runtime/TimeRangeProvider/index.d.ts.map +1 -1
  286. package/dist/runtime/TimeRangeProvider/index.js +2 -1
  287. package/dist/runtime/TimeRangeProvider/index.js.map +1 -1
  288. package/dist/runtime/TimeRangeProvider/query-params.d.ts +1 -1
  289. package/dist/runtime/TimeRangeProvider/query-params.d.ts.map +1 -1
  290. package/dist/runtime/TimeRangeProvider/query-params.js +8 -11
  291. package/dist/runtime/TimeRangeProvider/query-params.js.map +1 -1
  292. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts.map +1 -1
  293. package/dist/runtime/TimeRangeProvider/refresh-interval.js.map +1 -1
  294. package/dist/runtime/UsageMetricsProvider.d.ts +25 -0
  295. package/dist/runtime/UsageMetricsProvider.d.ts.map +1 -0
  296. package/dist/runtime/UsageMetricsProvider.js +77 -0
  297. package/dist/runtime/UsageMetricsProvider.js.map +1 -0
  298. package/dist/runtime/builtin-variables.d.ts +2 -2
  299. package/dist/runtime/builtin-variables.d.ts.map +1 -1
  300. package/dist/runtime/builtin-variables.js +4 -4
  301. package/dist/runtime/builtin-variables.js.map +1 -1
  302. package/dist/runtime/datasources.d.ts +5 -4
  303. package/dist/runtime/datasources.d.ts.map +1 -1
  304. package/dist/runtime/datasources.js +24 -15
  305. package/dist/runtime/datasources.js.map +1 -1
  306. package/dist/runtime/index.d.ts +3 -1
  307. package/dist/runtime/index.d.ts.map +1 -1
  308. package/dist/runtime/index.js +4 -2
  309. package/dist/runtime/index.js.map +1 -1
  310. package/dist/runtime/plugin-registry.d.ts +11 -11
  311. package/dist/runtime/plugin-registry.d.ts.map +1 -1
  312. package/dist/runtime/plugin-registry.js +40 -28
  313. package/dist/runtime/plugin-registry.js.map +1 -1
  314. package/dist/runtime/time-series-queries.d.ts +5 -4
  315. package/dist/runtime/time-series-queries.d.ts.map +1 -1
  316. package/dist/runtime/time-series-queries.js +28 -33
  317. package/dist/runtime/time-series-queries.js.map +1 -1
  318. package/dist/runtime/trace-queries.d.ts +5 -4
  319. package/dist/runtime/trace-queries.d.ts.map +1 -1
  320. package/dist/runtime/trace-queries.js +10 -7
  321. package/dist/runtime/trace-queries.js.map +1 -1
  322. package/dist/runtime/{template-variables.d.ts → variables.d.ts} +7 -7
  323. package/dist/runtime/variables.d.ts.map +1 -0
  324. package/dist/runtime/{template-variables.js → variables.js} +35 -44
  325. package/dist/runtime/variables.js.map +1 -0
  326. package/dist/stories/shared-utils/decorators/WithDataQueries.d.ts +3 -3
  327. package/dist/stories/shared-utils/decorators/WithDataQueries.d.ts.map +1 -1
  328. package/dist/stories/shared-utils/decorators/WithDataQueries.js +1 -1
  329. package/dist/stories/shared-utils/decorators/WithDataQueries.js.map +1 -1
  330. package/dist/stories/shared-utils/decorators/WithPluginRegistry.d.ts +2 -2
  331. package/dist/stories/shared-utils/decorators/WithPluginRegistry.d.ts.map +1 -1
  332. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js +2 -22
  333. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js.map +1 -1
  334. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.d.ts +3 -3
  335. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.d.ts.map +1 -1
  336. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js +1 -1
  337. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js.map +1 -1
  338. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.d.ts +3 -3
  339. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.d.ts.map +1 -1
  340. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +5 -5
  341. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js.map +1 -1
  342. package/dist/stories/shared-utils/decorators/WithPluginSystemVariables.d.ts +13 -0
  343. package/dist/stories/shared-utils/decorators/WithPluginSystemVariables.d.ts.map +1 -0
  344. package/dist/stories/shared-utils/decorators/{WithPluginSystemTemplateVariables.js → WithPluginSystemVariables.js} +10 -10
  345. package/dist/stories/shared-utils/decorators/WithPluginSystemVariables.js.map +1 -0
  346. package/dist/stories/shared-utils/decorators/WithTimeRange.d.ts +3 -3
  347. package/dist/stories/shared-utils/decorators/WithTimeRange.d.ts.map +1 -1
  348. package/dist/stories/shared-utils/decorators/WithTimeRange.js +1 -1
  349. package/dist/stories/shared-utils/decorators/WithTimeRange.js.map +1 -1
  350. package/dist/stories/shared-utils/decorators/index.d.ts +1 -1
  351. package/dist/stories/shared-utils/decorators/index.d.ts.map +1 -1
  352. package/dist/stories/shared-utils/decorators/index.js +2 -2
  353. package/dist/stories/shared-utils/decorators/index.js.map +1 -1
  354. package/dist/test/mock-data.d.ts.map +1 -1
  355. package/dist/test/mock-data.js +25 -4
  356. package/dist/test/mock-data.js.map +1 -1
  357. package/dist/test/render.d.ts +4 -4
  358. package/dist/test/render.d.ts.map +1 -1
  359. package/dist/test/render.js +2 -11
  360. package/dist/test/render.js.map +1 -1
  361. package/dist/test/setup-tests.js.map +1 -1
  362. package/dist/test/test-plugins/bert/index.d.ts.map +1 -1
  363. package/dist/test/test-plugins/bert/index.js +21 -20
  364. package/dist/test/test-plugins/bert/index.js.map +1 -1
  365. package/dist/test/test-plugins/ernie/index.js +2 -2
  366. package/dist/test/test-plugins/ernie/index.js.map +1 -1
  367. package/dist/test-utils/mock-plugin-registry.d.ts +6 -4
  368. package/dist/test-utils/mock-plugin-registry.d.ts.map +1 -1
  369. package/dist/test-utils/mock-plugin-registry.js +10 -10
  370. package/dist/test-utils/mock-plugin-registry.js.map +1 -1
  371. package/dist/utils/variables.d.ts +4 -4
  372. package/dist/utils/variables.d.ts.map +1 -1
  373. package/dist/utils/variables.js +19 -19
  374. package/dist/utils/variables.js.map +1 -1
  375. package/package.json +7 -6
  376. package/dist/cjs/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +0 -146
  377. package/dist/cjs/components/TraceQueryEditor/TraceQueryInput.js +0 -96
  378. package/dist/cjs/validation/datasource.js +0 -30
  379. package/dist/cjs/validation/role.js +0 -85
  380. package/dist/cjs/validation/rolebinding.js +0 -55
  381. package/dist/cjs/validation/secret.js +0 -176
  382. package/dist/cjs/validation/variable.js +0 -48
  383. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.d.ts +0 -8
  384. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.d.ts.map +0 -1
  385. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js.map +0 -1
  386. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.d.ts +0 -13
  387. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.d.ts.map +0 -1
  388. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js.map +0 -1
  389. package/dist/components/TimeSeriesQueryEditor/index.d.ts +0 -2
  390. package/dist/components/TimeSeriesQueryEditor/index.d.ts.map +0 -1
  391. package/dist/components/TimeSeriesQueryEditor/index.js.map +0 -1
  392. package/dist/components/TraceQueryEditor/TraceQueryEditor.d.ts +0 -9
  393. package/dist/components/TraceQueryEditor/TraceQueryEditor.d.ts.map +0 -1
  394. package/dist/components/TraceQueryEditor/TraceQueryEditor.js +0 -130
  395. package/dist/components/TraceQueryEditor/TraceQueryEditor.js.map +0 -1
  396. package/dist/components/TraceQueryEditor/TraceQueryInput.d.ts +0 -13
  397. package/dist/components/TraceQueryEditor/TraceQueryInput.d.ts.map +0 -1
  398. package/dist/components/TraceQueryEditor/TraceQueryInput.js +0 -83
  399. package/dist/components/TraceQueryEditor/TraceQueryInput.js.map +0 -1
  400. package/dist/components/TraceQueryEditor/index.d.ts +0 -2
  401. package/dist/components/TraceQueryEditor/index.d.ts.map +0 -1
  402. package/dist/runtime/template-variables.d.ts.map +0 -1
  403. package/dist/runtime/template-variables.js.map +0 -1
  404. package/dist/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.d.ts +0 -13
  405. package/dist/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.d.ts.map +0 -1
  406. package/dist/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.js.map +0 -1
  407. package/dist/validation/datasource.d.ts +0 -19
  408. package/dist/validation/datasource.d.ts.map +0 -1
  409. package/dist/validation/datasource.js.map +0 -1
  410. package/dist/validation/index.d.ts +0 -5
  411. package/dist/validation/index.d.ts.map +0 -1
  412. package/dist/validation/index.js.map +0 -1
  413. package/dist/validation/resource.d.ts +0 -3
  414. package/dist/validation/resource.d.ts.map +0 -1
  415. package/dist/validation/resource.js.map +0 -1
  416. package/dist/validation/role.d.ts +0 -228
  417. package/dist/validation/role.d.ts.map +0 -1
  418. package/dist/validation/role.js +0 -66
  419. package/dist/validation/role.js.map +0 -1
  420. package/dist/validation/rolebinding.d.ts +0 -137
  421. package/dist/validation/rolebinding.d.ts.map +0 -1
  422. package/dist/validation/rolebinding.js +0 -47
  423. package/dist/validation/rolebinding.js.map +0 -1
  424. package/dist/validation/secret.d.ts +0 -964
  425. package/dist/validation/secret.d.ts.map +0 -1
  426. package/dist/validation/secret.js +0 -157
  427. package/dist/validation/secret.js.map +0 -1
  428. package/dist/validation/variable.d.ts +0 -96
  429. package/dist/validation/variable.d.ts.map +0 -1
  430. package/dist/validation/variable.js +0 -40
  431. package/dist/validation/variable.js.map +0 -1
@@ -0,0 +1,528 @@
1
+ // Copyright 2024 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
+ Object.defineProperty(exports, "HTTPSettingsEditor", {
18
+ enumerable: true,
19
+ get: function() {
20
+ return HTTPSettingsEditor;
21
+ }
22
+ });
23
+ const _jsxruntime = require("react/jsx-runtime");
24
+ const _material = require("@mui/material");
25
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
26
+ const _immer = require("immer");
27
+ const _reacthookform = require("react-hook-form");
28
+ const _Minus = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Minus"));
29
+ const _Plus = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Plus"));
30
+ const _OptionsEditorRadios = require("../OptionsEditorRadios");
31
+ function _interop_require_default(obj) {
32
+ return obj && obj.__esModule ? obj : {
33
+ default: obj
34
+ };
35
+ }
36
+ function _getRequireWildcardCache(nodeInterop) {
37
+ if (typeof WeakMap !== "function") return null;
38
+ var cacheBabelInterop = new WeakMap();
39
+ var cacheNodeInterop = new WeakMap();
40
+ return (_getRequireWildcardCache = function(nodeInterop) {
41
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
42
+ })(nodeInterop);
43
+ }
44
+ function _interop_require_wildcard(obj, nodeInterop) {
45
+ if (!nodeInterop && obj && obj.__esModule) {
46
+ return obj;
47
+ }
48
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
49
+ return {
50
+ default: obj
51
+ };
52
+ }
53
+ var cache = _getRequireWildcardCache(nodeInterop);
54
+ if (cache && cache.has(obj)) {
55
+ return cache.get(obj);
56
+ }
57
+ var newObj = {
58
+ __proto__: null
59
+ };
60
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
61
+ for(var key in obj){
62
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
63
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
64
+ if (desc && (desc.get || desc.set)) {
65
+ Object.defineProperty(newObj, key, desc);
66
+ } else {
67
+ newObj[key] = obj[key];
68
+ }
69
+ }
70
+ }
71
+ newObj.default = obj;
72
+ if (cache) {
73
+ cache.set(obj, newObj);
74
+ }
75
+ return newObj;
76
+ }
77
+ function HTTPSettingsEditor(props) {
78
+ const { value, onChange, isReadonly, initialSpecDirect, initialSpecProxy } = props;
79
+ const strDirect = 'Direct access';
80
+ const strProxy = 'Proxy';
81
+ // utilitary function used for headers when renaming a property
82
+ // -> TODO it would be cleaner to manipulate headers as an intermediary list instead, to avoid doing this.
83
+ const buildNewHeaders = (oldHeaders, oldName, newName)=>{
84
+ if (oldHeaders === undefined) return oldHeaders;
85
+ const keys = Object.keys(oldHeaders);
86
+ const newHeaders = keys.reduce((acc, val)=>{
87
+ if (val === oldName) {
88
+ acc[newName] = oldHeaders[oldName] || '';
89
+ } else {
90
+ acc[val] = oldHeaders[val] || '';
91
+ }
92
+ return acc;
93
+ }, {});
94
+ return {
95
+ ...newHeaders
96
+ };
97
+ };
98
+ const tabs = [
99
+ {
100
+ label: strDirect,
101
+ content: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
102
+ name: "URL",
103
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
104
+ ...field,
105
+ fullWidth: true,
106
+ label: "URL",
107
+ value: value.directUrl || '',
108
+ error: !!fieldState.error,
109
+ helperText: fieldState.error?.message,
110
+ InputProps: {
111
+ readOnly: isReadonly
112
+ },
113
+ InputLabelProps: {
114
+ shrink: isReadonly ? true : undefined
115
+ },
116
+ onChange: (e)=>{
117
+ field.onChange(e);
118
+ onChange((0, _immer.produce)(value, (draft)=>{
119
+ draft.directUrl = e.target.value;
120
+ }));
121
+ }
122
+ })
123
+ })
124
+ },
125
+ {
126
+ label: strProxy,
127
+ content: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
128
+ children: [
129
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
130
+ name: "URL",
131
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
132
+ ...field,
133
+ fullWidth: true,
134
+ label: "URL",
135
+ value: value.proxy?.spec.url || '',
136
+ error: !!fieldState.error,
137
+ helperText: fieldState.error?.message,
138
+ InputProps: {
139
+ readOnly: isReadonly
140
+ },
141
+ InputLabelProps: {
142
+ shrink: isReadonly ? true : undefined
143
+ },
144
+ onChange: (e)=>{
145
+ field.onChange(e);
146
+ onChange((0, _immer.produce)(value, (draft)=>{
147
+ if (draft.proxy !== undefined) {
148
+ draft.proxy.spec.url = e.target.value;
149
+ }
150
+ }));
151
+ },
152
+ sx: {
153
+ mb: 2
154
+ }
155
+ })
156
+ }),
157
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
158
+ variant: "h4",
159
+ mb: 2,
160
+ children: "Allowed endpoints"
161
+ }),
162
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Grid, {
163
+ container: true,
164
+ spacing: 2,
165
+ mb: 2,
166
+ children: [
167
+ value.proxy?.spec.allowedEndpoints && value.proxy?.spec.allowedEndpoints.length !== 0 ? value.proxy.spec.allowedEndpoints.map(({ endpointPattern, method }, i)=>{
168
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {
169
+ children: [
170
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
171
+ item: true,
172
+ xs: 8,
173
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
174
+ name: `Endpoint pattern ${i}`,
175
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
176
+ ...field,
177
+ fullWidth: true,
178
+ label: "Endpoint pattern",
179
+ value: endpointPattern,
180
+ error: !!fieldState.error,
181
+ helperText: fieldState.error?.message,
182
+ InputProps: {
183
+ readOnly: isReadonly
184
+ },
185
+ InputLabelProps: {
186
+ shrink: isReadonly ? true : undefined
187
+ },
188
+ onChange: (e)=>{
189
+ field.onChange(e);
190
+ onChange((0, _immer.produce)(value, (draft)=>{
191
+ if (draft.proxy !== undefined) {
192
+ draft.proxy.spec.allowedEndpoints = draft.proxy.spec.allowedEndpoints?.map((item, itemIndex)=>{
193
+ if (i === itemIndex) {
194
+ return {
195
+ endpointPattern: e.target.value,
196
+ method: item.method
197
+ };
198
+ } else {
199
+ return item;
200
+ }
201
+ });
202
+ }
203
+ }));
204
+ }
205
+ })
206
+ })
207
+ }),
208
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
209
+ item: true,
210
+ xs: 3,
211
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
212
+ name: `Method ${i}`,
213
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.TextField, {
214
+ ...field,
215
+ select: true,
216
+ fullWidth: true,
217
+ label: "Method",
218
+ value: method,
219
+ error: !!fieldState.error,
220
+ helperText: fieldState.error?.message,
221
+ InputProps: {
222
+ readOnly: isReadonly
223
+ },
224
+ InputLabelProps: {
225
+ shrink: isReadonly ? true : undefined
226
+ },
227
+ onChange: (e)=>{
228
+ field.onChange(e);
229
+ onChange((0, _immer.produce)(value, (draft)=>{
230
+ if (draft.proxy !== undefined) {
231
+ draft.proxy.spec.allowedEndpoints = draft.proxy.spec.allowedEndpoints?.map((item, itemIndex)=>{
232
+ if (i === itemIndex) {
233
+ return {
234
+ endpointPattern: item.endpointPattern,
235
+ method: e.target.value
236
+ };
237
+ } else {
238
+ return item;
239
+ }
240
+ });
241
+ }
242
+ }));
243
+ },
244
+ children: [
245
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
246
+ value: "GET",
247
+ children: "GET"
248
+ }),
249
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
250
+ value: "POST",
251
+ children: "POST"
252
+ }),
253
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
254
+ value: "PUT",
255
+ children: "PUT"
256
+ }),
257
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
258
+ value: "PATCH",
259
+ children: "PATCH"
260
+ }),
261
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
262
+ value: "DELETE",
263
+ children: "DELETE"
264
+ })
265
+ ]
266
+ })
267
+ })
268
+ }),
269
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
270
+ item: true,
271
+ xs: 1,
272
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
273
+ name: `Remove Endpoint ${i}`,
274
+ render: ({ field })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
275
+ ...field,
276
+ disabled: isReadonly,
277
+ // Remove the given allowed endpoint from the list
278
+ onClick: (e)=>{
279
+ field.onChange(e);
280
+ onChange((0, _immer.produce)(value, (draft)=>{
281
+ if (draft.proxy !== undefined) {
282
+ draft.proxy.spec.allowedEndpoints = [
283
+ ...draft.proxy.spec.allowedEndpoints?.filter((item, itemIndex)=>{
284
+ return itemIndex !== i;
285
+ }) || []
286
+ ];
287
+ }
288
+ }));
289
+ },
290
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Minus.default, {})
291
+ })
292
+ })
293
+ })
294
+ ]
295
+ }, i);
296
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
297
+ item: true,
298
+ xs: 4,
299
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
300
+ sx: {
301
+ fontStyle: 'italic'
302
+ },
303
+ children: "None"
304
+ })
305
+ }),
306
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
307
+ item: true,
308
+ xs: 12,
309
+ sx: {
310
+ paddingTop: '0px !important',
311
+ paddingLeft: '5px !important'
312
+ },
313
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
314
+ disabled: isReadonly,
315
+ // Add a new (empty) allowed endpoint to the list
316
+ onClick: ()=>onChange((0, _immer.produce)(value, (draft)=>{
317
+ if (draft.proxy !== undefined) {
318
+ draft.proxy.spec.allowedEndpoints = [
319
+ ...draft.proxy.spec.allowedEndpoints ?? [],
320
+ {
321
+ endpointPattern: '',
322
+ method: ''
323
+ }
324
+ ];
325
+ }
326
+ })),
327
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Plus.default, {})
328
+ })
329
+ })
330
+ ]
331
+ }),
332
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
333
+ variant: "h4",
334
+ mb: 2,
335
+ children: "Request Headers"
336
+ }),
337
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Grid, {
338
+ container: true,
339
+ spacing: 2,
340
+ mb: 2,
341
+ children: [
342
+ value.proxy?.spec.headers && Object.keys(value.proxy.spec.headers).map((headerName, i)=>{
343
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {
344
+ children: [
345
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
346
+ item: true,
347
+ xs: 4,
348
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
349
+ name: `Header name ${i}`,
350
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
351
+ ...field,
352
+ fullWidth: true,
353
+ label: "Header name",
354
+ value: headerName,
355
+ error: !!fieldState.error,
356
+ helperText: fieldState.error?.message,
357
+ InputProps: {
358
+ readOnly: isReadonly
359
+ },
360
+ InputLabelProps: {
361
+ shrink: isReadonly ? true : undefined
362
+ },
363
+ onChange: (e)=>{
364
+ field.onChange(e);
365
+ onChange((0, _immer.produce)(value, (draft)=>{
366
+ if (draft.proxy !== undefined) {
367
+ draft.proxy.spec.headers = buildNewHeaders(draft.proxy.spec.headers, headerName, e.target.value);
368
+ }
369
+ }));
370
+ }
371
+ })
372
+ })
373
+ }),
374
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
375
+ item: true,
376
+ xs: 7,
377
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
378
+ name: `Header value ${i}`,
379
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
380
+ ...field,
381
+ fullWidth: true,
382
+ label: "Header value",
383
+ value: value.proxy?.spec.headers?.[headerName],
384
+ error: !!fieldState.error,
385
+ helperText: fieldState.error?.message,
386
+ InputProps: {
387
+ readOnly: isReadonly
388
+ },
389
+ InputLabelProps: {
390
+ shrink: isReadonly ? true : undefined
391
+ },
392
+ onChange: (e)=>{
393
+ field.onChange(e);
394
+ onChange((0, _immer.produce)(value, (draft)=>{
395
+ if (draft.proxy !== undefined) {
396
+ draft.proxy.spec.headers = {
397
+ ...draft.proxy.spec.headers,
398
+ [headerName]: e.target.value
399
+ };
400
+ }
401
+ }));
402
+ }
403
+ })
404
+ })
405
+ }),
406
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
407
+ item: true,
408
+ xs: 1,
409
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
410
+ name: `Remove Header ${i}`,
411
+ render: ({ field })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
412
+ ...field,
413
+ disabled: isReadonly,
414
+ // Remove the given header from the list
415
+ onClick: (e)=>{
416
+ field.onChange(e);
417
+ const newHeaders = {
418
+ ...value.proxy?.spec.headers
419
+ };
420
+ delete newHeaders[headerName];
421
+ onChange((0, _immer.produce)(value, (draft)=>{
422
+ if (draft.proxy !== undefined) {
423
+ draft.proxy.spec.headers = newHeaders;
424
+ }
425
+ }));
426
+ },
427
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Minus.default, {})
428
+ })
429
+ })
430
+ })
431
+ ]
432
+ }, i);
433
+ }),
434
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
435
+ item: true,
436
+ xs: 12,
437
+ sx: {
438
+ paddingTop: '0px !important',
439
+ paddingLeft: '5px !important'
440
+ },
441
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
442
+ disabled: isReadonly,
443
+ // Add a new (empty) header to the list
444
+ onClick: ()=>onChange((0, _immer.produce)(value, (draft)=>{
445
+ if (draft.proxy !== undefined) {
446
+ draft.proxy.spec.headers = {
447
+ ...draft.proxy.spec.headers,
448
+ '': ''
449
+ };
450
+ }
451
+ })),
452
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Plus.default, {})
453
+ })
454
+ })
455
+ ]
456
+ }),
457
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
458
+ name: "Secret",
459
+ render: ({ field, fieldState })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
460
+ ...field,
461
+ fullWidth: true,
462
+ label: "Secret",
463
+ value: value.proxy?.spec.secret || '',
464
+ error: !!fieldState.error,
465
+ helperText: fieldState.error?.message,
466
+ InputProps: {
467
+ readOnly: isReadonly
468
+ },
469
+ InputLabelProps: {
470
+ shrink: isReadonly ? true : undefined
471
+ },
472
+ onChange: (e)=>{
473
+ field.onChange(e);
474
+ onChange((0, _immer.produce)(value, (draft)=>{
475
+ if (draft.proxy !== undefined) {
476
+ draft.proxy.spec.secret = e.target.value;
477
+ }
478
+ }));
479
+ }
480
+ })
481
+ })
482
+ ]
483
+ })
484
+ }
485
+ ];
486
+ // Use of findIndex instead of providing hardcoded values to avoid desynchronisatio or
487
+ // bug in case the tabs get eventually swapped in the future.
488
+ const directModeId = tabs.findIndex((tab)=>tab.label === strDirect);
489
+ const proxyModeId = tabs.findIndex((tab)=>tab.label === strProxy);
490
+ // In "update datasource" case, set defaultTab to the mode that this datasource is currently relying on.
491
+ // Otherwise (create datasource), set defaultTab to Direct access.
492
+ const defaultTab = value.proxy ? proxyModeId : directModeId;
493
+ // For better user experience, save previous states in mind for both mode.
494
+ // This avoids losing everything when the user changes their mind back.
495
+ const [previousSpecDirect, setPreviousSpecDirect] = (0, _react.useState)(initialSpecDirect);
496
+ const [previousSpecProxy, setPreviousSpecProxy] = (0, _react.useState)(initialSpecProxy);
497
+ // When changing mode, remove previous mode's config + append default values for the new mode.
498
+ const handleModeChange = (v)=>{
499
+ if (tabs[v]?.label === strDirect) {
500
+ setPreviousSpecProxy(value);
501
+ onChange({
502
+ ...value,
503
+ directUrl: previousSpecDirect.directUrl
504
+ });
505
+ } else if (tabs[v]?.label === strProxy) {
506
+ setPreviousSpecDirect(value);
507
+ onChange({
508
+ ...value,
509
+ proxy: previousSpecProxy.proxy
510
+ });
511
+ }
512
+ };
513
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
514
+ children: [
515
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
516
+ variant: "h4",
517
+ mt: 2,
518
+ children: "HTTP Settings"
519
+ }),
520
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_OptionsEditorRadios.OptionsEditorRadios, {
521
+ isReadonly: isReadonly,
522
+ tabs: tabs,
523
+ defaultTab: defaultTab,
524
+ onModeChange: handleModeChange
525
+ })
526
+ ]
527
+ });
528
+ }
@@ -1,4 +1,4 @@
1
- // Copyright 2023 The Perses Authors
1
+ // Copyright 2024 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -14,7 +14,7 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _export_star(require("./TimeSeriesQueryEditor"), exports);
17
+ _export_star(require("./HTTPSettingsEditor"), exports);
18
18
  function _export_star(from, to) {
19
19
  Object.keys(from).forEach(function(k) {
20
20
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -49,7 +49,7 @@ const VALUE_OPTIONS = Object.entries(_model.LEGEND_VALUE_CONFIG).map(([id, confi
49
49
  ...config
50
50
  };
51
51
  });
52
- function LegendOptionsEditor({ value , onChange }) {
52
+ function LegendOptionsEditor({ value, onChange, showValuesEditor = true }) {
53
53
  const handleLegendShowChange = (_, checked)=>{
54
54
  // legend is hidden when legend obj is undefined
55
55
  const legendValue = checked === true ? {
@@ -87,13 +87,13 @@ function LegendOptionsEditor({ value , onChange }) {
87
87
  });
88
88
  };
89
89
  const isValidLegend = (0, _model.validateLegendSpec)(value);
90
- const currentPosition = (0, _core.getLegendPosition)(value === null || value === void 0 ? void 0 : value.position);
90
+ const currentPosition = (0, _core.getLegendPosition)(value?.position);
91
91
  const legendPositionConfig = _model.LEGEND_POSITIONS_CONFIG[currentPosition];
92
- const currentMode = (0, _core.getLegendMode)(value === null || value === void 0 ? void 0 : value.mode);
92
+ const currentMode = (0, _core.getLegendMode)(value?.mode);
93
93
  const legendModeConfig = _model.LEGEND_MODE_CONFIG[currentMode];
94
- const currentSize = (0, _core.getLegendSize)(value === null || value === void 0 ? void 0 : value.size);
94
+ const currentSize = (0, _core.getLegendSize)(value?.size);
95
95
  const legendSizeConfig = _model.LEGEND_SIZE_CONFIG[currentSize];
96
- const currentValues = (value === null || value === void 0 ? void 0 : value.values) || [];
96
+ const currentValues = value?.values || [];
97
97
  const legendValuesConfig = currentValues.reduce((result, item)=>{
98
98
  const config = _model.LEGEND_VALUE_CONFIG[item];
99
99
  if (config) {
@@ -104,7 +104,8 @@ function LegendOptionsEditor({ value , onChange }) {
104
104
  }
105
105
  return result;
106
106
  }, []);
107
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
107
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.OptionsEditorGroup, {
108
+ title: "Legend",
108
109
  children: [
109
110
  !isValidLegend && /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.ErrorAlert, {
110
111
  error: {
@@ -160,7 +161,7 @@ function LegendOptionsEditor({ value , onChange }) {
160
161
  disableClearable: true
161
162
  })
162
163
  }),
163
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
164
+ showValuesEditor && /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
164
165
  label: "Values",
165
166
  control: // For some reason, the inferred option type doesn't always seem to work
166
167
  // quite right when `multiple` is true. Explicitly setting the generics
@@ -0,0 +1,41 @@
1
+ // Copyright 2025 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
+ Object.defineProperty(exports, "MetricLabelInput", {
18
+ enumerable: true,
19
+ get: function() {
20
+ return MetricLabelInput;
21
+ }
22
+ });
23
+ const _jsxruntime = require("react/jsx-runtime");
24
+ const _material = require("@mui/material");
25
+ const _components = require("@perses-dev/components");
26
+ const MetricLabelInput = ({ value, onChange })=>{
27
+ const handleChange = (event)=>{
28
+ const newValue = event.target.value;
29
+ onChange(newValue || undefined);
30
+ };
31
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
32
+ label: "Metric label",
33
+ description: "Specify label to display",
34
+ control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
35
+ fullWidth: true,
36
+ name: "Metric label",
37
+ value: value || '',
38
+ onChange: handleChange
39
+ })
40
+ });
41
+ };