@grafana/scenes 6.2.0--canary.1062.13565845216.0 → 6.2.0--canary.1062.13567734464.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.
|
@@ -21,14 +21,14 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
21
21
|
constructor(_variable) {
|
|
22
22
|
this._variable = _variable;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
getInjectedKey() {
|
|
25
|
+
return `var-injected-${this._variable.state.name}`;
|
|
26
|
+
}
|
|
27
|
+
getKey() {
|
|
28
28
|
return `var-${this._variable.state.name}`;
|
|
29
29
|
}
|
|
30
30
|
getKeys() {
|
|
31
|
-
return [this.getKey(), this.
|
|
31
|
+
return [this.getKey(), this.getInjectedKey()];
|
|
32
32
|
}
|
|
33
33
|
getUrlState() {
|
|
34
34
|
const filters = this._variable.state.filters;
|
|
@@ -51,11 +51,11 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
51
51
|
}
|
|
52
52
|
return __spreadValues({
|
|
53
53
|
[this.getKey()]: value
|
|
54
|
-
}, (baseFilters == null ? void 0 : baseFilters.length) ? { [this.
|
|
54
|
+
}, (baseFilters == null ? void 0 : baseFilters.length) ? { [this.getInjectedKey()]: baseValues } : {});
|
|
55
55
|
}
|
|
56
56
|
updateFromUrl(values) {
|
|
57
57
|
const urlValue = values[this.getKey()];
|
|
58
|
-
const urlValueBaseFilters = values[this.
|
|
58
|
+
const urlValueBaseFilters = values[this.getInjectedKey()];
|
|
59
59
|
if (urlValue == null && urlValueBaseFilters == null) {
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
@@ -72,7 +72,7 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
72
72
|
function deserializeUrlToFilters(value) {
|
|
73
73
|
if (Array.isArray(value)) {
|
|
74
74
|
const values = value;
|
|
75
|
-
return values.map(
|
|
75
|
+
return values.map(toFilter).filter(isFilter);
|
|
76
76
|
}
|
|
77
77
|
const filter = toFilter(value);
|
|
78
78
|
return filter === null ? [] : [filter];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdHocFiltersVariableUrlSyncHandler.js","sources":["../../../../src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.ts"],"sourcesContent":["import { SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues } from '../../core/types';\nimport {\n AdHocFiltersVariable,\n AdHocFilterWithLabels,\n isFilterComplete,\n isMultiValueOperator,\n} from './AdHocFiltersVariable';\nimport { escapeUrlPipeDelimiters, toUrlCommaDelimitedString, unescapeUrlDelimiters } from '../utils';\n\nexport class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHandler {\n public constructor(private _variable: AdHocFiltersVariable) {}\n\n private
|
|
1
|
+
{"version":3,"file":"AdHocFiltersVariableUrlSyncHandler.js","sources":["../../../../src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.ts"],"sourcesContent":["import { SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues } from '../../core/types';\nimport {\n AdHocFiltersVariable,\n AdHocFilterWithLabels,\n isFilterComplete,\n isMultiValueOperator,\n} from './AdHocFiltersVariable';\nimport { escapeUrlPipeDelimiters, toUrlCommaDelimitedString, unescapeUrlDelimiters } from '../utils';\n\nexport class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHandler {\n public constructor(private _variable: AdHocFiltersVariable) {}\n\n private getInjectedKey(): string {\n return `var-injected-${this._variable.state.name}`;\n }\n\n private getKey(): string {\n return `var-${this._variable.state.name}`;\n }\n\n public getKeys(): string[] {\n return [this.getKey(), this.getInjectedKey()];\n }\n\n public getUrlState(): SceneObjectUrlValues {\n const filters = this._variable.state.filters;\n const baseFilters = this._variable.state.baseFilters;\n\n let value = [''];\n let baseValues = [''];\n\n if (filters.length === 0 && baseFilters?.length === 0) {\n return { [this.getKey()]: value };\n }\n\n if (filters.length) {\n value = filters\n .filter(isFilterComplete)\n .filter((filter) => !filter.hidden)\n .map((filter) => toArray(filter).map(escapeUrlPipeDelimiters).join('|'));\n }\n\n if (baseFilters?.length) {\n baseValues = baseFilters\n ?.filter(isFilterComplete)\n .filter((filter) => !filter.hidden && filter.origin)\n .map((filter) =>\n toArray(filter)\n .map(escapeUrlPipeDelimiters)\n .join('|')\n .concat(`/${filter.originalValue?.map(escapeUrlPipeDelimiters).join('|') ?? ''}/${filter.origin}`)\n );\n }\n\n return {\n [this.getKey()]: value,\n ...(baseFilters?.length ? { [this.getInjectedKey()]: baseValues } : {}),\n };\n }\n\n public updateFromUrl(values: SceneObjectUrlValues): void {\n const urlValue = values[this.getKey()];\n const urlValueBaseFilters = values[this.getInjectedKey()];\n\n if (urlValue == null && urlValueBaseFilters == null) {\n return;\n }\n\n if (urlValue) {\n const filters = deserializeUrlToFilters(urlValue);\n this._variable.setState({ filters });\n }\n\n if (urlValueBaseFilters) {\n const baseFilters = deserializeUrlToFilters(urlValueBaseFilters);\n this._variable.setState({ baseFilters });\n }\n }\n}\n\nfunction deserializeUrlToFilters(value: SceneObjectUrlValue): AdHocFilterWithLabels[] {\n if (Array.isArray(value)) {\n const values = value;\n return values.map(toFilter).filter(isFilter);\n }\n\n const filter = toFilter(value);\n return filter === null ? [] : [filter];\n}\n\nfunction toArray(filter: AdHocFilterWithLabels): string[] {\n const result = [toUrlCommaDelimitedString(filter.key, filter.keyLabel), filter.operator];\n if (isMultiValueOperator(filter.operator)) {\n // TODO remove expect-error when we're on the latest version of @grafana/data\n // @ts-expect-error\n filter.values.forEach((value, index) => {\n result.push(toUrlCommaDelimitedString(value, filter.valueLabels?.[index]));\n });\n } else {\n result.push(toUrlCommaDelimitedString(filter.value, filter.valueLabels?.[0]));\n }\n return result;\n}\n\nfunction toFilter(urlValue: string | number | boolean | undefined | null): AdHocFilterWithLabels | null {\n if (typeof urlValue !== 'string' || urlValue.length === 0) {\n return null;\n }\n\n const [filter, originalValues, origin] = urlValue.split('/');\n\n const [key, keyLabel, operator, _operatorLabel, ...values] = filter\n .split('|')\n .reduce<string[]>((acc, v) => {\n const [key, label] = v.split(',');\n\n acc.push(key, label ?? key);\n\n return acc;\n }, [])\n .map(unescapeUrlDelimiters);\n\n return {\n key,\n keyLabel,\n operator,\n value: values[0],\n values: isMultiValueOperator(operator) ? values.filter((_, index) => index % 2 === 0) : undefined,\n valueLabels: values.filter((_, index) => index % 2 === 1),\n condition: '',\n origin: origin,\n originalValue: originalValues && originalValues.length ? originalValues.split('|') ?? [originalValues] : undefined,\n };\n}\n\nfunction isFilter(filter: AdHocFilterWithLabels | null): filter is AdHocFilterWithLabels {\n return filter !== null && typeof filter.key === 'string' && typeof filter.value === 'string';\n}\n"],"names":["_a","key"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -809,6 +809,7 @@ declare function escapeURLDelimiters(value: string | undefined): string;
|
|
|
809
809
|
declare class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHandler {
|
|
810
810
|
private _variable;
|
|
811
811
|
constructor(_variable: AdHocFiltersVariable);
|
|
812
|
+
private getInjectedKey;
|
|
812
813
|
private getKey;
|
|
813
814
|
getKeys(): string[];
|
|
814
815
|
getUrlState(): SceneObjectUrlValues;
|
package/dist/index.js
CHANGED
|
@@ -3943,14 +3943,14 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
3943
3943
|
constructor(_variable) {
|
|
3944
3944
|
this._variable = _variable;
|
|
3945
3945
|
}
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3946
|
+
getInjectedKey() {
|
|
3947
|
+
return `var-injected-${this._variable.state.name}`;
|
|
3948
|
+
}
|
|
3949
|
+
getKey() {
|
|
3950
3950
|
return `var-${this._variable.state.name}`;
|
|
3951
3951
|
}
|
|
3952
3952
|
getKeys() {
|
|
3953
|
-
return [this.getKey(), this.
|
|
3953
|
+
return [this.getKey(), this.getInjectedKey()];
|
|
3954
3954
|
}
|
|
3955
3955
|
getUrlState() {
|
|
3956
3956
|
const filters = this._variable.state.filters;
|
|
@@ -3973,11 +3973,11 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
3973
3973
|
}
|
|
3974
3974
|
return __spreadValues$E({
|
|
3975
3975
|
[this.getKey()]: value
|
|
3976
|
-
}, (baseFilters == null ? void 0 : baseFilters.length) ? { [this.
|
|
3976
|
+
}, (baseFilters == null ? void 0 : baseFilters.length) ? { [this.getInjectedKey()]: baseValues } : {});
|
|
3977
3977
|
}
|
|
3978
3978
|
updateFromUrl(values) {
|
|
3979
3979
|
const urlValue = values[this.getKey()];
|
|
3980
|
-
const urlValueBaseFilters = values[this.
|
|
3980
|
+
const urlValueBaseFilters = values[this.getInjectedKey()];
|
|
3981
3981
|
if (urlValue == null && urlValueBaseFilters == null) {
|
|
3982
3982
|
return;
|
|
3983
3983
|
}
|
|
@@ -3994,7 +3994,7 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
3994
3994
|
function deserializeUrlToFilters(value) {
|
|
3995
3995
|
if (Array.isArray(value)) {
|
|
3996
3996
|
const values = value;
|
|
3997
|
-
return values.map(
|
|
3997
|
+
return values.map(toFilter).filter(isFilter);
|
|
3998
3998
|
}
|
|
3999
3999
|
const filter = toFilter(value);
|
|
4000
4000
|
return filter === null ? [] : [filter];
|