@grafana/scenes 6.50.0--canary.1316.20287476780.0 → 6.50.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 (32) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/esm/packages/scenes/src/index.js +1 -1
  3. package/dist/esm/packages/scenes/src/index.js.map +1 -1
  4. package/dist/esm/packages/scenes/src/locales/en-US/grafana-scenes.json.js +7 -4
  5. package/dist/esm/packages/scenes/src/locales/en-US/grafana-scenes.json.js.map +1 -1
  6. package/dist/esm/packages/scenes/src/variables/DrilldownDependenciesManager.js.map +1 -1
  7. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +2 -2
  8. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js.map +1 -1
  9. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +4 -3
  10. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
  11. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +24 -114
  12. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -1
  13. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -3
  14. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/utils.js.map +1 -1
  15. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersRecommendations.js +154 -0
  16. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersRecommendations.js.map +1 -0
  17. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js +33 -21
  18. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  19. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js +5 -4
  20. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js.map +1 -1
  21. package/dist/esm/packages/scenes/src/variables/components/DrilldownRecommendations.js +102 -0
  22. package/dist/esm/packages/scenes/src/variables/components/DrilldownRecommendations.js.map +1 -0
  23. package/dist/esm/packages/scenes/src/variables/groupby/GroupByRecommendations.js +169 -0
  24. package/dist/esm/packages/scenes/src/variables/groupby/GroupByRecommendations.js.map +1 -0
  25. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js +74 -37
  26. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js.map +1 -1
  27. package/dist/{grafana-scenes-Dml42t8G.js → grafana-scenes-C9F_2hih.js} +8 -5
  28. package/dist/{grafana-scenes-Dml42t8G.js.map → grafana-scenes-C9F_2hih.js.map} +1 -1
  29. package/dist/index.d.ts +86 -18
  30. package/dist/index.js +5119 -4774
  31. package/dist/index.js.map +1 -1
  32. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -993,6 +993,12 @@ declare function registerVariableMacro(name: string, macro: MacroVariableConstru
993
993
  declare function renderPrometheusLabelFilters(filters: AdHocVariableFilter[]): string;
994
994
  declare function escapeLabelValueInExactSelector(labelValue: string): string;
995
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[];
996
1002
  declare function escapeUrlPipeDelimiters(value: string | undefined): string;
997
1003
  declare function escapeURLDelimiters(value: string | undefined): string;
998
1004
 
@@ -1005,6 +1011,28 @@ declare class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHa
1005
1011
  updateFromUrl(values: SceneObjectUrlValues): void;
1006
1012
  }
1007
1013
 
1014
+ interface AdHocFiltersRecommendationsState extends SceneObjectState {
1015
+ recentFilters?: AdHocFilterWithLabels[];
1016
+ recommendedFilters?: AdHocFilterWithLabels[];
1017
+ }
1018
+ declare class AdHocFiltersRecommendations extends SceneObjectBase<AdHocFiltersRecommendationsState> {
1019
+ static Component: typeof AdHocFiltersRecommendationsRenderer;
1020
+ constructor(state?: Partial<AdHocFiltersRecommendationsState>);
1021
+ get _adHocFilter(): AdHocFiltersVariable;
1022
+ private get _scopedVars();
1023
+ private _activationHandler;
1024
+ private _getStorageKey;
1025
+ private _fetchRecommendedDrilldowns;
1026
+ private _verifyRecentFiltersApplicability;
1027
+ /**
1028
+ * Stores a recent filter in localStorage and updates state.
1029
+ * Should be called by the parent variable when a filter is added/updated.
1030
+ */
1031
+ storeRecentFilter(filter: AdHocFilterWithLabels): void;
1032
+ addFilterToParent(filter: AdHocFilterWithLabels): void;
1033
+ }
1034
+ declare function AdHocFiltersRecommendationsRenderer({ model }: SceneComponentProps<AdHocFiltersRecommendations>): React__default.JSX.Element;
1035
+
1008
1036
  interface AdHocFilterWithLabels<M extends Record<string, any> = {}> extends AdHocVariableFilter {
1009
1037
  keyLabel?: string;
1010
1038
  valueLabels?: string[];
@@ -1101,10 +1129,9 @@ interface AdHocFiltersVariableState extends SceneVariableState {
1101
1129
  */
1102
1130
  applicabilityEnabled?: boolean;
1103
1131
  /**
1104
- * When true, enables a collapse button that appears when filters wrap to multiple lines.
1105
- * Allows users to collapse the filter UI to save vertical space.
1132
+ * enables drilldown recommendations
1106
1133
  */
1107
- collapsible?: boolean;
1134
+ drilldownRecommendationsEnabled?: boolean;
1108
1135
  }
1109
1136
  type AdHocVariableExpressionBuilderFn = (filters: AdHocFilterWithLabels[]) => string;
1110
1137
  type OnAddCustomValueFn = (item: SelectableValue<string> & {
@@ -1137,9 +1164,12 @@ declare class AdHocFiltersVariable extends SceneObjectBase<AdHocFiltersVariableS
1137
1164
  protected _variableDependency: VariableDependencyConfig<AdHocFiltersVariableState>;
1138
1165
  protected _urlSync: AdHocFiltersVariableUrlSyncHandler;
1139
1166
  private _debouncedVerifyApplicability;
1167
+ private _recommendations;
1140
1168
  constructor(state: Partial<AdHocFiltersVariableState>);
1141
1169
  private _activationHandler;
1170
+ getRecommendations(): AdHocFiltersRecommendations | undefined;
1142
1171
  private _updateScopesFilters;
1172
+ private verifyApplicabilityAndStoreRecentFilter;
1143
1173
  setState(update: Partial<AdHocFiltersVariableState>): void;
1144
1174
  /**
1145
1175
  * Updates the variable's `filters` and `filterExpression` state.
@@ -1151,10 +1181,6 @@ declare class AdHocFiltersVariable extends SceneObjectBase<AdHocFiltersVariableS
1151
1181
  forcePublish?: boolean;
1152
1182
  }): void;
1153
1183
  restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
1154
- /**
1155
- * Clear all user-added filters and restore origin filters to their original values.
1156
- */
1157
- clearAll(): void;
1158
1184
  getValue(fieldPath?: string): VariableValue | undefined;
1159
1185
  _updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
1160
1186
  updateToMatchAll(filter: AdHocFilterWithLabels): void;
@@ -1364,6 +1390,31 @@ declare class QueryVariable extends MultiValueVariable<QueryVariableState> {
1364
1390
  static Component: ({ model }: SceneComponentProps<MultiValueVariable>) => React__default.JSX.Element;
1365
1391
  }
1366
1392
 
1393
+ interface GroupByRecommendationsState extends SceneObjectState {
1394
+ recentGrouping?: Array<SelectableValue<VariableValueSingle>>;
1395
+ recommendedGrouping?: Array<SelectableValue<VariableValueSingle>>;
1396
+ }
1397
+ declare class GroupByRecommendations extends SceneObjectBase<GroupByRecommendationsState> {
1398
+ static Component: typeof GroupByRecommendationsRenderer;
1399
+ constructor(state?: Partial<GroupByRecommendationsState>);
1400
+ private get _groupBy();
1401
+ private get _scopedVars();
1402
+ private _activationHandler;
1403
+ private _getStorageKey;
1404
+ private _fetchRecommendedDrilldowns;
1405
+ private _verifyRecentGroupingsApplicability;
1406
+ /**
1407
+ * Stores recent groupings in localStorage and updates state.
1408
+ * Should be called by the parent variable when a grouping is added/updated.
1409
+ */
1410
+ storeRecentGrouping(applicableValues: string[]): void;
1411
+ /**
1412
+ * Add a grouping value to the parent variable
1413
+ */
1414
+ addValueToParent(newValue: VariableValueSingle, newText?: string): void;
1415
+ }
1416
+ declare function GroupByRecommendationsRenderer({ model }: SceneComponentProps<GroupByRecommendations>): React__default.JSX.Element;
1417
+
1367
1418
  interface GroupByVariableState extends MultiValueVariableState {
1368
1419
  /** Defaults to "Group" */
1369
1420
  name: string;
@@ -1411,6 +1462,10 @@ interface GroupByVariableState extends MultiValueVariableState {
1411
1462
  * state for checking whether drilldown applicability is enabled
1412
1463
  */
1413
1464
  applicabilityEnabled?: boolean;
1465
+ /**
1466
+ * enables drilldown recommendations
1467
+ */
1468
+ drilldownRecommendationsEnabled?: boolean;
1414
1469
  }
1415
1470
  type getTagKeysProvider = (set: GroupByVariable, currentKey: string | null) => Promise<{
1416
1471
  replace?: boolean;
@@ -1420,12 +1475,18 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
1420
1475
  static Component: typeof GroupByVariableRenderer;
1421
1476
  isLazy: boolean;
1422
1477
  protected _urlSync: SceneObjectUrlSyncHandler;
1478
+ private _scopedVars;
1479
+ private _recommendations;
1423
1480
  validateAndUpdate(): Observable<ValidateAndUpdateResult>;
1424
1481
  private _updateValueGivenNewOptions;
1425
1482
  getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]>;
1426
1483
  constructor(initialState: Partial<GroupByVariableState>);
1427
1484
  private _activationHandler;
1428
- getApplicableKeys(): VariableValue;
1485
+ /**
1486
+ * Gets the GroupByRecommendations behavior if it exists in $behaviors
1487
+ */
1488
+ getRecommendations(): GroupByRecommendations | undefined;
1489
+ getApplicableKeys(): string[];
1429
1490
  getGroupByApplicabilityForQueries(value: VariableValue, queries: SceneDataQuery[]): Promise<DrilldownsApplicability[] | undefined>;
1430
1491
  _verifyApplicability(): Promise<void>;
1431
1492
  checkIfRestorable(values: VariableValue): boolean;
@@ -1434,6 +1495,7 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
1434
1495
  * Get possible keys given current filters. Do not call from plugins directly
1435
1496
  */
1436
1497
  _getKeys: (ds: DataSourceApi) => Promise<GetTagResponse | MetricFindValue[]>;
1498
+ _verifyApplicabilityAndStoreRecentGrouping(): Promise<void>;
1437
1499
  /**
1438
1500
  * Allows clearing the value of the variable to an empty value. Overrides default behavior of a MultiValueVariable
1439
1501
  */
@@ -2495,10 +2557,8 @@ interface AdHocFiltersControllerState {
2495
2557
  onAddCustomValue?: OnAddCustomValueFn;
2496
2558
  wip?: AdHocFilterWithLabels;
2497
2559
  inputPlaceholder?: string;
2498
- /**
2499
- * When true, enables a collapse button that appears when filters wrap to multiple lines.
2500
- */
2501
- collapsible?: boolean;
2560
+ valueRecommendations?: AdHocFiltersRecommendations;
2561
+ drilldownRecommendationsEnabled?: boolean;
2502
2562
  }
2503
2563
  /**
2504
2564
  * Controller interface for adhoc filters combobox UI.
@@ -2530,6 +2590,15 @@ interface AdHocFiltersController {
2530
2590
  * @param update - Partial filter properties to update
2531
2591
  */
2532
2592
  updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
2593
+ /**
2594
+ * Update filters list
2595
+ * @param filters
2596
+ * @param options
2597
+ */
2598
+ updateFilters?(filters: AdHocFilterWithLabels[], options?: {
2599
+ skipPublish?: boolean;
2600
+ forcePublish?: boolean;
2601
+ }): void;
2533
2602
  /**
2534
2603
  * Update a filter to match all values (=~ .*)
2535
2604
  * @param filter - The filter to update
@@ -2558,10 +2627,6 @@ interface AdHocFiltersController {
2558
2627
  * @param filter - The filter to restore
2559
2628
  */
2560
2629
  restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
2561
- /**
2562
- * Clear all user-added filters and restore origin filters to original values.
2563
- */
2564
- clearAll(): void;
2565
2630
  /**
2566
2631
  * Optional: Start profiling an interaction (for performance tracking).
2567
2632
  * @param name - The interaction name
@@ -2590,13 +2655,16 @@ declare class AdHocFiltersVariableController implements AdHocFiltersController {
2590
2655
  getValuesFor(filter: AdHocFilterWithLabels): Promise<Array<SelectableValue<string>>>;
2591
2656
  getOperators(): Array<SelectableValue<string>>;
2592
2657
  updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
2658
+ updateFilters(filters: AdHocFilterWithLabels[], options?: {
2659
+ skipPublish?: boolean;
2660
+ forcePublish?: boolean;
2661
+ }): void;
2593
2662
  updateToMatchAll(filter: AdHocFilterWithLabels): void;
2594
2663
  removeFilter(filter: AdHocFilterWithLabels): void;
2595
2664
  removeLastFilter(): void;
2596
2665
  handleComboboxBackspace(filter: AdHocFilterWithLabels): void;
2597
2666
  addWip(): void;
2598
2667
  restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
2599
- clearAll(): void;
2600
2668
  startProfile(name: string): void;
2601
2669
  startInteraction(name: string): void;
2602
2670
  stopInteraction(): void;
@@ -3626,5 +3694,5 @@ declare const sceneUtils: {
3626
3694
  buildPathIdFor: typeof buildPathIdFor;
3627
3695
  };
3628
3696
 
3629
- 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 };
3697
+ 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 };
3630
3698
  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 };