@grafana/scenes 6.50.0--canary.1315.20233534152.0 → 6.50.0--canary.1312.20242044820.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 (26) 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 +7 -0
  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 +2 -1
  7. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -1
  8. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersRecommendations.js +174 -0
  9. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersRecommendations.js.map +1 -0
  10. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js +28 -4
  11. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  12. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js +6 -1
  13. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js.map +1 -1
  14. package/dist/esm/packages/scenes/src/variables/components/DrilldownRecommendations.js +102 -0
  15. package/dist/esm/packages/scenes/src/variables/components/DrilldownRecommendations.js.map +1 -0
  16. package/dist/esm/packages/scenes/src/variables/groupby/GroupByRecommendations.js +192 -0
  17. package/dist/esm/packages/scenes/src/variables/groupby/GroupByRecommendations.js.map +1 -0
  18. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js +61 -8
  19. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js.map +1 -1
  20. package/dist/esm/packages/scenes/src/variables/types.js.map +1 -1
  21. package/dist/{grafana-scenes-D5iZGLtK.js → grafana-scenes-C9F_2hih.js} +8 -1
  22. package/dist/{grafana-scenes-D5iZGLtK.js.map → grafana-scenes-C9F_2hih.js.map} +1 -1
  23. package/dist/index.d.ts +130 -9
  24. package/dist/index.js +5187 -4681
  25. package/dist/index.js.map +1 -1
  26. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -31,11 +31,6 @@ import { Options as Options$h, FieldConfig as FieldConfig$8 } from '@grafana/sch
31
31
  import { Options as Options$i } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';
32
32
  import { ResourceLoader } from '@grafana/i18n';
33
33
 
34
- interface ControlSourceRef {
35
- uid: string;
36
- sourceId: string;
37
- sourceType: string;
38
- }
39
34
  interface SceneVariableState extends SceneObjectState {
40
35
  type: VariableType;
41
36
  name: string;
@@ -45,7 +40,6 @@ interface SceneVariableState extends SceneObjectState {
45
40
  loading?: boolean;
46
41
  error?: any | null;
47
42
  description?: string | null;
48
- source?: ControlSourceRef;
49
43
  }
50
44
  interface SceneVariable<TState extends SceneVariableState = SceneVariableState> extends SceneObject<TState> {
51
45
  /**
@@ -999,6 +993,12 @@ declare function registerVariableMacro(name: string, macro: MacroVariableConstru
999
993
  declare function renderPrometheusLabelFilters(filters: AdHocVariableFilter[]): string;
1000
994
  declare function escapeLabelValueInExactSelector(labelValue: string): string;
1001
995
  declare function escapeLabelValueInRegexSelector(labelValue: string): string;
996
+ /**
997
+ * Get all queries in the scene that have the same datasource as provided source object
998
+ */
999
+ declare function getQueriesForVariables(sourceObject: SceneObject<SceneObjectState & {
1000
+ datasource: DataSourceRef | null;
1001
+ }>): SceneDataQuery[];
1002
1002
  declare function escapeUrlPipeDelimiters(value: string | undefined): string;
1003
1003
  declare function escapeURLDelimiters(value: string | undefined): string;
1004
1004
 
@@ -1011,6 +1011,47 @@ declare class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHa
1011
1011
  updateFromUrl(values: SceneObjectUrlValues): void;
1012
1012
  }
1013
1013
 
1014
+ interface AdHocFiltersRecommendationsState extends SceneObjectState {
1015
+ /** Recent filters */
1016
+ recentFilters?: AdHocFilterWithLabels[];
1017
+ /** Recommended filters */
1018
+ recommendedFilters?: AdHocFilterWithLabels[];
1019
+ }
1020
+ /**
1021
+ * Scene object component that manages recommendations for AdHocFiltersVariable.
1022
+ * It handles fetching recommended drilldowns, verifying applicability of recent filters,
1023
+ * and storing/displaying recent filters.
1024
+ */
1025
+ declare class AdHocFiltersRecommendations extends SceneObjectBase<AdHocFiltersRecommendationsState> {
1026
+ static Component: typeof AdHocFiltersRecommendationsRenderer;
1027
+ private _scopedVars;
1028
+ private _parentVariable;
1029
+ constructor(parent: AdHocFiltersVariable);
1030
+ /**
1031
+ * Get the parent variable
1032
+ */
1033
+ get parent(): AdHocFiltersVariable;
1034
+ private _activationHandler;
1035
+ private _getStorageKey;
1036
+ private _fetchRecommendedDrilldowns;
1037
+ private _verifyRecentFiltersApplicability;
1038
+ private _getFiltersApplicabilityForQueries;
1039
+ /**
1040
+ * Stores a recent filter in localStorage and updates state.
1041
+ * Should be called by the parent variable when a filter is added/updated.
1042
+ */
1043
+ storeRecentFilter(filter: AdHocFilterWithLabels): void;
1044
+ /**
1045
+ * Get the current filters from the parent variable
1046
+ */
1047
+ getParentFilters(): AdHocFilterWithLabels[];
1048
+ /**
1049
+ * Add a filter to the parent variable
1050
+ */
1051
+ addFilterToParent(filter: AdHocFilterWithLabels): void;
1052
+ }
1053
+ declare function AdHocFiltersRecommendationsRenderer({ model }: SceneComponentProps<AdHocFiltersRecommendations>): React__default.JSX.Element;
1054
+
1014
1055
  interface AdHocFilterWithLabels<M extends Record<string, any> = {}> extends AdHocVariableFilter {
1015
1056
  keyLabel?: string;
1016
1057
  valueLabels?: string[];
@@ -1106,6 +1147,15 @@ interface AdHocFiltersVariableState extends SceneVariableState {
1106
1147
  * state for checking whether drilldown applicability is enabled
1107
1148
  */
1108
1149
  applicabilityEnabled?: boolean;
1150
+ /**
1151
+ * Value recommendations - manages recent and recommended filters
1152
+ * @internal
1153
+ */
1154
+ _valueRecommendations?: AdHocFiltersRecommendations;
1155
+ /**
1156
+ * enables drilldown recommendations
1157
+ */
1158
+ drilldownRecommendationsEnabled?: boolean;
1109
1159
  }
1110
1160
  type AdHocVariableExpressionBuilderFn = (filters: AdHocFilterWithLabels[]) => string;
1111
1161
  type OnAddCustomValueFn = (item: SelectableValue<string> & {
@@ -1141,6 +1191,7 @@ declare class AdHocFiltersVariable extends SceneObjectBase<AdHocFiltersVariableS
1141
1191
  constructor(state: Partial<AdHocFiltersVariableState>);
1142
1192
  private _activationHandler;
1143
1193
  private _updateScopesFilters;
1194
+ private verifyApplicabilityAndStoreRecentFilter;
1144
1195
  setState(update: Partial<AdHocFiltersVariableState>): void;
1145
1196
  /**
1146
1197
  * Updates the variable's `filters` and `filterExpression` state.
@@ -1361,6 +1412,50 @@ declare class QueryVariable extends MultiValueVariable<QueryVariableState> {
1361
1412
  static Component: ({ model }: SceneComponentProps<MultiValueVariable>) => React__default.JSX.Element;
1362
1413
  }
1363
1414
 
1415
+ interface GroupByRecommendationsState extends SceneObjectState {
1416
+ /** Recent groupings */
1417
+ recentGrouping?: Array<SelectableValue<VariableValueSingle>>;
1418
+ /** Recommended groupings */
1419
+ recommendedGrouping?: Array<SelectableValue<VariableValueSingle>>;
1420
+ }
1421
+ /**
1422
+ * Scene object component that manages recommendations for GroupByVariable.
1423
+ * It handles fetching recommended drilldowns, verifying applicability of recent groupings,
1424
+ * and storing/displaying recent groupings.
1425
+ */
1426
+ declare class GroupByRecommendations extends SceneObjectBase<GroupByRecommendationsState> {
1427
+ static Component: typeof GroupByRecommendationsRenderer;
1428
+ private _scopedVars;
1429
+ private _parentVariable;
1430
+ constructor(parent: GroupByVariable);
1431
+ /**
1432
+ * Get the parent variable
1433
+ */
1434
+ get parent(): GroupByVariable;
1435
+ private _activationHandler;
1436
+ private _getStorageKey;
1437
+ private _fetchRecommendedDrilldowns;
1438
+ private _verifyRecentGroupingsApplicability;
1439
+ private _getGroupByApplicabilityForQueries;
1440
+ /**
1441
+ * Stores recent groupings in localStorage and updates state.
1442
+ * Should be called by the parent variable when a grouping is added/updated.
1443
+ */
1444
+ storeRecentGrouping(applicableValues: string[]): void;
1445
+ /**
1446
+ * Get the current values from the parent variable
1447
+ */
1448
+ getParentValues(): {
1449
+ value: VariableValueSingle[];
1450
+ text: string[];
1451
+ };
1452
+ /**
1453
+ * Add a grouping value to the parent variable
1454
+ */
1455
+ addValueToParent(newValue: VariableValueSingle, newText?: string): void;
1456
+ }
1457
+ declare function GroupByRecommendationsRenderer({ model }: SceneComponentProps<GroupByRecommendations>): React__default.JSX.Element;
1458
+
1364
1459
  interface GroupByVariableState extends MultiValueVariableState {
1365
1460
  /** Defaults to "Group" */
1366
1461
  name: string;
@@ -1408,6 +1503,15 @@ interface GroupByVariableState extends MultiValueVariableState {
1408
1503
  * state for checking whether drilldown applicability is enabled
1409
1504
  */
1410
1505
  applicabilityEnabled?: boolean;
1506
+ /**
1507
+ * Value recommendations scene object - manages recent and recommended groupings
1508
+ * @internal
1509
+ */
1510
+ _valueRecommendations?: GroupByRecommendations;
1511
+ /**
1512
+ * enables drilldown recommendations
1513
+ */
1514
+ drilldownRecommendationsEnabled?: boolean;
1411
1515
  }
1412
1516
  type getTagKeysProvider = (set: GroupByVariable, currentKey: string | null) => Promise<{
1413
1517
  replace?: boolean;
@@ -1422,7 +1526,7 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
1422
1526
  getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]>;
1423
1527
  constructor(initialState: Partial<GroupByVariableState>);
1424
1528
  private _activationHandler;
1425
- getApplicableKeys(): VariableValue;
1529
+ getApplicableKeys(): string[];
1426
1530
  getGroupByApplicabilityForQueries(value: VariableValue, queries: SceneDataQuery[]): Promise<DrilldownsApplicability[] | undefined>;
1427
1531
  _verifyApplicability(): Promise<void>;
1428
1532
  checkIfRestorable(values: VariableValue): boolean;
@@ -1431,6 +1535,7 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
1431
1535
  * Get possible keys given current filters. Do not call from plugins directly
1432
1536
  */
1433
1537
  _getKeys: (ds: DataSourceApi) => Promise<GetTagResponse | MetricFindValue[]>;
1538
+ _verifyApplicabilityAndStoreRecentGrouping(): Promise<void>;
1434
1539
  /**
1435
1540
  * Allows clearing the value of the variable to an empty value. Overrides default behavior of a MultiValueVariable
1436
1541
  */
@@ -2492,6 +2597,9 @@ interface AdHocFiltersControllerState {
2492
2597
  onAddCustomValue?: OnAddCustomValueFn;
2493
2598
  wip?: AdHocFilterWithLabels;
2494
2599
  inputPlaceholder?: string;
2600
+ /** Value recommendations component - manages recent and recommended filters */
2601
+ valueRecommendations?: AdHocFiltersRecommendations;
2602
+ drilldownRecommendationsEnabled?: boolean;
2495
2603
  }
2496
2604
  /**
2497
2605
  * Controller interface for adhoc filters combobox UI.
@@ -2523,6 +2631,15 @@ interface AdHocFiltersController {
2523
2631
  * @param update - Partial filter properties to update
2524
2632
  */
2525
2633
  updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
2634
+ /**
2635
+ * Update filters list
2636
+ * @param filters
2637
+ * @param options
2638
+ */
2639
+ updateFilters?(filters: AdHocFilterWithLabels[], options?: {
2640
+ skipPublish?: boolean;
2641
+ forcePublish?: boolean;
2642
+ }): void;
2526
2643
  /**
2527
2644
  * Update a filter to match all values (=~ .*)
2528
2645
  * @param filter - The filter to update
@@ -2579,6 +2696,10 @@ declare class AdHocFiltersVariableController implements AdHocFiltersController {
2579
2696
  getValuesFor(filter: AdHocFilterWithLabels): Promise<Array<SelectableValue<string>>>;
2580
2697
  getOperators(): Array<SelectableValue<string>>;
2581
2698
  updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
2699
+ updateFilters(filters: AdHocFilterWithLabels[], options?: {
2700
+ skipPublish?: boolean;
2701
+ forcePublish?: boolean;
2702
+ }): void;
2582
2703
  updateToMatchAll(filter: AdHocFilterWithLabels): void;
2583
2704
  removeFilter(filter: AdHocFilterWithLabels): void;
2584
2705
  removeLastFilter(): void;
@@ -3614,5 +3735,5 @@ declare const sceneUtils: {
3614
3735
  buildPathIdFor: typeof buildPathIdFor;
3615
3736
  };
3616
3737
 
3617
- export { AdHocFiltersComboboxRenderer, AdHocFiltersVariable, AdHocFiltersVariableController, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$2 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, index$1 as performanceUtils, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync, writePerformanceLog };
3618
- export type { AdHocFilterWithLabels, AdHocFiltersController, AdHocFiltersControllerState, CancelActivationHandler, ControlSourceRef, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueOptionProperties, VariableValueSingle, VizConfig, VizPanelState };
3738
+ export { AdHocFiltersComboboxRenderer, AdHocFiltersVariable, AdHocFiltersVariableController, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$2 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, getQueriesForVariables, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, index$1 as performanceUtils, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync, writePerformanceLog };
3739
+ export type { AdHocFilterWithLabels, AdHocFiltersController, AdHocFiltersControllerState, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueOptionProperties, VariableValueSingle, VizConfig, VizPanelState };