@grafana/scenes 6.40.0--canary.1255.18001595104.0 → 6.40.0--canary.1272.18407272616.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/dist/esm/components/VizPanel/VizPanel.js +14 -15
- package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/layers/SceneDataLayerControls.js +13 -1
- package/dist/esm/querying/layers/SceneDataLayerControls.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +10 -10
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +6 -6
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +57 -55
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +5 -5
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +4 -4
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +4 -2
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/esm/variables/adhoc/controller/VariableBackedAdHocFiltersController.js +65 -0
- package/dist/esm/variables/adhoc/controller/VariableBackedAdHocFiltersController.js.map +1 -0
- package/dist/esm/variables/variants/CustomVariable.js +9 -4
- package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
- package/dist/esm/variables/variants/SwitchVariable.js +108 -0
- package/dist/esm/variables/variants/SwitchVariable.js.map +1 -0
- package/dist/esm/variables/variants/guards.js +4 -1
- package/dist/esm/variables/variants/guards.js.map +1 -1
- package/dist/index.d.ts +148 -4
- package/dist/index.js +308 -122
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
@@ -0,0 +1,108 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { of } from 'rxjs';
|
3
|
+
import { useStyles2, Switch } from '@grafana/ui';
|
4
|
+
import { css } from '@emotion/css';
|
5
|
+
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
6
|
+
import { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';
|
7
|
+
import { SceneVariableValueChangedEvent } from '../types.js';
|
8
|
+
|
9
|
+
class SwitchVariable extends SceneObjectBase {
|
10
|
+
constructor(initialState) {
|
11
|
+
super({
|
12
|
+
// TODO: remove this once switch is in the schema @leventebalogh
|
13
|
+
// @ts-expect-error - switch is a valid variable type, but not in the schema yet
|
14
|
+
type: "switch",
|
15
|
+
value: "false",
|
16
|
+
enabledValue: "true",
|
17
|
+
disabledValue: "false",
|
18
|
+
name: "",
|
19
|
+
...initialState
|
20
|
+
});
|
21
|
+
this._prevValue = "";
|
22
|
+
this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: () => this.getKeys() });
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* This function is called on when SceneVariableSet is activated or when a dependency changes.
|
26
|
+
*/
|
27
|
+
validateAndUpdate() {
|
28
|
+
const newValue = this.getValue();
|
29
|
+
if (this._prevValue !== newValue) {
|
30
|
+
this._prevValue = newValue;
|
31
|
+
this.publishEvent(new SceneVariableValueChangedEvent(this), true);
|
32
|
+
}
|
33
|
+
return of({});
|
34
|
+
}
|
35
|
+
setValue(newValue) {
|
36
|
+
if (this.getValue() === newValue) {
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
if ([this.state.enabledValue, this.state.disabledValue].includes(newValue)) {
|
40
|
+
this.setState({ value: newValue });
|
41
|
+
this.publishEvent(new SceneVariableValueChangedEvent(this), true);
|
42
|
+
} else {
|
43
|
+
console.error(
|
44
|
+
`Invalid value for switch variable: "${newValue}". Valid values are: "${this.state.enabledValue}" and "${this.state.disabledValue}".`
|
45
|
+
);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
getValue() {
|
49
|
+
return this.state.value;
|
50
|
+
}
|
51
|
+
isEnabled() {
|
52
|
+
return this.state.value === this.state.enabledValue;
|
53
|
+
}
|
54
|
+
isDisabled() {
|
55
|
+
return this.state.value === this.state.disabledValue;
|
56
|
+
}
|
57
|
+
getKey() {
|
58
|
+
return `var-${this.state.name}`;
|
59
|
+
}
|
60
|
+
getKeys() {
|
61
|
+
if (this.state.skipUrlSync) {
|
62
|
+
return [];
|
63
|
+
}
|
64
|
+
return [this.getKey()];
|
65
|
+
}
|
66
|
+
getUrlState() {
|
67
|
+
if (this.state.skipUrlSync) {
|
68
|
+
return {};
|
69
|
+
}
|
70
|
+
return { [this.getKey()]: this.state.value };
|
71
|
+
}
|
72
|
+
updateFromUrl(values) {
|
73
|
+
const val = values[this.getKey()];
|
74
|
+
if (typeof val === "string") {
|
75
|
+
this.setValue(val);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
}
|
79
|
+
SwitchVariable.Component = SwitchVariableRenderer;
|
80
|
+
function SwitchVariableRenderer({ model }) {
|
81
|
+
const state = model.useState();
|
82
|
+
const styles = useStyles2(getStyles);
|
83
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.container }, /* @__PURE__ */ React.createElement(
|
84
|
+
Switch,
|
85
|
+
{
|
86
|
+
value: state.value === state.enabledValue,
|
87
|
+
onChange: (event) => {
|
88
|
+
model.setValue(event.currentTarget.checked ? state.enabledValue : state.disabledValue);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
));
|
92
|
+
}
|
93
|
+
function getStyles(theme) {
|
94
|
+
return {
|
95
|
+
container: css({
|
96
|
+
display: "flex",
|
97
|
+
alignItems: "center",
|
98
|
+
padding: theme.spacing(0, 1),
|
99
|
+
height: theme.spacing(theme.components.height.md),
|
100
|
+
borderRadius: theme.shape.radius.default,
|
101
|
+
border: `1px solid ${theme.components.input.borderColor}`,
|
102
|
+
background: theme.colors.background.primary
|
103
|
+
})
|
104
|
+
};
|
105
|
+
}
|
106
|
+
|
107
|
+
export { SwitchVariable };
|
108
|
+
//# sourceMappingURL=SwitchVariable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SwitchVariable.js","sources":["../../../../src/variables/variants/SwitchVariable.tsx"],"sourcesContent":["import React from 'react';\nimport { Observable, of } from 'rxjs';\nimport { Switch, useStyles2 } from '@grafana/ui';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { css } from '@emotion/css';\nimport { SceneObjectBase } from '../../core/SceneObjectBase';\nimport { SceneComponentProps, SceneObjectUrlValues } from '../../core/types';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig';\nimport {\n SceneVariable,\n SceneVariableState,\n SceneVariableValueChangedEvent,\n ValidateAndUpdateResult,\n VariableValue,\n} from '../types';\n\nexport interface SwitchVariableState extends SceneVariableState {\n value: string;\n enabledValue: string;\n disabledValue: string;\n}\n\nexport class SwitchVariable extends SceneObjectBase<SwitchVariableState> implements SceneVariable<SwitchVariableState> {\n public static Component = SwitchVariableRenderer;\n private _prevValue: VariableValue = '';\n\n public constructor(initialState: Partial<SwitchVariableState>) {\n super({\n // TODO: remove this once switch is in the schema @leventebalogh\n // @ts-expect-error - switch is a valid variable type, but not in the schema yet\n type: 'switch',\n value: 'false',\n enabledValue: 'true',\n disabledValue: 'false',\n name: '',\n ...initialState,\n });\n\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: () => this.getKeys() });\n }\n\n /**\n * This function is called on when SceneVariableSet is activated or when a dependency changes.\n */\n public validateAndUpdate(): Observable<ValidateAndUpdateResult> {\n const newValue = this.getValue();\n\n if (this._prevValue !== newValue) {\n this._prevValue = newValue;\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n\n return of({});\n }\n\n public setValue(newValue: string): void {\n // Ignore if there's no change\n if (this.getValue() === newValue) {\n return;\n }\n\n if ([this.state.enabledValue, this.state.disabledValue].includes(newValue)) {\n this.setState({ value: newValue });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n } else {\n console.error(\n `Invalid value for switch variable: \"${newValue}\". Valid values are: \"${this.state.enabledValue}\" and \"${this.state.disabledValue}\".`\n );\n }\n }\n\n public getValue(): VariableValue {\n return this.state.value;\n }\n\n public isEnabled(): boolean {\n return this.state.value === this.state.enabledValue;\n }\n\n public isDisabled(): boolean {\n return this.state.value === this.state.disabledValue;\n }\n\n private getKey(): string {\n return `var-${this.state.name}`;\n }\n\n public getKeys(): string[] {\n if (this.state.skipUrlSync) {\n return [];\n }\n\n return [this.getKey()];\n }\n\n public getUrlState(): SceneObjectUrlValues {\n if (this.state.skipUrlSync) {\n return {};\n }\n\n return { [this.getKey()]: this.state.value };\n }\n\n public updateFromUrl(values: SceneObjectUrlValues): void {\n const val = values[this.getKey()];\n\n if (typeof val === 'string') {\n this.setValue(val);\n }\n }\n}\n\nfunction SwitchVariableRenderer({ model }: SceneComponentProps<SwitchVariable>) {\n const state = model.useState();\n const styles = useStyles2(getStyles);\n\n return (\n <div className={styles.container}>\n <Switch\n value={state.value === state.enabledValue}\n onChange={(event) => {\n model.setValue(event!.currentTarget.checked ? state.enabledValue : state.disabledValue);\n }}\n />\n </div>\n );\n}\n\nfunction getStyles(theme: GrafanaTheme2) {\n return {\n container: css({\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(0, 1),\n height: theme.spacing(theme.components.height.md),\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.components.input.borderColor}`,\n background: theme.colors.background.primary,\n }),\n };\n}\n"],"names":[],"mappings":"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"}
|
@@ -22,6 +22,9 @@ function isTextBoxVariable(variable) {
|
|
22
22
|
function isGroupByVariable(variable) {
|
23
23
|
return variable.state.type === "groupby";
|
24
24
|
}
|
25
|
+
function isSwitchVariable(variable) {
|
26
|
+
return variable.state.type === "switch";
|
27
|
+
}
|
25
28
|
|
26
|
-
export { isAdHocVariable, isConstantVariable, isCustomVariable, isDataSourceVariable, isGroupByVariable, isIntervalVariable, isQueryVariable, isTextBoxVariable };
|
29
|
+
export { isAdHocVariable, isConstantVariable, isCustomVariable, isDataSourceVariable, isGroupByVariable, isIntervalVariable, isQueryVariable, isSwitchVariable, isTextBoxVariable };
|
27
30
|
//# sourceMappingURL=guards.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"guards.js","sources":["../../../../src/variables/variants/guards.ts"],"sourcesContent":["import { AdHocFiltersVariable } from '../adhoc/AdHocFiltersVariable';\nimport { SceneVariable } from '../types';\nimport { ConstantVariable } from './ConstantVariable';\nimport { CustomVariable } from './CustomVariable';\nimport { DataSourceVariable } from './DataSourceVariable';\nimport { IntervalVariable } from './IntervalVariable';\nimport { TextBoxVariable } from './TextBoxVariable';\nimport { QueryVariable } from './query/QueryVariable';\nimport { GroupByVariable } from '../groupby/GroupByVariable';\n\nexport function isAdHocVariable(variable: SceneVariable): variable is AdHocFiltersVariable {\n return variable.state.type === 'adhoc';\n}\n\nexport function isConstantVariable(variable: SceneVariable): variable is ConstantVariable {\n return variable.state.type === 'constant';\n}\n\nexport function isCustomVariable(variable: SceneVariable): variable is CustomVariable {\n return variable.state.type === 'custom';\n}\n\nexport function isDataSourceVariable(variable: SceneVariable): variable is DataSourceVariable {\n return variable.state.type === 'datasource';\n}\n\nexport function isIntervalVariable(variable: SceneVariable): variable is IntervalVariable {\n return variable.state.type === 'interval';\n}\n\nexport function isQueryVariable(variable: SceneVariable): variable is QueryVariable {\n return variable.state.type === 'query';\n}\n\nexport function isTextBoxVariable(variable: SceneVariable): variable is TextBoxVariable {\n return variable.state.type === 'textbox';\n}\n\nexport function isGroupByVariable(variable: SceneVariable): variable is GroupByVariable {\n return variable.state.type === 'groupby';\n}\n"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"guards.js","sources":["../../../../src/variables/variants/guards.ts"],"sourcesContent":["import { AdHocFiltersVariable } from '../adhoc/AdHocFiltersVariable';\nimport { SceneVariable } from '../types';\nimport { ConstantVariable } from './ConstantVariable';\nimport { CustomVariable } from './CustomVariable';\nimport { DataSourceVariable } from './DataSourceVariable';\nimport { IntervalVariable } from './IntervalVariable';\nimport { TextBoxVariable } from './TextBoxVariable';\nimport { QueryVariable } from './query/QueryVariable';\nimport { GroupByVariable } from '../groupby/GroupByVariable';\nimport { SwitchVariable } from './SwitchVariable';\n\nexport function isAdHocVariable(variable: SceneVariable): variable is AdHocFiltersVariable {\n return variable.state.type === 'adhoc';\n}\n\nexport function isConstantVariable(variable: SceneVariable): variable is ConstantVariable {\n return variable.state.type === 'constant';\n}\n\nexport function isCustomVariable(variable: SceneVariable): variable is CustomVariable {\n return variable.state.type === 'custom';\n}\n\nexport function isDataSourceVariable(variable: SceneVariable): variable is DataSourceVariable {\n return variable.state.type === 'datasource';\n}\n\nexport function isIntervalVariable(variable: SceneVariable): variable is IntervalVariable {\n return variable.state.type === 'interval';\n}\n\nexport function isQueryVariable(variable: SceneVariable): variable is QueryVariable {\n return variable.state.type === 'query';\n}\n\nexport function isTextBoxVariable(variable: SceneVariable): variable is TextBoxVariable {\n return variable.state.type === 'textbox';\n}\n\nexport function isGroupByVariable(variable: SceneVariable): variable is GroupByVariable {\n return variable.state.type === 'groupby';\n}\n\nexport function isSwitchVariable(variable: SceneVariable): variable is SwitchVariable {\n // TODO: remove this once switch is in the schema @leventebalogh\n // @ts-expect-error - switch is a valid variable type, but not in the schema yet\n return variable.state.type === 'switch';\n}\n"],"names":[],"mappings":"AAWO,SAAS,gBAAgB,QAA2D,EAAA;AACzF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,OAAA;AACjC;AAEO,SAAS,mBAAmB,QAAuD,EAAA;AACxF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,UAAA;AACjC;AAEO,SAAS,iBAAiB,QAAqD,EAAA;AACpF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,QAAA;AACjC;AAEO,SAAS,qBAAqB,QAAyD,EAAA;AAC5F,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,YAAA;AACjC;AAEO,SAAS,mBAAmB,QAAuD,EAAA;AACxF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,UAAA;AACjC;AAEO,SAAS,gBAAgB,QAAoD,EAAA;AAClF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,OAAA;AACjC;AAEO,SAAS,kBAAkB,QAAsD,EAAA;AACtF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,SAAA;AACjC;AAEO,SAAS,kBAAkB,QAAsD,EAAA;AACtF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,SAAA;AACjC;AAEO,SAAS,iBAAiB,QAAqD,EAAA;AAGpF,EAAO,OAAA,QAAA,CAAS,MAAM,IAAS,KAAA,QAAA;AACjC;;;;"}
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as _grafana_data from '@grafana/data';
|
2
|
-
import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, GetTagResponse, MetricFindValue,
|
2
|
+
import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, SelectableValue, GetTagResponse, MetricFindValue, VariableRefresh as VariableRefresh$1, VariableSort, DrilldownsApplicability, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
|
3
3
|
import * as React$1 from 'react';
|
4
4
|
import React__default, { ComponentType, CSSProperties, PointerEvent, ForwardRefExoticComponent } from 'react';
|
5
5
|
import * as rxjs from 'rxjs';
|
@@ -404,7 +404,7 @@ declare class VizPanel<TOptions = {}, TFieldConfig extends {} = {}> extends Scen
|
|
404
404
|
onDescriptionChange: (description: string) => void;
|
405
405
|
onDisplayModeChange: (displayMode: 'default' | 'transparent') => void;
|
406
406
|
onToggleCollapse: (collapsed: boolean) => void;
|
407
|
-
onOptionsChange: (
|
407
|
+
onOptionsChange: (optionsUpdate: DeepPartial<TOptions>, replace?: boolean, isAfterPluginChange?: boolean) => void;
|
408
408
|
onFieldConfigChange: (fieldConfigUpdate: FieldConfigSource<DeepPartial<TFieldConfig>>, replace?: boolean) => void;
|
409
409
|
interpolate: InterpolateFunction;
|
410
410
|
getDescription: () => string;
|
@@ -1124,6 +1124,7 @@ interface CustomVariableState extends MultiValueVariableState {
|
|
1124
1124
|
declare class CustomVariable extends MultiValueVariable<CustomVariableState> {
|
1125
1125
|
protected _variableDependency: VariableDependencyConfig<CustomVariableState>;
|
1126
1126
|
constructor(initialState: Partial<CustomVariableState>);
|
1127
|
+
transformCsvStringToOptions(str: string, interpolate?: boolean): VariableValueOption[];
|
1127
1128
|
getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]>;
|
1128
1129
|
static Component: ({ model }: SceneComponentProps<MultiValueVariable>) => React__default.JSX.Element;
|
1129
1130
|
}
|
@@ -1285,6 +1286,30 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
|
|
1285
1286
|
}
|
1286
1287
|
declare function GroupByVariableRenderer({ model }: SceneComponentProps<GroupByVariable>): React__default.JSX.Element;
|
1287
1288
|
|
1289
|
+
interface SwitchVariableState extends SceneVariableState {
|
1290
|
+
value: string;
|
1291
|
+
enabledValue: string;
|
1292
|
+
disabledValue: string;
|
1293
|
+
}
|
1294
|
+
declare class SwitchVariable extends SceneObjectBase<SwitchVariableState> implements SceneVariable<SwitchVariableState> {
|
1295
|
+
static Component: typeof SwitchVariableRenderer;
|
1296
|
+
private _prevValue;
|
1297
|
+
constructor(initialState: Partial<SwitchVariableState>);
|
1298
|
+
/**
|
1299
|
+
* This function is called on when SceneVariableSet is activated or when a dependency changes.
|
1300
|
+
*/
|
1301
|
+
validateAndUpdate(): Observable<ValidateAndUpdateResult>;
|
1302
|
+
setValue(newValue: string): void;
|
1303
|
+
getValue(): VariableValue;
|
1304
|
+
isEnabled(): boolean;
|
1305
|
+
isDisabled(): boolean;
|
1306
|
+
private getKey;
|
1307
|
+
getKeys(): string[];
|
1308
|
+
getUrlState(): SceneObjectUrlValues;
|
1309
|
+
updateFromUrl(values: SceneObjectUrlValues): void;
|
1310
|
+
}
|
1311
|
+
declare function SwitchVariableRenderer({ model }: SceneComponentProps<SwitchVariable>): React__default.JSX.Element;
|
1312
|
+
|
1288
1313
|
declare function isAdHocVariable(variable: SceneVariable): variable is AdHocFiltersVariable;
|
1289
1314
|
declare function isConstantVariable(variable: SceneVariable): variable is ConstantVariable;
|
1290
1315
|
declare function isCustomVariable(variable: SceneVariable): variable is CustomVariable;
|
@@ -1293,6 +1318,7 @@ declare function isIntervalVariable(variable: SceneVariable): variable is Interv
|
|
1293
1318
|
declare function isQueryVariable(variable: SceneVariable): variable is QueryVariable;
|
1294
1319
|
declare function isTextBoxVariable(variable: SceneVariable): variable is TextBoxVariable;
|
1295
1320
|
declare function isGroupByVariable(variable: SceneVariable): variable is GroupByVariable;
|
1321
|
+
declare function isSwitchVariable(variable: SceneVariable): variable is SwitchVariable;
|
1296
1322
|
|
1297
1323
|
interface SceneObjectStateChangedPayload<TState extends SceneObjectState = SceneObjectState> {
|
1298
1324
|
prevState: TState;
|
@@ -2188,6 +2214,121 @@ declare class LocalValueVariable extends SceneObjectBase<LocalValueVariableState
|
|
2188
2214
|
isAncestorLoading(): boolean;
|
2189
2215
|
}
|
2190
2216
|
|
2217
|
+
/**
|
2218
|
+
* Controller state returned by useState hook
|
2219
|
+
*/
|
2220
|
+
interface AdHocFiltersControllerState {
|
2221
|
+
filters: AdHocFilterWithLabels[];
|
2222
|
+
originFilters?: AdHocFilterWithLabels[];
|
2223
|
+
readOnly?: boolean;
|
2224
|
+
allowCustomValue?: boolean;
|
2225
|
+
supportsMultiValueOperators?: boolean;
|
2226
|
+
onAddCustomValue?: OnAddCustomValueFn;
|
2227
|
+
wip?: AdHocFilterWithLabels;
|
2228
|
+
inputPlaceholder?: string;
|
2229
|
+
}
|
2230
|
+
/**
|
2231
|
+
* Controller interface for adhoc filters combobox UI.
|
2232
|
+
* Decouples the UI from AdHocFiltersVariable, allowing usage with or without a variable.
|
2233
|
+
*/
|
2234
|
+
interface AdHocFiltersController {
|
2235
|
+
/**
|
2236
|
+
* React hook to access controller state.
|
2237
|
+
* Components should call this to get current filters and configuration.
|
2238
|
+
*/
|
2239
|
+
useState(): AdHocFiltersControllerState;
|
2240
|
+
/**
|
2241
|
+
* Get possible keys given current filters.
|
2242
|
+
* @param currentKey - The key being edited (to exclude from filter context)
|
2243
|
+
*/
|
2244
|
+
getKeys(currentKey: string | null): Promise<Array<SelectableValue<string>>>;
|
2245
|
+
/**
|
2246
|
+
* Get possible values for a specific filter key.
|
2247
|
+
* @param filter - The filter to get values for
|
2248
|
+
*/
|
2249
|
+
getValuesFor(filter: AdHocFilterWithLabels): Promise<Array<SelectableValue<string>>>;
|
2250
|
+
/**
|
2251
|
+
* Get available operators based on configuration.
|
2252
|
+
*/
|
2253
|
+
getOperators(): Array<SelectableValue<string>>;
|
2254
|
+
/**
|
2255
|
+
* Update a filter with partial changes.
|
2256
|
+
* @param filter - The filter to update
|
2257
|
+
* @param update - Partial filter properties to update
|
2258
|
+
*/
|
2259
|
+
updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
|
2260
|
+
/**
|
2261
|
+
* Update a filter to match all values (=~ .*)
|
2262
|
+
* @param filter - The filter to update
|
2263
|
+
*/
|
2264
|
+
updateToMatchAll(filter: AdHocFilterWithLabels): void;
|
2265
|
+
/**
|
2266
|
+
* Remove a filter.
|
2267
|
+
* @param filter - The filter to remove
|
2268
|
+
*/
|
2269
|
+
removeFilter(filter: AdHocFilterWithLabels): void;
|
2270
|
+
/**
|
2271
|
+
* Remove the last filter in the list.
|
2272
|
+
*/
|
2273
|
+
removeLastFilter(): void;
|
2274
|
+
/**
|
2275
|
+
* Handle backspace key in combobox (removes filter or navigates to previous).
|
2276
|
+
* @param filter - The filter where backspace was pressed
|
2277
|
+
*/
|
2278
|
+
handleComboboxBackspace(filter: AdHocFilterWithLabels): void;
|
2279
|
+
/**
|
2280
|
+
* Add a new work-in-progress filter.
|
2281
|
+
*/
|
2282
|
+
addWip(): void;
|
2283
|
+
/**
|
2284
|
+
* Restore an origin filter to its original value.
|
2285
|
+
* @param filter - The filter to restore
|
2286
|
+
*/
|
2287
|
+
restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
|
2288
|
+
/**
|
2289
|
+
* Optional: Start profiling an interaction (for performance tracking).
|
2290
|
+
* @param name - The interaction name
|
2291
|
+
*/
|
2292
|
+
startProfile?(name: string): void;
|
2293
|
+
/**
|
2294
|
+
* Optional: Start tracking an interaction (for analytics).
|
2295
|
+
* @param name - The interaction name
|
2296
|
+
*/
|
2297
|
+
startInteraction?(name: string): void;
|
2298
|
+
/**
|
2299
|
+
* Optional: Stop tracking the current interaction.
|
2300
|
+
*/
|
2301
|
+
stopInteraction?(): void;
|
2302
|
+
}
|
2303
|
+
|
2304
|
+
/**
|
2305
|
+
* Adapter that wraps AdHocFiltersVariable to implement the AdHocFiltersController interface.
|
2306
|
+
* This allows the combobox UI to work with the variable while keeping the UI decoupled.
|
2307
|
+
*/
|
2308
|
+
declare class VariableBackedAdHocFiltersController implements AdHocFiltersController {
|
2309
|
+
private model;
|
2310
|
+
constructor(model: AdHocFiltersVariable);
|
2311
|
+
useState(): AdHocFiltersControllerState;
|
2312
|
+
getKeys(currentKey: string | null): Promise<Array<SelectableValue<string>>>;
|
2313
|
+
getValuesFor(filter: AdHocFilterWithLabels): Promise<Array<SelectableValue<string>>>;
|
2314
|
+
getOperators(): Array<SelectableValue<string>>;
|
2315
|
+
updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
|
2316
|
+
updateToMatchAll(filter: AdHocFilterWithLabels): void;
|
2317
|
+
removeFilter(filter: AdHocFilterWithLabels): void;
|
2318
|
+
removeLastFilter(): void;
|
2319
|
+
handleComboboxBackspace(filter: AdHocFilterWithLabels): void;
|
2320
|
+
addWip(): void;
|
2321
|
+
restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
|
2322
|
+
startProfile(name: string): void;
|
2323
|
+
startInteraction(name: string): void;
|
2324
|
+
stopInteraction(): void;
|
2325
|
+
}
|
2326
|
+
|
2327
|
+
interface Props$2 {
|
2328
|
+
controller: AdHocFiltersController;
|
2329
|
+
}
|
2330
|
+
declare const AdHocFiltersComboboxRenderer: React__default.NamedExoticComponent<Props$2>;
|
2331
|
+
|
2191
2332
|
declare function useUrlSync(sceneRoot: SceneObject, options?: SceneUrlSyncOptions): boolean;
|
2192
2333
|
|
2193
2334
|
interface UrlSyncContextProviderProps extends SceneUrlSyncOptions {
|
@@ -3178,6 +3319,8 @@ declare const loadResources: ResourceLoader;
|
|
3178
3319
|
|
3179
3320
|
|
3180
3321
|
|
3322
|
+
|
3323
|
+
|
3181
3324
|
|
3182
3325
|
|
3183
3326
|
|
@@ -3201,9 +3344,10 @@ declare const sceneUtils: {
|
|
3201
3344
|
isQueryVariable: typeof isQueryVariable;
|
3202
3345
|
isTextBoxVariable: typeof isTextBoxVariable;
|
3203
3346
|
isGroupByVariable: typeof isGroupByVariable;
|
3347
|
+
isSwitchVariable: typeof isSwitchVariable;
|
3204
3348
|
isRepeatCloneOrChildOf: typeof isRepeatCloneOrChildOf;
|
3205
3349
|
buildPathIdFor: typeof buildPathIdFor;
|
3206
3350
|
};
|
3207
3351
|
|
3208
|
-
export { AdHocFiltersVariable, 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, SceneRenderProfiler, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync };
|
3209
|
-
export type { AdHocFilterWithLabels, 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, SceneInteractionProfileEvent, 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, VariableValueSingle, VizConfig, VizPanelState };
|
3352
|
+
export { AdHocFiltersComboboxRenderer, AdHocFiltersVariable, 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, SceneRenderProfiler, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableBackedAdHocFiltersController, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync };
|
3353
|
+
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, SceneInteractionProfileEvent, 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, VariableValueSingle, VizConfig, VizPanelState };
|