@grafana/scenes 6.8.0 → 6.9.0--canary.1093.14409340532.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/esm/components/VizPanel/VizPanelRenderer.js +4 -3
- package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
- package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
- package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
- package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
- package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
- package/dist/esm/dist/esm/components/NestedScene.js +0 -95
- package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
- package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
- package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
- package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
- package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
- package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
- package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
- package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
- package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
- package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
- package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
- package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
- package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
- package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
- package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
- package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
- package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
- package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
- package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
- package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
- package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
- package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
- package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
- package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
- package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
- package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
- package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
- package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
- package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
- package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
- package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
- package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
- package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
- package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
- package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
- package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
- package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
- package/dist/esm/dist/esm/core/events.js +0 -11
- package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
- package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
- package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
- package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
- package/dist/esm/dist/esm/core/types.js +0 -15
- package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
- package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
- package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
- package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
- package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
- package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
- package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
- package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
- package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
- package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
- package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
- package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
- package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
- package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
- package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
- package/dist/esm/dist/esm/services/utils.js +0 -71
- package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
- package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
- package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
- package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
- package/dist/esm/dist/esm/utils/date.js +0 -15
- package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
- package/dist/esm/dist/esm/utils/explore.js +0 -47
- package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
- package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
- package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
- package/dist/esm/dist/esm/utils/metricTree.js +0 -53
- package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
- package/dist/esm/dist/esm/utils/utils.js +0 -11
- package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
- package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
- package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
- package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
- package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
- package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
- package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
- package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
- package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
- package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
- package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
- package/dist/esm/dist/esm/variables/constants.js +0 -9
- package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
- package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
- package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
- package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
- package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
- package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
- package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
- package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
- package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
- package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
- package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
- package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
- package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
- package/dist/esm/dist/esm/variables/macros/index.js +0 -26
- package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
- package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
- package/dist/esm/dist/esm/variables/macros/types.js +0 -11
- package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
- package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
- package/dist/esm/dist/esm/variables/types.js +0 -11
- package/dist/esm/dist/esm/variables/utils.js +0 -172
- package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
- package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
- package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
- package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
- package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
- package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
- package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
- package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
- package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
- package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
- package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
- package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
- package/dist/esm/querying/DataProviderSharer.js +0 -39
- package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
- package/dist/esm/src/behaviors/CursorSync.js +0 -76
- package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
- package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
- package/dist/esm/src/behaviors/index.js +0 -5
- package/dist/esm/src/components/EmbeddedScene.js +0 -59
- package/dist/esm/src/components/NestedScene.js +0 -95
- package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
- package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
- package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
- package/dist/esm/src/components/SceneApp/utils.js +0 -42
- package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
- package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
- package/dist/esm/src/components/SceneCanvasText.js +0 -32
- package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
- package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
- package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
- package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
- package/dist/esm/src/components/SceneReactObject.js +0 -34
- package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
- package/dist/esm/src/components/SceneTimePicker.js +0 -139
- package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
- package/dist/esm/src/components/SceneToolbarButton.js +0 -33
- package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
- package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
- package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
- package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
- package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
- package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
- package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
- package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
- package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
- package/dist/esm/src/components/layout/LazyLoader.js +0 -103
- package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
- package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
- package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
- package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
- package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
- package/dist/esm/src/components/layout/grid/constants.js +0 -7
- package/dist/esm/src/components/layout/grid/utils.js +0 -36
- package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
- package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
- package/dist/esm/src/components/layout/split/Splitter.js +0 -386
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
- package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
- package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
- package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
- package/dist/esm/src/core/PanelBuilders/index.js +0 -116
- package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
- package/dist/esm/src/core/SceneDataNode.js +0 -43
- package/dist/esm/src/core/SceneObjectBase.js +0 -286
- package/dist/esm/src/core/SceneObjectRef.js +0 -32
- package/dist/esm/src/core/SceneTimeRange.js +0 -231
- package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
- package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
- package/dist/esm/src/core/events.js +0 -11
- package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
- package/dist/esm/src/core/sceneGraph/index.js +0 -25
- package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
- package/dist/esm/src/core/sceneGraph/utils.js +0 -64
- package/dist/esm/src/core/types.js +0 -15
- package/dist/esm/src/index.js +0 -108
- package/dist/esm/src/querying/DataLayersMerger.js +0 -46
- package/dist/esm/src/querying/DataProviderProxy.js +0 -37
- package/dist/esm/src/querying/DataProviderSharer.js +0 -108
- package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
- package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
- package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
- package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
- package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
- package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
- package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
- package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
- package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
- package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
- package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
- package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
- package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
- package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
- package/dist/esm/src/querying/layers/index.js +0 -2
- package/dist/esm/src/querying/registerQueryWithController.js +0 -41
- package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
- package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
- package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
- package/dist/esm/src/services/UrlSyncManager.js +0 -167
- package/dist/esm/src/services/useUrlSync.js +0 -29
- package/dist/esm/src/services/utils.js +0 -75
- package/dist/esm/src/utils/ControlsLabel.js +0 -107
- package/dist/esm/src/utils/LoadingIndicator.js +0 -19
- package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
- package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
- package/dist/esm/src/utils/date.js +0 -15
- package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
- package/dist/esm/src/utils/explore.js +0 -47
- package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
- package/dist/esm/src/utils/getDataSource.js +0 -18
- package/dist/esm/src/utils/getMessageFromError.js +0 -24
- package/dist/esm/src/utils/metricTree.js +0 -53
- package/dist/esm/src/utils/parseUrlParam.js +0 -41
- package/dist/esm/src/utils/utils.js +0 -11
- package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
- package/dist/esm/src/utils/writeSceneLog.js +0 -12
- package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
- package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
- package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
- package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
- package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
- package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
- package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
- package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
- package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
- package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
- package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
- package/dist/esm/src/variables/constants.js +0 -9
- package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
- package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
- package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
- package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
- package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
- package/dist/esm/src/variables/interpolation/defaults.js +0 -21
- package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
- package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
- package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
- package/dist/esm/src/variables/lookupVariable.js +0 -20
- package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
- package/dist/esm/src/variables/macros/contextMacros.js +0 -43
- package/dist/esm/src/variables/macros/dataMacros.js +0 -134
- package/dist/esm/src/variables/macros/index.js +0 -35
- package/dist/esm/src/variables/macros/templateProxies.js +0 -51
- package/dist/esm/src/variables/macros/timeMacros.js +0 -86
- package/dist/esm/src/variables/macros/types.js +0 -11
- package/dist/esm/src/variables/macros/urlMacros.js +0 -56
- package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
- package/dist/esm/src/variables/types.js +0 -11
- package/dist/esm/src/variables/utils.js +0 -172
- package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
- package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
- package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
- package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
- package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
- package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
- package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
- package/dist/esm/src/variables/variants/TestVariable.js +0 -117
- package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
- package/dist/esm/src/variables/variants/guards.js +0 -27
- package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
- package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
- package/dist/esm/src/variables/variants/query/guards.js +0 -28
- package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
- package/dist/esm/src/variables/variants/query/utils.js +0 -124
- package/dist/esm/variables/variants/JsonVariable.js +0 -96
- package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
- package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { VariableRefresh } from '@grafana/data';
|
|
2
|
-
import { sceneGraph } from '../../core/sceneGraph/index.js';
|
|
3
|
-
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
4
|
-
import { writeSceneLog } from '../../utils/writeSceneLog.js';
|
|
5
|
-
import { SceneVariableValueChangedEvent } from '../types.js';
|
|
6
|
-
import { VariableValueRecorder } from '../VariableValueRecorder.js';
|
|
7
|
-
|
|
8
|
-
class SceneVariableSet extends SceneObjectBase {
|
|
9
|
-
constructor(state) {
|
|
10
|
-
super(state);
|
|
11
|
-
this._variablesThatHaveChanged = /* @__PURE__ */ new Set();
|
|
12
|
-
this._variablesToUpdate = /* @__PURE__ */ new Set();
|
|
13
|
-
this._updating = /* @__PURE__ */ new Map();
|
|
14
|
-
this._variableValueRecorder = new VariableValueRecorder();
|
|
15
|
-
this._variableDependency = new SceneVariableSetVariableDependencyHandler(
|
|
16
|
-
this._handleParentVariableUpdatesCompleted.bind(this)
|
|
17
|
-
);
|
|
18
|
-
this._onActivate = () => {
|
|
19
|
-
const timeRange = sceneGraph.getTimeRange(this);
|
|
20
|
-
this._subs.add(
|
|
21
|
-
this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))
|
|
22
|
-
);
|
|
23
|
-
this._subs.add(
|
|
24
|
-
timeRange.subscribeToState(() => {
|
|
25
|
-
this._refreshTimeRangeBasedVariables();
|
|
26
|
-
})
|
|
27
|
-
);
|
|
28
|
-
this._subs.add(this.subscribeToState(this._onStateChanged));
|
|
29
|
-
this._checkForVariablesThatChangedWhileInactive();
|
|
30
|
-
for (const variable of this.state.variables) {
|
|
31
|
-
if (this._variableNeedsUpdate(variable)) {
|
|
32
|
-
this._variablesToUpdate.add(variable);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
this._updateNextBatch();
|
|
36
|
-
return this._onDeactivate;
|
|
37
|
-
};
|
|
38
|
-
this._onDeactivate = () => {
|
|
39
|
-
var _a;
|
|
40
|
-
for (const update of this._updating.values()) {
|
|
41
|
-
(_a = update.subscription) == null ? void 0 : _a.unsubscribe();
|
|
42
|
-
}
|
|
43
|
-
for (const variable of this.state.variables) {
|
|
44
|
-
if (!this._variablesToUpdate.has(variable) && !this._updating.has(variable)) {
|
|
45
|
-
this._variableValueRecorder.recordCurrentValue(variable);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
this._variablesToUpdate.clear();
|
|
49
|
-
this._updating.clear();
|
|
50
|
-
};
|
|
51
|
-
this._onStateChanged = (newState, oldState) => {
|
|
52
|
-
const variablesToUpdateCountStart = this._variablesToUpdate.size;
|
|
53
|
-
for (const variable of oldState.variables) {
|
|
54
|
-
if (!newState.variables.includes(variable)) {
|
|
55
|
-
const updating = this._updating.get(variable);
|
|
56
|
-
if (updating == null ? void 0 : updating.subscription) {
|
|
57
|
-
updating.subscription.unsubscribe();
|
|
58
|
-
}
|
|
59
|
-
this._updating.delete(variable);
|
|
60
|
-
this._variablesToUpdate.delete(variable);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
for (const variable of newState.variables) {
|
|
64
|
-
if (!oldState.variables.includes(variable)) {
|
|
65
|
-
if (this._variableNeedsUpdate(variable)) {
|
|
66
|
-
this._variablesToUpdate.add(variable);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (variablesToUpdateCountStart === 0 && this._variablesToUpdate.size > 0) {
|
|
71
|
-
this._updateNextBatch();
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
this.addActivationHandler(this._onActivate);
|
|
75
|
-
}
|
|
76
|
-
getByName(name) {
|
|
77
|
-
return this.state.variables.find((x) => x.state.name === name);
|
|
78
|
-
}
|
|
79
|
-
_refreshTimeRangeBasedVariables() {
|
|
80
|
-
for (const variable of this.state.variables) {
|
|
81
|
-
if ("refresh" in variable.state && variable.state.refresh === VariableRefresh.onTimeRangeChanged) {
|
|
82
|
-
this._variablesToUpdate.add(variable);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
this._updateNextBatch();
|
|
86
|
-
}
|
|
87
|
-
_checkForVariablesThatChangedWhileInactive() {
|
|
88
|
-
if (!this._variableValueRecorder.hasValues()) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
for (const variable of this.state.variables) {
|
|
92
|
-
if (this._variableValueRecorder.hasValueChanged(variable)) {
|
|
93
|
-
writeVariableTraceLog(variable, "Changed while in-active");
|
|
94
|
-
this._addDependentVariablesToUpdateQueue(variable);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
_variableNeedsUpdate(variable) {
|
|
99
|
-
if (variable.isLazy) {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
if (!variable.validateAndUpdate) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
if (this._variableValueRecorder.hasRecordedValue(variable)) {
|
|
106
|
-
writeVariableTraceLog(variable, "Skipping updateAndValidate current value valid");
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
_updateNextBatch() {
|
|
112
|
-
for (const variable of this._variablesToUpdate) {
|
|
113
|
-
if (!variable.validateAndUpdate) {
|
|
114
|
-
throw new Error("Variable added to variablesToUpdate but does not have validateAndUpdate");
|
|
115
|
-
}
|
|
116
|
-
if (this._updating.has(variable)) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
if (sceneGraph.hasVariableDependencyInLoadingState(variable)) {
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
const variableToUpdate = {
|
|
123
|
-
variable
|
|
124
|
-
};
|
|
125
|
-
this._updating.set(variable, variableToUpdate);
|
|
126
|
-
writeVariableTraceLog(variable, "updateAndValidate started");
|
|
127
|
-
variableToUpdate.subscription = variable.validateAndUpdate().subscribe({
|
|
128
|
-
next: () => this._validateAndUpdateCompleted(variable),
|
|
129
|
-
complete: () => this._validateAndUpdateCompleted(variable),
|
|
130
|
-
error: (err) => this._handleVariableError(variable, err)
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
_validateAndUpdateCompleted(variable) {
|
|
135
|
-
var _a;
|
|
136
|
-
if (!this._updating.has(variable)) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const update = this._updating.get(variable);
|
|
140
|
-
(_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();
|
|
141
|
-
this._updating.delete(variable);
|
|
142
|
-
this._variablesToUpdate.delete(variable);
|
|
143
|
-
writeVariableTraceLog(variable, "updateAndValidate completed");
|
|
144
|
-
this._notifyDependentSceneObjects(variable);
|
|
145
|
-
this._updateNextBatch();
|
|
146
|
-
}
|
|
147
|
-
cancel(variable) {
|
|
148
|
-
var _a;
|
|
149
|
-
const update = this._updating.get(variable);
|
|
150
|
-
(_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();
|
|
151
|
-
this._updating.delete(variable);
|
|
152
|
-
this._variablesToUpdate.delete(variable);
|
|
153
|
-
}
|
|
154
|
-
_handleVariableError(variable, err) {
|
|
155
|
-
var _a;
|
|
156
|
-
const update = this._updating.get(variable);
|
|
157
|
-
(_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();
|
|
158
|
-
this._updating.delete(variable);
|
|
159
|
-
this._variablesToUpdate.delete(variable);
|
|
160
|
-
variable.setState({ loading: false, error: err.message });
|
|
161
|
-
console.error("SceneVariableSet updateAndValidate error", err);
|
|
162
|
-
writeVariableTraceLog(variable, "updateAndValidate error", err);
|
|
163
|
-
this._notifyDependentSceneObjects(variable);
|
|
164
|
-
this._updateNextBatch();
|
|
165
|
-
}
|
|
166
|
-
_handleVariableValueChanged(variableThatChanged) {
|
|
167
|
-
this._variablesThatHaveChanged.add(variableThatChanged);
|
|
168
|
-
this._addDependentVariablesToUpdateQueue(variableThatChanged);
|
|
169
|
-
if (!this._updating.has(variableThatChanged)) {
|
|
170
|
-
this._updateNextBatch();
|
|
171
|
-
this._notifyDependentSceneObjects(variableThatChanged);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
_handleParentVariableUpdatesCompleted(variable, hasChanged) {
|
|
175
|
-
if (hasChanged) {
|
|
176
|
-
this._addDependentVariablesToUpdateQueue(variable);
|
|
177
|
-
}
|
|
178
|
-
if (this._variablesToUpdate.size > 0 && this._updating.size === 0) {
|
|
179
|
-
this._updateNextBatch();
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
_addDependentVariablesToUpdateQueue(variableThatChanged) {
|
|
183
|
-
for (const otherVariable of this.state.variables) {
|
|
184
|
-
if (otherVariable.variableDependency) {
|
|
185
|
-
if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {
|
|
186
|
-
writeVariableTraceLog(otherVariable, "Added to update queue, dependant variable value changed");
|
|
187
|
-
if (this._updating.has(otherVariable) && otherVariable.onCancel) {
|
|
188
|
-
otherVariable.onCancel();
|
|
189
|
-
}
|
|
190
|
-
this._variablesToUpdate.add(otherVariable);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
_notifyDependentSceneObjects(variable) {
|
|
196
|
-
if (!this.parent) {
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
this._traverseSceneAndNotify(this.parent, variable, this._variablesThatHaveChanged.has(variable));
|
|
200
|
-
this._variablesThatHaveChanged.delete(variable);
|
|
201
|
-
}
|
|
202
|
-
_traverseSceneAndNotify(sceneObject, variable, hasChanged) {
|
|
203
|
-
if (this === sceneObject) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
if (!sceneObject.isActive) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
if (sceneObject.state.$variables && sceneObject.state.$variables !== this) {
|
|
210
|
-
const localVar = sceneObject.state.$variables.getByName(variable.state.name);
|
|
211
|
-
if (localVar) {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
if (sceneObject.variableDependency) {
|
|
216
|
-
sceneObject.variableDependency.variableUpdateCompleted(variable, hasChanged);
|
|
217
|
-
}
|
|
218
|
-
sceneObject.forEachChild((child) => this._traverseSceneAndNotify(child, variable, hasChanged));
|
|
219
|
-
}
|
|
220
|
-
isVariableLoadingOrWaitingToUpdate(variable) {
|
|
221
|
-
if (variable.isAncestorLoading && variable.isAncestorLoading()) {
|
|
222
|
-
return true;
|
|
223
|
-
}
|
|
224
|
-
if (this._variablesToUpdate.has(variable) || this._updating.has(variable)) {
|
|
225
|
-
return true;
|
|
226
|
-
}
|
|
227
|
-
return sceneGraph.hasVariableDependencyInLoadingState(variable);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
function writeVariableTraceLog(variable, message, err) {
|
|
231
|
-
if (err) {
|
|
232
|
-
writeSceneLog("SceneVariableSet", `Variable[${variable.state.name}]: ${message}`, err);
|
|
233
|
-
} else {
|
|
234
|
-
writeSceneLog("SceneVariableSet", `Variable[${variable.state.name}]: ${message}`);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
class SceneVariableSetVariableDependencyHandler {
|
|
238
|
-
constructor(_variableUpdatesCompleted) {
|
|
239
|
-
this._variableUpdatesCompleted = _variableUpdatesCompleted;
|
|
240
|
-
this._emptySet = /* @__PURE__ */ new Set();
|
|
241
|
-
}
|
|
242
|
-
getNames() {
|
|
243
|
-
return this._emptySet;
|
|
244
|
-
}
|
|
245
|
-
hasDependencyOn(name) {
|
|
246
|
-
return false;
|
|
247
|
-
}
|
|
248
|
-
variableUpdateCompleted(variable, hasChanged) {
|
|
249
|
-
this._variableUpdatesCompleted(variable, hasChanged);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
export { SceneVariableSet };
|
|
254
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVWYXJpYWJsZVNldC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9zZXRzL1NjZW5lVmFyaWFibGVTZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFyaWFibGVSZWZyZXNoIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyB3cml0ZVNjZW5lTG9nIH0gZnJvbSAnLi4vLi4vdXRpbHMvd3JpdGVTY2VuZUxvZyc7XG5pbXBvcnQge1xuICBTY2VuZVZhcmlhYmxlLFxuICBTY2VuZVZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZ0xpa2UsXG4gIFNjZW5lVmFyaWFibGVzLFxuICBTY2VuZVZhcmlhYmxlU2V0U3RhdGUsXG4gIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZVJlY29yZGVyIH0gZnJvbSAnLi4vVmFyaWFibGVWYWx1ZVJlY29yZGVyJztcblxuZXhwb3J0IGNsYXNzIFNjZW5lVmFyaWFibGVTZXQgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8U2NlbmVWYXJpYWJsZVNldFN0YXRlPiBpbXBsZW1lbnRzIFNjZW5lVmFyaWFibGVzIHtcbiAgLyoqIFZhcmlhYmxlcyB0aGF0IGhhdmUgY2hhbmdlZCBpbiBzaW5jZSB0aGUgYWN0aXZhdGlvbiBvciBzaW5jZSB0aGUgZmlyc3QgbWFudWFsIHZhbHVlIGNoYW5nZSAqL1xuICBwcml2YXRlIF92YXJpYWJsZXNUaGF0SGF2ZUNoYW5nZWQgPSBuZXcgU2V0PFNjZW5lVmFyaWFibGU+KCk7XG5cbiAgLyoqIFZhcmlhYmxlcyB0aGF0IGFyZSBzY2hlZHVsZWQgdG8gYmUgdmFsaWRhdGVkIGFuZCB1cGRhdGVkICovXG4gIHByaXZhdGUgX3ZhcmlhYmxlc1RvVXBkYXRlID0gbmV3IFNldDxTY2VuZVZhcmlhYmxlPigpO1xuXG4gIC8qKiBWYXJpYWJsZXMgY3VycmVudGx5IHVwZGF0aW5nICAqL1xuICBwcml2YXRlIF91cGRhdGluZyA9IG5ldyBNYXA8U2NlbmVWYXJpYWJsZSwgVmFyaWFibGVVcGRhdGVJblByb2dyZXNzPigpO1xuXG4gIHByaXZhdGUgX3ZhcmlhYmxlVmFsdWVSZWNvcmRlciA9IG5ldyBWYXJpYWJsZVZhbHVlUmVjb3JkZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBtYWtlcyBzdXJlIFNjZW5lVmFyaWFibGVTZXQncyBoaWdoZXIgdXAgaW4gdGhlIGNoYWluIG5vdGlmeSB1cyB3aGVuIHBhcmVudCBsZXZlbCB2YXJpYWJsZXMgY29tcGxldGUgdXBkYXRlIGJhdGNoZXMuXG4gICAqKi9cbiAgcHJvdGVjdGVkIF92YXJpYWJsZURlcGVuZGVuY3kgPSBuZXcgU2NlbmVWYXJpYWJsZVNldFZhcmlhYmxlRGVwZW5kZW5jeUhhbmRsZXIoXG4gICAgdGhpcy5faGFuZGxlUGFyZW50VmFyaWFibGVVcGRhdGVzQ29tcGxldGVkLmJpbmQodGhpcylcbiAgKTtcblxuICBwdWJsaWMgZ2V0QnlOYW1lKG5hbWU6IHN0cmluZyk6IFNjZW5lVmFyaWFibGUgfCB1bmRlZmluZWQge1xuICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBpbmRleFxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhcmlhYmxlcy5maW5kKCh4KSA9PiB4LnN0YXRlLm5hbWUgPT09IG5hbWUpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHN0YXRlOiBTY2VuZVZhcmlhYmxlU2V0U3RhdGUpIHtcbiAgICBzdXBlcihzdGF0ZSk7XG5cbiAgICB0aGlzLmFkZEFjdGl2YXRpb25IYW5kbGVyKHRoaXMuX29uQWN0aXZhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gY2hpbGQgdmFyaWFibGUgdmFsdWUgY2hhbmdlcywgYW5kIHN0YXJ0cyB0aGUgdmFyaWFibGUgdmFsdWUgdmFsaWRhdGlvbiBwcm9jZXNzXG4gICAqL1xuICBwcml2YXRlIF9vbkFjdGl2YXRlID0gKCkgPT4ge1xuICAgIGNvbnN0IHRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpO1xuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoaWxkIHZhcmlhYmxlc1xuICAgIHRoaXMuX3N1YnMuYWRkKFxuICAgICAgdGhpcy5zdWJzY3JpYmVUb0V2ZW50KFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCwgKGV2ZW50KSA9PiB0aGlzLl9oYW5kbGVWYXJpYWJsZVZhbHVlQ2hhbmdlZChldmVudC5wYXlsb2FkKSlcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vicy5hZGQoXG4gICAgICB0aW1lUmFuZ2Uuc3Vic2NyaWJlVG9TdGF0ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3JlZnJlc2hUaW1lUmFuZ2VCYXNlZFZhcmlhYmxlcygpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXNcbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLnN1YnNjcmliZVRvU3RhdGUodGhpcy5fb25TdGF0ZUNoYW5nZWQpKTtcblxuICAgIHRoaXMuX2NoZWNrRm9yVmFyaWFibGVzVGhhdENoYW5nZWRXaGlsZUluYWN0aXZlKCk7XG5cbiAgICAvLyBBZGQgYWxsIHZhcmlhYmxlcyB0aGF0IG5lZWQgdXBkYXRpbmcgdG8gcXVldWVcbiAgICBmb3IgKGNvbnN0IHZhcmlhYmxlIG9mIHRoaXMuc3RhdGUudmFyaWFibGVzKSB7XG4gICAgICBpZiAodGhpcy5fdmFyaWFibGVOZWVkc1VwZGF0ZSh2YXJpYWJsZSkpIHtcbiAgICAgICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuYWRkKHZhcmlhYmxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVOZXh0QmF0Y2goKTtcblxuICAgIC8vIFJldHVybiBkZWFjdGl2YXRpb24gaGFuZGxlcjtcbiAgICByZXR1cm4gdGhpcy5fb25EZWFjdGl2YXRlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBBZGQgYWxsIHZhcmlhYmxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgY2hhbmdlZCB2YXJpYWJsZSB0byB0aGUgdXBkYXRlIHF1ZXVlXG4gICAqL1xuICBwcml2YXRlIF9yZWZyZXNoVGltZVJhbmdlQmFzZWRWYXJpYWJsZXMoKSB7XG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB0aGlzLnN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgaWYgKCdyZWZyZXNoJyBpbiB2YXJpYWJsZS5zdGF0ZSAmJiB2YXJpYWJsZS5zdGF0ZS5yZWZyZXNoID09PSBWYXJpYWJsZVJlZnJlc2gub25UaW1lUmFuZ2VDaGFuZ2VkKSB7XG4gICAgICAgIHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmFkZCh2YXJpYWJsZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3VwZGF0ZU5leHRCYXRjaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbCBhbGwgY3VycmVudGx5IHJ1bm5pbmcgdXBkYXRlc1xuICAgKi9cbiAgcHJpdmF0ZSBfb25EZWFjdGl2YXRlID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgdXBkYXRlIG9mIHRoaXMuX3VwZGF0aW5nLnZhbHVlcygpKSB7XG4gICAgICB1cGRhdGUuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8vIFJlbWVtYmVyIGN1cnJlbnQgdmFyaWFibGUgdmFsdWVzXG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB0aGlzLnN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgdmFyaWFibGUgaXMgbm90IGluIHF1ZXVlIHRvIHVwZGF0ZSBhbmQgdmFsaWRhdGUgYW5kIG5vdCBiZWluZyBhY3RpdmVseSB1cGRhdGVkIHRoZW4gdGhlIHZhbHVlIGlzIG9rXG4gICAgICBpZiAoIXRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmhhcyh2YXJpYWJsZSkgJiYgIXRoaXMuX3VwZGF0aW5nLmhhcyh2YXJpYWJsZSkpIHtcbiAgICAgICAgdGhpcy5fdmFyaWFibGVWYWx1ZVJlY29yZGVyLnJlY29yZEN1cnJlbnRWYWx1ZSh2YXJpYWJsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuY2xlYXIoKTtcbiAgICB0aGlzLl91cGRhdGluZy5jbGVhcigpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBMb29rIGZvciBuZXcgdmFyaWFibGVzIHRoYXQgbmVlZCB0byBiZSBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBfb25TdGF0ZUNoYW5nZWQgPSAobmV3U3RhdGU6IFNjZW5lVmFyaWFibGVTZXRTdGF0ZSwgb2xkU3RhdGU6IFNjZW5lVmFyaWFibGVTZXRTdGF0ZSkgPT4ge1xuICAgIGNvbnN0IHZhcmlhYmxlc1RvVXBkYXRlQ291bnRTdGFydCA9IHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLnNpemU7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVtb3ZlZCB2YXJpYWJsZXNcbiAgICBmb3IgKGNvbnN0IHZhcmlhYmxlIG9mIG9sZFN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgaWYgKCFuZXdTdGF0ZS52YXJpYWJsZXMuaW5jbHVkZXModmFyaWFibGUpKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0aW5nID0gdGhpcy5fdXBkYXRpbmcuZ2V0KHZhcmlhYmxlKTtcbiAgICAgICAgaWYgKHVwZGF0aW5nPy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICB1cGRhdGluZy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl91cGRhdGluZy5kZWxldGUodmFyaWFibGUpO1xuICAgICAgICB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5kZWxldGUodmFyaWFibGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBuZXcgdmFyaWFibGVzXG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiBuZXdTdGF0ZS52YXJpYWJsZXMpIHtcbiAgICAgIGlmICghb2xkU3RhdGUudmFyaWFibGVzLmluY2x1ZGVzKHZhcmlhYmxlKSkge1xuICAgICAgICBpZiAodGhpcy5fdmFyaWFibGVOZWVkc1VwZGF0ZSh2YXJpYWJsZSkpIHtcbiAgICAgICAgICB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5hZGQodmFyaWFibGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT25seSBzdGFydCBhIG5ldyBiYXRjaCBpZiB0aGVyZSB3YXMgbm8gYmF0Y2ggYWxyZWFkeSBydW5uaW5nXG4gICAgaWYgKHZhcmlhYmxlc1RvVXBkYXRlQ291bnRTdGFydCA9PT0gMCAmJiB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5zaXplID4gMCkge1xuICAgICAgdGhpcy5fdXBkYXRlTmV4dEJhdGNoKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBJZiB2YXJpYWJsZXMgY2hhbmdlZCB3aGlsZSBpbiBpbi1hY3RpdmUgc3RhdGUgd2UgZG9uJ3QgZ2V0IGFueSBjaGFuZ2UgZXZlbnRzLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGZvciB0aGF0IGhlcmUuXG4gICAqL1xuICBwcml2YXRlIF9jaGVja0ZvclZhcmlhYmxlc1RoYXRDaGFuZ2VkV2hpbGVJbmFjdGl2ZSgpIHtcbiAgICBpZiAoIXRoaXMuX3ZhcmlhYmxlVmFsdWVSZWNvcmRlci5oYXNWYWx1ZXMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2YgdGhpcy5zdGF0ZS52YXJpYWJsZXMpIHtcbiAgICAgIGlmICh0aGlzLl92YXJpYWJsZVZhbHVlUmVjb3JkZXIuaGFzVmFsdWVDaGFuZ2VkKHZhcmlhYmxlKSkge1xuICAgICAgICB3cml0ZVZhcmlhYmxlVHJhY2VMb2codmFyaWFibGUsICdDaGFuZ2VkIHdoaWxlIGluLWFjdGl2ZScpO1xuICAgICAgICB0aGlzLl9hZGREZXBlbmRlbnRWYXJpYWJsZXNUb1VwZGF0ZVF1ZXVlKHZhcmlhYmxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF92YXJpYWJsZU5lZWRzVXBkYXRlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogYm9vbGVhbiB7XG4gICAgaWYgKHZhcmlhYmxlLmlzTGF6eSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghdmFyaWFibGUudmFsaWRhdGVBbmRVcGRhdGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBJZiB3ZSBoYXZlIHJlY29yZGVkIHZhbGlkIHZhbHVlIChldmVuIGlmIGl0IGhhcyBjaGFuZ2VkIHNpbmNlIHdlIGRvIG5vdCBuZWVkIHRvIHJlLXZhbGlkYXRlIHRoaXMgdmFyaWFibGUpXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlVmFsdWVSZWNvcmRlci5oYXNSZWNvcmRlZFZhbHVlKHZhcmlhYmxlKSkge1xuICAgICAgd3JpdGVWYXJpYWJsZVRyYWNlTG9nKHZhcmlhYmxlLCAnU2tpcHBpbmcgdXBkYXRlQW5kVmFsaWRhdGUgY3VycmVudCB2YWx1ZSB2YWxpZCcpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbG9vcHMgdGhyb3VnaCB2YXJpYWJsZXNUb1VwZGF0ZSBhbmQgdXBkYXRlIGFsbCB0aGF0IGNhbi5cbiAgICogSWYgb25lIGhhcyBhIGRlcGVuZGVuY3kgdGhhdCBpcyBjdXJyZW50bHkgaW4gdmFyaWFibGVzVG9VcGRhdGUgaXQgd2lsbCBiZSBza2lwcGVkIGZvciBub3cuXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVOZXh0QmF0Y2goKSB7XG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZSkge1xuICAgICAgaWYgKCF2YXJpYWJsZS52YWxpZGF0ZUFuZFVwZGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhcmlhYmxlIGFkZGVkIHRvIHZhcmlhYmxlc1RvVXBkYXRlIGJ1dCBkb2VzIG5vdCBoYXZlIHZhbGlkYXRlQW5kVXBkYXRlJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIElnbm9yZSBpdCBpZiBpdCdzIGFscmVhZHkgc3RhcnRlZFxuICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nLmhhcyh2YXJpYWJsZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhaXQgZm9yIHZhcmlhYmxlcyB0aGF0IGhhcyBkZXBlbmRlbmNpZXMgdGhhdCBhbHNvIG5lZWRzIHVwZGF0ZXNcbiAgICAgIGlmIChzY2VuZUdyYXBoLmhhc1ZhcmlhYmxlRGVwZW5kZW5jeUluTG9hZGluZ1N0YXRlKHZhcmlhYmxlKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFyaWFibGVUb1VwZGF0ZTogVmFyaWFibGVVcGRhdGVJblByb2dyZXNzID0ge1xuICAgICAgICB2YXJpYWJsZSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuX3VwZGF0aW5nLnNldCh2YXJpYWJsZSwgdmFyaWFibGVUb1VwZGF0ZSk7XG4gICAgICB3cml0ZVZhcmlhYmxlVHJhY2VMb2codmFyaWFibGUsICd1cGRhdGVBbmRWYWxpZGF0ZSBzdGFydGVkJyk7XG5cbiAgICAgIHZhcmlhYmxlVG9VcGRhdGUuc3Vic2NyaXB0aW9uID0gdmFyaWFibGUudmFsaWRhdGVBbmRVcGRhdGUoKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLl92YWxpZGF0ZUFuZFVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZSksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLl92YWxpZGF0ZUFuZFVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZSksXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB0aGlzLl9oYW5kbGVWYXJpYWJsZUVycm9yKHZhcmlhYmxlLCBlcnIpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEEgdmFyaWFibGUgaGFzIGNvbXBsZXRlZCBpdHMgdXBkYXRlIHByb2Nlc3MuIFRoaXMgY291bGQgbWVhbiB0aGF0IHZhcmlhYmxlcyB0aGF0IGRlcGVuZCBvbiBpdCBjYW4gbm93IGJlIHVwZGF0ZWQgaW4gdHVybi5cbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlQW5kVXBkYXRlQ29tcGxldGVkKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKSB7XG4gICAgaWYgKCF0aGlzLl91cGRhdGluZy5oYXModmFyaWFibGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlID0gdGhpcy5fdXBkYXRpbmcuZ2V0KHZhcmlhYmxlKTtcbiAgICB1cGRhdGU/LnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX3VwZGF0aW5nLmRlbGV0ZSh2YXJpYWJsZSk7XG4gICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuZGVsZXRlKHZhcmlhYmxlKTtcblxuICAgIHdyaXRlVmFyaWFibGVUcmFjZUxvZyh2YXJpYWJsZSwgJ3VwZGF0ZUFuZFZhbGlkYXRlIGNvbXBsZXRlZCcpO1xuXG4gICAgdGhpcy5fbm90aWZ5RGVwZW5kZW50U2NlbmVPYmplY3RzKHZhcmlhYmxlKTtcbiAgICB0aGlzLl91cGRhdGVOZXh0QmF0Y2goKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwodmFyaWFibGU6IFNjZW5lVmFyaWFibGUpIHtcbiAgICBjb25zdCB1cGRhdGUgPSB0aGlzLl91cGRhdGluZy5nZXQodmFyaWFibGUpO1xuICAgIHVwZGF0ZT8uc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdXBkYXRpbmcuZGVsZXRlKHZhcmlhYmxlKTtcbiAgICB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5kZWxldGUodmFyaWFibGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlVmFyaWFibGVFcnJvcih2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgZXJyOiBFcnJvcikge1xuICAgIGNvbnN0IHVwZGF0ZSA9IHRoaXMuX3VwZGF0aW5nLmdldCh2YXJpYWJsZSk7XG4gICAgdXBkYXRlPy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl91cGRhdGluZy5kZWxldGUodmFyaWFibGUpO1xuICAgIHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmRlbGV0ZSh2YXJpYWJsZSk7XG5cbiAgICB2YXJpYWJsZS5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlLCBlcnJvcjogZXJyLm1lc3NhZ2UgfSk7XG5cbiAgICBjb25zb2xlLmVycm9yKCdTY2VuZVZhcmlhYmxlU2V0IHVwZGF0ZUFuZFZhbGlkYXRlIGVycm9yJywgZXJyKTtcblxuICAgIHdyaXRlVmFyaWFibGVUcmFjZUxvZyh2YXJpYWJsZSwgJ3VwZGF0ZUFuZFZhbGlkYXRlIGVycm9yJywgZXJyKTtcblxuICAgIHRoaXMuX25vdGlmeURlcGVuZGVudFNjZW5lT2JqZWN0cyh2YXJpYWJsZSk7XG4gICAgdGhpcy5fdXBkYXRlTmV4dEJhdGNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVWYXJpYWJsZVZhbHVlQ2hhbmdlZCh2YXJpYWJsZVRoYXRDaGFuZ2VkOiBTY2VuZVZhcmlhYmxlKSB7XG4gICAgdGhpcy5fdmFyaWFibGVzVGhhdEhhdmVDaGFuZ2VkLmFkZCh2YXJpYWJsZVRoYXRDaGFuZ2VkKTtcbiAgICB0aGlzLl9hZGREZXBlbmRlbnRWYXJpYWJsZXNUb1VwZGF0ZVF1ZXVlKHZhcmlhYmxlVGhhdENoYW5nZWQpO1xuXG4gICAgLy8gSWdub3JlIHRoaXMgY2hhbmdlIGlmIGl0IGlzIGN1cnJlbnRseSB1cGRhdGluZ1xuICAgIGlmICghdGhpcy5fdXBkYXRpbmcuaGFzKHZhcmlhYmxlVGhhdENoYW5nZWQpKSB7XG4gICAgICB0aGlzLl91cGRhdGVOZXh0QmF0Y2goKTtcbiAgICAgIHRoaXMuX25vdGlmeURlcGVuZGVudFNjZW5lT2JqZWN0cyh2YXJpYWJsZVRoYXRDaGFuZ2VkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBpcyBjYWxsZWQgYnkgYW55IHBhcmVudCBsZXZlbCB2YXJpYWJsZSBzZXQgdG8gbm90aWZ5IHNjZW5lIHRoYXQgYW4gdXBkYXRlIGJhdGNoIGlzIGNvbXBsZXRlZC5cbiAgICogVGhpcyBpcyB0aGUgbWFpbiBtZWNoYW5pc20gbG93ZXIgbGV2ZWwgdmFyaWFibGUgc2V0J3MgcmVhY3QgdG8gY2hhbmdlcyBvbiBoaWdoZXIgbGV2ZWxzLlxuICAgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlUGFyZW50VmFyaWFibGVVcGRhdGVzQ29tcGxldGVkKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlLCBoYXNDaGFuZ2VkOiBib29sZWFuKSB7XG4gICAgLy8gRmlyc3QgbG9vcCB0aHJvdWdoIGNoYW5nZWQgdmFyaWFibGVzIGFuZCBhZGQgYW55IG9mIG91ciB2YXJpYWJsZXMgdGhhdCBkZXBlbmQgb24gdGhlIGhpZ2hlciBsZXZlbCB2YXJpYWJsZSB0byB0aGUgdXBkYXRlIHF1ZXVlXG4gICAgaWYgKGhhc0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuX2FkZERlcGVuZGVudFZhcmlhYmxlc1RvVXBkYXRlUXVldWUodmFyaWFibGUpO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgdmFyaWFibGVzIHRvIHVwZGF0ZSBidXQgbm9uZSBhcmUgY3VycmVudGx5IHVwZGF0aW5nIGtpY2sgb2YgYSBuZXcgdXBkYXRlIGJhdGNoXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLnNpemUgPiAwICYmIHRoaXMuX3VwZGF0aW5nLnNpemUgPT09IDApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZU5leHRCYXRjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZERlcGVuZGVudFZhcmlhYmxlc1RvVXBkYXRlUXVldWUodmFyaWFibGVUaGF0Q2hhbmdlZDogU2NlbmVWYXJpYWJsZSkge1xuICAgIGZvciAoY29uc3Qgb3RoZXJWYXJpYWJsZSBvZiB0aGlzLnN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgaWYgKG90aGVyVmFyaWFibGUudmFyaWFibGVEZXBlbmRlbmN5KSB7XG4gICAgICAgIGlmIChvdGhlclZhcmlhYmxlLnZhcmlhYmxlRGVwZW5kZW5jeS5oYXNEZXBlbmRlbmN5T24odmFyaWFibGVUaGF0Q2hhbmdlZC5zdGF0ZS5uYW1lKSkge1xuICAgICAgICAgIHdyaXRlVmFyaWFibGVUcmFjZUxvZyhvdGhlclZhcmlhYmxlLCAnQWRkZWQgdG8gdXBkYXRlIHF1ZXVlLCBkZXBlbmRhbnQgdmFyaWFibGUgdmFsdWUgY2hhbmdlZCcpO1xuXG4gICAgICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nLmhhcyhvdGhlclZhcmlhYmxlKSAmJiBvdGhlclZhcmlhYmxlLm9uQ2FuY2VsKSB7XG4gICAgICAgICAgICBvdGhlclZhcmlhYmxlLm9uQ2FuY2VsKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuYWRkKG90aGVyVmFyaWFibGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdhbGsgc2NlbmUgb2JqZWN0IGdyYXBoIGFuZCB1cGRhdGUgYWxsIG9iamVjdHMgdGhhdCBkZXBlbmQgb24gdmFyaWFibGVzIHRoYXQgaGF2ZSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIF9ub3RpZnlEZXBlbmRlbnRTY2VuZU9iamVjdHModmFyaWFibGU6IFNjZW5lVmFyaWFibGUpIHtcbiAgICBpZiAoIXRoaXMucGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJhdmVyc2VTY2VuZUFuZE5vdGlmeSh0aGlzLnBhcmVudCwgdmFyaWFibGUsIHRoaXMuX3ZhcmlhYmxlc1RoYXRIYXZlQ2hhbmdlZC5oYXModmFyaWFibGUpKTtcbiAgICB0aGlzLl92YXJpYWJsZXNUaGF0SGF2ZUNoYW5nZWQuZGVsZXRlKHZhcmlhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmx5IHdhbGsgdGhlIGZ1bGwgc2NlbmUgb2JqZWN0IGdyYXBoIGFuZCBub3RpZnkgYWxsIG9iamVjdHMgd2l0aCBkZXBlbmRlbmNpZXMgdGhhdCBpbmNsdWRlIGFueSBvZiBjaGFuZ2VkIHZhcmlhYmxlc1xuICAgKi9cbiAgcHJpdmF0ZSBfdHJhdmVyc2VTY2VuZUFuZE5vdGlmeShzY2VuZU9iamVjdDogU2NlbmVPYmplY3QsIHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlLCBoYXNDaGFuZ2VkOiBib29sZWFuKSB7XG4gICAgLy8gTm8gbmVlZCB0byBub3RpZnkgdmFyaWFibGVzIHVuZGVyIHRoaXMgU2NlbmVWYXJpYWJsZVNldFxuICAgIGlmICh0aGlzID09PSBzY2VuZU9iamVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFNraXAgbm9uIGFjdGl2ZSBzY2VuZSBvYmplY3RzXG4gICAgaWYgKCFzY2VuZU9iamVjdC5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGZpbmQgYSBuZXN0ZWQgU2NlbmVWYXJpYWJsZVNldCB0aGF0IGhhcyBhIHZhcmlhYmxlIHdpdGggdGhlIHNhbWUgbmFtZSB3ZSBzdG9wIHRoZSB0cmF2ZXJzYWxcbiAgICBpZiAoc2NlbmVPYmplY3Quc3RhdGUuJHZhcmlhYmxlcyAmJiBzY2VuZU9iamVjdC5zdGF0ZS4kdmFyaWFibGVzICE9PSB0aGlzKSB7XG4gICAgICBjb25zdCBsb2NhbFZhciA9IHNjZW5lT2JqZWN0LnN0YXRlLiR2YXJpYWJsZXMuZ2V0QnlOYW1lKHZhcmlhYmxlLnN0YXRlLm5hbWUpO1xuICAgICAgaWYgKGxvY2FsVmFyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2NlbmVPYmplY3QudmFyaWFibGVEZXBlbmRlbmN5KSB7XG4gICAgICBzY2VuZU9iamVjdC52YXJpYWJsZURlcGVuZGVuY3kudmFyaWFibGVVcGRhdGVDb21wbGV0ZWQodmFyaWFibGUsIGhhc0NoYW5nZWQpO1xuICAgIH1cblxuICAgIHNjZW5lT2JqZWN0LmZvckVhY2hDaGlsZCgoY2hpbGQpID0+IHRoaXMuX3RyYXZlcnNlU2NlbmVBbmROb3RpZnkoY2hpbGQsIHZhcmlhYmxlLCBoYXNDaGFuZ2VkKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdmFyaWFibGUgaXMgd2FpdGluZyB0byB1cGRhdGUgb3IgY3VycmVudGx5IHVwZGF0aW5nLlxuICAgKiBJdCBhbHNvIHJldHVybnMgdHJ1ZSBpZiBhIGRlcGVuZGVuY3kgb2YgdGhlIHZhcmlhYmxlIGlzIGxvYWRpbmcuXG4gICAqXG4gICAqIEZvciBleGFtcGxlIGlmIEMgZGVwZW5kcyBvbiB2YXJpYWJsZSBCIHdoaWNoIGRlcGVuZHMgb24gdmFyaWFibGUgQSBhbmQgQSBpcyBsb2FkaW5nIHRoaXMgcmV0dXJucyB0cnVlIGZvciB2YXJpYWJsZSBDIGFuZCBCLlxuICAgKi9cbiAgcHVibGljIGlzVmFyaWFibGVMb2FkaW5nT3JXYWl0aW5nVG9VcGRhdGUodmFyaWFibGU6IFNjZW5lVmFyaWFibGUpIHtcbiAgICBpZiAodmFyaWFibGUuaXNBbmNlc3RvckxvYWRpbmcgJiYgdmFyaWFibGUuaXNBbmNlc3RvckxvYWRpbmcoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmhhcyh2YXJpYWJsZSkgfHwgdGhpcy5fdXBkYXRpbmcuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBzY2VuYXJpbyBpcyB0byBjaGVjayB0aGUgdmFyaWFibGUncyBvd24gZGVwZW5kZW5jaWVzIGFzIHdlbGxcbiAgICByZXR1cm4gc2NlbmVHcmFwaC5oYXNWYXJpYWJsZURlcGVuZGVuY3lJbkxvYWRpbmdTdGF0ZSh2YXJpYWJsZSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYXJpYWJsZVVwZGF0ZUluUHJvZ3Jlc3Mge1xuICB2YXJpYWJsZTogU2NlbmVWYXJpYWJsZTtcbiAgc3Vic2NyaXB0aW9uPzogVW5zdWJzY3JpYmFibGU7XG59XG5cbmZ1bmN0aW9uIHdyaXRlVmFyaWFibGVUcmFjZUxvZyh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgbWVzc2FnZTogc3RyaW5nLCBlcnI/OiBFcnJvcikge1xuICBpZiAoZXJyKSB7XG4gICAgd3JpdGVTY2VuZUxvZygnU2NlbmVWYXJpYWJsZVNldCcsIGBWYXJpYWJsZVske3ZhcmlhYmxlLnN0YXRlLm5hbWV9XTogJHttZXNzYWdlfWAsIGVycik7XG4gIH0gZWxzZSB7XG4gICAgd3JpdGVTY2VuZUxvZygnU2NlbmVWYXJpYWJsZVNldCcsIGBWYXJpYWJsZVske3ZhcmlhYmxlLnN0YXRlLm5hbWV9XTogJHttZXNzYWdlfWApO1xuICB9XG59XG5cbmNsYXNzIFNjZW5lVmFyaWFibGVTZXRWYXJpYWJsZURlcGVuZGVuY3lIYW5kbGVyIGltcGxlbWVudHMgU2NlbmVWYXJpYWJsZURlcGVuZGVuY3lDb25maWdMaWtlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX3ZhcmlhYmxlVXBkYXRlc0NvbXBsZXRlZDogKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlLCBoYXNDaGFuZ2VkOiBib29sZWFuKSA9PiB2b2lkKSB7fVxuXG4gIHByaXZhdGUgX2VtcHR5U2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGdldE5hbWVzKCk6IFNldDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZW1wdHlTZXQ7XG4gIH1cblxuICBwdWJsaWMgaGFzRGVwZW5kZW5jeU9uKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB2YXJpYWJsZVVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgaGFzQ2hhbmdlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX3ZhcmlhYmxlVXBkYXRlc0NvbXBsZXRlZCh2YXJpYWJsZSwgaGFzQ2hhbmdlZCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBZ0JPLE1BQU0seUJBQXlCLGVBQWlFLENBQUE7QUFBQSxFQXdCOUYsWUFBWSxLQUE4QixFQUFBO0FBQy9DLElBQUEsS0FBQSxDQUFNLEtBQUssQ0FBQSxDQUFBO0FBdkJiLElBQVEsSUFBQSxDQUFBLHlCQUFBLHVCQUFnQyxHQUFtQixFQUFBLENBQUE7QUFHM0QsSUFBUSxJQUFBLENBQUEsa0JBQUEsdUJBQXlCLEdBQW1CLEVBQUEsQ0FBQTtBQUdwRCxJQUFRLElBQUEsQ0FBQSxTQUFBLHVCQUFnQixHQUE2QyxFQUFBLENBQUE7QUFFckUsSUFBUSxJQUFBLENBQUEsc0JBQUEsR0FBeUIsSUFBSSxxQkFBc0IsRUFBQSxDQUFBO0FBSzNELElBQUEsSUFBQSxDQUFVLHNCQUFzQixJQUFJLHlDQUFBO0FBQUEsTUFDbEMsSUFBQSxDQUFLLHFDQUFzQyxDQUFBLElBQUEsQ0FBSyxJQUFJLENBQUE7QUFBQSxLQUN0RCxDQUFBO0FBZ0JBLElBQUEsSUFBQSxDQUFRLGNBQWMsTUFBTTtBQUMxQixNQUFNLE1BQUEsU0FBQSxHQUFZLFVBQVcsQ0FBQSxZQUFBLENBQWEsSUFBSSxDQUFBLENBQUE7QUFFOUMsTUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLEdBQUE7QUFBQSxRQUNULElBQUEsQ0FBSyxpQkFBaUIsOEJBQWdDLEVBQUEsQ0FBQyxVQUFVLElBQUssQ0FBQSwyQkFBQSxDQUE0QixLQUFNLENBQUEsT0FBTyxDQUFDLENBQUE7QUFBQSxPQUNsSCxDQUFBO0FBRUEsTUFBQSxJQUFBLENBQUssS0FBTSxD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
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BusEventWithPayload } from '@grafana/data';
|
|
2
|
-
|
|
3
|
-
class SceneVariableValueChangedEvent extends BusEventWithPayload {
|
|
4
|
-
}
|
|
5
|
-
SceneVariableValueChangedEvent.type = "scene-variable-changed-value";
|
|
6
|
-
function isCustomVariableValue(value) {
|
|
7
|
-
return typeof value === "object" && "formatter" in value;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { SceneVariableValueChangedEvent, isCustomVariableValue };
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCdXNFdmVudFdpdGhQYXlsb2FkIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBWYXJpYWJsZVR5cGUsIFZhcmlhYmxlSGlkZSB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0LCBTY2VuZU9iamVjdFN0YXRlIH0gZnJvbSAnLi4vY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVWYXJpYWJsZVN0YXRlIGV4dGVuZHMgU2NlbmVPYmplY3RTdGF0ZSB7XG4gIHR5cGU6IFZhcmlhYmxlVHlwZTtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgaGlkZT86IFZhcmlhYmxlSGlkZTtcbiAgc2tpcFVybFN5bmM/OiBib29sZWFuO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBhbnkgfCBudWxsO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVWYXJpYWJsZTxUU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUgPSBTY2VuZVZhcmlhYmxlU3RhdGU+IGV4dGVuZHMgU2NlbmVPYmplY3Q8VFN0YXRlPiB7XG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBhY3RpdmF0aW9uIG9yIHdoZW4gYSBkZXBlbmRlbmN5IGNoYW5nZXMuXG4gICAqL1xuICB2YWxpZGF0ZUFuZFVwZGF0ZT8oKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdD47XG5cbiAgLyoqXG4gICAqIFNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGZvciB0aGUgZ2l2ZW4gZmllbGQgcGF0aFxuICAgKi9cbiAgZ2V0VmFsdWUoZmllbGRQYXRoPzogc3RyaW5nKTogVmFyaWFibGVWYWx1ZSB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGRpc3BsYXkgdGV4dCwgdXNlZCBieSB0aGUgXCJ0ZXh0XCIgZm9ybWF0dGVyXG4gICAqIEV4YW1wbGU6ICR7cG9kSWQ6dGV4dH1cbiAgICogVXNlZnVsIGZvciB2YXJpYWJsZXMgdGhhdCBoYXZlIG5vbiB1c2VyIGZyaWVuZGx5IHZhbHVlcyBidXQgZnJpZW5kbHkgZGlzcGxheSB0ZXh0IG5hbWVzLlxuICAgKi9cbiAgZ2V0VmFsdWVUZXh0PyhmaWVsZFBhdGg/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvciBzcGVjaWFsIGVkZ2UgY2FzZSBzZW5hcmlvcy4gRm9yIGV4YW1wbGUgbG9jYWwgZnVuY3Rpb24gdGhhdCBsb2NhbGx5IHNjb3BlZCB2YXJpYWJsZXMgY2FuIGltcGxlbWVudC5cbiAgICoqL1xuICBpc0FuY2VzdG9yTG9hZGluZz8oKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWxsb3dzIGNhbmNlbGxpbmcgdmFyaWFibGUgZXhlY3V0aW9uLlxuICAgKi9cbiAgb25DYW5jZWw/KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICogSW5kaWNhdGVzIHRoYXQgYSB2YXJpYWJsZSBsb2FkcyB2YWx1ZXMgbGF6aWx5IHdoZW4gdXNlciBpbnRlcmFjdHMgd2l0aCB0aGUgdmFyaWFibGUgZHJvcGRvd24uXG4gICAqL1xuICBpc0xhenk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBWYXJpYWJsZVZhbHVlID0gVmFyaWFibGVWYWx1ZVNpbmdsZSB8IFZhcmlhYmxlVmFsdWVTaW5nbGVbXTtcblxuZXhwb3J0IHR5cGUgVmFyaWFibGVWYWx1ZVNpbmdsZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBDdXN0b21WYXJpYWJsZVZhbHVlO1xuXG4vKipcbiAqIFRoaXMgaXMgZm9yIGVkZ2UgY2FzZSB2YWx1ZXMgbGlrZSB0aGUgY3VzdG9tIFwiYWxsVmFsdWVcIiB0aGF0IHNob3VsZCBub3QgYmUgZXNjYXBlZC9mb3JtYXR0ZWQgbGlrZSBvdGhlciB2YWx1ZXNcbiAqIFRoZSBjdXN0b20gYWxsIHZhbHVlIHVzdWFsbHkgY29udGFpbiB3aWxkY2FyZHMgdGhhdCBzaG91bGQgbm90IGJlIGVzY2FwZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVmFyaWFibGVWYWx1ZSB7XG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IG5hbWUgb3IgZnVuY3Rpb24gdXNlZCBpbiB0aGUgZXhwcmVzc2lvblxuICAgKi9cbiAgZm9ybWF0dGVyKGZvcm1hdE5hbWVPckZuPzogc3RyaW5nIHwgVmFyaWFibGVDdXN0b21Gb3JtYXR0ZXJGbik6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdCB7fVxuZXhwb3J0IGludGVyZmFjZSBWYXJpYWJsZVZhbHVlT3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IFZhcmlhYmxlVmFsdWVTaW5nbGU7XG4gIGdyb3VwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjZW5lVmFyaWFibGVTZXRTdGF0ZSBleHRlbmRzIFNjZW5lT2JqZWN0U3RhdGUge1xuICB2YXJpYWJsZXM6IFNjZW5lVmFyaWFibGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2VuZVZhcmlhYmxlcyBleHRlbmRzIFNjZW5lT2JqZWN0PFNjZW5lVmFyaWFibGVTZXRTdGF0ZT4ge1xuICAvKipcbiAgICogV2lsbCBsb29rIGZvciBhbmQgcmV0dXJuIHZhcmlhYmxlIG1hdGNoaW5nIG5hbWVcbiAgICovXG4gIGdldEJ5TmFtZShuYW1lOiBzdHJpbmcpOiBTY2VuZVZhcmlhYmxlIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogV2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgdmFyaWFibGUgaXMgbG9hZGluZyBvciB3YWl0aW5nIGZvciBhbiB1cGRhdGUgdG8gY29tcGxldGUuXG4gICAqL1xuICBpc1ZhcmlhYmxlTG9hZGluZ09yV2FpdGluZ1RvVXBkYXRlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCBleHRlbmRzIEJ1c0V2ZW50V2l0aFBheWxvYWQ8U2NlbmVWYXJpYWJsZT4ge1xuICBwdWJsaWMgc3RhdGljIHR5cGUgPSAnc2NlbmUtdmFyaWFibGUtY2hhbmdlZC12YWx1ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVWYXJpYWJsZURlcGVuZGVuY3lDb25maWdMaWtlIHtcbiAgLyoqIFJldHVybiBhbGwgdmFyaWFibGUgbmFtZXMgdGhpcyBvYmplY3QgZGVwZW5kIG9uICovXG4gIGdldE5hbWVzKCk6IFNldDxzdHJpbmc+O1xuXG4gIC8qKiBVc2VkIHRvIGNoZWNrIGZvciBkZXBlbmRlbmN5IG9uIGEgc3BlY2lmaWMgdmFyaWFibGUgKi9cbiAgaGFzRGVwZW5kZW5jeU9uKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIFZhcmlhYmxlU2V0IGhhdmUgY29tcGxldGVkIGFuIHVwZGF0ZSBwcm9jZXNzIG9yIHdoZW4gYSB2YXJpYWJsZSBoYXMgY2hhbmdlZCB2YWx1ZS5cbiAgICoqL1xuICB2YXJpYWJsZVVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgaGFzQ2hhbmdlZDogYm9vbGVhbik6IHZvaWQ7XG59XG5cbi8qKlxuICogVXNlZCBpbiBDdXN0b21Gb3JtYXR0ZXJGblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUZvcm1hdHRlclZhcmlhYmxlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBWYXJpYWJsZVR5cGU7XG4gIG11bHRpPzogYm9vbGVhbjtcbiAgaW5jbHVkZUFsbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFZhcmlhYmxlQ3VzdG9tRm9ybWF0dGVyRm4gPSAoXG4gIHZhbHVlOiB1bmtub3duLFxuICBsZWdhY3lWYXJpYWJsZU1vZGVsOiBQYXJ0aWFsPEN1c3RvbUZvcm1hdHRlclZhcmlhYmxlPixcbiAgbGVnYWN5RGVmYXVsdEZvcm1hdHRlcj86IFZhcmlhYmxlQ3VzdG9tRm9ybWF0dGVyRm5cbikgPT4gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBJbnRlcnBvbGF0aW9uRm9ybWF0UGFyYW1ldGVyID0gc3RyaW5nIHwgVmFyaWFibGVDdXN0b21Gb3JtYXR0ZXJGbiB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tVmFyaWFibGVWYWx1ZSh2YWx1ZTogVmFyaWFibGVWYWx1ZSk6IHZhbHVlIGlzIEN1c3RvbVZhcmlhYmxlVmFsdWUge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnZm9ybWF0dGVyJyBpbiB2YWx1ZTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTBGTyxNQUFNLHVDQUF1QyxtQkFBbUMsQ0FBQTtBQUV2RixDQUFBO0FBRmEsOEJBQUEsQ0FDRyxJQUFPLEdBQUEsOEJBQUEsQ0FBQTtBQWtDaEIsU0FBUyxzQkFBc0IsS0FBb0QsRUFBQTtBQUN4RixFQUFPLE9BQUEsT0FBTyxLQUFVLEtBQUEsUUFBQSxJQUFZLFdBQWUsSUFBQSxLQUFBLENBQUE7QUFDckQ7Ozs7In0=
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { isEqual } from 'lodash';
|
|
2
|
-
import { sceneGraph } from '../core/sceneGraph/index.js';
|
|
3
|
-
import { SceneQueryRunner } from '../querying/SceneQueryRunner.js';
|
|
4
|
-
import uFuzzy from '@leeoniya/ufuzzy';
|
|
5
|
-
|
|
6
|
-
function isVariableValueEqual(a, b) {
|
|
7
|
-
if (a === b) {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
return isEqual(a, b);
|
|
11
|
-
}
|
|
12
|
-
function safeStringifyValue(value) {
|
|
13
|
-
const getCircularReplacer = () => {
|
|
14
|
-
const seen = /* @__PURE__ */ new WeakSet();
|
|
15
|
-
return (_, value2) => {
|
|
16
|
-
if (typeof value2 === "object" && value2 !== null) {
|
|
17
|
-
if (seen.has(value2)) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
seen.add(value2);
|
|
21
|
-
}
|
|
22
|
-
return value2;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
try {
|
|
26
|
-
return JSON.stringify(value, getCircularReplacer());
|
|
27
|
-
} catch (error) {
|
|
28
|
-
console.error(error);
|
|
29
|
-
}
|
|
30
|
-
return "";
|
|
31
|
-
}
|
|
32
|
-
function renderPrometheusLabelFilters(filters) {
|
|
33
|
-
return filters.map((filter) => renderFilter(filter)).join(",");
|
|
34
|
-
}
|
|
35
|
-
function renderFilter(filter) {
|
|
36
|
-
var _a, _b;
|
|
37
|
-
let value = "";
|
|
38
|
-
let operator = filter.operator;
|
|
39
|
-
if (operator === "=|") {
|
|
40
|
-
operator = "=~";
|
|
41
|
-
value = (_a = filter.values) == null ? void 0 : _a.map(escapeLabelValueInRegexSelector).join("|");
|
|
42
|
-
} else if (operator === "!=|") {
|
|
43
|
-
operator = "!~";
|
|
44
|
-
value = (_b = filter.values) == null ? void 0 : _b.map(escapeLabelValueInRegexSelector).join("|");
|
|
45
|
-
} else if (operator === "=~" || operator === "!~") {
|
|
46
|
-
value = escapeLabelValueInRegexSelector(filter.value);
|
|
47
|
-
} else {
|
|
48
|
-
value = escapeLabelValueInExactSelector(filter.value);
|
|
49
|
-
}
|
|
50
|
-
return `${filter.key}${operator}"${value}"`;
|
|
51
|
-
}
|
|
52
|
-
function escapeLabelValueInExactSelector(labelValue) {
|
|
53
|
-
return labelValue.replace(/\\/g, "\\\\").replace(/\n/g, "\\n").replace(/"/g, '\\"');
|
|
54
|
-
}
|
|
55
|
-
function escapeLabelValueInRegexSelector(labelValue) {
|
|
56
|
-
return escapeLabelValueInExactSelector(escapeLokiRegexp(labelValue));
|
|
57
|
-
}
|
|
58
|
-
const RE2_METACHARACTERS = /[*+?()|\\.\[\]{}^$]/g;
|
|
59
|
-
function escapeLokiRegexp(value) {
|
|
60
|
-
return value.replace(RE2_METACHARACTERS, "\\$&");
|
|
61
|
-
}
|
|
62
|
-
function getQueriesForVariables(sourceObject) {
|
|
63
|
-
const runners = sceneGraph.findAllObjects(
|
|
64
|
-
sourceObject.getRoot(),
|
|
65
|
-
(o) => o instanceof SceneQueryRunner
|
|
66
|
-
);
|
|
67
|
-
const applicableRunners = filterOutInactiveRunnerDuplicates(runners).filter((r) => {
|
|
68
|
-
var _a, _b;
|
|
69
|
-
return ((_a = r.state.datasource) == null ? void 0 : _a.uid) === ((_b = sourceObject.state.datasource) == null ? void 0 : _b.uid);
|
|
70
|
-
});
|
|
71
|
-
if (applicableRunners.length === 0) {
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
const result = [];
|
|
75
|
-
applicableRunners.forEach((r) => {
|
|
76
|
-
result.push(...r.state.queries);
|
|
77
|
-
});
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
function filterOutInactiveRunnerDuplicates(runners) {
|
|
81
|
-
const groupedItems = {};
|
|
82
|
-
for (const item of runners) {
|
|
83
|
-
if (item.state.key) {
|
|
84
|
-
if (!(item.state.key in groupedItems)) {
|
|
85
|
-
groupedItems[item.state.key] = [];
|
|
86
|
-
}
|
|
87
|
-
groupedItems[item.state.key].push(item);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return Object.values(groupedItems).flatMap((group) => {
|
|
91
|
-
const activeItems = group.filter((item) => item.isActive);
|
|
92
|
-
if (activeItems.length === 0 && group.length === 1) {
|
|
93
|
-
return group;
|
|
94
|
-
}
|
|
95
|
-
return activeItems;
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
function escapeUrlPipeDelimiters(value) {
|
|
99
|
-
if (value === null || value === void 0) {
|
|
100
|
-
return "";
|
|
101
|
-
}
|
|
102
|
-
return value = /\|/g[Symbol.replace](value, "__gfp__");
|
|
103
|
-
}
|
|
104
|
-
function escapeUrlCommaDelimiters(value) {
|
|
105
|
-
if (value === null || value === void 0) {
|
|
106
|
-
return "";
|
|
107
|
-
}
|
|
108
|
-
return /,/g[Symbol.replace](value, "__gfc__");
|
|
109
|
-
}
|
|
110
|
-
function unescapeUrlDelimiters(value) {
|
|
111
|
-
if (value === null || value === void 0) {
|
|
112
|
-
return "";
|
|
113
|
-
}
|
|
114
|
-
value = /__gfp__/g[Symbol.replace](value, "|");
|
|
115
|
-
value = /__gfc__/g[Symbol.replace](value, ",");
|
|
116
|
-
return value;
|
|
117
|
-
}
|
|
118
|
-
function toUrlCommaDelimitedString(key, label) {
|
|
119
|
-
if (!label || key === label) {
|
|
120
|
-
return escapeUrlCommaDelimiters(key);
|
|
121
|
-
}
|
|
122
|
-
return [key, label].map(escapeUrlCommaDelimiters).join(",");
|
|
123
|
-
}
|
|
124
|
-
function dataFromResponse(response) {
|
|
125
|
-
return Array.isArray(response) ? response : response.data;
|
|
126
|
-
}
|
|
127
|
-
function responseHasError(response) {
|
|
128
|
-
return !Array.isArray(response) && Boolean(response.error);
|
|
129
|
-
}
|
|
130
|
-
function handleOptionGroups(values) {
|
|
131
|
-
const result = [];
|
|
132
|
-
const groupedResults = /* @__PURE__ */ new Map();
|
|
133
|
-
for (const value of values) {
|
|
134
|
-
const groupLabel = value.group;
|
|
135
|
-
if (groupLabel) {
|
|
136
|
-
let group = groupedResults.get(groupLabel);
|
|
137
|
-
if (!group) {
|
|
138
|
-
group = [];
|
|
139
|
-
groupedResults.set(groupLabel, group);
|
|
140
|
-
result.push({ label: groupLabel, options: group });
|
|
141
|
-
}
|
|
142
|
-
group.push(value);
|
|
143
|
-
} else {
|
|
144
|
-
result.push(value);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return result;
|
|
148
|
-
}
|
|
149
|
-
function getFuzzySearcher(haystack, limit = 1e4) {
|
|
150
|
-
const ufuzzy = new uFuzzy();
|
|
151
|
-
const FIRST = Array.from({ length: Math.min(limit, haystack.length) }, (_, i) => i);
|
|
152
|
-
return (search) => {
|
|
153
|
-
if (search === "") {
|
|
154
|
-
return FIRST;
|
|
155
|
-
}
|
|
156
|
-
const [idxs, info, order] = ufuzzy.search(haystack, search);
|
|
157
|
-
if (idxs) {
|
|
158
|
-
if (info && order) {
|
|
159
|
-
const outIdxs = Array(Math.min(order.length, limit));
|
|
160
|
-
for (let i = 0; i < outIdxs.length; i++) {
|
|
161
|
-
outIdxs[i] = info.idx[order[i]];
|
|
162
|
-
}
|
|
163
|
-
return outIdxs;
|
|
164
|
-
}
|
|
165
|
-
return idxs.slice(0, limit);
|
|
166
|
-
}
|
|
167
|
-
return [];
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export { dataFromResponse, escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector, escapeUrlCommaDelimiters, escapeUrlPipeDelimiters, getFuzzySearcher, getQueriesForVariables, handleOptionGroups, isVariableValueEqual, renderPrometheusLabelFilters, responseHasError, safeStringifyValue, toUrlCommaDelimitedString, unescapeUrlDelimiters };
|
|
172
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBBZEhvY1ZhcmlhYmxlRmlsdGVyLCBEYXRhUXVlcnlFcnJvciwgR2V0VGFnUmVzcG9uc2UsIE1ldHJpY0ZpbmRWYWx1ZSwgU2VsZWN0YWJsZVZhbHVlIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lRGF0YVF1ZXJ5LCBTY2VuZU9iamVjdCwgU2NlbmVPYmplY3RTdGF0ZSB9IGZyb20gJy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgU2NlbmVRdWVyeVJ1bm5lciB9IGZyb20gJy4uL3F1ZXJ5aW5nL1NjZW5lUXVlcnlSdW5uZXInO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVJlZiB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5pbXBvcnQgdUZ1enp5IGZyb20gJ0BsZWVvbml5YS91ZnV6enknO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWYXJpYWJsZVZhbHVlRXF1YWwoYTogVmFyaWFibGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsIGI6IFZhcmlhYmxlVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gaXNFcXVhbChhLCBiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVTdHJpbmdpZnlWYWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAvLyBBdm9pZCBjaXJjdWxhciByZWZlcmVuY2VzIGlnbm9yaW5nIHRob3NlIHJlZmVyZW5jZXNcbiAgY29uc3QgZ2V0Q2lyY3VsYXJSZXBsYWNlciA9ICgpID0+IHtcbiAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQoKTtcbiAgICByZXR1cm4gKF86IHN0cmluZywgdmFsdWU6IG9iamVjdCB8IG51bGwpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2Vlbi5hZGQodmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG4gIH07XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIGdldENpcmN1bGFyUmVwbGFjZXIoKSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQcm9tZXRoZXVzTGFiZWxGaWx0ZXJzKGZpbHRlcnM6IEFkSG9jVmFyaWFibGVGaWx0ZXJbXSkge1xuICByZXR1cm4gZmlsdGVycy5tYXAoKGZpbHRlcikgPT4gcmVuZGVyRmlsdGVyKGZpbHRlcikpLmpvaW4oJywnKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyRmlsdGVyKGZpbHRlcjogQWRIb2NWYXJpYWJsZUZpbHRlcikge1xuICBsZXQgdmFsdWUgPSAnJztcbiAgbGV0IG9wZXJhdG9yID0gZmlsdGVyLm9wZXJhdG9yO1xuXG4gIC8vIG1hcCBcIm9uZSBvZlwiIG9wZXJhdG9yIHRvIHJlZ2V4XG4gIGlmIChvcGVyYXRvciA9PT0gJz18Jykge1xuICAgIG9wZXJhdG9yID0gJz1+JztcbiAgICAvLyBUT0RPIHJlbW92ZSB3aGVuIHdlJ3JlIG9uIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBAZ3JhZmFuYS9kYXRhXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHZhbHVlID0gZmlsdGVyLnZhbHVlcz8ubWFwKGVzY2FwZUxhYmVsVmFsdWVJblJlZ2V4U2VsZWN0b3IpLmpvaW4oJ3wnKTtcbiAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gJyE9fCcpIHtcbiAgICBvcGVyYXRvciA9ICchfic7XG4gICAgLy8gVE9ETyByZW1vdmUgd2hlbiB3ZSdyZSBvbiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgQGdyYWZhbmEvZGF0YVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2YWx1ZSA9IGZpbHRlci52YWx1ZXM/Lm1hcChlc2NhcGVMYWJlbFZhbHVlSW5SZWdleFNlbGVjdG9yKS5qb2luKCd8Jyk7XG4gIH0gZWxzZSBpZiAob3BlcmF0b3IgPT09ICc9ficgfHwgb3BlcmF0b3IgPT09ICchficpIHtcbiAgICB2YWx1ZSA9IGVzY2FwZUxhYmVsVmFsdWVJblJlZ2V4U2VsZWN0b3IoZmlsdGVyLnZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZSA9IGVzY2FwZUxhYmVsVmFsdWVJbkV4YWN0U2VsZWN0b3IoZmlsdGVyLnZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiBgJHtmaWx0ZXIua2V5fSR7b3BlcmF0b3J9XCIke3ZhbHVlfVwiYDtcbn1cblxuLy8gYmFzZWQgb24gdGhlIG9wZW5tZXRyaWNzLWRvY3VtZW50YXRpb24sIHRoZSAzIHN5bWJvbHMgd2UgaGF2ZSB0byBoYW5kbGUgYXJlOlxuLy8gLSBcXG4gLi4uIHRoZSBuZXdsaW5lIGNoYXJhY3RlclxuLy8gLSBcXCAgLi4uIHRoZSBiYWNrc2xhc2ggY2hhcmFjdGVyXG4vLyAtIFwiICAuLi4gdGhlIGRvdWJsZS1xdW90ZSBjaGFyYWN0ZXJcbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVMYWJlbFZhbHVlSW5FeGFjdFNlbGVjdG9yKGxhYmVsVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBsYWJlbFZhbHVlLnJlcGxhY2UoL1xcXFwvZywgJ1xcXFxcXFxcJykucmVwbGFjZSgvXFxuL2csICdcXFxcbicpLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUxhYmVsVmFsdWVJblJlZ2V4U2VsZWN0b3IobGFiZWxWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVzY2FwZUxhYmVsVmFsdWVJbkV4YWN0U2VsZWN0b3IoZXNjYXBlTG9raVJlZ2V4cChsYWJlbFZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZ2V4U2VsZWN0b3Ioc2VsZWN0b3I/OiBzdHJpbmcpIHtcbiAgaWYgKHNlbGVjdG9yICYmIChzZWxlY3Rvci5pbmNsdWRlcygnPX4nKSB8fCBzZWxlY3Rvci5pbmNsdWRlcygnIX4nKSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIExva2kgcmVndWxhci1leHByZXNzaW9ucyB1c2UgdGhlIFJFMiBzeW50YXggKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvcmUyL3dpa2kvU3ludGF4KSxcbi8vIHNvIGV2ZXJ5IGNoYXJhY3RlciB0aGF0IG1hdGNoZXMgc29tZXRoaW5nIGluIHRoYXQgbGlzdCBoYXMgdG8gYmUgZXNjYXBlZC5cbi8vIHRoZSBsaXN0IG9mIG1ldGEgY2hhcmFjdGVycyBpczogKis/KCl8XFwuW117fV4kXG4vLyB3ZSBtYWtlIGEgamF2YXNjcmlwdCByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBtYXRjaGVzIHRob3NlIGNoYXJhY3RlcnM6XG5jb25zdCBSRTJfTUVUQUNIQVJBQ1RFUlMgPSAvWyorPygpfFxcXFwuXFxbXFxde31eJF0vZztcbmZ1bmN0aW9uIGVzY2FwZUxva2lSZWdleHAodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKFJFMl9NRVRBQ0hBUkFDVEVSUywgJ1xcXFwkJicpO1xufVxuXG4vKipcbiAqIEdldCBhbGwgcXVlcmllcyBpbiB0aGUgc2NlbmUgdGhhdCBoYXZlIHRoZSBzYW1lIGRhdGFzb3VyY2UgYXMgcHJvdmlkZWQgc291cmNlIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcmllc0ZvclZhcmlhYmxlcyhcbiAgc291cmNlT2JqZWN0OiBTY2VuZU9iamVjdDxTY2VuZU9iamVjdFN0YXRlICYgeyBkYXRhc291cmNlOiBEYXRhU291cmNlUmVmIHwgbnVsbCB9PlxuKSB7XG4gIGNvbnN0IHJ1bm5lcnMgPSBzY2VuZUdyYXBoLmZpbmRBbGxPYmplY3RzKFxuICAgIHNvdXJjZU9iamVjdC5nZXRSb290KCksXG4gICAgKG8pID0+IG8gaW5zdGFuY2VvZiBTY2VuZVF1ZXJ5UnVubmVyXG4gICkgYXMgU2NlbmVRdWVyeVJ1bm5lcltdO1xuXG4gIGNvbnN0IGFwcGxpY2FibGVSdW5uZXJzID0gZmlsdGVyT3V0SW5hY3RpdmVSdW5uZXJEdXBsaWNhdGVzKHJ1bm5lcnMpLmZpbHRlcigocikgPT4ge1xuICAgIHJldHVybiByLnN0YXRlLmRhdGFzb3VyY2U/LnVpZCA9PT0gc291cmNlT2JqZWN0LnN0YXRlLmRhdGFzb3VyY2U/LnVpZDtcbiAgfSk7XG5cbiAgaWYgKGFwcGxpY2FibGVSdW5uZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogU2NlbmVEYXRhUXVlcnlbXSA9IFtdO1xuICBhcHBsaWNhYmxlUnVubmVycy5mb3JFYWNoKChyKSA9PiB7XG4gICAgcmVzdWx0LnB1c2goLi4uci5zdGF0ZS5xdWVyaWVzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gRmlsdGVycyBvdXQgaW5hY3RpdmUgcnVubmVyIGR1cGxpY2F0ZXMsIGtlZXBpbmcgb25seSB0aGUgb25lcyB0aGF0IGFyZSBjdXJyZW50bHkgYWN0aXZlLlxuLy8gVGhpcyBpcyBuZWVkZWQgZm9yIHNjbmVhcmlvcyB3aGFuIGEgcXVlcnkgcnVubmVyIGlzIGNsb25lZCBhbmQgdGhlIG9yaWdpbmFsIGlzIG5vdCByZW1vdmVkIGJ1dCBkZS1hY3RpdmF0ZWQuXG4vLyBDYW4gaGFwcGVuIGkuZS4gd2hlbiBlZGl0aW5nIGEgcGFuZWwgaW4gR3JhZmFuYSBDb3JlIGRhc2hib2FyZHMuXG5mdW5jdGlvbiBmaWx0ZXJPdXRJbmFjdGl2ZVJ1bm5lckR1cGxpY2F0ZXMocnVubmVyczogU2NlbmVRdWVyeVJ1bm5lcltdKSB7XG4gIC8vIEdyb3VwIGl0ZW1zIGJ5IGtleVxuICBjb25zdCBncm91cGVkSXRlbXM6IHsgW2tleTogc3RyaW5nXTogU2NlbmVRdWVyeVJ1bm5lcltdIH0gPSB7fTtcblxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgcnVubmVycykge1xuICAgIGlmIChpdGVtLnN0YXRlLmtleSkge1xuICAgICAgaWYgKCEoaXRlbS5zdGF0ZS5rZXkgaW4gZ3JvdXBlZEl0ZW1zKSkge1xuICAgICAgICBncm91cGVkSXRlbXNbaXRlbS5zdGF0ZS5rZXldID0gW107XG4gICAgICB9XG4gICAgICBncm91cGVkSXRlbXNbaXRlbS5zdGF0ZS5rZXldLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRmlsdGVyIG91dCBpbmFjdGl2ZSBpdGVtcyBhbmQgY29uY2F0ZW5hdGUgYWN0aXZlIGl0ZW1zXG4gIHJldHVybiBPYmplY3QudmFsdWVzKGdyb3VwZWRJdGVtcykuZmxhdE1hcCgoZ3JvdXApID0+IHtcbiAgICBjb25zdCBhY3RpdmVJdGVtcyA9IGdyb3VwLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pc0FjdGl2ZSk7XG4gICAgLy8gS2VlcCBpbmFjdGl2ZSBpdGVtcyBpZiB0aGVyZSdzIG9ubHkgb25lIGl0ZW0gd2l0aCB0aGUga2V5XG4gICAgaWYgKGFjdGl2ZUl0ZW1zLmxlbmd0aCA9PT0gMCAmJiBncm91cC5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBncm91cDtcbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2ZUl0ZW1zO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVVybFBpcGVEZWxpbWl0ZXJzKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8vIFJlcGxhY2UgdGhlIHBpcGUgZHVlIHRvIHVzaW5nIGl0IGFzIGEgZmlsdGVyIHNlcGFyYXRvclxuICByZXR1cm4gKHZhbHVlID0gL1xcfC9nW1N5bWJvbC5yZXBsYWNlXSh2YWx1ZSwgJ19fZ2ZwX18nKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVVcmxDb21tYURlbGltaXRlcnModmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLy8gUmVwbGFjZSB0aGUgY29tbWEgZHVlIHRvIHVzaW5nIGl0IGFzIGEgdmFsdWUvbGFiZWwgc2VwYXJhdG9yXG4gIHJldHVybiAvLC9nW1N5bWJvbC5yZXBsYWNlXSh2YWx1ZSwgJ19fZ2ZjX18nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZXNjYXBlVXJsRGVsaW1pdGVycyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB2YWx1ZSA9IC9fX2dmcF9fL2dbU3ltYm9sLnJlcGxhY2VdKHZhbHVlLCAnfCcpO1xuICB2YWx1ZSA9IC9fX2dmY19fL2dbU3ltYm9sLnJlcGxhY2VdKHZhbHVlLCAnLCcpO1xuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvVXJsQ29tbWFEZWxpbWl0ZWRTdHJpbmcoa2V5OiBzdHJpbmcsIGxhYmVsPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gT21pdCBmb3IgaWRlbnRpY2FsIGtleS9sYWJlbCBvciB3aGVuIGxhYmVsIGlzIG5vdCBzZXQgYXQgYWxsXG4gIGlmICghbGFiZWwgfHwga2V5ID09PSBsYWJlbCkge1xuICAgIHJldHVybiBlc2NhcGVVcmxDb21tYURlbGltaXRlcnMoa2V5KTtcbiAgfVxuXG4gIHJldHVybiBba2V5LCBsYWJlbF0ubWFwKGVzY2FwZVVybENvbW1hRGVsaW1pdGVycykuam9pbignLCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YUZyb21SZXNwb25zZShyZXNwb25zZTogR2V0VGFnUmVzcG9uc2UgfCBNZXRyaWNGaW5kVmFsdWVbXSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXNwb25zZSkgPyByZXNwb25zZSA6IHJlc3BvbnNlLmRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNwb25zZUhhc0Vycm9yKFxuICByZXNwb25zZTogR2V0VGFnUmVzcG9uc2UgfCBNZXRyaWNGaW5kVmFsdWVbXVxuKTogcmVzcG9uc2UgaXMgR2V0VGFnUmVzcG9uc2UgJiB7IGVycm9yOiBEYXRhUXVlcnlFcnJvciB9IHtcbiAgcmV0dXJuICFBcnJheS5pc0FycmF5KHJlc3BvbnNlKSAmJiBCb29sZWFuKHJlc3BvbnNlLmVycm9yKTtcbn1cblxuLy8gQ29sbGVjdCBhIGZsYXQgbGlzdCBvZiBTZWxlY3RhYmxlVmFsdWVzIHdpdGggYSBgZ3JvdXBgIHByb3BlcnR5IGludG8gYSBoaWVyYXJjaGljYWwgbGlzdCB3aXRoIGdyb3Vwc1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU9wdGlvbkdyb3Vwcyh2YWx1ZXM6IFNlbGVjdGFibGVWYWx1ZVtdKTogQXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+IHtcbiAgY29uc3QgcmVzdWx0OiBBcnJheTxTZWxlY3RhYmxlVmFsdWU8c3RyaW5nPj4gPSBbXTtcbiAgY29uc3QgZ3JvdXBlZFJlc3VsdHMgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+PigpO1xuXG4gIGZvciAoY29uc3QgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgY29uc3QgZ3JvdXBMYWJlbCA9IHZhbHVlLmdyb3VwO1xuICAgIGlmIChncm91cExhYmVsKSB7XG4gICAgICBsZXQgZ3JvdXAgPSBncm91cGVkUmVzdWx0cy5nZXQoZ3JvdXBMYWJlbCk7XG5cbiAgICAgIGlmICghZ3JvdXApIHtcbiAgICAgICAgZ3JvdXAgPSBbXTtcbiAgICAgICAgZ3JvdXBlZFJlc3VsdHMuc2V0KGdyb3VwTGFiZWwsIGdyb3VwKTtcbiAgICAgICAgcmVzdWx0LnB1c2goeyBsYWJlbDogZ3JvdXBMYWJlbCwgb3B0aW9uczogZ3JvdXAgfSk7XG4gICAgICB9XG5cbiAgICAgIGdyb3VwLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1enp5U2VhcmNoZXIoaGF5c3RhY2s6IHN0cmluZ1tdLCBsaW1pdCA9IDEwXzAwMCkge1xuICBjb25zdCB1ZnV6enkgPSBuZXcgdUZ1enp5KCk7XG5cbiAgY29uc3QgRklSU1QgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1pbihsaW1pdCwgaGF5c3RhY2subGVuZ3RoKSB9LCAoXywgaSkgPT4gaSk7XG5cbiAgLy8gcmV0dXJucyBtYXRjaGVkIGluZGljZXMgYnkgcXVhbGl0eVxuICByZXR1cm4gKHNlYXJjaDogc3RyaW5nKTogbnVtYmVyW10gPT4ge1xuICAgIGlmIChzZWFyY2ggPT09ICcnKSB7XG4gICAgICByZXR1cm4gRklSU1Q7XG4gICAgfVxuXG4gICAgY29uc3QgW2lkeHMsIGluZm8sIG9yZGVyXSA9IHVmdXp6eS5zZWFyY2goaGF5c3RhY2ssIHNlYXJjaCk7XG5cbiAgICBpZiAoaWR4cykge1xuICAgICAgaWYgKGluZm8gJiYgb3JkZXIpIHtcbiAgICAgICAgY29uc3Qgb3V0SWR4cyA9IEFycmF5KE1hdGgubWluKG9yZGVyLmxlbmd0aCwgbGltaXQpKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dElkeHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBvdXRJZHhzW2ldID0gaW5mby5pZHhbb3JkZXJbaV1dO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG91dElkeHM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpZHhzLnNsaWNlKDAsIGxpbWl0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH07XG59XG4iXSwibmFtZXMiOlsidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7O0FBU2dCLFNBQUEsb0JBQUEsQ0FBcUIsR0FBcUMsQ0FBcUMsRUFBQTtBQUM3RyxFQUFBLElBQUksTUFBTSxDQUFHLEVBQUE7QUFDWCxJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDVDtBQUVBLEVBQU8sT0FBQSxPQUFBLENBQVEsR0FBRyxDQUFDLENBQUEsQ0FBQTtBQUNyQixDQUFBO0FBRU8sU0FBUyxtQkFBbUIsS0FBZ0IsRUFBQTtBQUVqRCxFQUFBLE1BQU0sc0JBQXNCLE1BQU07QUFDaEMsSUFBTSxNQUFBLElBQUEsdUJBQVcsT0FBUSxFQUFBLENBQUE7QUFDekIsSUFBTyxPQUFBLENBQUMsR0FBV0EsTUFBeUIsS0FBQTtBQUMxQyxNQUFBLElBQUksT0FBT0EsTUFBQUEsS0FBVSxRQUFZQSxJQUFBQSxNQUFBQSxLQUFVLElBQU0sRUFBQTtBQUMvQyxRQUFJLElBQUEsSUFBQSxDQUFLLEdBQUlBLENBQUFBLE1BQUssQ0FBRyxFQUFBO0FBQ25CLFVBQUEsT0FBQTtBQUFBLFNBQ0Y7QUFDQSxRQUFBLElBQUEsQ0FBSyxJQUFJQSxNQUFLLENBQUEsQ0FBQTtBQUFBLE9BQ2hCO0FBQ0EsTUFBT0EsT0FBQUEsTUFBQUEsQ0FBQUE7QUFBQSxLQUNULENBQUE7QUFBQSxHQUNGLENBQUE7QUFFQSxFQUFJLElBQUE7QUFDRixJQUFBLE9BQU8sSUFBSyxDQUFBLFNBQUEsQ0FBVSxLQUFPLEVBQUEsbUJBQUEsRUFBcUIsQ0FBQSxDQUFBO0FBQUEsV0FDM0MsS0FBUCxFQUFBO0FBQ0EsSUFBQSxPQUFBLENBQVEsTUFB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
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
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
|
-
class ConstantVariable extends SceneObjectBase {
|
|
23
|
-
constructor(initialState) {
|
|
24
|
-
super(__spreadProps(__spreadValues({
|
|
25
|
-
type: "constant",
|
|
26
|
-
value: "",
|
|
27
|
-
name: ""
|
|
28
|
-
}, initialState), {
|
|
29
|
-
skipUrlSync: true
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
getValue() {
|
|
33
|
-
return this.state.value;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { ConstantVariable };
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRWYXJpYWJsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy92YXJpYW50cy9Db25zdGFudFZhcmlhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUsIFNjZW5lVmFyaWFibGVTdGF0ZSwgVmFyaWFibGVWYWx1ZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25zdGFudFZhcmlhYmxlU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUge1xuICB2YWx1ZTogVmFyaWFibGVWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbnN0YW50VmFyaWFibGVcbiAgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8Q29uc3RhbnRWYXJpYWJsZVN0YXRlPlxuICBpbXBsZW1lbnRzIFNjZW5lVmFyaWFibGU8Q29uc3RhbnRWYXJpYWJsZVN0YXRlPlxue1xuICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBQYXJ0aWFsPENvbnN0YW50VmFyaWFibGVTdGF0ZT4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiAnY29uc3RhbnQnLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgbmFtZTogJycsXG4gICAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgICBza2lwVXJsU3luYzogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBWYXJpYWJsZVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9PLE1BQU0seUJBQ0gsZUFFVixDQUFBO0FBQUEsRUFDUyxZQUFZLFlBQThDLEVBQUE7QUFDL0QsSUFBTSxLQUFBLENBQUEsYUFBQSxDQUFBLGNBQUEsQ0FBQTtBQUFBLE1BQ0osSUFBTSxFQUFBLFVBQUE7QUFBQSxNQUNOLEtBQU8sRUFBQSxFQUFBO0FBQUEsTUFDUCxJQUFNLEVBQUEsRUFBQTtBQUFBLEtBQUEsRUFDSCxZQUpDLENBQUEsRUFBQTtBQUFBLE1BS0osV0FBYSxFQUFBLElBQUE7QUFBQSxLQUNkLENBQUEsQ0FBQSxDQUFBO0FBQUEsR0FDSDtBQUFBLEVBRU8sUUFBMEIsR0FBQTtBQUMvQixJQUFBLE9BQU8sS0FBSyxLQUFNLENBQUEsS0FBQSxDQUFBO0FBQUEsR0FDcEI7QUFDRjs7OzsifQ==
|