@perses-dev/dashboards 0.0.0-snapshot-panel-extra-content-3-17f9c42 → 0.0.0-snapshot-scatterplot-fix-imports-95e1b59

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 (411) hide show
  1. package/dist/cjs/components/AddGroupButton/AddGroupButton.js +11 -8
  2. package/dist/cjs/components/AddGroupButton/index.js +10 -8
  3. package/dist/cjs/components/AddPanelButton/AddPanelButton.js +12 -13
  4. package/dist/cjs/components/AddPanelButton/index.js +10 -8
  5. package/dist/cjs/components/Dashboard/Dashboard.js +12 -10
  6. package/dist/cjs/components/Dashboard/index.js +10 -8
  7. package/dist/cjs/components/DashboardStickyToolbar/DashboardStickyToolbar.js +53 -22
  8. package/dist/cjs/components/DashboardStickyToolbar/index.js +10 -8
  9. package/dist/cjs/components/DashboardToolbar/DashboardToolbar.js +82 -103
  10. package/dist/cjs/components/DashboardToolbar/index.js +10 -8
  11. package/dist/cjs/components/Datasources/DatasourceEditor.js +236 -0
  12. package/dist/cjs/components/Datasources/EditDatasourcesButton.js +112 -0
  13. package/dist/cjs/components/{ToolbarIconButton → Datasources}/index.js +11 -8
  14. package/dist/cjs/components/DeletePanelDialog/DeletePanelDialog.js +16 -14
  15. package/dist/cjs/components/DeletePanelDialog/index.js +10 -8
  16. package/dist/cjs/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +18 -16
  17. package/dist/cjs/components/DeletePanelGroupDialog/index.js +10 -8
  18. package/dist/cjs/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +6 -4
  19. package/dist/cjs/components/DiscardChangesConfirmationDialog/index.js +10 -8
  20. package/dist/cjs/components/DownloadButton/DownloadButton.js +13 -12
  21. package/dist/cjs/components/DownloadButton/index.js +10 -8
  22. package/dist/cjs/components/EditButton/EditButton.js +9 -7
  23. package/dist/cjs/components/EditButton/index.js +10 -8
  24. package/dist/cjs/components/EditJsonButton/EditJsonButton.js +15 -12
  25. package/dist/cjs/components/EditJsonButton/index.js +10 -8
  26. package/dist/cjs/components/EditJsonDialog/EditJsonDialog.js +54 -25
  27. package/dist/cjs/components/EditJsonDialog/index.js +10 -8
  28. package/dist/cjs/components/EmptyDashboard/EmptyDashboard.js +21 -19
  29. package/dist/cjs/components/EmptyDashboard/index.js +10 -8
  30. package/dist/cjs/components/GridLayout/GridContainer.js +6 -4
  31. package/dist/cjs/components/GridLayout/GridItemContent.js +37 -19
  32. package/dist/cjs/components/GridLayout/GridLayout.js +21 -19
  33. package/dist/cjs/components/GridLayout/GridTitle.js +40 -39
  34. package/dist/cjs/components/GridLayout/index.js +13 -11
  35. package/dist/cjs/components/Panel/Panel.js +19 -23
  36. package/dist/cjs/components/Panel/PanelContent.js +11 -8
  37. package/dist/cjs/components/Panel/PanelHeader.js +35 -33
  38. package/dist/cjs/components/Panel/index.js +10 -8
  39. package/dist/cjs/components/PanelDrawer/PanelDrawer.js +25 -77
  40. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +237 -144
  41. package/dist/cjs/components/PanelDrawer/PanelPreview.js +13 -12
  42. package/dist/cjs/components/PanelDrawer/index.js +11 -8
  43. package/dist/cjs/components/PanelDrawer/usePanelEditor.js +5 -3
  44. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +18 -16
  45. package/dist/cjs/components/PanelGroupDialog/PanelGroupEditorForm.js +16 -12
  46. package/dist/cjs/components/PanelGroupDialog/index.js +10 -8
  47. package/dist/cjs/components/QuerySummaryTable/QuerySummaryTable.js +48 -46
  48. package/dist/cjs/components/QuerySummaryTable/index.js +10 -8
  49. package/dist/cjs/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +26 -24
  50. package/dist/cjs/components/SaveChangesConfirmationDialog/index.js +10 -8
  51. package/dist/cjs/components/SaveDashboardButton/SaveDashboardButton.js +14 -14
  52. package/dist/cjs/components/SaveDashboardButton/index.js +10 -8
  53. package/dist/cjs/components/Variables/BuiltinVariableAccordions.js +141 -0
  54. package/dist/cjs/components/Variables/EditVariablesButton.js +19 -17
  55. package/dist/cjs/components/Variables/TemplateVariable.js +261 -107
  56. package/dist/cjs/components/Variables/VariableEditor.js +282 -207
  57. package/dist/cjs/components/Variables/VariableList.js +24 -22
  58. package/dist/cjs/components/Variables/index.js +14 -11
  59. package/dist/cjs/components/index.js +30 -29
  60. package/dist/cjs/constants/grid-layout-config.js +6 -2
  61. package/dist/cjs/constants/index.js +12 -9
  62. package/dist/cjs/constants/styles.js +42 -0
  63. package/dist/cjs/constants/user-interface-text.js +8 -3
  64. package/dist/cjs/context/DashboardProvider/DashboardProvider.js +48 -35
  65. package/dist/cjs/context/DashboardProvider/common.js +6 -2
  66. package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +81 -49
  67. package/dist/cjs/context/DashboardProvider/delete-panel-group-slice.js +4 -2
  68. package/dist/cjs/context/DashboardProvider/delete-panel-slice.js +8 -6
  69. package/dist/cjs/context/DashboardProvider/discard-changes-dialog-slice.js +3 -1
  70. package/dist/cjs/context/DashboardProvider/duplicate-panel-slice.js +4 -2
  71. package/dist/cjs/context/DashboardProvider/edit-json-dialog-slice.js +3 -1
  72. package/dist/cjs/context/DashboardProvider/index.js +12 -10
  73. package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +17 -17
  74. package/dist/cjs/context/DashboardProvider/panel-group-editor-slice.js +8 -6
  75. package/dist/cjs/context/DashboardProvider/panel-group-slice.js +16 -8
  76. package/dist/cjs/context/DashboardProvider/panel-slice.js +3 -1
  77. package/dist/cjs/context/DashboardProvider/save-changes-dialog-slice.js +3 -1
  78. package/dist/cjs/context/DatasourceStoreProvider.js +177 -50
  79. package/dist/cjs/context/TemplateVariableProvider/TemplateVariableProvider.js +150 -39
  80. package/dist/cjs/context/TemplateVariableProvider/hydrationUtils.js +12 -10
  81. package/dist/cjs/context/TemplateVariableProvider/index.js +10 -8
  82. package/dist/cjs/context/TemplateVariableProvider/query-params.js +17 -7
  83. package/dist/cjs/context/TemplateVariableProvider/utils.js +15 -7
  84. package/dist/cjs/context/index.js +13 -11
  85. package/dist/cjs/context/useDashboard.js +30 -11
  86. package/dist/cjs/index.js +12 -10
  87. package/dist/cjs/stories/decorators/WithDashboard.js +6 -4
  88. package/dist/cjs/stories/decorators/WithDatasourceStore.js +6 -4
  89. package/dist/cjs/stories/decorators/WithTemplateVariables.js +6 -4
  90. package/dist/cjs/stories/decorators/constants.js +5 -3
  91. package/dist/cjs/stories/decorators/index.js +13 -11
  92. package/dist/cjs/test/dashboard-provider.js +8 -4
  93. package/dist/cjs/test/datasource-provider.js +16 -12
  94. package/dist/cjs/test/index.js +13 -11
  95. package/dist/cjs/test/plugin-registry.js +6 -4
  96. package/dist/cjs/test/render.js +28 -21
  97. package/dist/cjs/test/setup-tests.js +2 -2
  98. package/dist/cjs/test/testDashboard.js +13 -11
  99. package/dist/cjs/utils/index.js +10 -9
  100. package/dist/cjs/utils/panelUtils.js +11 -5
  101. package/dist/cjs/{components/TimeRangeControls → validation}/index.js +10 -8
  102. package/dist/cjs/{utils/time.js → validation/panel.js} +11 -9
  103. package/dist/cjs/views/ViewDashboard/DashboardApp.js +32 -18
  104. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +64 -21
  105. package/dist/cjs/views/ViewDashboard/index.js +10 -8
  106. package/dist/cjs/views/index.js +10 -8
  107. package/dist/components/AddGroupButton/AddGroupButton.d.ts +1 -2
  108. package/dist/components/AddGroupButton/AddGroupButton.d.ts.map +1 -1
  109. package/dist/components/AddGroupButton/AddGroupButton.js +3 -2
  110. package/dist/components/AddGroupButton/AddGroupButton.js.map +1 -1
  111. package/dist/components/AddGroupButton/index.js.map +1 -1
  112. package/dist/components/AddPanelButton/AddPanelButton.d.ts +1 -2
  113. package/dist/components/AddPanelButton/AddPanelButton.d.ts.map +1 -1
  114. package/dist/components/AddPanelButton/AddPanelButton.js +4 -7
  115. package/dist/components/AddPanelButton/AddPanelButton.js.map +1 -1
  116. package/dist/components/AddPanelButton/index.js.map +1 -1
  117. package/dist/components/Dashboard/Dashboard.d.ts +2 -3
  118. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -1
  119. package/dist/components/Dashboard/Dashboard.js +1 -1
  120. package/dist/components/Dashboard/Dashboard.js.map +1 -1
  121. package/dist/components/Dashboard/index.js.map +1 -1
  122. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.d.ts +1 -2
  123. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.d.ts.map +1 -1
  124. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.js +38 -9
  125. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.js.map +1 -1
  126. package/dist/components/DashboardStickyToolbar/index.js.map +1 -1
  127. package/dist/components/DashboardToolbar/DashboardToolbar.d.ts +1 -1
  128. package/dist/components/DashboardToolbar/DashboardToolbar.d.ts.map +1 -1
  129. package/dist/components/DashboardToolbar/DashboardToolbar.js +63 -86
  130. package/dist/components/DashboardToolbar/DashboardToolbar.js.map +1 -1
  131. package/dist/components/DashboardToolbar/index.js.map +1 -1
  132. package/dist/components/Datasources/DatasourceEditor.d.ts +7 -0
  133. package/dist/components/Datasources/DatasourceEditor.d.ts.map +1 -0
  134. package/dist/components/Datasources/DatasourceEditor.js +223 -0
  135. package/dist/components/Datasources/DatasourceEditor.js.map +1 -0
  136. package/dist/components/Datasources/EditDatasourcesButton.d.ts +2 -0
  137. package/dist/components/Datasources/EditDatasourcesButton.d.ts.map +1 -0
  138. package/dist/components/Datasources/EditDatasourcesButton.js +99 -0
  139. package/dist/components/Datasources/EditDatasourcesButton.js.map +1 -0
  140. package/dist/components/Datasources/index.d.ts +3 -0
  141. package/dist/components/Datasources/index.d.ts.map +1 -0
  142. package/dist/components/{TimeRangeControls → Datasources}/index.js +2 -1
  143. package/dist/components/Datasources/index.js.map +1 -0
  144. package/dist/components/DeletePanelDialog/DeletePanelDialog.d.ts +1 -2
  145. package/dist/components/DeletePanelDialog/DeletePanelDialog.d.ts.map +1 -1
  146. package/dist/components/DeletePanelDialog/DeletePanelDialog.js +4 -4
  147. package/dist/components/DeletePanelDialog/DeletePanelDialog.js.map +1 -1
  148. package/dist/components/DeletePanelDialog/index.js.map +1 -1
  149. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.d.ts +1 -2
  150. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.d.ts.map +1 -1
  151. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +3 -3
  152. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js.map +1 -1
  153. package/dist/components/DeletePanelGroupDialog/index.js.map +1 -1
  154. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.d.ts +1 -2
  155. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.d.ts.map +1 -1
  156. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +1 -1
  157. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js.map +1 -1
  158. package/dist/components/DiscardChangesConfirmationDialog/index.js.map +1 -1
  159. package/dist/components/DownloadButton/DownloadButton.d.ts +1 -2
  160. package/dist/components/DownloadButton/DownloadButton.d.ts.map +1 -1
  161. package/dist/components/DownloadButton/DownloadButton.js +3 -4
  162. package/dist/components/DownloadButton/DownloadButton.js.map +1 -1
  163. package/dist/components/DownloadButton/index.js.map +1 -1
  164. package/dist/components/EditButton/EditButton.d.ts +1 -2
  165. package/dist/components/EditButton/EditButton.d.ts.map +1 -1
  166. package/dist/components/EditButton/EditButton.js +1 -1
  167. package/dist/components/EditButton/EditButton.js.map +1 -1
  168. package/dist/components/EditButton/index.js.map +1 -1
  169. package/dist/components/EditJsonButton/EditJsonButton.d.ts +4 -2
  170. package/dist/components/EditJsonButton/EditJsonButton.d.ts.map +1 -1
  171. package/dist/components/EditJsonButton/EditJsonButton.js +7 -6
  172. package/dist/components/EditJsonButton/EditJsonButton.js.map +1 -1
  173. package/dist/components/EditJsonButton/index.js.map +1 -1
  174. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts +5 -2
  175. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts.map +1 -1
  176. package/dist/components/EditJsonDialog/EditJsonDialog.js +43 -16
  177. package/dist/components/EditJsonDialog/EditJsonDialog.js.map +1 -1
  178. package/dist/components/EditJsonDialog/index.js.map +1 -1
  179. package/dist/components/EmptyDashboard/EmptyDashboard.d.ts +1 -1
  180. package/dist/components/EmptyDashboard/EmptyDashboard.d.ts.map +1 -1
  181. package/dist/components/EmptyDashboard/EmptyDashboard.js +3 -3
  182. package/dist/components/EmptyDashboard/EmptyDashboard.js.map +1 -1
  183. package/dist/components/EmptyDashboard/index.js.map +1 -1
  184. package/dist/components/GridLayout/GridContainer.d.ts +1 -1
  185. package/dist/components/GridLayout/GridContainer.d.ts.map +1 -1
  186. package/dist/components/GridLayout/GridContainer.js +1 -1
  187. package/dist/components/GridLayout/GridContainer.js.map +1 -1
  188. package/dist/components/GridLayout/GridItemContent.d.ts +1 -2
  189. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  190. package/dist/components/GridLayout/GridItemContent.js +31 -15
  191. package/dist/components/GridLayout/GridItemContent.js.map +1 -1
  192. package/dist/components/GridLayout/GridLayout.d.ts +1 -2
  193. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
  194. package/dist/components/GridLayout/GridLayout.js +6 -6
  195. package/dist/components/GridLayout/GridLayout.js.map +1 -1
  196. package/dist/components/GridLayout/GridTitle.d.ts +1 -2
  197. package/dist/components/GridLayout/GridTitle.d.ts.map +1 -1
  198. package/dist/components/GridLayout/GridTitle.js +5 -6
  199. package/dist/components/GridLayout/GridTitle.js.map +1 -1
  200. package/dist/components/GridLayout/index.js.map +1 -1
  201. package/dist/components/Panel/Panel.d.ts +2 -2
  202. package/dist/components/Panel/Panel.d.ts.map +1 -1
  203. package/dist/components/Panel/Panel.js +7 -13
  204. package/dist/components/Panel/Panel.js.map +1 -1
  205. package/dist/components/Panel/PanelContent.d.ts +3 -3
  206. package/dist/components/Panel/PanelContent.d.ts.map +1 -1
  207. package/dist/components/Panel/PanelContent.js +4 -3
  208. package/dist/components/Panel/PanelContent.js.map +1 -1
  209. package/dist/components/Panel/PanelHeader.d.ts +2 -2
  210. package/dist/components/Panel/PanelHeader.d.ts.map +1 -1
  211. package/dist/components/Panel/PanelHeader.js +2 -2
  212. package/dist/components/Panel/PanelHeader.js.map +1 -1
  213. package/dist/components/Panel/index.js.map +1 -1
  214. package/dist/components/PanelDrawer/PanelDrawer.d.ts +1 -2
  215. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  216. package/dist/components/PanelDrawer/PanelDrawer.js +22 -76
  217. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
  218. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +5 -3
  219. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
  220. package/dist/components/PanelDrawer/PanelEditorForm.js +231 -142
  221. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
  222. package/dist/components/PanelDrawer/PanelPreview.d.ts +1 -2
  223. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
  224. package/dist/components/PanelDrawer/PanelPreview.js +4 -5
  225. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
  226. package/dist/components/PanelDrawer/index.d.ts +1 -0
  227. package/dist/components/PanelDrawer/index.d.ts.map +1 -1
  228. package/dist/components/PanelDrawer/index.js +1 -0
  229. package/dist/components/PanelDrawer/index.js.map +1 -1
  230. package/dist/components/PanelDrawer/usePanelEditor.js +2 -2
  231. package/dist/components/PanelDrawer/usePanelEditor.js.map +1 -1
  232. package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts +1 -2
  233. package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
  234. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
  235. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.d.ts +1 -2
  236. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.d.ts.map +1 -1
  237. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js +1 -1
  238. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -1
  239. package/dist/components/PanelGroupDialog/index.js.map +1 -1
  240. package/dist/components/QuerySummaryTable/QuerySummaryTable.d.ts +1 -2
  241. package/dist/components/QuerySummaryTable/QuerySummaryTable.d.ts.map +1 -1
  242. package/dist/components/QuerySummaryTable/QuerySummaryTable.js +8 -8
  243. package/dist/components/QuerySummaryTable/QuerySummaryTable.js.map +1 -1
  244. package/dist/components/QuerySummaryTable/index.js.map +1 -1
  245. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.d.ts +1 -2
  246. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.d.ts.map +1 -1
  247. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +8 -8
  248. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js.map +1 -1
  249. package/dist/components/SaveChangesConfirmationDialog/index.js.map +1 -1
  250. package/dist/components/SaveDashboardButton/SaveDashboardButton.d.ts +1 -2
  251. package/dist/components/SaveDashboardButton/SaveDashboardButton.d.ts.map +1 -1
  252. package/dist/components/SaveDashboardButton/SaveDashboardButton.js +8 -10
  253. package/dist/components/SaveDashboardButton/SaveDashboardButton.js.map +1 -1
  254. package/dist/components/SaveDashboardButton/index.js.map +1 -1
  255. package/dist/components/Variables/BuiltinVariableAccordions.d.ts +7 -0
  256. package/dist/components/Variables/BuiltinVariableAccordions.d.ts.map +1 -0
  257. package/dist/components/Variables/BuiltinVariableAccordions.js +128 -0
  258. package/dist/components/Variables/BuiltinVariableAccordions.js.map +1 -0
  259. package/dist/components/Variables/EditVariablesButton.d.ts +1 -2
  260. package/dist/components/Variables/EditVariablesButton.d.ts.map +1 -1
  261. package/dist/components/Variables/EditVariablesButton.js +7 -7
  262. package/dist/components/Variables/EditVariablesButton.js.map +1 -1
  263. package/dist/components/Variables/TemplateVariable.d.ts +12 -4
  264. package/dist/components/Variables/TemplateVariable.d.ts.map +1 -1
  265. package/dist/components/Variables/TemplateVariable.js +244 -100
  266. package/dist/components/Variables/TemplateVariable.js.map +1 -1
  267. package/dist/components/Variables/VariableEditor.d.ts +4 -4
  268. package/dist/components/Variables/VariableEditor.d.ts.map +1 -1
  269. package/dist/components/Variables/VariableEditor.js +232 -161
  270. package/dist/components/Variables/VariableEditor.js.map +1 -1
  271. package/dist/components/Variables/VariableList.d.ts +2 -3
  272. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  273. package/dist/components/Variables/VariableList.js +11 -13
  274. package/dist/components/Variables/VariableList.js.map +1 -1
  275. package/dist/components/Variables/index.d.ts +1 -0
  276. package/dist/components/Variables/index.d.ts.map +1 -1
  277. package/dist/components/Variables/index.js +1 -0
  278. package/dist/components/Variables/index.js.map +1 -1
  279. package/dist/components/index.d.ts +1 -2
  280. package/dist/components/index.d.ts.map +1 -1
  281. package/dist/components/index.js +1 -2
  282. package/dist/components/index.js.map +1 -1
  283. package/dist/constants/grid-layout-config.js.map +1 -1
  284. package/dist/constants/index.d.ts +1 -0
  285. package/dist/constants/index.d.ts.map +1 -1
  286. package/dist/constants/index.js +1 -0
  287. package/dist/constants/index.js.map +1 -1
  288. package/dist/constants/styles.d.ts +5 -0
  289. package/dist/constants/styles.d.ts.map +1 -0
  290. package/dist/{utils/time.js → constants/styles.js} +10 -10
  291. package/dist/constants/styles.js.map +1 -0
  292. package/dist/constants/user-interface-text.d.ts +2 -1
  293. package/dist/constants/user-interface-text.d.ts.map +1 -1
  294. package/dist/constants/user-interface-text.js +2 -1
  295. package/dist/constants/user-interface-text.js.map +1 -1
  296. package/dist/context/DashboardProvider/DashboardProvider.d.ts +7 -4
  297. package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -1
  298. package/dist/context/DashboardProvider/DashboardProvider.js +16 -9
  299. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
  300. package/dist/context/DashboardProvider/common.d.ts +3 -3
  301. package/dist/context/DashboardProvider/common.d.ts.map +1 -1
  302. package/dist/context/DashboardProvider/common.js.map +1 -1
  303. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts +1 -1
  304. package/dist/context/DashboardProvider/dashboard-provider-api.js +17 -17
  305. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
  306. package/dist/context/DashboardProvider/delete-panel-group-slice.js +1 -1
  307. package/dist/context/DashboardProvider/delete-panel-group-slice.js.map +1 -1
  308. package/dist/context/DashboardProvider/delete-panel-slice.js +5 -5
  309. package/dist/context/DashboardProvider/delete-panel-slice.js.map +1 -1
  310. package/dist/context/DashboardProvider/discard-changes-dialog-slice.js.map +1 -1
  311. package/dist/context/DashboardProvider/duplicate-panel-slice.js +1 -1
  312. package/dist/context/DashboardProvider/duplicate-panel-slice.js.map +1 -1
  313. package/dist/context/DashboardProvider/edit-json-dialog-slice.js.map +1 -1
  314. package/dist/context/DashboardProvider/index.js.map +1 -1
  315. package/dist/context/DashboardProvider/panel-editor-slice.d.ts +2 -2
  316. package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -1
  317. package/dist/context/DashboardProvider/panel-editor-slice.js +11 -13
  318. package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -1
  319. package/dist/context/DashboardProvider/panel-group-editor-slice.js +2 -2
  320. package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -1
  321. package/dist/context/DashboardProvider/panel-group-slice.d.ts +2 -2
  322. package/dist/context/DashboardProvider/panel-group-slice.d.ts.map +1 -1
  323. package/dist/context/DashboardProvider/panel-group-slice.js +4 -4
  324. package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -1
  325. package/dist/context/DashboardProvider/panel-slice.js.map +1 -1
  326. package/dist/context/DashboardProvider/save-changes-dialog-slice.js.map +1 -1
  327. package/dist/context/DatasourceStoreProvider.d.ts +17 -12
  328. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -1
  329. package/dist/context/DatasourceStoreProvider.js +172 -47
  330. package/dist/context/DatasourceStoreProvider.js.map +1 -1
  331. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts +15 -8
  332. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts.map +1 -1
  333. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js +115 -23
  334. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js.map +1 -1
  335. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts.map +1 -1
  336. package/dist/context/TemplateVariableProvider/hydrationUtils.js +7 -7
  337. package/dist/context/TemplateVariableProvider/hydrationUtils.js.map +1 -1
  338. package/dist/context/TemplateVariableProvider/index.js.map +1 -1
  339. package/dist/context/TemplateVariableProvider/query-params.js.map +1 -1
  340. package/dist/context/TemplateVariableProvider/utils.js +3 -3
  341. package/dist/context/TemplateVariableProvider/utils.js.map +1 -1
  342. package/dist/context/index.js.map +1 -1
  343. package/dist/context/useDashboard.d.ts +3 -3
  344. package/dist/context/useDashboard.d.ts.map +1 -1
  345. package/dist/context/useDashboard.js +24 -7
  346. package/dist/context/useDashboard.js.map +1 -1
  347. package/dist/index.js.map +1 -1
  348. package/dist/stories/decorators/WithDashboard.js.map +1 -1
  349. package/dist/stories/decorators/WithDatasourceStore.js.map +1 -1
  350. package/dist/stories/decorators/WithTemplateVariables.js.map +1 -1
  351. package/dist/stories/decorators/constants.js +2 -2
  352. package/dist/stories/decorators/constants.js.map +1 -1
  353. package/dist/stories/decorators/index.js.map +1 -1
  354. package/dist/test/dashboard-provider.js.map +1 -1
  355. package/dist/test/datasource-provider.d.ts.map +1 -1
  356. package/dist/test/datasource-provider.js +5 -7
  357. package/dist/test/datasource-provider.js.map +1 -1
  358. package/dist/test/index.js.map +1 -1
  359. package/dist/test/plugin-registry.js.map +1 -1
  360. package/dist/test/render.d.ts.map +1 -1
  361. package/dist/test/render.js +9 -4
  362. package/dist/test/render.js.map +1 -1
  363. package/dist/test/setup-tests.js.map +1 -1
  364. package/dist/test/testDashboard.js +10 -10
  365. package/dist/test/testDashboard.js.map +1 -1
  366. package/dist/utils/index.d.ts +0 -1
  367. package/dist/utils/index.d.ts.map +1 -1
  368. package/dist/utils/index.js +0 -1
  369. package/dist/utils/index.js.map +1 -1
  370. package/dist/utils/panelUtils.d.ts +1 -1
  371. package/dist/utils/panelUtils.d.ts.map +1 -1
  372. package/dist/utils/panelUtils.js +2 -2
  373. package/dist/utils/panelUtils.js.map +1 -1
  374. package/dist/validation/index.d.ts +2 -0
  375. package/dist/validation/index.d.ts.map +1 -0
  376. package/dist/{components/ToolbarIconButton → validation}/index.js +1 -1
  377. package/dist/validation/index.js.map +1 -0
  378. package/dist/validation/panel.d.ts +19 -0
  379. package/dist/validation/panel.d.ts.map +1 -0
  380. package/dist/validation/panel.js +21 -0
  381. package/dist/validation/panel.js.map +1 -0
  382. package/dist/views/ViewDashboard/DashboardApp.d.ts +4 -3
  383. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  384. package/dist/views/ViewDashboard/DashboardApp.js +19 -7
  385. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
  386. package/dist/views/ViewDashboard/ViewDashboard.d.ts +2 -2
  387. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  388. package/dist/views/ViewDashboard/ViewDashboard.js +53 -12
  389. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
  390. package/dist/views/ViewDashboard/index.js.map +1 -1
  391. package/dist/views/index.js.map +1 -1
  392. package/package.json +8 -7
  393. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +0 -183
  394. package/dist/cjs/components/ToolbarIconButton/ToolbarIconButton.js +0 -38
  395. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts +0 -14
  396. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +0 -1
  397. package/dist/components/TimeRangeControls/TimeRangeControls.js +0 -165
  398. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +0 -1
  399. package/dist/components/TimeRangeControls/index.d.ts +0 -2
  400. package/dist/components/TimeRangeControls/index.d.ts.map +0 -1
  401. package/dist/components/TimeRangeControls/index.js.map +0 -1
  402. package/dist/components/ToolbarIconButton/ToolbarIconButton.d.ts +0 -6
  403. package/dist/components/ToolbarIconButton/ToolbarIconButton.d.ts.map +0 -1
  404. package/dist/components/ToolbarIconButton/ToolbarIconButton.js +0 -32
  405. package/dist/components/ToolbarIconButton/ToolbarIconButton.js.map +0 -1
  406. package/dist/components/ToolbarIconButton/index.d.ts +0 -2
  407. package/dist/components/ToolbarIconButton/index.d.ts.map +0 -1
  408. package/dist/components/ToolbarIconButton/index.js.map +0 -1
  409. package/dist/utils/time.d.ts +0 -5
  410. package/dist/utils/time.d.ts.map +0 -1
  411. package/dist/utils/time.js.map +0 -1
@@ -16,105 +16,53 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "PanelDrawer", {
18
18
  enumerable: true,
19
- get: ()=>PanelDrawer
19
+ get: function() {
20
+ return PanelDrawer;
21
+ }
20
22
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
23
+ const _jsxruntime = require("react/jsx-runtime");
22
24
  const _react = require("react");
23
- const _material = require("@mui/material");
24
25
  const _components = require("@perses-dev/components");
25
26
  const _context = require("../../context");
26
- const _panelEditorForm = require("./PanelEditorForm");
27
+ const _PanelEditorForm = require("./PanelEditorForm");
27
28
  const PanelDrawer = ()=>{
28
29
  const panelEditor = (0, _context.usePanelEditor)();
29
- const { openDiscardChangesConfirmationDialog , closeDiscardChangesConfirmationDialog } = (0, _context.useDiscardChangesConfirmationDialog)();
30
- const [values, setValues] = (0, _react.useState)(undefined);
31
30
  // When the user clicks close, start closing but don't call the store yet to keep values stable during animtation
32
31
  const [isClosing, setIsClosing] = (0, _react.useState)(false);
33
- const handleClose = ()=>{
34
- const isModified = JSON.stringify(panelEditor === null || panelEditor === void 0 ? void 0 : panelEditor.initialValues) !== JSON.stringify(values);
35
- if (isModified) {
36
- openDiscardChangesConfirmationDialog({
37
- onDiscardChanges: ()=>{
38
- closeDiscardChangesConfirmationDialog();
39
- setIsClosing(true);
40
- },
41
- onCancel: ()=>{
42
- closeDiscardChangesConfirmationDialog();
43
- },
44
- description: 'You have unapplied changes in this panel. Are you sure you want to discard these changes? Changes cannot be recovered.'
45
- });
46
- } else {
47
- setIsClosing(true);
48
- }
49
- };
50
- // Don't call closeDrawer on the store until the Drawer has completely transitioned out
51
- const handleExited = ()=>{
52
- panelEditor === null || panelEditor === void 0 ? void 0 : panelEditor.close();
53
- setIsClosing(false);
54
- };
55
32
  // Drawer is open if we have a model and we're not transitioning out
56
33
  const isOpen = panelEditor !== undefined && isClosing === false;
57
- const handleSubmit = ()=>{
34
+ function handleSave(values) {
58
35
  // This shouldn't happen since we don't render the submit button until we have a model, but check to make TS happy
59
36
  if (panelEditor === undefined || values === undefined) {
60
37
  throw new Error('Cannot apply changes');
61
38
  }
62
39
  panelEditor.applyChanges(values);
63
40
  setIsClosing(true);
41
+ }
42
+ const handleClose = ()=>{
43
+ setIsClosing(true);
44
+ };
45
+ // Don't call closeDrawer on the store until the Drawer has completely transitioned out and reset close state
46
+ const handleExited = ()=>{
47
+ panelEditor === null || panelEditor === void 0 ? void 0 : panelEditor.close();
48
+ setIsClosing(false);
64
49
  };
65
- const handleChange = (0, _react.useCallback)((values)=>{
66
- setValues(values);
67
- }, []);
68
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.Drawer, {
50
+ // Disables closing on click out. This is a quick-win solution to avoid losing draft changes.
51
+ // -> TODO find a way to enable closing by clicking-out in edit view, with a discard confirmation modal popping up
52
+ const handleClickOut = ()=>{
53
+ /* do nothing */ };
54
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.Drawer, {
69
55
  isOpen: isOpen,
70
- onClose: handleClose,
56
+ onClose: handleClickOut,
71
57
  SlideProps: {
72
58
  onExited: handleExited
73
59
  },
74
60
  "data-testid": "panel-editor",
75
- children: panelEditor !== undefined && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
76
- children: [
77
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
78
- sx: {
79
- display: 'flex',
80
- alignItems: 'center',
81
- padding: (theme)=>theme.spacing(1, 2),
82
- borderBottom: (theme)=>`1px solid ${theme.palette.divider}`
83
- },
84
- children: [
85
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Typography, {
86
- variant: "h2",
87
- children: [
88
- panelEditor.mode,
89
- " Panel"
90
- ]
91
- }),
92
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
93
- direction: "row",
94
- spacing: 1,
95
- marginLeft: "auto",
96
- children: [
97
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
98
- type: "submit",
99
- variant: "contained",
100
- onClick: handleSubmit,
101
- children: panelEditor.mode === 'Add' ? 'Add' : 'Apply'
102
- }),
103
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
104
- color: "secondary",
105
- variant: "outlined",
106
- onClick: handleClose,
107
- children: "Cancel"
108
- })
109
- ]
110
- })
111
- ]
112
- }),
113
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_panelEditorForm.PanelEditorForm, {
114
- initialValues: panelEditor.initialValues,
115
- onChange: handleChange
116
- })
117
- ]
61
+ children: panelEditor && /*#__PURE__*/ (0, _jsxruntime.jsx)(_PanelEditorForm.PanelEditorForm, {
62
+ initialAction: panelEditor.mode,
63
+ initialValues: panelEditor.initialValues,
64
+ onSave: handleSave,
65
+ onClose: handleClose
118
66
  })
119
67
  });
120
68
  };
@@ -21,26 +21,33 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- PanelEditorForm: ()=>PanelEditorForm,
25
- panelEditorFormId: ()=>panelEditorFormId
24
+ PanelEditorForm: function() {
25
+ return PanelEditorForm;
26
+ },
27
+ panelEditorFormId: function() {
28
+ return panelEditorFormId;
29
+ }
26
30
  });
27
- const _jsxRuntime = require("react/jsx-runtime");
31
+ const _jsxruntime = require("react/jsx-runtime");
28
32
  const _react = require("react");
29
33
  const _material = require("@mui/material");
30
34
  const _components = require("@perses-dev/components");
31
- const _pluginSystem = require("@perses-dev/plugin-system");
35
+ const _pluginsystem = require("@perses-dev/plugin-system");
36
+ const _reacthookform = require("react-hook-form");
37
+ const _zod = require("@hookform/resolvers/zod");
32
38
  const _context = require("../../context");
33
- const _panelPreview = require("./PanelPreview");
39
+ const _validation = require("../../validation");
40
+ const _PanelPreview = require("./PanelPreview");
34
41
  const _usePanelEditor = require("./usePanelEditor");
35
42
  function PanelEditorForm(props) {
36
- var ref;
37
- const { initialValues: { panelDefinition: initialPanelDef , groupId: initialGroupId } , onChange , } = props;
43
+ const { initialValues: { panelDefinition: initialPanelDef, groupId: initialGroupId }, initialAction, onSave, onClose } = props;
38
44
  const panelGroups = (0, _context.useListPanelGroups)();
39
45
  const [groupId, setGroupId] = (0, _react.useState)(initialGroupId);
40
- const { panelDefinition , setName , setDescription , setQueries , setPlugin , setPanelDefinition } = (0, _usePanelEditor.usePanelEditor)(initialPanelDef);
41
- const { plugin } = panelDefinition.spec;
46
+ const { panelDefinition, setName, setDescription, setQueries, setPlugin, setPanelDefinition } = (0, _usePanelEditor.usePanelEditor)(initialPanelDef);
47
+ const { plugin } = panelDefinition.spec;
48
+ const [isDiscardDialogOpened, setDiscardDialogOpened] = (0, _react.useState)(false);
42
49
  // Use common plugin editor logic even though we've split the inputs up in this form
43
- const pluginEditor = (0, _pluginSystem.usePluginEditor)({
50
+ const pluginEditor = (0, _pluginsystem.usePluginEditor)({
44
51
  pluginType: 'Panel',
45
52
  value: {
46
53
  kind: plugin.kind,
@@ -53,162 +60,248 @@ function PanelEditorForm(props) {
53
60
  setQueries(undefined, isHidden);
54
61
  }
55
62
  });
56
- // Ignore string values (which would be an "empty" value from the Select) since we don't allow them to unset it
57
- const handleGroupChange = (e)=>{
58
- const { value } = e.target;
59
- if (typeof value === 'string') {
60
- return;
63
+ const titleAction = (0, _pluginsystem.getTitleAction)(initialAction, true);
64
+ const submitText = (0, _pluginsystem.getSubmitText)(initialAction, true);
65
+ const form = (0, _reacthookform.useForm)({
66
+ resolver: (0, _zod.zodResolver)(_validation.panelEditorValidationSchema),
67
+ mode: 'onBlur',
68
+ defaultValues: {
69
+ name: initialPanelDef.spec.display.name,
70
+ groupId: initialGroupId,
71
+ description: initialPanelDef.spec.display.description,
72
+ type: pluginEditor.pendingKind ? pluginEditor.pendingKind : plugin.kind
61
73
  }
62
- setGroupId(value);
74
+ });
75
+ const processForm = ()=>{
76
+ const values = {
77
+ groupId,
78
+ panelDefinition
79
+ };
80
+ onSave(values);
63
81
  };
64
- const handlePanelDefinitionChange = (nextPanelDef)=>{
65
- const { kind: pluginKind , spec: pluginSpec } = nextPanelDef.spec.plugin;
82
+ // When user click on cancel, several possibilities:
83
+ // - create action: ask for discard approval
84
+ // - update action: ask for discard approval if changed
85
+ // - read action: don´t ask for discard approval
86
+ function handleCancel() {
87
+ if (JSON.stringify({
88
+ groupId: initialGroupId,
89
+ panelDefinition: initialPanelDef
90
+ }) !== JSON.stringify({
91
+ groupId,
92
+ panelDefinition
93
+ })) {
94
+ setDiscardDialogOpened(true);
95
+ } else {
96
+ onClose();
97
+ }
98
+ }
99
+ const handlePanelDefinitionChange = (nextPanelDefStr)=>{
100
+ const nextPanelDef = JSON.parse(nextPanelDefStr);
101
+ const { kind: pluginKind, spec: pluginSpec } = nextPanelDef.spec.plugin;
66
102
  // if panel plugin kind and spec are modified, then need to save current spec
67
103
  if (panelDefinition.spec.plugin.kind !== pluginKind && JSON.stringify(panelDefinition.spec.plugin.spec) !== JSON.stringify(pluginSpec)) {
68
104
  pluginEditor.rememberCurrentSpecState();
69
105
  }
70
106
  setPanelDefinition(nextPanelDef);
71
107
  };
72
- (0, _react.useEffect)(()=>{
73
- const values = {
74
- groupId,
75
- panelDefinition
76
- };
77
- onChange(values);
78
- }, [
79
- groupId,
80
- panelDefinition,
81
- onChange
82
- ]);
83
- var _name, _title, _description, ref1;
84
- return(// Grid maxHeight allows user to scroll inside Drawer to see all content
85
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
86
- component: "form",
87
- id: panelEditorFormId,
88
- sx: {
89
- flex: 1,
90
- overflowY: 'scroll',
91
- padding: (theme)=>theme.spacing(2)
92
- },
93
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Grid, {
94
- container: true,
95
- spacing: 2,
96
- children: [
97
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Grid, {
98
- item: true,
99
- xs: 8,
100
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TextField, {
101
- required: true,
102
- fullWidth: true,
103
- label: "Name",
104
- value: (_name = panelDefinition.spec.display.name) !== null && _name !== void 0 ? _name : '',
105
- variant: "outlined",
106
- onChange: (e)=>{
107
- setName(e.target.value);
108
- }
109
- })
110
- }),
111
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Grid, {
112
- item: true,
113
- xs: 4,
114
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.FormControl, {
115
- fullWidth: true,
108
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_reacthookform.FormProvider, {
109
+ ...form,
110
+ children: [
111
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
112
+ sx: {
113
+ display: 'flex',
114
+ alignItems: 'center',
115
+ padding: (theme)=>theme.spacing(1, 2),
116
+ borderBottom: (theme)=>`1px solid ${theme.palette.divider}`
117
+ },
118
+ children: [
119
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
120
+ variant: "h2",
121
+ children: [
122
+ titleAction,
123
+ " Panel"
124
+ ]
125
+ }),
126
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
127
+ direction: "row",
128
+ spacing: 1,
129
+ marginLeft: "auto",
116
130
  children: [
117
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.InputLabel, {
118
- id: "select-group",
119
- children: "Group"
131
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
132
+ variant: "contained",
133
+ disabled: !form.formState.isValid,
134
+ onClick: form.handleSubmit(processForm),
135
+ children: submitText
120
136
  }),
121
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Select, {
122
- required: true,
123
- labelId: "select-group",
124
- label: "Group",
125
- value: groupId,
126
- onChange: handleGroupChange,
127
- children: panelGroups.map((panelGroup, index)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
128
- value: panelGroup.id,
129
- children: (_title = panelGroup.title) !== null && _title !== void 0 ? _title : `Group ${index + 1}`
130
- }, panelGroup.id))
137
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
138
+ color: "secondary",
139
+ variant: "outlined",
140
+ onClick: handleCancel,
141
+ children: "Cancel"
131
142
  })
132
143
  ]
133
144
  })
134
- }),
135
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Grid, {
136
- item: true,
137
- xs: 8,
138
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TextField, {
139
- fullWidth: true,
140
- label: "Description",
141
- value: (_description = panelDefinition.spec.display.description) !== null && _description !== void 0 ? _description : '',
142
- variant: "outlined",
143
- onChange: (e)=>{
144
- setDescription(e.target.value);
145
- }
146
- })
147
- }),
148
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Grid, {
149
- item: true,
150
- xs: 4,
145
+ ]
146
+ }),
147
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
148
+ id: panelEditorFormId,
149
+ sx: {
150
+ flex: 1,
151
+ overflowY: 'scroll',
152
+ padding: (theme)=>theme.spacing(2)
153
+ },
154
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Grid, {
155
+ container: true,
156
+ spacing: 2,
151
157
  children: [
152
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.FormControl, {
153
- fullWidth: true,
154
- disabled: pluginEditor.isLoading,
155
- error: pluginEditor.error !== null,
158
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
159
+ item: true,
160
+ xs: 8,
161
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
162
+ name: "name",
163
+ render: ({ field, fieldState })=>{
164
+ var _fieldState_error;
165
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
166
+ ...field,
167
+ required: true,
168
+ fullWidth: true,
169
+ label: "Name",
170
+ error: !!fieldState.error,
171
+ helperText: (_fieldState_error = fieldState.error) === null || _fieldState_error === void 0 ? void 0 : _fieldState_error.message,
172
+ onChange: (event)=>{
173
+ field.onChange(event);
174
+ setName(event.target.value);
175
+ }
176
+ });
177
+ }
178
+ })
179
+ }),
180
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
181
+ item: true,
182
+ xs: 4,
183
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
184
+ name: "groupId",
185
+ render: ({ field, fieldState })=>{
186
+ var _fieldState_error;
187
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
188
+ select: true,
189
+ ...field,
190
+ required: true,
191
+ fullWidth: true,
192
+ label: "Group",
193
+ error: !!fieldState.error,
194
+ helperText: (_fieldState_error = fieldState.error) === null || _fieldState_error === void 0 ? void 0 : _fieldState_error.message,
195
+ onChange: (event)=>{
196
+ field.onChange(event);
197
+ setGroupId(+event.target.value);
198
+ },
199
+ children: panelGroups.map((panelGroup, index)=>/*#__PURE__*/ {
200
+ var _panelGroup_title;
201
+ return (0, _jsxruntime.jsx)(_material.MenuItem, {
202
+ value: panelGroup.id,
203
+ children: (_panelGroup_title = panelGroup.title) !== null && _panelGroup_title !== void 0 ? _panelGroup_title : `Group ${index + 1}`
204
+ }, panelGroup.id);
205
+ })
206
+ });
207
+ }
208
+ })
209
+ }),
210
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
211
+ item: true,
212
+ xs: 8,
213
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
214
+ name: "description",
215
+ render: ({ field, fieldState })=>{
216
+ var _fieldState_error;
217
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
218
+ ...field,
219
+ fullWidth: true,
220
+ label: "Description",
221
+ error: !!fieldState.error,
222
+ helperText: (_fieldState_error = fieldState.error) === null || _fieldState_error === void 0 ? void 0 : _fieldState_error.message,
223
+ onChange: (event)=>{
224
+ field.onChange(event);
225
+ setDescription(event.target.value);
226
+ }
227
+ });
228
+ }
229
+ })
230
+ }),
231
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
232
+ item: true,
233
+ xs: 4,
234
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reacthookform.Controller, {
235
+ name: "type",
236
+ render: ({ field, fieldState })=>/*#__PURE__*/ {
237
+ var _pluginEditor_error, _fieldState_error;
238
+ var _pluginEditor_error_message;
239
+ return (0, _jsxruntime.jsx)(_pluginsystem.PluginKindSelect, {
240
+ ...field,
241
+ pluginType: "Panel",
242
+ required: true,
243
+ fullWidth: true,
244
+ label: "Type",
245
+ disabled: pluginEditor.isLoading,
246
+ error: !!pluginEditor.error || !!fieldState.error,
247
+ helperText: (_pluginEditor_error_message = (_pluginEditor_error = pluginEditor.error) === null || _pluginEditor_error === void 0 ? void 0 : _pluginEditor_error.message) !== null && _pluginEditor_error_message !== void 0 ? _pluginEditor_error_message : (_fieldState_error = fieldState.error) === null || _fieldState_error === void 0 ? void 0 : _fieldState_error.message,
248
+ onChange: (event)=>{
249
+ field.onChange(event);
250
+ pluginEditor.onKindChange(event);
251
+ }
252
+ });
253
+ }
254
+ })
255
+ }),
256
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Grid, {
257
+ item: true,
258
+ xs: 12,
156
259
  children: [
157
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.InputLabel, {
158
- id: "panel-type-label",
159
- children: "Type"
260
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
261
+ variant: "h4",
262
+ marginBottom: 1,
263
+ children: "Preview"
160
264
  }),
161
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.PluginKindSelect, {
162
- pluginType: "Panel",
163
- required: true,
164
- labelId: "panel-type-label",
165
- label: "Type",
166
- value: pluginEditor.pendingKind ? pluginEditor.pendingKind : plugin.kind,
167
- onChange: pluginEditor.onKindChange
265
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.ErrorBoundary, {
266
+ FallbackComponent: _components.ErrorAlert,
267
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_PanelPreview.PanelPreview, {
268
+ panelDefinition: panelDefinition
269
+ })
168
270
  })
169
271
  ]
170
272
  }),
171
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.FormHelperText, {
172
- children: (ref1 = (ref = pluginEditor.error) === null || ref === void 0 ? void 0 : ref.message) !== null && ref1 !== void 0 ? ref1 : ''
173
- })
174
- ]
175
- }),
176
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Grid, {
177
- item: true,
178
- xs: 12,
179
- children: [
180
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
181
- variant: "h4",
182
- marginBottom: 1,
183
- children: "Preview"
184
- }),
185
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.ErrorBoundary, {
186
- FallbackComponent: _components.ErrorAlert,
187
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_panelPreview.PanelPreview, {
188
- panelDefinition: panelDefinition
273
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Grid, {
274
+ item: true,
275
+ xs: 12,
276
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.ErrorBoundary, {
277
+ FallbackComponent: _components.ErrorAlert,
278
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_pluginsystem.PanelSpecEditor, {
279
+ panelDefinition: panelDefinition,
280
+ onJSONChange: handlePanelDefinitionChange,
281
+ onQueriesChange: (queries)=>{
282
+ setQueries(queries);
283
+ },
284
+ onPluginSpecChange: (spec)=>{
285
+ pluginEditor.onSpecChange(spec);
286
+ }
287
+ })
189
288
  })
190
289
  })
191
290
  ]
192
- }),
193
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Grid, {
194
- item: true,
195
- xs: 12,
196
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_components.ErrorBoundary, {
197
- FallbackComponent: _components.ErrorAlert,
198
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.PanelSpecEditor, {
199
- panelDefinition: panelDefinition,
200
- onJSONChange: handlePanelDefinitionChange,
201
- onQueriesChange: (queries)=>{
202
- setQueries(queries);
203
- },
204
- onPluginSpecChange: (spec)=>{
205
- pluginEditor.onSpecChange(spec);
206
- }
207
- })
208
- })
209
291
  })
210
- ]
211
- })
212
- }));
292
+ }),
293
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.DiscardChangesConfirmationDialog, {
294
+ description: "You have unapplied changes in this panel. Are you sure you want to discard these changes? Changes cannot be recovered.",
295
+ isOpen: isDiscardDialogOpened,
296
+ onCancel: ()=>{
297
+ setDiscardDialogOpened(false);
298
+ },
299
+ onDiscardChanges: ()=>{
300
+ setDiscardDialogOpened(false);
301
+ onClose();
302
+ }
303
+ })
304
+ ]
305
+ });
213
306
  }
214
307
  const panelEditorFormId = 'panel-editor-form';
@@ -16,28 +16,29 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "PanelPreview", {
18
18
  enumerable: true,
19
- get: ()=>PanelPreview
19
+ get: function() {
20
+ return PanelPreview;
21
+ }
20
22
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
23
+ const _jsxruntime = require("react/jsx-runtime");
22
24
  const _react = require("react");
23
25
  const _material = require("@mui/material");
24
- const _pluginSystem = require("@perses-dev/plugin-system");
25
- const _panel = require("../Panel");
26
- const _utils = require("../../utils");
26
+ const _pluginsystem = require("@perses-dev/plugin-system");
27
+ const _Panel = require("../Panel");
27
28
  const PANEL_PREVIEW_HEIGHT = 300;
28
29
  const PANEL_PREVIEW_DEFAULT_WIDTH = 840;
29
- function PanelPreview({ panelDefinition }) {
30
+ function PanelPreview({ panelDefinition }) {
30
31
  const boxRef = (0, _react.useRef)(null);
31
32
  let width = PANEL_PREVIEW_DEFAULT_WIDTH;
32
33
  if (boxRef.current !== null) {
33
34
  width = boxRef.current.getBoundingClientRect().width;
34
35
  }
35
- const suggestedStepMs = (0, _utils.useSuggestedStepMs)(width);
36
+ const suggestedStepMs = (0, _pluginsystem.useSuggestedStepMs)(width);
36
37
  if (panelDefinition.spec.plugin.kind === '') {
37
38
  return null;
38
39
  }
39
- var _queries;
40
- const queries = (_queries = panelDefinition.spec.queries) !== null && _queries !== void 0 ? _queries : [];
40
+ var _panelDefinition_spec_queries;
41
+ const queries = (_panelDefinition_spec_queries = panelDefinition.spec.queries) !== null && _panelDefinition_spec_queries !== void 0 ? _panelDefinition_spec_queries : [];
41
42
  // map TimeSeriesQueryDefinition to Definition<UnknownSpec>
42
43
  const definitions = queries.length ? queries.map((query)=>{
43
44
  return {
@@ -45,15 +46,15 @@ function PanelPreview({ panelDefinition }) {
45
46
  spec: query.spec.plugin.spec
46
47
  };
47
48
  }) : [];
48
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
49
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
49
50
  ref: boxRef,
50
51
  height: PANEL_PREVIEW_HEIGHT,
51
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.DataQueriesProvider, {
52
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_pluginsystem.DataQueriesProvider, {
52
53
  definitions: definitions,
53
54
  options: {
54
55
  suggestedStepMs
55
56
  },
56
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_panel.Panel, {
57
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Panel.Panel, {
57
58
  definition: panelDefinition
58
59
  })
59
60
  })
@@ -14,15 +14,18 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./PanelDrawer"), exports);
18
- function _exportStar(from, to) {
17
+ _export_star(require("./PanelDrawer"), exports);
18
+ _export_star(require("./PanelPreview"), exports);
19
+ function _export_star(from, to) {
19
20
  Object.keys(from).forEach(function(k) {
20
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
21
- enumerable: true,
22
- get: function() {
23
- return from[k];
24
- }
25
- });
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
+ }
26
29
  });
27
30
  return from;
28
31
  }