@yugabytedb/perf-advisor-ui 1.0.162 → 1.0.164

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 (33) hide show
  1. package/dist/api.d.ts +4 -1
  2. package/dist/common/ChartCard/ChartCard.d.ts +10 -1
  3. package/dist/common/ChartCard/ChartCard.styles.d.ts +8 -1
  4. package/dist/common/ExpandedChartModal/ExpandChartButton.d.ts +8 -0
  5. package/dist/common/ExpandedChartModal/ExpandedChartModal.d.ts +15 -0
  6. package/dist/common/ExpandedChartModal/index.d.ts +5 -0
  7. package/dist/common/ExpandedChartModal/useExpandedChart.d.ts +17 -0
  8. package/dist/common/index.d.ts +2 -0
  9. package/dist/components/RuntimeConfigs/ResetRuntimeConfig.d.ts +3 -1
  10. package/dist/components/RuntimeConfigs/RuntimeConfigs.d.ts +2 -1
  11. package/dist/components/RuntimeConfigs/ScopeEntitySelect.d.ts +12 -0
  12. package/dist/components/RuntimeConfigs/ScopeSelector.d.ts +8 -0
  13. package/dist/components/RuntimeConfigs/UpdateRuntimeConfig.d.ts +3 -1
  14. package/dist/components/RuntimeConfigs/helpers.d.ts +10 -0
  15. package/dist/components/RuntimeConfigs/runtimeConfigColumns.d.ts +11 -0
  16. package/dist/components/RuntimeConfigs/types.d.ts +11 -0
  17. package/dist/components/SecondaryDashboard/DrilldownView/BindVariablesSection.d.ts +10 -0
  18. package/dist/components/SecondaryDashboard/DrilldownView/BindVariablesToggleDialog.d.ts +10 -0
  19. package/dist/components/SecondaryDashboard/DrilldownView/QpmInstructionText.d.ts +5 -0
  20. package/dist/components/SecondaryDashboard/DrilldownView/QueryPlanManagement.d.ts +3 -1
  21. package/dist/components/SecondaryDashboard/DrilldownView/useBindVariablesCollection.d.ts +8 -0
  22. package/dist/components/SecondaryDashboard/GraphView.d.ts +22 -1
  23. package/dist/components/SecondaryDashboard/Metadata/AnomalyRCAGraphs.d.ts +7 -6
  24. package/dist/components/hooks/useAnomalyPreselection.d.ts +4 -3
  25. package/dist/components/hooks/useClusterFilterState.d.ts +5 -2
  26. package/dist/esm/index.js +16937 -16099
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/helpers/bindVariablesText.d.ts +26 -0
  29. package/dist/helpers/constants.d.ts +3 -0
  30. package/dist/helpers/dtos.d.ts +11 -0
  31. package/dist/helpers/gflagUtils.d.ts +4 -0
  32. package/dist/helpers/utils.d.ts +2 -2
  33. package/package.json +3 -3
package/dist/api.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
2
- import { Anomaly, AnomalyDetectionStatus, AnomalyGroup, BackgroundTasksResponse, ClusterLoadResponseData, MetadataFields, GraphRequestParams, QueryPlanData, QueryStatsPagedBody, ClusterDetails, IndexPagedResponse, MaterializedViewPagedResponse, TablePagedResponse, HaState, HaGroupRequest, HaPromoteRequest } from './helpers/dtos';
2
+ import { Anomaly, AnomalyDetectionStatus, AnomalyGroup, BackgroundTasksResponse, ClusterLoadResponseData, MetadataFields, GraphRequestParams, QueryPlanData, QueryStatsPagedBody, ClusterDetails, IndexPagedResponse, MaterializedViewPagedResponse, HaState, HaGroupRequest, HaPromoteRequest, RuntimeConfigData, TablePagedResponse } from './helpers/dtos';
3
3
  export declare enum QUERY_KEY {
4
4
  fetchAnomalies = "fetchAnomalies",
5
5
  fetchGraphs = "fetchGraphs",
@@ -23,6 +23,7 @@ export declare enum QUERY_KEY {
23
23
  fetchSpecificRuntimeConfigs = "fetchSpecificRuntimeConfigs",
24
24
  fetchSpecificRuntimeConfigsKey = "fetchSpecificRuntimeConfigsKey",
25
25
  updateRuntimeConfig = "updateRuntimeConfig",
26
+ fetchUniverseRuntimeConfigs = "fetchUniverseRuntimeConfigs",
26
27
  fetchAnomalyGroups = "fetchAnomalyGroups",
27
28
  fetchAnomalyGroupsByType = "fetchAnomalyGroupsByType",
28
29
  fetchAnomalyGroupsById = "fetchAnomalyGroupsById",
@@ -116,6 +117,8 @@ declare class ApiService {
116
117
  fetchSpecificRuntimeConfigs: (scopeUuid: string | undefined, keys: string[], apiUrl?: string) => Promise<string[]>;
117
118
  updateRuntimeConfig: (scopeUuid: string | undefined, configKey: string, configValue: string, apiUrl?: string) => Promise<any>;
118
119
  deleteRuntimeConfig: (scopeUuid: string | undefined, configKey: string, apiUrl?: string) => Promise<any>;
120
+ fetchUniverseRuntimeConfigs: (universeUuid: string, keys: string[], apiUrl?: string) => Promise<RuntimeConfigData[]>;
121
+ updateUniverseRuntimeConfig: (universeUuid: string, configKey: string, configValue: string, apiUrl?: string) => Promise<any>;
119
122
  fetchBackgroundTasks: (universeUuid: string, startTime: string | null, endTime: string | null, limit?: number | null, apiUrl?: string) => Promise<BackgroundTasksResponse>;
120
123
  fetchAnomalyGroups: (universeUuid: string, startTime: string | null, endTime: string | null, anomalyType: string | undefined, getClusterDetails: () => ClusterDetails, apiUrl?: string) => {};
121
124
  fetchAnomalyGroupsByType: (universeUuid: string, startTime: string, endTime: string, anomalyType: string, apiUrl?: string) => Promise<AnomalyGroup[]>;
@@ -15,7 +15,16 @@ export interface ChartCardProps {
15
15
  config?: ChartConfig;
16
16
  rescaleYAxisOnLegendToggle?: boolean;
17
17
  renderError?: RenderErrorFn;
18
+ /**
19
+ * When provided, an expand affordance is rendered in the card header. Omit it
20
+ * (the default) to keep the header as-is.
21
+ */
22
+ onExpand?: () => void;
23
+ /** Marks this instance as the fullscreen copy rendered inside ExpandedChartModal. */
24
+ isExpanded?: boolean;
25
+ /** Explicit card height in px. Defaults to the standard in-grid card height. */
26
+ chartHeight?: number;
18
27
  onEChartsDateSelect: (start: number, end: number) => void;
19
28
  onFilterBarData?: (data: string[]) => void;
20
29
  }
21
- export declare const ChartCard: ({ title, titleInfo, headerRightSlot, data, chartType, isLoading, isError, errorText, metricKey, timezone, config, rescaleYAxisOnLegendToggle, renderError, onEChartsDateSelect, onFilterBarData }: ChartCardProps) => JSX.Element;
30
+ export declare const ChartCard: ({ title, titleInfo, headerRightSlot, data, chartType, isLoading, isError, errorText, metricKey, timezone, config, rescaleYAxisOnLegendToggle, renderError, onExpand, isExpanded, chartHeight, onEChartsDateSelect, onFilterBarData }: ChartCardProps) => JSX.Element;
@@ -1 +1,8 @@
1
- export declare const useChartCardStyles: (props?: any) => import('@material-ui/styles').ClassNameMap<"loadingContainer" | "card" | "titleRow" | "titleGroup" | "titleText" | "rightGroup" | "chartWrapper" | "chart">;
1
+ export declare const DEFAULT_CARD_HEIGHT = 320;
2
+ export interface ChartCardStyleProps {
3
+ /** Total card height in px. Defaults to the standard in-grid card height. */
4
+ cardHeight?: number;
5
+ /** Fullscreen copy: the dialog provides the frame, so drop the card border. */
6
+ isExpanded?: boolean;
7
+ }
8
+ export declare const useChartCardStyles: (props: ChartCardStyleProps) => import('@material-ui/styles').ClassNameMap<string>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ interface ExpandChartButtonProps {
3
+ onClick: () => void;
4
+ dataTestId: string;
5
+ title?: string;
6
+ }
7
+ export declare const ExpandChartButton: ({ onClick, dataTestId, title }: ExpandChartButtonProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ExpandedChartSize {
3
+ width: number;
4
+ height: number;
5
+ }
6
+ interface ExpandedChartModalProps {
7
+ open: boolean;
8
+ title: ReactNode;
9
+ dataTestId: string;
10
+ onClose: () => void;
11
+ headerRightSlot?: ReactNode;
12
+ children: (size: ExpandedChartSize) => ReactNode;
13
+ }
14
+ export declare const ExpandedChartModal: ({ open, title, dataTestId, onClose, headerRightSlot, children }: ExpandedChartModalProps) => JSX.Element;
15
+ export {};
@@ -0,0 +1,5 @@
1
+ export { ExpandChartButton } from './ExpandChartButton';
2
+ export { ExpandedChartModal } from './ExpandedChartModal';
3
+ export type { ExpandedChartSize } from './ExpandedChartModal';
4
+ export { useExpandedChart } from './useExpandedChart';
5
+ export type { UseExpandedChartResult, SharedChartControlProps } from './useExpandedChart';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * GraphView props that hand its header selectors over to this hook. Spread these
3
+ * into the prop builder shared by a grid card and its fullscreen copy.
4
+ */
5
+ export interface SharedChartControlProps {
6
+ selectedMetricOperation: string | null;
7
+ selectedGroupByOperation: string | null;
8
+ onMetricOperationChange: (operation: string) => void;
9
+ onGroupByOperationChange: (operation: string) => void;
10
+ }
11
+ export interface UseExpandedChartResult {
12
+ expandedKey: string | null;
13
+ expand: (key: string) => void;
14
+ collapse: () => void;
15
+ getSharedControlProps: (chartKey: string) => SharedChartControlProps;
16
+ }
17
+ export declare const useExpandedChart: () => UseExpandedChartResult;
@@ -13,3 +13,5 @@ export { NodeTypeSelector } from './PAHeader/NodeTypeSelector';
13
13
  export { YBCheckboxField } from './YBCheckbox/YBCheckboxField';
14
14
  export { PerfAdvisorCodeBlock } from './PerfAdvisorCodeBlock/PerfAdvisorCodeBlock';
15
15
  export { CopyToClipboardButton } from './CopyToClipboardButton/CopyToClipboardButton';
16
+ export { ExpandChartButton, ExpandedChartModal, useExpandedChart } from './ExpandedChartModal';
17
+ export type { ExpandedChartSize, UseExpandedChartResult, SharedChartControlProps } from './ExpandedChartModal';
@@ -5,10 +5,12 @@ interface ResetRuntimeConfigProps {
5
5
  onClose: () => void;
6
6
  onActionPerformed: () => void;
7
7
  apiUrl: string;
8
+ scopeUuid: string;
9
+ scopeLabel: string;
8
10
  toast: {
9
11
  success: (message: string) => void;
10
12
  error: (message: string) => void;
11
13
  };
12
14
  }
13
- export declare const ResetRuntimeConfig: ({ data, open, apiUrl, onClose, onActionPerformed, toast }: ResetRuntimeConfigProps) => JSX.Element;
15
+ export declare const ResetRuntimeConfig: ({ data, open, apiUrl, scopeUuid, scopeLabel, onClose, onActionPerformed, toast }: ResetRuntimeConfigProps) => JSX.Element;
14
16
  export {};
@@ -2,10 +2,11 @@ import { AppName } from '../../helpers/dtos';
2
2
  interface RuntimeConfigsProps {
3
3
  apiUrl: string;
4
4
  appName: AppName;
5
+ customerUuid?: string;
5
6
  toast: {
6
7
  success: (message: string) => void;
7
8
  error: (message: string) => void;
8
9
  };
9
10
  }
10
- export declare const RuntimeConfigs: ({ apiUrl, appName, toast }: RuntimeConfigsProps) => JSX.Element;
11
+ export declare const RuntimeConfigs: ({ apiUrl, appName, customerUuid, toast }: RuntimeConfigsProps) => JSX.Element;
11
12
  export {};
@@ -0,0 +1,12 @@
1
+ import { ScopeOption } from './types';
2
+ interface ScopeEntitySelectProps {
3
+ label: string;
4
+ placeholder: string;
5
+ className?: string;
6
+ options: ScopeOption[];
7
+ value: ScopeOption | null;
8
+ dataTestId: string;
9
+ onChange: (option: ScopeOption | null) => void;
10
+ }
11
+ export declare const ScopeEntitySelect: ({ label, placeholder, className, options, value, dataTestId, onChange }: ScopeEntitySelectProps) => JSX.Element;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ScopeSelection } from './types';
2
+ interface ScopeSelectorProps {
3
+ apiUrl: string;
4
+ customerUuid?: string;
5
+ onChange: (selection: ScopeSelection) => void;
6
+ }
7
+ export declare const ScopeSelector: ({ apiUrl, customerUuid, onChange }: ScopeSelectorProps) => JSX.Element;
8
+ export {};
@@ -5,10 +5,12 @@ interface UpdateRuntimeConfigProps {
5
5
  onClose: () => void;
6
6
  onActionPerformed: () => void;
7
7
  apiUrl: string;
8
+ scopeUuid: string;
9
+ scopeLabel: string;
8
10
  toast: {
9
11
  success: (message: string) => void;
10
12
  error: (message: string) => void;
11
13
  };
12
14
  }
13
- export declare const UpdateRuntimeConfig: ({ data, open, apiUrl, onClose, onActionPerformed, toast }: UpdateRuntimeConfigProps) => JSX.Element;
15
+ export declare const UpdateRuntimeConfig: ({ data, open, apiUrl, scopeUuid, scopeLabel, onClose, onActionPerformed, toast }: UpdateRuntimeConfigProps) => JSX.Element;
14
16
  export {};
@@ -0,0 +1,10 @@
1
+ import { MetadataFields, RuntimeConfigScopeLevel, UniverseDetailsListItem } from '../../helpers/dtos';
2
+ import { ScopeOption, ScopeSelection } from './types';
3
+ export declare const CONTROL_HEIGHT = "32px";
4
+ export declare const SCOPE_LEVEL_LABELS: Record<RuntimeConfigScopeLevel, string>;
5
+ export declare const GLOBAL_SCOPE: ScopeSelection;
6
+ export declare const resolveScopePrompt: (level: RuntimeConfigScopeLevel) => string;
7
+ export declare const toUniverseOption: (universe: UniverseDetailsListItem) => ScopeOption;
8
+ export declare const toCustomerOption: (customer: MetadataFields) => ScopeOption;
9
+ export declare const toPinnedCustomerOption: (customerUuid: string) => ScopeOption;
10
+ export declare const toScopeSelection: (level: RuntimeConfigScopeLevel, option: ScopeOption | null) => ScopeSelection;
@@ -0,0 +1,11 @@
1
+ import { YBTableColumn } from '@yugabyte-ui-library/core';
2
+ import { RuntimeConfigData } from '../../helpers/dtos';
3
+ interface RuntimeConfigColumnsProps {
4
+ configs: RuntimeConfigData[];
5
+ onUpdate: (config: RuntimeConfigData) => void;
6
+ onReset: (config: RuntimeConfigData) => void;
7
+ isStandby: boolean;
8
+ standbyDisabledTooltip: string;
9
+ }
10
+ export declare const runtimeConfigColumns: ({ configs, onUpdate, onReset, isStandby, standbyDisabledTooltip }: RuntimeConfigColumnsProps) => YBTableColumn[];
11
+ export {};
@@ -0,0 +1,11 @@
1
+ import { RuntimeConfigScopeLevel } from '../../helpers/dtos';
2
+ export type ScopeOption = {
3
+ value: string;
4
+ primary: string;
5
+ secondary: string;
6
+ };
7
+ export interface ScopeSelection {
8
+ level: RuntimeConfigScopeLevel;
9
+ uuid: string;
10
+ label: string;
11
+ }
@@ -0,0 +1,10 @@
1
+ import { AppName } from '../../../helpers/dtos';
2
+ interface BindVariablesSectionProps {
3
+ bindVariables?: string;
4
+ universeUuid: string;
5
+ apiUrl: string;
6
+ appName: AppName;
7
+ gflagEnabled: boolean;
8
+ }
9
+ export declare const BindVariablesSection: ({ bindVariables, universeUuid, apiUrl, appName, gflagEnabled }: BindVariablesSectionProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import { AppName } from '../../../helpers/dtos';
2
+ interface BindVariablesToggleDialogProps {
3
+ open: boolean;
4
+ nextValue: boolean;
5
+ appName: AppName;
6
+ onConfirm: () => void;
7
+ onClose: () => void;
8
+ }
9
+ export declare const BindVariablesToggleDialog: ({ open, nextValue, appName, onConfirm, onClose }: BindVariablesToggleDialogProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ export declare const CodeText: ({ children }: {
3
+ children: React.ReactNode;
4
+ }) => JSX.Element;
5
+ export declare const renderInstruction: (instruction: string) => React.ReactNode;
@@ -8,9 +8,11 @@ interface QueryPlanManagementProps {
8
8
  isLoading: boolean;
9
9
  isRefetching?: boolean;
10
10
  universeDetails: Universe;
11
+ universeUuid: string;
12
+ apiUrl: string;
11
13
  appName: AppName;
12
14
  showQueriesExport?: boolean;
13
15
  onEChartsDateSelect?: (start: number, end: number) => void;
14
16
  }
15
- export declare const QueryPlanManagement: ({ universeDetails, queryPlanData, dateTimeRange, isLoading, isRefetching, appName, showQueriesExport, onEChartsDateSelect }: QueryPlanManagementProps) => JSX.Element;
17
+ export declare const QueryPlanManagement: ({ universeDetails, universeUuid, apiUrl, queryPlanData, dateTimeRange, isLoading, isRefetching, appName, showQueriesExport, onEChartsDateSelect }: QueryPlanManagementProps) => JSX.Element;
16
18
  export {};
@@ -0,0 +1,8 @@
1
+ interface BindVariablesCollection {
2
+ isCollectionEnabled: boolean;
3
+ isLoading: boolean;
4
+ isToggling: boolean;
5
+ toggle: (nextValue: boolean) => void;
6
+ }
7
+ export declare const useBindVariablesCollection: (universeUuid: string, apiUrl: string, enabled: boolean) => BindVariablesCollection;
8
+ export {};
@@ -45,9 +45,30 @@ interface GraphViewProps {
45
45
  * works with both legend isolation and native per-series toggle.
46
46
  */
47
47
  rescaleYAxisOnLegendToggle?: boolean;
48
+ /**
49
+ * When provided, an expand affordance is rendered in the graph header. Omit it
50
+ * (the default) to keep the header as-is.
51
+ */
52
+ onExpand?: () => void;
53
+ /**
54
+ * Marks this instance as the fullscreen copy rendered inside ExpandedChartModal:
55
+ * pixel grid insets, longer legend labels, DOM ids suffixed to avoid colliding
56
+ * with the in-grid copy, and container-driven (rather than clamped) sizing.
57
+ */
58
+ isExpanded?: boolean;
59
+ /** Explicit chart height in px. Defaults to the standard in-grid height. */
60
+ chartHeight?: number;
61
+ /**
62
+ * Header selector state. Supplying a value together with its change handler
63
+ * makes that selector controlled; GraphView otherwise owns it internally.
64
+ */
65
+ selectedMetricOperation?: string | null;
66
+ onMetricOperationChange?: (operation: string) => void;
67
+ selectedGroupByOperation?: string | null;
68
+ onGroupByOperationChange?: (operation: string) => void;
48
69
  registerChartInstance?: (instance: echarts.ECharts) => void;
49
70
  onEChartsDateSelect: (startDateTime: number, endDateTime: number) => void;
50
71
  onSelectAshLabel?: (groupBy: string, metricData: GraphResponse, isHistoricalQueryView?: boolean) => void;
51
72
  }
52
- export declare const GraphView: React.MemoExoticComponent<({ metricData, appName, metricKey, metricMeasure, operations, groupByOperations, anomalyData, height, isRecommendationGraph, timezone, graphTitle, graphType, queryData, dateTimeRange, isHistoricalQueryView, showTitle, loading, useStackedBars, enableLegendIsolation, rescaleYAxisOnLegendToggle, onEChartsDateSelect, onSelectAshLabel, registerChartInstance }: GraphViewProps) => JSX.Element>;
73
+ export declare const GraphView: React.MemoExoticComponent<({ metricData, appName, metricKey, metricMeasure, operations, groupByOperations, anomalyData, height, isRecommendationGraph, timezone, graphTitle, graphType, queryData, dateTimeRange, isHistoricalQueryView, showTitle, loading, useStackedBars, enableLegendIsolation, rescaleYAxisOnLegendToggle, onExpand, isExpanded, chartHeight, selectedMetricOperation: metricOperationProp, onMetricOperationChange, selectedGroupByOperation: groupByOperationProp, onGroupByOperationChange, onEChartsDateSelect, onSelectAshLabel, registerChartInstance }: GraphViewProps) => JSX.Element>;
53
74
  export {};
@@ -1,4 +1,10 @@
1
1
  import { AnomalyGroup, AppName, ClusterDetails, GraphRequestParams, UrlParams } from '../../../helpers/dtos';
2
+ interface FormattedMainGraph {
3
+ name: string;
4
+ index: number;
5
+ groupByControl: boolean;
6
+ displayName?: string;
7
+ }
2
8
  interface AnomalyRCAGraphsProps {
3
9
  appName: AppName;
4
10
  metricMeasure: string;
@@ -7,12 +13,7 @@ interface AnomalyRCAGraphsProps {
7
13
  anomalyData: AnomalyGroup;
8
14
  apiUrl: string;
9
15
  amomalyGraphRequestParams?: GraphRequestParams[] | null;
10
- formattedMainGraphs?: {
11
- name: string;
12
- index: number;
13
- groupByControl: boolean;
14
- displayName?: string;
15
- }[];
16
+ formattedMainGraphs?: FormattedMainGraph[];
16
17
  urlParams: UrlParams;
17
18
  dateTimeRange: {
18
19
  startDateTime: Date;
@@ -14,13 +14,14 @@ export interface UseAnomalyPreselectionParams {
14
14
  dateTimeRange: DateTimeRange;
15
15
  region: string;
16
16
  node: string;
17
- onClusterRegionSelected: (selection: ClusterRegionSelection) => void;
18
- onZoneNodeSelected: (selection: ZoneNodeSelection) => void;
17
+ hasUserScopeOverride: boolean;
18
+ applyClusterRegionSelection: (selection: ClusterRegionSelection) => void;
19
+ applyZoneNodeSelection: (selection: ZoneNodeSelection) => void;
19
20
  setMetricMeasure: Dispatch<SetStateAction<MetricMeasure>>;
20
21
  }
21
22
  /**
22
23
  * Applies all of an anomaly's initial-load pre-selections (affected node, affected region, and the
23
24
  * split/measure) to the page-level cluster-filter + metric-measure state.
24
25
  */
25
- export declare const useAnomalyPreselection: ({ viewConfig, anomalyGroupData, universeUuid, apiUrl, dateTimeRange, region, node, onClusterRegionSelected, onZoneNodeSelected, setMetricMeasure }: UseAnomalyPreselectionParams) => void;
26
+ export declare const useAnomalyPreselection: ({ viewConfig, anomalyGroupData, universeUuid, apiUrl, dateTimeRange, region, node, hasUserScopeOverride, applyClusterRegionSelection, applyZoneNodeSelection, setMetricMeasure }: UseAnomalyPreselectionParams) => void;
26
27
  export {};
@@ -23,8 +23,11 @@ export declare const useClusterFilterState: () => {
23
23
  zone: string;
24
24
  node: string;
25
25
  nodeType: NodeType;
26
- onClusterRegionSelected: ({ isCluster, isRegion, selectedOption, isPrimaryCluster, clusterUuid }: ClusterRegionSelection) => void;
27
- onZoneNodeSelected: ({ isZone, isNode, selectedOption, clusterUuid, isPrimaryCluster: isPrimary, showClusterTag }: ZoneNodeSelection) => void;
26
+ hasUserScopeOverride: boolean;
27
+ applyClusterRegionSelection: ({ isCluster, isRegion, selectedOption, isPrimaryCluster, clusterUuid }: ClusterRegionSelection) => void;
28
+ applyZoneNodeSelection: ({ isZone, isNode, selectedOption, clusterUuid, isPrimaryCluster: isPrimary, showClusterTag }: ZoneNodeSelection) => void;
29
+ onClusterRegionSelected: (selection: ClusterRegionSelection) => void;
30
+ onZoneNodeSelected: (selection: ZoneNodeSelection) => void;
28
31
  onNodeTypeSelected: (selection: NodeType) => void;
29
32
  resetFilters: () => void;
30
33
  };