@grafana/scenes 6.50.0--canary.1312.20210310779.0 → 6.50.0--canary.1315.20233534152.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/dist/esm/packages/scenes/src/index.js +1 -1
  2. package/dist/esm/packages/scenes/src/index.js.map +1 -1
  3. package/dist/esm/packages/scenes/src/locales/en-US/grafana-scenes.json.js +0 -7
  4. package/dist/esm/packages/scenes/src/locales/en-US/grafana-scenes.json.js.map +1 -1
  5. package/dist/esm/packages/scenes/src/variables/DrilldownDependenciesManager.js.map +1 -1
  6. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +1 -21
  7. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -1
  8. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js +5 -93
  9. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  10. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js +1 -7
  11. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js.map +1 -1
  12. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js +8 -161
  13. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js.map +1 -1
  14. package/dist/esm/packages/scenes/src/variables/types.js.map +1 -1
  15. package/dist/{grafana-scenes-C9F_2hih.js → grafana-scenes-D5iZGLtK.js} +1 -8
  16. package/dist/{grafana-scenes-C9F_2hih.js.map → grafana-scenes-D5iZGLtK.js.map} +1 -1
  17. package/dist/index.d.ts +9 -60
  18. package/dist/index.js +4539 -4894
  19. package/dist/index.js.map +1 -1
  20. package/package.json +2 -2
  21. package/dist/esm/packages/scenes/src/variables/components/DrilldownRecommendations.js +0 -102
  22. package/dist/esm/packages/scenes/src/variables/components/DrilldownRecommendations.js.map +0 -1
@@ -9,7 +9,7 @@ export { PATH_ID_SEPARATOR } from './utils/pathId.js';
9
9
  import { isRepeatCloneOrChildOf } from './utils/utils.js';
10
10
  import { registerVariableMacro } from './variables/macros/index.js';
11
11
  import { escapeURLDelimiters, escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector, renderPrometheusLabelFilters } from './variables/utils.js';
12
- export { escapeUrlPipeDelimiters, getQueriesForVariables } from './variables/utils.js';
12
+ export { escapeUrlPipeDelimiters } from './variables/utils.js';
13
13
  import { isSwitchVariable, isGroupByVariable, isTextBoxVariable, isQueryVariable, isIntervalVariable, isDataSourceVariable, isCustomVariable, isConstantVariable, isAdHocVariable } from './variables/variants/guards.js';
14
14
  export { isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject } from './core/types.js';
15
15
  export { SceneObjectStateChangedEvent, UserActionEvent } from './core/events.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/index.ts"],"sourcesContent":["import { getUrlWithAppState } from './components/SceneApp/utils';\nimport { registerRuntimePanelPlugin } from './components/VizPanel/registerRuntimePanelPlugin';\nimport { cloneSceneObjectState } from './core/sceneGraph/cloneSceneObject';\nimport { registerRuntimeDataSource } from './querying/RuntimeDataSource';\nimport { getUrlState, syncStateFromSearchParams } from './services/utils';\nimport { buildPathIdFor } from './utils/pathId';\nimport { isRepeatCloneOrChildOf } from './utils/utils';\n\nimport { registerVariableMacro } from './variables/macros';\nimport {\n escapeLabelValueInExactSelector,\n escapeLabelValueInRegexSelector,\n escapeURLDelimiters,\n renderPrometheusLabelFilters,\n} from './variables/utils';\nimport {\n isAdHocVariable,\n isQueryVariable,\n isTextBoxVariable,\n isCustomVariable,\n isDataSourceVariable,\n isConstantVariable,\n isIntervalVariable,\n isGroupByVariable,\n isSwitchVariable,\n} from './variables/variants/guards';\n\nexport * from './core/types';\nexport * from './core/events';\nexport { sceneGraph } from './core/sceneGraph';\nexport * as behaviors from './behaviors';\nexport * as performanceUtils from './performance';\nexport { writePerformanceLog } from './utils/writePerformanceLog';\nexport * as dataLayers from './querying/layers';\n\nexport { SceneObjectBase, useSceneObjectState } from './core/SceneObjectBase';\nexport { SceneDataNode } from './core/SceneDataNode';\nexport { SceneTimeRange } from './core/SceneTimeRange';\nexport { SceneTimeZoneOverride } from './core/SceneTimeZoneOverride';\n\nexport { SceneQueryRunner, type QueryRunnerState } from './querying/SceneQueryRunner';\nexport { DataProviderProxy } from './querying/DataProviderProxy';\nexport {\n type ExtraQueryDescriptor,\n type ExtraQueryProvider,\n type ExtraQueryDataProcessor,\n} from './querying/ExtraQueryProvider';\nexport { SceneDataLayerSet, SceneDataLayerSetBase } from './querying/SceneDataLayerSet';\nexport { SceneDataLayerBase } from './querying/layers/SceneDataLayerBase';\nexport { SceneDataLayerControls } from './querying/layers/SceneDataLayerControls';\nexport { SceneDataTransformer, type SceneDataTransformerState } from './querying/SceneDataTransformer';\nexport { registerQueryWithController } from './querying/registerQueryWithController';\nexport { registerRuntimeDataSource, RuntimeDataSource } from './querying/RuntimeDataSource';\nexport type {\n SceneQueryControllerLike,\n SceneQueryControllerEntryType,\n SceneQueryControllerEntry,\n} from './behaviors/types';\n\nexport * from './variables/types';\nexport { VariableDependencyConfig } from './variables/VariableDependencyConfig';\nexport { formatRegistry, type FormatVariable } from './variables/interpolation/formatRegistry';\nexport { VariableValueSelectors } from './variables/components/VariableValueSelectors';\nexport { VariableValueControl } from './variables/components/VariableValueControl';\nexport { SceneVariableSet } from './variables/sets/SceneVariableSet';\nexport { ConstantVariable } from './variables/variants/ConstantVariable';\nexport { CustomVariable } from './variables/variants/CustomVariable';\nexport { SwitchVariable } from './variables/variants/SwitchVariable';\nexport { DataSourceVariable } from './variables/variants/DataSourceVariable';\nexport { QueryVariable } from './variables/variants/query/QueryVariable';\nexport { TestVariable } from './variables/variants/TestVariable';\nexport { TextBoxVariable } from './variables/variants/TextBoxVariable';\nexport { ScopesVariable } from './variables/variants/ScopesVariable';\nexport {\n MultiValueVariable,\n type MultiValueVariableState,\n type VariableGetOptionsArgs,\n} from './variables/variants/MultiValueVariable';\nexport { LocalValueVariable } from './variables/variants/LocalValueVariable';\nexport { IntervalVariable } from './variables/variants/IntervalVariable';\nexport { AdHocFiltersVariable } from './variables/adhoc/AdHocFiltersVariable';\nexport type { AdHocFilterWithLabels } from './variables/adhoc/AdHocFiltersVariable';\nexport type {\n AdHocFiltersController,\n AdHocFiltersControllerState,\n} from './variables/adhoc/controller/AdHocFiltersController';\nexport { AdHocFiltersVariableController } from './variables/adhoc/controller/AdHocFiltersVariableController';\nexport { AdHocFiltersComboboxRenderer } from './variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer';\nexport { GroupByVariable } from './variables/groupby/GroupByVariable';\nexport { type MacroVariableConstructor } from './variables/macros/types';\nexport { escapeUrlPipeDelimiters, getQueriesForVariables } from './variables/utils';\n\nexport { type UrlSyncManagerLike, UrlSyncManager, NewSceneObjectAddedEvent } from './services/UrlSyncManager';\nexport { useUrlSync } from './services/useUrlSync';\nexport { UrlSyncContextProvider } from './services/UrlSyncContextProvider';\nexport { SceneObjectUrlSyncConfig } from './services/SceneObjectUrlSyncConfig';\n\nexport { EmbeddedScene, type EmbeddedSceneState } from './components/EmbeddedScene';\nexport { VizPanel, type VizPanelState } from './components/VizPanel/VizPanel';\nexport { VizPanelMenu } from './components/VizPanel/VizPanelMenu';\nexport { VizPanelExploreButton } from './components/VizPanel/VizPanelExploreButton';\nexport { NestedScene } from './components/NestedScene';\nexport { SceneCanvasText } from './components/SceneCanvasText';\nexport { SceneToolbarButton, SceneToolbarInput } from './components/SceneToolbarButton';\nexport { SceneTimePicker } from './components/SceneTimePicker';\nexport { SceneRefreshPicker, type SceneRefreshPickerState } from './components/SceneRefreshPicker';\nexport { SceneTimeRangeTransformerBase } from './core/SceneTimeRangeTransformerBase';\nexport { SceneTimeRangeCompare } from './components/SceneTimeRangeCompare';\nexport { SceneByFrameRepeater } from './components/SceneByFrameRepeater';\nexport { SceneByVariableRepeater } from './components/SceneByVariableRepeater';\nexport { SceneControlsSpacer } from './components/SceneControlsSpacer';\nexport {\n SceneFlexLayout,\n SceneFlexItem,\n type SceneFlexItemState,\n type SceneFlexItemLike,\n} from './components/layout/SceneFlexLayout';\nexport { SceneCSSGridLayout, SceneCSSGridItem } from './components/layout/CSSGrid/SceneCSSGridLayout';\nexport { SceneGridLayout } from './components/layout/grid/SceneGridLayout';\nexport { SceneGridLayoutDragStartEvent } from './components/layout/grid/types';\nexport { SceneGridItem } from './components/layout/grid/SceneGridItem';\nexport { SceneGridRow } from './components/layout/grid/SceneGridRow';\nexport { type SceneGridItemStateLike, type SceneGridItemLike } from './components/layout/grid/types';\nexport { SplitLayout } from './components/layout/split/SplitLayout';\nexport { LazyLoader } from './components/layout/LazyLoader';\nexport {\n type SceneAppPageLike,\n type SceneRouteMatch,\n type SceneAppPageState,\n type SceneAppDrilldownView,\n type SceneAppRoute,\n} from './components/SceneApp/types';\nexport { SceneApp, useSceneApp } from './components/SceneApp/SceneApp';\nexport { SceneAppPage } from './components/SceneApp/SceneAppPage';\nexport { SceneReactObject } from './components/SceneReactObject';\nexport { SceneObjectRef } from './core/SceneObjectRef';\nexport {\n PanelBuilders,\n PanelOptionsBuilders,\n FieldConfigBuilders,\n FieldConfigOverridesBuilder,\n} from './core/PanelBuilders';\nexport { FieldConfigBuilder } from './core/PanelBuilders/FieldConfigBuilder';\nexport { VizPanelBuilder } from './core/PanelBuilders/VizPanelBuilder';\nexport { SceneDebugger } from './components/SceneDebugger/SceneDebugger';\nexport { VariableValueSelectWrapper } from './variables/components/VariableValueSelectors';\nexport { ControlsLabel } from './utils/ControlsLabel';\nexport { MultiOrSingleValueSelect } from './variables/components/VariableValueSelect';\nexport { VizConfigBuilder } from './core/PanelBuilders/VizConfigBuilder';\nexport { VizConfigBuilders } from './core/PanelBuilders/VizConfigBuilders';\nexport { type VizConfig } from './core/PanelBuilders/types';\n\nexport const sceneUtils = {\n getUrlWithAppState,\n registerRuntimePanelPlugin,\n registerRuntimeDataSource,\n registerVariableMacro,\n cloneSceneObjectState,\n syncStateFromSearchParams,\n getUrlState,\n renderPrometheusLabelFilters,\n escapeLabelValueInRegexSelector,\n escapeLabelValueInExactSelector,\n escapeURLDelimiters,\n\n // Variable guards\n isAdHocVariable,\n isConstantVariable,\n isCustomVariable,\n isDataSourceVariable,\n isIntervalVariable,\n isQueryVariable,\n isTextBoxVariable,\n isGroupByVariable,\n isSwitchVariable,\n isRepeatCloneOrChildOf,\n buildPathIdFor,\n};\n\nexport { SafeSerializableSceneObject } from './utils/SafeSerializableSceneObject';\nexport { getExploreURL } from './utils/explore';\nexport { loadResources } from './utils/loadResources';\nexport { PATH_ID_SEPARATOR } from './utils/pathId';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwJO,MAAM,UAAa,GAAA;AAAA,EACxB,kBAAA;AAAA,EACA,0BAAA;AAAA,EACA,yBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,yBAAA;AAAA,EACA,WAAA;AAAA,EACA,4BAAA;AAAA,EACA,+BAAA;AAAA,EACA,+BAAA;AAAA,EACA,mBAAA;AAAA;AAAA,EAGA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,gBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/index.ts"],"sourcesContent":["import { getUrlWithAppState } from './components/SceneApp/utils';\nimport { registerRuntimePanelPlugin } from './components/VizPanel/registerRuntimePanelPlugin';\nimport { cloneSceneObjectState } from './core/sceneGraph/cloneSceneObject';\nimport { registerRuntimeDataSource } from './querying/RuntimeDataSource';\nimport { getUrlState, syncStateFromSearchParams } from './services/utils';\nimport { buildPathIdFor } from './utils/pathId';\nimport { isRepeatCloneOrChildOf } from './utils/utils';\n\nimport { registerVariableMacro } from './variables/macros';\nimport {\n escapeLabelValueInExactSelector,\n escapeLabelValueInRegexSelector,\n escapeURLDelimiters,\n renderPrometheusLabelFilters,\n} from './variables/utils';\nimport {\n isAdHocVariable,\n isQueryVariable,\n isTextBoxVariable,\n isCustomVariable,\n isDataSourceVariable,\n isConstantVariable,\n isIntervalVariable,\n isGroupByVariable,\n isSwitchVariable,\n} from './variables/variants/guards';\n\nexport * from './core/types';\nexport * from './core/events';\nexport { sceneGraph } from './core/sceneGraph';\nexport * as behaviors from './behaviors';\nexport * as performanceUtils from './performance';\nexport { writePerformanceLog } from './utils/writePerformanceLog';\nexport * as dataLayers from './querying/layers';\n\nexport { SceneObjectBase, useSceneObjectState } from './core/SceneObjectBase';\nexport { SceneDataNode } from './core/SceneDataNode';\nexport { SceneTimeRange } from './core/SceneTimeRange';\nexport { SceneTimeZoneOverride } from './core/SceneTimeZoneOverride';\n\nexport { SceneQueryRunner, type QueryRunnerState } from './querying/SceneQueryRunner';\nexport { DataProviderProxy } from './querying/DataProviderProxy';\nexport {\n type ExtraQueryDescriptor,\n type ExtraQueryProvider,\n type ExtraQueryDataProcessor,\n} from './querying/ExtraQueryProvider';\nexport { SceneDataLayerSet, SceneDataLayerSetBase } from './querying/SceneDataLayerSet';\nexport { SceneDataLayerBase } from './querying/layers/SceneDataLayerBase';\nexport { SceneDataLayerControls } from './querying/layers/SceneDataLayerControls';\nexport { SceneDataTransformer, type SceneDataTransformerState } from './querying/SceneDataTransformer';\nexport { registerQueryWithController } from './querying/registerQueryWithController';\nexport { registerRuntimeDataSource, RuntimeDataSource } from './querying/RuntimeDataSource';\nexport type {\n SceneQueryControllerLike,\n SceneQueryControllerEntryType,\n SceneQueryControllerEntry,\n} from './behaviors/types';\n\nexport * from './variables/types';\nexport { VariableDependencyConfig } from './variables/VariableDependencyConfig';\nexport { formatRegistry, type FormatVariable } from './variables/interpolation/formatRegistry';\nexport { VariableValueSelectors } from './variables/components/VariableValueSelectors';\nexport { VariableValueControl } from './variables/components/VariableValueControl';\nexport { SceneVariableSet } from './variables/sets/SceneVariableSet';\nexport { ConstantVariable } from './variables/variants/ConstantVariable';\nexport { CustomVariable } from './variables/variants/CustomVariable';\nexport { SwitchVariable } from './variables/variants/SwitchVariable';\nexport { DataSourceVariable } from './variables/variants/DataSourceVariable';\nexport { QueryVariable } from './variables/variants/query/QueryVariable';\nexport { TestVariable } from './variables/variants/TestVariable';\nexport { TextBoxVariable } from './variables/variants/TextBoxVariable';\nexport { ScopesVariable } from './variables/variants/ScopesVariable';\nexport {\n MultiValueVariable,\n type MultiValueVariableState,\n type VariableGetOptionsArgs,\n} from './variables/variants/MultiValueVariable';\nexport { LocalValueVariable } from './variables/variants/LocalValueVariable';\nexport { IntervalVariable } from './variables/variants/IntervalVariable';\nexport { AdHocFiltersVariable } from './variables/adhoc/AdHocFiltersVariable';\nexport type { AdHocFilterWithLabels } from './variables/adhoc/AdHocFiltersVariable';\nexport type {\n AdHocFiltersController,\n AdHocFiltersControllerState,\n} from './variables/adhoc/controller/AdHocFiltersController';\nexport { AdHocFiltersVariableController } from './variables/adhoc/controller/AdHocFiltersVariableController';\nexport { AdHocFiltersComboboxRenderer } from './variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer';\nexport { GroupByVariable } from './variables/groupby/GroupByVariable';\nexport { type MacroVariableConstructor } from './variables/macros/types';\nexport { escapeUrlPipeDelimiters } from './variables/utils';\n\nexport { type UrlSyncManagerLike, UrlSyncManager, NewSceneObjectAddedEvent } from './services/UrlSyncManager';\nexport { useUrlSync } from './services/useUrlSync';\nexport { UrlSyncContextProvider } from './services/UrlSyncContextProvider';\nexport { SceneObjectUrlSyncConfig } from './services/SceneObjectUrlSyncConfig';\n\nexport { EmbeddedScene, type EmbeddedSceneState } from './components/EmbeddedScene';\nexport { VizPanel, type VizPanelState } from './components/VizPanel/VizPanel';\nexport { VizPanelMenu } from './components/VizPanel/VizPanelMenu';\nexport { VizPanelExploreButton } from './components/VizPanel/VizPanelExploreButton';\nexport { NestedScene } from './components/NestedScene';\nexport { SceneCanvasText } from './components/SceneCanvasText';\nexport { SceneToolbarButton, SceneToolbarInput } from './components/SceneToolbarButton';\nexport { SceneTimePicker } from './components/SceneTimePicker';\nexport { SceneRefreshPicker, type SceneRefreshPickerState } from './components/SceneRefreshPicker';\nexport { SceneTimeRangeTransformerBase } from './core/SceneTimeRangeTransformerBase';\nexport { SceneTimeRangeCompare } from './components/SceneTimeRangeCompare';\nexport { SceneByFrameRepeater } from './components/SceneByFrameRepeater';\nexport { SceneByVariableRepeater } from './components/SceneByVariableRepeater';\nexport { SceneControlsSpacer } from './components/SceneControlsSpacer';\nexport {\n SceneFlexLayout,\n SceneFlexItem,\n type SceneFlexItemState,\n type SceneFlexItemLike,\n} from './components/layout/SceneFlexLayout';\nexport { SceneCSSGridLayout, SceneCSSGridItem } from './components/layout/CSSGrid/SceneCSSGridLayout';\nexport { SceneGridLayout } from './components/layout/grid/SceneGridLayout';\nexport { SceneGridLayoutDragStartEvent } from './components/layout/grid/types';\nexport { SceneGridItem } from './components/layout/grid/SceneGridItem';\nexport { SceneGridRow } from './components/layout/grid/SceneGridRow';\nexport { type SceneGridItemStateLike, type SceneGridItemLike } from './components/layout/grid/types';\nexport { SplitLayout } from './components/layout/split/SplitLayout';\nexport { LazyLoader } from './components/layout/LazyLoader';\nexport {\n type SceneAppPageLike,\n type SceneRouteMatch,\n type SceneAppPageState,\n type SceneAppDrilldownView,\n type SceneAppRoute,\n} from './components/SceneApp/types';\nexport { SceneApp, useSceneApp } from './components/SceneApp/SceneApp';\nexport { SceneAppPage } from './components/SceneApp/SceneAppPage';\nexport { SceneReactObject } from './components/SceneReactObject';\nexport { SceneObjectRef } from './core/SceneObjectRef';\nexport {\n PanelBuilders,\n PanelOptionsBuilders,\n FieldConfigBuilders,\n FieldConfigOverridesBuilder,\n} from './core/PanelBuilders';\nexport { FieldConfigBuilder } from './core/PanelBuilders/FieldConfigBuilder';\nexport { VizPanelBuilder } from './core/PanelBuilders/VizPanelBuilder';\nexport { SceneDebugger } from './components/SceneDebugger/SceneDebugger';\nexport { VariableValueSelectWrapper } from './variables/components/VariableValueSelectors';\nexport { ControlsLabel } from './utils/ControlsLabel';\nexport { MultiOrSingleValueSelect } from './variables/components/VariableValueSelect';\nexport { VizConfigBuilder } from './core/PanelBuilders/VizConfigBuilder';\nexport { VizConfigBuilders } from './core/PanelBuilders/VizConfigBuilders';\nexport { type VizConfig } from './core/PanelBuilders/types';\n\nexport const sceneUtils = {\n getUrlWithAppState,\n registerRuntimePanelPlugin,\n registerRuntimeDataSource,\n registerVariableMacro,\n cloneSceneObjectState,\n syncStateFromSearchParams,\n getUrlState,\n renderPrometheusLabelFilters,\n escapeLabelValueInRegexSelector,\n escapeLabelValueInExactSelector,\n escapeURLDelimiters,\n\n // Variable guards\n isAdHocVariable,\n isConstantVariable,\n isCustomVariable,\n isDataSourceVariable,\n isIntervalVariable,\n isQueryVariable,\n isTextBoxVariable,\n isGroupByVariable,\n isSwitchVariable,\n isRepeatCloneOrChildOf,\n buildPathIdFor,\n};\n\nexport { SafeSerializableSceneObject } from './utils/SafeSerializableSceneObject';\nexport { getExploreURL } from './utils/explore';\nexport { loadResources } from './utils/loadResources';\nexport { PATH_ID_SEPARATOR } from './utils/pathId';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwJO,MAAM,UAAa,GAAA;AAAA,EACxB,kBAAA;AAAA,EACA,0BAAA;AAAA,EACA,yBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,yBAAA;AAAA,EACA,WAAA;AAAA,EACA,4BAAA;AAAA,EACA,+BAAA;AAAA,EACA,+BAAA;AAAA,EACA,mBAAA;AAAA;AAAA,EAGA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,gBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA;AACF;;;;"}
@@ -11,13 +11,6 @@ var grafanaScenes = {
11
11
  "remove-filter-value": "Remove filter value - {{itemLabel}}",
12
12
  "use-custom-value": "Use custom value: {{itemLabel}}"
13
13
  },
14
- "drilldown-recommendations": {
15
- recent: "Recent",
16
- "recent-empty": "No recent values",
17
- recommended: "Recommended",
18
- "recommended-empty": "No recommended values",
19
- tooltip: "Show recommendations"
20
- },
21
14
  "fallback-page": {
22
15
  content: "If you found your way here using a link then there might be a bug in this application.",
23
16
  subTitle: "The url did not match any page",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrilldownDependenciesManager.js","sources":["../../../../../../src/variables/DrilldownDependenciesManager.ts"],"sourcesContent":["import { findActiveAdHocFilterVariableByUid } from '../variables/adhoc/patchGetAdhocFilters';\nimport { findActiveGroupByVariablesByUid } from '../variables/groupby/findActiveGroupByVariablesByUid';\nimport { GroupByVariable } from '../variables/groupby/GroupByVariable';\nimport {\n AdHocFilterWithLabels,\n AdHocFiltersVariable,\n isFilterApplicable,\n isFilterComplete,\n} from '../variables/adhoc/AdHocFiltersVariable';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig';\nimport { SceneObjectState } from '../core/types';\n\n/**\n * Manages ad-hoc filters and group-by variables for data providers\n */\nexport class DrilldownDependenciesManager<TState extends SceneObjectState> {\n private _adhocFiltersVar?: AdHocFiltersVariable;\n private _groupByVar?: GroupByVariable;\n private _variableDependency: VariableDependencyConfig<TState>;\n\n public constructor(variableDependency: VariableDependencyConfig<TState>) {\n this._variableDependency = variableDependency;\n }\n\n /**\n * Walk up scene graph and find the closest filterset with matching data source\n */\n public findAndSubscribeToDrilldowns(interpolatedUid: string | undefined) {\n const filtersVar = findActiveAdHocFilterVariableByUid(interpolatedUid);\n const groupByVar = findActiveGroupByVariablesByUid(interpolatedUid);\n\n let hasChanges = false;\n\n if (this._adhocFiltersVar !== filtersVar) {\n this._adhocFiltersVar = filtersVar;\n hasChanges = true;\n }\n\n if (this._groupByVar !== groupByVar) {\n this._groupByVar = groupByVar;\n hasChanges = true;\n }\n\n if (hasChanges) {\n this._updateExplicitDrilldownVariableDependencies();\n }\n }\n\n private _updateExplicitDrilldownVariableDependencies(): void {\n const explicitDependencies: string[] = [];\n\n if (this._adhocFiltersVar) {\n explicitDependencies.push(this._adhocFiltersVar.state.name);\n }\n\n if (this._groupByVar) {\n explicitDependencies.push(this._groupByVar.state.name);\n }\n\n this._variableDependency.setVariableNames(explicitDependencies);\n }\n\n public get adHocFiltersVar(): AdHocFiltersVariable | undefined {\n return this._adhocFiltersVar;\n }\n\n public get groupByVar(): GroupByVariable | undefined {\n return this._groupByVar;\n }\n\n public getFilters(): AdHocFilterWithLabels[] | undefined {\n return this._adhocFiltersVar\n ? [...(this._adhocFiltersVar.state.originFilters ?? []), ...this._adhocFiltersVar.state.filters].filter(\n (f) => isFilterComplete(f) && isFilterApplicable(f)\n )\n : undefined;\n }\n\n public getGroupByKeys(): string[] | undefined {\n return this._groupByVar ? this._groupByVar.getApplicableKeys() : undefined;\n }\n\n public cleanup(): void {\n this._adhocFiltersVar = undefined;\n this._groupByVar = undefined;\n }\n}\n"],"names":[],"mappings":";;;;AAeO,MAAM,4BAA8D,CAAA;AAAA,EAKlE,YAAY,kBAAsD,EAAA;AACvE,IAAA,IAAA,CAAK,mBAAsB,GAAA,kBAAA;AAAA;AAC7B;AAAA;AAAA;AAAA,EAKO,6BAA6B,eAAqC,EAAA;AACvE,IAAM,MAAA,UAAA,GAAa,mCAAmC,eAAe,CAAA;AACrE,IAAM,MAAA,UAAA,GAAa,gCAAgC,eAAe,CAAA;AAElE,IAAA,IAAI,UAAa,GAAA,KAAA;AAEjB,IAAI,IAAA,IAAA,CAAK,qBAAqB,UAAY,EAAA;AACxC,MAAA,IAAA,CAAK,gBAAmB,GAAA,UAAA;AACxB,MAAa,UAAA,GAAA,IAAA;AAAA;AAGf,IAAI,IAAA,IAAA,CAAK,gBAAgB,UAAY,EAAA;AACnC,MAAA,IAAA,CAAK,WAAc,GAAA,UAAA;AACnB,MAAa,UAAA,GAAA,IAAA;AAAA;AAGf,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,IAAA,CAAK,4CAA6C,EAAA;AAAA;AACpD;AACF,EAEQ,4CAAqD,GAAA;AAC3D,IAAA,MAAM,uBAAiC,EAAC;AAExC,IAAA,IAAI,KAAK,gBAAkB,EAAA;AACzB,MAAA,oBAAA,CAAqB,IAAK,CAAA,IAAA,CAAK,gBAAiB,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA;AAG5D,IAAA,IAAI,KAAK,WAAa,EAAA;AACpB,MAAA,oBAAA,CAAqB,IAAK,CAAA,IAAA,CAAK,WAAY,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA;AAGvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,iBAAiB,oBAAoB,CAAA;AAAA;AAChE,EAEA,IAAW,eAAoD,GAAA;AAC7D,IAAA,OAAO,IAAK,CAAA,gBAAA;AAAA;AACd,EAEA,IAAW,UAA0C,GAAA;AACnD,IAAA,OAAO,IAAK,CAAA,WAAA;AAAA;AACd,EAEO,UAAkD,GAAA;AAtE3D,IAAA,IAAA,EAAA;AAuEI,IAAA,OAAO,KAAK,gBACR,GAAA,CAAC,GAAI,CAAA,EAAA,GAAA,IAAA,CAAK,iBAAiB,KAAM,CAAA,aAAA,KAA5B,IAA6C,GAAA,EAAA,GAAA,IAAK,GAAG,IAAA,CAAK,gBAAiB,CAAA,KAAA,CAAM,OAAO,CAAE,CAAA,MAAA;AAAA,MAC7F,CAAC,CAAM,KAAA,gBAAA,CAAiB,CAAC,CAAA,IAAK,mBAAmB,CAAC;AAAA,KAEpD,GAAA,MAAA;AAAA;AACN,EAEO,cAAuC,GAAA;AAC5C,IAAA,OAAO,IAAK,CAAA,WAAA,GAAc,IAAK,CAAA,WAAA,CAAY,mBAAsB,GAAA,MAAA;AAAA;AACnE,EAEO,OAAgB,GAAA;AACrB,IAAA,IAAA,CAAK,gBAAmB,GAAA,MAAA;AACxB,IAAA,IAAA,CAAK,WAAc,GAAA,MAAA;AAAA;AAEvB;;;;"}
1
+ {"version":3,"file":"DrilldownDependenciesManager.js","sources":["../../../../../../src/variables/DrilldownDependenciesManager.ts"],"sourcesContent":["import { findActiveAdHocFilterVariableByUid } from '../variables/adhoc/patchGetAdhocFilters';\nimport { findActiveGroupByVariablesByUid } from '../variables/groupby/findActiveGroupByVariablesByUid';\nimport { GroupByVariable } from '../variables/groupby/GroupByVariable';\nimport {\n AdHocFilterWithLabels,\n AdHocFiltersVariable,\n isFilterApplicable,\n isFilterComplete,\n} from '../variables/adhoc/AdHocFiltersVariable';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig';\nimport { SceneObjectState } from '../core/types';\n\n/**\n * Manages ad-hoc filters and group-by variables for data providers\n */\nexport class DrilldownDependenciesManager<TState extends SceneObjectState> {\n private _adhocFiltersVar?: AdHocFiltersVariable;\n private _groupByVar?: GroupByVariable;\n private _variableDependency: VariableDependencyConfig<TState>;\n\n public constructor(variableDependency: VariableDependencyConfig<TState>) {\n this._variableDependency = variableDependency;\n }\n\n /**\n * Walk up scene graph and find the closest filterset with matching data source\n */\n public findAndSubscribeToDrilldowns(interpolatedUid: string | undefined) {\n const filtersVar = findActiveAdHocFilterVariableByUid(interpolatedUid);\n const groupByVar = findActiveGroupByVariablesByUid(interpolatedUid);\n\n let hasChanges = false;\n\n if (this._adhocFiltersVar !== filtersVar) {\n this._adhocFiltersVar = filtersVar;\n hasChanges = true;\n }\n\n if (this._groupByVar !== groupByVar) {\n this._groupByVar = groupByVar;\n hasChanges = true;\n }\n\n if (hasChanges) {\n this._updateExplicitDrilldownVariableDependencies();\n }\n }\n\n private _updateExplicitDrilldownVariableDependencies(): void {\n const explicitDependencies: string[] = [];\n\n if (this._adhocFiltersVar) {\n explicitDependencies.push(this._adhocFiltersVar.state.name);\n }\n\n if (this._groupByVar) {\n explicitDependencies.push(this._groupByVar.state.name);\n }\n\n this._variableDependency.setVariableNames(explicitDependencies);\n }\n\n public get adHocFiltersVar(): AdHocFiltersVariable | undefined {\n return this._adhocFiltersVar;\n }\n\n public get groupByVar(): GroupByVariable | undefined {\n return this._groupByVar;\n }\n\n public getFilters(): AdHocFilterWithLabels[] | undefined {\n return this._adhocFiltersVar\n ? [...(this._adhocFiltersVar.state.originFilters ?? []), ...this._adhocFiltersVar.state.filters].filter(\n (f) => isFilterComplete(f) && isFilterApplicable(f)\n )\n : undefined;\n }\n\n public getGroupByKeys(): string[] | undefined {\n return this._groupByVar ? (this._groupByVar.getApplicableKeys() as string[]) : undefined;\n }\n\n public cleanup(): void {\n this._adhocFiltersVar = undefined;\n this._groupByVar = undefined;\n }\n}\n"],"names":[],"mappings":";;;;AAeO,MAAM,4BAA8D,CAAA;AAAA,EAKlE,YAAY,kBAAsD,EAAA;AACvE,IAAA,IAAA,CAAK,mBAAsB,GAAA,kBAAA;AAAA;AAC7B;AAAA;AAAA;AAAA,EAKO,6BAA6B,eAAqC,EAAA;AACvE,IAAM,MAAA,UAAA,GAAa,mCAAmC,eAAe,CAAA;AACrE,IAAM,MAAA,UAAA,GAAa,gCAAgC,eAAe,CAAA;AAElE,IAAA,IAAI,UAAa,GAAA,KAAA;AAEjB,IAAI,IAAA,IAAA,CAAK,qBAAqB,UAAY,EAAA;AACxC,MAAA,IAAA,CAAK,gBAAmB,GAAA,UAAA;AACxB,MAAa,UAAA,GAAA,IAAA;AAAA;AAGf,IAAI,IAAA,IAAA,CAAK,gBAAgB,UAAY,EAAA;AACnC,MAAA,IAAA,CAAK,WAAc,GAAA,UAAA;AACnB,MAAa,UAAA,GAAA,IAAA;AAAA;AAGf,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,IAAA,CAAK,4CAA6C,EAAA;AAAA;AACpD;AACF,EAEQ,4CAAqD,GAAA;AAC3D,IAAA,MAAM,uBAAiC,EAAC;AAExC,IAAA,IAAI,KAAK,gBAAkB,EAAA;AACzB,MAAA,oBAAA,CAAqB,IAAK,CAAA,IAAA,CAAK,gBAAiB,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA;AAG5D,IAAA,IAAI,KAAK,WAAa,EAAA;AACpB,MAAA,oBAAA,CAAqB,IAAK,CAAA,IAAA,CAAK,WAAY,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA;AAGvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,iBAAiB,oBAAoB,CAAA;AAAA;AAChE,EAEA,IAAW,eAAoD,GAAA;AAC7D,IAAA,OAAO,IAAK,CAAA,gBAAA;AAAA;AACd,EAEA,IAAW,UAA0C,GAAA;AACnD,IAAA,OAAO,IAAK,CAAA,WAAA;AAAA;AACd,EAEO,UAAkD,GAAA;AAtE3D,IAAA,IAAA,EAAA;AAuEI,IAAA,OAAO,KAAK,gBACR,GAAA,CAAC,GAAI,CAAA,EAAA,GAAA,IAAA,CAAK,iBAAiB,KAAM,CAAA,aAAA,KAA5B,IAA6C,GAAA,EAAA,GAAA,IAAK,GAAG,IAAA,CAAK,gBAAiB,CAAA,KAAA,CAAM,OAAO,CAAE,CAAA,MAAA;AAAA,MAC7F,CAAC,CAAM,KAAA,gBAAA,CAAiB,CAAC,CAAA,IAAK,mBAAmB,CAAC;AAAA,KAEpD,GAAA,MAAA;AAAA;AACN,EAEO,cAAuC,GAAA;AAC5C,IAAA,OAAO,IAAK,CAAA,WAAA,GAAe,IAAK,CAAA,WAAA,CAAY,mBAAmC,GAAA,MAAA;AAAA;AACjF,EAEO,OAAgB,GAAA;AACrB,IAAA,IAAA,CAAK,gBAAmB,GAAA,MAAA;AACxB,IAAA,IAAA,CAAK,WAAc,GAAA,MAAA;AAAA;AAEvB;;;;"}
@@ -3,29 +3,10 @@ import { useStyles2, Icon } from '@grafana/ui';
3
3
  import React, { memo, useRef } from 'react';
4
4
  import { AdHocFilterPill } from './AdHocFilterPill.js';
5
5
  import { AdHocFiltersAlwaysWipCombobox } from './AdHocFiltersAlwaysWipCombobox.js';
6
- import { DrilldownRecommendations } from '../../components/DrilldownRecommendations.js';
7
6
 
8
7
  const AdHocFiltersComboboxRenderer = memo(function AdHocFiltersComboboxRenderer2({ controller }) {
9
- const { originFilters, filters, readOnly, recentFilters, recommendedFilters, drilldownRecommendationsEnabled } = controller.useState();
8
+ const { originFilters, filters, readOnly } = controller.useState();
10
9
  const styles = useStyles2(getStyles);
11
- let drilldownRecommendationComponent = null;
12
- if (drilldownRecommendationsEnabled) {
13
- const recentDrilldowns = recentFilters == null ? void 0 : recentFilters.map((filter) => ({
14
- label: `${filter.key} ${filter.operator} ${filter.value}`,
15
- onClick: () => {
16
- var _a;
17
- (_a = controller.updateFilters) == null ? void 0 : _a.call(controller, [...filters, filter]);
18
- }
19
- }));
20
- const recommendedDrilldowns = recommendedFilters == null ? void 0 : recommendedFilters.map((filter) => ({
21
- label: `${filter.key} ${filter.operator} ${filter.value}`,
22
- onClick: () => {
23
- var _a;
24
- (_a = controller.updateFilters) == null ? void 0 : _a.call(controller, [...filters, filter]);
25
- }
26
- }));
27
- drilldownRecommendationComponent = /* @__PURE__ */ React.createElement(DrilldownRecommendations, { recentDrilldowns, recommendedDrilldowns });
28
- }
29
10
  const focusOnWipInputRef = useRef();
30
11
  return /* @__PURE__ */ React.createElement(
31
12
  "div",
@@ -37,7 +18,6 @@ const AdHocFiltersComboboxRenderer = memo(function AdHocFiltersComboboxRenderer2
37
18
  }
38
19
  },
39
20
  /* @__PURE__ */ React.createElement(Icon, { name: "filter", className: styles.filterIcon, size: "lg" }),
40
- drilldownRecommendationComponent,
41
21
  originFilters == null ? void 0 : originFilters.map(
42
22
  (filter, index) => filter.origin ? /* @__PURE__ */ React.createElement(
43
23
  AdHocFilterPill,
@@ -1 +1 @@
1
- {"version":3,"file":"AdHocFiltersComboboxRenderer.js","sources":["../../../../../../../../src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { Icon, useStyles2 } from '@grafana/ui';\nimport React, { memo, useRef } from 'react';\nimport { AdHocFiltersController } from '../controller/AdHocFiltersController';\nimport { AdHocFilterPill } from './AdHocFilterPill';\nimport { AdHocFiltersAlwaysWipCombobox } from './AdHocFiltersAlwaysWipCombobox';\nimport { DrilldownRecommendations } from '../../components/DrilldownRecommendations';\n\ninterface Props {\n controller: AdHocFiltersController;\n}\n\nexport const AdHocFiltersComboboxRenderer = memo(function AdHocFiltersComboboxRenderer({ controller }: Props) {\n const { originFilters, filters, readOnly, recentFilters, recommendedFilters, drilldownRecommendationsEnabled } =\n controller.useState();\n const styles = useStyles2(getStyles);\n\n let drilldownRecommendationComponent = null;\n\n if (drilldownRecommendationsEnabled) {\n const recentDrilldowns = recentFilters?.map((filter) => ({\n label: `${filter.key} ${filter.operator} ${filter.value}`,\n onClick: () => {\n controller.updateFilters?.([...filters, filter]);\n },\n }));\n\n const recommendedDrilldowns = recommendedFilters?.map((filter) => ({\n label: `${filter.key} ${filter.operator} ${filter.value}`,\n onClick: () => {\n controller.updateFilters?.([...filters, filter]);\n },\n }));\n\n drilldownRecommendationComponent = (\n <DrilldownRecommendations recentDrilldowns={recentDrilldowns} recommendedDrilldowns={recommendedDrilldowns} />\n );\n }\n\n // ref that focuses on the always wip filter input\n // defined in the combobox component via useImperativeHandle\n const focusOnWipInputRef = useRef<() => void>();\n\n return (\n <div\n className={cx(styles.comboboxWrapper, { [styles.comboboxFocusOutline]: !readOnly })}\n onClick={() => {\n focusOnWipInputRef.current?.();\n }}\n >\n <Icon name=\"filter\" className={styles.filterIcon} size=\"lg\" />\n\n {drilldownRecommendationComponent}\n\n {originFilters?.map((filter, index) =>\n filter.origin ? (\n <AdHocFilterPill\n key={`${index}-${filter.key}`}\n filter={filter}\n controller={controller}\n focusOnWipInputRef={focusOnWipInputRef.current}\n />\n ) : null\n )}\n\n {filters\n .filter((filter) => !filter.hidden)\n .map((filter, index) => (\n <AdHocFilterPill\n key={`${index}-${filter.key}`}\n filter={filter}\n controller={controller}\n readOnly={readOnly || filter.readOnly}\n focusOnWipInputRef={focusOnWipInputRef.current}\n />\n ))}\n\n {!readOnly ? <AdHocFiltersAlwaysWipCombobox controller={controller} ref={focusOnWipInputRef} /> : null}\n </div>\n );\n});\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n comboboxWrapper: css({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n columnGap: theme.spacing(1),\n rowGap: theme.spacing(0.5),\n minHeight: theme.spacing(4),\n backgroundColor: theme.components.input.background,\n border: `1px solid ${theme.colors.border.strong}`,\n borderRadius: theme.shape.radius.default,\n paddingInline: theme.spacing(1),\n paddingBlock: theme.spacing(0.5),\n flexGrow: 1,\n }),\n comboboxFocusOutline: css({\n '&:focus-within': {\n outline: '2px dotted transparent',\n outlineOffset: '2px',\n boxShadow: `0 0 0 2px ${theme.colors.background.canvas}, 0 0 0px 4px ${theme.colors.primary.main}`,\n transitionTimingFunction: `cubic-bezier(0.19, 1, 0.22, 1)`,\n transitionDuration: '0.2s',\n transitionProperty: 'outline, outline-offset, box-shadow',\n zIndex: 2,\n },\n }),\n filterIcon: css({\n color: theme.colors.text.secondary,\n alignSelf: 'center',\n }),\n});\n"],"names":["AdHocFiltersComboboxRenderer"],"mappings":"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"}
1
+ {"version":3,"file":"AdHocFiltersComboboxRenderer.js","sources":["../../../../../../../../src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { Icon, useStyles2 } from '@grafana/ui';\nimport React, { memo, useRef } from 'react';\nimport { AdHocFiltersController } from '../controller/AdHocFiltersController';\nimport { AdHocFilterPill } from './AdHocFilterPill';\nimport { AdHocFiltersAlwaysWipCombobox } from './AdHocFiltersAlwaysWipCombobox';\n\ninterface Props {\n controller: AdHocFiltersController;\n}\n\nexport const AdHocFiltersComboboxRenderer = memo(function AdHocFiltersComboboxRenderer({ controller }: Props) {\n const { originFilters, filters, readOnly } = controller.useState();\n const styles = useStyles2(getStyles);\n\n // ref that focuses on the always wip filter input\n // defined in the combobox component via useImperativeHandle\n const focusOnWipInputRef = useRef<() => void>();\n\n return (\n <div\n className={cx(styles.comboboxWrapper, { [styles.comboboxFocusOutline]: !readOnly })}\n onClick={() => {\n focusOnWipInputRef.current?.();\n }}\n >\n <Icon name=\"filter\" className={styles.filterIcon} size=\"lg\" />\n\n {originFilters?.map((filter, index) =>\n filter.origin ? (\n <AdHocFilterPill\n key={`${index}-${filter.key}`}\n filter={filter}\n controller={controller}\n focusOnWipInputRef={focusOnWipInputRef.current}\n />\n ) : null\n )}\n\n {filters\n .filter((filter) => !filter.hidden)\n .map((filter, index) => (\n <AdHocFilterPill\n key={`${index}-${filter.key}`}\n filter={filter}\n controller={controller}\n readOnly={readOnly || filter.readOnly}\n focusOnWipInputRef={focusOnWipInputRef.current}\n />\n ))}\n\n {!readOnly ? <AdHocFiltersAlwaysWipCombobox controller={controller} ref={focusOnWipInputRef} /> : null}\n </div>\n );\n});\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n comboboxWrapper: css({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n columnGap: theme.spacing(1),\n rowGap: theme.spacing(0.5),\n minHeight: theme.spacing(4),\n backgroundColor: theme.components.input.background,\n border: `1px solid ${theme.colors.border.strong}`,\n borderRadius: theme.shape.radius.default,\n paddingInline: theme.spacing(1),\n paddingBlock: theme.spacing(0.5),\n flexGrow: 1,\n }),\n comboboxFocusOutline: css({\n '&:focus-within': {\n outline: '2px dotted transparent',\n outlineOffset: '2px',\n boxShadow: `0 0 0 2px ${theme.colors.background.canvas}, 0 0 0px 4px ${theme.colors.primary.main}`,\n transitionTimingFunction: `cubic-bezier(0.19, 1, 0.22, 1)`,\n transitionDuration: '0.2s',\n transitionProperty: 'outline, outline-offset, box-shadow',\n zIndex: 2,\n },\n }),\n filterIcon: css({\n color: theme.colors.text.secondary,\n alignSelf: 'center',\n }),\n});\n"],"names":["AdHocFiltersComboboxRenderer"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import React, { useMemo } from 'react';
2
- import { store } from '@grafana/data';
3
2
  import { SceneObjectBase } from '../../core/SceneObjectBase.js';
4
3
  import { SceneVariableValueChangedEvent } from '../types.js';
5
- import { getQueriesForVariables, escapeOriginFilterUrlDelimiters, dataFromResponse, responseHasError, renderPrometheusLabelFilters } from '../utils.js';
4
+ import { escapeOriginFilterUrlDelimiters, getQueriesForVariables, dataFromResponse, responseHasError, renderPrometheusLabelFilters } from '../utils.js';
6
5
  import { patchGetAdhocFilters } from './patchGetAdhocFilters.js';
7
6
  import { useStyles2 } from '@grafana/ui';
8
7
  import { sceneGraph } from '../../core/sceneGraph/index.js';
@@ -12,7 +11,6 @@ import { getDataSourceSrv } from '@grafana/runtime';
12
11
  import { AdHocFiltersVariableUrlSyncHandler, toArray } from './AdHocFiltersVariableUrlSyncHandler.js';
13
12
  import { css } from '@emotion/css';
14
13
  import { getEnrichedFiltersRequest } from '../getEnrichedFiltersRequest.js';
15
- import { getEnrichedDataRequest } from '../../querying/getEnrichedDataRequest.js';
16
14
  import { AdHocFiltersComboboxRenderer } from './AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js';
17
15
  import { wrapInSafeSerializableSceneObject } from '../../utils/wrapInSafeSerializableSceneObject.js';
18
16
  import { debounce, isEqual } from 'lodash';
@@ -23,7 +21,6 @@ import { FILTER_RESTORED_INTERACTION, FILTER_REMOVED_INTERACTION } from '../../p
23
21
  import { AdHocFiltersVariableController } from './controller/AdHocFiltersVariableController.js';
24
22
 
25
23
  const ORIGIN_FILTERS_KEY = "originFilters";
26
- const RECENT_FILTERS_KEY = "grafana.filters.recent";
27
24
  const OPERATORS = [
28
25
  {
29
26
  value: "=",
@@ -89,7 +86,6 @@ class AdHocFiltersVariable extends SceneObjectBase {
89
86
  // to its original value if edited at some point
90
87
  this._originalValues = /* @__PURE__ */ new Map();
91
88
  this._prevScopes = [];
92
- this._store = store;
93
89
  /** Needed for scopes dependency */
94
90
  this._variableDependency = new VariableDependencyConfig(this, {
95
91
  dependsOnScopes: true,
@@ -99,16 +95,6 @@ class AdHocFiltersVariable extends SceneObjectBase {
99
95
  this._debouncedVerifyApplicability = debounce(this._verifyApplicability, 100);
100
96
  this._activationHandler = () => {
101
97
  this._debouncedVerifyApplicability();
102
- if (this.state.drilldownRecommendationsEnabled) {
103
- const json = this._store.get(RECENT_FILTERS_KEY);
104
- const storedFilters = json ? JSON.parse(json) : [];
105
- if (storedFilters.length > 0) {
106
- this._verifyRecentFiltersApplicability(storedFilters);
107
- } else {
108
- this.setState({ _recentFilters: [] });
109
- }
110
- this._fetchRecommendedDrilldowns();
111
- }
112
98
  return () => {
113
99
  var _a;
114
100
  (_a = this.state.originFilters) == null ? void 0 : _a.forEach((filter) => {
@@ -131,33 +117,6 @@ class AdHocFiltersVariable extends SceneObjectBase {
131
117
  });
132
118
  this.addActivationHandler(this._activationHandler);
133
119
  }
134
- async _fetchRecommendedDrilldowns() {
135
- var _a;
136
- const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
137
- if (!ds || !ds.getRecommendedDrilldowns) {
138
- return;
139
- }
140
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
141
- const timeRange = sceneGraph.getTimeRange(this).state.value;
142
- const scopes = sceneGraph.getScopes(this);
143
- const filters = [...(_a = this.state.originFilters) != null ? _a : [], ...this.state.filters];
144
- const enrichedRequest = getEnrichedDataRequest(this);
145
- const dashboardUid = enrichedRequest == null ? void 0 : enrichedRequest.dashboardUID;
146
- try {
147
- const recommendedDrilldowns = await ds.getRecommendedDrilldowns({
148
- timeRange,
149
- dashboardUid,
150
- queries: queries != null ? queries : [],
151
- filters,
152
- scopes
153
- });
154
- if (recommendedDrilldowns == null ? void 0 : recommendedDrilldowns.filters) {
155
- this.setRecommendedFilters(recommendedDrilldowns.filters);
156
- }
157
- } catch (error) {
158
- console.error("Failed to fetch recommended drilldowns:", error);
159
- }
160
- }
161
120
  _updateScopesFilters() {
162
121
  var _a, _b;
163
122
  const scopes = sceneGraph.getScopes(this);
@@ -205,13 +164,6 @@ class AdHocFiltersVariable extends SceneObjectBase {
205
164
  this._prevScopes = scopes;
206
165
  this._debouncedVerifyApplicability();
207
166
  }
208
- async verifyApplicabilityAndStoreRecentFilter(update) {
209
- await this._verifyApplicability();
210
- if (!this.state.drilldownRecommendationsEnabled) {
211
- return;
212
- }
213
- this.storeRecentFilter(update);
214
- }
215
167
  setState(update) {
216
168
  var _a, _b;
217
169
  let filterExpressionChanged = false;
@@ -303,11 +255,8 @@ class AdHocFiltersVariable extends SceneObjectBase {
303
255
  }
304
256
  if (filter === _wip) {
305
257
  if ("value" in update && update["value"] !== "") {
306
- this.setState({
307
- filters: [...filters, { ..._wip, ...update }],
308
- _wip: void 0
309
- });
310
- this.verifyApplicabilityAndStoreRecentFilter({ ..._wip, ...update });
258
+ this.setState({ filters: [...filters, { ..._wip, ...update }], _wip: void 0 });
259
+ this._debouncedVerifyApplicability();
311
260
  } else {
312
261
  this.setState({ _wip: { ...filter, ...update } });
313
262
  }
@@ -317,37 +266,6 @@ class AdHocFiltersVariable extends SceneObjectBase {
317
266
  return f === filter ? { ...f, ...update } : f;
318
267
  });
319
268
  this.setState({ filters: updatedFilters });
320
- this.storeRecentFilter({ ...filter, ...update });
321
- }
322
- storeRecentFilter(update) {
323
- if (!this.state.drilldownRecommendationsEnabled) {
324
- return;
325
- }
326
- const storedFilters = this._store.get(RECENT_FILTERS_KEY);
327
- const allRecentFilters = storedFilters ? JSON.parse(storedFilters) : [];
328
- const updatedStoredFilters = [...allRecentFilters, update].slice(-10);
329
- this._store.set(RECENT_FILTERS_KEY, JSON.stringify(updatedStoredFilters));
330
- const filter = this.state.filters.find((f) => f.key === update.key && !Boolean(f.nonApplicable));
331
- if (filter && !Boolean(filter.nonApplicable)) {
332
- this.setState({ _recentFilters: updatedStoredFilters.slice(-3) });
333
- }
334
- }
335
- async _verifyRecentFiltersApplicability(storedFilters) {
336
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
337
- const response = await this.getFiltersApplicabilityForQueries(storedFilters, queries != null ? queries : []);
338
- if (!response) {
339
- this.setState({ _recentFilters: storedFilters.slice(-3) });
340
- return;
341
- }
342
- const applicabilityMap = /* @__PURE__ */ new Map();
343
- response.forEach((item) => {
344
- applicabilityMap.set(item.key, item.applicable !== false);
345
- });
346
- const applicableFilters = storedFilters.filter((f) => {
347
- const isApplicable = applicabilityMap.get(f.key);
348
- return isApplicable === void 0 || isApplicable === true;
349
- }).slice(-3);
350
- this.setState({ _recentFilters: applicableFilters });
351
269
  }
352
270
  updateToMatchAll(filter) {
353
271
  this._updateFilter(filter, {
@@ -424,11 +342,6 @@ class AdHocFiltersVariable extends SceneObjectBase {
424
342
  });
425
343
  }
426
344
  }
427
- setRecommendedFilters(recommendedFilters) {
428
- this.setState({
429
- _recommendedFilters: recommendedFilters
430
- });
431
- }
432
345
  async getFiltersApplicabilityForQueries(filters, queries) {
433
346
  const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
434
347
  if (!ds || !ds.getDrilldownsApplicability) {
@@ -543,12 +456,11 @@ class AdHocFiltersVariable extends SceneObjectBase {
543
456
  let scopes = sceneGraph.getScopes(this);
544
457
  if (filter.origin === "scope") {
545
458
  scopes = scopes == null ? void 0 : scopes.map((scope) => {
546
- var _a2;
547
459
  return {
548
460
  ...scope,
549
461
  spec: {
550
462
  ...scope.spec,
551
- filters: (_a2 = scope.spec.filters) == null ? void 0 : _a2.filter((f) => f.key !== filter.key)
463
+ filters: scope.spec.filters.filter((f) => f.key !== filter.key)
552
464
  }
553
465
  };
554
466
  });
@@ -651,5 +563,5 @@ function isMultiValueOperator(operatorValue) {
651
563
  return Boolean(operator.isMulti);
652
564
  }
653
565
 
654
- export { AdHocFiltersVariable, AdHocFiltersVariableRenderer, OPERATORS, RECENT_FILTERS_KEY, isFilterApplicable, isFilterComplete, isMatchAllFilter, isMultiValueOperator, toSelectableValue };
566
+ export { AdHocFiltersVariable, AdHocFiltersVariableRenderer, OPERATORS, isFilterApplicable, isFilterComplete, isMatchAllFilter, isMultiValueOperator, toSelectableValue };
655
567
  //# sourceMappingURL=AdHocFiltersVariable.js.map