@perses-dev/dashboards 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/cjs/components/Dashboard.js +6 -11
  2. package/dist/cjs/components/DashboardToolbar.js +12 -6
  3. package/dist/cjs/components/GridLayout/GridItemContent.js +7 -15
  4. package/dist/cjs/components/GridLayout/GridLayout.js +27 -22
  5. package/dist/cjs/components/GridLayout/GridTitle.js +27 -7
  6. package/dist/cjs/components/Panel/DeletePanelDialog.js +95 -0
  7. package/dist/cjs/components/Panel/Panel.js +12 -10
  8. package/dist/cjs/components/Panel/Panel.test.js +15 -6
  9. package/dist/cjs/components/Panel/PanelContent.js +3 -2
  10. package/dist/cjs/components/PanelDrawer/PanelDrawer.js +13 -12
  11. package/dist/cjs/components/PanelDrawer/PanelDrawer.test.js +9 -13
  12. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +87 -39
  13. package/dist/cjs/components/PanelDrawer/PanelPreview.js +54 -0
  14. package/dist/cjs/components/PanelGroupDialog/DeletePanelGroupDialog.js +88 -0
  15. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +70 -118
  16. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.test.js +21 -36
  17. package/dist/cjs/components/PanelGroupDialog/PanelGroupEditorForm.js +92 -0
  18. package/dist/cjs/components/PanelGroupDialog/index.js +29 -0
  19. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +8 -11
  20. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.test.js +20 -13
  21. package/dist/cjs/components/Variables/Variable.js +20 -11
  22. package/dist/cjs/components/Variables/VariableEditor.js +240 -0
  23. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +236 -0
  24. package/dist/cjs/components/Variables/VariableEditorForm/index.js +28 -0
  25. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +88 -0
  26. package/dist/cjs/components/Variables/VariableList.js +49 -69
  27. package/dist/cjs/components/Variables/index.js +1 -0
  28. package/dist/cjs/components/index.js +1 -0
  29. package/dist/cjs/context/DashboardProvider/DashboardProvider.js +82 -0
  30. package/dist/cjs/context/DashboardProvider/common.js +18 -0
  31. package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +164 -0
  32. package/dist/cjs/context/DashboardProvider/index.js +29 -0
  33. package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +175 -0
  34. package/dist/cjs/context/DashboardProvider/panel-group-editor-slice.js +102 -0
  35. package/dist/cjs/context/DashboardProvider/panel-group-slice.js +208 -0
  36. package/dist/cjs/context/DatasourceStoreProvider.js +109 -7
  37. package/dist/cjs/context/TemplateVariableProvider.js +8 -1
  38. package/dist/cjs/context/TimeRangeProvider.js +20 -44
  39. package/dist/cjs/context/index.js +1 -3
  40. package/dist/cjs/context/useDashboardSpec.js +61 -0
  41. package/dist/cjs/index.js +1 -0
  42. package/dist/cjs/test/render.js +25 -5
  43. package/dist/cjs/test/setup-tests.js +4 -1
  44. package/dist/cjs/test/testDashboard.js +24 -11
  45. package/dist/cjs/utils/index.js +28 -0
  46. package/dist/cjs/utils/time-range-params.js +145 -0
  47. package/dist/cjs/views/ViewDashboard/DashboardApp.js +5 -8
  48. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +5 -22
  49. package/dist/cjs/views/ViewDashboard/tests/panelGroups.test.js +114 -0
  50. package/dist/components/Dashboard.d.ts +1 -4
  51. package/dist/components/Dashboard.d.ts.map +1 -1
  52. package/dist/components/Dashboard.js +7 -12
  53. package/dist/components/Dashboard.js.map +1 -1
  54. package/dist/components/DashboardToolbar.d.ts.map +1 -1
  55. package/dist/components/DashboardToolbar.js +14 -8
  56. package/dist/components/DashboardToolbar.js.map +1 -1
  57. package/dist/components/GridLayout/GridItemContent.d.ts +2 -4
  58. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  59. package/dist/components/GridLayout/GridItemContent.js +7 -15
  60. package/dist/components/GridLayout/GridItemContent.js.map +1 -1
  61. package/dist/components/GridLayout/GridLayout.d.ts +2 -4
  62. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
  63. package/dist/components/GridLayout/GridLayout.js +28 -23
  64. package/dist/components/GridLayout/GridLayout.js.map +1 -1
  65. package/dist/components/GridLayout/GridTitle.d.ts +2 -1
  66. package/dist/components/GridLayout/GridTitle.d.ts.map +1 -1
  67. package/dist/components/GridLayout/GridTitle.js +28 -8
  68. package/dist/components/GridLayout/GridTitle.js.map +1 -1
  69. package/dist/components/Panel/DeletePanelDialog.d.ts +5 -0
  70. package/dist/components/Panel/DeletePanelDialog.d.ts.map +1 -0
  71. package/dist/components/Panel/DeletePanelDialog.js +84 -0
  72. package/dist/components/Panel/DeletePanelDialog.js.map +1 -0
  73. package/dist/components/Panel/Panel.d.ts +2 -2
  74. package/dist/components/Panel/Panel.d.ts.map +1 -1
  75. package/dist/components/Panel/Panel.js +13 -11
  76. package/dist/components/Panel/Panel.js.map +1 -1
  77. package/dist/components/Panel/Panel.test.d.ts +1 -1
  78. package/dist/components/Panel/Panel.test.d.ts.map +1 -1
  79. package/dist/components/Panel/Panel.test.js +10 -6
  80. package/dist/components/Panel/Panel.test.js.map +1 -1
  81. package/dist/components/Panel/PanelContent.d.ts +4 -1
  82. package/dist/components/Panel/PanelContent.d.ts.map +1 -1
  83. package/dist/components/Panel/PanelContent.js +3 -2
  84. package/dist/components/Panel/PanelContent.js.map +1 -1
  85. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  86. package/dist/components/PanelDrawer/PanelDrawer.js +14 -13
  87. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
  88. package/dist/components/PanelDrawer/PanelDrawer.test.js +9 -13
  89. package/dist/components/PanelDrawer/PanelDrawer.test.js.map +1 -1
  90. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +3 -3
  91. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
  92. package/dist/components/PanelDrawer/PanelEditorForm.js +89 -41
  93. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
  94. package/dist/components/PanelDrawer/PanelPreview.d.ts +4 -0
  95. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -0
  96. package/dist/components/PanelDrawer/PanelPreview.js +48 -0
  97. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -0
  98. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.d.ts +3 -0
  99. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.d.ts.map +1 -0
  100. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.js +77 -0
  101. package/dist/components/PanelGroupDialog/DeletePanelGroupDialog.js.map +1 -0
  102. package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts +4 -2
  103. package/dist/components/PanelGroupDialog/PanelGroupDialog.d.ts.map +1 -1
  104. package/dist/components/PanelGroupDialog/PanelGroupDialog.js +73 -119
  105. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
  106. package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js +20 -35
  107. package/dist/components/PanelGroupDialog/PanelGroupDialog.test.js.map +1 -1
  108. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.d.ts +12 -0
  109. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.d.ts.map +1 -0
  110. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js +82 -0
  111. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -0
  112. package/dist/components/PanelGroupDialog/index.d.ts +3 -0
  113. package/dist/components/PanelGroupDialog/index.d.ts.map +1 -0
  114. package/dist/components/PanelGroupDialog/index.js +16 -0
  115. package/dist/components/PanelGroupDialog/index.js.map +1 -0
  116. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -1
  117. package/dist/components/TimeRangeControls/TimeRangeControls.js +11 -14
  118. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
  119. package/dist/components/TimeRangeControls/TimeRangeControls.test.js +21 -14
  120. package/dist/components/TimeRangeControls/TimeRangeControls.test.js.map +1 -1
  121. package/dist/components/Variables/Variable.js +22 -13
  122. package/dist/components/Variables/Variable.js.map +1 -1
  123. package/dist/components/Variables/VariableEditor.d.ts +8 -0
  124. package/dist/components/Variables/VariableEditor.d.ts.map +1 -0
  125. package/dist/components/Variables/VariableEditor.js +229 -0
  126. package/dist/components/Variables/VariableEditor.js.map +1 -0
  127. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +8 -0
  128. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -0
  129. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +225 -0
  130. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -0
  131. package/dist/components/Variables/VariableEditorForm/index.d.ts +2 -0
  132. package/dist/components/Variables/VariableEditorForm/index.d.ts.map +1 -0
  133. package/dist/components/Variables/VariableEditorForm/index.js +15 -0
  134. package/dist/components/Variables/VariableEditorForm/index.js.map +1 -0
  135. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +21 -0
  136. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -0
  137. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +76 -0
  138. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -0
  139. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  140. package/dist/components/Variables/VariableList.js +47 -72
  141. package/dist/components/Variables/VariableList.js.map +1 -1
  142. package/dist/components/Variables/index.d.ts +1 -0
  143. package/dist/components/Variables/index.d.ts.map +1 -1
  144. package/dist/components/Variables/index.js +1 -0
  145. package/dist/components/Variables/index.js.map +1 -1
  146. package/dist/components/index.d.ts +1 -0
  147. package/dist/components/index.d.ts.map +1 -1
  148. package/dist/components/index.js +1 -0
  149. package/dist/components/index.js.map +1 -1
  150. package/dist/context/DashboardProvider/DashboardProvider.d.ts +25 -0
  151. package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -0
  152. package/dist/context/DashboardProvider/DashboardProvider.js +64 -0
  153. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -0
  154. package/dist/context/DashboardProvider/common.d.ts +5 -0
  155. package/dist/context/DashboardProvider/common.d.ts.map +1 -0
  156. package/dist/context/DashboardProvider/common.js +17 -0
  157. package/dist/context/DashboardProvider/common.js.map +1 -0
  158. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts +74 -0
  159. package/dist/context/DashboardProvider/dashboard-provider-api.d.ts.map +1 -0
  160. package/dist/context/DashboardProvider/dashboard-provider-api.js +163 -0
  161. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -0
  162. package/dist/context/DashboardProvider/index.d.ts +5 -0
  163. package/dist/context/DashboardProvider/index.d.ts.map +1 -0
  164. package/dist/context/DashboardProvider/index.js +16 -0
  165. package/dist/context/DashboardProvider/index.js.map +1 -0
  166. package/dist/context/DashboardProvider/panel-editor-slice.d.ts +85 -0
  167. package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -0
  168. package/dist/context/DashboardProvider/panel-editor-slice.js +171 -0
  169. package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -0
  170. package/dist/context/DashboardProvider/panel-group-editor-slice.d.ts +40 -0
  171. package/dist/context/DashboardProvider/panel-group-editor-slice.d.ts.map +1 -0
  172. package/dist/context/DashboardProvider/panel-group-editor-slice.js +96 -0
  173. package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -0
  174. package/dist/context/DashboardProvider/panel-group-slice.d.ts +80 -0
  175. package/dist/context/DashboardProvider/panel-group-slice.d.ts.map +1 -0
  176. package/dist/context/DashboardProvider/panel-group-slice.js +204 -0
  177. package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -0
  178. package/dist/context/DatasourceStoreProvider.d.ts +10 -2
  179. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -1
  180. package/dist/context/DatasourceStoreProvider.js +111 -9
  181. package/dist/context/DatasourceStoreProvider.js.map +1 -1
  182. package/dist/context/TemplateVariableProvider.d.ts +2 -0
  183. package/dist/context/TemplateVariableProvider.d.ts.map +1 -1
  184. package/dist/context/TemplateVariableProvider.js +8 -1
  185. package/dist/context/TemplateVariableProvider.js.map +1 -1
  186. package/dist/context/TimeRangeProvider.d.ts +9 -2
  187. package/dist/context/TimeRangeProvider.d.ts.map +1 -1
  188. package/dist/context/TimeRangeProvider.js +15 -43
  189. package/dist/context/TimeRangeProvider.js.map +1 -1
  190. package/dist/context/index.d.ts +1 -3
  191. package/dist/context/index.d.ts.map +1 -1
  192. package/dist/context/index.js +1 -3
  193. package/dist/context/index.js.map +1 -1
  194. package/dist/context/useDashboardSpec.d.ts +3 -0
  195. package/dist/context/useDashboardSpec.d.ts.map +1 -0
  196. package/dist/context/useDashboardSpec.js +55 -0
  197. package/dist/context/useDashboardSpec.js.map +1 -0
  198. package/dist/index.d.ts +1 -0
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +1 -0
  201. package/dist/index.js.map +1 -1
  202. package/dist/test/plugin-registry.d.ts +2 -2
  203. package/dist/test/plugin-registry.d.ts.map +1 -1
  204. package/dist/test/plugin-registry.js.map +1 -1
  205. package/dist/test/render.d.ts +2 -1
  206. package/dist/test/render.d.ts.map +1 -1
  207. package/dist/test/render.js +25 -5
  208. package/dist/test/render.js.map +1 -1
  209. package/dist/test/setup-tests.d.ts.map +1 -1
  210. package/dist/test/setup-tests.js +4 -0
  211. package/dist/test/setup-tests.js.map +1 -1
  212. package/dist/test/testDashboard.d.ts.map +1 -1
  213. package/dist/test/testDashboard.js +24 -11
  214. package/dist/test/testDashboard.js.map +1 -1
  215. package/dist/utils/index.d.ts +2 -0
  216. package/dist/utils/index.d.ts.map +1 -0
  217. package/dist/utils/index.js +15 -0
  218. package/dist/utils/index.js.map +1 -0
  219. package/dist/utils/time-range-params.d.ts +25 -0
  220. package/dist/utils/time-range-params.d.ts.map +1 -0
  221. package/dist/utils/time-range-params.js +137 -0
  222. package/dist/utils/time-range-params.js.map +1 -0
  223. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  224. package/dist/views/ViewDashboard/DashboardApp.js +6 -9
  225. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
  226. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  227. package/dist/views/ViewDashboard/ViewDashboard.js +5 -22
  228. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
  229. package/dist/views/ViewDashboard/tests/panelGroups.test.d.ts +2 -0
  230. package/dist/views/ViewDashboard/tests/panelGroups.test.d.ts.map +1 -0
  231. package/dist/views/ViewDashboard/tests/panelGroups.test.js +107 -0
  232. package/dist/views/ViewDashboard/tests/panelGroups.test.js.map +1 -0
  233. package/package.json +5 -4
  234. package/dist/cjs/components/PanelDrawer/PanelSpecEditor.js +0 -40
  235. package/dist/cjs/components/PanelDrawer/PanelTypeSelect.js +0 -38
  236. package/dist/cjs/components/PanelDrawer/panel-editor-model.js +0 -140
  237. package/dist/cjs/context/DashboardAppSlice.js +0 -57
  238. package/dist/cjs/context/DashboardProvider.js +0 -128
  239. package/dist/cjs/context/LayoutsSlice.js +0 -55
  240. package/dist/cjs/context/QueryStringProvider.js +0 -89
  241. package/dist/components/PanelDrawer/PanelSpecEditor.d.ts +0 -7
  242. package/dist/components/PanelDrawer/PanelSpecEditor.d.ts.map +0 -1
  243. package/dist/components/PanelDrawer/PanelSpecEditor.js +0 -34
  244. package/dist/components/PanelDrawer/PanelSpecEditor.js.map +0 -1
  245. package/dist/components/PanelDrawer/PanelTypeSelect.d.ts +0 -8
  246. package/dist/components/PanelDrawer/PanelTypeSelect.d.ts.map +0 -1
  247. package/dist/components/PanelDrawer/PanelTypeSelect.js +0 -34
  248. package/dist/components/PanelDrawer/PanelTypeSelect.js.map +0 -1
  249. package/dist/components/PanelDrawer/panel-editor-model.d.ts +0 -27
  250. package/dist/components/PanelDrawer/panel-editor-model.d.ts.map +0 -1
  251. package/dist/components/PanelDrawer/panel-editor-model.js +0 -133
  252. package/dist/components/PanelDrawer/panel-editor-model.js.map +0 -1
  253. package/dist/context/DashboardAppSlice.d.ts +0 -26
  254. package/dist/context/DashboardAppSlice.d.ts.map +0 -1
  255. package/dist/context/DashboardAppSlice.js +0 -45
  256. package/dist/context/DashboardAppSlice.js.map +0 -1
  257. package/dist/context/DashboardProvider.d.ts +0 -36
  258. package/dist/context/DashboardProvider.d.ts.map +0 -1
  259. package/dist/context/DashboardProvider.js +0 -107
  260. package/dist/context/DashboardProvider.js.map +0 -1
  261. package/dist/context/LayoutsSlice.d.ts +0 -12
  262. package/dist/context/LayoutsSlice.d.ts.map +0 -1
  263. package/dist/context/LayoutsSlice.js +0 -43
  264. package/dist/context/LayoutsSlice.js.map +0 -1
  265. package/dist/context/QueryStringProvider.d.ts +0 -13
  266. package/dist/context/QueryStringProvider.d.ts.map +0 -1
  267. package/dist/context/QueryStringProvider.js +0 -40
  268. package/dist/context/QueryStringProvider.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/context/DashboardAppSlice.tsx"],"sourcesContent":["// Copyright 2022 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { immer } from 'zustand/middleware/immer';\nimport { useDashboardStore } from './DashboardProvider';\n\ninterface PanelDrawer {\n groupIndex?: number;\n panelKey?: string;\n}\ninterface PanelGroupDialog {\n groupIndex?: number;\n}\n\nexport interface DashboardAppSlice {\n panelDrawer?: PanelDrawer;\n openPanelDrawer: (panelDrawer: PanelDrawer) => void;\n closePanelDrawer: () => void;\n panelGroupDialog?: PanelGroupDialog;\n openPanelGroupDialog: (groupIndex?: number) => void;\n closePanelGroupDialog: () => void;\n}\n\nexport const createDashboardAppSlice = immer<DashboardAppSlice>((set) => ({\n openPanelDrawer: ({ groupIndex, panelKey }: PanelDrawer) =>\n set((state) => {\n state.panelDrawer = {\n groupIndex,\n panelKey,\n };\n }),\n closePanelDrawer: () =>\n set((state) => {\n state.panelDrawer = undefined;\n }),\n openPanelGroupDialog: (groupIndex?: number) =>\n set((state) => {\n state.panelGroupDialog = { groupIndex };\n }),\n closePanelGroupDialog: () =>\n set((state) => {\n state.panelGroupDialog = undefined;\n }),\n}));\n\nexport function useDashboardApp() {\n return useDashboardStore(\n ({\n panelDrawer,\n openPanelDrawer,\n closePanelDrawer,\n panelGroupDialog,\n openPanelGroupDialog,\n closePanelGroupDialog,\n }) => ({\n panelDrawer,\n openPanelDrawer,\n closePanelDrawer,\n panelGroupDialog,\n openPanelGroupDialog,\n closePanelGroupDialog,\n })\n );\n}\n"],"names":["immer","useDashboardStore","createDashboardAppSlice","set","openPanelDrawer","groupIndex","panelKey","state","panelDrawer","closePanelDrawer","undefined","openPanelGroupDialog","panelGroupDialog","closePanelGroupDialog","useDashboardApp"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,KAAK,QAAQ,0BAA0B,CAAC;AACjD,SAASC,iBAAiB,QAAQ,qBAAqB,CAAC;AAmBxD,OAAO,MAAMC,uBAAuB,GAAGF,KAAK,CAAoB,CAACG,GAAG,GAAM,CAAA;QACxEC,eAAe,EAAE,CAAC,EAAEC,UAAU,CAAA,EAAEC,QAAQ,CAAA,EAAe,GACrDH,GAAG,CAAC,CAACI,KAAK,GAAK;gBACbA,KAAK,CAACC,WAAW,GAAG;oBAClBH,UAAU;oBACVC,QAAQ;iBACT,CAAC;YACJ,CAAC,CAAC;QACJG,gBAAgB,EAAE,IAChBN,GAAG,CAAC,CAACI,KAAK,GAAK;gBACbA,KAAK,CAACC,WAAW,GAAGE,SAAS,CAAC;YAChC,CAAC,CAAC;QACJC,oBAAoB,EAAE,CAACN,UAAmB,GACxCF,GAAG,CAAC,CAACI,KAAK,GAAK;gBACbA,KAAK,CAACK,gBAAgB,GAAG;oBAAEP,UAAU;iBAAE,CAAC;YAC1C,CAAC,CAAC;QACJQ,qBAAqB,EAAE,IACrBV,GAAG,CAAC,CAACI,KAAK,GAAK;gBACbA,KAAK,CAACK,gBAAgB,GAAGF,SAAS,CAAC;YACrC,CAAC,CAAC;KACL,CAAA,AAAC,CAAC,CAAC;AAEJ,OAAO,SAASI,eAAe,GAAG;IAChC,OAAOb,iBAAiB,CACtB,CAAC,EACCO,WAAW,CAAA,EACXJ,eAAe,CAAA,EACfK,gBAAgB,CAAA,EAChBG,gBAAgB,CAAA,EAChBD,oBAAoB,CAAA,EACpBE,qBAAqB,CAAA,IACtB,GAAM,CAAA;YACLL,WAAW;YACXJ,eAAe;YACfK,gBAAgB;YAChBG,gBAAgB;YAChBD,oBAAoB;YACpBE,qBAAqB;SACtB,CAAA,AAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,36 +0,0 @@
1
- /// <reference types="react" />
2
- import type { StoreApi } from 'zustand';
3
- import { DashboardSpec, LayoutDefinition, PanelDefinition } from '@perses-dev/core';
4
- import { DashboardAppSlice } from './DashboardAppSlice';
5
- import { LayoutsSlice } from './LayoutsSlice';
6
- export interface DashboardStoreState extends DashboardAppSlice, LayoutsSlice {
7
- dashboard: DashboardSpec;
8
- layouts: LayoutDefinition[];
9
- panels: Record<string, PanelDefinition>;
10
- updatePanel: (name: string, panel: PanelDefinition, groupIndex?: number) => void;
11
- isEditMode: boolean;
12
- setEditMode: (isEditMode: boolean) => void;
13
- }
14
- export interface DashboardStoreProps {
15
- dashboardSpec: DashboardSpec;
16
- isEditMode?: boolean;
17
- }
18
- export interface DashboardProviderProps {
19
- initialState: DashboardStoreProps;
20
- children?: React.ReactNode;
21
- }
22
- export declare function usePanels(): {
23
- panels: Record<string, PanelDefinition<unknown>>;
24
- updatePanel: (name: string, panel: PanelDefinition<unknown>, groupIndex?: number | undefined) => void;
25
- };
26
- export declare function useEditMode(): {
27
- isEditMode: boolean;
28
- setEditMode: (isEditMode: boolean) => void;
29
- };
30
- export declare function useDashboard(): {
31
- dashboard: DashboardSpec;
32
- };
33
- export declare const DashboardContext: import("react").Context<StoreApi<DashboardStoreState> | undefined>;
34
- export declare function useDashboardStore<T>(selector: (state: DashboardStoreState) => T): T;
35
- export declare function DashboardProvider(props: DashboardProviderProps): JSX.Element;
36
- //# sourceMappingURL=DashboardProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardProvider.d.ts","sourceRoot":"","sources":["../../src/context/DashboardProvider.tsx"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,OAAO,EAAE,aAAa,EAAsB,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAElE,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB,EAAE,YAAY;IAC1E,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,mBAAmB,CAAC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,SAAS;;;EAExB;AAED,wBAAgB,WAAW;;;EAE1B;AAED,wBAAgB,YAAY;;EAU3B;AAED,eAAO,MAAM,gBAAgB,oEAAsE,CAAC;AAEpG,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,CAAC,KAM/E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,eAsD9D"}
@@ -1,107 +0,0 @@
1
- // Copyright 2022 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
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import { createStore, useStore } from 'zustand';
15
- import { immer } from 'zustand/middleware/immer';
16
- import shallow from 'zustand/shallow';
17
- import { createContext, useContext } from 'react';
18
- import produce from 'immer';
19
- import { createDashboardAppSlice } from './DashboardAppSlice';
20
- import { createLayoutsSlice } from './LayoutsSlice';
21
- export function usePanels() {
22
- return useDashboardStore(({ panels , updatePanel })=>({
23
- panels,
24
- updatePanel
25
- }));
26
- }
27
- export function useEditMode() {
28
- return useDashboardStore(({ isEditMode , setEditMode })=>({
29
- isEditMode,
30
- setEditMode
31
- }));
32
- }
33
- export function useDashboard() {
34
- const selectDashboardSpec = (state)=>{
35
- return produce(state.dashboard, (draftState)=>{
36
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
- draftState.panels = state.panels;
38
- draftState.layouts = state.layouts;
39
- });
40
- };
41
- const dashboard = useDashboardStore(selectDashboardSpec);
42
- return {
43
- dashboard
44
- };
45
- }
46
- export const DashboardContext = /*#__PURE__*/ createContext(undefined);
47
- export function useDashboardStore(selector) {
48
- const store = useContext(DashboardContext);
49
- if (store === undefined) {
50
- throw new Error('No DashboardContext found. Did you forget a Provider?');
51
- }
52
- return useStore(store, selector, shallow);
53
- }
54
- export function DashboardProvider(props) {
55
- const { children , initialState: { dashboardSpec , isEditMode } , } = props;
56
- const { layouts , panels } = dashboardSpec;
57
- const dashboardStore = createStore()(immer((set, get, api)=>{
58
- return {
59
- ...createDashboardAppSlice(set, get, api, []),
60
- ...createLayoutsSlice(set, get, api, []),
61
- layouts,
62
- panels,
63
- dashboard: dashboardSpec,
64
- updatePanel: (name, panel, groupIndex = 0)=>{
65
- return set((state)=>{
66
- // add new panel to layouts if panels[name] is undefined
67
- if (state.panels[name] === undefined) {
68
- var ref;
69
- // find maximum y so new panel is added to the end of the grid
70
- let maxY = 0;
71
- (ref = state.layouts[groupIndex]) === null || ref === void 0 ? void 0 : ref.spec.items.forEach((layout)=>{
72
- if (layout.y > maxY) {
73
- maxY = layout.y;
74
- }
75
- });
76
- const panelLayout = {
77
- x: 0,
78
- y: maxY + 1,
79
- width: 12,
80
- height: 6,
81
- content: {
82
- $ref: `#/spec/panels/${name}`
83
- }
84
- };
85
- const layouts = state.layouts;
86
- if (layouts && layouts[groupIndex]) {
87
- var ref1;
88
- (ref1 = layouts[groupIndex]) === null || ref1 === void 0 ? void 0 : ref1.spec.items.push(panelLayout);
89
- }
90
- }
91
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
- state.panels[name] = panel;
93
- });
94
- },
95
- isEditMode: !!isEditMode,
96
- setEditMode: (isEditMode)=>set({
97
- isEditMode
98
- })
99
- };
100
- }));
101
- return /*#__PURE__*/ _jsx(DashboardContext.Provider, {
102
- value: dashboardStore,
103
- children: children
104
- });
105
- }
106
-
107
- //# sourceMappingURL=DashboardProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/context/DashboardProvider.tsx"],"sourcesContent":["// Copyright 2022 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { createStore, useStore } from 'zustand';\nimport type { StoreApi } from 'zustand';\nimport { immer } from 'zustand/middleware/immer';\nimport shallow from 'zustand/shallow';\nimport { createContext, useContext } from 'react';\nimport produce from 'immer';\nimport { DashboardSpec, GridItemDefinition, LayoutDefinition, PanelDefinition } from '@perses-dev/core';\nimport { DashboardAppSlice, createDashboardAppSlice } from './DashboardAppSlice';\nimport { LayoutsSlice, createLayoutsSlice } from './LayoutsSlice';\n\nexport interface DashboardStoreState extends DashboardAppSlice, LayoutsSlice {\n dashboard: DashboardSpec;\n layouts: LayoutDefinition[];\n panels: Record<string, PanelDefinition>;\n updatePanel: (name: string, panel: PanelDefinition, groupIndex?: number) => void;\n isEditMode: boolean;\n setEditMode: (isEditMode: boolean) => void;\n}\n\nexport interface DashboardStoreProps {\n dashboardSpec: DashboardSpec;\n isEditMode?: boolean;\n}\nexport interface DashboardProviderProps {\n initialState: DashboardStoreProps;\n children?: React.ReactNode;\n}\n\nexport function usePanels() {\n return useDashboardStore(({ panels, updatePanel }) => ({ panels, updatePanel }));\n}\n\nexport function useEditMode() {\n return useDashboardStore(({ isEditMode, setEditMode }) => ({ isEditMode, setEditMode }));\n}\n\nexport function useDashboard() {\n const selectDashboardSpec = (state: DashboardStoreState) => {\n return produce(state.dashboard, (draftState) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n draftState.panels = state.panels as any;\n draftState.layouts = state.layouts;\n });\n };\n const dashboard = useDashboardStore(selectDashboardSpec);\n return { dashboard };\n}\n\nexport const DashboardContext = createContext<StoreApi<DashboardStoreState> | undefined>(undefined);\n\nexport function useDashboardStore<T>(selector: (state: DashboardStoreState) => T) {\n const store = useContext(DashboardContext);\n if (store === undefined) {\n throw new Error('No DashboardContext found. Did you forget a Provider?');\n }\n return useStore(store, selector, shallow);\n}\n\nexport function DashboardProvider(props: DashboardProviderProps) {\n const {\n children,\n initialState: { dashboardSpec, isEditMode },\n } = props;\n\n const { layouts, panels } = dashboardSpec;\n\n const dashboardStore = createStore<DashboardStoreState>()(\n immer((set, get, api) => {\n return {\n ...(createDashboardAppSlice(set, get, api, []) as unknown as DashboardAppSlice),\n ...(createLayoutsSlice(set, get, api, []) as unknown as LayoutsSlice),\n layouts,\n panels,\n dashboard: dashboardSpec,\n updatePanel: (name: string, panel: PanelDefinition, groupIndex = 0) =>\n set((state) => {\n // add new panel to layouts if panels[name] is undefined\n if (state.panels[name] === undefined) {\n // find maximum y so new panel is added to the end of the grid\n let maxY = 0;\n state.layouts[groupIndex]?.spec.items.forEach((layout) => {\n if (layout.y > maxY) {\n maxY = layout.y;\n }\n });\n const panelLayout: GridItemDefinition = {\n x: 0,\n y: maxY + 1,\n width: 12,\n height: 6,\n content: { $ref: `#/spec/panels/${name}` },\n };\n const layouts = state.layouts;\n if (layouts && layouts[groupIndex]) {\n layouts[groupIndex]?.spec.items.push(panelLayout);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n state.panels[name] = panel as any;\n }),\n isEditMode: !!isEditMode,\n setEditMode: (isEditMode: boolean) => set({ isEditMode }),\n };\n })\n );\n\n return (\n <DashboardContext.Provider value={dashboardStore as StoreApi<DashboardStoreState>}>\n {children}\n </DashboardContext.Provider>\n );\n}\n"],"names":["createStore","useStore","immer","shallow","createContext","useContext","produce","createDashboardAppSlice","createLayoutsSlice","usePanels","useDashboardStore","panels","updatePanel","useEditMode","isEditMode","setEditMode","useDashboard","selectDashboardSpec","state","dashboard","draftState","layouts","DashboardContext","undefined","selector","store","Error","DashboardProvider","props","children","initialState","dashboardSpec","dashboardStore","set","get","api","name","panel","groupIndex","maxY","spec","items","forEach","layout","y","panelLayout","x","width","height","content","$ref","push","Provider","value"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { LayoutDefinition, GridItemDefinition } from '@perses-dev/core';
2
- export interface LayoutsSlice {
3
- updateLayout: (layout: LayoutDefinition, index?: number) => void;
4
- addItemToLayout: (index: number, item: GridItemDefinition) => void;
5
- }
6
- export declare const createLayoutsSlice: import("zustand").StateCreator<LayoutsSlice, [], [["zustand/immer", never]], LayoutsSlice>;
7
- export declare function useLayouts(): {
8
- layouts: import("@perses-dev/core").GridDefinition[];
9
- updateLayout: (layout: import("@perses-dev/core").GridDefinition, index?: number | undefined) => void;
10
- addItemToLayout: (index: number, item: GridItemDefinition) => void;
11
- };
12
- //# sourceMappingURL=LayoutsSlice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutsSlice.d.ts","sourceRoot":"","sources":["../../src/context/LayoutsSlice.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAIxE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpE;AAED,eAAO,MAAM,kBAAkB,4FAgB5B,CAAC;AAEJ,wBAAgB,UAAU;;;;EAMzB"}
@@ -1,43 +0,0 @@
1
- // Copyright 2022 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
- import { immer } from 'zustand/middleware/immer';
14
- import { useDashboardStore } from './DashboardProvider';
15
- export const createLayoutsSlice = immer((set)=>{
16
- return {
17
- updateLayout: (layout, index)=>set((state)=>{
18
- if (index === undefined) {
19
- state.layouts.unshift(layout);
20
- } else {
21
- state.layouts[index] = layout;
22
- }
23
- }),
24
- addItemToLayout: (index, item)=>{
25
- return set((state)=>{
26
- const layouts = state.layouts;
27
- if (layouts && layouts[index]) {
28
- var ref;
29
- (ref = layouts[index]) === null || ref === void 0 ? void 0 : ref.spec.items.push(item);
30
- }
31
- });
32
- }
33
- };
34
- });
35
- export function useLayouts() {
36
- return useDashboardStore(({ layouts , updateLayout , addItemToLayout })=>({
37
- layouts,
38
- updateLayout,
39
- addItemToLayout
40
- }));
41
- }
42
-
43
- //# sourceMappingURL=LayoutsSlice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/context/LayoutsSlice.tsx"],"sourcesContent":["// Copyright 2022 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { LayoutDefinition, GridItemDefinition } from '@perses-dev/core';\nimport { immer } from 'zustand/middleware/immer';\nimport { DashboardStoreState, useDashboardStore } from './DashboardProvider';\n\nexport interface LayoutsSlice {\n updateLayout: (layout: LayoutDefinition, index?: number) => void;\n addItemToLayout: (index: number, item: GridItemDefinition) => void;\n}\n\nexport const createLayoutsSlice = immer<LayoutsSlice>((set) => ({\n updateLayout: (layout: LayoutDefinition, index?: number) =>\n set((state) => {\n if (index === undefined) {\n (state as DashboardStoreState).layouts.unshift(layout);\n } else {\n (state as DashboardStoreState).layouts[index] = layout;\n }\n }),\n addItemToLayout: (index: number, item: GridItemDefinition) =>\n set((state) => {\n const layouts = (state as DashboardStoreState).layouts;\n if (layouts && layouts[index]) {\n layouts[index]?.spec.items.push(item);\n }\n }),\n}));\n\nexport function useLayouts() {\n return useDashboardStore(({ layouts, updateLayout, addItemToLayout }) => ({\n layouts,\n updateLayout,\n addItemToLayout,\n }));\n}\n"],"names":["immer","useDashboardStore","createLayoutsSlice","set","updateLayout","layout","index","state","undefined","layouts","unshift","addItemToLayout","item","spec","items","push","useLayouts"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,SAASA,KAAK,QAAQ,0BAA0B,CAAC;AACjD,SAA8BC,iBAAiB,QAAQ,qBAAqB,CAAC;AAO7E,OAAO,MAAMC,kBAAkB,GAAGF,KAAK,CAAe,CAACG,GAAG;IAAM,OAAA;QAC9DC,YAAY,EAAE,CAACC,MAAwB,EAAEC,KAAc,GACrDH,GAAG,CAAC,CAACI,KAAK,GAAK;gBACb,IAAID,KAAK,KAAKE,SAAS,EAAE;oBACvB,AAACD,KAAK,CAAyBE,OAAO,CAACC,OAAO,CAACL,MAAM,CAAC,CAAC;gBACzD,OAAO;oBACL,AAACE,KAAK,CAAyBE,OAAO,CAACH,KAAK,CAAC,GAAGD,MAAM,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC;QACJM,eAAe,EAAE,CAACL,KAAa,EAAEM,IAAwB;YACvDT,OAAAA,GAAG,CAAC,CAACI,KAAK,GAAK;gBACb,MAAME,OAAO,GAAG,AAACF,KAAK,CAAyBE,OAAO,AAAC;gBACvD,IAAIA,OAAO,IAAIA,OAAO,CAACH,KAAK,CAAC,EAAE;wBAC7BG,GAAc;oBAAdA,CAAAA,GAAc,GAAdA,OAAO,CAACH,KAAK,CAAC,cAAdG,GAAc,WAAM,GAApBA,KAAAA,CAAoB,GAApBA,GAAc,CAAEI,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAA;SAAA;KACL,CAAA;CAAC,CAAC,CAAC;AAEJ,OAAO,SAASI,UAAU,GAAG;IAC3B,OAAOf,iBAAiB,CAAC,CAAC,EAAEQ,OAAO,CAAA,EAAEL,YAAY,CAAA,EAAEO,eAAe,CAAA,EAAE,GAAM,CAAA;YACxEF,OAAO;YACPL,YAAY;YACZO,eAAe;SAChB,CAAA,AAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { QueryString } from '@perses-dev/plugin-system';
3
- export interface QueryStringProviderProps {
4
- queryString: URLSearchParams;
5
- setQueryString?: (queryString: URLSearchParams) => void;
6
- children?: React.ReactNode;
7
- }
8
- /**
9
- * Allows apps to provide their own query string implementations
10
- */
11
- export declare function QueryStringProvider(props: QueryStringProviderProps): JSX.Element;
12
- export declare function useQueryString(): QueryString;
13
- //# sourceMappingURL=QueryStringProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryStringProvider.d.ts","sourceRoot":"","sources":["../../src/context/QueryStringProvider.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,WAAW,EAAsB,MAAM,2BAA2B,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,eAAe,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,eAMlE;AAED,wBAAgB,cAAc,IAAI,WAAW,CAM5C"}
@@ -1,40 +0,0 @@
1
- // Copyright 2022 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
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import React, { useContext, useMemo } from 'react';
15
- import { QueryStringContext } from '@perses-dev/plugin-system';
16
- /**
17
- * Allows apps to provide their own query string implementations
18
- */ export function QueryStringProvider(props) {
19
- const { queryString , setQueryString , children } = props;
20
- const ctx = useMemo(()=>({
21
- queryString,
22
- setQueryString
23
- }), [
24
- queryString,
25
- setQueryString
26
- ]);
27
- return /*#__PURE__*/ _jsx(QueryStringContext.Provider, {
28
- value: ctx,
29
- children: children
30
- });
31
- }
32
- export function useQueryString() {
33
- const ctx = useContext(QueryStringContext);
34
- if (ctx === undefined) {
35
- throw new Error('No QueryStringContext found. Did you forget a Provider?');
36
- }
37
- return ctx;
38
- }
39
-
40
- //# sourceMappingURL=QueryStringProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/context/QueryStringProvider.tsx"],"sourcesContent":["// Copyright 2022 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React, { useContext, useMemo } from 'react';\nimport { QueryString, QueryStringContext } from '@perses-dev/plugin-system';\n\nexport interface QueryStringProviderProps {\n queryString: URLSearchParams;\n setQueryString?: (queryString: URLSearchParams) => void;\n children?: React.ReactNode;\n}\n\n/**\n * Allows apps to provide their own query string implementations\n */\nexport function QueryStringProvider(props: QueryStringProviderProps) {\n const { queryString, setQueryString, children } = props;\n\n const ctx = useMemo(() => ({ queryString, setQueryString }), [queryString, setQueryString]);\n\n return <QueryStringContext.Provider value={ctx}>{children}</QueryStringContext.Provider>;\n}\n\nexport function useQueryString(): QueryString {\n const ctx = useContext(QueryStringContext);\n if (ctx === undefined) {\n throw new Error('No QueryStringContext found. Did you forget a Provider?');\n }\n return ctx;\n}\n"],"names":["React","useContext","useMemo","QueryStringContext","QueryStringProvider","props","queryString","setQueryString","children","ctx","Provider","value","useQueryString","undefined","Error"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO,CAAC;AACnD,SAAsBC,kBAAkB,QAAQ,2BAA2B,CAAC;AAQ5E;;CAEC,GACD,OAAO,SAASC,mBAAmB,CAACC,KAA+B,EAAE;IACnE,MAAM,EAAEC,WAAW,CAAA,EAAEC,cAAc,CAAA,EAAEC,QAAQ,CAAA,EAAE,GAAGH,KAAK,AAAC;IAExD,MAAMI,GAAG,GAAGP,OAAO,CAAC,IAAO,CAAA;YAAEI,WAAW;YAAEC,cAAc;SAAE,CAAA,AAAC,EAAE;QAACD,WAAW;QAAEC,cAAc;KAAC,CAAC,AAAC;IAE5F,qBAAO,KAACJ,kBAAkB,CAACO,QAAQ;QAACC,KAAK,EAAEF,GAAG;kBAAGD,QAAQ;MAA+B,CAAC;AAC3F,CAAC;AAED,OAAO,SAASI,cAAc,GAAgB;IAC5C,MAAMH,GAAG,GAAGR,UAAU,CAACE,kBAAkB,CAAC,AAAC;IAC3C,IAAIM,GAAG,KAAKI,SAAS,EAAE;QACrB,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAOL,GAAG,CAAC;AACb,CAAC"}