@grafana/scenes 6.8.0 → 6.9.0--canary.1093.14409340532.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 (321) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/components/VizPanel/VizPanelRenderer.js +4 -3
  3. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  4. package/dist/esm/index.js +1 -1
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +5 -4
  8. package/dist/index.js.map +1 -1
  9. package/package.json +2 -2
  10. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  11. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  12. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  13. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  14. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  15. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  16. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  17. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  18. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  19. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  20. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  21. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  22. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  23. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  24. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  25. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  26. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  27. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  28. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  29. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  30. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  31. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  35. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  36. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  37. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  38. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  39. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  40. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  41. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  42. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  45. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  46. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  47. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  48. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  49. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  50. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  51. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  52. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  53. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  54. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  55. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  56. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  57. package/dist/esm/dist/esm/core/events.js +0 -11
  58. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  59. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  60. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  61. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  62. package/dist/esm/dist/esm/core/types.js +0 -15
  63. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  64. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  65. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  66. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  67. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  68. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  69. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  70. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  71. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  72. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  73. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  74. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  75. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  76. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  77. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  78. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  79. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  80. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  81. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  82. package/dist/esm/dist/esm/services/utils.js +0 -71
  83. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  84. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  85. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  86. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  87. package/dist/esm/dist/esm/utils/date.js +0 -15
  88. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  89. package/dist/esm/dist/esm/utils/explore.js +0 -47
  90. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  91. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  92. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  93. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  94. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  95. package/dist/esm/dist/esm/utils/utils.js +0 -11
  96. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  97. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  98. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  99. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  110. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  111. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  112. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  113. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  114. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  115. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  116. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  117. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  118. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  119. package/dist/esm/dist/esm/variables/constants.js +0 -9
  120. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  121. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  122. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  123. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  124. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  125. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  126. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  127. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  128. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  129. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  130. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  131. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  132. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  133. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  134. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  135. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  136. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  137. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  138. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  139. package/dist/esm/dist/esm/variables/types.js +0 -11
  140. package/dist/esm/dist/esm/variables/utils.js +0 -172
  141. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  142. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  143. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  144. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  146. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  147. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  148. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  149. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  150. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  151. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  152. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  153. package/dist/esm/querying/DataProviderSharer.js +0 -39
  154. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  155. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  156. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  157. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  158. package/dist/esm/src/behaviors/index.js +0 -5
  159. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  160. package/dist/esm/src/components/NestedScene.js +0 -95
  161. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  162. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  163. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  164. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  165. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  166. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  167. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  168. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  169. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  170. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  171. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  172. package/dist/esm/src/components/SceneReactObject.js +0 -34
  173. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  174. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  175. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  176. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  177. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  178. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  179. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  180. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  181. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  182. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  183. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  184. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  185. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  186. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  187. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  188. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  189. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  190. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  191. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  192. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  193. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  194. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  195. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  196. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  198. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  199. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  200. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  201. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  202. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  203. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  204. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  205. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  206. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  207. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  208. package/dist/esm/src/core/SceneDataNode.js +0 -43
  209. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  210. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  211. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  212. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  213. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  214. package/dist/esm/src/core/events.js +0 -11
  215. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  216. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  217. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  218. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  219. package/dist/esm/src/core/types.js +0 -15
  220. package/dist/esm/src/index.js +0 -108
  221. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  222. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  223. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  224. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  225. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  226. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  227. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  228. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  229. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  230. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  231. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  232. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  233. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  234. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  235. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  236. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  237. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  238. package/dist/esm/src/querying/layers/index.js +0 -2
  239. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  240. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  241. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  242. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  243. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  244. package/dist/esm/src/services/useUrlSync.js +0 -29
  245. package/dist/esm/src/services/utils.js +0 -75
  246. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  247. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  248. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  249. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  250. package/dist/esm/src/utils/date.js +0 -15
  251. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  252. package/dist/esm/src/utils/explore.js +0 -47
  253. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  254. package/dist/esm/src/utils/getDataSource.js +0 -18
  255. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  256. package/dist/esm/src/utils/metricTree.js +0 -53
  257. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  258. package/dist/esm/src/utils/utils.js +0 -11
  259. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  260. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  261. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  262. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  263. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  264. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  273. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  274. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  275. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  276. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  277. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  278. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  279. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  280. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  281. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  282. package/dist/esm/src/variables/constants.js +0 -9
  283. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  284. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  285. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  286. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  287. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  288. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  289. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  290. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  291. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  292. package/dist/esm/src/variables/lookupVariable.js +0 -20
  293. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  294. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  295. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  296. package/dist/esm/src/variables/macros/index.js +0 -35
  297. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  298. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  299. package/dist/esm/src/variables/macros/types.js +0 -11
  300. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  301. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  302. package/dist/esm/src/variables/types.js +0 -11
  303. package/dist/esm/src/variables/utils.js +0 -172
  304. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  305. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  306. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  307. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  308. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  309. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  310. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  311. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  312. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  313. package/dist/esm/src/variables/variants/guards.js +0 -27
  314. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  315. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  316. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  317. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  318. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  319. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  320. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  321. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,289 +0,0 @@
1
- import React from 'react';
2
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
3
- import { SceneVariableValueChangedEvent } from '../types.js';
4
- import { dataFromResponse, getQueriesForVariables, responseHasError, renderPrometheusLabelFilters } from '../utils.js';
5
- import { patchGetAdhocFilters } from './patchGetAdhocFilters.js';
6
- import { useStyles2 } from '@grafana/ui';
7
- import { sceneGraph } from '../../core/sceneGraph/index.js';
8
- import { AdHocFilterBuilder } from './AdHocFilterBuilder.js';
9
- import { AdHocFilterRenderer } from './AdHocFilterRenderer.js';
10
- import { getDataSourceSrv } from '@grafana/runtime';
11
- import { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';
12
- import { css } from '@emotion/css';
13
- import { getEnrichedFiltersRequest } from '../getEnrichedFiltersRequest.js';
14
- import { AdHocFiltersComboboxRenderer } from './AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js';
15
- import { wrapInSafeSerializableSceneObject } from '../../utils/wrapInSafeSerializableSceneObject.js';
16
-
17
- var __defProp = Object.defineProperty;
18
- var __defProps = Object.defineProperties;
19
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
20
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
21
- var __hasOwnProp = Object.prototype.hasOwnProperty;
22
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
23
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
24
- var __spreadValues = (a, b) => {
25
- for (var prop in b || (b = {}))
26
- if (__hasOwnProp.call(b, prop))
27
- __defNormalProp(a, prop, b[prop]);
28
- if (__getOwnPropSymbols)
29
- for (var prop of __getOwnPropSymbols(b)) {
30
- if (__propIsEnum.call(b, prop))
31
- __defNormalProp(a, prop, b[prop]);
32
- }
33
- return a;
34
- };
35
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
36
- const OPERATORS = [
37
- {
38
- value: "=",
39
- description: "Equals"
40
- },
41
- {
42
- value: "!=",
43
- description: "Not equal"
44
- },
45
- {
46
- value: "=|",
47
- description: "One of. Use to filter on multiple values.",
48
- isMulti: true
49
- },
50
- {
51
- value: "!=|",
52
- description: "Not one of. Use to exclude multiple values.",
53
- isMulti: true
54
- },
55
- {
56
- value: "=~",
57
- description: "Matches regex"
58
- },
59
- {
60
- value: "!~",
61
- description: "Does not match regex"
62
- },
63
- {
64
- value: "<",
65
- description: "Less than"
66
- },
67
- {
68
- value: ">",
69
- description: "Greater than"
70
- }
71
- ];
72
- class AdHocFiltersVariable extends SceneObjectBase {
73
- constructor(state) {
74
- var _a, _b;
75
- super(__spreadValues({
76
- type: "adhoc",
77
- name: (_a = state.name) != null ? _a : "Filters",
78
- filters: [],
79
- datasource: null,
80
- applyMode: "auto",
81
- filterExpression: (_b = state.filterExpression) != null ? _b : renderExpression(state.expressionBuilder, state.filters)
82
- }, state));
83
- this._scopedVars = { __sceneObject: wrapInSafeSerializableSceneObject(this) };
84
- this._dataSourceSrv = getDataSourceSrv();
85
- this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);
86
- if (this.state.applyMode === "auto") {
87
- patchGetAdhocFilters(this);
88
- }
89
- }
90
- setState(update) {
91
- let filterExpressionChanged = false;
92
- if (update.filters && update.filters !== this.state.filters && !update.filterExpression) {
93
- update.filterExpression = renderExpression(this.state.expressionBuilder, update.filters);
94
- filterExpressionChanged = update.filterExpression !== this.state.filterExpression;
95
- }
96
- super.setState(update);
97
- if (filterExpressionChanged) {
98
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
99
- }
100
- }
101
- getValue() {
102
- return this.state.filterExpression;
103
- }
104
- _updateFilter(filter, update) {
105
- const { filters, _wip } = this.state;
106
- if (filter === _wip) {
107
- if ("value" in update && update["value"] !== "") {
108
- this.setState({ filters: [...filters, __spreadValues(__spreadValues({}, _wip), update)], _wip: void 0 });
109
- } else {
110
- this.setState({ _wip: __spreadValues(__spreadValues({}, filter), update) });
111
- }
112
- return;
113
- }
114
- const updatedFilters = this.state.filters.map((f) => {
115
- return f === filter ? __spreadValues(__spreadValues({}, f), update) : f;
116
- });
117
- this.setState({ filters: updatedFilters });
118
- }
119
- _removeFilter(filter) {
120
- if (filter === this.state._wip) {
121
- this.setState({ _wip: void 0 });
122
- return;
123
- }
124
- this.setState({ filters: this.state.filters.filter((f) => f !== filter) });
125
- }
126
- _removeLastFilter() {
127
- const filterToRemove = this.state.filters.at(-1);
128
- if (filterToRemove) {
129
- this._removeFilter(filterToRemove);
130
- }
131
- }
132
- _handleComboboxBackspace(filter) {
133
- if (this.state.filters.length) {
134
- let filterToForceIndex = this.state.filters.length - 1;
135
- if (filter !== this.state._wip) {
136
- filterToForceIndex = -1;
137
- }
138
- this.setState({
139
- filters: this.state.filters.reduce((acc, f, index) => {
140
- if (index === filterToForceIndex) {
141
- return [
142
- ...acc,
143
- __spreadProps(__spreadValues({}, f), {
144
- forceEdit: true
145
- })
146
- ];
147
- }
148
- if (f === filter) {
149
- return acc;
150
- }
151
- return [...acc, f];
152
- }, [])
153
- });
154
- }
155
- }
156
- async _getKeys(currentKey) {
157
- var _a, _b, _c;
158
- const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));
159
- if (override && override.replace) {
160
- return dataFromResponse(override.values).map(toSelectableValue);
161
- }
162
- if (this.state.defaultKeys) {
163
- return this.state.defaultKeys.map(toSelectableValue);
164
- }
165
- const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
166
- if (!ds || !ds.getTagKeys) {
167
- return [];
168
- }
169
- const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat((_c = this.state.baseFilters) != null ? _c : []);
170
- const timeRange = sceneGraph.getTimeRange(this).state.value;
171
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
172
- const response = await ds.getTagKeys(__spreadValues({
173
- filters: otherFilters,
174
- queries,
175
- timeRange
176
- }, getEnrichedFiltersRequest(this)));
177
- if (responseHasError(response)) {
178
- this.setState({ error: response.error.message });
179
- }
180
- let keys = dataFromResponse(response);
181
- if (override) {
182
- keys = keys.concat(dataFromResponse(override.values));
183
- }
184
- const tagKeyRegexFilter = this.state.tagKeyRegexFilter;
185
- if (tagKeyRegexFilter) {
186
- keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));
187
- }
188
- return keys.map(toSelectableValue);
189
- }
190
- async _getValuesFor(filter) {
191
- var _a, _b, _c;
192
- const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));
193
- if (override && override.replace) {
194
- return dataFromResponse(override.values).map(toSelectableValue);
195
- }
196
- const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
197
- if (!ds || !ds.getTagValues) {
198
- return [];
199
- }
200
- const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat((_c = this.state.baseFilters) != null ? _c : []);
201
- const timeRange = sceneGraph.getTimeRange(this).state.value;
202
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
203
- const response = await ds.getTagValues(__spreadValues({
204
- key: filter.key,
205
- filters: otherFilters,
206
- timeRange,
207
- queries
208
- }, getEnrichedFiltersRequest(this)));
209
- if (responseHasError(response)) {
210
- this.setState({ error: response.error.message });
211
- }
212
- let values = dataFromResponse(response);
213
- if (override) {
214
- values = values.concat(dataFromResponse(override.values));
215
- }
216
- return values.map(toSelectableValue);
217
- }
218
- _addWip() {
219
- this.setState({
220
- _wip: { key: "", value: "", operator: "=", condition: "" }
221
- });
222
- }
223
- _getOperators() {
224
- const filteredOperators = this.state.supportsMultiValueOperators ? OPERATORS : OPERATORS.filter((operator) => !operator.isMulti);
225
- return filteredOperators.map(({ value, description }) => ({
226
- label: value,
227
- value,
228
- description
229
- }));
230
- }
231
- }
232
- AdHocFiltersVariable.Component = AdHocFiltersVariableRenderer;
233
- function renderExpression(builder, filters) {
234
- return (builder != null ? builder : renderPrometheusLabelFilters)(filters != null ? filters : []);
235
- }
236
- function AdHocFiltersVariableRenderer({ model }) {
237
- const { filters, readOnly, addFilterButtonText } = model.useState();
238
- const styles = useStyles2(getStyles);
239
- if (model.state.layout === "combobox") {
240
- return /* @__PURE__ */ React.createElement(AdHocFiltersComboboxRenderer, {
241
- model
242
- });
243
- }
244
- return /* @__PURE__ */ React.createElement("div", {
245
- className: styles.wrapper
246
- }, filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {
247
- key: index
248
- }, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {
249
- filter,
250
- model
251
- }))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {
252
- model,
253
- key: "'builder",
254
- addFilterButtonText
255
- }));
256
- }
257
- const getStyles = (theme) => ({
258
- wrapper: css({
259
- display: "flex",
260
- flexWrap: "wrap",
261
- alignItems: "flex-end",
262
- columnGap: theme.spacing(2),
263
- rowGap: theme.spacing(1)
264
- })
265
- });
266
- function toSelectableValue(input) {
267
- const { text, value } = input;
268
- const result = {
269
- label: text,
270
- value: String(value != null ? value : text)
271
- };
272
- if ("group" in input) {
273
- result.group = input.group;
274
- }
275
- return result;
276
- }
277
- function isFilterComplete(filter) {
278
- return filter.key !== "" && filter.operator !== "" && filter.value !== "";
279
- }
280
- function isMultiValueOperator(operatorValue) {
281
- const operator = OPERATORS.find((o) => o.value === operatorValue);
282
- if (!operator) {
283
- return false;
284
- }
285
- return Boolean(operator.isMulti);
286
- }
287
-
288
- export { AdHocFiltersVariable, AdHocFiltersVariableRenderer, OPERATORS, isFilterComplete, isMultiValueOperator, toSelectableValue };
289
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzVmFyaWFibGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvQWRIb2NGaWx0ZXJzVmFyaWFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBZEhvY1ZhcmlhYmxlRmlsdGVyLCBHZXRUYWdSZXNwb25zZSwgR3JhZmFuYVRoZW1lMiwgTWV0cmljRmluZFZhbHVlLCBTZWxlY3RhYmxlVmFsdWUgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUsIFNjZW5lVmFyaWFibGVTdGF0ZSwgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50LCBWYXJpYWJsZVZhbHVlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29udHJvbHNMYXlvdXQsIFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IERhdGFTb3VyY2VSZWYgfSBmcm9tICdAZ3JhZmFuYS9zY2hlbWEnO1xuaW1wb3J0IHsgZGF0YUZyb21SZXNwb25zZSwgZ2V0UXVlcmllc0ZvclZhcmlhYmxlcywgcmVuZGVyUHJvbWV0aGV1c0xhYmVsRmlsdGVycywgcmVzcG9uc2VIYXNFcnJvciB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHBhdGNoR2V0QWRob2NGaWx0ZXJzIH0gZnJvbSAnLi9wYXRjaEdldEFkaG9jRmlsdGVycyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlckJ1aWxkZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyQnVpbGRlcic7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlclJlbmRlcmVyIH0gZnJvbSAnLi9BZEhvY0ZpbHRlclJlbmRlcmVyJztcbmltcG9ydCB7IGdldERhdGFTb3VyY2VTcnYgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXInO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IGdldEVucmljaGVkRmlsdGVyc1JlcXVlc3QgfSBmcm9tICcuLi9nZXRFbnJpY2hlZEZpbHRlcnNSZXF1ZXN0JztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc0NvbWJvYm94UmVuZGVyZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyc0NvbWJvYm94L0FkSG9jRmlsdGVyc0NvbWJvYm94UmVuZGVyZXInO1xuaW1wb3J0IHsgd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBBZEhvY0ZpbHRlcldpdGhMYWJlbHMgZXh0ZW5kcyBBZEhvY1ZhcmlhYmxlRmlsdGVyIHtcbiAga2V5TGFiZWw/OiBzdHJpbmc7XG4gIHZhbHVlTGFiZWxzPzogc3RyaW5nW107XG4gIC8vIHRoaXMgaXMgdXNlZCB0byBleHRlcm5hbGx5IHRyaWdnZXIgZWRpdCBtb2RlIGluIGNvbWJvYm94IGZpbHRlciBVSVxuICBmb3JjZUVkaXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBBZEhvY0NvbnRyb2xzTGF5b3V0ID0gQ29udHJvbHNMYXlvdXQgfCAnY29tYm9ib3gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkSG9jRmlsdGVyc1ZhcmlhYmxlU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUge1xuICAvKiogT3B0aW9uYWwgdGV4dCB0byBkaXNwbGF5IG9uIHRoZSAnYWRkIGZpbHRlcicgYnV0dG9uICovXG4gIGFkZEZpbHRlckJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmlzaWJsZSBmaWx0ZXJzICovXG4gIGZpbHRlcnM6IEFkSG9jRmlsdGVyV2l0aExhYmVsc1tdO1xuICAvKiogQmFzZSBmaWx0ZXJzIHRvIGFsd2F5cyBhcHBseSB3aGVuIGxvb2tpbmcgdXAga2V5cyovXG4gIGJhc2VGaWx0ZXJzPzogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzW107XG4gIC8qKiBEYXRhc291cmNlIHRvIHVzZSBmb3IgZ2V0VGFnS2V5cyBhbmQgZ2V0VGFnVmFsdWVzIGFuZCBhbHNvIGNvbnRyb2xzIHdoaWNoIHNjZW5lIHF1ZXJpZXMgdGhlIGZpbHRlcnMgc2hvdWxkIGFwcGx5IHRvICovXG4gIGRhdGFzb3VyY2U6IERhdGFTb3VyY2VSZWYgfCBudWxsO1xuICAvKiogQ29udHJvbHMgaWYgdGhlIGZpbHRlcnMgY2FuIGJlIGNoYW5nZWQgKi9cbiAgcmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKiBDb250cm9scyB0aGUgbGF5b3V0IGFuZCBkZXNpZ24gb2YgdGhlIGxhYmVsLlxuICAgKi9cbiAgbGF5b3V0PzogQWRIb2NDb250cm9sc0xheW91dDtcbiAgLyoqXG4gICAqIERlZmF1bHRzIHRvIGF1dG9tYXRpYyB3aGljaCBtZWFucyBmaWx0ZXJzIHdpbGwgYXV0b21hdGljYWxseSBiZSBhcHBsaWVkIHRvIGFsbCBxdWVyaWVzIHdpdGggdGhlIHNhbWUgZGF0YSBzb3VyY2UgYXMgdGhpcyBBZEhvY0ZpbHRlclNldC5cbiAgICogSW4gbWFudWFsIG1vZGUgeW91IGVpdGhlciBoYXZlIHRvIHVzZSB0aGUgZmlsdGVycyBwcm9ncmFtbWF0aWNhbGx5IG9yIGFzIGEgdmFyaWFibGUgaW5zaWRlIHF1ZXJ5IGV4cHJlc3Npb25zLlxuICAgKi9cbiAgYXBwbHlNb2RlOiAnYXV0bycgfCAnbWFudWFsJztcbiAgLyoqXG4gICAqIEZpbHRlciBvdXQgdGhlIGtleXMgdGhhdCBkbyBub3QgbWF0Y2ggdGhlIHJlZ2V4LlxuICAgKi9cbiAgdGFnS2V5UmVnZXhGaWx0ZXI/OiBSZWdFeHA7XG4gIC8qKlxuICAgKiBFeHRlbnNpb24gaG9vayBmb3IgY3VzdG9taXppbmcgdGhlIGtleSBsb29rdXAuXG4gICAqIFJldHVybiByZXBsYWNlOiB0cnVlIGlmIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxvb2t1cFxuICAgKiBSZXR1cm4gcmVwbGFjZTogZmFsc2UgaWYgeW91IHdhbnQgdG8gY29tYmluZSB0aGUgcmVzdWx0cyB3aXRoIHRoZSBkZWZhdWx0IGxvb2t1cFxuICAgKi9cbiAgZ2V0VGFnS2V5c1Byb3ZpZGVyPzogZ2V0VGFnS2V5c1Byb3ZpZGVyO1xuICAvKipcbiAgICogRXh0ZW5zaW9uIGhvb2sgZm9yIGN1c3RvbWl6aW5nIHRoZSB2YWx1ZSBsb29rdXAuXG4gICAqIFJldHVybiByZXBsYWNlOiB0cnVlIGlmIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxvb2t1cC5cbiAgICogUmV0dXJuIHJlcGxhY2U6IGZhbHNlIGlmIHlvdSB3YW50IHRvIGNvbWJpbmUgdGhlIHJlc3VsdHMgd2l0aCB0aGUgZGVmYXVsdCBsb29rdXBcbiAgICovXG4gIGdldFRhZ1ZhbHVlc1Byb3ZpZGVyPzogZ2V0VGFnVmFsdWVzUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsbHkgcHJvdmlkZSBhbiBhcnJheSBvZiBzdGF0aWMga2V5cyB0aGF0IG92ZXJyaWRlIGdldFRhZ0tleXNcbiAgICovXG4gIGRlZmF1bHRLZXlzPzogTWV0cmljRmluZFZhbHVlW107XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIGV4cHJlc3Npb24gdGhhdCB0aGUgZmlsdGVycyByZXN1bHRlZCBpbi4gRGVmYXVsdHMgdG9cbiAgICogUHJvbWV0aGV1cyAvIExva2kgY29tcGF0aWJsZSBsYWJlbCBmaWx0ZXIgZXhwcmVzc2lvblxuICAgKi9cbiAgZmlsdGVyRXhwcmVzc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYnVpbGRlciBjcmVhdGVzIGEgUHJvbWV0aGV1cy9Mb2tpIGNvbXBhdGlibGUgZmlsdGVyIGV4cHJlc3Npb24sXG4gICAqIHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gdG8gY3JlYXRlIGEgZGlmZmVyZW50IGV4cHJlc3Npb24gYmFzZWQgb24gdGhlIGN1cnJlbnQgZmlsdGVycy5cbiAgICovXG4gIGV4cHJlc3Npb25CdWlsZGVyPzogQWRIb2NWYXJpYWJsZUV4cHJlc3Npb25CdWlsZGVyRm47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpbHRlciBzdXBwb3J0cyBuZXcgbXVsdGktdmFsdWUgb3BlcmF0b3JzIGxpa2UgPXwgYW5kICE9fFxuICAgKi9cbiAgc3VwcG9ydHNNdWx0aVZhbHVlT3BlcmF0b3JzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBxdWVyeWluZyB0aGUgZGF0YXNvdXJjZSBmb3IgbGFiZWwgbmFtZXMgYW5kIHZhbHVlcyB0byBkZXRlcm1pbmUga2V5cyBhbmQgdmFsdWVzXG4gICAqIGZvciB0aGlzIGFkIGhvYyBmaWx0ZXIsIGNvbnNpZGVyIHRoZSBxdWVyaWVzIGluIHRoZSBzY2VuZSBhbmQgdXNlIHRoZW0gYXMgYSBmaWx0ZXIuXG4gICAqIFRoaXMgcXVlcmllcyBmaWx0ZXIgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgb25seSBhZCBob2MgZmlsdGVyIG9wdGlvbnMgdGhhdCB3b3VsZFxuICAgKiBpbXBhY3QgdGhlIGN1cnJlbnQgcXVlcmllcyBhcmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgdXNlUXVlcmllc0FzRmlsdGVyRm9yT3B0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZsYWcgdGhhdCBkZWNpZGVzIHdoZXRoZXIgY3VzdG9tIHZhbHVlcyBjYW4gYmUgYWRkZWQgdG8gdGhlIGZpbHRlclxuICAgKi9cbiAgYWxsb3dDdXN0b21WYWx1ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgbmV3IGZpbHRlciBiZWluZyBhZGRlZFxuICAgKi9cbiAgX3dpcD86IEFkSG9jRmlsdGVyV2l0aExhYmVscztcbn1cblxuZXhwb3J0IHR5cGUgQWRIb2NWYXJpYWJsZUV4cHJlc3Npb25CdWlsZGVyRm4gPSAoZmlsdGVyczogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzW10pID0+IHN0cmluZztcblxuZXhwb3J0IHR5cGUgZ2V0VGFnS2V5c1Byb3ZpZGVyID0gKFxuICB2YXJpYWJsZTogQWRIb2NGaWx0ZXJzVmFyaWFibGUsXG4gIGN1cnJlbnRLZXk6IHN0cmluZyB8IG51bGxcbikgPT4gUHJvbWlzZTx7IHJlcGxhY2U/OiBib29sZWFuOyB2YWx1ZXM6IEdldFRhZ1Jlc3BvbnNlIHwgTWV0cmljRmluZFZhbHVlW10gfT47XG5cbmV4cG9ydCB0eXBlIGdldFRhZ1ZhbHVlc1Byb3ZpZGVyID0gKFxuICB2YXJpYWJsZTogQWRIb2NGaWx0ZXJzVmFyaWFibGUsXG4gIGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzXG4pID0+IFByb21pc2U8eyByZXBsYWNlPzogYm9vbGVhbjsgdmFsdWVzOiBHZXRUYWdSZXNwb25zZSB8IE1ldHJpY0ZpbmRWYWx1ZVtdIH0+O1xuXG5leHBvcnQgdHlwZSBBZEhvY0ZpbHRlcnNWYXJpYWJsZUNyZWF0ZUhlbHBlckFyZ3MgPSBBZEhvY0ZpbHRlcnNWYXJpYWJsZVN0YXRlO1xuXG5leHBvcnQgdHlwZSBPcGVyYXRvckRlZmluaXRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpc011bHRpPzogQm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBPUEVSQVRPUlM6IE9wZXJhdG9yRGVmaW5pdGlvbltdID0gW1xuICB7XG4gICAgdmFsdWU6ICc9JyxcbiAgICBkZXNjcmlwdGlvbjogJ0VxdWFscycsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJyE9JyxcbiAgICBkZXNjcmlwdGlvbjogJ05vdCBlcXVhbCcsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJz18JyxcbiAgICBkZXNjcmlwdGlvbjogJ09uZSBvZi4gVXNlIHRvIGZpbHRlciBvbiBtdWx0aXBsZSB2YWx1ZXMuJyxcbiAgICBpc011bHRpOiB0cnVlLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICchPXwnLFxuICAgIGRlc2NyaXB0aW9uOiAnTm90IG9uZSBvZi4gVXNlIHRvIGV4Y2x1ZGUgbXVsdGlwbGUgdmFsdWVzLicsXG4gICAgaXNNdWx0aTogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnPX4nLFxuICAgIGRlc2NyaXB0aW9uOiAnTWF0Y2hlcyByZWdleCcsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJyF+JyxcbiAgICBkZXNjcmlwdGlvbjogJ0RvZXMgbm90IG1hdGNoIHJlZ2V4JyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnPCcsXG4gICAgZGVzY3JpcHRpb246ICdMZXNzIHRoYW4nLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICc+JyxcbiAgICBkZXNjcmlwdGlvbjogJ0dyZWF0ZXIgdGhhbicsXG4gIH0sXG5dO1xuXG5leHBvcnQgY2xhc3MgQWRIb2NGaWx0ZXJzVmFyaWFibGVcbiAgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8QWRIb2NGaWx0ZXJzVmFyaWFibGVTdGF0ZT5cbiAgaW1wbGVtZW50cyBTY2VuZVZhcmlhYmxlPEFkSG9jRmlsdGVyc1ZhcmlhYmxlU3RhdGU+XG57XG4gIHN0YXRpYyBDb21wb25lbnQgPSBBZEhvY0ZpbHRlcnNWYXJpYWJsZVJlbmRlcmVyO1xuXG4gIHByaXZhdGUgX3Njb3BlZFZhcnMgPSB7IF9fc2NlbmVPYmplY3Q6IHdyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCh0aGlzKSB9O1xuICBwcml2YXRlIF9kYXRhU291cmNlU3J2ID0gZ2V0RGF0YVNvdXJjZVNydigpO1xuXG4gIHByb3RlY3RlZCBfdXJsU3luYyA9IG5ldyBBZEhvY0ZpbHRlcnNWYXJpYWJsZVVybFN5bmNIYW5kbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdGF0ZTogUGFydGlhbDxBZEhvY0ZpbHRlcnNWYXJpYWJsZVN0YXRlPikge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6ICdhZGhvYycsXG4gICAgICBuYW1lOiBzdGF0ZS5uYW1lID8/ICdGaWx0ZXJzJyxcbiAgICAgIGZpbHRlcnM6IFtdLFxuICAgICAgZGF0YXNvdXJjZTogbnVsbCxcbiAgICAgIGFwcGx5TW9kZTogJ2F1dG8nLFxuICAgICAgZmlsdGVyRXhwcmVzc2lvbjogc3RhdGUuZmlsdGVyRXhwcmVzc2lvbiA/PyByZW5kZXJFeHByZXNzaW9uKHN0YXRlLmV4cHJlc3Npb25CdWlsZGVyLCBzdGF0ZS5maWx0ZXJzKSxcbiAgICAgIC4uLnN0YXRlLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuYXBwbHlNb2RlID09PSAnYXV0bycpIHtcbiAgICAgIHBhdGNoR2V0QWRob2NGaWx0ZXJzKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTdGF0ZSh1cGRhdGU6IFBhcnRpYWw8QWRIb2NGaWx0ZXJzVmFyaWFibGVTdGF0ZT4pOiB2b2lkIHtcbiAgICBsZXQgZmlsdGVyRXhwcmVzc2lvbkNoYW5nZWQgPSBmYWxzZTtcblxuICAgIGlmICh1cGRhdGUuZmlsdGVycyAmJiB1cGRhdGUuZmlsdGVycyAhPT0gdGhpcy5zdGF0ZS5maWx0ZXJzICYmICF1cGRhdGUuZmlsdGVyRXhwcmVzc2lvbikge1xuICAgICAgdXBkYXRlLmZpbHRlckV4cHJlc3Npb24gPSByZW5kZXJFeHByZXNzaW9uKHRoaXMuc3RhdGUuZXhwcmVzc2lvbkJ1aWxkZXIsIHVwZGF0ZS5maWx0ZXJzKTtcbiAgICAgIGZpbHRlckV4cHJlc3Npb25DaGFuZ2VkID0gdXBkYXRlLmZpbHRlckV4cHJlc3Npb24gIT09IHRoaXMuc3RhdGUuZmlsdGVyRXhwcmVzc2lvbjtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRTdGF0ZSh1cGRhdGUpO1xuXG4gICAgaWYgKGZpbHRlckV4cHJlc3Npb25DaGFuZ2VkKSB7XG4gICAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50KHRoaXMpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsdWUoKTogVmFyaWFibGVWYWx1ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZmlsdGVyRXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBfdXBkYXRlRmlsdGVyKGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzLCB1cGRhdGU6IFBhcnRpYWw8QWRIb2NGaWx0ZXJXaXRoTGFiZWxzPikge1xuICAgIGNvbnN0IHsgZmlsdGVycywgX3dpcCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGlmIChmaWx0ZXIgPT09IF93aXApIHtcbiAgICAgIC8vIElmIHdlIHNldCB2YWx1ZSB3ZSBhcmUgZG9uZSB3aXRoIHRoaXMgXCJ3b3JrIGluIHByb2dyZXNzXCIgZmlsdGVyIGFuZCB3ZSBjYW4gYWRkIGl0XG4gICAgICBpZiAoJ3ZhbHVlJyBpbiB1cGRhdGUgJiYgdXBkYXRlWyd2YWx1ZSddICE9PSAnJykge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZmlsdGVyczogWy4uLmZpbHRlcnMsIHsgLi4uX3dpcCwgLi4udXBkYXRlIH1dLCBfd2lwOiB1bmRlZmluZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgX3dpcDogeyAuLi5maWx0ZXIsIC4uLnVwZGF0ZSB9IH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRGaWx0ZXJzID0gdGhpcy5zdGF0ZS5maWx0ZXJzLm1hcCgoZikgPT4ge1xuICAgICAgcmV0dXJuIGYgPT09IGZpbHRlciA/IHsgLi4uZiwgLi4udXBkYXRlIH0gOiBmO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbHRlcnM6IHVwZGF0ZWRGaWx0ZXJzIH0pO1xuICB9XG5cbiAgcHVibGljIF9yZW1vdmVGaWx0ZXIoZmlsdGVyOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHMpIHtcbiAgICBpZiAoZmlsdGVyID09PSB0aGlzLnN0YXRlLl93aXApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBfd2lwOiB1bmRlZmluZWQgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbHRlcnM6IHRoaXMuc3RhdGUuZmlsdGVycy5maWx0ZXIoKGYpID0+IGYgIT09IGZpbHRlcikgfSk7XG4gIH1cblxuICBwdWJsaWMgX3JlbW92ZUxhc3RGaWx0ZXIoKSB7XG4gICAgY29uc3QgZmlsdGVyVG9SZW1vdmUgPSB0aGlzLnN0YXRlLmZpbHRlcnMuYXQoLTEpO1xuXG4gICAgaWYgKGZpbHRlclRvUmVtb3ZlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVGaWx0ZXIoZmlsdGVyVG9SZW1vdmUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfaGFuZGxlQ29tYm9ib3hCYWNrc3BhY2UoZmlsdGVyOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHMpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5maWx0ZXJzLmxlbmd0aCkge1xuICAgICAgLy8gZGVmYXVsdCBmb3JjZUVkaXQgbGFzdCBmaWx0ZXIgKHdoZW4gdHJpZ2dlcmluZyBmcm9tIHdpcCBmaWx0ZXIpXG4gICAgICBsZXQgZmlsdGVyVG9Gb3JjZUluZGV4ID0gdGhpcy5zdGF0ZS5maWx0ZXJzLmxlbmd0aCAtIDE7XG5cbiAgICAgIC8vIGFkanVzdCBmaWx0ZXJUb0ZvcmNlSW5kZXggaW5kZXggdG8gLTEgaWYgYmFja3NwYWNlIHRyaWdnZXJlZCBmcm9tIG5vbiB3aXAgZmlsdGVyXG4gICAgICAvLyAgdG8gYXZvaWQgdHJpZ2dlcmluZyBmb3JjZUVkaXQgbG9naWNcbiAgICAgIGlmIChmaWx0ZXIgIT09IHRoaXMuc3RhdGUuX3dpcCkge1xuICAgICAgICBmaWx0ZXJUb0ZvcmNlSW5kZXggPSAtMTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGZpbHRlcnM6IHRoaXMuc3RhdGUuZmlsdGVycy5yZWR1Y2U8QWRIb2NGaWx0ZXJXaXRoTGFiZWxzW10+KChhY2MsIGYsIGluZGV4KSA9PiB7XG4gICAgICAgICAgLy8gYWRqdXN0IGZvcmNlRWRpdCBvZiBwcmVjZWRpbmcgZmlsdGVyXG4gICAgICAgICAgaWYgKGluZGV4ID09PSBmaWx0ZXJUb0ZvcmNlSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLmYsXG4gICAgICAgICAgICAgICAgZm9yY2VFZGl0OiB0cnVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gcmVtb3ZlIGN1cnJlbnQgZmlsdGVyXG4gICAgICAgICAgaWYgKGYgPT09IGZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gWy4uLmFjYywgZl07XG4gICAgICAgIH0sIFtdKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcG9zc2libGUga2V5cyBnaXZlbiBjdXJyZW50IGZpbHRlcnMuIERvIG5vdCBjYWxsIGZyb20gcGx1Z2lucyBkaXJlY3RseVxuICAgKi9cbiAgcHVibGljIGFzeW5jIF9nZXRLZXlzKGN1cnJlbnRLZXk6IHN0cmluZyB8IG51bGwpOiBQcm9taXNlPEFycmF5PFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+Pj4ge1xuICAgIGNvbnN0IG92ZXJyaWRlID0gYXdhaXQgdGhpcy5zdGF0ZS5nZXRUYWdLZXlzUHJvdmlkZXI/Lih0aGlzLCBjdXJyZW50S2V5KTtcblxuICAgIGlmIChvdmVycmlkZSAmJiBvdmVycmlkZS5yZXBsYWNlKSB7XG4gICAgICByZXR1cm4gZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUuZGVmYXVsdEtleXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLmRlZmF1bHRLZXlzLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZHMgPSBhd2FpdCB0aGlzLl9kYXRhU291cmNlU3J2LmdldCh0aGlzLnN0YXRlLmRhdGFzb3VyY2UsIHRoaXMuX3Njb3BlZFZhcnMpO1xuICAgIGlmICghZHMgfHwgIWRzLmdldFRhZ0tleXMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBvdGhlckZpbHRlcnMgPSB0aGlzLnN0YXRlLmZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmtleSAhPT0gY3VycmVudEtleSkuY29uY2F0KHRoaXMuc3RhdGUuYmFzZUZpbHRlcnMgPz8gW10pO1xuICAgIGNvbnN0IHRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpLnN0YXRlLnZhbHVlO1xuICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnN0YXRlLnVzZVF1ZXJpZXNBc0ZpbHRlckZvck9wdGlvbnMgPyBnZXRRdWVyaWVzRm9yVmFyaWFibGVzKHRoaXMpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZHMuZ2V0VGFnS2V5cyh7XG4gICAgICBmaWx0ZXJzOiBvdGhlckZpbHRlcnMsXG4gICAgICBxdWVyaWVzLFxuICAgICAgdGltZVJhbmdlLFxuICAgICAgLi4uZ2V0RW5yaWNoZWRGaWx0ZXJzUmVxdWVzdCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGlmIChyZXNwb25zZUhhc0Vycm9yKHJlc3BvbnNlKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yOiByZXNwb25zZS5lcnJvci5tZXNzYWdlIH0pO1xuICAgIH1cblxuICAgIGxldCBrZXlzID0gZGF0YUZyb21SZXNwb25zZShyZXNwb25zZSk7XG4gICAgaWYgKG92ZXJyaWRlKSB7XG4gICAgICBrZXlzID0ga2V5cy5jb25jYXQoZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YWdLZXlSZWdleEZpbHRlciA9IHRoaXMuc3RhdGUudGFnS2V5UmVnZXhGaWx0ZXI7XG4gICAgaWYgKHRhZ0tleVJlZ2V4RmlsdGVyKSB7XG4gICAgICBrZXlzID0ga2V5cy5maWx0ZXIoKGYpID0+IGYudGV4dC5tYXRjaCh0YWdLZXlSZWdleEZpbHRlcikpO1xuICAgIH1cblxuICAgIHJldHVybiBrZXlzLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHBvc3NpYmxlIGtleSB2YWx1ZXMgZm9yIGEgc3BlY2lmaWMga2V5IGdpdmVuIGN1cnJlbnQgZmlsdGVycy4gRG8gbm90IGNhbGwgZnJvbSBwbHVnaW5zIGRpcmVjdGx5XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgX2dldFZhbHVlc0ZvcihmaWx0ZXI6IEFkSG9jRmlsdGVyV2l0aExhYmVscyk6IFByb21pc2U8QXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+PiB7XG4gICAgY29uc3Qgb3ZlcnJpZGUgPSBhd2FpdCB0aGlzLnN0YXRlLmdldFRhZ1ZhbHVlc1Byb3ZpZGVyPy4odGhpcywgZmlsdGVyKTtcblxuICAgIGlmIChvdmVycmlkZSAmJiBvdmVycmlkZS5yZXBsYWNlKSB7XG4gICAgICByZXR1cm4gZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZHMgPSBhd2FpdCB0aGlzLl9kYXRhU291cmNlU3J2LmdldCh0aGlzLnN0YXRlLmRhdGFzb3VyY2UsIHRoaXMuX3Njb3BlZFZhcnMpO1xuXG4gICAgaWYgKCFkcyB8fCAhZHMuZ2V0VGFnVmFsdWVzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIG91dCB0aGUgY3VycmVudCBmaWx0ZXIga2V5IGZyb20gdGhlIGxpc3Qgb2YgYWxsIGZpbHRlcnNcbiAgICBjb25zdCBvdGhlckZpbHRlcnMgPSB0aGlzLnN0YXRlLmZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmtleSAhPT0gZmlsdGVyLmtleSkuY29uY2F0KHRoaXMuc3RhdGUuYmFzZUZpbHRlcnMgPz8gW10pO1xuXG4gICAgY29uc3QgdGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UodGhpcykuc3RhdGUudmFsdWU7XG4gICAgY29uc3QgcXVlcmllcyA9IHRoaXMuc3RhdGUudXNlUXVlcmllc0FzRmlsdGVyRm9yT3B0aW9ucyA/IGdldFF1ZXJpZXNGb3JWYXJpYWJsZXModGhpcykgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRzLmdldFRhZ1ZhbHVlcyh7XG4gICAgICBrZXk6IGZpbHRlci5rZXksXG4gICAgICBmaWx0ZXJzOiBvdGhlckZpbHRlcnMsXG4gICAgICB0aW1lUmFuZ2UsXG4gICAgICBxdWVyaWVzLFxuICAgICAgLi4uZ2V0RW5yaWNoZWRGaWx0ZXJzUmVxdWVzdCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGlmIChyZXNwb25zZUhhc0Vycm9yKHJlc3BvbnNlKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yOiByZXNwb25zZS5lcnJvci5tZXNzYWdlIH0pO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZXMgPSBkYXRhRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgIHZhbHVlcyA9IHZhbHVlcy5jb25jYXQoZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVzLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgX2FkZFdpcCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIF93aXA6IHsga2V5OiAnJywgdmFsdWU6ICcnLCBvcGVyYXRvcjogJz0nLCBjb25kaXRpb246ICcnIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgX2dldE9wZXJhdG9ycygpIHtcbiAgICBjb25zdCBmaWx0ZXJlZE9wZXJhdG9ycyA9IHRoaXMuc3RhdGUuc3VwcG9ydHNNdWx0aVZhbHVlT3BlcmF0b3JzXG4gICAgICA/IE9QRVJBVE9SU1xuICAgICAgOiBPUEVSQVRPUlMuZmlsdGVyKChvcGVyYXRvcikgPT4gIW9wZXJhdG9yLmlzTXVsdGkpO1xuICAgIHJldHVybiBmaWx0ZXJlZE9wZXJhdG9ycy5tYXA8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+KCh7IHZhbHVlLCBkZXNjcmlwdGlvbiB9KSA9PiAoe1xuICAgICAgbGFiZWw6IHZhbHVlLFxuICAgICAgdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICB9KSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyRXhwcmVzc2lvbihcbiAgYnVpbGRlcjogQWRIb2NWYXJpYWJsZUV4cHJlc3Npb25CdWlsZGVyRm4gfCB1bmRlZmluZWQsXG4gIGZpbHRlcnM6IEFkSG9jRmlsdGVyV2l0aExhYmVsc1tdIHwgdW5kZWZpbmVkXG4pIHtcbiAgcmV0dXJuIChidWlsZGVyID8/IHJlbmRlclByb21ldGhldXNMYWJlbEZpbHRlcnMpKGZpbHRlcnMgPz8gW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQWRIb2NGaWx0ZXJzVmFyaWFibGVSZW5kZXJlcih7IG1vZGVsIH06IFNjZW5lQ29tcG9uZW50UHJvcHM8QWRIb2NGaWx0ZXJzVmFyaWFibGU+KSB7XG4gIGNvbnN0IHsgZmlsdGVycywgcmVhZE9ubHksIGFkZEZpbHRlckJ1dHRvblRleHQgfSA9IG1vZGVsLnVzZVN0YXRlKCk7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0U3R5bGVzKTtcblxuICBpZiAobW9kZWwuc3RhdGUubGF5b3V0ID09PSAnY29tYm9ib3gnKSB7XG4gICAgcmV0dXJuIDxBZEhvY0ZpbHRlcnNDb21ib2JveFJlbmRlcmVyIG1vZGVsPXttb2RlbH0gLz47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMud3JhcHBlcn0+XG4gICAgICB7ZmlsdGVycy5tYXAoKGZpbHRlciwgaW5kZXgpID0+IChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgIDxBZEhvY0ZpbHRlclJlbmRlcmVyIGZpbHRlcj17ZmlsdGVyfSBtb2RlbD17bW9kZWx9IC8+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApKX1cblxuICAgICAgeyFyZWFkT25seSAmJiA8QWRIb2NGaWx0ZXJCdWlsZGVyIG1vZGVsPXttb2RlbH0ga2V5PVwiJ2J1aWxkZXJcIiBhZGRGaWx0ZXJCdXR0b25UZXh0PXthZGRGaWx0ZXJCdXR0b25UZXh0fSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3QgZ2V0U3R5bGVzID0gKHRoZW1lOiBHcmFmYW5hVGhlbWUyKSA9PiAoe1xuICB3cmFwcGVyOiBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgY29sdW1uR2FwOiB0aGVtZS5zcGFjaW5nKDIpLFxuICAgIHJvd0dhcDogdGhlbWUuc3BhY2luZygxKSxcbiAgfSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2VsZWN0YWJsZVZhbHVlKGlucHV0OiBNZXRyaWNGaW5kVmFsdWUpOiBTZWxlY3RhYmxlVmFsdWU8c3RyaW5nPiB7XG4gIGNvbnN0IHsgdGV4dCwgdmFsdWUgfSA9IGlucHV0O1xuICBjb25zdCByZXN1bHQ6IFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+ID0ge1xuICAgIGxhYmVsOiB0ZXh0LFxuICAgIHZhbHVlOiBTdHJpbmcodmFsdWUgPz8gdGV4dCksXG4gIH07XG5cbiAgaWYgKCdncm91cCcgaW4gaW5wdXQpIHtcbiAgICByZXN1bHQuZ3JvdXAgPSBpbnB1dC5ncm91cDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbHRlckNvbXBsZXRlKGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzKTogYm9vbGVhbiB7XG4gIHJldHVybiBmaWx0ZXIua2V5ICE9PSAnJyAmJiBmaWx0ZXIub3BlcmF0b3IgIT09ICcnICYmIGZpbHRlci52YWx1ZSAhPT0gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc011bHRpVmFsdWVPcGVyYXRvcihvcGVyYXRvclZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3Qgb3BlcmF0b3IgPSBPUEVSQVRPUlMuZmluZCgobykgPT4gby52YWx1ZSA9PT0gb3BlcmF0b3JWYWx1ZSk7XG4gIGlmICghb3BlcmF0b3IpIHtcbiAgICAvLyBkZWZhdWx0IHRvIGZhbHNlIGlmIG9wZXJhdG9yIGlzIG5vdCBmb3VuZFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gQm9vbGVhbihvcGVyYXRvci5pc011bHRpKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStITyxNQUFNLFNBQWtDLEdBQUE7QUFBQSxFQUM3QztBQUFBLElBQ0UsS0FBTyxFQUFBLEdBQUE7QUFBQSxJQUNQLFdBQWEsRUFBQSxRQUFBO0FBQUEsR0FDZjtBQUFBLEVBQ0E7QUFBQSxJQUNFLEtBQU8sRUFBQSxJQUFBO0FBQUEsSUFDUCxXQUFhLEVBQUEsV0FBQTtBQUFBLEdBQ2Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxLQUFPLEVBQUEsSUFBQTtBQUFBLElBQ1AsV0FBYSxFQUFBLDJDQUFBO0FBQUEsSUFDYixPQUFTLEVBQUEsSUFBQTtBQUFBLEdBQ1g7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
@@ -1,76 +0,0 @@
1
- import { isFilterComplete, isMultiValueOperator } from './AdHocFiltersVariable.js';
2
- import { escapeUrlPipeDelimiters, toUrlCommaDelimitedString, unescapeUrlDelimiters } from '../utils.js';
3
-
4
- class AdHocFiltersVariableUrlSyncHandler {
5
- constructor(_variable) {
6
- this._variable = _variable;
7
- }
8
- getKey() {
9
- return `var-${this._variable.state.name}`;
10
- }
11
- getKeys() {
12
- return [this.getKey()];
13
- }
14
- getUrlState() {
15
- const filters = this._variable.state.filters;
16
- if (filters.length === 0) {
17
- return { [this.getKey()]: [""] };
18
- }
19
- const value = filters.filter(isFilterComplete).map((filter) => toArray(filter).map(escapeUrlPipeDelimiters).join("|"));
20
- return { [this.getKey()]: value };
21
- }
22
- updateFromUrl(values) {
23
- const urlValue = values[this.getKey()];
24
- if (urlValue == null) {
25
- return;
26
- }
27
- const filters = deserializeUrlToFilters(urlValue);
28
- this._variable.setState({ filters });
29
- }
30
- }
31
- function deserializeUrlToFilters(value) {
32
- if (Array.isArray(value)) {
33
- const values = value;
34
- return values.map(toFilter).filter(isFilter);
35
- }
36
- const filter = toFilter(value);
37
- return filter === null ? [] : [filter];
38
- }
39
- function toArray(filter) {
40
- var _a;
41
- const result = [toUrlCommaDelimitedString(filter.key, filter.keyLabel), filter.operator];
42
- if (isMultiValueOperator(filter.operator)) {
43
- filter.values.forEach((value, index) => {
44
- var _a2;
45
- result.push(toUrlCommaDelimitedString(value, (_a2 = filter.valueLabels) == null ? void 0 : _a2[index]));
46
- });
47
- } else {
48
- result.push(toUrlCommaDelimitedString(filter.value, (_a = filter.valueLabels) == null ? void 0 : _a[0]));
49
- }
50
- return result;
51
- }
52
- function toFilter(urlValue) {
53
- if (typeof urlValue !== "string" || urlValue.length === 0) {
54
- return null;
55
- }
56
- const [key, keyLabel, operator, _operatorLabel, ...values] = urlValue.split("|").reduce((acc, v) => {
57
- const [key2, label] = v.split(",");
58
- acc.push(key2, label != null ? label : key2);
59
- return acc;
60
- }, []).map(unescapeUrlDelimiters);
61
- return {
62
- key,
63
- keyLabel,
64
- operator,
65
- value: values[0],
66
- values: isMultiValueOperator(operator) ? values.filter((_, index) => index % 2 === 0) : void 0,
67
- valueLabels: values.filter((_, index) => index % 2 === 1),
68
- condition: ""
69
- };
70
- }
71
- function isFilter(filter) {
72
- return filter !== null && typeof filter.key === "string" && typeof filter.value === "string";
73
- }
74
-
75
- export { AdHocFiltersVariableUrlSyncHandler };
76
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzVmFyaWFibGVVcmxTeW5jSGFuZGxlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9hZGhvYy9BZEhvY0ZpbHRlcnNWYXJpYWJsZVVybFN5bmNIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXIsIFNjZW5lT2JqZWN0VXJsVmFsdWUsIFNjZW5lT2JqZWN0VXJsVmFsdWVzIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQge1xuICBBZEhvY0ZpbHRlcnNWYXJpYWJsZSxcbiAgQWRIb2NGaWx0ZXJXaXRoTGFiZWxzLFxuICBpc0ZpbHRlckNvbXBsZXRlLFxuICBpc011bHRpVmFsdWVPcGVyYXRvcixcbn0gZnJvbSAnLi9BZEhvY0ZpbHRlcnNWYXJpYWJsZSc7XG5pbXBvcnQgeyBlc2NhcGVVcmxQaXBlRGVsaW1pdGVycywgdG9VcmxDb21tYURlbGltaXRlZFN0cmluZywgdW5lc2NhcGVVcmxEZWxpbWl0ZXJzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQWRIb2NGaWx0ZXJzVmFyaWFibGVVcmxTeW5jSGFuZGxlciBpbXBsZW1lbnRzIFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfdmFyaWFibGU6IEFkSG9jRmlsdGVyc1ZhcmlhYmxlKSB7fVxuXG4gIHByaXZhdGUgZ2V0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXItJHt0aGlzLl92YXJpYWJsZS5zdGF0ZS5uYW1lfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0S2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFt0aGlzLmdldEtleSgpXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVcmxTdGF0ZSgpOiBTY2VuZU9iamVjdFVybFZhbHVlcyB7XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMuX3ZhcmlhYmxlLnN0YXRlLmZpbHRlcnM7XG5cbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7IFt0aGlzLmdldEtleSgpXTogWycnXSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1xuICAgICAgLmZpbHRlcihpc0ZpbHRlckNvbXBsZXRlKVxuICAgICAgLm1hcCgoZmlsdGVyKSA9PiB0b0FycmF5KGZpbHRlcikubWFwKGVzY2FwZVVybFBpcGVEZWxpbWl0ZXJzKS5qb2luKCd8JykpO1xuICAgIHJldHVybiB7IFt0aGlzLmdldEtleSgpXTogdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGcm9tVXJsKHZhbHVlczogU2NlbmVPYmplY3RVcmxWYWx1ZXMpOiB2b2lkIHtcbiAgICBjb25zdCB1cmxWYWx1ZSA9IHZhbHVlc1t0aGlzLmdldEtleSgpXTtcblxuICAgIGlmICh1cmxWYWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVycyA9IGRlc2VyaWFsaXplVXJsVG9GaWx0ZXJzKHVybFZhbHVlKTtcbiAgICB0aGlzLl92YXJpYWJsZS5zZXRTdGF0ZSh7IGZpbHRlcnMgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVzZXJpYWxpemVVcmxUb0ZpbHRlcnModmFsdWU6IFNjZW5lT2JqZWN0VXJsVmFsdWUpOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHNbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZXMubWFwKHRvRmlsdGVyKS5maWx0ZXIoaXNGaWx0ZXIpO1xuICB9XG5cbiAgY29uc3QgZmlsdGVyID0gdG9GaWx0ZXIodmFsdWUpO1xuICByZXR1cm4gZmlsdGVyID09PSBudWxsID8gW10gOiBbZmlsdGVyXTtcbn1cblxuZnVuY3Rpb24gdG9BcnJheShmaWx0ZXI6IEFkSG9jRmlsdGVyV2l0aExhYmVscyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmVzdWx0ID0gW3RvVXJsQ29tbWFEZWxpbWl0ZWRTdHJpbmcoZmlsdGVyLmtleSwgZmlsdGVyLmtleUxhYmVsKSwgZmlsdGVyLm9wZXJhdG9yXTtcbiAgaWYgKGlzTXVsdGlWYWx1ZU9wZXJhdG9yKGZpbHRlci5vcGVyYXRvcikpIHtcbiAgICAvLyBUT0RPIHJlbW92ZSBleHBlY3QtZXJyb3Igd2hlbiB3ZSdyZSBvbiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgQGdyYWZhbmEvZGF0YVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBmaWx0ZXIudmFsdWVzLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2godG9VcmxDb21tYURlbGltaXRlZFN0cmluZyh2YWx1ZSwgZmlsdGVyLnZhbHVlTGFiZWxzPy5baW5kZXhdKSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnB1c2godG9VcmxDb21tYURlbGltaXRlZFN0cmluZyhmaWx0ZXIudmFsdWUsIGZpbHRlci52YWx1ZUxhYmVscz8uWzBdKSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdG9GaWx0ZXIodXJsVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsKTogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzIHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgdXJsVmFsdWUgIT09ICdzdHJpbmcnIHx8IHVybFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgW2tleSwga2V5TGFiZWwsIG9wZXJhdG9yLCBfb3BlcmF0b3JMYWJlbCwgLi4udmFsdWVzXSA9IHVybFZhbHVlXG4gICAgLnNwbGl0KCd8JylcbiAgICAucmVkdWNlPHN0cmluZ1tdPigoYWNjLCB2KSA9PiB7XG4gICAgICBjb25zdCBba2V5LCBsYWJlbF0gPSB2LnNwbGl0KCcsJyk7XG5cbiAgICAgIGFjYy5wdXNoKGtleSwgbGFiZWwgPz8ga2V5KTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSlcbiAgICAubWFwKHVuZXNjYXBlVXJsRGVsaW1pdGVycyk7XG5cbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAga2V5TGFiZWwsXG4gICAgb3BlcmF0b3IsXG4gICAgdmFsdWU6IHZhbHVlc1swXSxcbiAgICB2YWx1ZXM6IGlzTXVsdGlWYWx1ZU9wZXJhdG9yKG9wZXJhdG9yKSA/IHZhbHVlcy5maWx0ZXIoKF8sIGluZGV4KSA9PiBpbmRleCAlIDIgPT09IDApIDogdW5kZWZpbmVkLFxuICAgIHZhbHVlTGFiZWxzOiB2YWx1ZXMuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggJSAyID09PSAxKSxcbiAgICBjb25kaXRpb246ICcnLFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0ZpbHRlcihmaWx0ZXI6IEFkSG9jRmlsdGVyV2l0aExhYmVscyB8IG51bGwpOiBmaWx0ZXIgaXMgQWRIb2NGaWx0ZXJXaXRoTGFiZWxzIHtcbiAgcmV0dXJuIGZpbHRlciAhPT0gbnVsbCAmJiB0eXBlb2YgZmlsdGVyLmtleSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIGZpbHRlci52YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG4iXSwibmFtZXMiOlsiX2EiLCJrZXkiXSwibWFwcGluZ3MiOiI7OztBQVNPLE1BQU0sa0NBQXdFLENBQUE7QUFBQSxFQUM1RSxZQUFvQixTQUFpQyxFQUFBO0FBQWpDLElBQUEsSUFBQSxDQUFBLFNBQUEsR0FBQSxTQUFBLENBQUE7QUFBQSxHQUFrQztBQUFBLEVBRXJELE1BQWlCLEdBQUE7QUFDdkIsSUFBTyxPQUFBLENBQUEsSUFBQSxFQUFPLElBQUssQ0FBQSxTQUFBLENBQVUsS0FBTSxDQUFBLElBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxHQUNyQztBQUFBLEVBRU8sT0FBb0IsR0FBQTtBQUN6QixJQUFPLE9BQUEsQ0FBQyxJQUFLLENBQUEsTUFBQSxFQUFRLENBQUEsQ0FBQTtBQUFB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
@@ -1,13 +0,0 @@
1
- import { getFuzzySearcher } from '../utils.js';
2
-
3
- function getAdhocOptionSearcher(options) {
4
- const haystack = options.map((o) => {
5
- var _a;
6
- return (_a = o.label) != null ? _a : String(o.value);
7
- });
8
- const fuzzySearch = getFuzzySearcher(haystack);
9
- return (search) => fuzzySearch(search).map((i) => options[i]);
10
- }
11
-
12
- export { getAdhocOptionSearcher };
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QWRob2NPcHRpb25TZWFyY2hlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9hZGhvYy9nZXRBZGhvY09wdGlvblNlYXJjaGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGFibGVWYWx1ZSB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgZ2V0RnV6enlTZWFyY2hlciB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkaG9jT3B0aW9uU2VhcmNoZXIob3B0aW9uczogU2VsZWN0YWJsZVZhbHVlW10pIHtcbiAgY29uc3QgaGF5c3RhY2sgPSBvcHRpb25zLm1hcCgobykgPT4gby5sYWJlbCA/PyBTdHJpbmcoby52YWx1ZSkpO1xuICBjb25zdCBmdXp6eVNlYXJjaCA9IGdldEZ1enp5U2VhcmNoZXIoaGF5c3RhY2spO1xuXG4gIHJldHVybiAoc2VhcmNoOiBzdHJpbmcpID0+IGZ1enp5U2VhcmNoKHNlYXJjaCkubWFwKChpKSA9PiBvcHRpb25zW2ldKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdPLFNBQVMsdUJBQXVCLE9BQTRCLEVBQUE7QUFDakUsRUFBQSxNQUFNLFFBQVcsR0FBQSxPQUFBLENBQVEsR0FBSSxDQUFBLENBQUMsQ0FBRyxLQUFBO0FBSm5DLElBQUEsSUFBQSxFQUFBLENBQUE7QUFJc0MsSUFBQSxPQUFBLENBQUEsRUFBQSxHQUFBLENBQUEsQ0FBRSxLQUFGLEtBQUEsSUFBQSxHQUFBLEVBQUEsR0FBVyxNQUFPLENBQUEsQ0FBQSxDQUFFLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FBQyxDQUFBLENBQUE7QUFDOUQsRUFBTSxNQUFBLFdBQUEsR0FBYyxpQkFBaUIsUUFBUSxDQUFBLENBQUE7QUFFN0MsRUFBTyxPQUFBLENBQUMsV0FBbUIsV0FBWSxDQUFBLE1BQU0sRUFBRSxHQUFJLENBQUEsQ0FBQyxDQUFNLEtBQUEsT0FBQSxDQUFRLENBQUUsQ0FBQSxDQUFBLENBQUE7QUFDdEU7Ozs7In0=
@@ -1,47 +0,0 @@
1
- import { getTemplateSrv, getDataSourceSrv } from '@grafana/runtime';
2
-
3
- let originalGetAdhocFilters = void 0;
4
- let allActiveFilterSets = /* @__PURE__ */ new Set();
5
- function patchGetAdhocFilters(filterVar) {
6
- filterVar.addActivationHandler(() => {
7
- allActiveFilterSets.add(filterVar);
8
- return () => allActiveFilterSets.delete(filterVar);
9
- });
10
- if (originalGetAdhocFilters) {
11
- return;
12
- }
13
- const templateSrv = getTemplateSrv();
14
- if (!(templateSrv == null ? void 0 : templateSrv.getAdhocFilters)) {
15
- console.log("Failed to patch getAdhocFilters");
16
- return;
17
- }
18
- originalGetAdhocFilters = templateSrv.getAdhocFilters;
19
- templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {
20
- var _a;
21
- if (allActiveFilterSets.size === 0) {
22
- return originalGetAdhocFilters.call(templateSrv, dsName);
23
- }
24
- const ds = getDataSourceSrv().getInstanceSettings(dsName);
25
- if (!ds) {
26
- return [];
27
- }
28
- for (const filter of allActiveFilterSets.values()) {
29
- if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === ds.uid) {
30
- return filter.state.filters;
31
- }
32
- }
33
- return [];
34
- }.bind(templateSrv);
35
- }
36
- function findActiveAdHocFilterVariableByUid(dsUid) {
37
- var _a;
38
- for (const filter of allActiveFilterSets.values()) {
39
- if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {
40
- return filter;
41
- }
42
- }
43
- return void 0;
44
- }
45
-
46
- export { findActiveAdHocFilterVariableByUid, patchGetAdhocFilters };
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hHZXRBZGhvY0ZpbHRlcnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvcGF0Y2hHZXRBZGhvY0ZpbHRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RGF0YVNvdXJjZVNydiwgZ2V0VGVtcGxhdGVTcnYgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IEFkSG9jVmFyaWFibGVGaWx0ZXIgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlIH0gZnJvbSAnLi9BZEhvY0ZpbHRlcnNWYXJpYWJsZSc7XG5cbmxldCBvcmlnaW5hbEdldEFkaG9jRmlsdGVyczogYW55ID0gdW5kZWZpbmVkO1xubGV0IGFsbEFjdGl2ZUZpbHRlclNldHMgPSBuZXcgU2V0PEFkSG9jRmlsdGVyc1ZhcmlhYmxlPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hHZXRBZGhvY0ZpbHRlcnMoZmlsdGVyVmFyOiBBZEhvY0ZpbHRlcnNWYXJpYWJsZSkge1xuICBmaWx0ZXJWYXIuYWRkQWN0aXZhdGlvbkhhbmRsZXIoKCkgPT4ge1xuICAgIGFsbEFjdGl2ZUZpbHRlclNldHMuYWRkKGZpbHRlclZhcik7XG4gICAgcmV0dXJuICgpID0+IGFsbEFjdGl2ZUZpbHRlclNldHMuZGVsZXRlKGZpbHRlclZhcik7XG4gIH0pO1xuXG4gIGlmIChvcmlnaW5hbEdldEFkaG9jRmlsdGVycykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRlbXBsYXRlU3J2OiBhbnkgPSBnZXRUZW1wbGF0ZVNydigpO1xuICBpZiAoIXRlbXBsYXRlU3J2Py5nZXRBZGhvY0ZpbHRlcnMpIHtcbiAgICBjb25zb2xlLmxvZygnRmFpbGVkIHRvIHBhdGNoIGdldEFkaG9jRmlsdGVycycpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG9yaWdpbmFsR2V0QWRob2NGaWx0ZXJzID0gdGVtcGxhdGVTcnYuZ2V0QWRob2NGaWx0ZXJzO1xuXG4gIHRlbXBsYXRlU3J2LmdldEFkaG9jRmlsdGVycyA9IGZ1bmN0aW9uIGdldEFkaG9jRmlsdGVyc1NjZW5lUGF0Y2goZHNOYW1lOiBzdHJpbmcpOiBBZEhvY1ZhcmlhYmxlRmlsdGVyW10ge1xuICAgIGlmIChhbGxBY3RpdmVGaWx0ZXJTZXRzLnNpemUgPT09IDApIHtcbiAgICAgIHJldHVybiBvcmlnaW5hbEdldEFkaG9jRmlsdGVycy5jYWxsKHRlbXBsYXRlU3J2LCBkc05hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGRzID0gZ2V0RGF0YVNvdXJjZVNydigpLmdldEluc3RhbmNlU2V0dGluZ3MoZHNOYW1lKTtcbiAgICBpZiAoIWRzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgYWxsQWN0aXZlRmlsdGVyU2V0cy52YWx1ZXMoKSkge1xuICAgICAgaWYgKGZpbHRlci5zdGF0ZS5kYXRhc291cmNlPy51aWQgPT09IGRzLnVpZCkge1xuICAgICAgICByZXR1cm4gZmlsdGVyLnN0YXRlLmZpbHRlcnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9LmJpbmQodGVtcGxhdGVTcnYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEFjdGl2ZUFkSG9jRmlsdGVyVmFyaWFibGVCeVVpZChkc1VpZDogc3RyaW5nIHwgdW5kZWZpbmVkKTogQWRIb2NGaWx0ZXJzVmFyaWFibGUgfCB1bmRlZmluZWQge1xuICBmb3IgKGNvbnN0IGZpbHRlciBvZiBhbGxBY3RpdmVGaWx0ZXJTZXRzLnZhbHVlcygpKSB7XG4gICAgaWYgKGZpbHRlci5zdGF0ZS5kYXRhc291cmNlPy51aWQgPT09IGRzVWlkKSB7XG4gICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxJQUFJLHVCQUErQixHQUFBLEtBQUEsQ0FBQSxDQUFBO0FBQ25DLElBQUksbUJBQUEsdUJBQTBCLEdBQTBCLEVBQUEsQ0FBQTtBQUVqRCxTQUFTLHFCQUFxQixTQUFpQyxFQUFBO0FBQ3BFLEVBQUEsU0FBQSxDQUFVLHFCQUFxQixNQUFNO0FBQ25DLElBQUEsbUJBQUEsQ0FBb0IsSUFBSSxTQUFTLENBQUEsQ0FBQTtBQUNqQyxJQUFPLE9BQUEsTUFBTSxtQkFBb0IsQ0FBQSxNQUFBLENBQU8sU0FBUyxDQUFBLENBQUE7QUFBQSxHQUNsRCxDQUFBLENBQUE7QUFFRCxFQUFBLElBQUksdUJBQXlCLEVBQUE7QUFDM0IsSUFBQSxPQUFBO0FBQUEsR0FDRjtBQUVBLEVBQUEsTUFBTSxjQUFtQixjQUFlLEVBQUEsQ0FBQTtBQUN4QyxFQUFJLElBQUEsRUFBQywyQ0FBYSxlQUFpQixDQUFBLEVBQUE7QUFDakMsSUFBQSxPQUFBLENBQVEsSUFBSSxpQ0FBaUMsQ0FBQSxDQUFBO0FBQzdDLElBQUEsT0FBQTtBQUFBLEdBQ0Y7QUFFQSxFQUFBLHVCQUFBLEdBQTBCLFdBQVksQ0FBQSxlQUFBLENBQUE7QUFFdEMsRUFBWSxXQUFBLENBQUEsZUFBQSxHQUFrQixTQUFTLHlCQUFBLENBQTBCLE1BQXVDLEVBQUE7QUF6QjFHLElBQUEsSUFBQSxFQUFBLENBQUE7QUEwQkksSUFBSSxJQUFBLG1CQUFBLENBQW9CLFNBQVMsQ0FBRyxFQUFBO0FBQ2xDLE1BQU8sT0FBQSx1QkFBQSxDQUF3QixJQUFLLENBQUEsV0FBQSxFQUFhLE1BQU0sQ0FBQSxDQUFBO0FBQUEsS0FDekQ7QUFFQSxJQUFBLE1BQU0sRUFBSyxHQUFBLGdCQUFBLEVBQW1CLENBQUEsbUJBQUEsQ0FBb0IsTUFBTSxDQUFBLENBQUE7QUFDeEQsSUFBQSxJQUFJLENBQUMsRUFBSSxFQUFBO0FBQ1AsTUFBQSxPQUFPLEVBQUMsQ0FBQTtBQUFBLEtBQ1Y7QUFFQSxJQUFXLEtBQUEsTUFBQSxNQUFBLElBQVUsbUJBQW9CLENBQUEsTUFBQSxFQUFVLEVBQUE7QUFDakQsTUFBQSxJQUFBLENBQUEsQ0FBSSxZQUFPLEtBQU0sQ0FBQSxVQUFBLEtBQWIsSUFBeUIsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsR0FBQSxNQUFRLEdBQUcsR0FBSyxFQUFBO0FBQzNDLFFBQUEsT0FBTyxPQUFPLEtBQU0sQ0FBQSxPQUFBLENBQUE7QUFBQSxPQUN0QjtBQUFBLEtBQ0Y7QUFFQSxJQUFBLE9BQU8sRUFBQyxDQUFBO0FBQUEsR0FDVixDQUFFLEtBQUssV0FBVyxDQUFBLENBQUE7QUFDcEIsQ0FBQTtBQUVPLFNBQVMsbUNBQW1DLEtBQTZELEVBQUE7QUE3Q2hILEVBQUEsSUFBQSxFQUFBLENBQUE7QUE4Q0UsRUFBVyxLQUFBLE1BQUEsTUFBQSxJQUFVLG1CQUFvQixDQUFBLE1BQUEsRUFBVSxFQUFBO0FBQ2pELElBQUEsSUFBQSxDQUFBLENBQUksRUFBTyxHQUFBLE1BQUEsQ0FBQSxLQUFBLENBQU0sVUFBYixLQUFBLElBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQXlCLFNBQVEsS0FBTyxFQUFBO0FBQzFDLE1BQU8sT0FBQSxNQUFBLENBQUE7QUFBQSxLQUNUO0FBQUEsR0FDRjtBQUVBLEVBQU8sT0FBQSxLQUFBLENBQUEsQ0FBQTtBQUNUOzs7OyJ9
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
3
- import { sceneGraph } from '../../core/sceneGraph/index.js';
4
- import { VariableValueSelectWrapper } from './VariableValueSelectors.js';
5
-
6
- class VariableValueControl extends SceneObjectBase {
7
- }
8
- VariableValueControl.Component = VariableValueControlRenderer;
9
- function VariableValueControlRenderer({ model }) {
10
- const variable = sceneGraph.lookupVariable(model.state.variableName, model);
11
- if (!variable) {
12
- return null;
13
- }
14
- return /* @__PURE__ */ React.createElement(VariableValueSelectWrapper, {
15
- key: variable.state.key,
16
- variable,
17
- layout: model.state.layout,
18
- showAlways: true
19
- });
20
- }
21
-
22
- export { VariableValueControl };
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFyaWFibGVWYWx1ZUNvbnRyb2wuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvY29tcG9uZW50cy9WYXJpYWJsZVZhbHVlQ29udHJvbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgU2NlbmVPYmplY3RCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9TY2VuZU9iamVjdEJhc2UnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5pbXBvcnQgeyBDb250cm9sc0xheW91dCwgU2NlbmVDb21wb25lbnRQcm9wcywgU2NlbmVPYmplY3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZVNlbGVjdFdyYXBwZXIgfSBmcm9tICcuL1ZhcmlhYmxlVmFsdWVTZWxlY3RvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhcmlhYmxlVmFsdWVDb250cm9sU3RhdGUgZXh0ZW5kcyBTY2VuZU9iamVjdFN0YXRlIHtcbiAgbGF5b3V0PzogQ29udHJvbHNMYXlvdXQ7XG4gIC8qKiBSZW5kZXIgdGhlIHNwZWNpZmljIHNlbGVjdCBjb250cm9sIGZvciBhIHZhcmlhYmxlICovXG4gIHZhcmlhYmxlTmFtZTogc3RyaW5nO1xuICAvKiogSGlkZSB0aGUgbGFiZWwgaW4gdGhlIHZhcmlhYmxlIHZhbHVlIGNvbnRyb2xsZXIgKi9cbiAgaGlkZUxhYmVsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFZhcmlhYmxlVmFsdWVDb250cm9sIGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlPFZhcmlhYmxlVmFsdWVDb250cm9sU3RhdGU+IHtcbiAgcHVibGljIHN0YXRpYyBDb21wb25lbnQgPSBWYXJpYWJsZVZhbHVlQ29udHJvbFJlbmRlcmVyO1xufVxuXG5mdW5jdGlvbiBWYXJpYWJsZVZhbHVlQ29udHJvbFJlbmRlcmVyKHsgbW9kZWwgfTogU2NlbmVDb21wb25lbnRQcm9wczxWYXJpYWJsZVZhbHVlQ29udHJvbD4pIHtcbiAgY29uc3QgdmFyaWFibGUgPSBzY2VuZUdyYXBoLmxvb2t1cFZhcmlhYmxlKG1vZGVsLnN0YXRlLnZhcmlhYmxlTmFtZSwgbW9kZWwpO1xuICBpZiAoIXZhcmlhYmxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxWYXJpYWJsZVZhbHVlU2VsZWN0V3JhcHBlclxuICAgICAga2V5PXt2YXJpYWJsZS5zdGF0ZS5rZXl9XG4gICAgICB2YXJpYWJsZT17dmFyaWFibGV9XG4gICAgICBsYXlvdXQ9e21vZGVsLnN0YXRlLmxheW91dH1cbiAgICAgIHNob3dBbHdheXM9e3RydWV9XG4gICAgLz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVPLE1BQU0sNkJBQTZCLGVBQTJDLENBQUE7QUFFckYsQ0FBQTtBQUZhLG9CQUFBLENBQ0csU0FBWSxHQUFBLDRCQUFBLENBQUE7QUFHNUIsU0FBUyw0QkFBQSxDQUE2QixFQUFFLEtBQUEsRUFBb0QsRUFBQTtBQUMxRixFQUFBLE1BQU0sV0FBVyxVQUFXLENBQUEsY0FBQSxDQUFlLEtBQU0sQ0FBQSxLQUFBLENBQU0sY0FBYyxLQUFLLENBQUEsQ0FBQTtBQUMxRSxFQUFBLElBQUksQ0FBQyxRQUFVLEVBQUE7QUFDYixJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDVDtBQUVBLEVBQUEsdUJBQ0csS0FBQSxDQUFBLGFBQUEsQ0FBQSwwQkFBQSxFQUFBO0FBQUEsSUFDQyxHQUFBLEVBQUssU0FBUyxLQUFNLENBQUEsR0FBQTtBQUFBLElBQ3BCLFFBQUE7QUFBQSxJQUNBLE1BQUEsRUFBUSxNQUFNLEtBQU0sQ0FBQSxNQUFBO0FBQUEsSUFDcEIsVUFBWSxFQUFBLElBQUE7QUFBQSxHQUNkLENBQUEsQ0FBQTtBQUVKOzs7OyJ9
@@ -1,33 +0,0 @@
1
- import React, { useCallback } from 'react';
2
- import { AutoSizeInput } from '@grafana/ui';
3
-
4
- function VariableValueInput({ model }) {
5
- const { value, key, loading } = model.useState();
6
- const onBlur = useCallback(
7
- (e) => {
8
- model.setValue(e.currentTarget.value);
9
- },
10
- [model]
11
- );
12
- const onKeyDown = useCallback(
13
- (e) => {
14
- if (e.key === "Enter") {
15
- model.setValue(e.currentTarget.value);
16
- }
17
- },
18
- [model]
19
- );
20
- return /* @__PURE__ */ React.createElement(AutoSizeInput, {
21
- id: key,
22
- placeholder: "Enter value",
23
- minWidth: 15,
24
- maxWidth: 30,
25
- value,
26
- loading,
27
- onBlur,
28
- onKeyDown
29
- });
30
- }
31
-
32
- export { VariableValueInput };
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFyaWFibGVWYWx1ZUlucHV0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL2NvbXBvbmVudHMvVmFyaWFibGVWYWx1ZUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IEF1dG9TaXplSW5wdXQgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5cbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IFRleHRCb3hWYXJpYWJsZSB9IGZyb20gJy4uL3ZhcmlhbnRzL1RleHRCb3hWYXJpYWJsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBWYXJpYWJsZVZhbHVlSW5wdXQoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPFRleHRCb3hWYXJpYWJsZT4pIHtcbiAgY29uc3QgeyB2YWx1ZSwga2V5LCBsb2FkaW5nIH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuXG4gIGNvbnN0IG9uQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgbW9kZWwuc2V0VmFsdWUoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFttb2RlbF1cbiAgKTtcblxuICBjb25zdCBvbktleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIG1vZGVsLnNldFZhbHVlKGUuY3VycmVudFRhcmdldC52YWx1ZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbbW9kZWxdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8QXV0b1NpemVJbnB1dFxuICAgICAgaWQ9e2tleX1cbiAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgdmFsdWVcIlxuICAgICAgbWluV2lkdGg9ezE1fVxuICAgICAgbWF4V2lkdGg9ezMwfVxuICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgLz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPZ0IsU0FBQSxrQkFBQSxDQUFtQixFQUFFLEtBQUEsRUFBK0MsRUFBQTtBQUNsRixFQUFBLE1BQU0sRUFBRSxLQUFPLEVBQUEsR0FBQSxFQUFLLE9BQVEsRUFBQSxHQUFJLE1BQU0sUUFBUyxFQUFBLENBQUE7QUFFL0MsRUFBQSxNQUFNLE1BQVMsR0FBQSxXQUFBO0FBQUEsSUFDYixDQUFDLENBQTJDLEtBQUE7QUFDMUMsTUFBTSxLQUFBLENBQUEsUUFBQSxDQUFTLENBQUUsQ0FBQSxhQUFBLENBQWMsS0FBSyxDQUFBLENBQUE7QUFBQSxLQUN0QztBQUFBLElBQ0EsQ0FBQyxLQUFLLENBQUE7QUFBQSxHQUNSLENBQUE7QUFFQSxFQUFBLE1BQU0sU0FBWSxHQUFBLFdBQUE7QUFBQSxJQUNoQixDQUFDLENBQTZDLEtBQUE7QUFDNUMsTUFBSSxJQUFBLENBQUEsQ0FBRSxRQUFRLE9BQVMsRUFBQTtBQUNyQixRQUFNLEtBQUEsQ0FBQSxRQUFBLENBQVMsQ0FBRSxDQUFBLGFBQUEsQ0FBYyxLQUFLLENBQUEsQ0FBQTtBQUFBLE9BQ3RDO0FBQUEsS0FDRjtBQUFBLElBQ0EsQ0FBQyxLQUFLLENBQUE7QUFBQSxHQUNSLENBQUE7QUFFQSxFQUFBLHVCQUNHLEtBQUEsQ0FBQSxhQUFBLENBQUEsYUFBQSxFQUFBO0FBQUEsSUFDQyxFQUFJLEVBQUEsR0FBQTtBQUFBLElBQ0osV0FBWSxFQUFBLGFBQUE7QUFBQSxJQUNaLFFBQVUsRUFBQSxFQUFBO0FBQUEsSUFDVixRQUFVLEVBQUEsRUFBQTtBQUFBLElBQ1YsS0FBQTtBQUFBLElBQ0EsT0FBQTtBQUFBLElBQ0EsTUFBQTtBQUFBLElBQ0EsU0FBQTtBQUFBLEdBQ0YsQ0FBQSxDQUFBO0FBRUo7Ozs7In0=