@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,289 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
3
|
-
import { SceneVariableValueChangedEvent } from '../types.js';
|
|
4
|
-
import { dataFromResponse, getQueriesForVariables, responseHasError, renderPrometheusLabelFilters } from '../utils.js';
|
|
5
|
-
import { patchGetAdhocFilters } from './patchGetAdhocFilters.js';
|
|
6
|
-
import { useStyles2 } from '@grafana/ui';
|
|
7
|
-
import { sceneGraph } from '../../core/sceneGraph/index.js';
|
|
8
|
-
import { AdHocFilterBuilder } from './AdHocFilterBuilder.js';
|
|
9
|
-
import { AdHocFilterRenderer } from './AdHocFilterRenderer.js';
|
|
10
|
-
import { getDataSourceSrv } from '@grafana/runtime';
|
|
11
|
-
import { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';
|
|
12
|
-
import { css } from '@emotion/css';
|
|
13
|
-
import { getEnrichedFiltersRequest } from '../getEnrichedFiltersRequest.js';
|
|
14
|
-
import { AdHocFiltersComboboxRenderer } from './AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js';
|
|
15
|
-
import { wrapInSafeSerializableSceneObject } from '../../utils/wrapInSafeSerializableSceneObject.js';
|
|
16
|
-
|
|
17
|
-
var __defProp = Object.defineProperty;
|
|
18
|
-
var __defProps = Object.defineProperties;
|
|
19
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
20
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
21
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
22
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
23
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
24
|
-
var __spreadValues = (a, b) => {
|
|
25
|
-
for (var prop in b || (b = {}))
|
|
26
|
-
if (__hasOwnProp.call(b, prop))
|
|
27
|
-
__defNormalProp(a, prop, b[prop]);
|
|
28
|
-
if (__getOwnPropSymbols)
|
|
29
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
30
|
-
if (__propIsEnum.call(b, prop))
|
|
31
|
-
__defNormalProp(a, prop, b[prop]);
|
|
32
|
-
}
|
|
33
|
-
return a;
|
|
34
|
-
};
|
|
35
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
36
|
-
const OPERATORS = [
|
|
37
|
-
{
|
|
38
|
-
value: "=",
|
|
39
|
-
description: "Equals"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
value: "!=",
|
|
43
|
-
description: "Not equal"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
value: "=|",
|
|
47
|
-
description: "One of. Use to filter on multiple values.",
|
|
48
|
-
isMulti: true
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
value: "!=|",
|
|
52
|
-
description: "Not one of. Use to exclude multiple values.",
|
|
53
|
-
isMulti: true
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
value: "=~",
|
|
57
|
-
description: "Matches regex"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
value: "!~",
|
|
61
|
-
description: "Does not match regex"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
value: "<",
|
|
65
|
-
description: "Less than"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
value: ">",
|
|
69
|
-
description: "Greater than"
|
|
70
|
-
}
|
|
71
|
-
];
|
|
72
|
-
class AdHocFiltersVariable extends SceneObjectBase {
|
|
73
|
-
constructor(state) {
|
|
74
|
-
var _a, _b;
|
|
75
|
-
super(__spreadValues({
|
|
76
|
-
type: "adhoc",
|
|
77
|
-
name: (_a = state.name) != null ? _a : "Filters",
|
|
78
|
-
filters: [],
|
|
79
|
-
datasource: null,
|
|
80
|
-
applyMode: "auto",
|
|
81
|
-
filterExpression: (_b = state.filterExpression) != null ? _b : renderExpression(state.expressionBuilder, state.filters)
|
|
82
|
-
}, state));
|
|
83
|
-
this._scopedVars = { __sceneObject: wrapInSafeSerializableSceneObject(this) };
|
|
84
|
-
this._dataSourceSrv = getDataSourceSrv();
|
|
85
|
-
this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);
|
|
86
|
-
if (this.state.applyMode === "auto") {
|
|
87
|
-
patchGetAdhocFilters(this);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
setState(update) {
|
|
91
|
-
let filterExpressionChanged = false;
|
|
92
|
-
if (update.filters && update.filters !== this.state.filters && !update.filterExpression) {
|
|
93
|
-
update.filterExpression = renderExpression(this.state.expressionBuilder, update.filters);
|
|
94
|
-
filterExpressionChanged = update.filterExpression !== this.state.filterExpression;
|
|
95
|
-
}
|
|
96
|
-
super.setState(update);
|
|
97
|
-
if (filterExpressionChanged) {
|
|
98
|
-
this.publishEvent(new SceneVariableValueChangedEvent(this), true);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
getValue() {
|
|
102
|
-
return this.state.filterExpression;
|
|
103
|
-
}
|
|
104
|
-
_updateFilter(filter, update) {
|
|
105
|
-
const { filters, _wip } = this.state;
|
|
106
|
-
if (filter === _wip) {
|
|
107
|
-
if ("value" in update && update["value"] !== "") {
|
|
108
|
-
this.setState({ filters: [...filters, __spreadValues(__spreadValues({}, _wip), update)], _wip: void 0 });
|
|
109
|
-
} else {
|
|
110
|
-
this.setState({ _wip: __spreadValues(__spreadValues({}, filter), update) });
|
|
111
|
-
}
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const updatedFilters = this.state.filters.map((f) => {
|
|
115
|
-
return f === filter ? __spreadValues(__spreadValues({}, f), update) : f;
|
|
116
|
-
});
|
|
117
|
-
this.setState({ filters: updatedFilters });
|
|
118
|
-
}
|
|
119
|
-
_removeFilter(filter) {
|
|
120
|
-
if (filter === this.state._wip) {
|
|
121
|
-
this.setState({ _wip: void 0 });
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
this.setState({ filters: this.state.filters.filter((f) => f !== filter) });
|
|
125
|
-
}
|
|
126
|
-
_removeLastFilter() {
|
|
127
|
-
const filterToRemove = this.state.filters.at(-1);
|
|
128
|
-
if (filterToRemove) {
|
|
129
|
-
this._removeFilter(filterToRemove);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
_handleComboboxBackspace(filter) {
|
|
133
|
-
if (this.state.filters.length) {
|
|
134
|
-
let filterToForceIndex = this.state.filters.length - 1;
|
|
135
|
-
if (filter !== this.state._wip) {
|
|
136
|
-
filterToForceIndex = -1;
|
|
137
|
-
}
|
|
138
|
-
this.setState({
|
|
139
|
-
filters: this.state.filters.reduce((acc, f, index) => {
|
|
140
|
-
if (index === filterToForceIndex) {
|
|
141
|
-
return [
|
|
142
|
-
...acc,
|
|
143
|
-
__spreadProps(__spreadValues({}, f), {
|
|
144
|
-
forceEdit: true
|
|
145
|
-
})
|
|
146
|
-
];
|
|
147
|
-
}
|
|
148
|
-
if (f === filter) {
|
|
149
|
-
return acc;
|
|
150
|
-
}
|
|
151
|
-
return [...acc, f];
|
|
152
|
-
}, [])
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
async _getKeys(currentKey) {
|
|
157
|
-
var _a, _b, _c;
|
|
158
|
-
const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));
|
|
159
|
-
if (override && override.replace) {
|
|
160
|
-
return dataFromResponse(override.values).map(toSelectableValue);
|
|
161
|
-
}
|
|
162
|
-
if (this.state.defaultKeys) {
|
|
163
|
-
return this.state.defaultKeys.map(toSelectableValue);
|
|
164
|
-
}
|
|
165
|
-
const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
|
|
166
|
-
if (!ds || !ds.getTagKeys) {
|
|
167
|
-
return [];
|
|
168
|
-
}
|
|
169
|
-
const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat((_c = this.state.baseFilters) != null ? _c : []);
|
|
170
|
-
const timeRange = sceneGraph.getTimeRange(this).state.value;
|
|
171
|
-
const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
|
|
172
|
-
const response = await ds.getTagKeys(__spreadValues({
|
|
173
|
-
filters: otherFilters,
|
|
174
|
-
queries,
|
|
175
|
-
timeRange
|
|
176
|
-
}, getEnrichedFiltersRequest(this)));
|
|
177
|
-
if (responseHasError(response)) {
|
|
178
|
-
this.setState({ error: response.error.message });
|
|
179
|
-
}
|
|
180
|
-
let keys = dataFromResponse(response);
|
|
181
|
-
if (override) {
|
|
182
|
-
keys = keys.concat(dataFromResponse(override.values));
|
|
183
|
-
}
|
|
184
|
-
const tagKeyRegexFilter = this.state.tagKeyRegexFilter;
|
|
185
|
-
if (tagKeyRegexFilter) {
|
|
186
|
-
keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));
|
|
187
|
-
}
|
|
188
|
-
return keys.map(toSelectableValue);
|
|
189
|
-
}
|
|
190
|
-
async _getValuesFor(filter) {
|
|
191
|
-
var _a, _b, _c;
|
|
192
|
-
const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));
|
|
193
|
-
if (override && override.replace) {
|
|
194
|
-
return dataFromResponse(override.values).map(toSelectableValue);
|
|
195
|
-
}
|
|
196
|
-
const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
|
|
197
|
-
if (!ds || !ds.getTagValues) {
|
|
198
|
-
return [];
|
|
199
|
-
}
|
|
200
|
-
const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat((_c = this.state.baseFilters) != null ? _c : []);
|
|
201
|
-
const timeRange = sceneGraph.getTimeRange(this).state.value;
|
|
202
|
-
const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
|
|
203
|
-
const response = await ds.getTagValues(__spreadValues({
|
|
204
|
-
key: filter.key,
|
|
205
|
-
filters: otherFilters,
|
|
206
|
-
timeRange,
|
|
207
|
-
queries
|
|
208
|
-
}, getEnrichedFiltersRequest(this)));
|
|
209
|
-
if (responseHasError(response)) {
|
|
210
|
-
this.setState({ error: response.error.message });
|
|
211
|
-
}
|
|
212
|
-
let values = dataFromResponse(response);
|
|
213
|
-
if (override) {
|
|
214
|
-
values = values.concat(dataFromResponse(override.values));
|
|
215
|
-
}
|
|
216
|
-
return values.map(toSelectableValue);
|
|
217
|
-
}
|
|
218
|
-
_addWip() {
|
|
219
|
-
this.setState({
|
|
220
|
-
_wip: { key: "", value: "", operator: "=", condition: "" }
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
_getOperators() {
|
|
224
|
-
const filteredOperators = this.state.supportsMultiValueOperators ? OPERATORS : OPERATORS.filter((operator) => !operator.isMulti);
|
|
225
|
-
return filteredOperators.map(({ value, description }) => ({
|
|
226
|
-
label: value,
|
|
227
|
-
value,
|
|
228
|
-
description
|
|
229
|
-
}));
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
AdHocFiltersVariable.Component = AdHocFiltersVariableRenderer;
|
|
233
|
-
function renderExpression(builder, filters) {
|
|
234
|
-
return (builder != null ? builder : renderPrometheusLabelFilters)(filters != null ? filters : []);
|
|
235
|
-
}
|
|
236
|
-
function AdHocFiltersVariableRenderer({ model }) {
|
|
237
|
-
const { filters, readOnly, addFilterButtonText } = model.useState();
|
|
238
|
-
const styles = useStyles2(getStyles);
|
|
239
|
-
if (model.state.layout === "combobox") {
|
|
240
|
-
return /* @__PURE__ */ React.createElement(AdHocFiltersComboboxRenderer, {
|
|
241
|
-
model
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
245
|
-
className: styles.wrapper
|
|
246
|
-
}, filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {
|
|
247
|
-
key: index
|
|
248
|
-
}, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {
|
|
249
|
-
filter,
|
|
250
|
-
model
|
|
251
|
-
}))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {
|
|
252
|
-
model,
|
|
253
|
-
key: "'builder",
|
|
254
|
-
addFilterButtonText
|
|
255
|
-
}));
|
|
256
|
-
}
|
|
257
|
-
const getStyles = (theme) => ({
|
|
258
|
-
wrapper: css({
|
|
259
|
-
display: "flex",
|
|
260
|
-
flexWrap: "wrap",
|
|
261
|
-
alignItems: "flex-end",
|
|
262
|
-
columnGap: theme.spacing(2),
|
|
263
|
-
rowGap: theme.spacing(1)
|
|
264
|
-
})
|
|
265
|
-
});
|
|
266
|
-
function toSelectableValue(input) {
|
|
267
|
-
const { text, value } = input;
|
|
268
|
-
const result = {
|
|
269
|
-
label: text,
|
|
270
|
-
value: String(value != null ? value : text)
|
|
271
|
-
};
|
|
272
|
-
if ("group" in input) {
|
|
273
|
-
result.group = input.group;
|
|
274
|
-
}
|
|
275
|
-
return result;
|
|
276
|
-
}
|
|
277
|
-
function isFilterComplete(filter) {
|
|
278
|
-
return filter.key !== "" && filter.operator !== "" && filter.value !== "";
|
|
279
|
-
}
|
|
280
|
-
function isMultiValueOperator(operatorValue) {
|
|
281
|
-
const operator = OPERATORS.find((o) => o.value === operatorValue);
|
|
282
|
-
if (!operator) {
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
return Boolean(operator.isMulti);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
export { AdHocFiltersVariable, AdHocFiltersVariableRenderer, OPERATORS, isFilterComplete, isMultiValueOperator, toSelectableValue };
|
|
289
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzVmFyaWFibGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvQWRIb2NGaWx0ZXJzVmFyaWFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBZEhvY1ZhcmlhYmxlRmlsdGVyLCBHZXRUYWdSZXNwb25zZSwgR3JhZmFuYVRoZW1lMiwgTWV0cmljRmluZFZhbHVlLCBTZWxlY3RhYmxlVmFsdWUgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUsIFNjZW5lVmFyaWFibGVTdGF0ZSwgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50LCBWYXJpYWJsZVZhbHVlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29udHJvbHNMYXlvdXQsIFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IERhdGFTb3VyY2VSZWYgfSBmcm9tICdAZ3JhZmFuYS9zY2hlbWEnO1xuaW1wb3J0IHsgZGF0YUZyb21SZXNwb25zZSwgZ2V0UXVlcmllc0ZvclZhcmlhYmxlcywgcmVuZGVyUHJvbWV0aGV1c0xhYmVsRmlsdGVycywgcmVzcG9uc2VIYXNFcnJvciB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHBhdGNoR2V0QWRob2NGaWx0ZXJzIH0gZnJvbSAnLi9wYXRjaEdldEFkaG9jRmlsdGVycyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlckJ1aWxkZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyQnVpbGRlcic7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlclJlbmRlcmVyIH0gZnJvbSAnLi9BZEhvY0ZpbHRlclJlbmRlcmVyJztcbmltcG9ydCB7IGdldERhdGFTb3VyY2VTcnYgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXInO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IGdldEVucmljaGVkRmlsdGVyc1JlcXVlc3QgfSBmcm9tICcuLi9nZXRFbnJpY2hlZEZpbHRlcnNSZXF1ZXN0JztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc0NvbWJvYm94UmVuZGVyZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyc0NvbWJvYm94L0FkSG9jRmlsdGVyc0NvbWJvYm94UmVuZGVyZXInO1xuaW1wb3J0IHsgd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBBZEhvY0ZpbHRlcldpdGhMYWJlbHMgZXh0ZW5kcyBBZEhvY1ZhcmlhYmxlRmlsdGVyIHtcbiAga2V5TGFiZWw/OiBzdHJpbmc7XG4gIHZhbHVlTGFiZWxzPzogc3RyaW5nW107XG4gIC8vIHRoaXMgaXMgdXNlZCB0byBleHRlcm5hbGx5IHRyaWdnZXIgZWRpdCBtb2RlIGluIGNvbWJvYm94IGZpbHRlciBVSVxuICBmb3JjZUVkaXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBBZEhvY0NvbnRyb2xzTGF5b3V0ID0gQ29udHJvbHNMYXlvdXQgfCAnY29tYm9ib3gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkSG9jRmlsdGVyc1ZhcmlhYmxlU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUge1xuICAvKiogT3B0aW9uYWwgdGV4dCB0byBkaXNwbGF5IG9uIHRoZSAnYWRkIGZpbHRlcicgYnV0dG9uICovXG4gIGFkZEZpbHRlckJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmlzaWJsZSBmaWx0ZXJzICovXG4gIGZpbHRlcnM6IEFkSG9jRmlsdGVyV2l0aExhYmVsc1tdO1xuICAvKiogQmFzZSBmaWx0ZXJzIHRvIGFsd2F5cyBhcHBseSB3aGVuIGxvb2tpbmcgdXAga2V5cyovXG4gIGJhc2VGaWx0ZXJzPzogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzW107XG4gIC8qKiBEYXRhc291cmNlIHRvIHVzZSBmb3IgZ2V0VGFnS2V5cyBhbmQgZ2V0VGFnVmFsdWVzIGFuZCBhbHNvIGNvbnRyb2xzIHdoaWNoIHNjZW5lIHF1ZXJpZXMgdGhlIGZpbHRlcnMgc2hvdWxkIGFwcGx5IHRvICovXG4gIGRhdGFzb3VyY2U6IERhdGFTb3VyY2VSZWYgfCBudWxsO1xuICAvKiogQ29udHJvbHMgaWYgdGhlIGZpbHRlcnMgY2FuIGJlIGNoYW5nZWQgKi9cbiAgcmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKiBDb250cm9scyB0aGUgbGF5b3V0IGFuZCBkZXNpZ24gb2YgdGhlIGxhYmVsLlxuICAgKi9cbiAgbGF5b3V0PzogQWRIb2NDb250cm9sc0xheW91dDtcbiAgLyoqXG4gICAqIERlZmF1bHRzIHRvIGF1dG9tYXRpYyB3aGljaCBtZWFucyBmaWx0ZXJzIHdpbGwgYXV0b21hdGljYWxseSBiZSBhcHBsaWVkIHRvIGFsbCBxdWVyaWVzIHdpdGggdGhlIHNhbWUgZGF0YSBzb3VyY2UgYXMgdGhpcyBBZEhvY0ZpbHRlclNldC5cbiAgICogSW4gbWFudWFsIG1vZGUgeW91IGVpdGhlciBoYXZlIHRvIHVzZSB0aGUgZmlsdGVycyBwcm9ncmFtbWF0aWNhbGx5IG9yIGFzIGEgdmFyaWFibGUgaW5zaWRlIHF1ZXJ5IGV4cHJlc3Npb25zLlxuICAgKi9cbiAgYXBwbHlNb2RlOiAnYXV0bycgfCAnbWFudWFsJztcbiAgLyoqXG4gICAqIEZpbHRlciBvdXQgdGhlIGtleXMgdGhhdCBkbyBub3QgbWF0Y2ggdGhlIHJlZ2V4LlxuICAgKi9cbiAgdGFnS2V5UmVnZXhGaWx0ZXI/OiBSZWdFeHA7XG4gIC8qKlxuICAgKiBFeHRlbnNpb24gaG9vayBmb3IgY3VzdG9taXppbmcgdGhlIGtleSBsb29rdXAuXG4gICAqIFJldHVybiByZXBsYWNlOiB0cnVlIGlmIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxvb2t1cFxuICAgKiBSZXR1cm4gcmVwbGFjZTogZmFsc2UgaWYgeW91IHdhbnQgdG8gY29tYmluZSB0aGUgcmVzdWx0cyB3aXRoIHRoZSBkZWZhdWx0IGxvb2t1cFxuICAgKi9cbiAgZ2V0VGFnS2V5c1Byb3ZpZGVyPzogZ2V0VGFnS2V5c1Byb3ZpZGVyO1xuICAvKipcbiAgICogRXh0ZW5zaW9uIGhvb2sgZm9yIGN1c3RvbWl6aW5nIHRoZSB2YWx1ZSBsb29rdXAuXG4gICAqIFJldHVybiByZXBsYWNlOiB0cnVlIGlmIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxvb2t1cC5cbiAgICogUmV0dXJuIHJlcGxhY2U6IGZhbHNlIGlmIHlvdSB3YW50IHRvIGNvbWJpbmUgdGhlIHJlc3VsdHMgd2l0aCB0aGUgZGVmYXVsdCBsb29rdXBcbiAgICovXG4gIGdldFRhZ1ZhbHVlc1Byb3ZpZGVyPzogZ2V0VGFnVmFsdWVzUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsbHkgcHJvdmlkZSBhbiBhcnJheSBvZiBzdGF0aWMga2V5cyB0aGF0IG92ZXJyaWRlIGdldFRhZ0tleXNcbiAgICovXG4gIGRlZmF1bHRLZXlzPzogTWV0cmljRmluZFZhbHVlW107XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIGV4cHJlc3Npb24gdGhhdCB0aGUgZmlsdGVycyByZXN1bHRlZCBpbi4gRGVmYXVsdHMgdG9cbiAgICogUHJvbWV0aGV1cyAvIExva2kgY29tcGF0aWJsZSBsYWJlbCBmaWx0ZXIgZXhwcmVzc2lvblxuICAgKi9cbiAgZmlsdGVyRXhwcmVzc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYnVpbGRlciBjcmVhdGVzIGEgUHJvbWV0aGV1cy9Mb2tpIGNvbXBhdGlibGUgZmlsdGVyIGV4cHJlc3Npb24sXG4gICAqIHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gdG8gY3JlYXRlIGEgZGlmZmVyZW50IGV4cHJlc3Npb24gYmFzZWQgb24gdGhlIGN1cnJlbnQgZmlsdGVycy5cbiAgICovXG4gIGV4cHJlc3Npb25CdWlsZGVyPzogQWRIb2NWYXJpYWJsZUV4cHJlc3Npb25CdWlsZGVyRm47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpbHRlciBzdXBwb3J0cyBuZXcgbXVsdGktdmFsdWUgb3BlcmF0b3JzIGxpa2UgPXwgYW5kICE9fFxuICAgKi9cbiAgc3VwcG9ydHNNdWx0aVZhbHVlT3BlcmF0b3JzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBxdWVyeWluZyB0aGUgZGF0YXNvdXJjZSBmb3IgbGFiZWwgbmFtZXMgYW5kIHZhbHVlcyB0byBkZXRlcm1pbmUga2V5cyBhbmQgdmFsdWVzXG4gICAqIGZvciB0aGlzIGFkIGhvYyBmaWx0ZXIsIGNvbnNpZGVyIHRoZSBxdWVyaWVzIGluIHRoZSBzY2VuZSBhbmQgdXNlIHRoZW0gYXMgYSBmaWx0ZXIuXG4gICAqIFRoaXMgcXVlcmllcyBmaWx0ZXIgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgb25seSBhZCBob2MgZmlsdGVyIG9wdGlvbnMgdGhhdCB3b3VsZFxuICAgKiBpbXBhY3QgdGhlIGN1cnJlbnQgcXVlcmllcyBhcmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgdXNlUXVlcmllc0FzRmlsdGVyRm9yT3B0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZsYWcgdGhhdCBkZWNpZGVzIHdoZXRoZXIgY3VzdG9tIHZhbHVlcyBjYW4gYmUgYWRkZWQgdG8gdGhlIGZpbHRlclxuICAgKi9cbiAgYWxsb3dDdXN0b21WYWx1ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgbmV3IGZpbHRlciBiZWluZyBhZGRlZFxuICAgKi9cbiAgX3dpcD86IEFkSG9jRmlsdGVyV2l0aExhYmVscztcbn1cblxuZXhwb3J0IHR5cGUgQWRIb2NWYXJpYWJsZUV4cHJlc3Npb25CdWlsZGVyRm4gPSAoZmlsdGVyczogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzW10pID0+IHN0cmluZztcblxuZXhwb3J0IHR5cGUgZ2V0VGFnS2V5c1Byb3ZpZGVyID0gKFxuICB2YXJpYWJsZTogQWRIb2NGaWx0ZXJzVmFyaWFibGUsXG4gIGN1cnJlbnRLZXk6IHN0cmluZyB8IG51bGxcbikgPT4gUHJvbWlzZTx7IHJlcGxhY2U/OiBib29sZWFuOyB2YWx1ZXM6IEdldFRhZ1Jlc3BvbnNlIHwgTWV0cmljRmluZFZhbHVlW10gfT47XG5cbmV4cG9ydCB0eXBlIGdldFRhZ1ZhbHVlc1Byb3ZpZGVyID0gKFxuICB2YXJpYWJsZTogQWRIb2NGaWx0ZXJzVmFyaWFibGUsXG4gIGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzXG4pID0+IFByb21pc2U8eyByZXBsYWNlPzogYm9vbGVhbjsgdmFsdWVzOiBHZXRUYWdSZXNwb25zZSB8IE1ldHJpY0ZpbmRWYWx1ZVtdIH0+O1xuXG5leHBvcnQgdHlwZSBBZEhvY0ZpbHRlcnNWYXJpYWJsZUNyZWF0ZUhlbHBlckFyZ3MgPSBBZEhvY0ZpbHRlcnNWYXJpYWJsZVN0YXRlO1xuXG5leHBvcnQgdHlwZSBPcGVyYXRvckRlZmluaXRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpc011bHRpPzogQm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBPUEVSQVRPUlM6IE9wZXJhdG9yRGVmaW5pdGlvbltdID0gW1xuICB7XG4gICAgdmFsdWU6ICc9JyxcbiAgICBkZXNjcmlwdGlvbjogJ0VxdWFscycsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJyE9JyxcbiAgICBkZXNjcmlwdGlvbjogJ05vdCBlcXVhbCcsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJz18JyxcbiAgICBkZXNjcmlwdGlvbjogJ09uZSBvZi4gVXNlIHRvIGZpbHRlciBvbiBtdWx0aXBsZSB2YWx1ZXMuJyxcbiAgICBpc011bHRpOiB0cnVlLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICchPXwnLFxuICAgIGRlc2NyaXB0aW9uOiAnTm90IG9uZSBvZi4gVXNlIHRvIGV4Y2x1ZGUgbXVsdGlwbGUgdmFsdWVzLicsXG4gICAgaXNNdWx0aTogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnPX4nLFxuICAgIGRlc2NyaXB0aW9uOiAnTWF0Y2hlcyByZWdleCcsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJyF+JyxcbiAgICBkZXNjcmlwdGlvbjogJ0RvZXMgbm90IG1hdGNoIHJlZ2V4JyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnPCcsXG4gICAgZGVzY3JpcHRpb246ICdMZXNzIHRoYW4nLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICc+JyxcbiAgICBkZXNjcmlwdGlvbjogJ0dyZWF0ZXIgdGhhbicsXG4gIH0sXG5dO1xuXG5leHBvcnQgY2xhc3MgQWRIb2NGaWx0ZXJzVmFyaWFibGVcbiAgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8QWRIb2NGaWx0ZXJzVmFyaWFibGVTdGF0ZT5cbiAgaW1wbGVtZW50cyBTY2VuZVZhcmlhYmxlPEFkSG9jRmlsdGVyc1ZhcmlhYmxlU3RhdGU+XG57XG4gIHN0YXRpYyBDb21wb25lbnQgPSBBZEhvY0ZpbHRlcnNWYXJpYWJsZVJlbmRlcmVyO1xuXG4gIHByaXZhdGUgX3Njb3BlZFZhcnMgPSB7IF9fc2NlbmVPYmplY3Q6IHdyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCh0aGlzKSB9O1xuICBwcml2YXRlIF9kYXRhU291cmNlU3J2ID0gZ2V0RGF0YVNvdXJjZVNydigpO1xuXG4gIHByb3RlY3RlZCBfdXJsU3luYyA9IG5ldyBBZEhvY0ZpbHRlcnNWYXJpYWJsZVVybFN5bmNIYW5kbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdGF0ZTogUGFydGlhbDxBZEhvY0ZpbHRlcnNWYXJpYWJsZVN0YXRlPikge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6ICdhZGhvYycsXG4gICAgICBuYW1lOiBzdGF0ZS5uYW1lID8/ICdGaWx0ZXJzJyxcbiAgICAgIGZpbHRlcnM6IFtdLFxuICAgICAgZGF0YXNvdXJjZTogbnVsbCxcbiAgICAgIGFwcGx5TW9kZTogJ2F1dG8nLFxuICAgICAgZmlsdGVyRXhwcmVzc2lvbjogc3RhdGUuZmlsdGVyRXhwcmVzc2lvbiA/PyByZW5kZXJFeHByZXNzaW9uKHN0YXRlLmV4cHJlc3Npb25CdWlsZGVyLCBzdGF0ZS5maWx0ZXJzKSxcbiAgICAgIC4uLnN0YXRlLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuYXBwbHlNb2RlID09PSAnYXV0bycpIHtcbiAgICAgIHBhdGNoR2V0QWRob2NGaWx0ZXJzKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTdGF0ZSh1cGRhdGU6IFBhcnRpYWw8QWRIb2NGaWx0ZXJzVmFyaWFibGVTdGF0ZT4pOiB2b2lkIHtcbiAgICBsZXQgZmlsdGVyRXhwcmVzc2lvbkNoYW5nZWQgPSBmYWxzZTtcblxuICAgIGlmICh1cGRhdGUuZmlsdGVycyAmJiB1cGRhdGUuZmlsdGVycyAhPT0gdGhpcy5zdGF0ZS5maWx0ZXJzICYmICF1cGRhdGUuZmlsdGVyRXhwcmVzc2lvbikge1xuICAgICAgdXBkYXRlLmZpbHRlckV4cHJlc3Npb24gPSByZW5kZXJFeHByZXNzaW9uKHRoaXMuc3RhdGUuZXhwcmVzc2lvbkJ1aWxkZXIsIHVwZGF0ZS5maWx0ZXJzKTtcbiAgICAgIGZpbHRlckV4cHJlc3Npb25DaGFuZ2VkID0gdXBkYXRlLmZpbHRlckV4cHJlc3Npb24gIT09IHRoaXMuc3RhdGUuZmlsdGVyRXhwcmVzc2lvbjtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRTdGF0ZSh1cGRhdGUpO1xuXG4gICAgaWYgKGZpbHRlckV4cHJlc3Npb25DaGFuZ2VkKSB7XG4gICAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50KHRoaXMpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsdWUoKTogVmFyaWFibGVWYWx1ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZmlsdGVyRXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBfdXBkYXRlRmlsdGVyKGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzLCB1cGRhdGU6IFBhcnRpYWw8QWRIb2NGaWx0ZXJXaXRoTGFiZWxzPikge1xuICAgIGNvbnN0IHsgZmlsdGVycywgX3dpcCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGlmIChmaWx0ZXIgPT09IF93aXApIHtcbiAgICAgIC8vIElmIHdlIHNldCB2YWx1ZSB3ZSBhcmUgZG9uZSB3aXRoIHRoaXMgXCJ3b3JrIGluIHByb2dyZXNzXCIgZmlsdGVyIGFuZCB3ZSBjYW4gYWRkIGl0XG4gICAgICBpZiAoJ3ZhbHVlJyBpbiB1cGRhdGUgJiYgdXBkYXRlWyd2YWx1ZSddICE9PSAnJykge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZmlsdGVyczogWy4uLmZpbHRlcnMsIHsgLi4uX3dpcCwgLi4udXBkYXRlIH1dLCBfd2lwOiB1bmRlZmluZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgX3dpcDogeyAuLi5maWx0ZXIsIC4uLnVwZGF0ZSB9IH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRGaWx0ZXJzID0gdGhpcy5zdGF0ZS5maWx0ZXJzLm1hcCgoZikgPT4ge1xuICAgICAgcmV0dXJuIGYgPT09IGZpbHRlciA/IHsgLi4uZiwgLi4udXBkYXRlIH0gOiBmO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbHRlcnM6IHVwZGF0ZWRGaWx0ZXJzIH0pO1xuICB9XG5cbiAgcHVibGljIF9yZW1vdmVGaWx0ZXIoZmlsdGVyOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHMpIHtcbiAgICBpZiAoZmlsdGVyID09PSB0aGlzLnN0YXRlLl93aXApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBfd2lwOiB1bmRlZmluZWQgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbHRlcnM6IHRoaXMuc3RhdGUuZmlsdGVycy5maWx0ZXIoKGYpID0+IGYgIT09IGZpbHRlcikgfSk7XG4gIH1cblxuICBwdWJsaWMgX3JlbW92ZUxhc3RGaWx0ZXIoKSB7XG4gICAgY29uc3QgZmlsdGVyVG9SZW1vdmUgPSB0aGlzLnN0YXRlLmZpbHRlcnMuYXQoLTEpO1xuXG4gICAgaWYgKGZpbHRlclRvUmVtb3ZlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVGaWx0ZXIoZmlsdGVyVG9SZW1vdmUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfaGFuZGxlQ29tYm9ib3hCYWNrc3BhY2UoZmlsdGVyOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHMpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5maWx0ZXJzLmxlbmd0aCkge1xuICAgICAgLy8gZGVmYXVsdCBmb3JjZUVkaXQgbGFzdCBmaWx0ZXIgKHdoZW4gdHJpZ2dlcmluZyBmcm9tIHdpcCBmaWx0ZXIpXG4gICAgICBsZXQgZmlsdGVyVG9Gb3JjZUluZGV4ID0gdGhpcy5zdGF0ZS5maWx0ZXJzLmxlbmd0aCAtIDE7XG5cbiAgICAgIC8vIGFkanVzdCBmaWx0ZXJUb0ZvcmNlSW5kZXggaW5kZXggdG8gLTEgaWYgYmFja3NwYWNlIHRyaWdnZXJlZCBmcm9tIG5vbiB3aXAgZmlsdGVyXG4gICAgICAvLyAgdG8gYXZvaWQgdHJpZ2dlcmluZyBmb3JjZUVkaXQgbG9naWNcbiAgICAgIGlmIChmaWx0ZXIgIT09IHRoaXMuc3RhdGUuX3dpcCkge1xuICAgICAgICBmaWx0ZXJUb0ZvcmNlSW5kZXggPSAtMTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGZpbHRlcnM6IHRoaXMuc3RhdGUuZmlsdGVycy5yZWR1Y2U8QWRIb2NGaWx0ZXJXaXRoTGFiZWxzW10+KChhY2MsIGYsIGluZGV4KSA9PiB7XG4gICAgICAgICAgLy8gYWRqdXN0IGZvcmNlRWRpdCBvZiBwcmVjZWRpbmcgZmlsdGVyXG4gICAgICAgICAgaWYgKGluZGV4ID09PSBmaWx0ZXJUb0ZvcmNlSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLmYsXG4gICAgICAgICAgICAgICAgZm9yY2VFZGl0OiB0cnVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gcmVtb3ZlIGN1cnJlbnQgZmlsdGVyXG4gICAgICAgICAgaWYgKGYgPT09IGZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gWy4uLmFjYywgZl07XG4gICAgICAgIH0sIFtdKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcG9zc2libGUga2V5cyBnaXZlbiBjdXJyZW50IGZpbHRlcnMuIERvIG5vdCBjYWxsIGZyb20gcGx1Z2lucyBkaXJlY3RseVxuICAgKi9cbiAgcHVibGljIGFzeW5jIF9nZXRLZXlzKGN1cnJlbnRLZXk6IHN0cmluZyB8IG51bGwpOiBQcm9taXNlPEFycmF5PFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+Pj4ge1xuICAgIGNvbnN0IG92ZXJyaWRlID0gYXdhaXQgdGhpcy5zdGF0ZS5nZXRUYWdLZXlzUHJvdmlkZXI/Lih0aGlzLCBjdXJyZW50S2V5KTtcblxuICAgIGlmIChvdmVycmlkZSAmJiBvdmVycmlkZS5yZXBsYWNlKSB7XG4gICAgICByZXR1cm4gZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUuZGVmYXVsdEtleXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLmRlZmF1bHRLZXlzLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZHMgPSBhd2FpdCB0aGlzLl9kYXRhU291cmNlU3J2LmdldCh0aGlzLnN0YXRlLmRhdGFzb3VyY2UsIHRoaXMuX3Njb3BlZFZhcnMpO1xuICAgIGlmICghZHMgfHwgIWRzLmdldFRhZ0tleXMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBvdGhlckZpbHRlcnMgPSB0aGlzLnN0YXRlLmZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmtleSAhPT0gY3VycmVudEtleSkuY29uY2F0KHRoaXMuc3RhdGUuYmFzZUZpbHRlcnMgPz8gW10pO1xuICAgIGNvbnN0IHRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpLnN0YXRlLnZhbHVlO1xuICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnN0YXRlLnVzZVF1ZXJpZXNBc0ZpbHRlckZvck9wdGlvbnMgPyBnZXRRdWVyaWVzRm9yVmFyaWFibGVzKHRoaXMpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZHMuZ2V0VGFnS2V5cyh7XG4gICAgICBmaWx0ZXJzOiBvdGhlckZpbHRlcnMsXG4gICAgICBxdWVyaWVzLFxuICAgICAgdGltZVJhbmdlLFxuICAgICAgLi4uZ2V0RW5yaWNoZWRGaWx0ZXJzUmVxdWVzdCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGlmIChyZXNwb25zZUhhc0Vycm9yKHJlc3BvbnNlKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yOiByZXNwb25zZS5lcnJvci5tZXNzYWdlIH0pO1xuICAgIH1cblxuICAgIGxldCBrZXlzID0gZGF0YUZyb21SZXNwb25zZShyZXNwb25zZSk7XG4gICAgaWYgKG92ZXJyaWRlKSB7XG4gICAgICBrZXlzID0ga2V5cy5jb25jYXQoZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YWdLZXlSZWdleEZpbHRlciA9IHRoaXMuc3RhdGUudGFnS2V5UmVnZXhGaWx0ZXI7XG4gICAgaWYgKHRhZ0tleVJlZ2V4RmlsdGVyKSB7XG4gICAgICBrZXlzID0ga2V5cy5maWx0ZXIoKGYpID0+IGYudGV4dC5tYXRjaCh0YWdLZXlSZWdleEZpbHRlcikpO1xuICAgIH1cblxuICAgIHJldHVybiBrZXlzLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHBvc3NpYmxlIGtleSB2YWx1ZXMgZm9yIGEgc3BlY2lmaWMga2V5IGdpdmVuIGN1cnJlbnQgZmlsdGVycy4gRG8gbm90IGNhbGwgZnJvbSBwbHVnaW5zIGRpcmVjdGx5XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgX2dldFZhbHVlc0ZvcihmaWx0ZXI6IEFkSG9jRmlsdGVyV2l0aExhYmVscyk6IFByb21pc2U8QXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+PiB7XG4gICAgY29uc3Qgb3ZlcnJpZGUgPSBhd2FpdCB0aGlzLnN0YXRlLmdldFRhZ1ZhbHVlc1Byb3ZpZGVyPy4odGhpcywgZmlsdGVyKTtcblxuICAgIGlmIChvdmVycmlkZSAmJiBvdmVycmlkZS5yZXBsYWNlKSB7XG4gICAgICByZXR1cm4gZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZHMgPSBhd2FpdCB0aGlzLl9kYXRhU291cmNlU3J2LmdldCh0aGlzLnN0YXRlLmRhdGFzb3VyY2UsIHRoaXMuX3Njb3BlZFZhcnMpO1xuXG4gICAgaWYgKCFkcyB8fCAhZHMuZ2V0VGFnVmFsdWVzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIG91dCB0aGUgY3VycmVudCBmaWx0ZXIga2V5IGZyb20gdGhlIGxpc3Qgb2YgYWxsIGZpbHRlcnNcbiAgICBjb25zdCBvdGhlckZpbHRlcnMgPSB0aGlzLnN0YXRlLmZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmtleSAhPT0gZmlsdGVyLmtleSkuY29uY2F0KHRoaXMuc3RhdGUuYmFzZUZpbHRlcnMgPz8gW10pO1xuXG4gICAgY29uc3QgdGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UodGhpcykuc3RhdGUudmFsdWU7XG4gICAgY29uc3QgcXVlcmllcyA9IHRoaXMuc3RhdGUudXNlUXVlcmllc0FzRmlsdGVyRm9yT3B0aW9ucyA/IGdldFF1ZXJpZXNGb3JWYXJpYWJsZXModGhpcykgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRzLmdldFRhZ1ZhbHVlcyh7XG4gICAgICBrZXk6IGZpbHRlci5rZXksXG4gICAgICBmaWx0ZXJzOiBvdGhlckZpbHRlcnMsXG4gICAgICB0aW1lUmFuZ2UsXG4gICAgICBxdWVyaWVzLFxuICAgICAgLi4uZ2V0RW5yaWNoZWRGaWx0ZXJzUmVxdWVzdCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGlmIChyZXNwb25zZUhhc0Vycm9yKHJlc3BvbnNlKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yOiByZXNwb25zZS5lcnJvci5tZXNzYWdlIH0pO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZXMgPSBkYXRhRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgIHZhbHVlcyA9IHZhbHVlcy5jb25jYXQoZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVzLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgX2FkZFdpcCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIF93aXA6IHsga2V5OiAnJywgdmFsdWU6ICcnLCBvcGVyYXRvcjogJz0nLCBjb25kaXRpb246ICcnIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgX2dldE9wZXJhdG9ycygpIHtcbiAgICBjb25zdCBmaWx0ZXJlZE9wZXJhdG9ycyA9IHRoaXMuc3RhdGUuc3VwcG9ydHNNdWx0aVZhbHVlT3BlcmF0b3JzXG4gICAgICA/IE9QRVJBVE9SU1xuICAgICAgOiBPUEVSQVRPUlMuZmlsdGVyKChvcGVyYXRvcikgPT4gIW9wZXJhdG9yLmlzTXVsdGkpO1xuICAgIHJldHVybiBmaWx0ZXJlZE9wZXJhdG9ycy5tYXA8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+KCh7IHZhbHVlLCBkZXNjcmlwdGlvbiB9KSA9PiAoe1xuICAgICAgbGFiZWw6IHZhbHVlLFxuICAgICAgdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICB9KSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyRXhwcmVzc2lvbihcbiAgYnVpbGRlcjogQWRIb2NWYXJpYWJsZUV4cHJlc3Npb25CdWlsZGVyRm4gfCB1bmRlZmluZWQsXG4gIGZpbHRlcnM6IEFkSG9jRmlsdGVyV2l0aExhYmVsc1tdIHwgdW5kZWZpbmVkXG4pIHtcbiAgcmV0dXJuIChidWlsZGVyID8/IHJlbmRlclByb21ldGhldXNMYWJlbEZpbHRlcnMpKGZpbHRlcnMgPz8gW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQWRIb2NGaWx0ZXJzVmFyaWFibGVSZW5kZXJlcih7IG1vZGVsIH06IFNjZW5lQ29tcG9uZW50UHJvcHM8QWRIb2NGaWx0ZXJzVmFyaWFibGU+KSB7XG4gIGNvbnN0IHsgZmlsdGVycywgcmVhZE9ubHksIGFkZEZpbHRlckJ1dHRvblRleHQgfSA9IG1vZGVsLnVzZVN0YXRlKCk7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0U3R5bGVzKTtcblxuICBpZiAobW9kZWwuc3RhdGUubGF5b3V0ID09PSAnY29tYm9ib3gnKSB7XG4gICAgcmV0dXJuIDxBZEhvY0ZpbHRlcnNDb21ib2JveFJlbmRlcmVyIG1vZGVsPXttb2RlbH0gLz47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMud3JhcHBlcn0+XG4gICAgICB7ZmlsdGVycy5tYXAoKGZpbHRlciwgaW5kZXgpID0+IChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgIDxBZEhvY0ZpbHRlclJlbmRlcmVyIGZpbHRlcj17ZmlsdGVyfSBtb2RlbD17bW9kZWx9IC8+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApKX1cblxuICAgICAgeyFyZWFkT25seSAmJiA8QWRIb2NGaWx0ZXJCdWlsZGVyIG1vZGVsPXttb2RlbH0ga2V5PVwiJ2J1aWxkZXJcIiBhZGRGaWx0ZXJCdXR0b25UZXh0PXthZGRGaWx0ZXJCdXR0b25UZXh0fSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3QgZ2V0U3R5bGVzID0gKHRoZW1lOiBHcmFmYW5hVGhlbWUyKSA9PiAoe1xuICB3cmFwcGVyOiBjc3Moe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgY29sdW1uR2FwOiB0aGVtZS5zcGFjaW5nKDIpLFxuICAgIHJvd0dhcDogdGhlbWUuc3BhY2luZygxKSxcbiAgfSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2VsZWN0YWJsZVZhbHVlKGlucHV0OiBNZXRyaWNGaW5kVmFsdWUpOiBTZWxlY3RhYmxlVmFsdWU8c3RyaW5nPiB7XG4gIGNvbnN0IHsgdGV4dCwgdmFsdWUgfSA9IGlucHV0O1xuICBjb25zdCByZXN1bHQ6IFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+ID0ge1xuICAgIGxhYmVsOiB0ZXh0LFxuICAgIHZhbHVlOiBTdHJpbmcodmFsdWUgPz8gdGV4dCksXG4gIH07XG5cbiAgaWYgKCdncm91cCcgaW4gaW5wdXQpIHtcbiAgICByZXN1bHQuZ3JvdXAgPSBpbnB1dC5ncm91cDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbHRlckNvbXBsZXRlKGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzKTogYm9vbGVhbiB7XG4gIHJldHVybiBmaWx0ZXIua2V5ICE9PSAnJyAmJiBmaWx0ZXIub3BlcmF0b3IgIT09ICcnICYmIGZpbHRlci52YWx1ZSAhPT0gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc011bHRpVmFsdWVPcGVyYXRvcihvcGVyYXRvclZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3Qgb3BlcmF0b3IgPSBPUEVSQVRPUlMuZmluZCgobykgPT4gby52YWx1ZSA9PT0gb3BlcmF0b3JWYWx1ZSk7XG4gIGlmICghb3BlcmF0b3IpIHtcbiAgICAvLyBkZWZhdWx0IHRvIGZhbHNlIGlmIG9wZXJhdG9yIGlzIG5vdCBmb3VuZFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gQm9vbGVhbihvcGVyYXRvci5pc011bHRpKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStITyxNQUFNLFNBQWtDLEdBQUE7QUFBQSxFQUM3QztBQUFBLElBQ0UsS0FBTyxFQUFBLEdBQUE7QUFBQSxJQUNQLFdBQWEsRUFBQSxRQUFBO0FBQUEsR0FDZjtBQUFBLEVBQ0E7QUFBQSxJQUNFLEtBQU8sRUFBQSxJQUFBO0FBQUEsSUFDUCxXQUFhLEVBQUEsV0FBQTtBQUFBLEdBQ2Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxLQUFPLEVBQUEsSUFBQTtBQUFBLElBQ1AsV0FBYSxFQUFBLDJDQUFBO0FBQUEsSUFDYixPQUFTLEVBQUEsSUFBQTtBQUFBLEdBQ1g7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
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { isFilterComplete, isMultiValueOperator } from './AdHocFiltersVariable.js';
|
|
2
|
-
import { escapeUrlPipeDelimiters, toUrlCommaDelimitedString, unescapeUrlDelimiters } from '../utils.js';
|
|
3
|
-
|
|
4
|
-
class AdHocFiltersVariableUrlSyncHandler {
|
|
5
|
-
constructor(_variable) {
|
|
6
|
-
this._variable = _variable;
|
|
7
|
-
}
|
|
8
|
-
getKey() {
|
|
9
|
-
return `var-${this._variable.state.name}`;
|
|
10
|
-
}
|
|
11
|
-
getKeys() {
|
|
12
|
-
return [this.getKey()];
|
|
13
|
-
}
|
|
14
|
-
getUrlState() {
|
|
15
|
-
const filters = this._variable.state.filters;
|
|
16
|
-
if (filters.length === 0) {
|
|
17
|
-
return { [this.getKey()]: [""] };
|
|
18
|
-
}
|
|
19
|
-
const value = filters.filter(isFilterComplete).map((filter) => toArray(filter).map(escapeUrlPipeDelimiters).join("|"));
|
|
20
|
-
return { [this.getKey()]: value };
|
|
21
|
-
}
|
|
22
|
-
updateFromUrl(values) {
|
|
23
|
-
const urlValue = values[this.getKey()];
|
|
24
|
-
if (urlValue == null) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const filters = deserializeUrlToFilters(urlValue);
|
|
28
|
-
this._variable.setState({ filters });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function deserializeUrlToFilters(value) {
|
|
32
|
-
if (Array.isArray(value)) {
|
|
33
|
-
const values = value;
|
|
34
|
-
return values.map(toFilter).filter(isFilter);
|
|
35
|
-
}
|
|
36
|
-
const filter = toFilter(value);
|
|
37
|
-
return filter === null ? [] : [filter];
|
|
38
|
-
}
|
|
39
|
-
function toArray(filter) {
|
|
40
|
-
var _a;
|
|
41
|
-
const result = [toUrlCommaDelimitedString(filter.key, filter.keyLabel), filter.operator];
|
|
42
|
-
if (isMultiValueOperator(filter.operator)) {
|
|
43
|
-
filter.values.forEach((value, index) => {
|
|
44
|
-
var _a2;
|
|
45
|
-
result.push(toUrlCommaDelimitedString(value, (_a2 = filter.valueLabels) == null ? void 0 : _a2[index]));
|
|
46
|
-
});
|
|
47
|
-
} else {
|
|
48
|
-
result.push(toUrlCommaDelimitedString(filter.value, (_a = filter.valueLabels) == null ? void 0 : _a[0]));
|
|
49
|
-
}
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
function toFilter(urlValue) {
|
|
53
|
-
if (typeof urlValue !== "string" || urlValue.length === 0) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
const [key, keyLabel, operator, _operatorLabel, ...values] = urlValue.split("|").reduce((acc, v) => {
|
|
57
|
-
const [key2, label] = v.split(",");
|
|
58
|
-
acc.push(key2, label != null ? label : key2);
|
|
59
|
-
return acc;
|
|
60
|
-
}, []).map(unescapeUrlDelimiters);
|
|
61
|
-
return {
|
|
62
|
-
key,
|
|
63
|
-
keyLabel,
|
|
64
|
-
operator,
|
|
65
|
-
value: values[0],
|
|
66
|
-
values: isMultiValueOperator(operator) ? values.filter((_, index) => index % 2 === 0) : void 0,
|
|
67
|
-
valueLabels: values.filter((_, index) => index % 2 === 1),
|
|
68
|
-
condition: ""
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
function isFilter(filter) {
|
|
72
|
-
return filter !== null && typeof filter.key === "string" && typeof filter.value === "string";
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export { AdHocFiltersVariableUrlSyncHandler };
|
|
76
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzVmFyaWFibGVVcmxTeW5jSGFuZGxlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9hZGhvYy9BZEhvY0ZpbHRlcnNWYXJpYWJsZVVybFN5bmNIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXIsIFNjZW5lT2JqZWN0VXJsVmFsdWUsIFNjZW5lT2JqZWN0VXJsVmFsdWVzIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQge1xuICBBZEhvY0ZpbHRlcnNWYXJpYWJsZSxcbiAgQWRIb2NGaWx0ZXJXaXRoTGFiZWxzLFxuICBpc0ZpbHRlckNvbXBsZXRlLFxuICBpc011bHRpVmFsdWVPcGVyYXRvcixcbn0gZnJvbSAnLi9BZEhvY0ZpbHRlcnNWYXJpYWJsZSc7XG5pbXBvcnQgeyBlc2NhcGVVcmxQaXBlRGVsaW1pdGVycywgdG9VcmxDb21tYURlbGltaXRlZFN0cmluZywgdW5lc2NhcGVVcmxEZWxpbWl0ZXJzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQWRIb2NGaWx0ZXJzVmFyaWFibGVVcmxTeW5jSGFuZGxlciBpbXBsZW1lbnRzIFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfdmFyaWFibGU6IEFkSG9jRmlsdGVyc1ZhcmlhYmxlKSB7fVxuXG4gIHByaXZhdGUgZ2V0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXItJHt0aGlzLl92YXJpYWJsZS5zdGF0ZS5uYW1lfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0S2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFt0aGlzLmdldEtleSgpXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVcmxTdGF0ZSgpOiBTY2VuZU9iamVjdFVybFZhbHVlcyB7XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMuX3ZhcmlhYmxlLnN0YXRlLmZpbHRlcnM7XG5cbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7IFt0aGlzLmdldEtleSgpXTogWycnXSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1xuICAgICAgLmZpbHRlcihpc0ZpbHRlckNvbXBsZXRlKVxuICAgICAgLm1hcCgoZmlsdGVyKSA9PiB0b0FycmF5KGZpbHRlcikubWFwKGVzY2FwZVVybFBpcGVEZWxpbWl0ZXJzKS5qb2luKCd8JykpO1xuICAgIHJldHVybiB7IFt0aGlzLmdldEtleSgpXTogdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGcm9tVXJsKHZhbHVlczogU2NlbmVPYmplY3RVcmxWYWx1ZXMpOiB2b2lkIHtcbiAgICBjb25zdCB1cmxWYWx1ZSA9IHZhbHVlc1t0aGlzLmdldEtleSgpXTtcblxuICAgIGlmICh1cmxWYWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVycyA9IGRlc2VyaWFsaXplVXJsVG9GaWx0ZXJzKHVybFZhbHVlKTtcbiAgICB0aGlzLl92YXJpYWJsZS5zZXRTdGF0ZSh7IGZpbHRlcnMgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVzZXJpYWxpemVVcmxUb0ZpbHRlcnModmFsdWU6IFNjZW5lT2JqZWN0VXJsVmFsdWUpOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHNbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZXMubWFwKHRvRmlsdGVyKS5maWx0ZXIoaXNGaWx0ZXIpO1xuICB9XG5cbiAgY29uc3QgZmlsdGVyID0gdG9GaWx0ZXIodmFsdWUpO1xuICByZXR1cm4gZmlsdGVyID09PSBudWxsID8gW10gOiBbZmlsdGVyXTtcbn1cblxuZnVuY3Rpb24gdG9BcnJheShmaWx0ZXI6IEFkSG9jRmlsdGVyV2l0aExhYmVscyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmVzdWx0ID0gW3RvVXJsQ29tbWFEZWxpbWl0ZWRTdHJpbmcoZmlsdGVyLmtleSwgZmlsdGVyLmtleUxhYmVsKSwgZmlsdGVyLm9wZXJhdG9yXTtcbiAgaWYgKGlzTXVsdGlWYWx1ZU9wZXJhdG9yKGZpbHRlci5vcGVyYXRvcikpIHtcbiAgICAvLyBUT0RPIHJlbW92ZSBleHBlY3QtZXJyb3Igd2hlbiB3ZSdyZSBvbiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgQGdyYWZhbmEvZGF0YVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBmaWx0ZXIudmFsdWVzLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2godG9VcmxDb21tYURlbGltaXRlZFN0cmluZyh2YWx1ZSwgZmlsdGVyLnZhbHVlTGFiZWxzPy5baW5kZXhdKSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnB1c2godG9VcmxDb21tYURlbGltaXRlZFN0cmluZyhmaWx0ZXIudmFsdWUsIGZpbHRlci52YWx1ZUxhYmVscz8uWzBdKSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdG9GaWx0ZXIodXJsVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsKTogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzIHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgdXJsVmFsdWUgIT09ICdzdHJpbmcnIHx8IHVybFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgW2tleSwga2V5TGFiZWwsIG9wZXJhdG9yLCBfb3BlcmF0b3JMYWJlbCwgLi4udmFsdWVzXSA9IHVybFZhbHVlXG4gICAgLnNwbGl0KCd8JylcbiAgICAucmVkdWNlPHN0cmluZ1tdPigoYWNjLCB2KSA9PiB7XG4gICAgICBjb25zdCBba2V5LCBsYWJlbF0gPSB2LnNwbGl0KCcsJyk7XG5cbiAgICAgIGFjYy5wdXNoKGtleSwgbGFiZWwgPz8ga2V5KTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSlcbiAgICAubWFwKHVuZXNjYXBlVXJsRGVsaW1pdGVycyk7XG5cbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAga2V5TGFiZWwsXG4gICAgb3BlcmF0b3IsXG4gICAgdmFsdWU6IHZhbHVlc1swXSxcbiAgICB2YWx1ZXM6IGlzTXVsdGlWYWx1ZU9wZXJhdG9yKG9wZXJhdG9yKSA/IHZhbHVlcy5maWx0ZXIoKF8sIGluZGV4KSA9PiBpbmRleCAlIDIgPT09IDApIDogdW5kZWZpbmVkLFxuICAgIHZhbHVlTGFiZWxzOiB2YWx1ZXMuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggJSAyID09PSAxKSxcbiAgICBjb25kaXRpb246ICcnLFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0ZpbHRlcihmaWx0ZXI6IEFkSG9jRmlsdGVyV2l0aExhYmVscyB8IG51bGwpOiBmaWx0ZXIgaXMgQWRIb2NGaWx0ZXJXaXRoTGFiZWxzIHtcbiAgcmV0dXJuIGZpbHRlciAhPT0gbnVsbCAmJiB0eXBlb2YgZmlsdGVyLmtleSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIGZpbHRlci52YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG4iXSwibmFtZXMiOlsiX2EiLCJrZXkiXSwibWFwcGluZ3MiOiI7OztBQVNPLE1BQU0sa0NBQXdFLENBQUE7QUFBQSxFQUM1RSxZQUFvQixTQUFpQyxFQUFBO0FBQWpDLElBQUEsSUFBQSxDQUFBLFNBQUEsR0FBQSxTQUFBLENBQUE7QUFBQSxHQUFrQztBQUFBLEVBRXJELE1BQWlCLEdBQUE7QUFDdkIsSUFBTyxPQUFBLENBQUEsSUFBQSxFQUFPLElBQUssQ0FBQSxTQUFBLENBQVUsS0FBTSxDQUFBLElBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxHQUNyQztBQUFBLEVBRU8sT0FBb0IsR0FBQTtBQUN6QixJQUFPLE9BQUEsQ0FBQyxJQUFLLENBQUEsTUFBQSxFQUFRLENBQUEsQ0FBQTtBQUFB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
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { getFuzzySearcher } from '../utils.js';
|
|
2
|
-
|
|
3
|
-
function getAdhocOptionSearcher(options) {
|
|
4
|
-
const haystack = options.map((o) => {
|
|
5
|
-
var _a;
|
|
6
|
-
return (_a = o.label) != null ? _a : String(o.value);
|
|
7
|
-
});
|
|
8
|
-
const fuzzySearch = getFuzzySearcher(haystack);
|
|
9
|
-
return (search) => fuzzySearch(search).map((i) => options[i]);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { getAdhocOptionSearcher };
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QWRob2NPcHRpb25TZWFyY2hlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9hZGhvYy9nZXRBZGhvY09wdGlvblNlYXJjaGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGFibGVWYWx1ZSB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgZ2V0RnV6enlTZWFyY2hlciB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkaG9jT3B0aW9uU2VhcmNoZXIob3B0aW9uczogU2VsZWN0YWJsZVZhbHVlW10pIHtcbiAgY29uc3QgaGF5c3RhY2sgPSBvcHRpb25zLm1hcCgobykgPT4gby5sYWJlbCA/PyBTdHJpbmcoby52YWx1ZSkpO1xuICBjb25zdCBmdXp6eVNlYXJjaCA9IGdldEZ1enp5U2VhcmNoZXIoaGF5c3RhY2spO1xuXG4gIHJldHVybiAoc2VhcmNoOiBzdHJpbmcpID0+IGZ1enp5U2VhcmNoKHNlYXJjaCkubWFwKChpKSA9PiBvcHRpb25zW2ldKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdPLFNBQVMsdUJBQXVCLE9BQTRCLEVBQUE7QUFDakUsRUFBQSxNQUFNLFFBQVcsR0FBQSxPQUFBLENBQVEsR0FBSSxDQUFBLENBQUMsQ0FBRyxLQUFBO0FBSm5DLElBQUEsSUFBQSxFQUFBLENBQUE7QUFJc0MsSUFBQSxPQUFBLENBQUEsRUFBQSxHQUFBLENBQUEsQ0FBRSxLQUFGLEtBQUEsSUFBQSxHQUFBLEVBQUEsR0FBVyxNQUFPLENBQUEsQ0FBQSxDQUFFLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FBQyxDQUFBLENBQUE7QUFDOUQsRUFBTSxNQUFBLFdBQUEsR0FBYyxpQkFBaUIsUUFBUSxDQUFBLENBQUE7QUFFN0MsRUFBTyxPQUFBLENBQUMsV0FBbUIsV0FBWSxDQUFBLE1BQU0sRUFBRSxHQUFJLENBQUEsQ0FBQyxDQUFNLEtBQUEsT0FBQSxDQUFRLENBQUUsQ0FBQSxDQUFBLENBQUE7QUFDdEU7Ozs7In0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { getTemplateSrv, getDataSourceSrv } from '@grafana/runtime';
|
|
2
|
-
|
|
3
|
-
let originalGetAdhocFilters = void 0;
|
|
4
|
-
let allActiveFilterSets = /* @__PURE__ */ new Set();
|
|
5
|
-
function patchGetAdhocFilters(filterVar) {
|
|
6
|
-
filterVar.addActivationHandler(() => {
|
|
7
|
-
allActiveFilterSets.add(filterVar);
|
|
8
|
-
return () => allActiveFilterSets.delete(filterVar);
|
|
9
|
-
});
|
|
10
|
-
if (originalGetAdhocFilters) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
const templateSrv = getTemplateSrv();
|
|
14
|
-
if (!(templateSrv == null ? void 0 : templateSrv.getAdhocFilters)) {
|
|
15
|
-
console.log("Failed to patch getAdhocFilters");
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
originalGetAdhocFilters = templateSrv.getAdhocFilters;
|
|
19
|
-
templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {
|
|
20
|
-
var _a;
|
|
21
|
-
if (allActiveFilterSets.size === 0) {
|
|
22
|
-
return originalGetAdhocFilters.call(templateSrv, dsName);
|
|
23
|
-
}
|
|
24
|
-
const ds = getDataSourceSrv().getInstanceSettings(dsName);
|
|
25
|
-
if (!ds) {
|
|
26
|
-
return [];
|
|
27
|
-
}
|
|
28
|
-
for (const filter of allActiveFilterSets.values()) {
|
|
29
|
-
if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === ds.uid) {
|
|
30
|
-
return filter.state.filters;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return [];
|
|
34
|
-
}.bind(templateSrv);
|
|
35
|
-
}
|
|
36
|
-
function findActiveAdHocFilterVariableByUid(dsUid) {
|
|
37
|
-
var _a;
|
|
38
|
-
for (const filter of allActiveFilterSets.values()) {
|
|
39
|
-
if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {
|
|
40
|
-
return filter;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return void 0;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export { findActiveAdHocFilterVariableByUid, patchGetAdhocFilters };
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hHZXRBZGhvY0ZpbHRlcnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvcGF0Y2hHZXRBZGhvY0ZpbHRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RGF0YVNvdXJjZVNydiwgZ2V0VGVtcGxhdGVTcnYgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IEFkSG9jVmFyaWFibGVGaWx0ZXIgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlIH0gZnJvbSAnLi9BZEhvY0ZpbHRlcnNWYXJpYWJsZSc7XG5cbmxldCBvcmlnaW5hbEdldEFkaG9jRmlsdGVyczogYW55ID0gdW5kZWZpbmVkO1xubGV0IGFsbEFjdGl2ZUZpbHRlclNldHMgPSBuZXcgU2V0PEFkSG9jRmlsdGVyc1ZhcmlhYmxlPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hHZXRBZGhvY0ZpbHRlcnMoZmlsdGVyVmFyOiBBZEhvY0ZpbHRlcnNWYXJpYWJsZSkge1xuICBmaWx0ZXJWYXIuYWRkQWN0aXZhdGlvbkhhbmRsZXIoKCkgPT4ge1xuICAgIGFsbEFjdGl2ZUZpbHRlclNldHMuYWRkKGZpbHRlclZhcik7XG4gICAgcmV0dXJuICgpID0+IGFsbEFjdGl2ZUZpbHRlclNldHMuZGVsZXRlKGZpbHRlclZhcik7XG4gIH0pO1xuXG4gIGlmIChvcmlnaW5hbEdldEFkaG9jRmlsdGVycykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRlbXBsYXRlU3J2OiBhbnkgPSBnZXRUZW1wbGF0ZVNydigpO1xuICBpZiAoIXRlbXBsYXRlU3J2Py5nZXRBZGhvY0ZpbHRlcnMpIHtcbiAgICBjb25zb2xlLmxvZygnRmFpbGVkIHRvIHBhdGNoIGdldEFkaG9jRmlsdGVycycpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG9yaWdpbmFsR2V0QWRob2NGaWx0ZXJzID0gdGVtcGxhdGVTcnYuZ2V0QWRob2NGaWx0ZXJzO1xuXG4gIHRlbXBsYXRlU3J2LmdldEFkaG9jRmlsdGVycyA9IGZ1bmN0aW9uIGdldEFkaG9jRmlsdGVyc1NjZW5lUGF0Y2goZHNOYW1lOiBzdHJpbmcpOiBBZEhvY1ZhcmlhYmxlRmlsdGVyW10ge1xuICAgIGlmIChhbGxBY3RpdmVGaWx0ZXJTZXRzLnNpemUgPT09IDApIHtcbiAgICAgIHJldHVybiBvcmlnaW5hbEdldEFkaG9jRmlsdGVycy5jYWxsKHRlbXBsYXRlU3J2LCBkc05hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGRzID0gZ2V0RGF0YVNvdXJjZVNydigpLmdldEluc3RhbmNlU2V0dGluZ3MoZHNOYW1lKTtcbiAgICBpZiAoIWRzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgYWxsQWN0aXZlRmlsdGVyU2V0cy52YWx1ZXMoKSkge1xuICAgICAgaWYgKGZpbHRlci5zdGF0ZS5kYXRhc291cmNlPy51aWQgPT09IGRzLnVpZCkge1xuICAgICAgICByZXR1cm4gZmlsdGVyLnN0YXRlLmZpbHRlcnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9LmJpbmQodGVtcGxhdGVTcnYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEFjdGl2ZUFkSG9jRmlsdGVyVmFyaWFibGVCeVVpZChkc1VpZDogc3RyaW5nIHwgdW5kZWZpbmVkKTogQWRIb2NGaWx0ZXJzVmFyaWFibGUgfCB1bmRlZmluZWQge1xuICBmb3IgKGNvbnN0IGZpbHRlciBvZiBhbGxBY3RpdmVGaWx0ZXJTZXRzLnZhbHVlcygpKSB7XG4gICAgaWYgKGZpbHRlci5zdGF0ZS5kYXRhc291cmNlPy51aWQgPT09IGRzVWlkKSB7XG4gICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxJQUFJLHVCQUErQixHQUFBLEtBQUEsQ0FBQSxDQUFBO0FBQ25DLElBQUksbUJBQUEsdUJBQTBCLEdBQTBCLEVBQUEsQ0FBQTtBQUVqRCxTQUFTLHFCQUFxQixTQUFpQyxFQUFBO0FBQ3BFLEVBQUEsU0FBQSxDQUFVLHFCQUFxQixNQUFNO0FBQ25DLElBQUEsbUJBQUEsQ0FBb0IsSUFBSSxTQUFTLENBQUEsQ0FBQTtBQUNqQyxJQUFPLE9BQUEsTUFBTSxtQkFBb0IsQ0FBQSxNQUFBLENBQU8sU0FBUyxDQUFBLENBQUE7QUFBQSxHQUNsRCxDQUFBLENBQUE7QUFFRCxFQUFBLElBQUksdUJBQXlCLEVBQUE7QUFDM0IsSUFBQSxPQUFBO0FBQUEsR0FDRjtBQUVBLEVBQUEsTUFBTSxjQUFtQixjQUFlLEVBQUEsQ0FBQTtBQUN4QyxFQUFJLElBQUEsRUFBQywyQ0FBYSxlQUFpQixDQUFBLEVBQUE7QUFDakMsSUFBQSxPQUFBLENBQVEsSUFBSSxpQ0FBaUMsQ0FBQSxDQUFBO0FBQzdDLElBQUEsT0FBQTtBQUFBLEdBQ0Y7QUFFQSxFQUFBLHVCQUFBLEdBQTBCLFdBQVksQ0FBQSxlQUFBLENBQUE7QUFFdEMsRUFBWSxXQUFBLENBQUEsZUFBQSxHQUFrQixTQUFTLHlCQUFBLENBQTBCLE1BQXVDLEVBQUE7QUF6QjFHLElBQUEsSUFBQSxFQUFBLENBQUE7QUEwQkksSUFBSSxJQUFBLG1CQUFBLENBQW9CLFNBQVMsQ0FBRyxFQUFBO0FBQ2xDLE1BQU8sT0FBQSx1QkFBQSxDQUF3QixJQUFLLENBQUEsV0FBQSxFQUFhLE1BQU0sQ0FBQSxDQUFBO0FBQUEsS0FDekQ7QUFFQSxJQUFBLE1BQU0sRUFBSyxHQUFBLGdCQUFBLEVBQW1CLENBQUEsbUJBQUEsQ0FBb0IsTUFBTSxDQUFBLENBQUE7QUFDeEQsSUFBQSxJQUFJLENBQUMsRUFBSSxFQUFBO0FBQ1AsTUFBQSxPQUFPLEVBQUMsQ0FBQTtBQUFBLEtBQ1Y7QUFFQSxJQUFXLEtBQUEsTUFBQSxNQUFBLElBQVUsbUJBQW9CLENBQUEsTUFBQSxFQUFVLEVBQUE7QUFDakQsTUFBQSxJQUFBLENBQUEsQ0FBSSxZQUFPLEtBQU0sQ0FBQSxVQUFBLEtBQWIsSUFBeUIsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsR0FBQSxNQUFRLEdBQUcsR0FBSyxFQUFBO0FBQzNDLFFBQUEsT0FBTyxPQUFPLEtBQU0sQ0FBQSxPQUFBLENBQUE7QUFBQSxPQUN0QjtBQUFBLEtBQ0Y7QUFFQSxJQUFBLE9BQU8sRUFBQyxDQUFBO0FBQUEsR0FDVixDQUFFLEtBQUssV0FBVyxDQUFBLENBQUE7QUFDcEIsQ0FBQTtBQUVPLFNBQVMsbUNBQW1DLEtBQTZELEVBQUE7QUE3Q2hILEVBQUEsSUFBQSxFQUFBLENBQUE7QUE4Q0UsRUFBVyxLQUFBLE1BQUEsTUFBQSxJQUFVLG1CQUFvQixDQUFBLE1BQUEsRUFBVSxFQUFBO0FBQ2pELElBQUEsSUFBQSxDQUFBLENBQUksRUFBTyxHQUFBLE1BQUEsQ0FBQSxLQUFBLENBQU0sVUFBYixLQUFBLElBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQXlCLFNBQVEsS0FBTyxFQUFBO0FBQzFDLE1BQU8sT0FBQSxNQUFBLENBQUE7QUFBQSxLQUNUO0FBQUEsR0FDRjtBQUVBLEVBQU8sT0FBQSxLQUFBLENBQUEsQ0FBQTtBQUNUOzs7OyJ9
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
3
|
-
import { sceneGraph } from '../../core/sceneGraph/index.js';
|
|
4
|
-
import { VariableValueSelectWrapper } from './VariableValueSelectors.js';
|
|
5
|
-
|
|
6
|
-
class VariableValueControl extends SceneObjectBase {
|
|
7
|
-
}
|
|
8
|
-
VariableValueControl.Component = VariableValueControlRenderer;
|
|
9
|
-
function VariableValueControlRenderer({ model }) {
|
|
10
|
-
const variable = sceneGraph.lookupVariable(model.state.variableName, model);
|
|
11
|
-
if (!variable) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
return /* @__PURE__ */ React.createElement(VariableValueSelectWrapper, {
|
|
15
|
-
key: variable.state.key,
|
|
16
|
-
variable,
|
|
17
|
-
layout: model.state.layout,
|
|
18
|
-
showAlways: true
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export { VariableValueControl };
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFyaWFibGVWYWx1ZUNvbnRyb2wuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvY29tcG9uZW50cy9WYXJpYWJsZVZhbHVlQ29udHJvbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgU2NlbmVPYmplY3RCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9TY2VuZU9iamVjdEJhc2UnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5pbXBvcnQgeyBDb250cm9sc0xheW91dCwgU2NlbmVDb21wb25lbnRQcm9wcywgU2NlbmVPYmplY3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZVNlbGVjdFdyYXBwZXIgfSBmcm9tICcuL1ZhcmlhYmxlVmFsdWVTZWxlY3RvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhcmlhYmxlVmFsdWVDb250cm9sU3RhdGUgZXh0ZW5kcyBTY2VuZU9iamVjdFN0YXRlIHtcbiAgbGF5b3V0PzogQ29udHJvbHNMYXlvdXQ7XG4gIC8qKiBSZW5kZXIgdGhlIHNwZWNpZmljIHNlbGVjdCBjb250cm9sIGZvciBhIHZhcmlhYmxlICovXG4gIHZhcmlhYmxlTmFtZTogc3RyaW5nO1xuICAvKiogSGlkZSB0aGUgbGFiZWwgaW4gdGhlIHZhcmlhYmxlIHZhbHVlIGNvbnRyb2xsZXIgKi9cbiAgaGlkZUxhYmVsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFZhcmlhYmxlVmFsdWVDb250cm9sIGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlPFZhcmlhYmxlVmFsdWVDb250cm9sU3RhdGU+IHtcbiAgcHVibGljIHN0YXRpYyBDb21wb25lbnQgPSBWYXJpYWJsZVZhbHVlQ29udHJvbFJlbmRlcmVyO1xufVxuXG5mdW5jdGlvbiBWYXJpYWJsZVZhbHVlQ29udHJvbFJlbmRlcmVyKHsgbW9kZWwgfTogU2NlbmVDb21wb25lbnRQcm9wczxWYXJpYWJsZVZhbHVlQ29udHJvbD4pIHtcbiAgY29uc3QgdmFyaWFibGUgPSBzY2VuZUdyYXBoLmxvb2t1cFZhcmlhYmxlKG1vZGVsLnN0YXRlLnZhcmlhYmxlTmFtZSwgbW9kZWwpO1xuICBpZiAoIXZhcmlhYmxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxWYXJpYWJsZVZhbHVlU2VsZWN0V3JhcHBlclxuICAgICAga2V5PXt2YXJpYWJsZS5zdGF0ZS5rZXl9XG4gICAgICB2YXJpYWJsZT17dmFyaWFibGV9XG4gICAgICBsYXlvdXQ9e21vZGVsLnN0YXRlLmxheW91dH1cbiAgICAgIHNob3dBbHdheXM9e3RydWV9XG4gICAgLz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVPLE1BQU0sNkJBQTZCLGVBQTJDLENBQUE7QUFFckYsQ0FBQTtBQUZhLG9CQUFBLENBQ0csU0FBWSxHQUFBLDRCQUFBLENBQUE7QUFHNUIsU0FBUyw0QkFBQSxDQUE2QixFQUFFLEtBQUEsRUFBb0QsRUFBQTtBQUMxRixFQUFBLE1BQU0sV0FBVyxVQUFXLENBQUEsY0FBQSxDQUFlLEtBQU0sQ0FBQSxLQUFBLENBQU0sY0FBYyxLQUFLLENBQUEsQ0FBQTtBQUMxRSxFQUFBLElBQUksQ0FBQyxRQUFVLEVBQUE7QUFDYixJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDVDtBQUVBLEVBQUEsdUJBQ0csS0FBQSxDQUFBLGFBQUEsQ0FBQSwwQkFBQSxFQUFBO0FBQUEsSUFDQyxHQUFBLEVBQUssU0FBUyxLQUFNLENBQUEsR0FBQTtBQUFBLElBQ3BCLFFBQUE7QUFBQSxJQUNBLE1BQUEsRUFBUSxNQUFNLEtBQU0sQ0FBQSxNQUFBO0FBQUEsSUFDcEIsVUFBWSxFQUFBLElBQUE7QUFBQSxHQUNkLENBQUEsQ0FBQTtBQUVKOzs7OyJ9
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React, { useCallback } from 'react';
|
|
2
|
-
import { AutoSizeInput } from '@grafana/ui';
|
|
3
|
-
|
|
4
|
-
function VariableValueInput({ model }) {
|
|
5
|
-
const { value, key, loading } = model.useState();
|
|
6
|
-
const onBlur = useCallback(
|
|
7
|
-
(e) => {
|
|
8
|
-
model.setValue(e.currentTarget.value);
|
|
9
|
-
},
|
|
10
|
-
[model]
|
|
11
|
-
);
|
|
12
|
-
const onKeyDown = useCallback(
|
|
13
|
-
(e) => {
|
|
14
|
-
if (e.key === "Enter") {
|
|
15
|
-
model.setValue(e.currentTarget.value);
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
[model]
|
|
19
|
-
);
|
|
20
|
-
return /* @__PURE__ */ React.createElement(AutoSizeInput, {
|
|
21
|
-
id: key,
|
|
22
|
-
placeholder: "Enter value",
|
|
23
|
-
minWidth: 15,
|
|
24
|
-
maxWidth: 30,
|
|
25
|
-
value,
|
|
26
|
-
loading,
|
|
27
|
-
onBlur,
|
|
28
|
-
onKeyDown
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export { VariableValueInput };
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFyaWFibGVWYWx1ZUlucHV0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL2NvbXBvbmVudHMvVmFyaWFibGVWYWx1ZUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IEF1dG9TaXplSW5wdXQgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5cbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IFRleHRCb3hWYXJpYWJsZSB9IGZyb20gJy4uL3ZhcmlhbnRzL1RleHRCb3hWYXJpYWJsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBWYXJpYWJsZVZhbHVlSW5wdXQoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPFRleHRCb3hWYXJpYWJsZT4pIHtcbiAgY29uc3QgeyB2YWx1ZSwga2V5LCBsb2FkaW5nIH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuXG4gIGNvbnN0IG9uQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgbW9kZWwuc2V0VmFsdWUoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFttb2RlbF1cbiAgKTtcblxuICBjb25zdCBvbktleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIG1vZGVsLnNldFZhbHVlKGUuY3VycmVudFRhcmdldC52YWx1ZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbbW9kZWxdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8QXV0b1NpemVJbnB1dFxuICAgICAgaWQ9e2tleX1cbiAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgdmFsdWVcIlxuICAgICAgbWluV2lkdGg9ezE1fVxuICAgICAgbWF4V2lkdGg9ezMwfVxuICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgLz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPZ0IsU0FBQSxrQkFBQSxDQUFtQixFQUFFLEtBQUEsRUFBK0MsRUFBQTtBQUNsRixFQUFBLE1BQU0sRUFBRSxLQUFPLEVBQUEsR0FBQSxFQUFLLE9BQVEsRUFBQSxHQUFJLE1BQU0sUUFBUyxFQUFBLENBQUE7QUFFL0MsRUFBQSxNQUFNLE1BQVMsR0FBQSxXQUFBO0FBQUEsSUFDYixDQUFDLENBQTJDLEtBQUE7QUFDMUMsTUFBTSxLQUFBLENBQUEsUUFBQSxDQUFTLENBQUUsQ0FBQSxhQUFBLENBQWMsS0FBSyxDQUFBLENBQUE7QUFBQSxLQUN0QztBQUFBLElBQ0EsQ0FBQyxLQUFLLENBQUE7QUFBQSxHQUNSLENBQUE7QUFFQSxFQUFBLE1BQU0sU0FBWSxHQUFBLFdBQUE7QUFBQSxJQUNoQixDQUFDLENBQTZDLEtBQUE7QUFDNUMsTUFBSSxJQUFBLENBQUEsQ0FBRSxRQUFRLE9BQVMsRUFBQTtBQUNyQixRQUFNLEtBQUEsQ0FBQSxRQUFBLENBQVMsQ0FBRSxDQUFBLGFBQUEsQ0FBYyxLQUFLLENBQUEsQ0FBQTtBQUFBLE9BQ3RDO0FBQUEsS0FDRjtBQUFBLElBQ0EsQ0FBQyxLQUFLLENBQUE7QUFBQSxHQUNSLENBQUE7QUFFQSxFQUFBLHVCQUNHLEtBQUEsQ0FBQSxhQUFBLENBQUEsYUFBQSxFQUFBO0FBQUEsSUFDQyxFQUFJLEVBQUEsR0FBQTtBQUFBLElBQ0osV0FBWSxFQUFBLGFBQUE7QUFBQSxJQUNaLFFBQVUsRUFBQSxFQUFBO0FBQUEsSUFDVixRQUFVLEVBQUEsRUFBQTtBQUFBLElBQ1YsS0FBQTtBQUFBLElBQ0EsT0FBQTtBQUFBLElBQ0EsTUFBQTtBQUFBLElBQ0EsU0FBQTtBQUFBLEdBQ0YsQ0FBQSxDQUFBO0FBRUo7Ozs7In0=
|