@grafana/scenes 6.7.0 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +33 -0
- package/dist/esm/dist/esm/behaviors/CursorSync.js +76 -0
- package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +44 -0
- package/dist/esm/dist/esm/behaviors/SceneQueryController.js +14 -0
- package/dist/esm/dist/esm/components/EmbeddedScene.js +59 -0
- package/dist/esm/dist/esm/components/NestedScene.js +95 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +27 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +176 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +104 -0
- package/dist/esm/dist/esm/components/SceneApp/utils.js +42 -0
- package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +41 -0
- package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +55 -0
- package/dist/esm/dist/esm/components/SceneCanvasText.js +32 -0
- package/dist/esm/dist/esm/components/SceneControlsSpacer.js +17 -0
- package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +82 -0
- package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +72 -0
- package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +77 -0
- package/dist/esm/dist/esm/components/SceneReactObject.js +34 -0
- package/dist/esm/dist/esm/components/SceneRefreshPicker.js +205 -0
- package/dist/esm/dist/esm/components/SceneTimePicker.js +139 -0
- package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +240 -0
- package/dist/esm/dist/esm/components/SceneToolbarButton.js +33 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +406 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +44 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +59 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +285 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +45 -0
- package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +72 -0
- package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +11 -0
- package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
- package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
- package/dist/esm/dist/esm/components/layout/LazyLoader.js +103 -0
- package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +135 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +30 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +283 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +190 -0
- package/dist/esm/dist/esm/components/layout/grid/constants.js +7 -0
- package/dist/esm/dist/esm/components/layout/grid/utils.js +36 -0
- package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +17 -0
- package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +29 -0
- package/dist/esm/dist/esm/components/layout/split/Splitter.js +386 -0
- package/dist/esm/dist/esm/core/SceneComponentWrapper.js +57 -0
- package/dist/esm/dist/esm/core/SceneDataNode.js +43 -0
- package/dist/esm/dist/esm/core/SceneObjectBase.js +286 -0
- package/dist/esm/dist/esm/core/SceneObjectRef.js +32 -0
- package/dist/esm/dist/esm/core/SceneTimeRange.js +231 -0
- package/dist/esm/dist/esm/core/events.js +11 -0
- package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +10 -0
- package/dist/esm/dist/esm/core/sceneGraph/index.js +25 -0
- package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +178 -0
- package/dist/esm/dist/esm/core/sceneGraph/utils.js +64 -0
- package/dist/esm/dist/esm/core/types.js +15 -0
- package/dist/esm/dist/esm/querying/DataLayersMerger.js +46 -0
- package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +6 -0
- package/dist/esm/dist/esm/querying/RuntimeDataSource.js +6 -0
- package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +100 -0
- package/dist/esm/dist/esm/querying/SceneQueryRunner.js +468 -0
- package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +46 -0
- package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +12 -0
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +112 -0
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +51 -0
- package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
- package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +85 -0
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +121 -0
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
- package/dist/esm/dist/esm/querying/layers/annotations/utils.js +77 -0
- package/dist/esm/dist/esm/querying/registerQueryWithController.js +41 -0
- package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +30 -0
- package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +45 -0
- package/dist/esm/dist/esm/services/UrlSyncManager.js +167 -0
- package/dist/esm/dist/esm/services/useUrlSync.js +29 -0
- package/dist/esm/dist/esm/services/utils.js +71 -0
- package/dist/esm/dist/esm/utils/ControlsLabel.js +107 -0
- package/dist/esm/dist/esm/utils/LoadingIndicator.js +19 -0
- package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +39 -0
- package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
- package/dist/esm/dist/esm/utils/date.js +15 -0
- package/dist/esm/dist/esm/utils/evaluateTimeRange.js +16 -0
- package/dist/esm/dist/esm/utils/explore.js +47 -0
- package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +4 -0
- package/dist/esm/dist/esm/utils/getDataSource.js +18 -0
- package/dist/esm/dist/esm/utils/getMessageFromError.js +24 -0
- package/dist/esm/dist/esm/utils/metricTree.js +53 -0
- package/dist/esm/dist/esm/utils/parseUrlParam.js +41 -0
- package/dist/esm/dist/esm/utils/utils.js +11 -0
- package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +30 -0
- package/dist/esm/dist/esm/utils/writeSceneLog.js +12 -0
- package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +150 -0
- package/dist/esm/dist/esm/variables/VariableValueRecorder.js +71 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +24 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +303 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +289 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
- package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +13 -0
- package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +47 -0
- package/dist/esm/dist/esm/variables/components/VariableValueControl.js +23 -0
- package/dist/esm/dist/esm/variables/components/VariableValueInput.js +33 -0
- package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +228 -0
- package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +72 -0
- package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +15 -0
- package/dist/esm/dist/esm/variables/constants.js +9 -0
- package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +12 -0
- package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +259 -0
- package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
- package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
- package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +40 -0
- package/dist/esm/dist/esm/variables/interpolation/defaults.js +21 -0
- package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +296 -0
- package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +87 -0
- package/dist/esm/dist/esm/variables/lookupVariable.js +20 -0
- package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +57 -0
- package/dist/esm/dist/esm/variables/macros/contextMacros.js +43 -0
- package/dist/esm/dist/esm/variables/macros/dataMacros.js +134 -0
- package/dist/esm/dist/esm/variables/macros/index.js +26 -0
- package/dist/esm/dist/esm/variables/macros/templateProxies.js +51 -0
- package/dist/esm/dist/esm/variables/macros/timeMacros.js +86 -0
- package/dist/esm/dist/esm/variables/macros/types.js +11 -0
- package/dist/esm/dist/esm/variables/macros/urlMacros.js +56 -0
- package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +254 -0
- package/dist/esm/dist/esm/variables/types.js +11 -0
- package/dist/esm/dist/esm/variables/utils.js +172 -0
- package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +38 -0
- package/dist/esm/dist/esm/variables/variants/CustomVariable.js +60 -0
- package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +88 -0
- package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +117 -0
- package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +295 -0
- package/dist/esm/dist/esm/variables/variants/TestVariable.js +117 -0
- package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +61 -0
- package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +139 -0
- package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +129 -0
- package/dist/esm/dist/esm/variables/variants/query/guards.js +28 -0
- package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +96 -0
- package/dist/esm/dist/esm/variables/variants/query/utils.js +124 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/DataProviderSharer.js +39 -0
- package/dist/esm/src/behaviors/ActWhenVariableChanged.js +27 -0
- package/dist/esm/src/behaviors/CursorSync.js +76 -0
- package/dist/esm/src/behaviors/LiveNowTimer.js +44 -0
- package/dist/esm/src/behaviors/SceneQueryController.js +60 -0
- package/dist/esm/src/behaviors/index.js +5 -0
- package/dist/esm/src/components/EmbeddedScene.js +59 -0
- package/dist/esm/src/components/NestedScene.js +95 -0
- package/dist/esm/src/components/SceneApp/SceneApp.js +37 -0
- package/dist/esm/src/components/SceneApp/SceneAppPage.js +176 -0
- package/dist/esm/src/components/SceneApp/SceneAppPageView.js +104 -0
- package/dist/esm/src/components/SceneApp/utils.js +42 -0
- package/dist/esm/src/components/SceneByFrameRepeater.js +41 -0
- package/dist/esm/src/components/SceneByVariableRepeater.js +55 -0
- package/dist/esm/src/components/SceneCanvasText.js +32 -0
- package/dist/esm/src/components/SceneControlsSpacer.js +17 -0
- package/dist/esm/src/components/SceneDebugger/DebugDetails.js +82 -0
- package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +72 -0
- package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +77 -0
- package/dist/esm/src/components/SceneReactObject.js +34 -0
- package/dist/esm/src/components/SceneRefreshPicker.js +205 -0
- package/dist/esm/src/components/SceneTimePicker.js +139 -0
- package/dist/esm/src/components/SceneTimeRangeCompare.js +240 -0
- package/dist/esm/src/components/SceneToolbarButton.js +33 -0
- package/dist/esm/src/components/VizPanel/VizPanel.js +406 -0
- package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +44 -0
- package/dist/esm/src/components/VizPanel/VizPanelMenu.js +59 -0
- package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +285 -0
- package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +45 -0
- package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +72 -0
- package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +56 -0
- package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
- package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
- package/dist/esm/src/components/layout/LazyLoader.js +103 -0
- package/dist/esm/src/components/layout/SceneFlexLayout.js +135 -0
- package/dist/esm/src/components/layout/grid/SceneGridItem.js +30 -0
- package/dist/esm/src/components/layout/grid/SceneGridLayout.js +283 -0
- package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
- package/dist/esm/src/components/layout/grid/SceneGridRow.js +190 -0
- package/dist/esm/src/components/layout/grid/constants.js +7 -0
- package/dist/esm/src/components/layout/grid/utils.js +36 -0
- package/dist/esm/src/components/layout/split/SplitLayout.js +17 -0
- package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +29 -0
- package/dist/esm/src/components/layout/split/Splitter.js +386 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +100 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +75 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +75 -0
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +22 -0
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +85 -0
- package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +52 -0
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +78 -0
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +114 -0
- package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +162 -0
- package/dist/esm/src/core/PanelBuilders/index.js +116 -0
- package/dist/esm/src/core/SceneComponentWrapper.js +57 -0
- package/dist/esm/src/core/SceneDataNode.js +43 -0
- package/dist/esm/src/core/SceneObjectBase.js +286 -0
- package/dist/esm/src/core/SceneObjectRef.js +32 -0
- package/dist/esm/src/core/SceneTimeRange.js +231 -0
- package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +35 -0
- package/dist/esm/src/core/SceneTimeZoneOverride.js +63 -0
- package/dist/esm/src/core/events.js +11 -0
- package/dist/esm/src/core/sceneGraph/getTimeRange.js +10 -0
- package/dist/esm/src/core/sceneGraph/index.js +25 -0
- package/dist/esm/src/core/sceneGraph/sceneGraph.js +178 -0
- package/dist/esm/src/core/sceneGraph/utils.js +64 -0
- package/dist/esm/src/core/types.js +15 -0
- package/dist/esm/src/index.js +108 -0
- package/dist/esm/src/querying/DataLayersMerger.js +46 -0
- package/dist/esm/src/querying/DataProviderProxy.js +37 -0
- package/dist/esm/src/querying/DataProviderSharer.js +108 -0
- package/dist/esm/src/querying/ExtraQueryProvider.js +6 -0
- package/dist/esm/src/querying/RuntimeDataSource.js +49 -0
- package/dist/esm/src/querying/SceneDataLayerSet.js +100 -0
- package/dist/esm/src/querying/SceneDataTransformer.js +178 -0
- package/dist/esm/src/querying/SceneQueryRunner.js +468 -0
- package/dist/esm/src/querying/extraQueryProcessingOperator.js +46 -0
- package/dist/esm/src/querying/getEnrichedDataRequest.js +12 -0
- package/dist/esm/src/querying/layers/SceneDataLayerBase.js +112 -0
- package/dist/esm/src/querying/layers/SceneDataLayerControls.js +51 -0
- package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
- package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +85 -0
- package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +121 -0
- package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
- package/dist/esm/src/querying/layers/annotations/utils.js +77 -0
- package/dist/esm/src/querying/layers/index.js +2 -0
- package/dist/esm/src/querying/registerQueryWithController.js +41 -0
- package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +30 -0
- package/dist/esm/src/services/UniqueUrlKeyMapper.js +45 -0
- package/dist/esm/src/services/UrlSyncContextProvider.js +17 -0
- package/dist/esm/src/services/UrlSyncManager.js +167 -0
- package/dist/esm/src/services/useUrlSync.js +29 -0
- package/dist/esm/src/services/utils.js +75 -0
- package/dist/esm/src/utils/ControlsLabel.js +107 -0
- package/dist/esm/src/utils/LoadingIndicator.js +19 -0
- package/dist/esm/src/utils/SafeSerializableSceneObject.js +39 -0
- package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
- package/dist/esm/src/utils/date.js +15 -0
- package/dist/esm/src/utils/evaluateTimeRange.js +16 -0
- package/dist/esm/src/utils/explore.js +47 -0
- package/dist/esm/src/utils/getCompareSeriesRefId.js +4 -0
- package/dist/esm/src/utils/getDataSource.js +18 -0
- package/dist/esm/src/utils/getMessageFromError.js +24 -0
- package/dist/esm/src/utils/metricTree.js +53 -0
- package/dist/esm/src/utils/parseUrlParam.js +41 -0
- package/dist/esm/src/utils/utils.js +11 -0
- package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +30 -0
- package/dist/esm/src/utils/writeSceneLog.js +12 -0
- package/dist/esm/src/variables/VariableDependencyConfig.js +150 -0
- package/dist/esm/src/variables/VariableValueRecorder.js +71 -0
- package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +24 -0
- package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +303 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +289 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
- package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +13 -0
- package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +47 -0
- package/dist/esm/src/variables/components/VariableValueControl.js +23 -0
- package/dist/esm/src/variables/components/VariableValueInput.js +33 -0
- package/dist/esm/src/variables/components/VariableValueSelect.js +228 -0
- package/dist/esm/src/variables/components/VariableValueSelectors.js +72 -0
- package/dist/esm/src/variables/components/getOptionSearcher.js +15 -0
- package/dist/esm/src/variables/constants.js +9 -0
- package/dist/esm/src/variables/getEnrichedFiltersRequest.js +12 -0
- package/dist/esm/src/variables/groupby/GroupByVariable.js +259 -0
- package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
- package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
- package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +40 -0
- package/dist/esm/src/variables/interpolation/defaults.js +21 -0
- package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/src/variables/interpolation/formatRegistry.js +296 -0
- package/dist/esm/src/variables/interpolation/sceneInterpolator.js +87 -0
- package/dist/esm/src/variables/lookupVariable.js +20 -0
- package/dist/esm/src/variables/macros/AllVariablesMacro.js +57 -0
- package/dist/esm/src/variables/macros/contextMacros.js +43 -0
- package/dist/esm/src/variables/macros/dataMacros.js +134 -0
- package/dist/esm/src/variables/macros/index.js +35 -0
- package/dist/esm/src/variables/macros/templateProxies.js +51 -0
- package/dist/esm/src/variables/macros/timeMacros.js +86 -0
- package/dist/esm/src/variables/macros/types.js +11 -0
- package/dist/esm/src/variables/macros/urlMacros.js +56 -0
- package/dist/esm/src/variables/sets/SceneVariableSet.js +254 -0
- package/dist/esm/src/variables/types.js +11 -0
- package/dist/esm/src/variables/utils.js +172 -0
- package/dist/esm/src/variables/variants/ConstantVariable.js +38 -0
- package/dist/esm/src/variables/variants/CustomVariable.js +60 -0
- package/dist/esm/src/variables/variants/DataSourceVariable.js +88 -0
- package/dist/esm/src/variables/variants/IntervalVariable.js +117 -0
- package/dist/esm/src/variables/variants/JsonVariable.js +193 -0
- package/dist/esm/src/variables/variants/LocalValueVariable.js +56 -0
- package/dist/esm/src/variables/variants/MultiValueVariable.js +295 -0
- package/dist/esm/src/variables/variants/TestVariable.js +117 -0
- package/dist/esm/src/variables/variants/TextBoxVariable.js +61 -0
- package/dist/esm/src/variables/variants/guards.js +27 -0
- package/dist/esm/src/variables/variants/query/QueryVariable.js +139 -0
- package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +129 -0
- package/dist/esm/src/variables/variants/query/guards.js +28 -0
- package/dist/esm/src/variables/variants/query/toMetricFindValues.js +96 -0
- package/dist/esm/src/variables/variants/query/utils.js +124 -0
- package/dist/esm/variables/components/VariableValueSelect.js +13 -9
- package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
- package/dist/esm/variables/variants/ConstantVariable.js +22 -0
- package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
- package/dist/esm/variables/variants/CustomVariable.js +3 -2
- package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
- package/dist/esm/variables/variants/DataSourceVariable.js +3 -2
- package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
- package/dist/esm/variables/variants/JsonVariable.js +96 -0
- package/dist/esm/variables/variants/TestVariable.js +3 -2
- package/dist/esm/variables/variants/TestVariable.js.map +1 -1
- package/dist/esm/variables/variants/json/JsonVariable.js +95 -0
- package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +70 -0
- package/dist/esm/variables/variants/query/QueryVariable.js +3 -2
- package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
- package/dist/index.d.ts +14 -6
- package/dist/index.js +35 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { ReplaySubject } from 'rxjs';
|
|
2
|
+
import { emptyPanelData } from '../../core/SceneDataNode.js';
|
|
3
|
+
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
4
|
+
import { setBaseClassState } from '../../utils/utils.js';
|
|
5
|
+
import { writeSceneLog } from '../../utils/writeSceneLog.js';
|
|
6
|
+
import { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';
|
|
7
|
+
import { VariableValueRecorder } from '../../variables/VariableValueRecorder.js';
|
|
8
|
+
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
13
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
+
var __spreadValues = (a, b) => {
|
|
15
|
+
for (var prop in b || (b = {}))
|
|
16
|
+
if (__hasOwnProp.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
if (__getOwnPropSymbols)
|
|
19
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
20
|
+
if (__propIsEnum.call(b, prop))
|
|
21
|
+
__defNormalProp(a, prop, b[prop]);
|
|
22
|
+
}
|
|
23
|
+
return a;
|
|
24
|
+
};
|
|
25
|
+
class SceneDataLayerBase extends SceneObjectBase {
|
|
26
|
+
constructor(initialState, variableDependencyStatePaths = []) {
|
|
27
|
+
super(__spreadValues({
|
|
28
|
+
isEnabled: true
|
|
29
|
+
}, initialState));
|
|
30
|
+
this._results = new ReplaySubject(1);
|
|
31
|
+
this.isDataLayer = true;
|
|
32
|
+
this._variableValueRecorder = new VariableValueRecorder();
|
|
33
|
+
this._variableDependency = new VariableDependencyConfig(this, {
|
|
34
|
+
onVariableUpdateCompleted: this.onVariableUpdateCompleted.bind(this)
|
|
35
|
+
});
|
|
36
|
+
this._variableDependency.setPaths(variableDependencyStatePaths);
|
|
37
|
+
this.addActivationHandler(() => this.onActivate());
|
|
38
|
+
}
|
|
39
|
+
onActivate() {
|
|
40
|
+
if (this.state.isEnabled) {
|
|
41
|
+
this.onEnable();
|
|
42
|
+
}
|
|
43
|
+
if (this.shouldRunLayerOnActivate()) {
|
|
44
|
+
this.runLayer();
|
|
45
|
+
}
|
|
46
|
+
this.subscribeToState((n, p) => {
|
|
47
|
+
if (!n.isEnabled && this.querySub) {
|
|
48
|
+
this.querySub.unsubscribe();
|
|
49
|
+
this.querySub = void 0;
|
|
50
|
+
this.onDisable();
|
|
51
|
+
this._results.next({ origin: this, data: emptyPanelData });
|
|
52
|
+
this.setStateHelper({ data: emptyPanelData });
|
|
53
|
+
}
|
|
54
|
+
if (n.isEnabled && !p.isEnabled) {
|
|
55
|
+
this.onEnable();
|
|
56
|
+
this.runLayer();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return () => {
|
|
60
|
+
this.onDeactivate();
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
onDeactivate() {
|
|
64
|
+
if (this.querySub) {
|
|
65
|
+
this.querySub.unsubscribe();
|
|
66
|
+
this.querySub = void 0;
|
|
67
|
+
}
|
|
68
|
+
this.onDisable();
|
|
69
|
+
this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);
|
|
70
|
+
}
|
|
71
|
+
onVariableUpdateCompleted() {
|
|
72
|
+
this.runLayer();
|
|
73
|
+
}
|
|
74
|
+
cancelQuery() {
|
|
75
|
+
if (this.querySub) {
|
|
76
|
+
this.querySub.unsubscribe();
|
|
77
|
+
this.querySub = void 0;
|
|
78
|
+
this.publishResults(emptyPanelData);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
publishResults(data) {
|
|
82
|
+
if (this.state.isEnabled) {
|
|
83
|
+
this._results.next({ origin: this, data });
|
|
84
|
+
this.setStateHelper({ data });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
getResultsStream() {
|
|
88
|
+
return this._results;
|
|
89
|
+
}
|
|
90
|
+
shouldRunLayerOnActivate() {
|
|
91
|
+
if (!this.state.isEnabled) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
if (this._variableValueRecorder.hasDependenciesChanged(this)) {
|
|
95
|
+
writeSceneLog(
|
|
96
|
+
"SceneDataLayerBase",
|
|
97
|
+
"Variable dependency changed while inactive, shouldRunLayerOnActivate returns true"
|
|
98
|
+
);
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
if (!this.state.data) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
setStateHelper(state) {
|
|
107
|
+
setBaseClassState(this, state);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export { SceneDataLayerBase };
|
|
112
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVEYXRhTGF5ZXJCYXNlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcXVlcnlpbmcvbGF5ZXJzL1NjZW5lRGF0YUxheWVyQmFzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYW5lbERhdGEgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFVuc3Vic2NyaWJhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlbXB0eVBhbmVsRGF0YSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVEYXRhTm9kZSc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL1NjZW5lT2JqZWN0QmFzZSc7XG5pbXBvcnQge1xuICBDYW5jZWxBY3RpdmF0aW9uSGFuZGxlcixcbiAgU2NlbmVEYXRhTGF5ZXJQcm92aWRlcixcbiAgU2NlbmVEYXRhUHJvdmlkZXJSZXN1bHQsXG4gIFNjZW5lRGF0YUxheWVyUHJvdmlkZXJTdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyBzZXRCYXNlQ2xhc3NTdGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IHdyaXRlU2NlbmVMb2cgfSBmcm9tICcuLi8uLi91dGlscy93cml0ZVNjZW5lTG9nJztcbmltcG9ydCB7IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyB9IGZyb20gJy4uLy4uL3ZhcmlhYmxlcy9WYXJpYWJsZURlcGVuZGVuY3lDb25maWcnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZVJlY29yZGVyIH0gZnJvbSAnLi4vLi4vdmFyaWFibGVzL1ZhcmlhYmxlVmFsdWVSZWNvcmRlcic7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZGF0YSBsYXllci4gSGFuZGxlcyBjb21tb24gaW1wbGVtZW50YXRpb24gaW5jbHVkaW5nIGVuYWJsaW5nL2Rpc2FibGluZyBsYXllciBhbmQgcHVibGlzaGluZyByZXN1bHRzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2NlbmVEYXRhTGF5ZXJCYXNlPFQgZXh0ZW5kcyBTY2VuZURhdGFMYXllclByb3ZpZGVyU3RhdGU+XG4gIGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlPFQ+XG4gIGltcGxlbWVudHMgU2NlbmVEYXRhTGF5ZXJQcm92aWRlclxue1xuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHF1ZXJ5IHJlc3VsdHMuIFNob3VsZCBiZSBzZXQgd2hlbiBsYXllciBydW5zIGEgcXVlcnkuXG4gICAqL1xuICBwcm90ZWN0ZWQgcXVlcnlTdWI/OiBVbnN1YnNjcmliYWJsZTtcblxuICAvKipcbiAgICogU3ViamVjdCB0byBlbWl0IHJlc3VsdHMgdG8uXG4gICAqL1xuICBwcml2YXRlIF9yZXN1bHRzID0gbmV3IFJlcGxheVN1YmplY3Q8U2NlbmVEYXRhUHJvdmlkZXJSZXN1bHQ+KDEpO1xuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnQgbG9naWMgZm9yIGVuYWJsaW5nIHRoZSBsYXllci4gVGhpcyBpcyBjYWxsZWQgd2hlbiBsYXllciBpcyBlbmFibGVkIG9yIHdoZW4gbGF5ZXIgaXMgZW5hYmxlZCB3aGVuIGFjdGl2YXRlZC5cbiAgICogVXNlIGkuZS4gdG8gc2V0dXAgc3Vic2NyaXB0aW9ucyB0aGF0IHdpbGwgdHJpZ2dlciBsYXllciB1cGRhdGVzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IG9uRW5hYmxlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudCBsb2dpYyBmb3IgZGlzYWJsaW5nIHRoZSBsYXllci4gVGhpcyBpcyBjYWxsZWQgd2hlbiBsYXllciBpcyBkaXNhYmxlZC5cbiAgICogVXNlIGkuZS4gdG8gdW5zdWJzY3JpYmUgZnJvbSBzdWJzY3JpcHRpb25zIHRoYXQgdHJpZ2dlciBsYXllciB1cGRhdGVzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IG9uRGlzYWJsZSgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnQgbG9naWMgcnVubmluZyB0aGUgbGF5ZXIgYW5kIHNldHRpbmcgdXAgdGhlIHF1ZXJ5U3ViIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBydW5MYXllcigpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNYXJrIGRhdGEgcHJvdmlkZXIgYXMgZGF0YSBsYXllclxuICAgKi9cbiAgcHVibGljIGlzRGF0YUxheWVyOiB0cnVlID0gdHJ1ZTtcblxuICBwcml2YXRlIF92YXJpYWJsZVZhbHVlUmVjb3JkZXIgPSBuZXcgVmFyaWFibGVWYWx1ZVJlY29yZGVyKCk7XG5cbiAgcHJvdGVjdGVkIF92YXJpYWJsZURlcGVuZGVuY3k6IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZzxUPiA9IG5ldyBWYXJpYWJsZURlcGVuZGVuY3lDb25maWcodGhpcywge1xuICAgIG9uVmFyaWFibGVVcGRhdGVDb21wbGV0ZWQ6IHRoaXMub25WYXJpYWJsZVVwZGF0ZUNvbXBsZXRlZC5iaW5kKHRoaXMpLFxuICB9KTtcblxuICAvKipcbiAgICogRm9yIHZhcmlhYmxlcyBzdXBwb3J0IGluIGRhdGEgbGF5ZXIgcHJvdmlkZSB2YXJpYWJsZURlcGVuZGVuY3lTdGF0ZVBhdGhzIHdpdGgga2V5cyBvZiB0aGUgc3RhdGUgdG8gYmUgc2Nhbm5lZCBmb3IgdmFyaWFibGVzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGluaXRpYWxTdGF0ZTogVCwgdmFyaWFibGVEZXBlbmRlbmN5U3RhdGVQYXRoczogQXJyYXk8a2V5b2YgVD4gPSBbXSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3ZhcmlhYmxlRGVwZW5kZW5jeS5zZXRQYXRocyh2YXJpYWJsZURlcGVuZGVuY3lTdGF0ZVBhdGhzKTtcbiAgICB0aGlzLmFkZEFjdGl2YXRpb25IYW5kbGVyKCgpID0+IHRoaXMub25BY3RpdmF0ZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkFjdGl2YXRlKCk6IENhbmNlbEFjdGl2YXRpb25IYW5kbGVyIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMub25FbmFibGUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG91bGRSdW5MYXllck9uQWN0aXZhdGUoKSkge1xuICAgICAgdGhpcy5ydW5MYXllcigpO1xuICAgIH1cblxuICAgIC8vIFN1YnNjcmliZSB0byBsYXllciBzdGF0ZSBjaGFuZ2VzIGFuZCBlbmFibGUvZGlzYWJsZSBsYXllciBhY2NvcmRpbmdseS5cbiAgICB0aGlzLnN1YnNjcmliZVRvU3RhdGUoKG4sIHApID0+IHtcbiAgICAgIGlmICghbi5pc0VuYWJsZWQgJiYgdGhpcy5xdWVyeVN1Yikge1xuICAgICAgICAvLyBXaGVuIGxheWVyIGRpc2FibGVkLCBjYW5jZWwgcXVlcnkgYW5kIGNhbGwgb25EaXNhYmxlIHRoYXQgc2hvdWxkIHB1Ymxpc2ggZW1wdHkgcmVzdWx0cy5cbiAgICAgICAgdGhpcy5xdWVyeVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnF1ZXJ5U3ViID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLm9uRGlzYWJsZSgpO1xuXG4gICAgICAgIC8vIE1hbnVhbGx5IHB1Ymxpc2hpbmcgdGhlIHJlc3VsdHMgdG8gc3RhdGUgYW5kIHJlc3VsdHMgc3RyZWFtIGFzIHB1Ymxpc2hQdWJsaXNoIHJlc3VsdHMgaGFzIGEgZ3VhcmQgZm9yIHRoZSBsYXllciB0byBiZSBlbmFibGVkLlxuICAgICAgICB0aGlzLl9yZXN1bHRzLm5leHQoeyBvcmlnaW46IHRoaXMsIGRhdGE6IGVtcHR5UGFuZWxEYXRhIH0pO1xuXG4gICAgICAgIHRoaXMuc2V0U3RhdGVIZWxwZXIoeyBkYXRhOiBlbXB0eVBhbmVsRGF0YSB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG4uaXNFbmFibGVkICYmICFwLmlzRW5hYmxlZCkge1xuICAgICAgICAvLyBXaGVuIGxheWVyIGVuYWJsZWQsIHJ1biBxdWVyaWVzLlxuICAgICAgICB0aGlzLm9uRW5hYmxlKCk7XG4gICAgICAgIHRoaXMucnVuTGF5ZXIoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0aGlzLm9uRGVhY3RpdmF0ZSgpO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnF1ZXJ5U3ViKSB7XG4gICAgICB0aGlzLnF1ZXJ5U3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnF1ZXJ5U3ViID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMub25EaXNhYmxlKCk7XG5cbiAgICB0aGlzLl92YXJpYWJsZVZhbHVlUmVjb3JkZXIucmVjb3JkQ3VycmVudERlcGVuZGVuY3lWYWx1ZXNGb3JTY2VuZU9iamVjdCh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblZhcmlhYmxlVXBkYXRlQ29tcGxldGVkKCk6IHZvaWQge1xuICAgIHRoaXMucnVuTGF5ZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxRdWVyeSgpIHtcbiAgICBpZiAodGhpcy5xdWVyeVN1Yikge1xuICAgICAgdGhpcy5xdWVyeVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5xdWVyeVN1YiA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy5wdWJsaXNoUmVzdWx0cyhlbXB0eVBhbmVsRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHB1Ymxpc2hSZXN1bHRzKGRhdGE6IFBhbmVsRGF0YSkge1xuICAgIGlmICh0aGlzLnN0YXRlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5fcmVzdWx0cy5uZXh0KHsgb3JpZ2luOiB0aGlzLCBkYXRhIH0pO1xuICAgICAgdGhpcy5zZXRTdGF0ZUhlbHBlcih7IGRhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFJlc3VsdHNTdHJlYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jlc3VsdHM7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZFJ1bkxheWVyT25BY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlVmFsdWVSZWNvcmRlci5oYXNEZXBlbmRlbmNpZXNDaGFuZ2VkKHRoaXMpKSB7XG4gICAgICB3cml0ZVNjZW5lTG9nKFxuICAgICAgICAnU2NlbmVEYXRhTGF5ZXJCYXNlJyxcbiAgICAgICAgJ1ZhcmlhYmxlIGRlcGVuZGVuY3kgY2hhbmdlZCB3aGlsZSBpbmFjdGl2ZSwgc2hvdWxkUnVuTGF5ZXJPbkFjdGl2YXRlIHJldHVybnMgdHJ1ZSdcbiAgICAgICk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc3RhdGUuZGF0YSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIHRvIGNvdW50ZXIgdGhlIGNvbnRyYXZhcmlhbmNlIG9mIHNldFN0YXRlXG4gICAqL1xuICBwcml2YXRlIHNldFN0YXRlSGVscGVyKHN0YXRlOiBQYXJ0aWFsPFNjZW5lRGF0YUxheWVyUHJvdmlkZXJTdGF0ZT4pIHtcbiAgICBzZXRCYXNlQ2xhc3NTdGF0ZTxTY2VuZURhdGFMYXllclByb3ZpZGVyU3RhdGU+KHRoaXMsIHN0YXRlKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCTyxNQUFlLDJCQUNaLGVBRVYsQ0FBQTtBQUFBLEVBMENTLFdBQVksQ0FBQSxZQUFBLEVBQWlCLDRCQUErQyxHQUFBLEVBQUksRUFBQTtBQUNyRixJQUFNLEtBQUEsQ0FBQSxjQUFBLENBQUE7QUFBQSxNQUNKLFNBQVcsRUFBQSxJQUFBO0FBQUEsS0FBQSxFQUNSLFlBQ0osQ0FBQSxDQUFBLENBQUE7QUFyQ0gsSUFBUSxJQUFBLENBQUEsUUFBQSxHQUFXLElBQUksYUFBQSxDQUF1QyxDQUFDLENBQUEsQ0FBQTtBQXNCL0QsSUFBQSxJQUFBLENBQU8sV0FBb0IsR0FBQSxJQUFBLENBQUE7QUFFM0IsSUFBUSxJQUFBLENBQUEsc0JBQUEsR0FBeUIsSUFBSSxxQkFBc0IsRUFBQSxDQUFBO0FBRTNELElBQVUsSUFBQSxDQUFBLG1CQUFBLEdBQW1ELElBQUksd0JBQUEsQ0FBeUIsSUFBTSxFQUFBO0FBQUEsTUFDOUYseUJBQTJCLEVBQUEsSUFBQSxDQUFLLHlCQUEwQixDQUFBLElBQUEsQ0FBSyxJQUFJLENBQUE7QUFBQSxLQUNwRSxDQUFBLENBQUE7QUFXQyxJQUFLLElBQUEsQ0FBQSxtQkFBQSxDQUFvQixTQUFTLDRCQUE0QixDQUFBLENBQUE7QUFDOUQsSUFBQSxJQUFBLENBQUssb0JBQXFCLENBQUEsTUFBTSxJQUFLLENBQUEsVUFBQSxFQUFZLENBQUEsQ0FBQTtBQUFBLEdBQ25EO0FBQUEsRUFFVSxVQUFzQyxHQUFBO0FBQzlDLElBQUksSUFBQSxJQUFBLENBQUssTUFBTSxTQUFXLEVBQUE7QUFDeEIsTUFBQSxJQUFBLENBQUssUUFBUyxFQUFBLENBQUE7QUFBQSxLQUNoQjtBQUVBLElBQUksSUFBQSxJQUFBLENBQUssMEJBQTRCLEVBQUE7QUFDbkMsTUFBQSxJQUFBLENBQUssUUFBUyxFQUFBLENBQUE7QUFBQSxLQUNoQjtBQUdBLElBQUssSUFBQSxDQUFBLGdCQUFBLENBQWlCLENBQUMsQ0FBQSxFQUFHLENBQU0sS0FBQTtBQUM5QixNQUFBLElBQUksQ0FBQyxDQUFBLENBQUUsU0FBYSxJQUFBLElBQUEsQ0FBSyxRQUFVLEVBQUE7QUFFakMsUUFBQSxJQUFBLENBQUssU0FBUyxXQUFZLEVBQUEsQ0FBQTtBQUMxQixRQUFBLElBQUEsQ0FBSyxRQUFXLEdBQUEsS0FBQSxDQUFBLENBQUE7QUFDaEIsUUFBQSxJQUFBLENBQUssU0FBVSxFQUFBLENBQUE7QUFHZixRQUFBLElBQUEsQ0FBSyxTQUFTLElBQUssQ0FBQSxFQUFFLFFBQVEsSUFBTSxFQUFBLElBQUEsRUFBTSxnQkFBZ0IsQ0FBQSxDQUFBO0FBRXpELFFBQUEsSUFBQSxDQUFLLGNBQWUsQ0FBQSxFQUFFLElBQU0sRUFBQSxjQUFBLEVBQWdCLENBQUEsQ0FBQTtBQUFBLE9BQzlDO0FBRUEsTUFBQSxJQUFJLENBQUUsQ0FBQSxTQUFBLElBQWEsQ0FBQyxDQUFBLENBQUUsU0FBVyxFQUFBO0FBRS9CLFFBQUEsSUFBQSxDQUFLLFFBQVMsRUFBQSxDQUFBO0FBQ2QsUUFBQSxJQUFBLENBQUssUUFBUyxFQUFBLENBQUE7QUFBQSxPQUNoQjtBQUFBLEtBQ0QsQ0FBQSxDQUFBO0FBRUQsSUFBQSxPQUFPLE1BQU07QUFDWCxNQUFBLElBQUEsQ0FBSyxZQUFhLEVBQUEsQ0FBQTtBQUFBLEtBQ3BCLENBQUE7QUFBQSxHQUNGO0FBQUEsRUFFVSxZQUFxQixHQUFBO0FBQzdCLElBQUEsSUFBSSxLQUFLLFFBQVUsRUFBQTtBQUNqQixNQUFBLElBQUEsQ0FBSyxTQUFTLFdBQVksRUFBQSxDQUFBO0FBQzFCLE1BQUEsSUFBQSxDQUFLLFFBQVcsR0FBQSxLQUFBLENBQUEsQ0FBQTtBQUFBLEtBQ2xCO0FBRUEsSUFBQSxJQUFBLENBQUssU0FBVSxFQUFBLENBQUE7QUFFZixJQUFLLElBQUEsQ0FBQSxzQkFBQSxDQUF1Qiw0Q0FBNEMsSUFBSSxDQUFBLENBQUE7QUFBQSxHQUM5RTtBQUFBLEVBRVUseUJBQWtDLEdBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssUUFBUyxFQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sV0FBYyxHQUFBO0FBQ25CLElBQUEsSUFBSSxLQUFLLFFBQVUsRUFBQTtBQUNqQixNQUFBLElBQUEsQ0FBSyxTQUFTLFdBQVksRUFBQSxDQUFBO0FBQzFCLE1BQUEsSUFBQSxDQUFLLFFBQVcsR0FBQSxLQUFBLENBQUEsQ0FBQTtBQUVoQixNQUFBLElBQUEsQ0FBSyxlQUFlLGNBQWMsQ0FBQSxDQUFBO0FBQUEsS0FDcEM7QUFBQSxHQUNGO0FBQUEsRUFFVSxlQUFlLElBQWlCLEVBQUE7QUFDeEMsSUFBSSxJQUFBLElBQUEsQ0FBSyxNQUFNLFNBQVcsRUFBQTtBQUN4QixNQUFBLElBQUEsQ0FBSyxTQUFTLElBQUssQ0FBQSxFQUFFLE1BQVEsRUFBQSxJQUFBLEVBQU0sTUFBTSxDQUFBLENBQUE7QUFDekMsTUFBSyxJQUFBLENBQUEsY0FBQSxDQUFlLEVBQUUsSUFBQSxFQUFNLENBQUEsQ0FBQTtBQUFBLEtBQzlCO0FBQUEsR0FDRjtBQUFBLEVBRU8sZ0JBQW1CLEdBQUE7QUFDeEIsSUFBQSxPQUFPLElBQUssQ0FBQSxRQUFBLENBQUE7QUFBQSxHQUNkO0FBQUEsRUFFUSx3QkFBMkIsR0FBQTtBQUNqQyxJQUFJLElBQUEsQ0FBQyxJQUFLLENBQUEsS0FBQSxDQUFNLFNBQVcsRUFBQTtBQUN6QixNQUFPLE9BQUEsS0FBQSxDQUFBO0FBQUEsS0FDVDtBQUVBLElBQUEsSUFBSSxJQUFLLENBQUEsc0JBQUEsQ0FBdUIsc0JBQXVCLENBQUEsSUFBSSxDQUFHLEVBQUE7QUFDNUQsTUFBQSxhQUFBO0FBQUEsUUFDRSxvQkFBQTtBQUFBLFFBQ0EsbUZBQUE7QUFBQSxPQUNGLENBQUE7QUFDQSxNQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsS0FDVDtBQUVBLElBQUksSUFBQSxDQUFDLElBQUssQ0FBQSxLQUFBLENBQU0sSUFBTSxFQUFBO0FBQ3BCLE1BQU8sT0FBQSxJQUFBLENBQUE7QUFBQSxLQUNUO0FBRUEsSUFBTyxPQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ1Q7QUFBQSxFQUtRLGVBQWUsS0FBNkMsRUFBQTtBQUNsRSxJQUFBLGlCQUFBLENBQStDLE1BQU0sS0FBSyxDQUFBLENBQUE7QUFBQSxHQUM1RDtBQUNGOzs7OyJ9
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { css } from '@emotion/css';
|
|
2
|
+
import { LoadingState } from '@grafana/schema';
|
|
3
|
+
import { InlineSwitch } from '@grafana/ui';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { sceneGraph } from '../../core/sceneGraph/index.js';
|
|
6
|
+
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
7
|
+
import { ControlsLabel } from '../../utils/ControlsLabel.js';
|
|
8
|
+
|
|
9
|
+
class SceneDataLayerControls extends SceneObjectBase {
|
|
10
|
+
constructor() {
|
|
11
|
+
super({});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SceneDataLayerControls.Component = SceneDataLayerControlsRenderer;
|
|
15
|
+
function SceneDataLayerControlsRenderer({ model }) {
|
|
16
|
+
const layers = sceneGraph.getDataLayers(model, true);
|
|
17
|
+
if (layers.length === 0) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, layers.map((layer) => /* @__PURE__ */ React.createElement(layer.Component, {
|
|
21
|
+
model: layer,
|
|
22
|
+
key: layer.state.key
|
|
23
|
+
})));
|
|
24
|
+
}
|
|
25
|
+
function DataLayerControlSwitch({ layer }) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
const elementId = `data-layer-${layer.state.key}`;
|
|
28
|
+
const { data, isEnabled } = layer.useState();
|
|
29
|
+
const showLoading = Boolean(data && data.state === LoadingState.Loading);
|
|
30
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
31
|
+
className: containerStyle
|
|
32
|
+
}, /* @__PURE__ */ React.createElement(ControlsLabel, {
|
|
33
|
+
htmlFor: elementId,
|
|
34
|
+
isLoading: showLoading,
|
|
35
|
+
onCancel: () => {
|
|
36
|
+
var _a2;
|
|
37
|
+
return (_a2 = layer.cancelQuery) == null ? void 0 : _a2.call(layer);
|
|
38
|
+
},
|
|
39
|
+
label: layer.state.name,
|
|
40
|
+
description: layer.state.description,
|
|
41
|
+
error: (_b = (_a = layer.state.data) == null ? void 0 : _a.errors) == null ? void 0 : _b[0].message
|
|
42
|
+
}), /* @__PURE__ */ React.createElement(InlineSwitch, {
|
|
43
|
+
id: elementId,
|
|
44
|
+
value: isEnabled,
|
|
45
|
+
onChange: () => layer.setState({ isEnabled: !isEnabled })
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
const containerStyle = css({ display: "flex" });
|
|
49
|
+
|
|
50
|
+
export { DataLayerControlSwitch, SceneDataLayerControls };
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVEYXRhTGF5ZXJDb250cm9scy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3F1ZXJ5aW5nL2xheWVycy9TY2VuZURhdGFMYXllckNvbnRyb2xzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlIH0gZnJvbSAnQGdyYWZhbmEvc2NoZW1hJztcbmltcG9ydCB7IElubGluZVN3aXRjaCB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMsIFNjZW5lRGF0YUxheWVyUHJvdmlkZXIsIFNjZW5lT2JqZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IENvbnRyb2xzTGFiZWwgfSBmcm9tICcuLi8uLi91dGlscy9Db250cm9sc0xhYmVsJztcblxuaW50ZXJmYWNlIFNjZW5lRGF0YUxheWVyQ29udHJvbHNTdGF0ZSBleHRlbmRzIFNjZW5lT2JqZWN0U3RhdGUge31cblxuZXhwb3J0IGNsYXNzIFNjZW5lRGF0YUxheWVyQ29udHJvbHMgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8U2NlbmVEYXRhTGF5ZXJDb250cm9sc1N0YXRlPiB7XG4gIHB1YmxpYyBzdGF0aWMgQ29tcG9uZW50ID0gU2NlbmVEYXRhTGF5ZXJDb250cm9sc1JlbmRlcmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7fSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gU2NlbmVEYXRhTGF5ZXJDb250cm9sc1JlbmRlcmVyKHsgbW9kZWwgfTogU2NlbmVDb21wb25lbnRQcm9wczxTY2VuZURhdGFMYXllckNvbnRyb2xzPikge1xuICBjb25zdCBsYXllcnMgPSBzY2VuZUdyYXBoLmdldERhdGFMYXllcnMobW9kZWwsIHRydWUpO1xuXG4gIGlmIChsYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7bGF5ZXJzLm1hcCgobGF5ZXIpID0+IChcbiAgICAgICAgPGxheWVyLkNvbXBvbmVudCBtb2RlbD17bGF5ZXJ9IGtleT17bGF5ZXIuc3RhdGUua2V5fSAvPlxuICAgICAgKSl9XG4gICAgPC8+XG4gICk7XG59XG5cbmludGVyZmFjZSBTY2VuZURhdGFMYXllckNvbnRyb2xQcm9wcyB7XG4gIGxheWVyOiBTY2VuZURhdGFMYXllclByb3ZpZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRGF0YUxheWVyQ29udHJvbFN3aXRjaCh7IGxheWVyIH06IFNjZW5lRGF0YUxheWVyQ29udHJvbFByb3BzKSB7XG4gIGNvbnN0IGVsZW1lbnRJZCA9IGBkYXRhLWxheWVyLSR7bGF5ZXIuc3RhdGUua2V5fWA7XG4gIGNvbnN0IHsgZGF0YSwgaXNFbmFibGVkIH0gPSBsYXllci51c2VTdGF0ZSgpO1xuICBjb25zdCBzaG93TG9hZGluZyA9IEJvb2xlYW4oZGF0YSAmJiBkYXRhLnN0YXRlID09PSBMb2FkaW5nU3RhdGUuTG9hZGluZyk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y29udGFpbmVyU3R5bGV9PlxuICAgICAgPENvbnRyb2xzTGFiZWxcbiAgICAgICAgaHRtbEZvcj17ZWxlbWVudElkfVxuICAgICAgICBpc0xvYWRpbmc9e3Nob3dMb2FkaW5nfVxuICAgICAgICBvbkNhbmNlbD17KCkgPT4gbGF5ZXIuY2FuY2VsUXVlcnk/LigpfVxuICAgICAgICBsYWJlbD17bGF5ZXIuc3RhdGUubmFtZX1cbiAgICAgICAgZGVzY3JpcHRpb249e2xheWVyLnN0YXRlLmRlc2NyaXB0aW9ufVxuICAgICAgICBlcnJvcj17bGF5ZXIuc3RhdGUuZGF0YT8uZXJyb3JzPy5bMF0ubWVzc2FnZX1cbiAgICAgIC8+XG4gICAgICA8SW5saW5lU3dpdGNoIGlkPXtlbGVtZW50SWR9IHZhbHVlPXtpc0VuYWJsZWR9IG9uQ2hhbmdlPXsoKSA9PiBsYXllci5zZXRTdGF0ZSh7IGlzRW5hYmxlZDogIWlzRW5hYmxlZCB9KX0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3QgY29udGFpbmVyU3R5bGUgPSBjc3MoeyBkaXNwbGF5OiAnZmxleCcgfSk7XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV08sTUFBTSwrQkFBK0IsZUFBNkMsQ0FBQTtBQUFBLEVBR2hGLFdBQWMsR0FBQTtBQUNuQixJQUFBLEtBQUEsQ0FBTSxFQUFFLENBQUEsQ0FBQTtBQUFBLEdBQ1Y7QUFDRixDQUFBO0FBTmEsc0JBQUEsQ0FDRyxTQUFZLEdBQUEsOEJBQUEsQ0FBQTtBQU81QixTQUFTLDhCQUFBLENBQStCLEVBQUUsS0FBQSxFQUFzRCxFQUFBO0FBQzlGLEVBQUEsTUFBTSxNQUFTLEdBQUEsVUFBQSxDQUFXLGFBQWMsQ0FBQSxLQUFBLEVBQU8sSUFBSSxDQUFBLENBQUE7QUFFbkQsRUFBSSxJQUFBLE1BQUEsQ0FBTyxXQUFXLENBQUcsRUFBQTtBQUN2QixJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDVDtBQUVBLEVBQUEsaUVBRUssTUFBTyxDQUFBLEdBQUEsQ0FBSSxDQUFDLEtBQ1gscUJBQUEsS0FBQSxDQUFBLGFBQUEsQ0FBQyxNQUFNLFNBQU4sRUFBQTtBQUFBLElBQWdCLEtBQU8sRUFBQSxLQUFBO0FBQUEsSUFBTyxHQUFBLEVBQUssTUFBTSxLQUFNLENBQUEsR0FBQTtBQUFBLEdBQUssQ0FDdEQsQ0FDSCxDQUFBLENBQUE7QUFFSixDQUFBO0FBTWdCLFNBQUEsc0JBQUEsQ0FBdUIsRUFBRSxLQUFBLEVBQXFDLEVBQUE7QUF2QzlFLEVBQUEsSUFBQSxFQUFBLEVBQUEsRUFBQSxDQUFBO0FBd0NFLEVBQU0sTUFBQSxTQUFBLEdBQVksQ0FBYyxXQUFBLEVBQUEsS0FBQSxDQUFNLEtBQU0sQ0FBQSxHQUFBLENBQUEsQ0FBQSxDQUFBO0FBQzVDLEVBQUEsTUFBTSxFQUFFLElBQUEsRUFBTSxTQUFVLEVBQUEsR0FBSSxNQUFNLFFBQVMsRUFBQSxDQUFBO0FBQzNDLEVBQUEsTUFBTSxjQUFjLE9BQVEsQ0FBQSxJQUFBLElBQVEsSUFBSyxDQUFBLEtBQUEsS0FBVSxhQUFhLE9BQU8sQ0FBQSxDQUFBO0FBRXZFLEVBQUEsdUJBQ0csS0FBQSxDQUFBLGFBQUEsQ0FBQSxLQUFBLEVBQUE7QUFBQSxJQUFJLFNBQVcsRUFBQSxjQUFBO0FBQUEsR0FBQSxrQkFDYixLQUFBLENBQUEsYUFBQSxDQUFBLGFBQUEsRUFBQTtBQUFBLElBQ0MsT0FBUyxFQUFBLFNBQUE7QUFBQSxJQUNULFNBQVcsRUFBQSxXQUFBO0FBQUEsSUFDWCxVQUFVLE1BQUc7QUFqRHJCLE1BQUFBLElBQUFBLEdBQUFBLENBQUFBO0FBaUR3QixNQUFBLE9BQUEsQ0FBQUEsR0FBQSxHQUFBLEtBQUEsQ0FBTSxXQUFOLEtBQUEsSUFBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxHQUFBLENBQUEsSUFBQSxDQUFBLEtBQUEsQ0FBQSxDQUFBO0FBQUEsS0FBQTtBQUFBLElBQ2hCLEtBQUEsRUFBTyxNQUFNLEtBQU0sQ0FBQSxJQUFBO0FBQUEsSUFDbkIsV0FBQSxFQUFhLE1BQU0sS0FBTSxDQUFBLFdBQUE7QUFBQSxJQUN6QixRQUFPLEVBQU0sR0FBQSxDQUFBLEVBQUEsR0FBQSxLQUFBLENBQUEsS0FBQSxDQUFNLFNBQVosSUFBa0IsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsTUFBQSxLQUFsQixtQkFBMkIsQ0FBRyxDQUFBLENBQUEsT0FBQTtBQUFBLEdBQ3ZDLG1CQUNDLEtBQUEsQ0FBQSxhQUFBLENBQUEsWUFBQSxFQUFBO0FBQUEsSUFBYSxFQUFJLEVBQUEsU0FBQTtBQUFBLElBQVcsS0FBTyxFQUFBLFNBQUE7QUFBQSxJQUFXLFFBQUEsRUFBVSxNQUFNLEtBQU0sQ0FBQSxRQUFBLENBQVMsRUFBRSxTQUFXLEVBQUEsQ0FBQyxXQUFXLENBQUE7QUFBQSxHQUFHLENBQzVHLENBQUEsQ0FBQTtBQUVKLENBQUE7QUFFQSxNQUFNLGNBQWlCLEdBQUEsR0FBQSxDQUFJLEVBQUUsT0FBQSxFQUFTLFFBQVEsQ0FBQTs7OzsifQ==
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { arrayToDataFrame, DataTopic } from '@grafana/data';
|
|
2
|
+
import { LoadingState } from '@grafana/schema';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { map } from 'rxjs';
|
|
5
|
+
import { emptyPanelData } from '../../../core/SceneDataNode.js';
|
|
6
|
+
import { sceneGraph } from '../../../core/sceneGraph/index.js';
|
|
7
|
+
import { getDataSource } from '../../../utils/getDataSource.js';
|
|
8
|
+
import { getMessageFromError } from '../../../utils/getMessageFromError.js';
|
|
9
|
+
import { writeSceneLog } from '../../../utils/writeSceneLog.js';
|
|
10
|
+
import { registerQueryWithController } from '../../registerQueryWithController.js';
|
|
11
|
+
import { SceneDataLayerBase } from '../SceneDataLayerBase.js';
|
|
12
|
+
import { DataLayerControlSwitch } from '../SceneDataLayerControls.js';
|
|
13
|
+
import { executeAnnotationQuery } from './standardAnnotationQuery.js';
|
|
14
|
+
import { postProcessQueryResult, dedupAnnotations } from './utils.js';
|
|
15
|
+
import { wrapInSafeSerializableSceneObject } from '../../../utils/wrapInSafeSerializableSceneObject.js';
|
|
16
|
+
import { RefreshEvent } from '@grafana/runtime';
|
|
17
|
+
|
|
18
|
+
var __defProp = Object.defineProperty;
|
|
19
|
+
var __defProps = Object.defineProperties;
|
|
20
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
21
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
22
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
23
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
24
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
25
|
+
var __spreadValues = (a, b) => {
|
|
26
|
+
for (var prop in b || (b = {}))
|
|
27
|
+
if (__hasOwnProp.call(b, prop))
|
|
28
|
+
__defNormalProp(a, prop, b[prop]);
|
|
29
|
+
if (__getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
31
|
+
if (__propIsEnum.call(b, prop))
|
|
32
|
+
__defNormalProp(a, prop, b[prop]);
|
|
33
|
+
}
|
|
34
|
+
return a;
|
|
35
|
+
};
|
|
36
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
37
|
+
class AnnotationsDataLayer extends SceneDataLayerBase {
|
|
38
|
+
constructor(initialState) {
|
|
39
|
+
super(
|
|
40
|
+
__spreadValues({
|
|
41
|
+
isEnabled: true
|
|
42
|
+
}, initialState),
|
|
43
|
+
["query"]
|
|
44
|
+
);
|
|
45
|
+
this._scopedVars = {
|
|
46
|
+
__sceneObject: wrapInSafeSerializableSceneObject(this)
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
onEnable() {
|
|
50
|
+
this.publishEvent(new RefreshEvent(), true);
|
|
51
|
+
const timeRange = sceneGraph.getTimeRange(this);
|
|
52
|
+
this._timeRangeSub = timeRange.subscribeToState(() => {
|
|
53
|
+
this.runWithTimeRange(timeRange);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
onDisable() {
|
|
57
|
+
var _a;
|
|
58
|
+
this.publishEvent(new RefreshEvent(), true);
|
|
59
|
+
(_a = this._timeRangeSub) == null ? void 0 : _a.unsubscribe();
|
|
60
|
+
}
|
|
61
|
+
runLayer() {
|
|
62
|
+
writeSceneLog("AnnotationsDataLayer", "run layer");
|
|
63
|
+
const timeRange = sceneGraph.getTimeRange(this);
|
|
64
|
+
this.runWithTimeRange(timeRange);
|
|
65
|
+
}
|
|
66
|
+
async runWithTimeRange(timeRange) {
|
|
67
|
+
const { query } = this.state;
|
|
68
|
+
if (this.querySub) {
|
|
69
|
+
this.querySub.unsubscribe();
|
|
70
|
+
}
|
|
71
|
+
if (this._variableDependency.hasDependencyInLoadingState()) {
|
|
72
|
+
writeSceneLog("AnnotationsDataLayer", "Variable dependency is in loading state, skipping query execution");
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const ds = await this.resolveDataSource(query);
|
|
77
|
+
let stream = executeAnnotationQuery(ds, timeRange, query, this).pipe(
|
|
78
|
+
registerQueryWithController({
|
|
79
|
+
type: "annotations",
|
|
80
|
+
origin: this,
|
|
81
|
+
cancel: () => this.cancelQuery()
|
|
82
|
+
}),
|
|
83
|
+
map((events) => {
|
|
84
|
+
const stateUpdate = this.processEvents(query, events);
|
|
85
|
+
return stateUpdate;
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
this.querySub = stream.subscribe((stateUpdate) => {
|
|
89
|
+
this.publishResults(stateUpdate);
|
|
90
|
+
});
|
|
91
|
+
} catch (e) {
|
|
92
|
+
this.publishResults(__spreadProps(__spreadValues({}, emptyPanelData), {
|
|
93
|
+
state: LoadingState.Error,
|
|
94
|
+
errors: [
|
|
95
|
+
{
|
|
96
|
+
message: getMessageFromError(e)
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}));
|
|
100
|
+
console.error("AnnotationsDataLayer error", e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async resolveDataSource(query) {
|
|
104
|
+
return await getDataSource(query.datasource || void 0, this._scopedVars);
|
|
105
|
+
}
|
|
106
|
+
processEvents(query, events) {
|
|
107
|
+
let processedEvents = postProcessQueryResult(query, events.events || []);
|
|
108
|
+
processedEvents = dedupAnnotations(processedEvents);
|
|
109
|
+
const stateUpdate = __spreadProps(__spreadValues({}, emptyPanelData), { state: events.state });
|
|
110
|
+
const df = arrayToDataFrame(processedEvents);
|
|
111
|
+
df.meta = __spreadProps(__spreadValues({}, df.meta), {
|
|
112
|
+
dataTopic: DataTopic.Annotations
|
|
113
|
+
});
|
|
114
|
+
stateUpdate.series = [df];
|
|
115
|
+
return stateUpdate;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
AnnotationsDataLayer.Component = AnnotationsDataLayerRenderer;
|
|
119
|
+
function AnnotationsDataLayerRenderer({ model }) {
|
|
120
|
+
const { isHidden } = model.useState();
|
|
121
|
+
if (isHidden) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return /* @__PURE__ */ React.createElement(DataLayerControlSwitch, {
|
|
125
|
+
layer: model
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export { AnnotationsDataLayer };
|
|
130
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5ub3RhdGlvbnNEYXRhTGF5ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9xdWVyeWluZy9sYXllcnMvYW5ub3RhdGlvbnMvQW5ub3RhdGlvbnNEYXRhTGF5ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFycmF5VG9EYXRhRnJhbWUsIERhdGFUb3BpYywgQW5ub3RhdGlvblF1ZXJ5LCBTY29wZWRWYXJzLCBQYW5lbERhdGEgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZSB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbWFwLCBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZW1wdHlQYW5lbERhdGEgfSBmcm9tICcuLi8uLi8uLi9jb3JlL1NjZW5lRGF0YU5vZGUnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5pbXBvcnQge1xuICBTY2VuZUNvbXBvbmVudFByb3BzLFxuICBTY2VuZURhdGFMYXllclByb3ZpZGVyLFxuICBTY2VuZURhdGFMYXllclByb3ZpZGVyU3RhdGUsXG4gIFNjZW5lVGltZVJhbmdlTGlrZSxcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyBnZXREYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0RGF0YVNvdXJjZSc7XG5pbXBvcnQgeyBnZXRNZXNzYWdlRnJvbUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0TWVzc2FnZUZyb21FcnJvcic7XG5pbXBvcnQgeyB3cml0ZVNjZW5lTG9nIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd3JpdGVTY2VuZUxvZyc7XG5pbXBvcnQgeyByZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9yZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2NlbmVEYXRhTGF5ZXJCYXNlIH0gZnJvbSAnLi4vU2NlbmVEYXRhTGF5ZXJCYXNlJztcbmltcG9ydCB7IERhdGFMYXllckNvbnRyb2xTd2l0Y2ggfSBmcm9tICcuLi9TY2VuZURhdGFMYXllckNvbnRyb2xzJztcbmltcG9ydCB7IEFubm90YXRpb25RdWVyeVJlc3VsdHMsIGV4ZWN1dGVBbm5vdGF0aW9uUXVlcnkgfSBmcm9tICcuL3N0YW5kYXJkQW5ub3RhdGlvblF1ZXJ5JztcbmltcG9ydCB7IGRlZHVwQW5ub3RhdGlvbnMsIHBvc3RQcm9jZXNzUXVlcnlSZXN1bHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHdyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3dyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCc7XG5pbXBvcnQgeyBSZWZyZXNoRXZlbnQgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcblxuaW50ZXJmYWNlIEFubm90YXRpb25zRGF0YUxheWVyU3RhdGUgZXh0ZW5kcyBTY2VuZURhdGFMYXllclByb3ZpZGVyU3RhdGUge1xuICBxdWVyeTogQW5ub3RhdGlvblF1ZXJ5O1xufVxuXG5leHBvcnQgY2xhc3MgQW5ub3RhdGlvbnNEYXRhTGF5ZXJcbiAgZXh0ZW5kcyBTY2VuZURhdGFMYXllckJhc2U8QW5ub3RhdGlvbnNEYXRhTGF5ZXJTdGF0ZT5cbiAgaW1wbGVtZW50cyBTY2VuZURhdGFMYXllclByb3ZpZGVyXG57XG4gIHN0YXRpYyBDb21wb25lbnQgPSBBbm5vdGF0aW9uc0RhdGFMYXllclJlbmRlcmVyO1xuXG4gIHByaXZhdGUgX3Njb3BlZFZhcnM6IFNjb3BlZFZhcnMgPSB7XG4gICAgX19zY2VuZU9iamVjdDogd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0KHRoaXMpLFxuICB9O1xuICBwcml2YXRlIF90aW1lUmFuZ2VTdWI6IFVuc3Vic2NyaWJhYmxlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsU3RhdGU6IEFubm90YXRpb25zRGF0YUxheWVyU3RhdGUpIHtcbiAgICBzdXBlcihcbiAgICAgIHtcbiAgICAgICAgaXNFbmFibGVkOiB0cnVlLFxuICAgICAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgICB9LFxuICAgICAgWydxdWVyeSddXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgUmVmcmVzaEV2ZW50KCksIHRydWUpO1xuXG4gICAgY29uc3QgdGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UodGhpcyk7XG5cbiAgICB0aGlzLl90aW1lUmFuZ2VTdWIgPSB0aW1lUmFuZ2Uuc3Vic2NyaWJlVG9TdGF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLnJ1bldpdGhUaW1lUmFuZ2UodGltZVJhbmdlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5wdWJsaXNoRXZlbnQobmV3IFJlZnJlc2hFdmVudCgpLCB0cnVlKTtcblxuICAgIHRoaXMuX3RpbWVSYW5nZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBydW5MYXllcigpIHtcbiAgICB3cml0ZVNjZW5lTG9nKCdBbm5vdGF0aW9uc0RhdGFMYXllcicsICdydW4gbGF5ZXInKTtcbiAgICBjb25zdCB0aW1lUmFuZ2UgPSBzY2VuZUdyYXBoLmdldFRpbWVSYW5nZSh0aGlzKTtcbiAgICB0aGlzLnJ1bldpdGhUaW1lUmFuZ2UodGltZVJhbmdlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuV2l0aFRpbWVSYW5nZSh0aW1lUmFuZ2U6IFNjZW5lVGltZVJhbmdlTGlrZSkge1xuICAgIGNvbnN0IHsgcXVlcnkgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBpZiAodGhpcy5xdWVyeVN1Yikge1xuICAgICAgdGhpcy5xdWVyeVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl92YXJpYWJsZURlcGVuZGVuY3kuaGFzRGVwZW5kZW5jeUluTG9hZGluZ1N0YXRlKCkpIHtcbiAgICAgIHdyaXRlU2NlbmVMb2coJ0Fubm90YXRpb25zRGF0YUxheWVyJywgJ1ZhcmlhYmxlIGRlcGVuZGVuY3kgaXMgaW4gbG9hZGluZyBzdGF0ZSwgc2tpcHBpbmcgcXVlcnkgZXhlY3V0aW9uJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRzID0gYXdhaXQgdGhpcy5yZXNvbHZlRGF0YVNvdXJjZShxdWVyeSk7XG5cbiAgICAgIGxldCBzdHJlYW0gPSBleGVjdXRlQW5ub3RhdGlvblF1ZXJ5KGRzLCB0aW1lUmFuZ2UsIHF1ZXJ5LCB0aGlzKS5waXBlKFxuICAgICAgICByZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIoe1xuICAgICAgICAgIHR5cGU6ICdhbm5vdGF0aW9ucycsXG4gICAgICAgICAgb3JpZ2luOiB0aGlzLFxuICAgICAgICAgIGNhbmNlbDogKCkgPT4gdGhpcy5jYW5jZWxRdWVyeSgpLFxuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChldmVudHMpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGF0ZVVwZGF0ZSA9IHRoaXMucHJvY2Vzc0V2ZW50cyhxdWVyeSwgZXZlbnRzKTtcbiAgICAgICAgICByZXR1cm4gc3RhdGVVcGRhdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICB0aGlzLnF1ZXJ5U3ViID0gc3RyZWFtLnN1YnNjcmliZSgoc3RhdGVVcGRhdGUpID0+IHtcbiAgICAgICAgdGhpcy5wdWJsaXNoUmVzdWx0cyhzdGF0ZVVwZGF0ZSk7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLnB1Ymxpc2hSZXN1bHRzKHtcbiAgICAgICAgLi4uZW1wdHlQYW5lbERhdGEsXG4gICAgICAgIHN0YXRlOiBMb2FkaW5nU3RhdGUuRXJyb3IsXG4gICAgICAgIGVycm9yczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGdldE1lc3NhZ2VGcm9tRXJyb3IoZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgICAgY29uc29sZS5lcnJvcignQW5ub3RhdGlvbnNEYXRhTGF5ZXIgZXJyb3InLCBlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVzb2x2ZURhdGFTb3VyY2UocXVlcnk6IEFubm90YXRpb25RdWVyeSkge1xuICAgIHJldHVybiBhd2FpdCBnZXREYXRhU291cmNlKHF1ZXJ5LmRhdGFzb3VyY2UgfHwgdW5kZWZpbmVkLCB0aGlzLl9zY29wZWRWYXJzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9jZXNzRXZlbnRzKHF1ZXJ5OiBBbm5vdGF0aW9uUXVlcnksIGV2ZW50czogQW5ub3RhdGlvblF1ZXJ5UmVzdWx0cyk6IFBhbmVsRGF0YSB7XG4gICAgbGV0IHByb2Nlc3NlZEV2ZW50cyA9IHBvc3RQcm9jZXNzUXVlcnlSZXN1bHQocXVlcnksIGV2ZW50cy5ldmVudHMgfHwgW10pO1xuICAgIHByb2Nlc3NlZEV2ZW50cyA9IGRlZHVwQW5ub3RhdGlvbnMocHJvY2Vzc2VkRXZlbnRzKTtcblxuICAgIGNvbnN0IHN0YXRlVXBkYXRlID0geyAuLi5lbXB0eVBhbmVsRGF0YSwgc3RhdGU6IGV2ZW50cy5zdGF0ZSB9O1xuICAgIGNvbnN0IGRmID0gYXJyYXlUb0RhdGFGcmFtZShwcm9jZXNzZWRFdmVudHMpO1xuXG4gICAgZGYubWV0YSA9IHtcbiAgICAgIC4uLmRmLm1ldGEsXG4gICAgICBkYXRhVG9waWM6IERhdGFUb3BpYy5Bbm5vdGF0aW9ucyxcbiAgICB9O1xuXG4gICAgc3RhdGVVcGRhdGUuc2VyaWVzID0gW2RmXTtcblxuICAgIHJldHVybiBzdGF0ZVVwZGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBBbm5vdGF0aW9uc0RhdGFMYXllclJlbmRlcmVyKHsgbW9kZWwgfTogU2NlbmVDb21wb25lbnRQcm9wczxBbm5vdGF0aW9uc0RhdGFMYXllcj4pIHtcbiAgY29uc3QgeyBpc0hpZGRlbiB9ID0gbW9kZWwudXNlU3RhdGUoKTtcblxuICBpZiAoaXNIaWRkZW4pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiA8RGF0YUxheWVyQ29udHJvbFN3aXRjaCBsYXllcj17bW9kZWx9IC8+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJCTyxNQUFNLDZCQUNILGtCQUVWLENBQUE7QUFBQSxFQVFTLFlBQVksWUFBeUMsRUFBQTtBQUMxRCxJQUFBLEtBQUE7QUFBQSxNQUNFLGNBQUEsQ0FBQTtBQUFBLFFBQ0UsU0FBVyxFQUFBLElBQUE7QUFBQSxPQUNSLEVBQUEsWUFBQSxDQUFBO0FBQUEsTUFFTCxDQUFDLE9BQU8sQ0FBQTtBQUFBLEtBQ1YsQ0FBQTtBQVpGLElBQUEsSUFBQSxDQUFRLFdBQTBCLEdBQUE7QUFBQSxNQUNoQyxhQUFBLEVBQWUsa0NBQWtDLElBQUksQ0FBQTtBQUFBLEtBQ3ZELENBQUE7QUFBQSxHQVdBO0FBQUEsRUFFTyxRQUFpQixHQUFBO0FBQ3RCLElBQUEsSUFBQSxDQUFLLFlBQWEsQ0FBQSxJQUFJLFlBQWEsRUFBQSxFQUFHLElBQUksQ0FBQSxDQUFBO0FBRTFDLElBQU0sTUFBQSxTQUFBLEdBQVksVUFBVyxDQUFBLFlBQUEsQ0FBYSxJQUFJLENBQUEsQ0FBQTtBQUU5QyxJQUFLLElBQUEsQ0FBQSxhQUFBLEdBQWdCLFNBQVUsQ0FBQSxnQkFBQSxDQUFpQixNQUFNO0FBQ3BELE1BQUEsSUFBQSxDQUFLLGlCQUFpQixTQUFTLENBQUEsQ0FBQTtBQUFBLEtBQ2hDLENBQUEsQ0FBQTtBQUFBLEdBQ0g7QUFBQSxFQUVPLFNBQWtCLEdBQUE7QUExRDNCLElBQUEsSUFBQSxFQUFBLENBQUE7QUEyREksSUFBQSxJQUFBLENBQUss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
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
const GLOBAL_ANNOTATION_ID = 0;
|
|
21
|
+
function filterAnnotations(data, filters) {
|
|
22
|
+
var _a;
|
|
23
|
+
if (!Array.isArray(data) || data.length === 0) {
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
const rows = Array.from({ length: data.length }, () => /* @__PURE__ */ new Set());
|
|
27
|
+
let frameIdx = 0;
|
|
28
|
+
for (const frame of data) {
|
|
29
|
+
for (let index = 0; index < frame.length; index++) {
|
|
30
|
+
if (rows[frameIdx].has(index)) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
let matching = true;
|
|
34
|
+
const panelIdField = frame.fields.find((f) => f.name === "panelId");
|
|
35
|
+
const sourceField = frame.fields.find((f) => f.name === "source");
|
|
36
|
+
if (sourceField) {
|
|
37
|
+
if (panelIdField && sourceField.values[index].type === "dashboard") {
|
|
38
|
+
matching = [filters.panelId, GLOBAL_ANNOTATION_ID].includes(panelIdField.values[index]);
|
|
39
|
+
}
|
|
40
|
+
const sourceFilter = sourceField.values[index].filter;
|
|
41
|
+
if (sourceFilter) {
|
|
42
|
+
const includes = [...(_a = sourceFilter.ids) != null ? _a : [], GLOBAL_ANNOTATION_ID].includes(filters.panelId);
|
|
43
|
+
if (sourceFilter.exclude) {
|
|
44
|
+
if (includes) {
|
|
45
|
+
matching = false;
|
|
46
|
+
}
|
|
47
|
+
} else if (!includes) {
|
|
48
|
+
matching = false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (matching) {
|
|
53
|
+
rows[frameIdx].add(index);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
frameIdx++;
|
|
57
|
+
}
|
|
58
|
+
const processed = [];
|
|
59
|
+
frameIdx = 0;
|
|
60
|
+
for (const frame of data) {
|
|
61
|
+
const frameLength = rows[frameIdx].size;
|
|
62
|
+
const fields = [];
|
|
63
|
+
for (const field of frame.fields) {
|
|
64
|
+
const buffer = [];
|
|
65
|
+
for (let index = 0; index < frame.length; index++) {
|
|
66
|
+
if (rows[frameIdx].has(index)) {
|
|
67
|
+
buffer.push(field.values[index]);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
fields.push(__spreadProps(__spreadValues({}, field), {
|
|
72
|
+
values: buffer
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
processed.push(__spreadProps(__spreadValues({}, frame), {
|
|
76
|
+
fields,
|
|
77
|
+
length: frameLength
|
|
78
|
+
}));
|
|
79
|
+
frameIdx++;
|
|
80
|
+
}
|
|
81
|
+
return processed;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { filterAnnotations };
|
|
85
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyQW5ub3RhdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9xdWVyeWluZy9sYXllcnMvYW5ub3RhdGlvbnMvZmlsdGVyQW5ub3RhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUZyYW1lLCBGaWVsZCB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgRGF0YUxheWVyRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcyc7XG5cbmNvbnN0IEdMT0JBTF9BTk5PVEFUSU9OX0lEID0gMDtcblxuLy8gUHJvdmlkZWQgU2NlbmVEYXRhTGF5ZXJQcm92aWRlclJlc3VsdCBpcyBhbiBhcnJheSBvZiBEYXRhRnJhbWVzLlxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckFubm90YXRpb25zKGRhdGE6IERhdGFGcmFtZVtdLCBmaWx0ZXJzOiBEYXRhTGF5ZXJGaWx0ZXIpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpIHx8IGRhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBjb25zdCByb3dzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogZGF0YS5sZW5ndGggfSwgKCkgPT4gbmV3IFNldDxudW1iZXI+KCkpO1xuXG4gIGxldCBmcmFtZUlkeCA9IDA7XG4gIGZvciAoY29uc3QgZnJhbWUgb2YgZGF0YSkge1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBmcmFtZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChyb3dzW2ZyYW1lSWR4XS5oYXMoaW5kZXgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgbGV0IG1hdGNoaW5nID0gdHJ1ZTtcblxuICAgICAgLy8gTGV0J3MgY2FsbCB0aG9zZSBzdGFuZGFyZCBmaWVsZHMgdGhhdCBhbm5vdGF0aW9ucyBkYXRhIGZyYW1lIGhhcy5cbiAgICAgIC8vIHBhbmVsSWQgaXMgYSBzdGFuZGFyZCBmaWVsZCwgYnV0IGl0J3Mgbm90IGFsd2F5cyBwcmVzZW50LiBJdCdzIGFkZGVkIHRvIGFubm90YXRpb25zIHRoYXQgd2VyZSBhZGRlZCB0byBhIHBhcnRpY3VsYXIgcGFuZWwuXG4gICAgICBjb25zdCBwYW5lbElkRmllbGQgPSBmcmFtZS5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSAncGFuZWxJZCcpO1xuICAgICAgLy8gU291cmNlIGZpZWxkIGNvbnRhaW5zIGFubm90YXRpb24gZGVmaW5pdGlvbiwgd2l0aCB0eXBlIGFuZCBmaWx0ZXJzIGluY2x1ZGVkLlxuICAgICAgY29uc3Qgc291cmNlRmllbGQgPSBmcmFtZS5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSAnc291cmNlJyk7XG5cbiAgICAgIGlmIChzb3VyY2VGaWVsZCkge1xuICAgICAgICAvLyBIZXJlIHdlIGFyZSBmaWx0ZXJpbmcgR3JhZmFuYSBhbm5vdGF0aW9ucyB0aGF0IHdlcmUgYWRkZWQgdG8gYSBwYXJ0aWN1bGFyIHBhbmVsLlxuICAgICAgICBpZiAocGFuZWxJZEZpZWxkICYmIHNvdXJjZUZpZWxkLnZhbHVlc1tpbmRleF0udHlwZSA9PT0gJ2Rhc2hib2FyZCcpIHtcbiAgICAgICAgICBtYXRjaGluZyA9IFtmaWx0ZXJzLnBhbmVsSWQsIEdMT0JBTF9BTk5PVEFUSU9OX0lEXS5pbmNsdWRlcyhwYW5lbElkRmllbGQudmFsdWVzW2luZGV4XSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb3VyY2VGaWx0ZXIgPSBzb3VyY2VGaWVsZC52YWx1ZXNbaW5kZXhdLmZpbHRlcjtcblxuICAgICAgICAvLyBIZXJlIHdlIGFyZSBmaWx0ZXJpbmcgYmFzZWQgb24gYW5ub3RhdGlvbiBmaWx0ZXIgZGVmaW5pdGlvbi5cbiAgICAgICAgLy8gVGhvc2UgZmlsdGVycyBhcmU6IFNob3cgYW5ub3RhdGlvbiBpbiBzZWxlY3RlZCBwYW5lbHMsIEV4Y2x1ZGUgYW5ub3RhdGlvbiBmcm9tIHNlbGVjdGVkIHBhbmVscy5cbiAgICAgICAgaWYgKHNvdXJjZUZpbHRlcikge1xuICAgICAgICAgIGNvbnN0IGluY2x1ZGVzID0gWy4uLihzb3VyY2VGaWx0ZXIuaWRzID8/IFtdKSwgR0xPQkFMX0FOTk9UQVRJT05fSURdLmluY2x1ZGVzKGZpbHRlcnMucGFuZWxJZCk7XG4gICAgICAgICAgaWYgKHNvdXJjZUZpbHRlci5leGNsdWRlKSB7XG4gICAgICAgICAgICBpZiAoaW5jbHVkZXMpIHtcbiAgICAgICAgICAgICAgbWF0Y2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKCFpbmNsdWRlcykge1xuICAgICAgICAgICAgbWF0Y2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG1hdGNoaW5nKSB7XG4gICAgICAgIHJvd3NbZnJhbWVJZHhdLmFkZChpbmRleCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZyYW1lSWR4Kys7XG4gIH1cblxuICBjb25zdCBwcm9jZXNzZWQ6IERhdGFGcmFtZVtdID0gW107XG5cbiAgZnJhbWVJZHggPSAwO1xuICBmb3IgKGNvbnN0IGZyYW1lIG9mIGRhdGEpIHtcbiAgICBjb25zdCBmcmFtZUxlbmd0aCA9IHJvd3NbZnJhbWVJZHhdLnNpemU7XG4gICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZyYW1lLmZpZWxkcykge1xuICAgICAgY29uc3QgYnVmZmVyID0gW107XG5cbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBmcmFtZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgaWYgKHJvd3NbZnJhbWVJZHhdLmhhcyhpbmRleCkpIHtcbiAgICAgICAgICBidWZmZXIucHVzaChmaWVsZC52YWx1ZXNbaW5kZXhdKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICB2YWx1ZXM6IGJ1ZmZlcixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb2Nlc3NlZC5wdXNoKHtcbiAgICAgIC4uLmZyYW1lLFxuICAgICAgZmllbGRzOiBmaWVsZHMsXG4gICAgICBsZW5ndGg6IGZyYW1lTGVuZ3RoLFxuICAgIH0pO1xuICAgIGZyYW1lSWR4Kys7XG4gIH1cblxuICByZXR1cm4gcHJvY2Vzc2VkO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxNQUFNLG9CQUF1QixHQUFBLENBQUEsQ0FBQTtBQUdiLFNBQUEsaUJBQUEsQ0FBa0IsTUFBbUIsT0FBMEIsRUFBQTtBQU4vRSxFQUFBLElBQUEsRUFBQSxDQUFBO0FBT0UsRUFBQSxJQUFJLENBQUMsS0FBTSxDQUFBLE9BQUEsQ0FBUSxJQUFJLENBQUssSUFBQSxJQUFBLENBQUssV0FBVyxDQUFHLEVBQUE7QUFDN0MsSUFBTyxPQUFBLElBQUEsQ0FBQTtBQUFBLEdBQ1Q7QUFFQSxFQUFNLE1BQUEsSUFBQSxHQUFPLEtBQU0sQ0FBQSxJQUFBLENBQUssRUFBRSxNQUFBLEVBQVEsSUFBSyxDQUFBLE1BQUEsRUFBVSxFQUFBLHNCQUFVLElBQUEsR0FBQSxFQUFhLENBQUEsQ0FBQTtBQUV4RSxFQUFBLElBQUksUUFBVyxHQUFBLENBQUEsQ0FBQTtBQUNmLEVBQUEsS0FBQSxNQUFXLFNBQVMsSUFBTSxFQUFBO0FBQ3hCLElBQUEsS0FBQSxJQUFTLEtBQVEsR0FBQSxDQUFBLEVBQUcsS0FBUSxHQUFBLEtBQUEsQ0FBTSxRQUFRLEtBQVMsRUFBQSxFQUFBO0FBQ2pELE1BQUEsSUFBSSxJQUFLLENBQUEsUUFBQSxDQUFBLENBQVUsR0FBSSxDQUFBLEtBQUssQ0FBRyxFQUFBO0FBQzdCLFFBQUEsU0FBQTtBQUFBLE9BQ0Y7QUFDQSxNQUFBLElBQUksUUFBVyxHQUFBLElBQUEsQ0FBQTtBQUlmLE1BQU0sTUFBQSxZQUFBLEdB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
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { from, of } from 'rxjs';
|
|
2
|
+
import { map, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { rangeUtil, CoreApp, DataTopic } from '@grafana/data';
|
|
4
|
+
import { getTemplateSrv, getRunRequest } from '@grafana/runtime';
|
|
5
|
+
import { shouldUseLegacyRunner, standardAnnotationSupport } from './standardAnnotationsSupport.js';
|
|
6
|
+
import { LoadingState } from '@grafana/schema';
|
|
7
|
+
import { getEnrichedDataRequest } from '../../getEnrichedDataRequest.js';
|
|
8
|
+
import { wrapInSafeSerializableSceneObject } from '../../../utils/wrapInSafeSerializableSceneObject.js';
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __defProps = Object.defineProperties;
|
|
12
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
13
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
14
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
15
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
16
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
17
|
+
var __spreadValues = (a, b) => {
|
|
18
|
+
for (var prop in b || (b = {}))
|
|
19
|
+
if (__hasOwnProp.call(b, prop))
|
|
20
|
+
__defNormalProp(a, prop, b[prop]);
|
|
21
|
+
if (__getOwnPropSymbols)
|
|
22
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
23
|
+
if (__propIsEnum.call(b, prop))
|
|
24
|
+
__defNormalProp(a, prop, b[prop]);
|
|
25
|
+
}
|
|
26
|
+
return a;
|
|
27
|
+
};
|
|
28
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
29
|
+
let counter = 100;
|
|
30
|
+
function getNextRequestId() {
|
|
31
|
+
return "AQ" + counter++;
|
|
32
|
+
}
|
|
33
|
+
function executeAnnotationQuery(datasource, timeRange, query, layer) {
|
|
34
|
+
var _a;
|
|
35
|
+
if (datasource.annotationQuery && shouldUseLegacyRunner(datasource)) {
|
|
36
|
+
console.warn("Using deprecated annotationQuery method, please upgrade your datasource");
|
|
37
|
+
return from(
|
|
38
|
+
datasource.annotationQuery({
|
|
39
|
+
range: timeRange.state.value,
|
|
40
|
+
rangeRaw: timeRange.state.value.raw,
|
|
41
|
+
annotation: query,
|
|
42
|
+
dashboard: {
|
|
43
|
+
getVariables: getTemplateSrv().getVariables
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
).pipe(
|
|
47
|
+
map((events) => ({
|
|
48
|
+
state: LoadingState.Done,
|
|
49
|
+
events
|
|
50
|
+
}))
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
const processor = __spreadValues(__spreadValues({}, standardAnnotationSupport), datasource.annotations);
|
|
54
|
+
const annotationWithDefaults = __spreadValues(__spreadValues({}, (_a = processor.getDefaultQuery) == null ? void 0 : _a.call(processor)), query);
|
|
55
|
+
const annotation = processor.prepareAnnotation(annotationWithDefaults);
|
|
56
|
+
if (!annotation) {
|
|
57
|
+
return of({
|
|
58
|
+
state: LoadingState.Done,
|
|
59
|
+
events: []
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
const processedQuery = processor.prepareQuery(annotation);
|
|
63
|
+
if (!processedQuery) {
|
|
64
|
+
return of({
|
|
65
|
+
state: LoadingState.Done,
|
|
66
|
+
events: []
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const maxDataPoints = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
70
|
+
const interval = rangeUtil.calculateInterval(timeRange.state.value, maxDataPoints, datasource.interval);
|
|
71
|
+
const scopedVars = {
|
|
72
|
+
__interval: { text: interval.interval, value: interval.interval },
|
|
73
|
+
__interval_ms: { text: interval.intervalMs.toString(), value: interval.intervalMs },
|
|
74
|
+
__annotation: { text: annotation.name, value: annotation },
|
|
75
|
+
__sceneObject: wrapInSafeSerializableSceneObject(layer)
|
|
76
|
+
};
|
|
77
|
+
const queryRequest = __spreadValues(__spreadProps(__spreadValues({
|
|
78
|
+
startTime: Date.now(),
|
|
79
|
+
requestId: getNextRequestId(),
|
|
80
|
+
range: timeRange.state.value,
|
|
81
|
+
maxDataPoints,
|
|
82
|
+
scopedVars
|
|
83
|
+
}, interval), {
|
|
84
|
+
app: CoreApp.Dashboard,
|
|
85
|
+
timezone: timeRange.getTimeZone(),
|
|
86
|
+
targets: [
|
|
87
|
+
__spreadProps(__spreadValues({}, processedQuery), {
|
|
88
|
+
refId: "Anno"
|
|
89
|
+
})
|
|
90
|
+
]
|
|
91
|
+
}), getEnrichedDataRequest(layer));
|
|
92
|
+
const runRequest = getRunRequest();
|
|
93
|
+
return runRequest(datasource, queryRequest).pipe(
|
|
94
|
+
mergeMap((panelData) => {
|
|
95
|
+
const data = (panelData == null ? void 0 : panelData.series.length) ? panelData.series : panelData.annotations;
|
|
96
|
+
if (!(data == null ? void 0 : data.length)) {
|
|
97
|
+
return of({
|
|
98
|
+
state: panelData.state,
|
|
99
|
+
events: []
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
data.forEach((frame) => {
|
|
103
|
+
var _a2;
|
|
104
|
+
if (!((_a2 = frame.meta) == null ? void 0 : _a2.dataTopic)) {
|
|
105
|
+
frame.meta = __spreadProps(__spreadValues({}, frame.meta || {}), { dataTopic: DataTopic.Annotations });
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return processor.processEvents(annotation, data).pipe(
|
|
109
|
+
map((events) => {
|
|
110
|
+
return {
|
|
111
|
+
state: panelData.state,
|
|
112
|
+
events: events || []
|
|
113
|
+
};
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
})
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { executeAnnotationQuery };
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRBbm5vdGF0aW9uUXVlcnkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9xdWVyeWluZy9sYXllcnMvYW5ub3RhdGlvbnMvc3RhbmRhcmRBbm5vdGF0aW9uUXVlcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEFubm90YXRpb25FdmVudCxcbiAgQW5ub3RhdGlvblF1ZXJ5LFxuICBDb3JlQXBwLFxuICBEYXRhUXVlcnlSZXF1ZXN0LFxuICBEYXRhU291cmNlQXBpLFxuICBEYXRhVG9waWMsXG4gIFBhbmVsTW9kZWwsXG4gIHJhbmdlVXRpbCxcbiAgU2NvcGVkVmFycyxcbn0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5cbmltcG9ydCB7IGdldFJ1blJlcXVlc3QsIGdldFRlbXBsYXRlU3J2IH0gZnJvbSAnQGdyYWZhbmEvcnVudGltZSc7XG5pbXBvcnQgeyBzaG91bGRVc2VMZWdhY3lSdW5uZXIsIHN0YW5kYXJkQW5ub3RhdGlvblN1cHBvcnQgfSBmcm9tICcuL3N0YW5kYXJkQW5ub3RhdGlvbnNTdXBwb3J0JztcbmltcG9ydCB7IERhc2hib2FyZCwgTG9hZGluZ1N0YXRlIH0gZnJvbSAnQGdyYWZhbmEvc2NoZW1hJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0LCBTY2VuZVRpbWVSYW5nZUxpa2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IGdldEVucmljaGVkRGF0YVJlcXVlc3QgfSBmcm9tICcuLi8uLi9nZXRFbnJpY2hlZERhdGFSZXF1ZXN0JztcbmltcG9ydCB7IHdyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3dyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCc7XG5cbmxldCBjb3VudGVyID0gMTAwO1xuZnVuY3Rpb24gZ2V0TmV4dFJlcXVlc3RJZCgpIHtcbiAgcmV0dXJuICdBUScgKyBjb3VudGVyKys7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ub3RhdGlvblF1ZXJ5T3B0aW9ucyB7XG4gIGRhc2hib2FyZDogRGFzaGJvYXJkO1xuICBwYW5lbDogUGFuZWxNb2RlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uUXVlcnlSZXN1bHRzIHtcbiAgc3RhdGU6IExvYWRpbmdTdGF0ZTtcbiAgZXZlbnRzOiBBbm5vdGF0aW9uRXZlbnRbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVBbm5vdGF0aW9uUXVlcnkoXG4gIGRhdGFzb3VyY2U6IERhdGFTb3VyY2VBcGksXG4gIHRpbWVSYW5nZTogU2NlbmVUaW1lUmFuZ2VMaWtlLFxuICBxdWVyeTogQW5ub3RhdGlvblF1ZXJ5LFxuICBsYXllcjogU2NlbmVPYmplY3Rcbik6IE9ic2VydmFibGU8QW5ub3RhdGlvblF1ZXJ5UmVzdWx0cz4ge1xuICAvLyBDaGVjayBpZiB3ZSBzaG91bGQgdXNlIHRoZSBvbGQgYW5ub3RhdGlvblF1ZXJ5IG1ldGhvZFxuICBpZiAoZGF0YXNvdXJjZS5hbm5vdGF0aW9uUXVlcnkgJiYgc2hvdWxkVXNlTGVnYWN5UnVubmVyKGRhdGFzb3VyY2UpKSB7XG4gICAgY29uc29sZS53YXJuKCdVc2luZyBkZXByZWNhdGVkIGFubm90YXRpb25RdWVyeSBtZXRob2QsIHBsZWFzZSB1cGdyYWRlIHlvdXIgZGF0YXNvdXJjZScpO1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgZGF0YXNvdXJjZS5hbm5vdGF0aW9uUXVlcnkoe1xuICAgICAgICByYW5nZTogdGltZVJhbmdlLnN0YXRlLnZhbHVlLFxuICAgICAgICByYW5nZVJhdzogdGltZVJhbmdlLnN0YXRlLnZhbHVlLnJhdyxcbiAgICAgICAgYW5ub3RhdGlvbjogcXVlcnksXG4gICAgICAgIGRhc2hib2FyZDoge1xuICAgICAgICAgIGdldFZhcmlhYmxlczogZ2V0VGVtcGxhdGVTcnYoKS5nZXRWYXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICkucGlwZShcbiAgICAgIG1hcCgoZXZlbnRzKSA9PiAoe1xuICAgICAgICBzdGF0ZTogTG9hZGluZ1N0YXRlLkRvbmUsXG4gICAgICAgIGV2ZW50cyxcbiAgICAgIH0pKVxuICAgICk7XG4gIH1cblxuICAvLyBTdGFuZGFyZCBBUEkgZm9yIGFubm90YXRpb25zIHN1cHBvcnQuIFNwcmVhZCBpbiBkYXRhc291cmNlIGFubm90YXRpb25zIHN1cHBvcnQgb3ZlcnJpZGVzXG4gIGNvbnN0IHByb2Nlc3NvciA9IHtcbiAgICAuLi5zdGFuZGFyZEFubm90YXRpb25TdXBwb3J0LFxuICAgIC4uLmRhdGFzb3VyY2UuYW5ub3RhdGlvbnMsXG4gIH07XG5cbiAgY29uc3QgYW5ub3RhdGlvbldpdGhEZWZhdWx0cyA9IHtcbiAgICAvLyBEZWZhdWx0IHF1ZXJ5IHByb3ZpZGVkIGJ5IGEgZGF0YSBzb3VyY2VcbiAgICAuLi5wcm9jZXNzb3IuZ2V0RGVmYXVsdFF1ZXJ5Py4oKSxcbiAgICAuLi5xdWVyeSxcbiAgfTtcblxuICAvLyBEYXRhIHNvdXJjZSBxdWVyeSBtaWdyYXRpb25zXG4gIGNvbnN0IGFubm90YXRpb24gPSBwcm9jZXNzb3IucHJlcGFyZUFubm90YXRpb24hKGFubm90YXRpb25XaXRoRGVmYXVsdHMpO1xuICBpZiAoIWFubm90YXRpb24pIHtcbiAgICByZXR1cm4gb2Yoe1xuICAgICAgc3RhdGU6IExvYWRpbmdTdGF0ZS5Eb25lLFxuICAgICAgZXZlbnRzOiBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHByb2Nlc3NlZFF1ZXJ5ID0gcHJvY2Vzc29yLnByZXBhcmVRdWVyeSEoYW5ub3RhdGlvbik7XG4gIGlmICghcHJvY2Vzc2VkUXVlcnkpIHtcbiAgICByZXR1cm4gb2Yoe1xuICAgICAgc3RhdGU6IExvYWRpbmdTdGF0ZS5Eb25lLFxuICAgICAgZXZlbnRzOiBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIE5vIG1vcmUgcG9pbnRzIHRoYW4gcGl4ZWxzXG4gIGNvbnN0IG1heERhdGFQb2ludHMgPSB3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDtcblxuICAvLyBBZGQgaW50ZXJ2YWwgdG8gYW5ub3RhdGlvbiBxdWVyaWVzXG4gIGNvbnN0IGludGVydmFsID0gcmFuZ2VVdGlsLmNhbGN1bGF0ZUludGVydmFsKHRpbWVSYW5nZS5zdGF0ZS52YWx1ZSwgbWF4RGF0YVBvaW50cywgZGF0YXNvdXJjZS5pbnRlcnZhbCk7XG5cbiAgY29uc3Qgc2NvcGVkVmFyczogU2NvcGVkVmFycyA9IHtcbiAgICBfX2ludGVydmFsOiB7IHRleHQ6IGludGVydmFsLmludGVydmFsLCB2YWx1ZTogaW50ZXJ2YWwuaW50ZXJ2YWwgfSxcbiAgICBfX2ludGVydmFsX21zOiB7IHRleHQ6IGludGVydmFsLmludGVydmFsTXMudG9TdHJpbmcoKSwgdmFsdWU6IGludGVydmFsLmludGVydmFsTXMgfSxcbiAgICBfX2Fubm90YXRpb246IHsgdGV4dDogYW5ub3RhdGlvbi5uYW1lLCB2YWx1ZTogYW5ub3RhdGlvbiB9LFxuICAgIF9fc2NlbmVPYmplY3Q6IHdyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdChsYXllciksXG4gIH07XG5cbiAgY29uc3QgcXVlcnlSZXF1ZXN0OiBEYXRhUXVlcnlSZXF1ZXN0ID0ge1xuICAgIHN0YXJ0VGltZTogRGF0ZS5ub3coKSxcbiAgICByZXF1ZXN0SWQ6IGdldE5leHRSZXF1ZXN0SWQoKSxcbiAgICByYW5nZTogdGltZVJhbmdlLnN0YXRlLnZhbHVlLFxuICAgIG1heERhdGFQb2ludHMsXG4gICAgc2NvcGVkVmFycyxcbiAgICAuLi5pbnRlcnZhbCxcbiAgICBhcHA6IENvcmVBcHAuRGFzaGJvYXJkLFxuICAgIHRpbWV6b25lOiB0aW1lUmFuZ2UuZ2V0VGltZVpvbmUoKSxcbiAgICB0YXJnZXRzOiBbXG4gICAgICB7XG4gICAgICAgIC4uLnByb2Nlc3NlZFF1ZXJ5LFxuICAgICAgICByZWZJZDogJ0Fubm8nLFxuICAgICAgfSxcbiAgICBdLFxuICAgIC4uLmdldEVucmljaGVkRGF0YVJlcXVlc3QobGF5ZXIpLFxuICB9O1xuXG4gIGNvbnN0IHJ1blJlcXVlc3QgPSBnZXRSdW5SZXF1ZXN0KCk7XG5cbiAgcmV0dXJuIHJ1blJlcXVlc3QoZGF0YXNvdXJjZSwgcXVlcnlSZXF1ZXN0KS5waXBlKFxuICAgIG1lcmdlTWFwKChwYW5lbERhdGEpID0+IHtcbiAgICAgIC8vIFNvbWUgYW5ub3RhdGlvbnMgc2V0IHRoZSB0b3BpYyBhbHJlYWR5XG4gICAgICBjb25zdCBkYXRhID0gcGFuZWxEYXRhPy5zZXJpZXMubGVuZ3RoID8gcGFuZWxEYXRhLnNlcmllcyA6IHBhbmVsRGF0YS5hbm5vdGF0aW9ucztcblxuICAgICAgaWYgKCFkYXRhPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICBzdGF0ZTogcGFuZWxEYXRhLnN0YXRlLFxuICAgICAgICAgIGV2ZW50czogW10sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBBZGQgZGF0YSB0b3BpYyB0byBlYWNoIGZyYW1lXG4gICAgICBkYXRhLmZvckVhY2goKGZyYW1lKSA9PiB7XG4gICAgICAgIC8vIElmIGRhdGEgdG9waWMgaGFzIG5vdCBiZWVuIHByb3ZpZGVkIGJ5IHRoZSBkYXRhIHNvdXJjZSwgbWFrZSBzdXJlIGl0J3Mgc2V0IGNvcnJlY3RseVxuICAgICAgICBpZiAoIWZyYW1lLm1ldGE/LmRhdGFUb3BpYykge1xuICAgICAgICAgIGZyYW1lLm1ldGEgPSB7IC4uLihmcmFtZS5tZXRhIHx8IHt9KSwgZGF0YVRvcGljOiBEYXRhVG9waWMuQW5ub3RhdGlvbnMgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBwcm9jZXNzb3IucHJvY2Vzc0V2ZW50cyEoYW5ub3RhdGlvbiwgZGF0YSkucGlwZShcbiAgICAgICAgbWFwKChldmVudHMpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhdGU6IHBhbmVsRGF0YS5zdGF0ZSxcbiAgICAgICAgICAgIGV2ZW50czogZXZlbnRzIHx8IFtdLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pXG4gICk7XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQkEsSUFBSSxPQUFVLEdBQUEsR0FBQSxDQUFBO0FBQ2QsU0FBUyxnQkFBbUIsR0FBQTtBQUMxQixFQUFBLE9BQU8sSUFBTyxHQUFBLE9BQUEsRUFBQSxDQUFBO0FBQ2hCLENBQUE7QUFZTyxTQUFTLHNCQUNkLENBQUEsVUFBQSxFQUNBLFNBQ0EsRUFBQSxLQUFBLEVBQ0EsS0FDb0MsRUFBQTtBQTFDdEMsRUFBQSxJQUFBLEVBQUEsQ0FBQTtBQTRDRSxFQUFBLElBQUksVUFBVyxDQUFBLGVBQUEsSUFBbUIscUJBQXNCLENBQUEsVUFBVSxDQUFHLEVBQUE7QUFDbkUsSUFBQSxPQUFBLENBQVEsS0FBSyx5RUFBeUUsQ0FBQSxDQUFBO0FBQ3RGLElBQU8sT0FBQSxJQUFBO0FBQUEsTUFDTCxXQUFXLGVBQWdCLENBQUE7QUFBQSxRQUN6QixLQUFBLEVBQU8sVUFBVSxLQUFNLENBQUEsS0FBQTtBQUFBLFFBQ3ZCLFFBQUEsRUFBVSxTQUFVLENBQUEsS0FBQSxDQUFNLEtBQU0sQ0FBQSxHQUFBO0FBQUEsUUFDaEMsVUFBWSxFQUFBLEtBQUE7QUFBQSxRQUNaLFNBQVcsRUFBQTtBQUFBLFVBQ1QsWUFBQSxFQUFjLGdCQUFpQixDQUFBLFlBQUE7QUFBQSxTQUNqQztBQUFBLE9BQ0QsQ0FBQTtBQUFBLEtBQ0QsQ0FBQSxJQUFBO0FBQUEsTUFDQSxHQUFBLENBQUksQ0FBQyxNQUFZLE1BQUE7QUFBQSxRQUNmLE9BQU8sWUFBYSxDQUFBLElBQUE7QUFBQSxRQUNwQixNQUFBO0FBQUEsT0FDQSxDQUFBLENBQUE7QUFBQSxLQUNKLENBQUE7QUFBQSxHQUNGO0FBR0EsRUFBTSxNQUFBLFNBQUEsR0FBWSxjQUNiLENBQUEsY0FBQSxDQUFBLEVBQUEsRUFBQSx5QkFBQSxDQUFBLEVBQ0EsVUFBVyxDQUFBLFdBQUEsQ0FBQSxDQUFBO0FBR2hCLEVBQUEsTUFBTSxzQkFBeUIsR0FBQSxjQUFBLENBQUEsY0FBQSxDQUFBLEVBQUEsRUFBQSxDQUUxQixFQUFVLEdBQUEsU0FBQSxDQUFBLGVBQUEsS0FBVixJQUNBLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLElBQUEsQ0FBQSxTQUFBLENBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxDQUFBO0FBSUwsRUFBTSxNQUFBLFVBQUEsR0FBYSxTQUFVLENBQUEsaUJBQUEsQ0FBbUIsc0JBQXNCLENBQUEsQ0FBQTtBQUN0RSxFQUFBLElBQUksQ0FBQyxVQUFZLEVBQUE7QUFDZixJQUFBLE9BQU8sRUFBRyxDQUFBO0FBQUEsTUFDUixPQUFPLFlBQWEsQ0FBQSxJQUFBO0FBQUEsTUFDcEIsUUFBUSxFQUFDO0FBQUEsS0FDVixDQUFBLENBQUE7QUFBQSxHQUNIO0FBRUEsRUFBTSxNQUFBLGNBQUEsR0FBaUIsU0FBVSxDQUFBLFlBQUEsQ0FBYyxVQUFVLENBQUEsQ0FBQTtBQUN6RCxFQUFBLElBQUksQ0FBQyxjQUFnQixFQUFBO0FBQ25CLElBQUEsT0FBTyxFQUFHLENBQUE7QUFBQSxNQUNSLE9BQU8sWUFBYSxDQUFBLElBQUE7QUFBQSxNQUNwQixRQUFRLEVBQUM7QUFBQSxLQUNWLENBQUEsQ0FBQTtBQUFBLEdBQ0g7QUFHQSxFQUFBLE1BQU0sZ0JBQWdCLE1BQU8sQ0FBQSxVQUFBLElBQWMsU0FBUyxlQUFnQixDQUFBLFdBQUEsSUFBZSxTQUFTLElBQUssQ0FBQSxXQUFBLENBQUE7QUFHakcsRUFBTSxNQUFBLFFBQUEsR0FBVyxVQUFVLGlCQUFrQixDQUFBLFNBQUEsQ0FBVSxNQUFNLEtBQU8sRUFBQSxhQUFBLEVBQWUsV0FBVyxRQUFRLENBQUEsQ0FBQTtBQUV0RyxFQUFBLE1BQU0sVUFBeUIsR0FBQTtBQUFBLElBQzdCLFlBQVksRUFBRSxJQUFBLEVBQU0sU0FBUyxRQUFVLEVBQUEsS0FBQSxFQUFPLFNBQVMsUUFBUyxFQUFBO0FBQUEsSUFDaEUsYUFBQSxFQUFlLEVBQUUsSUFBTSxFQUFBLFFBQUEsQ0FBUyxXQUFXLFFBQVMsRUFBQSxFQUFHLEtBQU8sRUFBQSxRQUFBLENBQVMsVUFBVyxFQUFBO0FBQUEsSUFDbEYsY0FBYyxFQUFFLElBQUEsRUFBTSxVQUFXLENBQUEsSUFBQSxFQUFNLE9BQU8sVUFBVyxFQUFBO0FBQUEsSUFDekQsYUFBQSxFQUFlLGtDQUFrQyxLQUFLLENBQUE7QUFBQSxHQUN4RCxDQUFBO0FBRUEsRUFBQSxNQUFNLFlBQWlDLEdBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxjQUFBLENBQUE7QUFBQSxJQUNyQyxTQUFBLEVBQVcsS0FBSyxHQUFJLEVBQUE7QUFBQSxJQUNwQixXQUFXLGdCQUFpQixFQUFBO0FBQUEsSUFDNUIsS0FBQSxFQUFPLFVBQVUsS0FBTSxDQUFBLEtBQUE7QUFBQSxJQUN2QixhQUFBO0FBQUEsSUFDQSxVQUFBO0FBQUEsR0FBQSxFQUNHLFFBTmtDLENBQUEsRUFBQTtBQUFBLElBT3JDLEtBQUssT0FBUSxDQUFBLFNBQUE7QUFBQSxJQUNiLFFBQUEsRUFBVSxVQUFVLFdBQVksRUFBQTtBQUFBLElBQ2hDLE9BQVMsRUFBQTtBQUFBLE1BQ1AsaUNBQ0ssY0FETCxDQUFBLEVBQUE7QUFBQSxRQUVFLEtBQU8sRUFBQSxNQUFBO0FBQUEsT0FDVCxDQUFBO0FBQUEsS0FDRjtBQUFBLEdBQUEsQ0FBQSxFQUNHLHVCQUF1QixLQUFLLENBQUEsQ0FBQSxDQUFBO0FBR2pDLEVBQUEsTUFBTSxhQUFhLGFBQWMsRUFBQSxDQUFBO0FBRWpDLEVBQU8sT0FBQSxVQUFBLENBQVcsVUFBWSxFQUFBLFlBQVksQ0FBRSxDQUFBLElBQUE7QUFBQSxJQUMxQyxRQUFBLENBQVMsQ0FBQyxTQUFjLEtBQUE7QUFFdEIsTUFBQSxNQUFNLFFBQU8sU0FBVyxJQUFBLElBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxTQUFBLENBQUEsTUFBQSxDQUFPLE1BQVMsSUFBQSxTQUFBLENBQVUsU0FBUyxTQUFVLENBQUEsV0FBQSxDQUFBO0FBRXJFLE1BQUksSUFBQSxFQUFDLDZCQUFNLE1BQVEsQ0FBQSxFQUFBO0FBQ2pCLFFBQUEsT0FBTyxFQUFHLENBQUE7QUFBQSxVQUNSLE9BQU8sU0FBVSxDQUFBLEtBQUE7QUFBQSxVQUNqQixRQUFRLEVBQUM7QUFBQSxTQUNWLENBQUEsQ0FBQTtBQUFBLE9BQ0g7QUFHQSxNQUFLLElBQUEsQ0FBQSxPQUFBLENBQVEsQ0FBQyxLQUFVLEtBQUE7QUExSTlCLFFBQUFBLElBQUFBLEdBQUFBLENBQUFBO0FBNElRLFFBQUEsSUFBSSxHQUFDQSxHQUFBLEdBQUEsS0FBQSxDQUFNLElBQU4sS0FBQSxJQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLElBQVksU0FBVyxDQUFBLEVBQUE7QUFDMUIsVUFBTSxLQUFBLENBQUEsSUFBQSxHQUFPLGlDQUFNLEtBQU0sQ0FBQSxJQUFBLElBQVEsRUFBcEIsQ0FBQSxFQUFBLEVBQXlCLFNBQVcsRUFBQSxTQUFBLENBQVUsV0FBWSxFQUFBLENBQUEsQ0FBQTtBQUFBLFNBQ3pFO0FBQUEsT0FDRCxDQUFBLENBQUE7QUFFRCxNQUFBLE9BQU8sU0FBVSxDQUFBLGFBQUEsQ0FBZSxVQUFZLEVBQUEsSUFBSSxDQUFFLENBQUEsSUFBQTtBQUFBLFFBQ2hELEdBQUEsQ0FBSSxDQUFDLE1BQVcsS0FBQTtBQUNkLFVBQU8sT0FBQTtBQUFBLFlBQ0wsT0FBTyxTQUFVLENBQUEsS0FBQTtBQUFBLFlBQ2pCLE1BQUEsRUFBUSxVQUFVLEVBQUM7QUFBQSxXQUNyQixDQUFBO0FBQUEsU0FDRCxDQUFBO0FBQUEsT0FDSCxDQUFBO0FBQUEsS0FDRCxDQUFBO0FBQUEsR0FDSCxDQUFBO0FBQ0Y7Ozs7In0=
|