@grafana/scenes 6.8.0 → 6.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  9. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  10. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  11. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  12. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  13. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  14. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  15. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  16. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  17. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  18. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  19. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  20. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  21. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  22. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  23. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  24. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  25. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  26. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  27. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  28. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  29. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  30. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  31. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  35. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  36. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  37. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  38. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  39. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  40. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  41. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  42. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  45. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  46. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  47. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  48. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  49. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  50. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  51. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  52. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  53. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  54. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  55. package/dist/esm/dist/esm/core/events.js +0 -11
  56. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  57. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  58. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  59. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  60. package/dist/esm/dist/esm/core/types.js +0 -15
  61. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  62. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  63. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  64. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  65. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  66. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  67. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  68. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  69. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  70. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  71. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  72. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  73. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  74. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  75. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  76. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  77. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  78. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  79. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  80. package/dist/esm/dist/esm/services/utils.js +0 -71
  81. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  82. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  83. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  84. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  85. package/dist/esm/dist/esm/utils/date.js +0 -15
  86. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  87. package/dist/esm/dist/esm/utils/explore.js +0 -47
  88. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  89. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  90. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  91. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  92. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  93. package/dist/esm/dist/esm/utils/utils.js +0 -11
  94. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  95. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  96. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  97. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  110. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  111. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  112. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  113. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  114. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  115. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  116. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  117. package/dist/esm/dist/esm/variables/constants.js +0 -9
  118. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  119. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  120. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  121. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  122. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  123. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  124. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  125. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  126. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  127. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  128. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  129. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  130. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  131. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  132. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  133. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  134. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  135. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  136. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  137. package/dist/esm/dist/esm/variables/types.js +0 -11
  138. package/dist/esm/dist/esm/variables/utils.js +0 -172
  139. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  140. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  141. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  142. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  143. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  144. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  146. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  147. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  148. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  149. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  150. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  151. package/dist/esm/querying/DataProviderSharer.js +0 -39
  152. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  153. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  154. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  155. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  156. package/dist/esm/src/behaviors/index.js +0 -5
  157. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  158. package/dist/esm/src/components/NestedScene.js +0 -95
  159. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  160. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  161. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  162. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  163. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  164. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  165. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  166. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  167. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  168. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  169. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  170. package/dist/esm/src/components/SceneReactObject.js +0 -34
  171. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  172. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  173. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  174. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  175. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  176. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  177. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  178. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  179. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  180. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  181. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  182. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  183. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  184. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  185. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  186. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  187. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  188. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  189. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  190. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  191. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  192. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  193. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  194. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  195. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  196. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  198. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  199. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  200. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  201. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  202. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  203. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  204. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  205. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  206. package/dist/esm/src/core/SceneDataNode.js +0 -43
  207. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  208. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  209. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  210. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  211. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  212. package/dist/esm/src/core/events.js +0 -11
  213. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  214. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  215. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  216. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  217. package/dist/esm/src/core/types.js +0 -15
  218. package/dist/esm/src/index.js +0 -108
  219. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  220. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  221. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  222. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  223. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  224. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  225. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  226. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  227. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  228. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  229. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  230. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  231. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  232. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  233. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  234. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  235. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  236. package/dist/esm/src/querying/layers/index.js +0 -2
  237. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  238. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  239. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  240. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  241. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  242. package/dist/esm/src/services/useUrlSync.js +0 -29
  243. package/dist/esm/src/services/utils.js +0 -75
  244. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  245. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  246. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  247. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  248. package/dist/esm/src/utils/date.js +0 -15
  249. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  250. package/dist/esm/src/utils/explore.js +0 -47
  251. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  252. package/dist/esm/src/utils/getDataSource.js +0 -18
  253. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  254. package/dist/esm/src/utils/metricTree.js +0 -53
  255. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  256. package/dist/esm/src/utils/utils.js +0 -11
  257. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  258. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  259. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  260. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  261. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  262. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  273. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  274. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  275. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  276. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  277. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  278. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  279. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  280. package/dist/esm/src/variables/constants.js +0 -9
  281. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  282. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  283. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  284. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  285. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  286. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  287. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  288. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  289. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  290. package/dist/esm/src/variables/lookupVariable.js +0 -20
  291. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  292. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  293. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  294. package/dist/esm/src/variables/macros/index.js +0 -35
  295. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  296. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  297. package/dist/esm/src/variables/macros/types.js +0 -11
  298. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  299. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  300. package/dist/esm/src/variables/types.js +0 -11
  301. package/dist/esm/src/variables/utils.js +0 -172
  302. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  303. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  304. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  305. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  306. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  307. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  308. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  309. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  310. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  311. package/dist/esm/src/variables/variants/guards.js +0 -27
  312. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  313. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  314. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  315. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  316. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  317. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  318. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  319. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,296 +0,0 @@
1
- import { map, isArray, replace } from 'lodash';
2
- import { Registry, escapeRegex, textUtil, dateTime, urlUtil } from '@grafana/data';
3
- import { VariableFormatID } from '@grafana/schema';
4
-
5
- const formatRegistry = new Registry(() => {
6
- const formats = [
7
- {
8
- id: VariableFormatID.Lucene,
9
- name: "Lucene",
10
- description: "Values are lucene escaped and multi-valued variables generate an OR expression",
11
- formatter: (value) => {
12
- if (typeof value === "string") {
13
- return luceneEscape(value);
14
- }
15
- if (Array.isArray(value)) {
16
- if (value.length === 0) {
17
- return "__empty__";
18
- }
19
- const quotedValues = map(value, (val) => {
20
- return '"' + luceneEscape(val) + '"';
21
- });
22
- return "(" + quotedValues.join(" OR ") + ")";
23
- } else {
24
- return luceneEscape(`${value}`);
25
- }
26
- }
27
- },
28
- {
29
- id: VariableFormatID.Raw,
30
- name: "raw",
31
- description: "Keep value as is",
32
- formatter: (value) => String(value)
33
- },
34
- {
35
- id: VariableFormatID.Regex,
36
- name: "Regex",
37
- description: "Values are regex escaped and multi-valued variables generate a (<value>|<value>) expression",
38
- formatter: (value) => {
39
- if (typeof value === "string") {
40
- return escapeRegex(value);
41
- }
42
- if (Array.isArray(value)) {
43
- const escapedValues = value.map((item) => {
44
- if (typeof item === "string") {
45
- return escapeRegex(item);
46
- } else {
47
- return escapeRegex(String(item));
48
- }
49
- });
50
- if (escapedValues.length === 1) {
51
- return escapedValues[0];
52
- }
53
- return "(" + escapedValues.join("|") + ")";
54
- }
55
- return escapeRegex(`${value}`);
56
- }
57
- },
58
- {
59
- id: VariableFormatID.Pipe,
60
- name: "Pipe",
61
- description: "Values are separated by | character",
62
- formatter: (value) => {
63
- if (typeof value === "string") {
64
- return value;
65
- }
66
- if (Array.isArray(value)) {
67
- return value.join("|");
68
- }
69
- return `${value}`;
70
- }
71
- },
72
- {
73
- id: VariableFormatID.Distributed,
74
- name: "Distributed",
75
- description: "Multiple values are formatted like variable=value",
76
- formatter: (value, args, variable) => {
77
- if (typeof value === "string") {
78
- return value;
79
- }
80
- if (Array.isArray(value)) {
81
- value = map(value, (val, index) => {
82
- if (index !== 0) {
83
- return variable.state.name + "=" + val;
84
- } else {
85
- return val;
86
- }
87
- });
88
- return value.join(",");
89
- }
90
- return `${value}`;
91
- }
92
- },
93
- {
94
- id: VariableFormatID.CSV,
95
- name: "Csv",
96
- description: "Comma-separated values",
97
- formatter: (value) => {
98
- if (typeof value === "string") {
99
- return value;
100
- }
101
- if (isArray(value)) {
102
- return value.join(",");
103
- }
104
- return String(value);
105
- }
106
- },
107
- {
108
- id: VariableFormatID.HTML,
109
- name: "HTML",
110
- description: "HTML escaping of values",
111
- formatter: (value) => {
112
- if (typeof value === "string") {
113
- return textUtil.escapeHtml(value);
114
- }
115
- if (isArray(value)) {
116
- return textUtil.escapeHtml(value.join(", "));
117
- }
118
- return textUtil.escapeHtml(String(value));
119
- }
120
- },
121
- {
122
- id: VariableFormatID.JSON,
123
- name: "JSON",
124
- description: "JSON stringify value",
125
- formatter: (value) => {
126
- if (typeof value === "string") {
127
- return value;
128
- }
129
- return JSON.stringify(value);
130
- }
131
- },
132
- {
133
- id: VariableFormatID.PercentEncode,
134
- name: "Percent encode",
135
- description: "Useful for URL escaping values",
136
- formatter: (value) => {
137
- if (isArray(value)) {
138
- return encodeURIComponentStrict("{" + value.join(",") + "}");
139
- }
140
- return encodeURIComponentStrict(value);
141
- }
142
- },
143
- {
144
- id: VariableFormatID.SingleQuote,
145
- name: "Single quote",
146
- description: "Single quoted values",
147
- formatter: (value) => {
148
- const regExp = new RegExp(`'`, "g");
149
- if (isArray(value)) {
150
- return map(value, (v) => `'${replace(v, regExp, `\\'`)}'`).join(",");
151
- }
152
- let strVal = typeof value === "string" ? value : String(value);
153
- return `'${replace(strVal, regExp, `\\'`)}'`;
154
- }
155
- },
156
- {
157
- id: VariableFormatID.DoubleQuote,
158
- name: "Double quote",
159
- description: "Double quoted values",
160
- formatter: (value) => {
161
- const regExp = new RegExp('"', "g");
162
- if (isArray(value)) {
163
- return map(value, (v) => `"${replace(v, regExp, '\\"')}"`).join(",");
164
- }
165
- let strVal = typeof value === "string" ? value : String(value);
166
- return `"${replace(strVal, regExp, '\\"')}"`;
167
- }
168
- },
169
- {
170
- id: VariableFormatID.SQLString,
171
- name: "SQL string",
172
- description: "SQL string quoting and commas for use in IN statements and other scenarios",
173
- formatter: sqlStringFormatter
174
- },
175
- {
176
- id: VariableFormatID.Date,
177
- name: "Date",
178
- description: "Format date in different ways",
179
- formatter: (value, args) => {
180
- var _a;
181
- let nrValue = NaN;
182
- if (typeof value === "number") {
183
- nrValue = value;
184
- } else if (typeof value === "string") {
185
- nrValue = parseInt(value, 10);
186
- }
187
- if (isNaN(nrValue)) {
188
- return "NaN";
189
- }
190
- const arg = (_a = args[0]) != null ? _a : "iso";
191
- switch (arg) {
192
- case "ms":
193
- return String(value);
194
- case "seconds":
195
- return `${Math.round(nrValue / 1e3)}`;
196
- case "iso":
197
- return dateTime(nrValue).toISOString();
198
- default:
199
- if ((args || []).length > 1) {
200
- return dateTime(nrValue).format(args.join(":"));
201
- }
202
- return dateTime(nrValue).format(arg);
203
- }
204
- }
205
- },
206
- {
207
- id: VariableFormatID.Glob,
208
- name: "Glob",
209
- description: "Format multi-valued variables using glob syntax, example {value1,value2}",
210
- formatter: (value) => {
211
- if (isArray(value) && value.length > 1) {
212
- return "{" + value.join(",") + "}";
213
- }
214
- return String(value);
215
- }
216
- },
217
- {
218
- id: VariableFormatID.Text,
219
- name: "Text",
220
- description: "Format variables in their text representation. Example in multi-variable scenario A + B + C.",
221
- formatter: (value, _args, variable) => {
222
- if (variable.getValueText) {
223
- return variable.getValueText();
224
- }
225
- return String(value);
226
- }
227
- },
228
- {
229
- id: VariableFormatID.QueryParam,
230
- name: "Query parameter",
231
- description: "Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.",
232
- formatter: (value, _args, variable) => {
233
- if (variable.urlSync) {
234
- const urlParam = variable.urlSync.getUrlState();
235
- return urlUtil.toUrlParams(urlParam);
236
- }
237
- if (Array.isArray(value)) {
238
- return value.map((v) => formatQueryParameter(variable.state.name, v)).join("&");
239
- }
240
- return formatQueryParameter(variable.state.name, value);
241
- }
242
- },
243
- {
244
- id: VariableFormatID.UriEncode,
245
- name: "Percent encode as URI",
246
- description: "Useful for URL escaping values, taking into URI syntax characters",
247
- formatter: (value) => {
248
- if (isArray(value)) {
249
- return encodeURIStrict("{" + value.join(",") + "}");
250
- }
251
- return encodeURIStrict(value);
252
- }
253
- }
254
- ];
255
- return formats;
256
- });
257
- function luceneEscape(value) {
258
- if (isNaN(+value) === false) {
259
- return value;
260
- }
261
- return value.replace(/([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g, "\\$1");
262
- }
263
- function encodeURIComponentStrict(str) {
264
- if (typeof str === "object") {
265
- str = String(str);
266
- }
267
- return replaceSpecialCharactersToASCII(encodeURIComponent(str));
268
- }
269
- const encodeURIStrict = (str) => replaceSpecialCharactersToASCII(encodeURI(String(str)));
270
- const replaceSpecialCharactersToASCII = (value) => value.replace(/[!'()*]/g, (c) => {
271
- return "%" + c.charCodeAt(0).toString(16).toUpperCase();
272
- });
273
- function formatQueryParameter(name, value) {
274
- return `var-${name}=${encodeURIComponentStrict(value)}`;
275
- }
276
- const SQL_ESCAPE_MAP = {
277
- "'": "''",
278
- '"': '\\"'
279
- };
280
- function sqlStringFormatter(value) {
281
- const regExp = new RegExp(`'|"`, "g");
282
- if (isArray(value)) {
283
- return map(value, (v) => `'${replace(v, regExp, (match) => {
284
- var _a;
285
- return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : "";
286
- })}'`).join(",");
287
- }
288
- let strVal = typeof value === "string" ? value : String(value);
289
- return `'${replace(strVal, regExp, (match) => {
290
- var _a;
291
- return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : "";
292
- })}'`;
293
- }
294
-
295
- export { formatRegistry };
296
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0UmVnaXN0cnkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvaW50ZXJwb2xhdGlvbi9mb3JtYXRSZWdpc3RyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FycmF5LCBtYXAsIHJlcGxhY2UgfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBkYXRlVGltZSwgUmVnaXN0cnksIFJlZ2lzdHJ5SXRlbSwgdGV4dFV0aWwsIGVzY2FwZVJlZ2V4LCB1cmxVdGlsIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBWYXJpYWJsZVR5cGUsIFZhcmlhYmxlRm9ybWF0SUQgfSBmcm9tICdAZ3JhZmFuYS9zY2hlbWEnO1xuXG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlLCBWYXJpYWJsZVZhbHVlU2luZ2xlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUxMX1ZBUklBQkxFX1ZBTFVFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRSZWdpc3RyeUl0ZW0gZXh0ZW5kcyBSZWdpc3RyeUl0ZW0ge1xuICBmb3JtYXR0ZXIodmFsdWU6IFZhcmlhYmxlVmFsdWUsIGFyZ3M6IHN0cmluZ1tdLCB2YXJpYWJsZTogRm9ybWF0VmFyaWFibGUpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2xpbW1lZCBkb3duIHZlcnNpb24gb2YgdGhlIFNjZW5lVmFyaWFibGUgaW50ZXJmYWNlIHNvIHRoYXQgaXQgb25seSBjb250YWlucyB3aGF0IHRoZSBmb3JtYXR0ZXJzIGFjdHVhbGx5IHVzZS5cbiAqIFRoaXMgaXMgdXNlZnVsIGFzIHdlIGhhdmUgc29tZSBpbXBsZW1lbnRhdGlvbnMgb2YgdGhpcyBpbnRlcmZhY2UgdGhhdCBkb2VzIG5vdCBuZWVkIHRvIGJlIGZ1bGwgc2NlbmUgb2JqZWN0cy5cbiAqIEZvciBleGFtcGxlIFNjb3BlZFZhcnNWYXJpYWJsZSBhbmQgTGVnYWN5VmFyaWFibGVXcmFwcGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdFZhcmlhYmxlIHtcbiAgc3RhdGU6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogVmFyaWFibGVUeXBlIHwgc3RyaW5nO1xuICAgIGlzTXVsdGk/OiBib29sZWFuO1xuICAgIGluY2x1ZGVBbGw/OiBib29sZWFuO1xuICB9O1xuXG4gIGdldFZhbHVlKGZpZWxkUGF0aD86IHN0cmluZyk6IFZhcmlhYmxlVmFsdWUgfCB1bmRlZmluZWQgfCBudWxsO1xuICBnZXRWYWx1ZVRleHQ/KGZpZWxkUGF0aD86IHN0cmluZyk6IHN0cmluZztcbiAgdXJsU3luYz86IFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXI7XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRSZWdpc3RyeSA9IG5ldyBSZWdpc3RyeTxGb3JtYXRSZWdpc3RyeUl0ZW0+KCgpID0+IHtcbiAgY29uc3QgZm9ybWF0czogRm9ybWF0UmVnaXN0cnlJdGVtW10gPSBbXG4gICAge1xuICAgICAgaWQ6IFZhcmlhYmxlRm9ybWF0SUQuTHVjZW5lLFxuICAgICAgbmFtZTogJ0x1Y2VuZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1ZhbHVlcyBhcmUgbHVjZW5lIGVzY2FwZWQgYW5kIG11bHRpLXZhbHVlZCB2YXJpYWJsZXMgZ2VuZXJhdGUgYW4gT1IgZXhwcmVzc2lvbicsXG4gICAgICBmb3JtYXR0ZXI6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBsdWNlbmVFc2NhcGUodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICdfX2VtcHR5X18nO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBxdW90ZWRWYWx1ZXMgPSBtYXAodmFsdWUsICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICdcIicgKyBsdWNlbmVFc2NhcGUodmFsKSArICdcIic7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuICcoJyArIHF1b3RlZFZhbHVlcy5qb2luKCcgT1IgJykgKyAnKSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGx1Y2VuZUVzY2FwZShgJHt2YWx1ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBWYXJpYWJsZUZvcm1hdElELlJhdyxcbiAgICAgIG5hbWU6ICdyYXcnLFxuICAgICAgZGVzY3JpcHRpb246ICdLZWVwIHZhbHVlIGFzIGlzJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlKSA9PiBTdHJpbmcodmFsdWUpLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFZhcmlhYmxlRm9ybWF0SUQuUmVnZXgsXG4gICAgICBuYW1lOiAnUmVnZXgnLFxuICAgICAgZGVzY3JpcHRpb246ICdWYWx1ZXMgYXJlIHJlZ2V4IGVzY2FwZWQgYW5kIG11bHRpLXZhbHVlZCB2YXJpYWJsZXMgZ2VuZXJhdGUgYSAoPHZhbHVlPnw8dmFsdWU+KSBleHByZXNzaW9uJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVzY2FwZVJlZ2V4KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGVzY2FwZWRWYWx1ZXMgPSB2YWx1ZS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVzY2FwZVJlZ2V4KGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVzY2FwZVJlZ2V4KFN0cmluZyhpdGVtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoZXNjYXBlZFZhbHVlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBlc2NhcGVkVmFsdWVzWzBdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiAnKCcgKyBlc2NhcGVkVmFsdWVzLmpvaW4oJ3wnKSArICcpJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlc2NhcGVSZWdleChgJHt2YWx1ZX1gKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5QaXBlLFxuICAgICAgbmFtZTogJ1BpcGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdWYWx1ZXMgYXJlIHNlcGFyYXRlZCBieSB8IGNoYXJhY3RlcicsXG4gICAgICBmb3JtYXR0ZXI6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZS5qb2luKCd8Jyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dmFsdWV9YDtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5EaXN0cmlidXRlZCxcbiAgICAgIG5hbWU6ICdEaXN0cmlidXRlZCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ011bHRpcGxlIHZhbHVlcyBhcmUgZm9ybWF0dGVkIGxpa2UgdmFyaWFibGU9dmFsdWUnLFxuICAgICAgZm9ybWF0dGVyOiAodmFsdWUsIGFyZ3MsIHZhcmlhYmxlKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgdmFsdWUgPSBtYXAodmFsdWUsICh2YWw6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YXJpYWJsZS5zdGF0ZS5uYW1lICsgJz0nICsgdmFsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiB2YWx1ZS5qb2luKCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dmFsdWV9YDtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5DU1YsXG4gICAgICBuYW1lOiAnQ3N2JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29tbWEtc2VwYXJhdGVkIHZhbHVlcycsXG4gICAgICBmb3JtYXR0ZXI6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZS5qb2luKCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5IVE1MLFxuICAgICAgbmFtZTogJ0hUTUwnLFxuICAgICAgZGVzY3JpcHRpb246ICdIVE1MIGVzY2FwaW5nIG9mIHZhbHVlcycsXG4gICAgICBmb3JtYXR0ZXI6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiB0ZXh0VXRpbC5lc2NhcGVIdG1sKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiB0ZXh0VXRpbC5lc2NhcGVIdG1sKHZhbHVlLmpvaW4oJywgJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRleHRVdGlsLmVzY2FwZUh0bWwoU3RyaW5nKHZhbHVlKSk7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFZhcmlhYmxlRm9ybWF0SUQuSlNPTixcbiAgICAgIG5hbWU6ICdKU09OJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSlNPTiBzdHJpbmdpZnkgdmFsdWUnLFxuICAgICAgZm9ybWF0dGVyOiAodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5QZXJjZW50RW5jb2RlLFxuICAgICAgbmFtZTogJ1BlcmNlbnQgZW5jb2RlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXNlZnVsIGZvciBVUkwgZXNjYXBpbmcgdmFsdWVzJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlKSA9PiB7XG4gICAgICAgIC8vIGxpa2UgZ2xvYiwgYnV0IHVybCBlc2NhcGVkXG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnRTdHJpY3QoJ3snICsgdmFsdWUuam9pbignLCcpICsgJ30nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnRTdHJpY3QodmFsdWUpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBWYXJpYWJsZUZvcm1hdElELlNpbmdsZVF1b3RlLFxuICAgICAgbmFtZTogJ1NpbmdsZSBxdW90ZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NpbmdsZSBxdW90ZWQgdmFsdWVzJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlKSA9PiB7XG4gICAgICAgIC8vIGVzY2FwZSBzaW5nbGUgcXVvdGVzIHdpdGggYmFja3NsYXNoXG4gICAgICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoYCdgLCAnZycpO1xuXG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBtYXAodmFsdWUsICh2OiBzdHJpbmcpID0+IGAnJHtyZXBsYWNlKHYsIHJlZ0V4cCwgYFxcXFwnYCl9J2ApLmpvaW4oJywnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdHJWYWwgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICByZXR1cm4gYCcke3JlcGxhY2Uoc3RyVmFsLCByZWdFeHAsIGBcXFxcJ2ApfSdgO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBWYXJpYWJsZUZvcm1hdElELkRvdWJsZVF1b3RlLFxuICAgICAgbmFtZTogJ0RvdWJsZSBxdW90ZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0RvdWJsZSBxdW90ZWQgdmFsdWVzJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlKSA9PiB7XG4gICAgICAgIC8vIGVzY2FwZSBkb3VibGUgcXVvdGVzIHdpdGggYmFja3NsYXNoXG4gICAgICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoJ1wiJywgJ2cnKTtcbiAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIG1hcCh2YWx1ZSwgKHY6IHN0cmluZykgPT4gYFwiJHtyZXBsYWNlKHYsIHJlZ0V4cCwgJ1xcXFxcIicpfVwiYCkuam9pbignLCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHN0clZhbCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBgXCIke3JlcGxhY2Uoc3RyVmFsLCByZWdFeHAsICdcXFxcXCInKX1cImA7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFZhcmlhYmxlRm9ybWF0SUQuU1FMU3RyaW5nLFxuICAgICAgbmFtZTogJ1NRTCBzdHJpbmcnLFxuICAgICAgZGVzY3JpcHRpb246ICdTUUwgc3RyaW5nIHF1b3RpbmcgYW5kIGNvbW1hcyBmb3IgdXNlIGluIElOIHN0YXRlbWVudHMgYW5kIG90aGVyIHNjZW5hcmlvcycsXG4gICAgICBmb3JtYXR0ZXI6IHNxbFN0cmluZ0Zvcm1hdHRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBWYXJpYWJsZUZvcm1hdElELkRhdGUsXG4gICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Zvcm1hdCBkYXRlIGluIGRpZmZlcmVudCB3YXlzJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlLCBhcmdzKSA9PiB7XG4gICAgICAgIGxldCBuclZhbHVlID0gTmFOO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgbnJWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBuclZhbHVlID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05hTihuclZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiAnTmFOJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFyZyA9IGFyZ3NbMF0gPz8gJ2lzbyc7XG4gICAgICAgIHN3aXRjaCAoYXJnKSB7XG4gICAgICAgICAgY2FzZSAnbXMnOlxuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnc2Vjb25kcyc6XG4gICAgICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChuclZhbHVlISAvIDEwMDApfWA7XG4gICAgICAgICAgY2FzZSAnaXNvJzpcbiAgICAgICAgICAgIHJldHVybiBkYXRlVGltZShuclZhbHVlKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAoKGFyZ3MgfHwgW10pLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGVUaW1lKG5yVmFsdWUpLmZvcm1hdChhcmdzLmpvaW4oJzonKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVRpbWUobnJWYWx1ZSkuZm9ybWF0KGFyZyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5HbG9iLFxuICAgICAgbmFtZTogJ0dsb2InLFxuICAgICAgZGVzY3JpcHRpb246ICdGb3JtYXQgbXVsdGktdmFsdWVkIHZhcmlhYmxlcyB1c2luZyBnbG9iIHN5bnRheCwgZXhhbXBsZSB7dmFsdWUxLHZhbHVlMn0nLFxuICAgICAgZm9ybWF0dGVyOiAodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gJ3snICsgdmFsdWUuam9pbignLCcpICsgJ30nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBWYXJpYWJsZUZvcm1hdElELlRleHQsXG4gICAgICBuYW1lOiAnVGV4dCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Zvcm1hdCB2YXJpYWJsZXMgaW4gdGhlaXIgdGV4dCByZXByZXNlbnRhdGlvbi4gRXhhbXBsZSBpbiBtdWx0aS12YXJpYWJsZSBzY2VuYXJpbyBBICsgQiArIEMuJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlLCBfYXJncywgdmFyaWFibGUpID0+IHtcbiAgICAgICAgaWYgKHZhcmlhYmxlLmdldFZhbHVlVGV4dCkge1xuICAgICAgICAgIHJldHVybiB2YXJpYWJsZS5nZXRWYWx1ZVRleHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBWYXJpYWJsZUZvcm1hdElELlF1ZXJ5UGFyYW0sXG4gICAgICBuYW1lOiAnUXVlcnkgcGFyYW1ldGVyJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnRm9ybWF0IHZhcmlhYmxlcyBhcyBVUkwgcGFyYW1ldGVycy4gRXhhbXBsZSBpbiBtdWx0aS12YXJpYWJsZSBzY2VuYXJpbyBBICsgQiArIEMgPT4gdmFyLWZvbz1BJnZhci1mb289QiZ2YXItZm9vPUMuJyxcbiAgICAgIGZvcm1hdHRlcjogKHZhbHVlLCBfYXJncywgdmFyaWFibGUpID0+IHtcbiAgICAgICAgaWYgKHZhcmlhYmxlLnVybFN5bmMpIHtcbiAgICAgICAgICBjb25zdCB1cmxQYXJhbSA9IHZhcmlhYmxlLnVybFN5bmMuZ2V0VXJsU3RhdGUoKTtcbiAgICAgICAgICByZXR1cm4gdXJsVXRpbC50b1VybFBhcmFtcyh1cmxQYXJhbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKCh2KSA9PiBmb3JtYXRRdWVyeVBhcmFtZXRlcih2YXJpYWJsZS5zdGF0ZS5uYW1lLCB2KSkuam9pbignJicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcm1hdFF1ZXJ5UGFyYW1ldGVyKHZhcmlhYmxlLnN0YXRlLm5hbWUsIHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogVmFyaWFibGVGb3JtYXRJRC5VcmlFbmNvZGUsXG4gICAgICBuYW1lOiAnUGVyY2VudCBlbmNvZGUgYXMgVVJJJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXNlZnVsIGZvciBVUkwgZXNjYXBpbmcgdmFsdWVzLCB0YWtpbmcgaW50byBVUkkgc3ludGF4IGNoYXJhY3RlcnMnLFxuICAgICAgZm9ybWF0dGVyOiAodmFsdWU6IFZhcmlhYmxlVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGVuY29kZVVSSVN0cmljdCgneycgKyB2YWx1ZS5qb2luKCcsJykgKyAnfScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSVN0cmljdCh2YWx1ZSk7XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG5cbiAgcmV0dXJuIGZvcm1hdHM7XG59KTtcblxuZnVuY3Rpb24gbHVjZW5lRXNjYXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgaWYgKGlzTmFOKCt2YWx1ZSkgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLyhbXFwhXFwqXFwrXFwtXFw9PD5cXHNcXCZcXHxcXChcXClcXFtcXF1cXHtcXH1cXF5cXH5cXD9cXDpcXFxcL1wiXSkvZywgJ1xcXFwkMScpO1xufVxuXG4vKipcbiAqIGVuY29kZSBzdHJpbmcgYWNjb3JkaW5nIHRvIFJGQyAzOTg2OyBpbiBjb250cmFzdCB0byBlbmNvZGVVUklDb21wb25lbnQoKVxuICogYWxzbyB0aGUgc3ViLWRlbGltcyBcIiFcIiwgXCInXCIsIFwiKFwiLCBcIilcIiBhbmQgXCIqXCIgYXJlIGVuY29kZWQ7XG4gKiB1bmljb2RlIGhhbmRsaW5nIHVzZXMgVVRGLTggYXMgaW4gRUNNQS0yNjIuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZVVSSUNvbXBvbmVudFN0cmljdChzdHI6IFZhcmlhYmxlVmFsdWVTaW5nbGUpIHtcbiAgaWYgKHR5cGVvZiBzdHIgPT09ICdvYmplY3QnKSB7XG4gICAgc3RyID0gU3RyaW5nKHN0cik7XG4gIH1cblxuICByZXR1cm4gcmVwbGFjZVNwZWNpYWxDaGFyYWN0ZXJzVG9BU0NJSShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7XG59XG5cbmNvbnN0IGVuY29kZVVSSVN0cmljdCA9IChzdHI6IFZhcmlhYmxlVmFsdWVTaW5nbGUpOiBzdHJpbmcgPT4gcmVwbGFjZVNwZWNpYWxDaGFyYWN0ZXJzVG9BU0NJSShlbmNvZGVVUkkoU3RyaW5nKHN0cikpKTtcblxuY29uc3QgcmVwbGFjZVNwZWNpYWxDaGFyYWN0ZXJzVG9BU0NJSSA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIHZhbHVlLnJlcGxhY2UoL1shJygpKl0vZywgKGMpID0+IHtcbiAgICByZXR1cm4gJyUnICsgYy5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xuICB9KTtcblxuZnVuY3Rpb24gZm9ybWF0UXVlcnlQYXJhbWV0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogVmFyaWFibGVWYWx1ZVNpbmdsZSk6IHN0cmluZyB7XG4gIHJldHVybiBgdmFyLSR7bmFtZX09JHtlbmNvZGVVUklDb21wb25lbnRTdHJpY3QodmFsdWUpfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FsbFZhbHVlKHZhbHVlOiBWYXJpYWJsZVZhbHVlU2luZ2xlKSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gQUxMX1ZBUklBQkxFX1ZBTFVFIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZVswXSA9PT0gQUxMX1ZBUklBQkxFX1ZBTFVFKTtcbn1cblxuY29uc3QgU1FMX0VTQ0FQRV9NQVA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIFwiJ1wiOiBcIicnXCIsXG4gICdcIic6ICdcXFxcXCInLFxufTtcblxuZnVuY3Rpb24gc3FsU3RyaW5nRm9ybWF0dGVyKHZhbHVlOiBWYXJpYWJsZVZhbHVlKSB7XG4gIC8vIGVzY2FwZSBzaW5nbGUgcXVvdGVzIGJ5IHBhaXJpbmcgdGhlbVxuICBjb25zdCByZWdFeHAgPSBuZXcgUmVnRXhwKGAnfFwiYCwgJ2cnKTtcblxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gbWFwKHZhbHVlLCAodjogc3RyaW5nKSA9PiBgJyR7cmVwbGFjZSh2LCByZWdFeHAsIChtYXRjaCkgPT4gU1FMX0VTQ0FQRV9NQVBbbWF0Y2hdID8/ICcnKX0nYCkuam9pbignLCcpO1xuICB9XG5cbiAgbGV0IHN0clZhbCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IFN0cmluZyh2YWx1ZSk7XG4gIHJldHVybiBgJyR7cmVwbGFjZShzdHJWYWwsIHJlZ0V4cCwgKG1hdGNoKSA9PiBTUUxfRVNDQVBFX01BUFttYXRjaF0gPz8gJycpfSdgO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUErQmEsTUFBQSxjQUFBLEdBQWlCLElBQUksUUFBQSxDQUE2QixNQUFNO0FBQ25FLEVBQUEsTUFBTSxPQUFnQyxHQUFBO0FBQUEsSUFDcEM7QUFBQSxNQUNFLElBQUksZ0JBQWlCLENBQUEsTUFBQTtBQUFBLE1BQ3JCLElBQU0sRUFBQSxRQUFBO0FBQUEsTUFDTixXQUFhLEVBQUEsZ0ZBQUE7QUFBQSxNQUNiLFNBQUEsRUFBVyxDQUFDLEtBQVUsS0FBQTtBQUNwQixRQUFJLElBQUEsT0FBTyxVQUFVLFFBQVUsRUFBQTtBQUM3QixVQUFBLE9BQU8sYUFBYSxLQUFLLENBQUEsQ0FBQTtBQUFBLFNBQzNCO0FBRUEsUUFBSSxJQUFBLEtBQUEsQ0FBTSxPQUFRLENBQUEsS0FBSyxDQUFHLEVBQUE7QUFDeEIsVUFBSSxJQUFBLEtBQUEsQ0FBTSxXQUFXLENBQUcsRUFBQTtBQUN0QixZQUFPLE9BQUEsV0FBQSxDQUFBO0FBQUEsV0FDVDtBQUNB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
@@ -1,87 +0,0 @@
1
- import { VariableFormatID } from '@grafana/schema';
2
- import { isCustomVariableValue } from '../types.js';
3
- import { getSceneVariableForScopedVar } from './ScopedVarsVariable.js';
4
- import { formatRegistry } from './formatRegistry.js';
5
- import { VARIABLE_REGEX } from '../constants.js';
6
- import { lookupVariable } from '../lookupVariable.js';
7
- import { macrosIndex } from '../macros/index.js';
8
-
9
- function sceneInterpolator(sceneObject, target, scopedVars, format, interpolations) {
10
- if (!target || typeof target !== "string") {
11
- return target != null ? target : "";
12
- }
13
- VARIABLE_REGEX.lastIndex = 0;
14
- return target.replace(VARIABLE_REGEX, (match, var1, var2, fmt2, var3, fieldPath, fmt3) => {
15
- const variableName = var1 || var2 || var3;
16
- const fmt = fmt2 || fmt3 || format;
17
- const variable = lookupFormatVariable(variableName, match, scopedVars, sceneObject);
18
- if (!variable) {
19
- if (interpolations) {
20
- interpolations.push({ match, variableName, fieldPath, format: fmt, value: match, found: false });
21
- }
22
- return match;
23
- }
24
- const value = formatValue(sceneObject, variable, variable.getValue(fieldPath), fmt);
25
- if (interpolations) {
26
- interpolations.push({ match, variableName, fieldPath, format: fmt, value, found: value !== match });
27
- }
28
- return value;
29
- });
30
- }
31
- function lookupFormatVariable(name, match, scopedVars, sceneObject) {
32
- if (scopedVars && scopedVars.hasOwnProperty(name)) {
33
- const scopedVar = scopedVars[name];
34
- if (scopedVar) {
35
- return getSceneVariableForScopedVar(name, scopedVar);
36
- }
37
- }
38
- const variable = lookupVariable(name, sceneObject);
39
- if (variable) {
40
- return variable;
41
- }
42
- const Macro = macrosIndex.get(name);
43
- if (Macro) {
44
- return new Macro(name, sceneObject, match, scopedVars);
45
- }
46
- return null;
47
- }
48
- function formatValue(context, variable, value, formatNameOrFn) {
49
- if (value === null || value === void 0) {
50
- return "";
51
- }
52
- if (isCustomVariableValue(value)) {
53
- return sceneInterpolator(context, value.formatter(formatNameOrFn));
54
- }
55
- if (!Array.isArray(value) && typeof value === "object") {
56
- value = `${value}`;
57
- }
58
- if (typeof formatNameOrFn === "function") {
59
- return formatNameOrFn(value, {
60
- name: variable.state.name,
61
- type: variable.state.type,
62
- multi: variable.state.isMulti,
63
- includeAll: variable.state.includeAll
64
- });
65
- }
66
- let args = [];
67
- if (!formatNameOrFn) {
68
- formatNameOrFn = VariableFormatID.Glob;
69
- } else {
70
- args = formatNameOrFn.split(":");
71
- if (args.length > 1) {
72
- formatNameOrFn = args[0];
73
- args = args.slice(1);
74
- } else {
75
- args = [];
76
- }
77
- }
78
- let formatter = formatRegistry.getIfExists(formatNameOrFn);
79
- if (!formatter) {
80
- console.error(`Variable format ${formatNameOrFn} not found. Using glob format as fallback.`);
81
- formatter = formatRegistry.get(VariableFormatID.Glob);
82
- }
83
- return formatter.formatter(value, args, variable);
84
- }
85
-
86
- export { sceneInterpolator };
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmVJbnRlcnBvbGF0b3IuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvaW50ZXJwb2xhdGlvbi9zY2VuZUludGVycG9sYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY29wZWRWYXJzIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBWYXJpYWJsZUludGVycG9sYXRpb24gfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IFZhcmlhYmxlVHlwZSwgVmFyaWFibGVGb3JtYXRJRCB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyBJbnRlcnBvbGF0aW9uRm9ybWF0UGFyYW1ldGVyLCBpc0N1c3RvbVZhcmlhYmxlVmFsdWUsIFZhcmlhYmxlVmFsdWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IGdldFNjZW5lVmFyaWFibGVGb3JTY29wZWRWYXIgfSBmcm9tICcuL1Njb3BlZFZhcnNWYXJpYWJsZSc7XG5pbXBvcnQgeyBmb3JtYXRSZWdpc3RyeSwgRm9ybWF0VmFyaWFibGUgfSBmcm9tICcuL2Zvcm1hdFJlZ2lzdHJ5JztcbmltcG9ydCB7IFZBUklBQkxFX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGxvb2t1cFZhcmlhYmxlIH0gZnJvbSAnLi4vbG9va3VwVmFyaWFibGUnO1xuaW1wb3J0IHsgbWFjcm9zSW5kZXggfSBmcm9tICcuLi9tYWNyb3MnO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gd2lsbCB0cnkgdG8gcGFyc2UgYW5kIHJlcGxhY2UgYW55IHZhcmlhYmxlIGV4cHJlc3Npb24gZm91bmQgaW4gdGhlIHRhcmdldCBzdHJpbmcuIFRoZSBzY2VuZU9iamVjdCB3aWxsIGJlIHVzZWQgYXMgdGhlIHNvdXJjZSBvZiB2YXJpYWJsZXMuIEl0IHdpbGxcbiAqIHVzZSB0aGUgc2NlbmUgZ3JhcGggYW5kIHdhbGsgdXAgdGhlIHBhcmVudCB0cmVlIHVudGlsIGl0IGZpbmRzIHRoZSBjbG9zZXN0IHZhcmlhYmxlLlxuICpcbiAqIFNjb3BlZFZhcnMgc2hvdWxkIG5vdCByZWFsbHkgYmUgbmVlZGVkIG11Y2ggaW4gdGhlIG5ldyBzY2VuZSBhcmNoaXRlY3R1cmUgYXMgdGhleSBjYW4gYmUgYWRkZWQgdG8gdGhlIGxvY2FsIHNjZW5lIG5vZGUgaW5zdGVhZCBvZiBwYXNzZWQgaW4gaW50ZXJwb2xhdGUgZnVuY3Rpb24uXG4gKiBJdCBpcyBzdXBwb3J0ZWQgaGVyZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBhbmQgc29tZSBlZGdlIGNhc2VzIHdoZXJlIGFkZGluZyBzY29wZWQgdmFycyB0byBsb2NhbCBzY2VuZSBub2RlIGlzIG5vdCBwcmFjdGljYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY2VuZUludGVycG9sYXRvcihcbiAgc2NlbmVPYmplY3Q6IFNjZW5lT2JqZWN0LFxuICB0YXJnZXQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsXG4gIHNjb3BlZFZhcnM/OiBTY29wZWRWYXJzLFxuICBmb3JtYXQ/OiBJbnRlcnBvbGF0aW9uRm9ybWF0UGFyYW1ldGVyLFxuICBpbnRlcnBvbGF0aW9ucz86IFZhcmlhYmxlSW50ZXJwb2xhdGlvbltdXG4pOiBzdHJpbmcge1xuICBpZiAoIXRhcmdldCB8fCB0eXBlb2YgdGFyZ2V0ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0YXJnZXQgPz8gJyc7XG4gIH1cblxuICBWQVJJQUJMRV9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIHJldHVybiB0YXJnZXQucmVwbGFjZShWQVJJQUJMRV9SRUdFWCwgKG1hdGNoLCB2YXIxLCB2YXIyLCBmbXQyLCB2YXIzLCBmaWVsZFBhdGgsIGZtdDMpID0+IHtcbiAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXIxIHx8IHZhcjIgfHwgdmFyMztcbiAgICBjb25zdCBmbXQgPSBmbXQyIHx8IGZtdDMgfHwgZm9ybWF0O1xuICAgIGNvbnN0IHZhcmlhYmxlID0gbG9va3VwRm9ybWF0VmFyaWFibGUodmFyaWFibGVOYW1lLCBtYXRjaCwgc2NvcGVkVmFycywgc2NlbmVPYmplY3QpO1xuXG4gICAgaWYgKCF2YXJpYWJsZSkge1xuICAgICAgaWYgKGludGVycG9sYXRpb25zKSB7XG4gICAgICAgIC8vIFNldCBgdmFsdWVgIGVxdWFsIHRvIGBtYXRjaGAgYXMgZG9jdW1lbnRlZCBpbiB0aGUgYFZhcmlhYmxlSW50ZXJwb2xhdGlvbmAgaW50ZXJmYWNlLlxuICAgICAgICBpbnRlcnBvbGF0aW9ucy5wdXNoKHsgbWF0Y2gsIHZhcmlhYmxlTmFtZSwgZmllbGRQYXRoLCBmb3JtYXQ6IGZtdCwgdmFsdWU6IG1hdGNoLCBmb3VuZDogZmFsc2UgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF0Y2g7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBmb3JtYXRWYWx1ZShzY2VuZU9iamVjdCwgdmFyaWFibGUsIHZhcmlhYmxlLmdldFZhbHVlKGZpZWxkUGF0aCksIGZtdCk7XG5cbiAgICBpZiAoaW50ZXJwb2xhdGlvbnMpIHtcbiAgICAgIGludGVycG9sYXRpb25zLnB1c2goeyBtYXRjaCwgdmFyaWFibGVOYW1lLCBmaWVsZFBhdGgsIGZvcm1hdDogZm10LCB2YWx1ZSwgZm91bmQ6IHZhbHVlICE9PSBtYXRjaCB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBsb29rdXBGb3JtYXRWYXJpYWJsZShcbiAgbmFtZTogc3RyaW5nLFxuICBtYXRjaDogc3RyaW5nLFxuICBzY29wZWRWYXJzOiBTY29wZWRWYXJzIHwgdW5kZWZpbmVkLFxuICBzY2VuZU9iamVjdDogU2NlbmVPYmplY3Rcbik6IEZvcm1hdFZhcmlhYmxlIHwgbnVsbCB7XG4gIGlmIChzY29wZWRWYXJzICYmIHNjb3BlZFZhcnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICBjb25zdCBzY29wZWRWYXIgPSBzY29wZWRWYXJzW25hbWVdO1xuXG4gICAgaWYgKHNjb3BlZFZhcikge1xuICAgICAgcmV0dXJuIGdldFNjZW5lVmFyaWFibGVGb3JTY29wZWRWYXIobmFtZSwgc2NvcGVkVmFyKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCB2YXJpYWJsZSA9IGxvb2t1cFZhcmlhYmxlKG5hbWUsIHNjZW5lT2JqZWN0KTtcbiAgaWYgKHZhcmlhYmxlKSB7XG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgY29uc3QgTWFjcm8gPSBtYWNyb3NJbmRleC5nZXQobmFtZSk7XG4gIGlmIChNYWNybykge1xuICAgIHJldHVybiBuZXcgTWFjcm8obmFtZSwgc2NlbmVPYmplY3QsIG1hdGNoLCBzY29wZWRWYXJzKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRWYWx1ZShcbiAgY29udGV4dDogU2NlbmVPYmplY3QsXG4gIHZhcmlhYmxlOiBGb3JtYXRWYXJpYWJsZSxcbiAgdmFsdWU6IFZhcmlhYmxlVmFsdWUgfCB1bmRlZmluZWQgfCBudWxsLFxuICBmb3JtYXROYW1lT3JGbj86IEludGVycG9sYXRpb25Gb3JtYXRQYXJhbWV0ZXJcbik6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLy8gVmFyaWFibGUgY2FuIHJldHVybiBhIGN1c3RvbSB2YWx1ZSB0aGF0IGhhbmRsZXMgZm9ybWF0dGluZ1xuICAvLyBUaGlzIGlzIHVzZWZ1bCBmb3IgY3VzdG9tQWxsVmFsdWUgYW5kIG1hY3JvcyB0aGF0IHJldHVybiB2YWx1ZXMgdGhhdCBhcmUgYWxyZWFkeSBmb3JtYXR0ZWQgb3IgbmVlZCBzcGVjaWFsIGZvcm1hdHRpbmdcbiAgaWYgKGlzQ3VzdG9tVmFyaWFibGVWYWx1ZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc2NlbmVJbnRlcnBvbGF0b3IoY29udGV4dCwgdmFsdWUuZm9ybWF0dGVyKGZvcm1hdE5hbWVPckZuKSk7XG4gIH1cblxuICAvLyBpZiBpdCdzIGFuIG9iamVjdCB0cmFuc2Zvcm0gdmFsdWUgdG8gc3RyaW5nXG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgIHZhbHVlID0gYCR7dmFsdWV9YDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgZm9ybWF0TmFtZU9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZm9ybWF0TmFtZU9yRm4odmFsdWUsIHtcbiAgICAgIG5hbWU6IHZhcmlhYmxlLnN0YXRlLm5hbWUsXG4gICAgICB0eXBlOiB2YXJpYWJsZS5zdGF0ZS50eXBlIGFzIFZhcmlhYmxlVHlwZSxcbiAgICAgIG11bHRpOiB2YXJpYWJsZS5zdGF0ZS5pc011bHRpLFxuICAgICAgaW5jbHVkZUFsbDogdmFyaWFibGUuc3RhdGUuaW5jbHVkZUFsbCxcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBhcmdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmICghZm9ybWF0TmFtZU9yRm4pIHtcbiAgICBmb3JtYXROYW1lT3JGbiA9IFZhcmlhYmxlRm9ybWF0SUQuR2xvYjtcbiAgfSBlbHNlIHtcbiAgICAvLyBzb21lIGZvcm1hdHMgaGF2ZSBhcmd1bWVudHMgdGhhdCBjb21lIGFmdGVyICc6JyBjaGFyYWN0ZXJcbiAgICBhcmdzID0gZm9ybWF0TmFtZU9yRm4uc3BsaXQoJzonKTtcbiAgICBpZiAoYXJncy5sZW5ndGggPiAxKSB7XG4gICAgICBmb3JtYXROYW1lT3JGbiA9IGFyZ3NbMF07XG4gICAgICBhcmdzID0gYXJncy5zbGljZSgxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJncyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGxldCBmb3JtYXR0ZXIgPSBmb3JtYXRSZWdpc3RyeS5nZXRJZkV4aXN0cyhmb3JtYXROYW1lT3JGbik7XG5cbiAgaWYgKCFmb3JtYXR0ZXIpIHtcbiAgICBjb25zb2xlLmVycm9yKGBWYXJpYWJsZSBmb3JtYXQgJHtmb3JtYXROYW1lT3JGbn0gbm90IGZvdW5kLiBVc2luZyBnbG9iIGZvcm1hdCBhcyBmYWxsYmFjay5gKTtcbiAgICBmb3JtYXR0ZXIgPSBmb3JtYXRSZWdpc3RyeS5nZXQoVmFyaWFibGVGb3JtYXRJRC5HbG9iKTtcbiAgfVxuXG4gIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0dGVyKHZhbHVlLCBhcmdzLCB2YXJpYWJsZSk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQk8sU0FBUyxpQkFDZCxDQUFBLFdBQUEsRUFDQSxNQUNBLEVBQUEsVUFBQSxFQUNBLFFBQ0EsY0FDUSxFQUFBO0FBQ1IsRUFBQSxJQUFJLENBQUMsTUFBQSxJQUFVLE9BQU8sTUFBQSxLQUFXLFFBQVUsRUFBQTtBQUN6QyxJQUFBLE9BQU8sTUFBVSxJQUFBLElBQUEsR0FBQSxNQUFBLEdBQUEsRUFBQSxDQUFBO0FBQUEsR0FDbkI7QUFFQSxFQUFBLGNBQUEsQ0FBZSxTQUFZLEdBQUEsQ0FBQSxDQUFBO0FBRTNCLEVBQU8sT0FBQSxNQUFBLENBQU8sT0FBUSxDQUFBLGNBQUEsRUFBZ0IsQ0FBQyxLQUFBLEVBQU8sTUFBTSxJQUFNLEVBQUEsSUFBQSxFQUFNLElBQU0sRUFBQSxTQUFBLEVBQVcsSUFBUyxLQUFBO0FBQ3hGLElBQU0sTUFBQSxZQUFBLEdBQWUsUUFBUSxJQUFRLElBQUEsSUFBQSxDQUFBO0FBQ3JDLElBQU0sTUFBQSxHQUFBLEdBQU0sUUFBUSxJQUFRLElBQUEsTUFBQSxDQUFBO0FBQzVCLElBQUEsTUFBTSxRQUFXLEdBQUEsb0JBQUEsQ0FBcUIsWUFBYyxFQUFBLEtBQUEsRUFBTyxZQUFZLFdBQVcsQ0FBQSxDQUFBO0FBRWxGLElBQUEsSUFBSSxDQUFDLFFBQVUsRUFBQTtBQUNiLE1BQUEsSUFBSSxjQUFnQixFQUFBO0FBRWxCLFFBQWUsY0FBQSxDQUFBLElBQUEsQ0FBSyxFQUFFLEtBQUEsRUFBTyxZ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
@@ -1,20 +0,0 @@
1
- function lookupVariable(name, sceneObject) {
2
- const variables = sceneObject.state.$variables;
3
- if (!variables) {
4
- if (sceneObject.parent) {
5
- return lookupVariable(name, sceneObject.parent);
6
- } else {
7
- return null;
8
- }
9
- }
10
- const found = variables.getByName(name);
11
- if (found) {
12
- return found;
13
- } else if (sceneObject.parent) {
14
- return lookupVariable(name, sceneObject.parent);
15
- }
16
- return null;
17
- }
18
-
19
- export { lookupVariable };
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwVmFyaWFibGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvbG9va3VwVmFyaWFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NlbmVPYmplY3QgfSBmcm9tICcuLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBXaWxsIHdhbGsgdGhlIHNjZW5lIG9iamVjdCBncmFwaCB1cCB0byB0aGUgcm9vdCBsb29raW5nIGZvciB0aGUgZmlyc3QgdmFyaWFibGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cFZhcmlhYmxlKG5hbWU6IHN0cmluZywgc2NlbmVPYmplY3Q6IFNjZW5lT2JqZWN0KTogU2NlbmVWYXJpYWJsZSB8IG51bGwge1xuICBjb25zdCB2YXJpYWJsZXMgPSBzY2VuZU9iamVjdC5zdGF0ZS4kdmFyaWFibGVzO1xuICBpZiAoIXZhcmlhYmxlcykge1xuICAgIGlmIChzY2VuZU9iamVjdC5wYXJlbnQpIHtcbiAgICAgIHJldHVybiBsb29rdXBWYXJpYWJsZShuYW1lLCBzY2VuZU9iamVjdC5wYXJlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBmb3VuZCA9IHZhcmlhYmxlcy5nZXRCeU5hbWUobmFtZSk7XG4gIGlmIChmb3VuZCkge1xuICAgIHJldHVybiBmb3VuZDtcbiAgfSBlbHNlIGlmIChzY2VuZU9iamVjdC5wYXJlbnQpIHtcbiAgICByZXR1cm4gbG9va3VwVmFyaWFibGUobmFtZSwgc2NlbmVPYmplY3QucGFyZW50KTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1nQixTQUFBLGNBQUEsQ0FBZSxNQUFjLFdBQWdELEVBQUE7QUFDM0YsRUFBTSxNQUFBLFNBQUEsR0FBWSxZQUFZLEtBQU0sQ0FBQSxVQUFBLENBQUE7QUFDcEMsRUFBQSxJQUFJLENBQUMsU0FBVyxFQUFBO0FBQ2QsSUFBQSxJQUFJLFlBQVksTUFBUSxFQUFBO0FBQ3RCLE1BQU8sT0FBQSxjQUFBLENBQWUsSUFBTSxFQUFBLFdBQUEsQ0FBWSxNQUFNLENBQUEsQ0FBQTtBQUFBLEtBQ3pDLE1BQUE7QUFDTCxNQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsS0FDVDtBQUFBLEdBQ0Y7QUFFQSxFQUFNLE1BQUEsS0FBQSxHQUFRLFNBQVUsQ0FBQSxTQUFBLENBQVUsSUFBSSxDQUFBLENBQUE7QUFDdEMsRUFBQSxJQUFJLEtBQU8sRUFBQTtBQUNULElBQU8sT0FBQSxLQUFBLENBQUE7QUFBQSxHQUNULE1BQUEsSUFBVyxZQUFZLE1BQVEsRUFBQTtBQUM3QixJQUFPLE9BQUEsY0FBQSxDQUFlLElBQU0sRUFBQSxXQUFBLENBQVksTUFBTSxDQUFBLENBQUE7QUFBQSxHQUNoRDtBQUVBLEVBQU8sT0FBQSxJQUFBLENBQUE7QUFDVDs7OzsifQ==
@@ -1,57 +0,0 @@
1
- import { isCustomVariableValue } from '../types.js';
2
- import { formatRegistry } from '../interpolation/formatRegistry.js';
3
- import { SkipFormattingValue } from './types.js';
4
- import { VariableFormatID } from '@grafana/schema';
5
- import { MultiValueVariable } from '../variants/MultiValueVariable.js';
6
- import { ALL_VARIABLE_VALUE } from '../constants.js';
7
-
8
- class AllVariablesMacro {
9
- constructor(name, sceneObject) {
10
- this.state = { name, type: "url_variable" };
11
- this._sceneObject = sceneObject;
12
- }
13
- getValue() {
14
- const allVars = collectAllVariables(this._sceneObject);
15
- const format = formatRegistry.get(VariableFormatID.QueryParam);
16
- const params = [];
17
- for (const name of Object.keys(allVars)) {
18
- const variable = allVars[name];
19
- if (variable instanceof MultiValueVariable && variable.hasAllValue() && !variable.state.allValue) {
20
- params.push(format.formatter(ALL_VARIABLE_VALUE, [], variable));
21
- continue;
22
- }
23
- const value = variable.getValue();
24
- if (!value) {
25
- continue;
26
- }
27
- if (isCustomVariableValue(value)) {
28
- params.push(value.formatter(VariableFormatID.QueryParam));
29
- } else {
30
- params.push(format.formatter(value, [], variable));
31
- }
32
- }
33
- return new SkipFormattingValue(params.join("&"));
34
- }
35
- getValueText() {
36
- return "";
37
- }
38
- }
39
- function collectAllVariables(sceneObject, record = {}) {
40
- if (sceneObject.state.$variables) {
41
- for (const variable of sceneObject.state.$variables.state.variables) {
42
- if (variable.state.skipUrlSync) {
43
- continue;
44
- }
45
- if (!record[variable.state.name]) {
46
- record[variable.state.name] = variable;
47
- }
48
- }
49
- }
50
- if (sceneObject.parent) {
51
- collectAllVariables(sceneObject.parent, record);
52
- }
53
- return record;
54
- }
55
-
56
- export { AllVariablesMacro };
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxsVmFyaWFibGVzTWFjcm8uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvbWFjcm9zL0FsbFZhcmlhYmxlc01hY3JvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyBpc0N1c3RvbVZhcmlhYmxlVmFsdWUsIFNjZW5lVmFyaWFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBmb3JtYXRSZWdpc3RyeSwgRm9ybWF0VmFyaWFibGUgfSBmcm9tICcuLi9pbnRlcnBvbGF0aW9uL2Zvcm1hdFJlZ2lzdHJ5JztcbmltcG9ydCB7IFNraXBGb3JtYXR0aW5nVmFsdWUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFZhcmlhYmxlRm9ybWF0SUQgfSBmcm9tICdAZ3JhZmFuYS9zY2hlbWEnO1xuaW1wb3J0IHsgTXVsdGlWYWx1ZVZhcmlhYmxlIH0gZnJvbSAnLi4vdmFyaWFudHMvTXVsdGlWYWx1ZVZhcmlhYmxlJztcbmltcG9ydCB7IEFMTF9WQVJJQUJMRV9WQUxVRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBBbGxWYXJpYWJsZXNNYWNybyBpbXBsZW1lbnRzIEZvcm1hdFZhcmlhYmxlIHtcbiAgcHVibGljIHN0YXRlOiB7IG5hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nIH07XG4gIHByaXZhdGUgX3NjZW5lT2JqZWN0OiBTY2VuZU9iamVjdDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBzY2VuZU9iamVjdDogU2NlbmVPYmplY3QpIHtcbiAgICB0aGlzLnN0YXRlID0geyBuYW1lLCB0eXBlOiAndXJsX3ZhcmlhYmxlJyB9O1xuICAgIHRoaXMuX3NjZW5lT2JqZWN0ID0gc2NlbmVPYmplY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsdWUoKTogU2tpcEZvcm1hdHRpbmdWYWx1ZSB7XG4gICAgY29uc3QgYWxsVmFycyA9IGNvbGxlY3RBbGxWYXJpYWJsZXModGhpcy5fc2NlbmVPYmplY3QpO1xuICAgIGNvbnN0IGZvcm1hdCA9IGZvcm1hdFJlZ2lzdHJ5LmdldChWYXJpYWJsZUZvcm1hdElELlF1ZXJ5UGFyYW0pO1xuICAgIGNvbnN0IHBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhhbGxWYXJzKSkge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSBhbGxWYXJzW25hbWVdO1xuXG4gICAgICBpZiAodmFyaWFibGUgaW5zdGFuY2VvZiBNdWx0aVZhbHVlVmFyaWFibGUgJiYgdmFyaWFibGUuaGFzQWxsVmFsdWUoKSAmJiAhdmFyaWFibGUuc3RhdGUuYWxsVmFsdWUpIHtcbiAgICAgICAgcGFyYW1zLnB1c2goZm9ybWF0LmZvcm1hdHRlcihBTExfVkFSSUFCTEVfVkFMVUUsIFtdLCB2YXJpYWJsZSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSB2YXJpYWJsZS5nZXRWYWx1ZSgpO1xuXG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNDdXN0b21WYXJpYWJsZVZhbHVlKHZhbHVlKSkge1xuICAgICAgICBwYXJhbXMucHVzaCh2YWx1ZS5mb3JtYXR0ZXIoVmFyaWFibGVGb3JtYXRJRC5RdWVyeVBhcmFtKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJhbXMucHVzaChmb3JtYXQuZm9ybWF0dGVyKHZhbHVlLCBbXSwgdmFyaWFibGUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFNraXBGb3JtYXR0aW5nVmFsdWUocGFyYW1zLmpvaW4oJyYnKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsdWVUZXh0PygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb2xsZWN0QWxsVmFyaWFibGVzKFxuICBzY2VuZU9iamVjdDogU2NlbmVPYmplY3QsXG4gIHJlY29yZDogUmVjb3JkPHN0cmluZywgU2NlbmVWYXJpYWJsZT4gPSB7fVxuKTogUmVjb3JkPHN0cmluZywgU2NlbmVWYXJpYWJsZT4ge1xuICBpZiAoc2NlbmVPYmplY3Quc3RhdGUuJHZhcmlhYmxlcykge1xuICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2Ygc2NlbmVPYmplY3Quc3RhdGUuJHZhcmlhYmxlcy5zdGF0ZS52YXJpYWJsZXMpIHtcbiAgICAgIGlmICh2YXJpYWJsZS5zdGF0ZS5za2lwVXJsU3luYykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFyZWNvcmRbdmFyaWFibGUuc3RhdGUubmFtZV0pIHtcbiAgICAgICAgcmVjb3JkW3ZhcmlhYmxlLnN0YXRlLm5hbWVdID0gdmFyaWFibGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHNjZW5lT2JqZWN0LnBhcmVudCkge1xuICAgIGNvbGxlY3RBbGxWYXJpYWJsZXMoc2NlbmVPYmplY3QucGFyZW50LCByZWNvcmQpO1xuICB9XG5cbiAgcmV0dXJuIHJlY29yZDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUU8sTUFBTSxpQkFBNEMsQ0FBQTtBQUFBLEVBSWhELFdBQUEsQ0FBWSxNQUFjLFdBQTBCLEVBQUE7QUFDekQsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLEVBQUUsSUFBTSxFQUFBLElBQUEsRUFBTSxjQUFlLEVBQUEsQ0FBQTtBQUMxQyxJQUFBLElBQUEsQ0FBSyxZQUFlLEdBQUEsV0FBQSxDQUFBO0FBQUEsR0FDdEI7QUFBQSxFQUVPLFFBQWdDLEdBQUE7QUFDckMsSUFBTSxNQUFBLE9BQUEsR0FBVSxtQkFBb0IsQ0FBQSxJQUFBLENBQUssWUFBWSxDQUFBLENBQUE7QUFDckQsSUFBQSxNQUFNLE1BQVMsR0FBQSxjQUFBLENBQWUsR0FBSSxDQUFBLGdCQUFBLENBQWlCLFVBQVUsQ0FBQSxDQUFBO0FBQzdELElBQUEsTUFBTSxTQUFtQixFQUFDLENBQUE7QUFFMUIsSUFBQSxLQUFBLE1BQVcsSUFBUSxJQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsT0FBTyxDQUFHLEVBQUE7QUFDdkMsTUFBQSxNQUFNLFdBQVcsT0FBUSxDQUFBLElBQUEsQ0FBQSxDQUFBO0FBRXpCLE1BQUksSUFBQSxRQUFBLFlBQW9CLHNCQUFzQixRQUFTLENBQUEsV0FBQSxNQUFpQixDQUFDLFFBQUEsQ0FBUyxNQUFNLFFBQVUsRUFBQTtBQUNoRyxRQUFBLE1BQUEsQ0FBTyxLQUFLLE1BQU8sQ0FBQSxTQUFBLENBQVUsb0JBQW9CLEVBQUMsRUFBRyxRQUFRLENBQUMsQ0FBQSxDQUFBO0FBQzlELFFBQUEsU0FBQTtBQUFBLE9BQ0Y7QUFFQSxNQUFNLE1BQUEsS0FBQSxHQUFRLFNBQVMsUUFBUyxFQUFBLENBQUE7QUFFaEMsTUFBQSxJQUFJLENBQUMsS0FBTyxFQUFBO0FBQ1YsUUFBQSxTQUFBO0FBQUEsT0FDRjtBQUVBLE1BQUksSUFBQSxxQkFBQSxDQUFzQixLQUFLLENBQUcsRUFBQTtBQUNoQyxRQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsS0FBQSxDQUFNLFNBQVUsQ0FBQSxnQkFBQSxDQUFpQixVQUFVLENBQUMsQ0FBQSxDQUFBO0FBQUEsT0FDbkQsTUFBQTtBQUNMLFFBQUEsTUFBQSxDQUFPLEtBQUssTUFBTyxDQUFBLFNBQUEsQ0FBVSxPQUFPLEVBQUMsRUFBRyxRQUFRLENBQUMsQ0FBQSxDQUFBO0FBQUEsT0FDbkQ7QUFBQSxLQUNGO0FBRUEsSUFBQSxPQUFPLElBQUksbUJBQUEsQ0FBb0IsTUFBTyxDQUFBLElBQUEsQ0FBSyxHQUFHLENBQUMsQ0FBQSxDQUFBO0FBQUEsR0FDakQ7QUFBQSxFQUVPLFlBQXdCLEdBQUE7QUFDN0IsSUFBTyxPQUFBLEVBQUEsQ0FBQTtBQUFBLEdBQ1Q7QUFDRixDQUFBO0FBRUEsU0FBUyxtQkFDUCxDQUFBLFdBQUEsRUFDQSxNQUF3QyxHQUFBLEVBQ1QsRUFBQTtBQUMvQixFQUFJLElBQUEsV0FBQSxDQUFZLE1BQU0sVUFBWSxFQUFBO0FBQ2hDLElBQUEsS0FBQSxNQUFXLFFBQVksSUFBQSxXQUFBLENBQVksS0FBTSxDQUFBLFVBQUEsQ0FBVyxNQUFNLFNBQVcsRUFBQTtBQUNuRSxNQUFJLElBQUEsUUFBQSxDQUFTLE1BQU0sV0FBYSxFQUFBO0FBQzlCLFFBQUEsU0FBQTtBQUFBLE9BQ0Y7QUFFQSxNQUFBLElBQUksQ0FBQyxNQUFBLENBQU8sUUFBUyxDQUFBLEtBQUEsQ0FBTSxJQUFPLENBQUEsRUFBQTtBQUNoQyxRQUFPLE1BQUEsQ0FBQSxRQUFBLENBQVMsTUFBTSxJQUFRLENBQUEsR0FBQSxRQUFBLENBQUE7QUFBQSxPQUNoQztBQUFBLEtBQ0Y7QUFBQSxHQUNGO0FBRUEsRUFBQSxJQUFJLFlBQVksTUFBUSxFQUFBO0FBQ3RCLElBQW9CLG1CQUFBLENBQUEsV0FBQSxDQUFZLFFBQVEsTUFBTSxDQUFBLENBQUE7QUFBQSxHQUNoRDtBQUVBLEVBQU8sT0FBQSxNQUFBLENBQUE7QUFDVDs7OzsifQ==
@@ -1,43 +0,0 @@
1
- import { config } from '@grafana/runtime';
2
-
3
- class UserMacro {
4
- constructor(name, _) {
5
- this.state = { name, type: "user_macro" };
6
- }
7
- getValue(fieldPath) {
8
- const user = config.bootData.user;
9
- switch (fieldPath) {
10
- case "login":
11
- return user.login;
12
- case "email":
13
- return user.email;
14
- case "id":
15
- default:
16
- return String(user.id);
17
- }
18
- }
19
- getValueText() {
20
- return "";
21
- }
22
- }
23
- class OrgMacro {
24
- constructor(name, _) {
25
- this.state = { name, type: "org_macro" };
26
- }
27
- getValue(fieldPath) {
28
- const user = config.bootData.user;
29
- switch (fieldPath) {
30
- case "name":
31
- return user.orgName;
32
- case "id":
33
- default:
34
- return String(user.orgId);
35
- }
36
- }
37
- getValueText() {
38
- return "";
39
- }
40
- }
41
-
42
- export { OrgMacro, UserMacro };
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dE1hY3Jvcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9tYWNyb3MvY29udGV4dE1hY3Jvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2VuZU9iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgRm9ybWF0VmFyaWFibGUgfSBmcm9tICcuLi9pbnRlcnBvbGF0aW9uL2Zvcm1hdFJlZ2lzdHJ5JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ0BncmFmYW5hL3J1bnRpbWUnO1xuXG4vKipcbiAqIEhhbmRsZXMgZXhwcmVzc2lvbnMgbGlrZSAke19fdXNlci5sb2dpbn1cbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJNYWNybyBpbXBsZW1lbnRzIEZvcm1hdFZhcmlhYmxlIHtcbiAgcHVibGljIHN0YXRlOiB7IG5hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgXzogU2NlbmVPYmplY3QpIHtcbiAgICB0aGlzLnN0YXRlID0geyBuYW1lOiBuYW1lLCB0eXBlOiAndXNlcl9tYWNybycgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZShmaWVsZFBhdGg/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHVzZXIgPSBjb25maWcuYm9vdERhdGEudXNlcjtcblxuICAgIHN3aXRjaCAoZmllbGRQYXRoKSB7XG4gICAgICBjYXNlICdsb2dpbic6XG4gICAgICAgIHJldHVybiB1c2VyLmxvZ2luO1xuICAgICAgY2FzZSAnZW1haWwnOlxuICAgICAgICByZXR1cm4gdXNlci5lbWFpbDtcbiAgICAgIGNhc2UgJ2lkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBTdHJpbmcodXNlci5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlVGV4dD8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIGV4cHJlc3Npb25zIGxpa2UgJHtfX29yZy5uYW1lfVxuICovXG5leHBvcnQgY2xhc3MgT3JnTWFjcm8gaW1wbGVtZW50cyBGb3JtYXRWYXJpYWJsZSB7XG4gIHB1YmxpYyBzdGF0ZTogeyBuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIF86IFNjZW5lT2JqZWN0KSB7XG4gICAgdGhpcy5zdGF0ZSA9IHsgbmFtZTogbmFtZSwgdHlwZTogJ29yZ19tYWNybycgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZShmaWVsZFBhdGg/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHVzZXIgPSBjb25maWcuYm9vdERhdGEudXNlcjtcblxuICAgIHN3aXRjaCAoZmllbGRQYXRoKSB7XG4gICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgcmV0dXJuIHVzZXIub3JnTmFtZTtcbiAgICAgIGNhc2UgJ2lkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBTdHJpbmcodXNlci5vcmdJZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlVGV4dD8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9PLE1BQU0sU0FBb0MsQ0FBQTtBQUFBLEVBR3hDLFdBQUEsQ0FBWSxNQUFjLENBQWdCLEVBQUE7QUFDL0MsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLEVBQUUsSUFBWSxFQUFBLElBQUEsRUFBTSxZQUFhLEVBQUEsQ0FBQTtBQUFBLEdBQ2hEO0FBQUEsRUFFTyxTQUFTLFNBQTRCLEVBQUE7QUFDMUMsSUFBTSxNQUFBLElBQUEsR0FBTyxPQUFPLFFBQVMsQ0FBQSxJQUFBLENBQUE7QUFFN0IsSUFBUSxRQUFBLFNBQUE7QUFBQSxNQUNELEtBQUEsT0FBQTtBQUNILFFBQUEsT0FBTyxJQUFLLENBQUEsS0FBQSxDQUFBO0FBQUEsTUFDVCxLQUFBLE9BQUE7QUFDSCxRQUFBLE9BQU8sSUFBSyxDQUFBLEtBQUEsQ0FBQTtBQUFBLE1BQ1QsS0FBQSxJQUFBLENBQUE7QUFBQSxNQUFBO0FBRUgsUUFBTyxPQUFBLE1BQUEsQ0FBTyxLQUFLLEVBQUUsQ0FBQSxDQUFBO0FBQUEsS0FBQTtBQUFBLEdBRTNCO0FBQUEsRUFFTyxZQUF3QixHQUFBO0FBQzdCLElBQU8sT0FBQSxFQUFBLENBQUE7QUFBQSxHQUNUO0FBQ0YsQ0FBQTtBQUtPLE1BQU0sUUFBbUMsQ0FBQTtBQUFBLEVBR3ZDLFdBQUEsQ0FBWSxNQUFjLENBQWdCLEVBQUE7QUFDL0MsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLEVBQUUsSUFBWSxFQUFBLElBQUEsRUFBTSxXQUFZLEVBQUEsQ0FBQTtBQUFBLEdBQy9DO0FBQUEsRUFFTyxTQUFTLFNBQTRCLEVBQUE7QUFDMUMsSUFBTSxNQUFBLElBQUEsR0FBTyxPQUFPLFFBQVMsQ0FBQSxJQUFBLENBQUE7QUFFN0IsSUFBUSxRQUFBLFNBQUE7QUFBQSxNQUNELEtBQUEsTUFBQTtBQUNILFFBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFBO0FBQUEsTUFDVCxLQUFBLElBQUEsQ0FBQTtBQUFBLE1BQUE7QUFFSCxRQUFPLE9BQUEsTUFBQSxDQUFPLEtBQUssS0FBSyxDQUFBLENBQUE7QUFBQSxLQUFBO0FBQUEsR0FFOUI7QUFBQSxFQUVPLFlBQXdCLEdBQUE7QUFDN0IsSUFBTyxPQUFBLEVBQUEsQ0FBQTtBQUFBLEdBQ1Q7QUFDRjs7OzsifQ==