@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,285 +0,0 @@
1
- import React, { useMemo, useCallback } from 'react';
2
- import { useMeasure } from 'react-use';
3
- import { SetPanelAttentionEvent, AlertState, PluginContextProvider } from '@grafana/data';
4
- import { getAppEvents } from '@grafana/runtime';
5
- import { useStyles2, Tooltip, PanelChrome, Icon, ErrorBoundaryAlert, PanelContextProvider } from '@grafana/ui';
6
- import { sceneGraph } from '../../core/sceneGraph/index.js';
7
- import { isSceneObject } from '../../core/types.js';
8
- import { css, cx } from '@emotion/css';
9
- import { debounce } from 'lodash';
10
- import { VizPanelSeriesLimit } from './VizPanelSeriesLimit.js';
11
-
12
- var __defProp = Object.defineProperty;
13
- var __defProps = Object.defineProperties;
14
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
15
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
16
- var __hasOwnProp = Object.prototype.hasOwnProperty;
17
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
18
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
19
- var __spreadValues = (a, b) => {
20
- for (var prop in b || (b = {}))
21
- if (__hasOwnProp.call(b, prop))
22
- __defNormalProp(a, prop, b[prop]);
23
- if (__getOwnPropSymbols)
24
- for (var prop of __getOwnPropSymbols(b)) {
25
- if (__propIsEnum.call(b, prop))
26
- __defNormalProp(a, prop, b[prop]);
27
- }
28
- return a;
29
- };
30
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
31
- function VizPanelRenderer({ model }) {
32
- var _a;
33
- const {
34
- title,
35
- options,
36
- fieldConfig,
37
- _pluginLoadError,
38
- displayMode,
39
- hoverHeader,
40
- showMenuAlways,
41
- hoverHeaderOffset,
42
- menu,
43
- headerActions,
44
- titleItems,
45
- seriesLimit,
46
- seriesLimitShowAll,
47
- description,
48
- collapsible,
49
- collapsed,
50
- _renderCounter = 0
51
- } = model.useState();
52
- const [ref, { width, height }] = useMeasure();
53
- const appEvents = useMemo(() => getAppEvents(), []);
54
- const setPanelAttention = useCallback(() => {
55
- if (model.state.key) {
56
- appEvents.publish(new SetPanelAttentionEvent({ panelId: model.state.key }));
57
- }
58
- }, [model.state.key, appEvents]);
59
- const debouncedMouseMove = useMemo(
60
- () => debounce(setPanelAttention, 100, { leading: true, trailing: false }),
61
- [setPanelAttention]
62
- );
63
- const plugin = model.getPlugin();
64
- const { dragClass, dragClassCancel } = getDragClasses(model);
65
- const dataObject = sceneGraph.getData(model);
66
- const rawData = dataObject.useState();
67
- const dataWithSeriesLimit = useDataWithSeriesLimit(rawData.data, seriesLimit, seriesLimitShowAll);
68
- const dataWithFieldConfig = model.applyFieldConfig(dataWithSeriesLimit);
69
- const sceneTimeRange = sceneGraph.getTimeRange(model);
70
- const timeZone = sceneTimeRange.getTimeZone();
71
- const timeRange = model.getTimeRange(dataWithFieldConfig);
72
- const titleInterpolated = model.interpolate(title, void 0, "text");
73
- const alertStateStyles = useStyles2(getAlertStateStyles);
74
- if (!plugin) {
75
- return /* @__PURE__ */ React.createElement("div", null, "Loading plugin panel...");
76
- }
77
- if (!plugin.panel) {
78
- return /* @__PURE__ */ React.createElement("div", null, "Panel plugin has no panel component");
79
- }
80
- const PanelComponent = plugin.panel;
81
- if (dataObject && dataObject.setContainerWidth) {
82
- dataObject.setContainerWidth(Math.round(width));
83
- }
84
- let titleItemsElement = [];
85
- if (titleItems) {
86
- if (Array.isArray(titleItems)) {
87
- titleItemsElement = titleItemsElement.concat(
88
- titleItems.map((titleItem) => {
89
- return /* @__PURE__ */ React.createElement(titleItem.Component, {
90
- model: titleItem,
91
- key: `${titleItem.state.key}`
92
- });
93
- })
94
- );
95
- } else if (isSceneObject(titleItems)) {
96
- titleItemsElement.push(/* @__PURE__ */ React.createElement(titleItems.Component, {
97
- model: titleItems
98
- }));
99
- } else {
100
- titleItemsElement.push(titleItems);
101
- }
102
- }
103
- if (seriesLimit) {
104
- titleItemsElement.push(
105
- /* @__PURE__ */ React.createElement(VizPanelSeriesLimit, {
106
- key: "series-limit",
107
- data: rawData.data,
108
- seriesLimit,
109
- showAll: seriesLimitShowAll,
110
- onShowAllSeries: () => model.setState({ seriesLimitShowAll: !seriesLimitShowAll })
111
- })
112
- );
113
- }
114
- if (model.state.$timeRange) {
115
- titleItemsElement.push(/* @__PURE__ */ React.createElement(model.state.$timeRange.Component, {
116
- model: model.state.$timeRange,
117
- key: model.state.key
118
- }));
119
- }
120
- if (dataWithFieldConfig.alertState) {
121
- titleItemsElement.push(
122
- /* @__PURE__ */ React.createElement(Tooltip, {
123
- content: (_a = dataWithFieldConfig.alertState.state) != null ? _a : "unknown",
124
- key: `alert-states-icon-${model.state.key}`
125
- }, /* @__PURE__ */ React.createElement(PanelChrome.TitleItem, {
126
- className: cx({
127
- [alertStateStyles.ok]: dataWithFieldConfig.alertState.state === AlertState.OK,
128
- [alertStateStyles.pending]: dataWithFieldConfig.alertState.state === AlertState.Pending,
129
- [alertStateStyles.alerting]: dataWithFieldConfig.alertState.state === AlertState.Alerting
130
- })
131
- }, /* @__PURE__ */ React.createElement(Icon, {
132
- name: dataWithFieldConfig.alertState.state === "alerting" ? "heart-break" : "heart",
133
- className: "panel-alert-icon",
134
- size: "md"
135
- })))
136
- );
137
- }
138
- let panelMenu;
139
- if (menu) {
140
- panelMenu = /* @__PURE__ */ React.createElement(menu.Component, {
141
- model: menu
142
- });
143
- }
144
- let actionsElement;
145
- if (headerActions) {
146
- if (Array.isArray(headerActions)) {
147
- actionsElement = /* @__PURE__ */ React.createElement(React.Fragment, null, headerActions.map((action) => {
148
- return /* @__PURE__ */ React.createElement(action.Component, {
149
- model: action,
150
- key: `${action.state.key}`
151
- });
152
- }));
153
- } else if (isSceneObject(headerActions)) {
154
- actionsElement = /* @__PURE__ */ React.createElement(headerActions.Component, {
155
- model: headerActions
156
- });
157
- } else {
158
- actionsElement = headerActions;
159
- }
160
- }
161
- const data = dataWithFieldConfig;
162
- const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;
163
- const context = model.getPanelContext();
164
- const panelId = model.getLegacyPanelId();
165
- return /* @__PURE__ */ React.createElement("div", {
166
- className: relativeWrapper
167
- }, /* @__PURE__ */ React.createElement("div", {
168
- ref,
169
- className: absoluteWrapper,
170
- "data-viz-panel-key": model.state.key
171
- }, width > 0 && height > 0 && /* @__PURE__ */ React.createElement(PanelChrome, {
172
- title: titleInterpolated,
173
- description: (description == null ? void 0 : description.trim()) ? model.getDescription : void 0,
174
- loadingState: data.state,
175
- statusMessage: getChromeStatusMessage(data, _pluginLoadError),
176
- statusMessageOnClick: model.onStatusMessageClick,
177
- width,
178
- height,
179
- displayMode,
180
- showMenuAlways,
181
- hoverHeader,
182
- hoverHeaderOffset,
183
- titleItems: titleItemsElement,
184
- dragClass,
185
- actions: actionsElement,
186
- dragClassCancel,
187
- padding: plugin.noPadding ? "none" : "md",
188
- menu: panelMenu,
189
- onCancelQuery: model.onCancelQuery,
190
- onFocus: setPanelAttention,
191
- onMouseEnter: setPanelAttention,
192
- onMouseMove: debouncedMouseMove,
193
- collapsible,
194
- collapsed,
195
- onToggleCollapse: model.onToggleCollapse
196
- }, (innerWidth, innerHeight) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ErrorBoundaryAlert, {
197
- dependencies: [plugin, data]
198
- }, /* @__PURE__ */ React.createElement(PluginContextProvider, {
199
- meta: plugin.meta
200
- }, /* @__PURE__ */ React.createElement(PanelContextProvider, {
201
- value: context
202
- }, isReadyToRender && /* @__PURE__ */ React.createElement(PanelComponent, {
203
- id: panelId,
204
- data,
205
- title,
206
- timeRange,
207
- timeZone,
208
- options,
209
- fieldConfig,
210
- transparent: false,
211
- width: innerWidth,
212
- height: innerHeight,
213
- renderCounter: _renderCounter,
214
- replaceVariables: model.interpolate,
215
- onOptionsChange: model.onOptionsChange,
216
- onFieldConfigChange: model.onFieldConfigChange,
217
- onChangeTimeRange: model.onTimeRangeChange,
218
- eventBus: context.eventBus
219
- }))))))));
220
- }
221
- function useDataWithSeriesLimit(data, seriesLimit, showAllSeries) {
222
- return useMemo(() => {
223
- if (!(data == null ? void 0 : data.series) || !seriesLimit || showAllSeries) {
224
- return data;
225
- }
226
- return __spreadProps(__spreadValues({}, data), {
227
- series: data.series.slice(0, seriesLimit)
228
- });
229
- }, [data, seriesLimit, showAllSeries]);
230
- }
231
- function getDragClasses(panel) {
232
- var _a, _b;
233
- const parentLayout = sceneGraph.getLayout(panel);
234
- const isDraggable = parentLayout == null ? void 0 : parentLayout.isDraggable();
235
- if (!parentLayout || !isDraggable || itemDraggingDisabled(panel, parentLayout)) {
236
- return { dragClass: "", dragClassCancel: "" };
237
- }
238
- return { dragClass: (_a = parentLayout.getDragClass) == null ? void 0 : _a.call(parentLayout), dragClassCancel: (_b = parentLayout == null ? void 0 : parentLayout.getDragClassCancel) == null ? void 0 : _b.call(parentLayout) };
239
- }
240
- function itemDraggingDisabled(item, layout) {
241
- let ancestor = item.parent;
242
- while (ancestor && ancestor !== layout) {
243
- if ("isDraggable" in ancestor.state && ancestor.state.isDraggable === false) {
244
- return true;
245
- }
246
- ancestor = ancestor.parent;
247
- }
248
- return false;
249
- }
250
- function getChromeStatusMessage(data, pluginLoadingError) {
251
- if (pluginLoadingError) {
252
- return pluginLoadingError;
253
- }
254
- let message = data.error ? data.error.message : void 0;
255
- if (data.errors) {
256
- message = data.errors.map((e) => e.message).join(", ");
257
- }
258
- return message;
259
- }
260
- const relativeWrapper = css({
261
- position: "relative",
262
- width: "100%",
263
- height: "100%"
264
- });
265
- const absoluteWrapper = css({
266
- position: "absolute",
267
- width: "100%",
268
- height: "100%"
269
- });
270
- const getAlertStateStyles = (theme) => {
271
- return {
272
- ok: css({
273
- color: theme.colors.success.text
274
- }),
275
- pending: css({
276
- color: theme.colors.warning.text
277
- }),
278
- alerting: css({
279
- color: theme.colors.error.text
280
- })
281
- };
282
- };
283
-
284
- export { VizPanelRenderer };
285
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWxSZW5kZXJlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVml6UGFuZWwvVml6UGFuZWxSZW5kZXJlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlZkNhbGxiYWNrLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lYXN1cmUgfSBmcm9tICdyZWFjdC11c2UnO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBBbGVydFN0YXRlLCBHcmFmYW5hVGhlbWUyLCBQYW5lbERhdGEsIFBsdWdpbkNvbnRleHRQcm92aWRlciwgU2V0UGFuZWxBdHRlbnRpb25FdmVudCB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuXG5pbXBvcnQgeyBnZXRBcHBFdmVudHMgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IFBhbmVsQ2hyb21lLCBFcnJvckJvdW5kYXJ5QWxlcnQsIFBhbmVsQ29udGV4dFByb3ZpZGVyLCBUb29sdGlwLCB1c2VTdHlsZXMyLCBJY29uIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuXG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IGlzU2NlbmVPYmplY3QsIFNjZW5lQ29tcG9uZW50UHJvcHMsIFNjZW5lTGF5b3V0LCBTY2VuZU9iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBWaXpQYW5lbCB9IGZyb20gJy4vVml6UGFuZWwnO1xuaW1wb3J0IHsgY3NzLCBjeCB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBWaXpQYW5lbFNlcmllc0xpbWl0IH0gZnJvbSAnLi9WaXpQYW5lbFNlcmllc0xpbWl0JztcblxuZXhwb3J0IGZ1bmN0aW9uIFZpelBhbmVsUmVuZGVyZXIoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPFZpelBhbmVsPikge1xuICBjb25zdCB7XG4gICAgdGl0bGUsXG4gICAgb3B0aW9ucyxcbiAgICBmaWVsZENvbmZpZyxcbiAgICBfcGx1Z2luTG9hZEVycm9yLFxuICAgIGRpc3BsYXlNb2RlLFxuICAgIGhvdmVySGVhZGVyLFxuICAgIHNob3dNZW51QWx3YXlzLFxuICAgIGhvdmVySGVhZGVyT2Zmc2V0LFxuICAgIG1lbnUsXG4gICAgaGVhZGVyQWN0aW9ucyxcbiAgICB0aXRsZUl0ZW1zLFxuICAgIHNlcmllc0xpbWl0LFxuICAgIHNlcmllc0xpbWl0U2hvd0FsbCxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBjb2xsYXBzaWJsZSxcbiAgICBjb2xsYXBzZWQsXG4gICAgX3JlbmRlckNvdW50ZXIgPSAwLFxuICB9ID0gbW9kZWwudXNlU3RhdGUoKTtcbiAgY29uc3QgW3JlZiwgeyB3aWR0aCwgaGVpZ2h0IH1dID0gdXNlTWVhc3VyZSgpO1xuICBjb25zdCBhcHBFdmVudHMgPSB1c2VNZW1vKCgpID0+IGdldEFwcEV2ZW50cygpLCBbXSk7XG5cbiAgY29uc3Qgc2V0UGFuZWxBdHRlbnRpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG1vZGVsLnN0YXRlLmtleSkge1xuICAgICAgYXBwRXZlbnRzLnB1Ymxpc2gobmV3IFNldFBhbmVsQXR0ZW50aW9uRXZlbnQoeyBwYW5lbElkOiBtb2RlbC5zdGF0ZS5rZXkgfSkpO1xuICAgIH1cbiAgfSwgW21vZGVsLnN0YXRlLmtleSwgYXBwRXZlbnRzXSk7XG4gIGNvbnN0IGRlYm91bmNlZE1vdXNlTW92ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZGVib3VuY2Uoc2V0UGFuZWxBdHRlbnRpb24sIDEwMCwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogZmFsc2UgfSksXG4gICAgW3NldFBhbmVsQXR0ZW50aW9uXVxuICApO1xuXG4gIGNvbnN0IHBsdWdpbiA9IG1vZGVsLmdldFBsdWdpbigpO1xuXG4gIGNvbnN0IHsgZHJhZ0NsYXNzLCBkcmFnQ2xhc3NDYW5jZWwgfSA9IGdldERyYWdDbGFzc2VzKG1vZGVsKTtcbiAgY29uc3QgZGF0YU9iamVjdCA9IHNjZW5lR3JhcGguZ2V0RGF0YShtb2RlbCk7XG5cbiAgY29uc3QgcmF3RGF0YSA9IGRhdGFPYmplY3QudXNlU3RhdGUoKTtcbiAgY29uc3QgZGF0YVdpdGhTZXJpZXNMaW1pdCA9IHVzZURhdGFXaXRoU2VyaWVzTGltaXQocmF3RGF0YS5kYXRhLCBzZXJpZXNMaW1pdCwgc2VyaWVzTGltaXRTaG93QWxsKTtcbiAgY29uc3QgZGF0YVdpdGhGaWVsZENvbmZpZyA9IG1vZGVsLmFwcGx5RmllbGRDb25maWcoZGF0YVdpdGhTZXJpZXNMaW1pdCk7XG4gIGNvbnN0IHNjZW5lVGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UobW9kZWwpO1xuICBjb25zdCB0aW1lWm9uZSA9IHNjZW5lVGltZVJhbmdlLmdldFRpbWVab25lKCk7XG4gIGNvbnN0IHRpbWVSYW5nZSA9IG1vZGVsLmdldFRpbWVSYW5nZShkYXRhV2l0aEZpZWxkQ29uZmlnKTtcblxuICAvLyBJbnRlcnBvbGF0ZSB0aXRsZVxuICBjb25zdCB0aXRsZUludGVycG9sYXRlZCA9IG1vZGVsLmludGVycG9sYXRlKHRpdGxlLCB1bmRlZmluZWQsICd0ZXh0Jyk7XG5cbiAgY29uc3QgYWxlcnRTdGF0ZVN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0QWxlcnRTdGF0ZVN0eWxlcyk7XG5cbiAgaWYgKCFwbHVnaW4pIHtcbiAgICByZXR1cm4gPGRpdj5Mb2FkaW5nIHBsdWdpbiBwYW5lbC4uLjwvZGl2PjtcbiAgfVxuXG4gIGlmICghcGx1Z2luLnBhbmVsKSB7XG4gICAgcmV0dXJuIDxkaXY+UGFuZWwgcGx1Z2luIGhhcyBubyBwYW5lbCBjb21wb25lbnQ8L2Rpdj47XG4gIH1cblxuICBjb25zdCBQYW5lbENvbXBvbmVudCA9IHBsdWdpbi5wYW5lbDtcblxuICAvLyBJZiB3ZSBoYXZlIGEgcXVlcnkgcnVubmVyIG9uIG91ciBsZXZlbCBpbmZvcm0gaXQgb2YgdGhlIGNvbnRhaW5lciB3aWR0aCAodXNlZCB0byBzZXQgYXV0byBtYXggZGF0YSBwb2ludHMpXG4gIGlmIChkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3Quc2V0Q29udGFpbmVyV2lkdGgpIHtcbiAgICBkYXRhT2JqZWN0LnNldENvbnRhaW5lcldpZHRoKE1hdGgucm91bmQod2lkdGgpKTtcbiAgfVxuXG4gIGxldCB0aXRsZUl0ZW1zRWxlbWVudDogUmVhY3QuUmVhY3ROb2RlW10gPSBbXTtcblxuICBpZiAodGl0bGVJdGVtcykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRpdGxlSXRlbXMpKSB7XG4gICAgICB0aXRsZUl0ZW1zRWxlbWVudCA9IHRpdGxlSXRlbXNFbGVtZW50LmNvbmNhdChcbiAgICAgICAgdGl0bGVJdGVtcy5tYXAoKHRpdGxlSXRlbSkgPT4ge1xuICAgICAgICAgIHJldHVybiA8dGl0bGVJdGVtLkNvbXBvbmVudCBtb2RlbD17dGl0bGVJdGVtfSBrZXk9e2Ake3RpdGxlSXRlbS5zdGF0ZS5rZXl9YH0gLz47XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNTY2VuZU9iamVjdCh0aXRsZUl0ZW1zKSkge1xuICAgICAgdGl0bGVJdGVtc0VsZW1lbnQucHVzaCg8dGl0bGVJdGVtcy5Db21wb25lbnQgbW9kZWw9e3RpdGxlSXRlbXN9IC8+KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGl0bGVJdGVtc0VsZW1lbnQucHVzaCh0aXRsZUl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBpZiAoc2VyaWVzTGltaXQpIHtcbiAgICB0aXRsZUl0ZW1zRWxlbWVudC5wdXNoKFxuICAgICAgPFZpelBhbmVsU2VyaWVzTGltaXRcbiAgICAgICAga2V5PVwic2VyaWVzLWxpbWl0XCJcbiAgICAgICAgZGF0YT17cmF3RGF0YS5kYXRhfVxuICAgICAgICBzZXJpZXNMaW1pdD17c2VyaWVzTGltaXR9XG4gICAgICAgIHNob3dBbGw9e3Nlcmllc0xpbWl0U2hvd0FsbH1cbiAgICAgICAgb25TaG93QWxsU2VyaWVzPXsoKSA9PiBtb2RlbC5zZXRTdGF0ZSh7IHNlcmllc0xpbWl0U2hvd0FsbDogIXNlcmllc0xpbWl0U2hvd0FsbCB9KX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIC8vIElmIHdlIGhhdmUgbG9jYWwgdGltZSByYW5nZSBzaG93IHRoYXQgaW4gcGFuZWwgaGVhZGVyXG4gIGlmIChtb2RlbC5zdGF0ZS4kdGltZVJhbmdlKSB7XG4gICAgdGl0bGVJdGVtc0VsZW1lbnQucHVzaCg8bW9kZWwuc3RhdGUuJHRpbWVSYW5nZS5Db21wb25lbnQgbW9kZWw9e21vZGVsLnN0YXRlLiR0aW1lUmFuZ2V9IGtleT17bW9kZWwuc3RhdGUua2V5fSAvPik7XG4gIH1cblxuICBpZiAoZGF0YVdpdGhGaWVsZENvbmZpZy5hbGVydFN0YXRlKSB7XG4gICAgdGl0bGVJdGVtc0VsZW1lbnQucHVzaChcbiAgICAgIDxUb29sdGlwIGNvbnRlbnQ9e2RhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZS5zdGF0ZSA/PyAndW5rbm93bid9IGtleT17YGFsZXJ0LXN0YXRlcy1pY29uLSR7bW9kZWwuc3RhdGUua2V5fWB9PlxuICAgICAgICA8UGFuZWxDaHJvbWUuVGl0bGVJdGVtXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeCh7XG4gICAgICAgICAgICBbYWxlcnRTdGF0ZVN0eWxlcy5va106IGRhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZS5zdGF0ZSA9PT0gQWxlcnRTdGF0ZS5PSyxcbiAgICAgICAgICAgIFthbGVydFN0YXRlU3R5bGVzLnBlbmRpbmddOiBkYXRhV2l0aEZpZWxkQ29uZmlnLmFsZXJ0U3RhdGUuc3RhdGUgPT09IEFsZXJ0U3RhdGUuUGVuZGluZyxcbiAgICAgICAgICAgIFthbGVydFN0YXRlU3R5bGVzLmFsZXJ0aW5nXTogZGF0YVdpdGhGaWVsZENvbmZpZy5hbGVydFN0YXRlLnN0YXRlID09PSBBbGVydFN0YXRlLkFsZXJ0aW5nLFxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIG5hbWU9e2RhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZS5zdGF0ZSA9PT0gJ2FsZXJ0aW5nJyA/ICdoZWFydC1icmVhaycgOiAnaGVhcnQnfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicGFuZWwtYWxlcnQtaWNvblwiXG4gICAgICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvUGFuZWxDaHJvbWUuVGl0bGVJdGVtPlxuICAgICAgPC9Ub29sdGlwPlxuICAgICk7XG4gIH1cblxuICBsZXQgcGFuZWxNZW51O1xuICBpZiAobWVudSkge1xuICAgIHBhbmVsTWVudSA9IDxtZW51LkNvbXBvbmVudCBtb2RlbD17bWVudX0gLz47XG4gIH1cblxuICBsZXQgYWN0aW9uc0VsZW1lbnQ6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZDtcblxuICBpZiAoaGVhZGVyQWN0aW9ucykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGhlYWRlckFjdGlvbnMpKSB7XG4gICAgICBhY3Rpb25zRWxlbWVudCA9IChcbiAgICAgICAgPD5cbiAgICAgICAgICB7aGVhZGVyQWN0aW9ucy5tYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIDxhY3Rpb24uQ29tcG9uZW50IG1vZGVsPXthY3Rpb259IGtleT17YCR7YWN0aW9uLnN0YXRlLmtleX1gfSAvPjtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNTY2VuZU9iamVjdChoZWFkZXJBY3Rpb25zKSkge1xuICAgICAgYWN0aW9uc0VsZW1lbnQgPSA8aGVhZGVyQWN0aW9ucy5Db21wb25lbnQgbW9kZWw9e2hlYWRlckFjdGlvbnN9IC8+O1xuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rpb25zRWxlbWVudCA9IGhlYWRlckFjdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgLy8gRGF0YSBpcyBhbHdheXMgcmV0dXJuZWQuIEZvciBub24tZGF0YSBwYW5lbHMsIGVtcHR5IFBhbmVsRGF0YSBpcyByZXR1cm5lZC5cbiAgY29uc3QgZGF0YSA9IGRhdGFXaXRoRmllbGRDb25maWchO1xuXG4gIGNvbnN0IGlzUmVhZHlUb1JlbmRlciA9IGRhdGFPYmplY3QuaXNEYXRhUmVhZHlUb0Rpc3BsYXkgPyBkYXRhT2JqZWN0LmlzRGF0YVJlYWR5VG9EaXNwbGF5KCkgOiB0cnVlO1xuXG4gIGNvbnN0IGNvbnRleHQgPSBtb2RlbC5nZXRQYW5lbENvbnRleHQoKTtcbiAgY29uc3QgcGFuZWxJZCA9IG1vZGVsLmdldExlZ2FjeVBhbmVsSWQoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtyZWxhdGl2ZVdyYXBwZXJ9PlxuICAgICAgPGRpdiByZWY9e3JlZiBhcyBSZWZDYWxsYmFjazxIVE1MRGl2RWxlbWVudD59IGNsYXNzTmFtZT17YWJzb2x1dGVXcmFwcGVyfSBkYXRhLXZpei1wYW5lbC1rZXk9e21vZGVsLnN0YXRlLmtleX0+XG4gICAgICAgIHt3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCAmJiAoXG4gICAgICAgICAgPFBhbmVsQ2hyb21lXG4gICAgICAgICAgICB0aXRsZT17dGl0bGVJbnRlcnBvbGF0ZWR9XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb24/LnRyaW0oKSA/IG1vZGVsLmdldERlc2NyaXB0aW9uIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgbG9hZGluZ1N0YXRlPXtkYXRhLnN0YXRlfVxuICAgICAgICAgICAgc3RhdHVzTWVzc2FnZT17Z2V0Q2hyb21lU3RhdHVzTWVzc2FnZShkYXRhLCBfcGx1Z2luTG9hZEVycm9yKX1cbiAgICAgICAgICAgIHN0YXR1c01lc3NhZ2VPbkNsaWNrPXttb2RlbC5vblN0YXR1c01lc3NhZ2VDbGlja31cbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgZGlzcGxheU1vZGU9e2Rpc3BsYXlNb2RlfVxuICAgICAgICAgICAgLy9AdHMtZXhwZWN0LWVycm9yIFJlbW92ZSB3aGVuIDExLjQgaXMgcmVsZWFzZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncmFmYW5hL2dyYWZhbmEvcHVsbC85Njg2OFxuICAgICAgICAgICAgc2hvd01lbnVBbHdheXM9e3Nob3dNZW51QWx3YXlzfVxuICAgICAgICAgICAgaG92ZXJIZWFkZXI9e2hvdmVySGVhZGVyfVxuICAgICAgICAgICAgaG92ZXJIZWFkZXJPZmZzZXQ9e2hvdmVySGVhZGVyT2Zmc2V0fVxuICAgICAgICAgICAgdGl0bGVJdGVtcz17dGl0bGVJdGVtc0VsZW1lbnR9XG4gICAgICAgICAgICBkcmFnQ2xhc3M9e2RyYWdDbGFzc31cbiAgICAgICAgICAgIGFjdGlvbnM9e2FjdGlvbnNFbGVtZW50fVxuICAgICAgICAgICAgZHJhZ0NsYXNzQ2FuY2VsPXtkcmFnQ2xhc3NDYW5jZWx9XG4gICAgICAgICAgICBwYWRkaW5nPXtwbHVnaW4ubm9QYWRkaW5nID8gJ25vbmUnIDogJ21kJ31cbiAgICAgICAgICAgIG1lbnU9e3BhbmVsTWVudX1cbiAgICAgICAgICAgIG9uQ2FuY2VsUXVlcnk9e21vZGVsLm9uQ2FuY2VsUXVlcnl9XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBvbkZvY3VzPXtzZXRQYW5lbEF0dGVudGlvbn1cbiAgICAgICAgICAgIG9uTW91c2VFbnRlcj17c2V0UGFuZWxBdHRlbnRpb259XG4gICAgICAgICAgICBvbk1vdXNlTW92ZT17ZGVib3VuY2VkTW91c2VNb3ZlfVxuICAgICAgICAgICAgY29sbGFwc2libGU9e2NvbGxhcHNpYmxlfVxuICAgICAgICAgICAgY29sbGFwc2VkPXtjb2xsYXBzZWR9XG4gICAgICAgICAgICBvblRvZ2dsZUNvbGxhcHNlPXttb2RlbC5vblRvZ2dsZUNvbGxhcHNlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoaW5uZXJXaWR0aCwgaW5uZXJIZWlnaHQpID0+IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8RXJyb3JCb3VuZGFyeUFsZXJ0IGRlcGVuZGVuY2llcz17W3BsdWdpbiwgZGF0YV19PlxuICAgICAgICAgICAgICAgICAgPFBsdWdpbkNvbnRleHRQcm92aWRlciBtZXRhPXtwbHVnaW4ubWV0YX0+XG4gICAgICAgICAgICAgICAgICAgIDxQYW5lbENvbnRleHRQcm92aWRlciB2YWx1ZT17Y29udGV4dH0+XG4gICAgICAgICAgICAgICAgICAgICAge2lzUmVhZHlUb1JlbmRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8UGFuZWxDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e3BhbmVsSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZVJhbmdlPXt0aW1lUmFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVab25lPXt0aW1lWm9uZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRDb25maWc9e2ZpZWxkQ29uZmlnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJDb3VudGVyPXtfcmVuZGVyQ291bnRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZVZhcmlhYmxlcz17bW9kZWwuaW50ZXJwb2xhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uT3B0aW9uc0NoYW5nZT17bW9kZWwub25PcHRpb25zQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZpZWxkQ29uZmlnQ2hhbmdlPXttb2RlbC5vbkZpZWxkQ29uZmlnQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVRpbWVSYW5nZT17bW9kZWwub25UaW1lUmFuZ2VDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50QnVzPXtjb250ZXh0LmV2ZW50QnVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L1BhbmVsQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgPC9QbHVnaW5Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9FcnJvckJvdW5kYXJ5QWxlcnQ+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1BhbmVsQ2hyb21lPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIHVzZURhdGFXaXRoU2VyaWVzTGltaXQoZGF0YTogUGFuZWxEYXRhIHwgdW5kZWZpbmVkLCBzZXJpZXNMaW1pdD86IG51bWJlciwgc2hvd0FsbFNlcmllcz86IGJvb2xlYW4pIHtcbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghZGF0YT8uc2VyaWVzIHx8ICFzZXJpZXNMaW1pdCB8fCBzaG93QWxsU2VyaWVzKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZGF0YSxcbiAgICAgIHNlcmllczogZGF0YS5zZXJpZXMuc2xpY2UoMCwgc2VyaWVzTGltaXQpLFxuICAgIH07XG4gIH0sIFtkYXRhLCBzZXJpZXNMaW1pdCwgc2hvd0FsbFNlcmllc10pO1xufVxuXG5mdW5jdGlvbiBnZXREcmFnQ2xhc3NlcyhwYW5lbDogVml6UGFuZWwpIHtcbiAgY29uc3QgcGFyZW50TGF5b3V0ID0gc2NlbmVHcmFwaC5nZXRMYXlvdXQocGFuZWwpO1xuICBjb25zdCBpc0RyYWdnYWJsZSA9IHBhcmVudExheW91dD8uaXNEcmFnZ2FibGUoKTtcblxuICBpZiAoIXBhcmVudExheW91dCB8fCAhaXNEcmFnZ2FibGUgfHwgaXRlbURyYWdnaW5nRGlzYWJsZWQocGFuZWwsIHBhcmVudExheW91dCkpIHtcbiAgICByZXR1cm4geyBkcmFnQ2xhc3M6ICcnLCBkcmFnQ2xhc3NDYW5jZWw6ICcnIH07XG4gIH1cblxuICByZXR1cm4geyBkcmFnQ2xhc3M6IHBhcmVudExheW91dC5nZXREcmFnQ2xhc3M/LigpLCBkcmFnQ2xhc3NDYW5jZWw6IHBhcmVudExheW91dD8uZ2V0RHJhZ0NsYXNzQ2FuY2VsPy4oKSB9O1xufVxuXG4vKipcbiAqIFdhbGtzIHVwIHRoZSBwYXJlbnQgY2hhaW4gdW50aWwgaXQgaGl0cyB0aGUgbGF5b3V0IG9iamVjdCwgdHJ5aW5nIHRvIGZpbmQgdGhlIGNsb3Nlc3QgU2NlbmVHcmlkSXRlbUxpa2UgYW5jZXN0b3IuXG4gKiBJdCBpcyBub3QgYWx3YXlzIHRoZSBkaXJlY3QgcGFyZW50LCBiZWNhdXNlIHRoZSBWaXpQYW5lbCBjYW4gYmUgd3JhcHBlZCBpbiBvdGhlciBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBpdGVtRHJhZ2dpbmdEaXNhYmxlZChpdGVtOiBTY2VuZU9iamVjdCwgbGF5b3V0OiBTY2VuZUxheW91dCkge1xuICBsZXQgYW5jZXN0b3IgPSBpdGVtLnBhcmVudDtcblxuICB3aGlsZSAoYW5jZXN0b3IgJiYgYW5jZXN0b3IgIT09IGxheW91dCkge1xuICAgIGlmICgnaXNEcmFnZ2FibGUnIGluIGFuY2VzdG9yLnN0YXRlICYmIGFuY2VzdG9yLnN0YXRlLmlzRHJhZ2dhYmxlID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnQ7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGdldENocm9tZVN0YXR1c01lc3NhZ2UoZGF0YTogUGFuZWxEYXRhLCBwbHVnaW5Mb2FkaW5nRXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICBpZiAocGx1Z2luTG9hZGluZ0Vycm9yKSB7XG4gICAgcmV0dXJuIHBsdWdpbkxvYWRpbmdFcnJvcjtcbiAgfVxuXG4gIGxldCBtZXNzYWdlID0gZGF0YS5lcnJvciA/IGRhdGEuZXJyb3IubWVzc2FnZSA6IHVuZGVmaW5lZDtcblxuICAvLyBIYW5kbGluZyBtdWx0aXBsZSBlcnJvcnMgd2l0aCBhIHNpbmdsZSBzdHJpbmcgdW50aWwgd2UgaW50ZWdyYXRlIFZpelBhbmVsIHdpdGggaW5zcGVjdG9yXG4gIGlmIChkYXRhLmVycm9ycykge1xuICAgIG1lc3NhZ2UgPSBkYXRhLmVycm9ycy5tYXAoKGUpID0+IGUubWVzc2FnZSkuam9pbignLCAnKTtcbiAgfVxuICByZXR1cm4gbWVzc2FnZTtcbn1cblxuY29uc3QgcmVsYXRpdmVXcmFwcGVyID0gY3NzKHtcbiAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGhlaWdodDogJzEwMCUnLFxufSk7XG5cbi8qKlxuICogU2FkbHkgdGhpcyB0aGlzIGFic29sdXRlIHdyYXBwZXIgaXMgbmVlZGVkIGZvciB0aGUgcGFuZWwgdG8gYWRvcHQgc21hbGxlciBzaXplcy5cbiAqIFRoZSBjb21ibyBvZiB1c2VNZWFzdXJlIGFuZCBQYW5lbENocm9tZSBtYWtlcyB0aGUgcGFuZWwgdGFrZSB1cCB0aGUgd2lkdGggaXQgZ2V0J3MgYnV0IHRoYXQgbWFrZXMgaXQgaW1wb3NzaWJsZSB0b1xuICogVGhlbiBhZGFwdCB0byBzbWFsbGVyIHNwYWNlIChzYXkgcmVzaXppbmcgdGhlIGJyb3dzZXIgd2luZG93IG9yIHVuZG9ja2luZyBtZW51KS5cbiAqL1xuY29uc3QgYWJzb2x1dGVXcmFwcGVyID0gY3NzKHtcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGhlaWdodDogJzEwMCUnLFxufSk7XG5cbmNvbnN0IGdldEFsZXJ0U3RhdGVTdHlsZXMgPSAodGhlbWU6IEdyYWZhbmFUaGVtZTIpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBvazogY3NzKHtcbiAgICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMuc3VjY2Vzcy50ZXh0LFxuICAgIH0pLFxuICAgIHBlbmRpbmc6IGNzcyh7XG4gICAgICBjb2xvcjogdGhlbWUuY29sb3JzLndhcm5pbmcudGV4dCxcbiAgICB9KSxcbiAgICBhbGVydGluZzogY3NzKHtcbiAgICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMuZXJyb3IudGV4dCxcbiAgICB9KSxcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJnQixTQUFBLGdCQUFBLENBQWlCLEVBQUUsS0FBQSxFQUF3QyxFQUFBO0FBakIzRSxFQUFBLElBQUEsRUFBQSxDQUFBO0FBa0JFLEVBQU0sTUFBQTtBQUFBLElBQ0osS0FBQTtBQUFBLElBQ0EsT0FBQTtBQUFBLElBQ0EsV0FBQTtBQUFBLElBQ0EsZ0JBQUE7QUFBQSxJQUNBLFdBQUE7QUFBQSxJQUNBLFdBQUE7QUFBQSxJQUNBLGNBQUE7QUFBQSxJQUNBLGlCQUFBO0FBQUEsSUFDQSxJQUFBO0FBQUEsSUFDQSxhQUFBO0FBQUEsSUFDQSxVQUFBO0FBQUEsSUFDQSxXQUFBO0FBQUEsSUFDQSxrQkFBQTtBQUFBLElBQ0EsV0FBQTtBQUFBLElBQ0EsV0FBQTtBQUFBLElBQ0EsU0FBQTtBQUFBLElBQ0EsY0FBaUIsR0FBQSxDQUFBO0FBQUEsR0FDbkIsR0FBSSxNQUFNLFFBQVMsRUFBQSxDQUFBO0FBQ25CLEVBQUEsTUFBTSxDQUFDLEdBQUssRUFBQSxF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
@@ -1,45 +0,0 @@
1
- import { css } from '@emotion/css';
2
- import { useStyles2, Icon, Tooltip, Button } from '@grafana/ui';
3
- import React from 'react';
4
-
5
- function VizPanelSeriesLimit({ data, showAll, seriesLimit, onShowAllSeries }) {
6
- const styles = useStyles2(getStyles);
7
- const seriesCount = data == null ? void 0 : data.series.length;
8
- if (seriesCount === void 0 || seriesCount < seriesLimit) {
9
- return null;
10
- }
11
- const buttonText = showAll ? "Restore limit" : `Show all ${seriesCount}`;
12
- return /* @__PURE__ */ React.createElement("div", {
13
- className: styles.timeSeriesDisclaimer
14
- }, !showAll && /* @__PURE__ */ React.createElement("span", {
15
- className: styles.warningMessage
16
- }, /* @__PURE__ */ React.createElement(Icon, {
17
- title: `Showing only ${seriesLimit} series`,
18
- name: "exclamation-triangle",
19
- "aria-hidden": "true"
20
- })), /* @__PURE__ */ React.createElement(Tooltip, {
21
- content: "Rendering too many series in a single panel may impact performance and make data harder to read."
22
- }, /* @__PURE__ */ React.createElement(Button, {
23
- variant: "secondary",
24
- size: "sm",
25
- onClick: onShowAllSeries
26
- }, buttonText)));
27
- }
28
- const getStyles = (theme) => ({
29
- timeSeriesDisclaimer: css({
30
- label: "time-series-disclaimer",
31
- display: "flex",
32
- alignItems: "center",
33
- gap: theme.spacing(1)
34
- }),
35
- warningMessage: css({
36
- display: "flex",
37
- alignItems: "center",
38
- gap: theme.spacing(0.5),
39
- color: theme.colors.warning.main,
40
- fontSize: theme.typography.bodySmall.fontSize
41
- })
42
- });
43
-
44
- export { VizPanelSeriesLimit };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWxTZXJpZXNMaW1pdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVml6UGFuZWwvVml6UGFuZWxTZXJpZXNMaW1pdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IEdyYWZhbmFUaGVtZTIsIFBhbmVsRGF0YSB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgQnV0dG9uLCBJY29uLCBUb29sdGlwLCB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9wcyB7XG4gIHNob3dBbGw/OiBib29sZWFuO1xuICBzZXJpZXNMaW1pdDogbnVtYmVyO1xuICBkYXRhPzogUGFuZWxEYXRhO1xuICBvblNob3dBbGxTZXJpZXM6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXpQYW5lbFNlcmllc0xpbWl0KHsgZGF0YSwgc2hvd0FsbCwgc2VyaWVzTGltaXQsIG9uU2hvd0FsbFNlcmllcyB9OiBQcm9wcykge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZXMyKGdldFN0eWxlcyk7XG4gIGNvbnN0IHNlcmllc0NvdW50ID0gZGF0YT8uc2VyaWVzLmxlbmd0aDtcblxuICBpZiAoc2VyaWVzQ291bnQgPT09IHVuZGVmaW5lZCB8fCBzZXJpZXNDb3VudCA8IHNlcmllc0xpbWl0KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBidXR0b25UZXh0ID0gc2hvd0FsbCA/ICdSZXN0b3JlIGxpbWl0JyA6IGBTaG93IGFsbCAke3Nlcmllc0NvdW50fWA7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpbWVTZXJpZXNEaXNjbGFpbWVyfT5cbiAgICAgIHshc2hvd0FsbCAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLndhcm5pbmdNZXNzYWdlfT5cbiAgICAgICAgICA8SWNvbiB0aXRsZT17YFNob3dpbmcgb25seSAke3Nlcmllc0xpbWl0fSBzZXJpZXNgfSBuYW1lPVwiZXhjbGFtYXRpb24tdHJpYW5nbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAgPFRvb2x0aXBcbiAgICAgICAgY29udGVudD17J1JlbmRlcmluZyB0b28gbWFueSBzZXJpZXMgaW4gYSBzaW5nbGUgcGFuZWwgbWF5IGltcGFjdCBwZXJmb3JtYW5jZSBhbmQgbWFrZSBkYXRhIGhhcmRlciB0byByZWFkLid9XG4gICAgICA+XG4gICAgICAgIDxCdXR0b24gdmFyaWFudD1cInNlY29uZGFyeVwiIHNpemU9XCJzbVwiIG9uQ2xpY2s9e29uU2hvd0FsbFNlcmllc30+XG4gICAgICAgICAge2J1dHRvblRleHR9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9Ub29sdGlwPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBnZXRTdHlsZXMgPSAodGhlbWU6IEdyYWZhbmFUaGVtZTIpID0+ICh7XG4gIHRpbWVTZXJpZXNEaXNjbGFpbWVyOiBjc3Moe1xuICAgIGxhYmVsOiAndGltZS1zZXJpZXMtZGlzY2xhaW1lcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGdhcDogdGhlbWUuc3BhY2luZygxKSxcbiAgfSksXG4gIHdhcm5pbmdNZXNzYWdlOiBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLndhcm5pbmcubWFpbixcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGwuZm9udFNpemUsXG4gIH0pLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVlPLFNBQVMsb0JBQW9CLEVBQUUsSUFBQSxFQUFNLE9BQVMsRUFBQSxXQUFBLEVBQWEsaUJBQTBCLEVBQUE7QUFDMUYsRUFBTSxNQUFBLE1BQUEsR0FBUyxXQUFXLFNBQVMsQ0FBQSxDQUFBO0FBQ25DLEVBQU0sTUFBQSxXQUFBLEdBQWMsNkJBQU0sTUFBTyxDQUFBLE1BQUEsQ0FBQTtBQUVqQyxFQUFJLElBQUEsV0FBQSxLQUFnQixLQUFhLENBQUEsSUFBQSxXQUFBLEdBQWMsV0FBYSxFQUFBO0FBQzFELElBQU8sT0FBQSxJQUFBLENBQUE7QUFBQSxHQUNUO0FBRUEsRUFBTSxNQUFBLFVBQUEsR0FBYSxPQUFVLEdBQUEsZUFBQSxHQUFrQixDQUFZLFNBQUEsRUFBQSxXQUFBLENBQUEsQ0FBQSxDQUFBO0FBRTNELEVBQUEsdUJBQ0csS0FBQSxDQUFBLGFBQUEsQ0FBQSxLQUFBLEVBQUE7QUFBQSxJQUFJLFdBQVcsTUFBTyxDQUFBLG9CQUFBO0FBQUEsR0FDcEIsRUFBQSxDQUFDLDJCQUNDLEtBQUEsQ0FBQSxhQUFBLENBQUEsTUFBQSxFQUFBO0FBQUEsSUFBSyxXQUFXLE1BQU8sQ0FBQSxjQUFBO0FBQUEsR0FBQSxrQkFDckIsS0FBQSxDQUFBLGFBQUEsQ0FBQSxJQUFBLEVBQUE7QUFBQSxJQUFLLE9BQU8sQ0FBZ0IsYUFBQSxFQUFBLFdBQUEsQ0FBQSxPQUFBLENBQUE7QUFBQSxJQUFzQixJQUFLLEVBQUEsc0JBQUE7QUFBQSxJQUF1QixhQUFZLEVBQUEsTUFBQTtBQUFBLEdBQU8sQ0FDcEcsbUJBRUQsS0FBQSxDQUFBLGFBQUEsQ0FBQSxPQUFBLEVBQUE7QUFBQSxJQUNDLE9BQVMsRUFBQSxrR0FBQTtBQUFBLEdBQUEsa0JBRVIsS0FBQSxDQUFBLGFBQUEsQ0FBQSxNQUFBLEVBQUE7QUFBQSxJQUFPLE9BQVEsRUFBQSxXQUFBO0FBQUEsSUFBWSxJQUFLLEVBQUEsSUFBQTtBQUFBLElBQUssT0FBUyxFQUFBLGVBQUE7QUFBQSxHQUM1QyxFQUFBLFVBQ0gsQ0FDRixDQUNGLENBQUEsQ0FBQTtBQUVKLENBQUE7QUFFQSxNQUFNLFNBQUEsR0FBWSxDQUFDLEtBQTBCLE1BQUE7QUFBQSxFQUMzQyxzQkFBc0IsR0FBSSxDQUFBO0FBQUEsSUFDeEIsS0FBTyxFQUFBLHdCQUFBO0FBQUEsSUFDUCxPQUFTLEVBQUEsTUFBQTtBQUFBLElBQ1QsVUFBWSxFQUFBLFFBQUE7QUFBQSxJQUNaLEdBQUEsRUFBSyxLQUFNLENBQUEsT0FBQSxDQUFRLENBQUMsQ0FBQTtBQUFBLEdBQ3JCLENBQUE7QUFBQSxFQUNELGdCQUFnQixHQUFJLENBQUE7QUFBQSxJQUNsQixPQUFTLEVBQUEsTUFBQTtBQUFBLElBQ1QsVUFBWSxFQUFBLFFBQUE7QUFBQSxJQUNaLEdBQUEsRUFBSyxLQUFNLENBQUEsT0FBQSxDQUFRLEdBQUcsQ0FBQTtBQUFBLElBQ3RCLEtBQUEsRUFBTyxLQUFNLENBQUEsTUFBQSxDQUFPLE9BQVEsQ0FBQSxJQUFBO0FBQUEsSUFDNUIsUUFBQSxFQUFVLEtBQU0sQ0FBQSxVQUFBLENBQVcsU0FBVSxDQUFBLFFBQUE7QUFBQSxHQUN0QyxDQUFBO0FBQ0gsQ0FBQSxDQUFBOzs7OyJ9
@@ -1,72 +0,0 @@
1
- import { FieldMatcherID, FieldColorModeId } from '@grafana/data';
2
-
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
- const changeSeriesColorConfigFactory = (label, color, fieldConfig) => {
23
- const { overrides } = fieldConfig;
24
- const currentIndex = fieldConfig.overrides.findIndex((override) => {
25
- return override.matcher.id === FieldMatcherID.byName && override.matcher.options === label;
26
- });
27
- if (currentIndex < 0) {
28
- return __spreadProps(__spreadValues({}, fieldConfig), {
29
- overrides: [...fieldConfig.overrides, createOverride(label, color)]
30
- });
31
- }
32
- const overridesCopy = Array.from(overrides);
33
- const existing = overridesCopy[currentIndex];
34
- const propertyIndex = existing.properties.findIndex((p) => p.id === "color");
35
- if (propertyIndex < 0) {
36
- overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {
37
- properties: [...existing.properties, createProperty(color)]
38
- });
39
- return __spreadProps(__spreadValues({}, fieldConfig), {
40
- overrides: overridesCopy
41
- });
42
- }
43
- const propertiesCopy = Array.from(existing.properties);
44
- propertiesCopy[propertyIndex] = createProperty(color);
45
- overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {
46
- properties: propertiesCopy
47
- });
48
- return __spreadProps(__spreadValues({}, fieldConfig), {
49
- overrides: overridesCopy
50
- });
51
- };
52
- const createOverride = (label, color) => {
53
- return {
54
- matcher: {
55
- id: FieldMatcherID.byName,
56
- options: label
57
- },
58
- properties: [createProperty(color)]
59
- };
60
- };
61
- const createProperty = (color) => {
62
- return {
63
- id: "color",
64
- value: {
65
- mode: FieldColorModeId.Fixed,
66
- fixedColor: color
67
- }
68
- };
69
- };
70
-
71
- export { changeSeriesColorConfigFactory };
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JTZXJpZXNDb25maWdGYWN0b3J5LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9WaXpQYW5lbC9jb2xvclNlcmllc0NvbmZpZ0ZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uZmlnT3ZlcnJpZGVSdWxlLFxuICBEeW5hbWljQ29uZmlnVmFsdWUsXG4gIEZpZWxkQ29sb3JNb2RlSWQsXG4gIEZpZWxkQ29uZmlnU291cmNlLFxuICBGaWVsZE1hdGNoZXJJRCxcbn0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5cbmV4cG9ydCBjb25zdCBjaGFuZ2VTZXJpZXNDb2xvckNvbmZpZ0ZhY3RvcnkgPSAoXG4gIGxhYmVsOiBzdHJpbmcsXG4gIGNvbG9yOiBzdHJpbmcsXG4gIGZpZWxkQ29uZmlnOiBGaWVsZENvbmZpZ1NvdXJjZVxuKTogRmllbGRDb25maWdTb3VyY2UgPT4ge1xuICBjb25zdCB7IG92ZXJyaWRlcyB9ID0gZmllbGRDb25maWc7XG4gIGNvbnN0IGN1cnJlbnRJbmRleCA9IGZpZWxkQ29uZmlnLm92ZXJyaWRlcy5maW5kSW5kZXgoKG92ZXJyaWRlKSA9PiB7XG4gICAgcmV0dXJuIG92ZXJyaWRlLm1hdGNoZXIuaWQgPT09IEZpZWxkTWF0Y2hlcklELmJ5TmFtZSAmJiBvdmVycmlkZS5tYXRjaGVyLm9wdGlvbnMgPT09IGxhYmVsO1xuICB9KTtcblxuICBpZiAoY3VycmVudEluZGV4IDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5maWVsZENvbmZpZyxcbiAgICAgIG92ZXJyaWRlczogWy4uLmZpZWxkQ29uZmlnLm92ZXJyaWRlcywgY3JlYXRlT3ZlcnJpZGUobGFiZWwsIGNvbG9yKV0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IG92ZXJyaWRlc0NvcHkgPSBBcnJheS5mcm9tKG92ZXJyaWRlcyk7XG4gIGNvbnN0IGV4aXN0aW5nID0gb3ZlcnJpZGVzQ29weVtjdXJyZW50SW5kZXhdO1xuICBjb25zdCBwcm9wZXJ0eUluZGV4ID0gZXhpc3RpbmcucHJvcGVydGllcy5maW5kSW5kZXgoKHApID0+IHAuaWQgPT09ICdjb2xvcicpO1xuXG4gIGlmIChwcm9wZXJ0eUluZGV4IDwgMCkge1xuICAgIG92ZXJyaWRlc0NvcHlbY3VycmVudEluZGV4XSA9IHtcbiAgICAgIC4uLmV4aXN0aW5nLFxuICAgICAgcHJvcGVydGllczogWy4uLmV4aXN0aW5nLnByb3BlcnRpZXMsIGNyZWF0ZVByb3BlcnR5KGNvbG9yKV0sXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5maWVsZENvbmZpZyxcbiAgICAgIG92ZXJyaWRlczogb3ZlcnJpZGVzQ29weSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgcHJvcGVydGllc0NvcHkgPSBBcnJheS5mcm9tKGV4aXN0aW5nLnByb3BlcnRpZXMpO1xuICBwcm9wZXJ0aWVzQ29weVtwcm9wZXJ0eUluZGV4XSA9IGNyZWF0ZVByb3BlcnR5KGNvbG9yKTtcblxuICBvdmVycmlkZXNDb3B5W2N1cnJlbnRJbmRleF0gPSB7XG4gICAgLi4uZXhpc3RpbmcsXG4gICAgcHJvcGVydGllczogcHJvcGVydGllc0NvcHksXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5maWVsZENvbmZpZyxcbiAgICBvdmVycmlkZXM6IG92ZXJyaWRlc0NvcHksXG4gIH07XG59O1xuXG5jb25zdCBjcmVhdGVPdmVycmlkZSA9IChsYWJlbDogc3RyaW5nLCBjb2xvcjogc3RyaW5nKTogQ29uZmlnT3ZlcnJpZGVSdWxlID0+IHtcbiAgcmV0dXJuIHtcbiAgICBtYXRjaGVyOiB7XG4gICAgICBpZDogRmllbGRNYXRjaGVySUQuYnlOYW1lLFxuICAgICAgb3B0aW9uczogbGFiZWwsXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiBbY3JlYXRlUHJvcGVydHkoY29sb3IpXSxcbiAgfTtcbn07XG5cbmNvbnN0IGNyZWF0ZVByb3BlcnR5ID0gKGNvbG9yOiBzdHJpbmcpOiBEeW5hbWljQ29uZmlnVmFsdWUgPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiAnY29sb3InLFxuICAgIHZhbHVlOiB7XG4gICAgICBtb2RlOiBGaWVsZENvbG9yTW9kZUlkLkZpeGVkLFxuICAgICAgZml4ZWRDb2xvcjogY29sb3IsXG4gICAgfSxcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUU8sTUFBTSw4QkFBaUMsR0FBQSxDQUM1QyxLQUNBLEVBQUEsS0FBQSxFQUNBLFdBQ3NCLEtBQUE7QUFDdEIsRUFBTSxNQUFBLEVBQUUsV0FBYyxHQUFBLFdBQUEsQ0FBQTtBQUN0QixFQUFBLE1BQU0sWUFBZSxHQUFBLFdBQUEsQ0FBWSxTQUFVLENBQUEsU0FBQSxDQUFVLENBQUMsUUFBYSxLQUFBO0FBQ2pFLElBQUEsT0FBTyxTQUFTLE9BQVEsQ0FBQSxFQUFBLEtBQU8sZUFBZSxNQUFVLElBQUEsUUFBQSxDQUFTLFFBQVEsT0FBWSxLQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ3RGLENBQUEsQ0FBQTtBQUVELEVBQUEsSUFBSSxlQUFlLENBQUcsRUFBQTtBQUNwQixJQUFBLE9BQU8saUNBQ0YsV0FERSxDQUFBLEVBQUE7QUFBQSxNQUVMLFNBQUEsRUFBVyxDQUFDLEdBQUcsV0FBQSxDQUFZLFdBQVcsY0FBZSxDQUFBLEtBQUEsRUFBTyxLQUFLLENBQUMsQ0FBQTtBQUFBLEtBQ3BFLENBQUEsQ0FBQTtBQUFBLEdBQ0Y7QUFFQSxFQUFNLE1BQUEsYUFBQSxHQUFnQixLQUFNLENBQUEsSUFBQSxDQUFLLFNBQVMsQ0FBQSxDQUFBO0FBQzFDLEVBQUEsTUFBTSxXQUFXLGFBQWMsQ0FBQSxZQUFBLENBQUEsQ0FBQTtBQUMvQixFQUFNLE1BQUEsYUFBQSxHQUFnQixTQUFTLFVBQVcsQ0FBQSxTQUFBLENBQVUsQ0FBQyxDQUFNLEtBQUEsQ0FBQSxDQUFFLE9BQU8sT0FBTyxDQUFBLENBQUE7QUFFM0UsRUFBQSxJQUFJLGdCQUFnQixDQUFHLEVBQUE7QUFDckIsSUFBYyxhQUFBLENBQUEsWUFBQSxDQUFBLEdBQWdCLGlDQUN6QixRQUR5QixDQUFBLEVBQUE7QUFBQSxNQUU1QixZQUFZLENBQUMsR0FBRyxTQUFTLFVBQVksRUFBQSxjQUFBLENBQWUsS0FBSyxDQUFDLENBQUE7QUFBQSxLQUM1RCxDQUFBLENBQUE7QUFFQSxJQUFBLE9BQU8saUNBQ0YsV0FERSxDQUFBLEVBQUE7QUFBQSxNQUVMLFNBQVcsRUFBQSxhQUFBO0FBQUEsS0FDYixDQUFBLENBQUE7QUFBQSxHQUNGO0FBRUEsRUFBQSxNQUFNLGNBQWlCLEdBQUEsS0FBQSxDQUFNLElBQUssQ0FBQSxRQUFBLENBQVMsVUFBVSxDQUFBLENBQUE7QUFDckQsRUFBZSxjQUFBLENBQUEsYUFBQSxDQUFBLEdBQWlCLGVBQWUsS0FBSyxDQUFBLENBQUE7QUFFcEQsRUFBYyxhQUFBLENBQUEsWUFBQSxDQUFBLEdBQWdCLGlDQUN6QixRQUR5QixDQUFBLEVBQUE7QUFBQSxJQUU1QixVQUFZLEVBQUEsY0FBQTtBQUFBLEdBQ2QsQ0FBQSxDQUFBO0FBRUEsRUFBQSxPQUFPLGlDQUNGLFdBREUsQ0FBQSxFQUFBO0FBQUEsSUFFTCxTQUFXLEVBQUEsYUFBQTtBQUFBLEdBQ2IsQ0FBQSxDQUFBO0FBQ0YsRUFBQTtBQUVBLE1BQU0sY0FBQSxHQUFpQixDQUFDLEtBQUEsRUFBZSxLQUFzQyxLQUFBO0FBQzNFLEVBQU8sT0FBQTtBQUFBLElBQ0wsT0FBUyxFQUFBO0FBQUEsTUFDUCxJQUFJLGNBQWUsQ0FBQSxNQUFBO0FBQUEsTUFDbkIsT0FBUyxFQUFBLEtBQUE7QUFBQSxLQUNYO0FBQUEsSUFDQSxVQUFZLEVBQUEsQ0FBQyxjQUFlLENBQUEsS0FBSyxDQUFDLENBQUE7QUFBQSxHQUNwQyxDQUFBO0FBQ0YsQ0FBQSxDQUFBO0FBRUEsTUFBTSxjQUFBLEdBQWlCLENBQUMsS0FBc0MsS0FBQTtBQUM1RCxFQUFPLE9BQUE7QUFBQSxJQUNMLEVBQUksRUFBQSxPQUFBO0FBQUEsSUFDSixLQUFPLEVBQUE7QUFBQSxNQUNMLE1BQU0sZ0JBQWlCLENBQUEsS0FBQTtBQUFBLE1BQ3ZCLFVBQVksRUFBQSxLQUFBO0FBQUEsS0FDZDtBQUFBLEdBQ0YsQ0FBQTtBQUNGLENBQUE7Ozs7In0=
@@ -1,56 +0,0 @@
1
- import { getPluginImportUtils } from '@grafana/runtime';
2
-
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
- const runtimePanelPlugins = /* @__PURE__ */ new Map();
23
- function registerRuntimePanelPlugin({ pluginId, plugin }) {
24
- if (runtimePanelPlugins.has(pluginId)) {
25
- throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);
26
- }
27
- plugin.meta = __spreadProps(__spreadValues({}, plugin.meta), {
28
- id: pluginId,
29
- name: pluginId,
30
- module: "runtime plugin",
31
- baseUrl: "runtime plugin",
32
- info: {
33
- author: {
34
- name: "Runtime plugin " + pluginId
35
- },
36
- description: "",
37
- links: [],
38
- logos: {
39
- large: "",
40
- small: ""
41
- },
42
- screenshots: [],
43
- updated: "",
44
- version: ""
45
- }
46
- });
47
- runtimePanelPlugins.set(pluginId, plugin);
48
- }
49
- function loadPanelPluginSync(pluginId) {
50
- var _a;
51
- const { getPanelPluginFromCache } = getPluginImportUtils();
52
- return (_a = getPanelPluginFromCache(pluginId)) != null ? _a : runtimePanelPlugins.get(pluginId);
53
- }
54
-
55
- export { loadPanelPluginSync, registerRuntimePanelPlugin, runtimePanelPlugins };
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJSdW50aW1lUGFuZWxQbHVnaW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1ZpelBhbmVsL3JlZ2lzdGVyUnVudGltZVBhbmVsUGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhbmVsUGx1Z2luLCBQbHVnaW5NZXRhSW5mbyB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSW1wb3J0VXRpbHMgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcblxuZXhwb3J0IGNvbnN0IHJ1bnRpbWVQYW5lbFBsdWdpbnMgPSBuZXcgTWFwPHN0cmluZywgUGFuZWxQbHVnaW4+KCk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZVBhbmVsUGx1Z2luT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQbGVhc2Ugc3BlY2lmeSBhIHBsdWdpbklkIHRoYXQgaXMgdW5saWtlbHkgdG8gY29sbGlkZSB3aXRoIG90aGVyIHBsdWdpbnMuXG4gICAqL1xuICBwbHVnaW5JZDogc3RyaW5nO1xuICBwbHVnaW46IFBhbmVsUGx1Z2luO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGEgd2F5IHRvIHJlZ2lzdGVyIHJ1bnRpbWUgcGFuZWwgcGx1Z2lucy5cbiAqIFBsZWFzZSB1c2UgYSBwbHVnaW5JZCB0aGF0IGlzIHVubGlrZWx5IHRvIGNvbGxpZGUgd2l0aCBvdGhlciBwbHVnaW5zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJSdW50aW1lUGFuZWxQbHVnaW4oeyBwbHVnaW5JZCwgcGx1Z2luIH06IFJ1bnRpbWVQYW5lbFBsdWdpbk9wdGlvbnMpIHtcbiAgaWYgKHJ1bnRpbWVQYW5lbFBsdWdpbnMuaGFzKHBsdWdpbklkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQSBydW50aW1lIHBhbmVsIHBsdWdpbiB3aXRoIGlkICR7cGx1Z2luSWR9IGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZGApO1xuICB9XG5cbiAgcGx1Z2luLm1ldGEgPSB7XG4gICAgLi4ucGx1Z2luLm1ldGEsXG4gICAgaWQ6IHBsdWdpbklkLFxuICAgIG5hbWU6IHBsdWdpbklkLFxuICAgIG1vZHVsZTogJ3J1bnRpbWUgcGx1Z2luJyxcbiAgICBiYXNlVXJsOiAncnVudGltZSBwbHVnaW4nLFxuICAgIGluZm86IHtcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiAnUnVudGltZSBwbHVnaW4gJyArIHBsdWdpbklkLFxuICAgICAgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGxpbmtzOiBbXSxcbiAgICAgIGxvZ29zOiB7XG4gICAgICAgIGxhcmdlOiAnJyxcbiAgICAgICAgc21hbGw6ICcnLFxuICAgICAgfSxcbiAgICAgIHNjcmVlbnNob3RzOiBbXSxcbiAgICAgIHVwZGF0ZWQ6ICcnLFxuICAgICAgdmVyc2lvbjogJycsXG4gICAgfSBhcyBQbHVnaW5NZXRhSW5mbyxcbiAgfTtcblxuICBydW50aW1lUGFuZWxQbHVnaW5zLnNldChwbHVnaW5JZCwgcGx1Z2luKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQYW5lbFBsdWdpblN5bmMocGx1Z2luSWQ6IHN0cmluZykge1xuICBjb25zdCB7IGdldFBhbmVsUGx1Z2luRnJvbUNhY2hlIH0gPSBnZXRQbHVnaW5JbXBvcnRVdGlscygpO1xuXG4gIHJldHVybiBnZXRQYW5lbFBsdWdpbkZyb21DYWNoZShwbHVnaW5JZCkgPz8gcnVudGltZVBhbmVsUGx1Z2lucy5nZXQocGx1Z2luSWQpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdhLE1BQUEsbUJBQUEsdUJBQTBCLEdBQXlCLEdBQUE7QUFjekQsU0FBUywwQkFBMkIsQ0FBQSxFQUFFLFFBQVUsRUFBQSxNQUFBLEVBQXFDLEVBQUE7QUFDMUYsRUFBSSxJQUFBLG1CQUFBLENBQW9CLEdBQUksQ0FBQSxRQUFRLENBQUcsRUFBQTtBQUNyQyxJQUFNLE1BQUEsSUFBSSxLQUFNLENBQUEsQ0FBQSwrQkFBQSxFQUFrQyxRQUFzQyxDQUFBLDRCQUFBLENBQUEsQ0FBQSxDQUFBO0FBQUEsR0FDMUY7QUFFQSxFQUFPLE1BQUEsQ0FBQSxJQUFBLEdBQU8sYUFDVCxDQUFBLGNBQUEsQ0FBQSxFQUFBLEVBQUEsTUFBQSxDQUFPLElBREUsQ0FBQSxFQUFBO0FBQUEsSUFFWixFQUFJLEVBQUEsUUFBQTtBQUFBLElBQ0osSUFBTSxFQUFBLFFBQUE7QUFBQSxJQUNOLE1BQVEsRUFBQSxnQkFBQTtBQUFBLElBQ1IsT0FBUyxFQUFBLGdCQUFBO0FBQUEsSUFDVCxJQUFNLEVBQUE7QUFBQSxNQUNKLE1BQVEsRUFBQTtBQUFBLFFBQ04sTUFBTSxpQkFBb0IsR0FBQSxRQUFBO0FBQUEsT0FDNUI7QUFBQSxNQUNBLFdBQWEsRUFBQSxFQUFBO0FBQUEsTUFDYixPQUFPLEVBQUM7QUFBQSxNQUNSLEtBQU8sRUFBQTtBQUFBLFFBQ0wsS0FBTyxFQUFBLEVBQUE7QUFBQSxRQUNQLEtBQU8sRUFBQSxFQUFBO0FBQUEsT0FDVDtBQUFBLE1BQ0EsYUFBYSxFQUFDO0FBQUEsTUFDZCxPQUFTLEVBQUEsRUFBQTtBQUFBLE1BQ1QsT0FBUyxFQUFBLEVBQUE7QUFBQSxLQUNYO0FBQUEsR0FDRixDQUFBLENBQUE7QUFFQSxFQUFvQixtQkFBQSxDQUFBLEdBQUEsQ0FBSSxVQUFVLE1BQU0sQ0FBQSxDQUFBO0FBQzFDLENBQUE7QUFFTyxTQUFTLG9CQUFvQixRQUFrQixFQUFBO0FBL0N0RCxFQUFBLElBQUEsRUFBQSxDQUFBO0FBZ0RFLEVBQU0sTUFBQSxFQUFFLHVCQUF3QixFQUFBLEdBQUksb0JBQXFCLEVBQUEsQ0FBQTtBQUV6RCxFQUFBLE9BQUEsQ0FBTyw2QkFBd0IsUUFBUSxDQUFBLEtBQWhDLElBQXFDLEdBQUEsRUFBQSxHQUFBLG1CQUFBLENBQW9CLElBQUksUUFBUSxDQUFBLENBQUE7QUFDOUU7Ozs7In0=