@grafana/scenes 6.7.0 → 6.8.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 (331) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +33 -0
  3. package/dist/esm/dist/esm/behaviors/CursorSync.js +76 -0
  4. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +44 -0
  5. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +14 -0
  6. package/dist/esm/dist/esm/components/EmbeddedScene.js +59 -0
  7. package/dist/esm/dist/esm/components/NestedScene.js +95 -0
  8. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +27 -0
  9. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +176 -0
  10. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +104 -0
  11. package/dist/esm/dist/esm/components/SceneApp/utils.js +42 -0
  12. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +41 -0
  13. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +55 -0
  14. package/dist/esm/dist/esm/components/SceneCanvasText.js +32 -0
  15. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +17 -0
  16. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +82 -0
  17. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +72 -0
  18. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +77 -0
  19. package/dist/esm/dist/esm/components/SceneReactObject.js +34 -0
  20. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +205 -0
  21. package/dist/esm/dist/esm/components/SceneTimePicker.js +139 -0
  22. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +240 -0
  23. package/dist/esm/dist/esm/components/SceneToolbarButton.js +33 -0
  24. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +406 -0
  25. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +44 -0
  26. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +59 -0
  27. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +285 -0
  28. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +45 -0
  29. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +72 -0
  30. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +11 -0
  31. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
  32. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
  33. package/dist/esm/dist/esm/components/layout/LazyLoader.js +103 -0
  34. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +135 -0
  35. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +30 -0
  36. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +283 -0
  37. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
  38. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +190 -0
  39. package/dist/esm/dist/esm/components/layout/grid/constants.js +7 -0
  40. package/dist/esm/dist/esm/components/layout/grid/utils.js +36 -0
  41. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +17 -0
  42. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +29 -0
  43. package/dist/esm/dist/esm/components/layout/split/Splitter.js +386 -0
  44. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +57 -0
  45. package/dist/esm/dist/esm/core/SceneDataNode.js +43 -0
  46. package/dist/esm/dist/esm/core/SceneObjectBase.js +286 -0
  47. package/dist/esm/dist/esm/core/SceneObjectRef.js +32 -0
  48. package/dist/esm/dist/esm/core/SceneTimeRange.js +231 -0
  49. package/dist/esm/dist/esm/core/events.js +11 -0
  50. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +10 -0
  51. package/dist/esm/dist/esm/core/sceneGraph/index.js +25 -0
  52. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +178 -0
  53. package/dist/esm/dist/esm/core/sceneGraph/utils.js +64 -0
  54. package/dist/esm/dist/esm/core/types.js +15 -0
  55. package/dist/esm/dist/esm/querying/DataLayersMerger.js +46 -0
  56. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +6 -0
  57. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +6 -0
  58. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +100 -0
  59. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +468 -0
  60. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +46 -0
  61. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +12 -0
  62. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +112 -0
  63. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +51 -0
  64. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
  65. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +85 -0
  66. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +121 -0
  67. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
  68. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +77 -0
  69. package/dist/esm/dist/esm/querying/registerQueryWithController.js +41 -0
  70. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +30 -0
  71. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +45 -0
  72. package/dist/esm/dist/esm/services/UrlSyncManager.js +167 -0
  73. package/dist/esm/dist/esm/services/useUrlSync.js +29 -0
  74. package/dist/esm/dist/esm/services/utils.js +71 -0
  75. package/dist/esm/dist/esm/utils/ControlsLabel.js +107 -0
  76. package/dist/esm/dist/esm/utils/LoadingIndicator.js +19 -0
  77. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +39 -0
  78. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
  79. package/dist/esm/dist/esm/utils/date.js +15 -0
  80. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +16 -0
  81. package/dist/esm/dist/esm/utils/explore.js +47 -0
  82. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +4 -0
  83. package/dist/esm/dist/esm/utils/getDataSource.js +18 -0
  84. package/dist/esm/dist/esm/utils/getMessageFromError.js +24 -0
  85. package/dist/esm/dist/esm/utils/metricTree.js +53 -0
  86. package/dist/esm/dist/esm/utils/parseUrlParam.js +41 -0
  87. package/dist/esm/dist/esm/utils/utils.js +11 -0
  88. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +30 -0
  89. package/dist/esm/dist/esm/utils/writeSceneLog.js +12 -0
  90. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +150 -0
  91. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +71 -0
  92. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +24 -0
  93. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +303 -0
  94. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
  95. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
  96. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
  97. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +289 -0
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
  104. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +13 -0
  105. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +47 -0
  106. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +23 -0
  107. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +33 -0
  108. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +228 -0
  109. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +72 -0
  110. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +15 -0
  111. package/dist/esm/dist/esm/variables/constants.js +9 -0
  112. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +12 -0
  113. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +259 -0
  114. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
  115. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
  116. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +40 -0
  117. package/dist/esm/dist/esm/variables/interpolation/defaults.js +21 -0
  118. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
  119. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +296 -0
  120. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +87 -0
  121. package/dist/esm/dist/esm/variables/lookupVariable.js +20 -0
  122. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +57 -0
  123. package/dist/esm/dist/esm/variables/macros/contextMacros.js +43 -0
  124. package/dist/esm/dist/esm/variables/macros/dataMacros.js +134 -0
  125. package/dist/esm/dist/esm/variables/macros/index.js +26 -0
  126. package/dist/esm/dist/esm/variables/macros/templateProxies.js +51 -0
  127. package/dist/esm/dist/esm/variables/macros/timeMacros.js +86 -0
  128. package/dist/esm/dist/esm/variables/macros/types.js +11 -0
  129. package/dist/esm/dist/esm/variables/macros/urlMacros.js +56 -0
  130. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +254 -0
  131. package/dist/esm/dist/esm/variables/types.js +11 -0
  132. package/dist/esm/dist/esm/variables/utils.js +172 -0
  133. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +38 -0
  134. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +60 -0
  135. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +88 -0
  136. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +117 -0
  137. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +295 -0
  138. package/dist/esm/dist/esm/variables/variants/TestVariable.js +117 -0
  139. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +61 -0
  140. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +139 -0
  141. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +129 -0
  142. package/dist/esm/dist/esm/variables/variants/query/guards.js +28 -0
  143. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +96 -0
  144. package/dist/esm/dist/esm/variables/variants/query/utils.js +124 -0
  145. package/dist/esm/index.js +1 -1
  146. package/dist/esm/index.js.map +1 -1
  147. package/dist/esm/querying/DataProviderSharer.js +39 -0
  148. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +27 -0
  149. package/dist/esm/src/behaviors/CursorSync.js +76 -0
  150. package/dist/esm/src/behaviors/LiveNowTimer.js +44 -0
  151. package/dist/esm/src/behaviors/SceneQueryController.js +60 -0
  152. package/dist/esm/src/behaviors/index.js +5 -0
  153. package/dist/esm/src/components/EmbeddedScene.js +59 -0
  154. package/dist/esm/src/components/NestedScene.js +95 -0
  155. package/dist/esm/src/components/SceneApp/SceneApp.js +37 -0
  156. package/dist/esm/src/components/SceneApp/SceneAppPage.js +176 -0
  157. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +104 -0
  158. package/dist/esm/src/components/SceneApp/utils.js +42 -0
  159. package/dist/esm/src/components/SceneByFrameRepeater.js +41 -0
  160. package/dist/esm/src/components/SceneByVariableRepeater.js +55 -0
  161. package/dist/esm/src/components/SceneCanvasText.js +32 -0
  162. package/dist/esm/src/components/SceneControlsSpacer.js +17 -0
  163. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +82 -0
  164. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +72 -0
  165. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +77 -0
  166. package/dist/esm/src/components/SceneReactObject.js +34 -0
  167. package/dist/esm/src/components/SceneRefreshPicker.js +205 -0
  168. package/dist/esm/src/components/SceneTimePicker.js +139 -0
  169. package/dist/esm/src/components/SceneTimeRangeCompare.js +240 -0
  170. package/dist/esm/src/components/SceneToolbarButton.js +33 -0
  171. package/dist/esm/src/components/VizPanel/VizPanel.js +406 -0
  172. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +44 -0
  173. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +59 -0
  174. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +285 -0
  175. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +45 -0
  176. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +72 -0
  177. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +56 -0
  178. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
  179. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
  180. package/dist/esm/src/components/layout/LazyLoader.js +103 -0
  181. package/dist/esm/src/components/layout/SceneFlexLayout.js +135 -0
  182. package/dist/esm/src/components/layout/grid/SceneGridItem.js +30 -0
  183. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +283 -0
  184. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
  185. package/dist/esm/src/components/layout/grid/SceneGridRow.js +190 -0
  186. package/dist/esm/src/components/layout/grid/constants.js +7 -0
  187. package/dist/esm/src/components/layout/grid/utils.js +36 -0
  188. package/dist/esm/src/components/layout/split/SplitLayout.js +17 -0
  189. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +29 -0
  190. package/dist/esm/src/components/layout/split/Splitter.js +386 -0
  191. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +100 -0
  192. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +75 -0
  193. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +75 -0
  194. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +22 -0
  195. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +85 -0
  196. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +52 -0
  197. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +78 -0
  198. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +114 -0
  199. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +162 -0
  200. package/dist/esm/src/core/PanelBuilders/index.js +116 -0
  201. package/dist/esm/src/core/SceneComponentWrapper.js +57 -0
  202. package/dist/esm/src/core/SceneDataNode.js +43 -0
  203. package/dist/esm/src/core/SceneObjectBase.js +286 -0
  204. package/dist/esm/src/core/SceneObjectRef.js +32 -0
  205. package/dist/esm/src/core/SceneTimeRange.js +231 -0
  206. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +35 -0
  207. package/dist/esm/src/core/SceneTimeZoneOverride.js +63 -0
  208. package/dist/esm/src/core/events.js +11 -0
  209. package/dist/esm/src/core/sceneGraph/getTimeRange.js +10 -0
  210. package/dist/esm/src/core/sceneGraph/index.js +25 -0
  211. package/dist/esm/src/core/sceneGraph/sceneGraph.js +178 -0
  212. package/dist/esm/src/core/sceneGraph/utils.js +64 -0
  213. package/dist/esm/src/core/types.js +15 -0
  214. package/dist/esm/src/index.js +108 -0
  215. package/dist/esm/src/querying/DataLayersMerger.js +46 -0
  216. package/dist/esm/src/querying/DataProviderProxy.js +37 -0
  217. package/dist/esm/src/querying/DataProviderSharer.js +108 -0
  218. package/dist/esm/src/querying/ExtraQueryProvider.js +6 -0
  219. package/dist/esm/src/querying/RuntimeDataSource.js +49 -0
  220. package/dist/esm/src/querying/SceneDataLayerSet.js +100 -0
  221. package/dist/esm/src/querying/SceneDataTransformer.js +178 -0
  222. package/dist/esm/src/querying/SceneQueryRunner.js +468 -0
  223. package/dist/esm/src/querying/extraQueryProcessingOperator.js +46 -0
  224. package/dist/esm/src/querying/getEnrichedDataRequest.js +12 -0
  225. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +112 -0
  226. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +51 -0
  227. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
  228. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +85 -0
  229. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +121 -0
  230. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
  231. package/dist/esm/src/querying/layers/annotations/utils.js +77 -0
  232. package/dist/esm/src/querying/layers/index.js +2 -0
  233. package/dist/esm/src/querying/registerQueryWithController.js +41 -0
  234. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +30 -0
  235. package/dist/esm/src/services/UniqueUrlKeyMapper.js +45 -0
  236. package/dist/esm/src/services/UrlSyncContextProvider.js +17 -0
  237. package/dist/esm/src/services/UrlSyncManager.js +167 -0
  238. package/dist/esm/src/services/useUrlSync.js +29 -0
  239. package/dist/esm/src/services/utils.js +75 -0
  240. package/dist/esm/src/utils/ControlsLabel.js +107 -0
  241. package/dist/esm/src/utils/LoadingIndicator.js +19 -0
  242. package/dist/esm/src/utils/SafeSerializableSceneObject.js +39 -0
  243. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
  244. package/dist/esm/src/utils/date.js +15 -0
  245. package/dist/esm/src/utils/evaluateTimeRange.js +16 -0
  246. package/dist/esm/src/utils/explore.js +47 -0
  247. package/dist/esm/src/utils/getCompareSeriesRefId.js +4 -0
  248. package/dist/esm/src/utils/getDataSource.js +18 -0
  249. package/dist/esm/src/utils/getMessageFromError.js +24 -0
  250. package/dist/esm/src/utils/metricTree.js +53 -0
  251. package/dist/esm/src/utils/parseUrlParam.js +41 -0
  252. package/dist/esm/src/utils/utils.js +11 -0
  253. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +30 -0
  254. package/dist/esm/src/utils/writeSceneLog.js +12 -0
  255. package/dist/esm/src/variables/VariableDependencyConfig.js +150 -0
  256. package/dist/esm/src/variables/VariableValueRecorder.js +71 -0
  257. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +24 -0
  258. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +303 -0
  259. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
  260. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
  261. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
  262. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +289 -0
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
  269. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +13 -0
  270. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +47 -0
  271. package/dist/esm/src/variables/components/VariableValueControl.js +23 -0
  272. package/dist/esm/src/variables/components/VariableValueInput.js +33 -0
  273. package/dist/esm/src/variables/components/VariableValueSelect.js +228 -0
  274. package/dist/esm/src/variables/components/VariableValueSelectors.js +72 -0
  275. package/dist/esm/src/variables/components/getOptionSearcher.js +15 -0
  276. package/dist/esm/src/variables/constants.js +9 -0
  277. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +12 -0
  278. package/dist/esm/src/variables/groupby/GroupByVariable.js +259 -0
  279. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
  280. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
  281. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +40 -0
  282. package/dist/esm/src/variables/interpolation/defaults.js +21 -0
  283. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +13 -0
  284. package/dist/esm/src/variables/interpolation/formatRegistry.js +296 -0
  285. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +87 -0
  286. package/dist/esm/src/variables/lookupVariable.js +20 -0
  287. package/dist/esm/src/variables/macros/AllVariablesMacro.js +57 -0
  288. package/dist/esm/src/variables/macros/contextMacros.js +43 -0
  289. package/dist/esm/src/variables/macros/dataMacros.js +134 -0
  290. package/dist/esm/src/variables/macros/index.js +35 -0
  291. package/dist/esm/src/variables/macros/templateProxies.js +51 -0
  292. package/dist/esm/src/variables/macros/timeMacros.js +86 -0
  293. package/dist/esm/src/variables/macros/types.js +11 -0
  294. package/dist/esm/src/variables/macros/urlMacros.js +56 -0
  295. package/dist/esm/src/variables/sets/SceneVariableSet.js +254 -0
  296. package/dist/esm/src/variables/types.js +11 -0
  297. package/dist/esm/src/variables/utils.js +172 -0
  298. package/dist/esm/src/variables/variants/ConstantVariable.js +38 -0
  299. package/dist/esm/src/variables/variants/CustomVariable.js +60 -0
  300. package/dist/esm/src/variables/variants/DataSourceVariable.js +88 -0
  301. package/dist/esm/src/variables/variants/IntervalVariable.js +117 -0
  302. package/dist/esm/src/variables/variants/JsonVariable.js +193 -0
  303. package/dist/esm/src/variables/variants/LocalValueVariable.js +56 -0
  304. package/dist/esm/src/variables/variants/MultiValueVariable.js +295 -0
  305. package/dist/esm/src/variables/variants/TestVariable.js +117 -0
  306. package/dist/esm/src/variables/variants/TextBoxVariable.js +61 -0
  307. package/dist/esm/src/variables/variants/guards.js +27 -0
  308. package/dist/esm/src/variables/variants/query/QueryVariable.js +139 -0
  309. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +129 -0
  310. package/dist/esm/src/variables/variants/query/guards.js +28 -0
  311. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +96 -0
  312. package/dist/esm/src/variables/variants/query/utils.js +124 -0
  313. package/dist/esm/variables/components/VariableValueSelect.js +13 -9
  314. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  315. package/dist/esm/variables/variants/ConstantVariable.js +22 -0
  316. package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
  317. package/dist/esm/variables/variants/CustomVariable.js +3 -2
  318. package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
  319. package/dist/esm/variables/variants/DataSourceVariable.js +3 -2
  320. package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
  321. package/dist/esm/variables/variants/JsonVariable.js +96 -0
  322. package/dist/esm/variables/variants/TestVariable.js +3 -2
  323. package/dist/esm/variables/variants/TestVariable.js.map +1 -1
  324. package/dist/esm/variables/variants/json/JsonVariable.js +95 -0
  325. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +70 -0
  326. package/dist/esm/variables/variants/query/QueryVariable.js +3 -2
  327. package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
  328. package/dist/index.d.ts +14 -6
  329. package/dist/index.js +35 -13
  330. package/dist/index.js.map +1 -1
  331. package/package.json +2 -2
@@ -0,0 +1,60 @@
1
+ import { of } from 'rxjs';
2
+ import { VariableDependencyConfig } from '../VariableDependencyConfig.js';
3
+ import { renderSelectForVariable } from '../components/VariableValueSelect.js';
4
+ import { MultiValueVariable } from './MultiValueVariable.js';
5
+ import { sceneGraph } from '../../core/sceneGraph/index.js';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ class CustomVariable extends MultiValueVariable {
24
+ constructor(initialState) {
25
+ super(__spreadValues({
26
+ type: "custom",
27
+ query: "",
28
+ value: "",
29
+ text: "",
30
+ options: [],
31
+ name: ""
32
+ }, initialState));
33
+ this._variableDependency = new VariableDependencyConfig(this, {
34
+ statePaths: ["query"]
35
+ });
36
+ }
37
+ getValueOptions(args) {
38
+ var _a;
39
+ const interpolated = sceneGraph.interpolate(this, this.state.query);
40
+ const match = (_a = interpolated.match(/(?:\\,|[^,])+/g)) != null ? _a : [];
41
+ const options = match.map((text) => {
42
+ var _a2;
43
+ text = text.replace(/\\,/g, ",");
44
+ const textMatch = (_a2 = /^(.+)\s:\s(.+)$/g.exec(text)) != null ? _a2 : [];
45
+ if (textMatch.length === 3) {
46
+ const [, key, value] = textMatch;
47
+ return { label: key.trim(), value: value.trim() };
48
+ } else {
49
+ return { label: text.trim(), value: text.trim() };
50
+ }
51
+ });
52
+ return of(options);
53
+ }
54
+ }
55
+ CustomVariable.Component = ({ model }) => {
56
+ return renderSelectForVariable(model);
57
+ };
58
+
59
+ export { CustomVariable };
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tVmFyaWFibGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvdmFyaWFudHMvQ3VzdG9tVmFyaWFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyB9IGZyb20gJy4uL1ZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyc7XG5pbXBvcnQgeyByZW5kZXJTZWxlY3RGb3JWYXJpYWJsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvVmFyaWFibGVWYWx1ZVNlbGVjdCc7XG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBNdWx0aVZhbHVlVmFyaWFibGUsIE11bHRpVmFsdWVWYXJpYWJsZVN0YXRlLCBWYXJpYWJsZUdldE9wdGlvbnNBcmdzIH0gZnJvbSAnLi9NdWx0aVZhbHVlVmFyaWFibGUnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVmFyaWFibGVTdGF0ZSBleHRlbmRzIE11bHRpVmFsdWVWYXJpYWJsZVN0YXRlIHtcbiAgcXVlcnk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbVZhcmlhYmxlIGV4dGVuZHMgTXVsdGlWYWx1ZVZhcmlhYmxlPEN1c3RvbVZhcmlhYmxlU3RhdGU+IHtcbiAgcHJvdGVjdGVkIF92YXJpYWJsZURlcGVuZGVuY3kgPSBuZXcgVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnKHRoaXMsIHtcbiAgICBzdGF0ZVBhdGhzOiBbJ3F1ZXJ5J10sXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsU3RhdGU6IFBhcnRpYWw8Q3VzdG9tVmFyaWFibGVTdGF0ZT4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgIHF1ZXJ5OiAnJyxcbiAgICAgIHZhbHVlOiAnJyxcbiAgICAgIHRleHQ6ICcnLFxuICAgICAgb3B0aW9uczogW10sXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZU9wdGlvbnMoYXJnczogVmFyaWFibGVHZXRPcHRpb25zQXJncyk6IE9ic2VydmFibGU8VmFyaWFibGVWYWx1ZU9wdGlvbltdPiB7XG4gICAgY29uc3QgaW50ZXJwb2xhdGVkID0gc2NlbmVHcmFwaC5pbnRlcnBvbGF0ZSh0aGlzLCB0aGlzLnN0YXRlLnF1ZXJ5KTtcbiAgICBjb25zdCBtYXRjaCA9IGludGVycG9sYXRlZC5tYXRjaCgvKD86XFxcXCx8W14sXSkrL2cpID8/IFtdO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IG1hdGNoLm1hcCgodGV4dCkgPT4ge1xuICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSgvXFxcXCwvZywgJywnKTtcbiAgICAgIGNvbnN0IHRleHRNYXRjaCA9IC9eKC4rKVxcczpcXHMoLispJC9nLmV4ZWModGV4dCkgPz8gW107XG4gICAgICBpZiAodGV4dE1hdGNoLmxlbmd0aCA9PT0gMykge1xuICAgICAgICBjb25zdCBbLCBrZXksIHZhbHVlXSA9IHRleHRNYXRjaDtcbiAgICAgICAgcmV0dXJuIHsgbGFiZWw6IGtleS50cmltKCksIHZhbHVlOiB2YWx1ZS50cmltKCkgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7IGxhYmVsOiB0ZXh0LnRyaW0oKSwgdmFsdWU6IHRleHQudHJpbSgpIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2Yob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIENvbXBvbmVudCA9ICh7IG1vZGVsIH06IFNjZW5lQ29tcG9uZW50UHJvcHM8TXVsdGlWYWx1ZVZhcmlhYmxlPikgPT4ge1xuICAgIHJldHVybiByZW5kZXJTZWxlY3RGb3JWYXJpYWJsZShtb2RlbCk7XG4gIH07XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjTyxNQUFNLHVCQUF1QixrQkFBd0MsQ0FBQTtBQUFBLEVBS25FLFlBQVksWUFBNEMsRUFBQTtBQUM3RCxJQUFNLEtBQUEsQ0FBQSxjQUFBLENBQUE7QUFBQSxNQUNKLElBQU0sRUFBQSxRQUFBO0FBQUEsTUFDTixLQUFPLEVBQUEsRUFBQTtBQUFBLE1BQ1AsS0FBTyxFQUFBLEVBQUE7QUFBQSxNQUNQLElBQU0sRUFBQSxFQUFBO0FBQUEsTUFDTixTQUFTLEVBQUM7QUFBQSxNQUNWLElBQU0sRUFBQSxFQUFBO0FBQUEsS0FBQSxFQUNILFlBQ0osQ0FBQSxDQUFBLENBQUE7QUFiSCxJQUFVLElBQUEsQ0FBQSxtQkFBQSxHQUFzQixJQUFJLHdCQUFBLENBQXlCLElBQU0sRUFBQTtBQUFBLE1BQ2pFLFVBQUEsRUFBWSxDQUFDLE9BQU8sQ0FBQTtBQUFBLEtBQ3JCLENBQUEsQ0FBQTtBQUFBLEdBWUQ7QUFBQSxFQUVPLGdCQUFnQixJQUFpRSxFQUFBO0FBL0IxRixJQUFBLElBQUEsRUFBQSxDQUFBO0FBZ0NJLElBQUEsTUFBTSxlQUFlLFVBQVcsQ0FBQSxXQUFBLENBQVksSUFBTSxFQUFBLElBQUEsQ0FBSyxNQUFNLEtBQUssQ0FBQSxDQUFBO0FBQ2xFLElBQUEsTUFBTSxTQUFRLEVBQWEsR0FBQSxZQUFBLENBQUEsS0FBQSxDQUFNLGdCQUFnQixDQUFBLEtBQW5DLFlBQXdDLEVBQUMsQ0FBQTtBQUV2RCxJQUFBLE1BQU0sT0FBVSxHQUFBLEtBQUEsQ0FBTSxHQUFJLENBQUEsQ0FBQyxJQUFTLEtBQUE7QUFuQ3hDLE1BQUFBLElBQUFBLEdBQUFBLENBQUFBO0FBb0NNLE1BQU8sSUFBQSxHQUFBLElBQUEsQ0FBSyxPQUFRLENBQUEsTUFBQSxFQUFRLEdBQUcsQ0FBQSxDQUFBO0FBQy9CLE1BQU0sTUFBQSxTQUFBLEdBQUEsQ0FBWUEsTUFBQSxrQkFBbUIsQ0FBQSxJQUFBLENBQUssSUFBSSxDQUE1QixLQUFBLElBQUEsR0FBQUEsTUFBaUMsRUFBQyxDQUFBO0FBQ3BELE1BQUksSUFBQSxTQUFBLENBQVUsV0FBVyxDQUFHLEVBQUE7QUFDMUIsUUFBQSxNQUFNLEdBQUcsR0FBSyxFQUFBLEtBQUssQ0FBSSxHQUFBLFNBQUEsQ0FBQTtBQUN2QixRQUFPLE9BQUEsRUFBRSxPQUFPLEdBQUksQ0FBQSxJQUFBLElBQVEsS0FBTyxFQUFBLEtBQUEsQ0FBTSxNQUFPLEVBQUEsQ0FBQTtBQUFBLE9BQzNDLE1BQUE7QUFDTCxRQUFPLE9BQUEsRUFBRSxPQUFPLElBQUssQ0FBQSxJQUFBLElBQVEsS0FBTyxFQUFBLElBQUEsQ0FBSyxNQUFPLEVBQUEsQ0FBQTtBQUFBLE9BQ2xEO0FBQUEsS0FDRCxDQUFBLENBQUE7QUFFRCxJQUFBLE9BQU8sR0FBRyxPQUFPLENBQUEsQ0FBQTtBQUFBLEdBQ25CO0FBS0YsQ0FBQTtBQXRDYSxjQUFBLENBbUNHLFNBQVksR0FBQSxDQUFDLEVBQUUsS0FBQSxFQUFxRCxLQUFBO0FBQ2hGLEVBQUEsT0FBTyx3QkFBd0IsS0FBSyxDQUFBLENBQUE7QUFDdEMsQ0FBQTs7OzsifQ==
@@ -0,0 +1,88 @@
1
+ import { of } from 'rxjs';
2
+ import { stringToJsRegex } from '@grafana/data';
3
+ import { getDataSourceSrv } from '@grafana/runtime';
4
+ import { sceneGraph } from '../../core/sceneGraph/index.js';
5
+ import { VariableDependencyConfig } from '../VariableDependencyConfig.js';
6
+ import { renderSelectForVariable } from '../components/VariableValueSelect.js';
7
+ import { MultiValueVariable } from './MultiValueVariable.js';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
+ var __spreadValues = (a, b) => {
15
+ for (var prop in b || (b = {}))
16
+ if (__hasOwnProp.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ if (__getOwnPropSymbols)
19
+ for (var prop of __getOwnPropSymbols(b)) {
20
+ if (__propIsEnum.call(b, prop))
21
+ __defNormalProp(a, prop, b[prop]);
22
+ }
23
+ return a;
24
+ };
25
+ class DataSourceVariable extends MultiValueVariable {
26
+ constructor(initialState) {
27
+ super(__spreadValues({
28
+ type: "datasource",
29
+ value: "",
30
+ text: "",
31
+ options: [],
32
+ name: "",
33
+ regex: "",
34
+ pluginId: ""
35
+ }, initialState));
36
+ this._variableDependency = new VariableDependencyConfig(this, {
37
+ statePaths: ["regex"]
38
+ });
39
+ }
40
+ getValueOptions(args) {
41
+ if (!this.state.pluginId) {
42
+ return of([]);
43
+ }
44
+ const dataSources = getDataSourceSrv().getList({ metrics: true, variables: false, pluginId: this.state.pluginId });
45
+ let regex;
46
+ if (this.state.regex) {
47
+ const interpolated = sceneGraph.interpolate(this, this.state.regex, void 0, "regex");
48
+ regex = stringToJsRegex(interpolated);
49
+ }
50
+ const options = [];
51
+ for (let i = 0; i < dataSources.length; i++) {
52
+ const source = dataSources[i];
53
+ if (isValid(source, regex)) {
54
+ options.push({ label: source.name, value: source.uid });
55
+ }
56
+ if (this.state.defaultOptionEnabled && isDefault(source, regex)) {
57
+ options.push({ label: "default", value: "default" });
58
+ }
59
+ }
60
+ if (options.length === 0) {
61
+ this.setState({ error: "No data sources found" });
62
+ } else if (this.state.error) {
63
+ this.setState({ error: null });
64
+ }
65
+ return of(options);
66
+ }
67
+ }
68
+ DataSourceVariable.Component = ({ model }) => {
69
+ return renderSelectForVariable(model);
70
+ };
71
+ function isValid(source, regex) {
72
+ if (!regex) {
73
+ return true;
74
+ }
75
+ return regex.exec(source.name);
76
+ }
77
+ function isDefault(source, regex) {
78
+ if (!source.isDefault) {
79
+ return false;
80
+ }
81
+ if (!regex) {
82
+ return true;
83
+ }
84
+ return regex.exec("default");
85
+ }
86
+
87
+ export { DataSourceVariable };
88
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZVZhcmlhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL0RhdGFTb3VyY2VWYXJpYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgc3RyaW5nVG9Kc1JlZ2V4LCBEYXRhU291cmNlSW5zdGFuY2VTZXR0aW5ncyB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgZ2V0RGF0YVNvdXJjZVNydiB9IGZyb20gJ0BncmFmYW5hL3J1bnRpbWUnO1xuXG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyB9IGZyb20gJy4uL1ZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyc7XG5pbXBvcnQgeyByZW5kZXJTZWxlY3RGb3JWYXJpYWJsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvVmFyaWFibGVWYWx1ZVNlbGVjdCc7XG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBNdWx0aVZhbHVlVmFyaWFibGUsIE11bHRpVmFsdWVWYXJpYWJsZVN0YXRlLCBWYXJpYWJsZUdldE9wdGlvbnNBcmdzIH0gZnJvbSAnLi9NdWx0aVZhbHVlVmFyaWFibGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VWYXJpYWJsZVN0YXRlIGV4dGVuZHMgTXVsdGlWYWx1ZVZhcmlhYmxlU3RhdGUge1xuICAvKipcbiAgICogSW5jbHVkZSBhbGwgZGF0YSBzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhpcyBwbHVnaW4gaWRcbiAgICovXG4gIHBsdWdpbklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGaWx0ZXIgZGF0YSBzb3VyY2UgaW5zdGFuY2VzIGJhc2VkIG9uIG5hbWVcbiAgICovXG4gIHJlZ2V4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHkgd2l0aCBvbGQgZGFzaGJvYXJkcywgd2lsbCBsaWtlbHkgYmUgcmVtb3ZlZFxuICAgKi9cbiAgZGVmYXVsdE9wdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZVZhcmlhYmxlIGV4dGVuZHMgTXVsdGlWYWx1ZVZhcmlhYmxlPERhdGFTb3VyY2VWYXJpYWJsZVN0YXRlPiB7XG4gIHByb3RlY3RlZCBfdmFyaWFibGVEZXBlbmRlbmN5ID0gbmV3IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyh0aGlzLCB7XG4gICAgc3RhdGVQYXRoczogWydyZWdleCddLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBQYXJ0aWFsPERhdGFTb3VyY2VWYXJpYWJsZVN0YXRlPikge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6ICdkYXRhc291cmNlJyxcbiAgICAgIHZhbHVlOiAnJyxcbiAgICAgIHRleHQ6ICcnLFxuICAgICAgb3B0aW9uczogW10sXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHJlZ2V4OiAnJyxcbiAgICAgIHBsdWdpbklkOiAnJyxcbiAgICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZU9wdGlvbnMoYXJnczogVmFyaWFibGVHZXRPcHRpb25zQXJncyk6IE9ic2VydmFibGU8VmFyaWFibGVWYWx1ZU9wdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnBsdWdpbklkKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGFTb3VyY2VzID0gZ2V0RGF0YVNvdXJjZVNydigpLmdldExpc3QoeyBtZXRyaWNzOiB0cnVlLCB2YXJpYWJsZXM6IGZhbHNlLCBwbHVnaW5JZDogdGhpcy5zdGF0ZS5wbHVnaW5JZCB9KTtcblxuICAgIGxldCByZWdleDtcbiAgICBpZiAodGhpcy5zdGF0ZS5yZWdleCkge1xuICAgICAgY29uc3QgaW50ZXJwb2xhdGVkID0gc2NlbmVHcmFwaC5pbnRlcnBvbGF0ZSh0aGlzLCB0aGlzLnN0YXRlLnJlZ2V4LCB1bmRlZmluZWQsICdyZWdleCcpO1xuICAgICAgcmVnZXggPSBzdHJpbmdUb0pzUmVnZXgoaW50ZXJwb2xhdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zOiBWYXJpYWJsZVZhbHVlT3B0aW9uW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVNvdXJjZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGRhdGFTb3VyY2VzW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZChzb3VyY2UsIHJlZ2V4KSkge1xuICAgICAgICBvcHRpb25zLnB1c2goeyBsYWJlbDogc291cmNlLm5hbWUsIHZhbHVlOiBzb3VyY2UudWlkIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5zdGF0ZS5kZWZhdWx0T3B0aW9uRW5hYmxlZCAmJiBpc0RlZmF1bHQoc291cmNlLCByZWdleCkpIHtcbiAgICAgICAgb3B0aW9ucy5wdXNoKHsgbGFiZWw6ICdkZWZhdWx0JywgdmFsdWU6ICdkZWZhdWx0JyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBlcnJvcjogJ05vIGRhdGEgc291cmNlcyBmb3VuZCcgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZXJyb3I6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBDb21wb25lbnQgPSAoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPE11bHRpVmFsdWVWYXJpYWJsZT4pID0+IHtcbiAgICByZXR1cm4gcmVuZGVyU2VsZWN0Rm9yVmFyaWFibGUobW9kZWwpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkKHNvdXJjZTogRGF0YVNvdXJjZUluc3RhbmNlU2V0dGluZ3MsIHJlZ2V4PzogUmVnRXhwKSB7XG4gIGlmICghcmVnZXgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiByZWdleC5leGVjKHNvdXJjZS5uYW1lKTtcbn1cblxuZnVuY3Rpb24gaXNEZWZhdWx0KHNvdXJjZTogRGF0YVNvdXJjZUluc3RhbmNlU2V0dGluZ3MsIHJlZ2V4PzogUmVnRXhwKSB7XG4gIGlmICghc291cmNlLmlzRGVmYXVsdCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghcmVnZXgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiByZWdleC5leGVjKCdkZWZhdWx0Jyk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEJPLE1BQU0sMkJBQTJCLGtCQUE0QyxDQUFBO0FBQUEsRUFLM0UsWUFBWSxZQUFnRCxFQUFBO0FBQ2pFLElBQU0sS0FBQSxDQUFBLGNBQUEsQ0FBQTtBQUFBLE1BQ0osSUFBTSxFQUFBLFlBQUE7QUFBQSxNQUNOLEtBQU8sRUFBQSxFQUFBO0FBQUEsTUFDUCxJQUFNLEVBQUEsRUFBQTtBQUFBLE1BQ04sU0FBUyxFQUFDO0FBQUEsTUFDVixJQUFNLEVBQUEsRUFBQTtBQUFBLE1BQ04sS0FBTyxFQUFBLEVBQUE7QUFBQSxNQUNQLFFBQVUsRUFBQSxFQUFBO0FBQUEsS0FBQSxFQUNQLFlBQ0osQ0FBQSxDQUFBLENBQUE7QUFkSCxJQUFVLElBQUEsQ0FBQSxtQkFBQSxHQUFzQixJQUFJLHdCQUFBLENBQXlCLElBQU0sRUFBQTtBQUFBLE1BQ2pFLFVBQUEsRUFBWSxD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
@@ -0,0 +1,117 @@
1
+ import { rangeUtil } from '@grafana/data';
2
+ import { VariableRefresh } from '@grafana/schema';
3
+ import { Select } from '@grafana/ui';
4
+ import React from 'react';
5
+ import { of } from 'rxjs';
6
+ import { sceneGraph } from '../../core/sceneGraph/index.js';
7
+ import { SceneObjectBase } from '../../core/SceneObjectBase.js';
8
+ import { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';
9
+ import { AUTO_VARIABLE_VALUE, AUTO_VARIABLE_TEXT } from '../constants.js';
10
+ import { SceneVariableValueChangedEvent } from '../types.js';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
+ var __spreadValues = (a, b) => {
18
+ for (var prop in b || (b = {}))
19
+ if (__hasOwnProp.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ if (__getOwnPropSymbols)
22
+ for (var prop of __getOwnPropSymbols(b)) {
23
+ if (__propIsEnum.call(b, prop))
24
+ __defNormalProp(a, prop, b[prop]);
25
+ }
26
+ return a;
27
+ };
28
+ class IntervalVariable extends SceneObjectBase {
29
+ constructor(initialState) {
30
+ super(__spreadValues({
31
+ type: "interval",
32
+ value: "",
33
+ intervals: ["1m", "10m", "30m", "1h", "6h", "12h", "1d", "7d", "14d", "30d"],
34
+ name: "",
35
+ autoStepCount: 30,
36
+ autoMinInterval: "10s",
37
+ autoEnabled: false,
38
+ refresh: VariableRefresh.onTimeRangeChanged
39
+ }, initialState));
40
+ this._onChange = (value) => {
41
+ this.setState({ value: value.value });
42
+ this.publishEvent(new SceneVariableValueChangedEvent(this), true);
43
+ };
44
+ this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: () => [this.getKey()] });
45
+ }
46
+ getKey() {
47
+ return `var-${this.state.name}`;
48
+ }
49
+ getUrlState() {
50
+ return { [this.getKey()]: this.state.value };
51
+ }
52
+ updateFromUrl(values) {
53
+ const update = {};
54
+ const val = values[this.getKey()];
55
+ if (typeof val === "string") {
56
+ if (val.startsWith("$__auto_interval_")) {
57
+ update.value = AUTO_VARIABLE_VALUE;
58
+ } else {
59
+ update.value = val;
60
+ }
61
+ }
62
+ this.setState(update);
63
+ }
64
+ getOptionsForSelect() {
65
+ const { value: currentValue, intervals, autoEnabled } = this.state;
66
+ let options = intervals.map((interval) => ({ value: interval, label: interval }));
67
+ if (autoEnabled) {
68
+ options = [{ value: AUTO_VARIABLE_VALUE, label: AUTO_VARIABLE_TEXT }, ...options];
69
+ }
70
+ if (currentValue && !options.some((option) => option.value === currentValue)) {
71
+ options.push({ value: currentValue, label: currentValue });
72
+ }
73
+ return options;
74
+ }
75
+ getValue() {
76
+ const { value, autoStepCount, autoMinInterval } = this.state;
77
+ if (value === AUTO_VARIABLE_VALUE) {
78
+ return this.getAutoRefreshInteval(autoStepCount, autoMinInterval);
79
+ }
80
+ return value;
81
+ }
82
+ getAutoRefreshInteval(autoStepCount, minRefreshInterval) {
83
+ const timeRange = sceneGraph.getTimeRange(this).state.value;
84
+ const intervalObject = rangeUtil.calculateInterval(timeRange, autoStepCount, minRefreshInterval);
85
+ return intervalObject.interval;
86
+ }
87
+ validateAndUpdate() {
88
+ const { value, intervals } = this.state;
89
+ let shouldPublish = false;
90
+ if (value === AUTO_VARIABLE_VALUE) {
91
+ shouldPublish = true;
92
+ } else if (!value && intervals.length > 0) {
93
+ const firstOption = intervals[0];
94
+ this.setState({ value: firstOption });
95
+ shouldPublish = true;
96
+ }
97
+ if (shouldPublish) {
98
+ this.publishEvent(new SceneVariableValueChangedEvent(this), true);
99
+ }
100
+ return of({});
101
+ }
102
+ }
103
+ IntervalVariable.Component = ({ model }) => {
104
+ const { key, value } = model.useState();
105
+ return /* @__PURE__ */ React.createElement(Select, {
106
+ id: key,
107
+ placeholder: "Select value",
108
+ width: "auto",
109
+ value,
110
+ tabSelectsValue: false,
111
+ options: model.getOptionsForSelect(),
112
+ onChange: model._onChange
113
+ });
114
+ };
115
+
116
+ export { IntervalVariable };
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJ2YWxWYXJpYWJsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy92YXJpYW50cy9JbnRlcnZhbFZhcmlhYmxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5nZVV0aWwsIFNlbGVjdGFibGVWYWx1ZSB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgVmFyaWFibGVSZWZyZXNoIH0gZnJvbSAnQGdyYWZhbmEvc2NoZW1hJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL1NjZW5lT2JqZWN0QmFzZSc7XG5pbXBvcnQgeyBTY2VuZUNvbXBvbmVudFByb3BzLCBTY2VuZU9iamVjdFVybFZhbHVlcyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgU2NlbmVPYmplY3RVcmxTeW5jQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvU2NlbmVPYmplY3RVcmxTeW5jQ29uZmlnJztcbmltcG9ydCB7IEFVVE9fVkFSSUFCTEVfVEVYVCwgQVVUT19WQVJJQUJMRV9WQUxVRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBTY2VuZVZhcmlhYmxlLFxuICBTY2VuZVZhcmlhYmxlU3RhdGUsXG4gIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCxcbiAgVmFsaWRhdGVBbmRVcGRhdGVSZXN1bHQsXG4gIFZhcmlhYmxlVmFsdWUsXG59IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcnZhbFZhcmlhYmxlU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUge1xuICBpbnRlcnZhbHM6IHN0cmluZ1tdO1xuICB2YWx1ZTogc3RyaW5nO1xuICBhdXRvRW5hYmxlZDogYm9vbGVhbjtcbiAgYXV0b01pbkludGVydmFsOiBzdHJpbmc7XG4gIGF1dG9TdGVwQ291bnQ6IG51bWJlcjtcbiAgcmVmcmVzaDogVmFyaWFibGVSZWZyZXNoO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJ2YWxWYXJpYWJsZVxuICBleHRlbmRzIFNjZW5lT2JqZWN0QmFzZTxJbnRlcnZhbFZhcmlhYmxlU3RhdGU+XG4gIGltcGxlbWVudHMgU2NlbmVWYXJpYWJsZTxJbnRlcnZhbFZhcmlhYmxlU3RhdGU+XG57XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsU3RhdGU6IFBhcnRpYWw8SW50ZXJ2YWxWYXJpYWJsZVN0YXRlPikge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6ICdpbnRlcnZhbCcsXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBpbnRlcnZhbHM6IFsnMW0nLCAnMTBtJywgJzMwbScsICcxaCcsICc2aCcsICcxMmgnLCAnMWQnLCAnN2QnLCAnMTRkJywgJzMwZCddLFxuICAgICAgbmFtZTogJycsXG4gICAgICBhdXRvU3RlcENvdW50OiAzMCxcbiAgICAgIGF1dG9NaW5JbnRlcnZhbDogJzEwcycsXG4gICAgICBhdXRvRW5hYmxlZDogZmFsc2UsXG4gICAgICByZWZyZXNoOiBWYXJpYWJsZVJlZnJlc2gub25UaW1lUmFuZ2VDaGFuZ2VkLFxuICAgICAgLi4uaW5pdGlhbFN0YXRlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fdXJsU3luYyA9IG5ldyBTY2VuZU9iamVjdFVybFN5bmNDb25maWcodGhpcywgeyBrZXlzOiAoKSA9PiBbdGhpcy5nZXRLZXkoKV0gfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgdmFyLSR7dGhpcy5zdGF0ZS5uYW1lfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXJsU3RhdGUoKSB7XG4gICAgcmV0dXJuIHsgW3RoaXMuZ2V0S2V5KCldOiB0aGlzLnN0YXRlLnZhbHVlIH07XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRnJvbVVybCh2YWx1ZXM6IFNjZW5lT2JqZWN0VXJsVmFsdWVzKSB7XG4gICAgY29uc3QgdXBkYXRlOiBQYXJ0aWFsPEludGVydmFsVmFyaWFibGVTdGF0ZT4gPSB7fTtcbiAgICBjb25zdCB2YWwgPSB2YWx1ZXNbdGhpcy5nZXRLZXkoKV07XG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBzdXBwb3J0IG9sZCBhdXRvIGludGVydmFsIHVybCB2YWx1ZVxuICAgICAgaWYgKHZhbC5zdGFydHNXaXRoKCckX19hdXRvX2ludGVydmFsXycpKSB7XG4gICAgICAgIHVwZGF0ZS52YWx1ZSA9IEFVVE9fVkFSSUFCTEVfVkFMVUU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGUudmFsdWUgPSB2YWw7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUodXBkYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcHRpb25zRm9yU2VsZWN0KCk6IEFycmF5PFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+PiB7XG4gICAgY29uc3QgeyB2YWx1ZTogY3VycmVudFZhbHVlLCBpbnRlcnZhbHMsIGF1dG9FbmFibGVkIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgbGV0IG9wdGlvbnMgPSBpbnRlcnZhbHMubWFwKChpbnRlcnZhbCkgPT4gKHsgdmFsdWU6IGludGVydmFsLCBsYWJlbDogaW50ZXJ2YWwgfSkpO1xuXG4gICAgaWYgKGF1dG9FbmFibGVkKSB7XG4gICAgICBvcHRpb25zID0gW3sgdmFsdWU6IEFVVE9fVkFSSUFCTEVfVkFMVUUsIGxhYmVsOiBBVVRPX1ZBUklBQkxFX1RFWFQgfSwgLi4ub3B0aW9uc107XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbm90IGluIHRoZSBsaXN0IG9mIGludGVydmFscywgYWRkIGl0IHRvIHRoZSBsaXN0XG4gICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiAhb3B0aW9ucy5zb21lKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gY3VycmVudFZhbHVlKSkge1xuICAgICAgb3B0aW9ucy5wdXNoKHsgdmFsdWU6IGN1cnJlbnRWYWx1ZSwgbGFiZWw6IGN1cnJlbnRWYWx1ZSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBWYXJpYWJsZVZhbHVlIHtcbiAgICBjb25zdCB7IHZhbHVlLCBhdXRvU3RlcENvdW50LCBhdXRvTWluSW50ZXJ2YWwgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKHZhbHVlID09PSBBVVRPX1ZBUklBQkxFX1ZBTFVFKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBdXRvUmVmcmVzaEludGV2YWwoYXV0b1N0ZXBDb3VudCwgYXV0b01pbkludGVydmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldEF1dG9SZWZyZXNoSW50ZXZhbChhdXRvU3RlcENvdW50OiBudW1iZXIsIG1pblJlZnJlc2hJbnRlcnZhbDogc3RyaW5nKSB7XG4gICAgY29uc3QgdGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UodGhpcykuc3RhdGUudmFsdWU7XG4gICAgY29uc3QgaW50ZXJ2YWxPYmplY3QgPSByYW5nZVV0aWwuY2FsY3VsYXRlSW50ZXJ2YWwodGltZVJhbmdlLCBhdXRvU3RlcENvdW50LCBtaW5SZWZyZXNoSW50ZXJ2YWwpO1xuICAgIHJldHVybiBpbnRlcnZhbE9iamVjdC5pbnRlcnZhbDtcbiAgfVxuXG4gIHB1YmxpYyBfb25DaGFuZ2UgPSAodmFsdWU6IFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiB2YWx1ZS52YWx1ZSEgfSk7XG4gICAgdGhpcy5wdWJsaXNoRXZlbnQobmV3IFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCh0aGlzKSwgdHJ1ZSk7XG4gIH07XG5cbiAgcHVibGljIHZhbGlkYXRlQW5kVXBkYXRlKCk6IE9ic2VydmFibGU8VmFsaWRhdGVBbmRVcGRhdGVSZXN1bHQ+IHtcbiAgICBjb25zdCB7IHZhbHVlLCBpbnRlcnZhbHMgfSA9IHRoaXMuc3RhdGU7XG4gICAgbGV0IHNob3VsZFB1Ymxpc2ggPSBmYWxzZTtcblxuICAgIGlmICh2YWx1ZSA9PT0gQVVUT19WQVJJQUJMRV9WQUxVRSkge1xuICAgICAgc2hvdWxkUHVibGlzaCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghdmFsdWUgJiYgaW50ZXJ2YWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0T3B0aW9uID0gaW50ZXJ2YWxzWzBdO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBmaXJzdE9wdGlvbiB9KTtcbiAgICAgIHNob3VsZFB1Ymxpc2ggPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChzaG91bGRQdWJsaXNoKSB7XG4gICAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50KHRoaXMpLCB0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2Yoe30pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBDb21wb25lbnQgPSAoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPEludGVydmFsVmFyaWFibGU+KSA9PiB7XG4gICAgY29uc3QgeyBrZXksIHZhbHVlIH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuICAgIHJldHVybiAoXG4gICAgICA8U2VsZWN0XG4gICAgICAgIGlkPXtrZXl9XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHZhbHVlXCJcbiAgICAgICAgd2lkdGg9XCJhdXRvXCJcbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICB0YWJTZWxlY3RzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBvcHRpb25zPXttb2RlbC5nZXRPcHRpb25zRm9yU2VsZWN0KCl9XG4gICAgICAgIG9uQ2hhbmdlPXttb2RlbC5fb25DaGFuZ2V9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJPLE1BQU0seUJBQ0gsZUFFVixDQUFBO0FBQUEsRUFDUyxZQUFZLFlBQThDLEVBQUE7QUFDL0QsSUFBTSxLQUFBLENBQUEsY0FBQSxDQUFBO0FBQUEsTUFDSixJQUFNLEVBQUEsVUFBQTtBQUFBLE1BQ04sS0FBTyxFQUFBLEVBQUE7QUFBQSxNQUNQLFNBQUEsRUFBVyxDQUFDLElBQUEsRUFBTSxLQUFPLEVBQUEsS0FBQSxFQUFPLElBQU0sRUFBQSxJQUFBLEVBQU0sS0FBTyxFQUFBLElBQUEsRUFBTSxJQUFNLEVBQUEsS0FBQSxFQUFPLEtBQUssQ0FBQTtBQUFBLE1BQzNFLElBQU0sRUFBQSxFQUFBO0FBQUEsTUFDTixhQUFlLEVBQUEsRUFBQTtBQUFBLE1BQ2YsZUFBaUIsRUFBQSxLQUFBO0FBQUEsTUFDakIsV0FBYSxFQUFBLEtBQUE7QUFBQSxNQUNiLFNBQVMsZUFBZ0IsQ0FBQSxrQkFBQTtBQUFBLEtBQUEsRUFDdEIsWUFDSixDQUFBLENBQUEsQ0FBQTtBQTJESCxJQUFPLElBQUEsQ0FBQSxTQUFBLEdBQVksQ0FBQyxLQUFtQyxLQUFBO0FBQ3JELE1BQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxFQUFFLEtBQU8sRUFBQSxLQUFBLENBQU0sT0FBUSxDQUFBLENBQUE7QUFDckMsTUFBQSxJQUFBLENBQUssWUFBYSxDQUFBLElBQUksOEJBQStCLENBQUEsSUFBSSxHQUFHLElBQUksQ0FBQSxDQUFBO0FBQUEsS0FDbEUsQ0FBQTtBQTVERSxJQUFBLElBQUEsQ0FBSyxRQUFXLEdBQUEsSUFBSSx3QkFBeUIsQ0FBQSxJQUFBLEVBQU0sRUFBRSxJQUFBLEVBQU0sTUFBTSxDQUFDLElBQUssQ0FBQSxNQUFBLEVBQVEsQ0FBQSxF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
@@ -0,0 +1,193 @@
1
+ import React from 'react';
2
+ import { property } from 'lodash';
3
+ import { Observable, of, map } from 'rxjs';
4
+ import 'react-router-dom';
5
+ import '@grafana/data';
6
+ import '@grafana/runtime';
7
+ import { SceneObjectBase } from '../../../dist/esm/core/SceneObjectBase.js';
8
+ import '../../../dist/esm/core/SceneObjectRef.js';
9
+ import '../../../dist/esm/variables/interpolation/defaults.js';
10
+ import '@grafana/schema';
11
+ import { SceneVariableValueChangedEvent } from '../../../dist/esm/variables/types.js';
12
+ import '../../../dist/esm/variables/interpolation/formatRegistry.js';
13
+ import '../../../dist/esm/variables/macros/index.js';
14
+ import '../../../dist/esm/variables/variants/query/QueryVariable.js';
15
+ import '../../../dist/esm/core/SceneDataNode.js';
16
+ import '../../../dist/esm/variables/groupby/GroupByVariable.js';
17
+ import '../../../dist/esm/variables/adhoc/AdHocFiltersVariable.js';
18
+ import '../../../dist/esm/utils/SafeSerializableSceneObject.js';
19
+ import '@leeoniya/ufuzzy';
20
+ import '../../../dist/esm/core/events.js';
21
+ import '../../../dist/esm/behaviors/LiveNowTimer.js';
22
+ import '../../../dist/esm/querying/layers/annotations/AnnotationsDataLayer.js';
23
+ import '../../../dist/esm/querying/SceneDataLayerSet.js';
24
+ import '../../../dist/esm/querying/layers/SceneDataLayerControls.js';
25
+ import '../../../dist/esm/variables/components/VariableValueSelectors.js';
26
+ import '../../../dist/esm/variables/components/VariableValueControl.js';
27
+ import '../../../dist/esm/variables/variants/CustomVariable.js';
28
+ import '../../../dist/esm/variables/variants/DataSourceVariable.js';
29
+ import '../../../dist/esm/variables/variants/TestVariable.js';
30
+ import '../../../dist/esm/variables/variants/TextBoxVariable.js';
31
+ import '../../../dist/esm/variables/variants/IntervalVariable.js';
32
+ import '../../../dist/esm/services/UrlSyncManager.js';
33
+ import '../../../dist/esm/components/EmbeddedScene.js';
34
+ import '../../../dist/esm/components/VizPanel/VizPanel.js';
35
+ import '../../../dist/esm/components/VizPanel/VizPanelMenu.js';
36
+ import '../../../dist/esm/components/VizPanel/VizPanelExploreButton.js';
37
+ import '../../../dist/esm/components/NestedScene.js';
38
+ import '../../../dist/esm/components/SceneCanvasText.js';
39
+ import '../../../dist/esm/components/SceneToolbarButton.js';
40
+ import '../../../dist/esm/components/SceneTimePicker.js';
41
+ import '../../../dist/esm/components/SceneRefreshPicker.js';
42
+ import '../../../dist/esm/components/SceneTimeRangeCompare.js';
43
+ import '../../../dist/esm/components/SceneByFrameRepeater.js';
44
+ import '../../../dist/esm/components/SceneByVariableRepeater.js';
45
+ import '../../../dist/esm/components/SceneControlsSpacer.js';
46
+ import '../../../dist/esm/components/layout/SceneFlexLayout.js';
47
+ import '../../../dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js';
48
+ import '../../../dist/esm/components/layout/grid/SceneGridLayout.js';
49
+ import '../../../dist/esm/components/layout/grid/SceneGridItem.js';
50
+ import '../../../dist/esm/components/layout/grid/SceneGridRow.js';
51
+ import '../../../dist/esm/components/layout/split/SplitLayout.js';
52
+ import '../../../dist/esm/components/SceneApp/SceneApp.js';
53
+ import '../../../dist/esm/components/SceneApp/SceneAppPage.js';
54
+ import '../../../dist/esm/components/SceneReactObject.js';
55
+ import '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';
56
+ import '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';
57
+ import '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';
58
+ import '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';
59
+ import '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';
60
+ import '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';
61
+ import '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';
62
+ import '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';
63
+ import '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';
64
+ import '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';
65
+ import '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';
66
+ import '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';
67
+ import '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';
68
+ import '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';
69
+ import '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';
70
+ import '@emotion/css';
71
+ import { Select } from '@grafana/ui';
72
+ import '@grafana/e2e-selectors';
73
+ import '../../../dist/esm/variables/components/VariableValueSelect.js';
74
+
75
+ var __defProp = Object.defineProperty;
76
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
77
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
78
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
79
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
80
+ var __spreadValues = (a, b) => {
81
+ for (var prop in b || (b = {}))
82
+ if (__hasOwnProp.call(b, prop))
83
+ __defNormalProp(a, prop, b[prop]);
84
+ if (__getOwnPropSymbols)
85
+ for (var prop of __getOwnPropSymbols(b)) {
86
+ if (__propIsEnum.call(b, prop))
87
+ __defNormalProp(a, prop, b[prop]);
88
+ }
89
+ return a;
90
+ };
91
+ const _JsonVariable = class extends SceneObjectBase {
92
+ constructor(state) {
93
+ super(__spreadValues({
94
+ type: "json"
95
+ }, state));
96
+ this._onChange = (selected) => {
97
+ this.setState({ value: selected.value });
98
+ this.publishEvent(new SceneVariableValueChangedEvent(this), true);
99
+ };
100
+ }
101
+ validateAndUpdate() {
102
+ if (!this.state.provider) {
103
+ return of({});
104
+ }
105
+ return this.state.provider.getOptions().pipe(
106
+ map((options) => {
107
+ console.log("options", options);
108
+ this.updateValueGivenNewOptions(options);
109
+ return {};
110
+ })
111
+ );
112
+ }
113
+ updateValueGivenNewOptions(options) {
114
+ if (!this.state.value) {
115
+ return;
116
+ }
117
+ const stateUpdate = { options };
118
+ const found = options.find((option) => option.value === this.state.value);
119
+ if (!found) {
120
+ if (options.length > 0) {
121
+ stateUpdate.value = options[0].value;
122
+ } else {
123
+ stateUpdate.value = void 0;
124
+ }
125
+ }
126
+ this.setState(stateUpdate);
127
+ }
128
+ getValueText(fieldPath) {
129
+ const current = this.state.options.find((option) => option.value === this.state.value);
130
+ return current ? current.label : "";
131
+ }
132
+ getValue(fieldPath) {
133
+ const current = this.state.options.find((option) => option.value === this.state.value);
134
+ return current ? this.getFieldAccessor(fieldPath)(current.obj) : "";
135
+ }
136
+ getFieldAccessor(fieldPath) {
137
+ const accessor = _JsonVariable.fieldAccessorCache[fieldPath];
138
+ if (accessor) {
139
+ return accessor;
140
+ }
141
+ return _JsonVariable.fieldAccessorCache[fieldPath] = property(fieldPath);
142
+ }
143
+ };
144
+ let JsonVariable = _JsonVariable;
145
+ JsonVariable.fieldAccessorCache = {};
146
+ JsonVariable.Component = ({ model }) => {
147
+ var _a;
148
+ const { key, value, options } = model.useState();
149
+ const current = (_a = options.find((option) => option.value === value)) == null ? void 0 : _a.value;
150
+ return /* @__PURE__ */ React.createElement(Select, {
151
+ id: key,
152
+ placeholder: "Select value",
153
+ width: "auto",
154
+ value: current,
155
+ tabSelectsValue: false,
156
+ options,
157
+ onChange: model._onChange
158
+ });
159
+ };
160
+ class JsonStringOptionPrivider {
161
+ constructor(options) {
162
+ this.options = options;
163
+ }
164
+ getOptions() {
165
+ return new Observable((subscriber) => {
166
+ try {
167
+ const { json, valueProp = "name" } = this.options;
168
+ const jsonValue = JSON.parse(json);
169
+ if (!Array.isArray(jsonValue)) {
170
+ throw new Error("JSON must be an array");
171
+ }
172
+ const resultOptions = [];
173
+ jsonValue.forEach((option) => {
174
+ if (option[valueProp] == null) {
175
+ return;
176
+ }
177
+ resultOptions.push({
178
+ value: option[valueProp],
179
+ label: option[valueProp],
180
+ obj: option
181
+ });
182
+ });
183
+ subscriber.next(resultOptions);
184
+ subscriber.complete();
185
+ } catch (error) {
186
+ subscriber.error(error);
187
+ }
188
+ });
189
+ }
190
+ }
191
+
192
+ export { JsonStringOptionPrivider, JsonVariable };
193
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblZhcmlhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL0pzb25WYXJpYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgU2NlbmVDb21wb25lbnRQcm9wcyxcbiAgU2NlbmVPYmplY3RCYXNlLFxuICBTY2VuZVZhcmlhYmxlLFxuICBTY2VuZVZhcmlhYmxlU3RhdGUsXG4gIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCxcbiAgVmFsaWRhdGVBbmRVcGRhdGVSZXN1bHQsXG4gIFZhcmlhYmxlVmFsdWUsXG59IGZyb20gJ0BncmFmYW5hL3NjZW5lcyc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgeyBTZWxlY3RhYmxlVmFsdWUgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcblxuZXhwb3J0IGludGVyZmFjZSBKc29uVmFyaWFibGVTdGF0ZSBleHRlbmRzIFNjZW5lVmFyaWFibGVTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB2YWx1ZVxuICAgKi9cbiAgdmFsdWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPXG4gICAqL1xuICBvcHRpb25zOiBKc29uVmFyaWFibGVPcHRpb25bXTtcbiAgLyoqXG4gICAqIFRoZSB0aGluZyB0aGF0IGdlbmVyYXRlcy9yZXR1cm5zIHBvc3NpYmxlIHZhbHVlcyAvIG9wdGlvbnNcbiAgICovXG4gIHByb3ZpZGVyPzogSnNvblZhcmlhYmxlT3B0aW9uUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNvblZhcmlhYmxlT3B0aW9uIHtcbiAgdmFsdWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgb2JqOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzb25WYXJpYWJsZU9wdGlvblByb3ZpZGVyIHtcbiAgZ2V0T3B0aW9ucygpOiBPYnNlcnZhYmxlPEpzb25WYXJpYWJsZU9wdGlvbltdPjtcbn1cblxuZXhwb3J0IGNsYXNzIEpzb25WYXJpYWJsZSBleHRlbmRzIFNjZW5lT2JqZWN0QmFzZTxKc29uVmFyaWFibGVTdGF0ZT4gaW1wbGVtZW50cyBTY2VuZVZhcmlhYmxlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN0YXRlOiBQYXJ0aWFsPEpzb25WYXJpYWJsZVN0YXRlPikge1xuICAgIHN1cGVyKHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHR5cGU6ICdqc29uJyxcbiAgICAgIC4uLnN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmllbGRBY2Nlc3NvckNhY2hlOiBGaWVsZEFjY2Vzc29yQ2FjaGUgPSB7fTtcblxuICBwdWJsaWMgdmFsaWRhdGVBbmRVcGRhdGUoKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdD4ge1xuICAgIGlmICghdGhpcy5zdGF0ZS5wcm92aWRlcikge1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5wcm92aWRlci5nZXRPcHRpb25zKCkucGlwZShcbiAgICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb3B0aW9ucycsIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlR2l2ZW5OZXdPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVZhbHVlR2l2ZW5OZXdPcHRpb25zKG9wdGlvbnM6IEpzb25WYXJpYWJsZU9wdGlvbltdKSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdGVVcGRhdGU6IFBhcnRpYWw8SnNvblZhcmlhYmxlU3RhdGU+ID0geyBvcHRpb25zIH07XG5cbiAgICBjb25zdCBmb3VuZCA9IG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuc3RhdGUudmFsdWUpO1xuXG4gICAgaWYgKCFmb3VuZCkge1xuICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSA9IG9wdGlvbnNbMF0udmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHN0YXRlVXBkYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZVRleHQ/KGZpZWxkUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc3RhdGUub3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgcmV0dXJuIGN1cnJlbnQgPyBjdXJyZW50LmxhYmVsIDogJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsdWUoZmllbGRQYXRoOiBzdHJpbmcpOiBWYXJpYWJsZVZhbHVlIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdGF0ZS5vcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICByZXR1cm4gY3VycmVudCA/IHRoaXMuZ2V0RmllbGRBY2Nlc3NvcihmaWVsZFBhdGgpKGN1cnJlbnQub2JqKSA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZEFjY2Vzc29yKGZpZWxkUGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgYWNjZXNzb3IgPSBKc29uVmFyaWFibGUuZmllbGRBY2Nlc3NvckNhY2hlW2ZpZWxkUGF0aF07XG4gICAgaWYgKGFjY2Vzc29yKSB7XG4gICAgICByZXR1cm4gYWNjZXNzb3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIChKc29uVmFyaWFibGUuZmllbGRBY2Nlc3NvckNhY2hlW2ZpZWxkUGF0aF0gPSBwcm9wZXJ0eShmaWVsZFBhdGgpKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25DaGFuZ2UgPSAoc2VsZWN0ZWQ6IFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBzZWxlY3RlZC52YWx1ZSB9KTtcbiAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50KHRoaXMpLCB0cnVlKTtcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIENvbXBvbmVudCA9ICh7IG1vZGVsIH06IFNjZW5lQ29tcG9uZW50UHJvcHM8SnNvblZhcmlhYmxlPikgPT4ge1xuICAgIGNvbnN0IHsga2V5LCB2YWx1ZSwgb3B0aW9ucyB9ID0gbW9kZWwudXNlU3RhdGUoKTtcblxuICAgIGNvbnN0IGN1cnJlbnQgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk/LnZhbHVlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWxlY3RcbiAgICAgICAgaWQ9e2tleX1cbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgdmFsdWVcIlxuICAgICAgICB3aWR0aD1cImF1dG9cIlxuICAgICAgICB2YWx1ZT17Y3VycmVudH1cbiAgICAgICAgdGFiU2VsZWN0c1ZhbHVlPXtmYWxzZX1cbiAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgb25DaGFuZ2U9e21vZGVsLl9vbkNoYW5nZX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIEZpZWxkQWNjZXNzb3JDYWNoZSB7XG4gIFtrZXk6IHN0cmluZ106IChvYmo6IGFueSkgPT4gYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzb25TdHJpbmdPcHRpb25Qcml2aWRlck9wdGlvbnMge1xuICAvKipcbiAgICogU3RyaW5nIGNvbnRhdWluaW5nIEpTT04gd2l0aCBhbiBhcnJheSBvZiBvYmplY3RzIG9yIGEgbWFwIG9mIG9iamVjdHNcbiAgICovXG4gIGpzb246IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHRzIHRvIG5hbWUgaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgdmFsdWVQcm9wPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSnNvblN0cmluZ09wdGlvblByaXZpZGVyIGltcGxlbWVudHMgSnNvblZhcmlhYmxlT3B0aW9uUHJvdmlkZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBKc29uU3RyaW5nT3B0aW9uUHJpdmlkZXJPcHRpb25zKSB7fVxuXG4gIHB1YmxpYyBnZXRPcHRpb25zKCk6IE9ic2VydmFibGU8SnNvblZhcmlhYmxlT3B0aW9uW10+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsganNvbiwgdmFsdWVQcm9wID0gJ25hbWUnIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGpzb25WYWx1ZSA9IEpTT04ucGFyc2UoanNvbik7XG5cbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGpzb25WYWx1ZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pTT04gbXVzdCBiZSBhbiBhcnJheScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0T3B0aW9uczogSnNvblZhcmlhYmxlT3B0aW9uW10gPSBbXTtcblxuICAgICAgICBqc29uVmFsdWUuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvblt2YWx1ZVByb3BdID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXN1bHRPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgdmFsdWU6IG9wdGlvblt2YWx1ZVByb3BdLFxuICAgICAgICAgICAgbGFiZWw6IG9wdGlvblt2YWx1ZVByb3BdLFxuICAgICAgICAgICAgb2JqOiBvcHRpb24sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN1YnNjcmliZXIubmV4dChyZXN1bHRPcHRpb25zKTtcbiAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5Q08sTUFBTSxhQUFBLEdBQU4sY0FBMkIsZUFBNEQsQ0FBQTtBQUFBLEVBQ3JGLFlBQVksS0FBbUMsRUFBQTtBQUNwRCxJQUFNLEtBQUEsQ0FBQSxjQUFBLENBQUE7QUFBQSxNQUVKLElBQU0sRUFBQSxNQUFBO0FBQUEsS0FBQSxFQUNILEtBQ0osQ0FBQSxDQUFBLENBQUE7QUEwREgsSUFBTyxJQUFBLENBQUEsU0FBQSxHQUFZLENBQUMsUUFBc0MsS0FBQTtBQUN4RCxNQUFBLElBQUEsQ0FBSyxRQUFTLENBQUEsRUFBRSxLQUFPLEVBQUEsUUFBQSxDQUFTLE9BQU8sQ0FBQSxDQUFBO0FBQ3ZDLE1BQUEsSUFBQSxDQUFLLFlBQWEsQ0FBQSxJQUFJLDhCQUErQixDQUFBLElBQUksR0FBRyxJQUFJLENBQUEsQ0FBQTtBQUFBLEtBQ2xFLENBQUE7QUFBQSxHQTVEQTtBQUFBLEVBSU8saUJBQXlELEdBQUE7QUFDOUQsSUFBSSxJQUFBLENBQUMsSUFBSyxDQUFBLEtBQUEsQ0FBTSxRQUFVLEVBQUE7QUFD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
@@ -0,0 +1,56 @@
1
+ import { SceneObjectBase } from '../../core/SceneObjectBase.js';
2
+ import { sceneGraph } from '../../core/sceneGraph/index.js';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ class LocalValueVariable extends SceneObjectBase {
24
+ constructor(initialState) {
25
+ super(__spreadProps(__spreadValues({
26
+ type: "system",
27
+ value: "",
28
+ text: "",
29
+ name: ""
30
+ }, initialState), {
31
+ skipUrlSync: true
32
+ }));
33
+ }
34
+ getValue() {
35
+ return this.state.value;
36
+ }
37
+ getValueText() {
38
+ return this.state.text.toString();
39
+ }
40
+ isAncestorLoading() {
41
+ var _a, _b;
42
+ const ancestorScope = (_b = (_a = this.parent) == null ? void 0 : _a.parent) == null ? void 0 : _b.parent;
43
+ if (!ancestorScope) {
44
+ throw new Error("LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet");
45
+ }
46
+ const set = sceneGraph.getVariables(ancestorScope);
47
+ const parentVar = sceneGraph.lookupVariable(this.state.name, ancestorScope);
48
+ if (set && parentVar) {
49
+ return set.isVariableLoadingOrWaitingToUpdate(parentVar);
50
+ }
51
+ return false;
52
+ }
53
+ }
54
+
55
+ export { LocalValueVariable };
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxWYWx1ZVZhcmlhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL0xvY2FsVmFsdWVWYXJpYWJsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL1NjZW5lT2JqZWN0QmFzZSc7XG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUsIFNjZW5lVmFyaWFibGVTdGF0ZSwgVmFyaWFibGVWYWx1ZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbFZhbHVlVmFyaWFibGVTdGF0ZSBleHRlbmRzIFNjZW5lVmFyaWFibGVTdGF0ZSB7XG4gIHZhbHVlOiBWYXJpYWJsZVZhbHVlO1xuICB0ZXh0OiBWYXJpYWJsZVZhbHVlO1xuXG4gIC8vIEluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoaXMgdmFyaWFibGUgaXMgc291cmNlZCBmcm9tIGEgbXVsdGktdmFsdWUgdmFyaWFibGUuXG4gIC8vIEludHJvZHVjZXMgZm9yIGEgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgb2xkIHZhcmlhYmxlIHN5c3RlbSwgdG8gcHJvcGVybHkgc3VwcG9ydCBpbnRlcnBvbGF0aW9uIGluIFNRTCBkYXRhIHNvdXJjZXMuXG4gIGlzTXVsdGk/OiBib29sZWFuO1xuICBpbmNsdWRlQWxsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGEgc3BlY2lhbCB0eXBlIG9mIHZhcmlhYmxlIHRoYXQgaXMgdXNlZCBmb3IgcmVwZWF0aW5nIHBhbmVscyBhbmQgbGF5b3V0cyB0byBjcmVhdGUgYSBsb2NhbCBzY29wZWQgdmFsdWUgZm9yIGEgdmFyaWFibGVcbiAqIHRoYXQgZXhpc3RzIGluIGEgYW5jZXN0b3IgU2NlbmVWYXJpYWJsZVNldC5cbiAqL1xuZXhwb3J0IGNsYXNzIExvY2FsVmFsdWVWYXJpYWJsZVxuICBleHRlbmRzIFNjZW5lT2JqZWN0QmFzZTxMb2NhbFZhbHVlVmFyaWFibGVTdGF0ZT5cbiAgaW1wbGVtZW50cyBTY2VuZVZhcmlhYmxlPExvY2FsVmFsdWVWYXJpYWJsZVN0YXRlPlxue1xuICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBQYXJ0aWFsPExvY2FsVmFsdWVWYXJpYWJsZVN0YXRlPikge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6ICdzeXN0ZW0nLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgdGV4dDogJycsXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICAgIHNraXBVcmxTeW5jOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IFZhcmlhYmxlVmFsdWUge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnRleHQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgdGhlIGFuY2VzdG9yIG9mIG91ciBwYXJlbnQgU2NlbmVWYXJpYWJsZVNldCBmb3IgbG9hZGluZyBzdGF0ZSBvZiBhIHZhcmlhYmxlIHdpdGggdGhlIHNhbWUgbmFtZVxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHVuaXQgdGVzdGVkIGZyb20gU2NlbmVWYXJpYWJsZVNldCB0ZXN0cy5cbiAgICovXG4gIHB1YmxpYyBpc0FuY2VzdG9yTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAvLyBQYXJlbnQgKFNjZW5lVmFyaWFibGVTZXQpIC0+IFBhcmVudCAoVGhlIG9iamVjdCB0aGF0IGhhcyBvdXIgcGFyZW50IHNldCkgLT4gUGFyZW50IChzY29wZSB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIgc2V0cyBhbmNlc3RvcilcbiAgICBjb25zdCBhbmNlc3RvclNjb3BlID0gdGhpcy5wYXJlbnQ/LnBhcmVudD8ucGFyZW50O1xuICAgIGlmICghYW5jZXN0b3JTY29wZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdMb2NhbFZhbHVlVmFyaWFibGUgcmVxdWlyZXMgYSBwYXJlbnQgU2NlbmVWYXJpYWJsZVNldCB0aGF0IGhhcyBhbiBhbmNlc3RvciBTY2VuZVZhcmlhYmxlU2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2V0ID0gc2NlbmVHcmFwaC5nZXRWYXJpYWJsZXMoYW5jZXN0b3JTY29wZSk7XG4gICAgY29uc3QgcGFyZW50VmFyID0gc2NlbmVHcmFwaC5sb29rdXBWYXJpYWJsZSh0aGlzLnN0YXRlLm5hbWUsIGFuY2VzdG9yU2NvcGUpO1xuICAgIGlmIChzZXQgJiYgcGFyZW50VmFyKSB7XG4gICAgICByZXR1cm4gc2V0LmlzVmFyaWFibGVMb2FkaW5nT3JXYWl0aW5nVG9VcGRhdGUocGFyZW50VmFyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JPLE1BQU0sMkJBQ0gsZUFFVixDQUFBO0FBQUEsRUFDUyxZQUFZLFlBQWdELEVBQUE7QUFDakUsSUFBTSxLQUFBLENBQUEsYUFBQSxDQUFBLGNBQUEsQ0FBQTtBQUFBLE1BQ0osSUFBTSxFQUFBLFFBQUE7QUFBQSxNQUNOLEtBQU8sRUFBQSxFQUFBO0FBQUEsTUFDUCxJQUFNLEVBQUEsRUFBQTtBQUFBLE1BQ04sSUFBTSxFQUFBLEVBQUE7QUFBQSxLQUFBLEVBQ0gsWUFMQyxDQUFBLEVBQUE7QUFBQSxNQU1KLFdBQWEsRUFBQSxJQUFBO0FBQUEsS0FDZCxDQUFBLENBQUEsQ0FBQTtBQUFBLEdBQ0g7QUFBQSxFQUVPLFFBQTBCLEdBQUE7QUFDL0IsSUFBQSxPQUFPLEtBQUssS0FBTSxDQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ3BCO0FBQUEsRUFFTyxZQUF1QixHQUFBO0FBQzVCLElBQU8sT0FBQSxJQUFBLENBQUssS0FBTSxDQUFBLElBQUEsQ0FBSyxRQUFTLEVBQUEsQ0FBQTtBQUFBLEdBQ2xDO0FBQUEsRUFNTyxpQkFBNkIsR0FBQTtBQTdDdEMsSUFBQSxJQUFBLEVBQUEsRUFBQSxFQUFBLENBQUE7QUErQ0ksSUFBQSxNQUFNLGFBQWdCLEdBQUEsQ0FBQSxFQUFBLEdBQUEsQ0FBQSxFQUFBLEdBQUEsSUFBQSxDQUFLLE1BQUwsS0FBQSxJQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFhLFdBQWIsSUFBcUIsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsTUFBQSxDQUFBO0FBQzNDLElBQUEsSUFBSSxDQUFDLGFBQWUsRUFBQTtBQUNsQixNQUFNLE1BQUEsSUFBSSxNQUFNLDZGQUE2RixDQUFBLENBQUE7QUFBQSxLQUMvRztBQUVBLElBQU0sTUFBQSxHQUFBLEdBQU0sVUFBVyxDQUFBLFlBQUEsQ0FBYSxhQUFhLENBQUEsQ0FBQTtBQUNqRCxJQUFBLE1BQU0sWUFBWSxVQUFXLENBQUEsY0FBQSxDQUFlLElBQUssQ0FBQSxLQUFBLENBQU0sTUFBTSxhQUFhLENBQUEsQ0FBQTtBQUMxRSxJQUFBLElBQUksT0FBTyxTQUFXLEVBQUE7QUFDcEIsTUFBTyxPQUFBLEdBQUEsQ0FBSSxtQ0FBbUMsU0FBUyxDQUFBLENBQUE7QUFBQSxLQUN6RDtBQUVBLElBQU8sT0FBQSxLQUFBLENBQUE7QUFBQSxHQUNUO0FBQ0Y7Ozs7In0=