@grafana/scenes 6.4.1 → 6.5.0--canary.1062.13950464645.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/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +12 -3
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +19 -5
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +118 -16
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +41 -9
- package/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js.map +1 -1
- package/dist/esm/variables/adhoc/getAdHocFiltersFromScopes.js.map +1 -1
- package/dist/esm/variables/utils.js +11 -1
- package/dist/esm/variables/utils.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +197 -31
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -3972,19 +3972,44 @@ class AdHocFiltersVariableUrlSyncHandler {
|
|
|
3972
3972
|
}
|
|
3973
3973
|
getUrlState() {
|
|
3974
3974
|
const filters = this._variable.state.filters;
|
|
3975
|
-
|
|
3975
|
+
const baseFilters = this._variable.state.baseFilters;
|
|
3976
|
+
let value = [];
|
|
3977
|
+
if (filters.length === 0 && (baseFilters == null ? void 0 : baseFilters.length) === 0) {
|
|
3976
3978
|
return { [this.getKey()]: [""] };
|
|
3977
3979
|
}
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
+
if (filters.length) {
|
|
3981
|
+
value.push(
|
|
3982
|
+
...filters.filter(isFilterComplete).filter((filter) => !filter.hidden).map((filter) => toArray(filter).map(escapeUrlPipeDelimiters).join("|"))
|
|
3983
|
+
);
|
|
3984
|
+
}
|
|
3985
|
+
if (baseFilters == null ? void 0 : baseFilters.length) {
|
|
3986
|
+
value.push(
|
|
3987
|
+
...baseFilters == null ? void 0 : baseFilters.filter(isFilterComplete).filter((filter) => !filter.hidden && filter.origin && filter.originalValue).map(
|
|
3988
|
+
(filter) => {
|
|
3989
|
+
var _a, _b;
|
|
3990
|
+
return toArray(filter).map(escapeInjectedFilterUrlDelimiters).join("|").concat(
|
|
3991
|
+
`#${(_b = (_a = filter.originalValue) == null ? void 0 : _a.map(escapeInjectedFilterUrlDelimiters).join("|")) != null ? _b : ""}#${filter.origin}`
|
|
3992
|
+
);
|
|
3993
|
+
}
|
|
3994
|
+
)
|
|
3995
|
+
);
|
|
3996
|
+
}
|
|
3997
|
+
return {
|
|
3998
|
+
[this.getKey()]: value.length ? value : [""]
|
|
3999
|
+
};
|
|
3980
4000
|
}
|
|
3981
4001
|
updateFromUrl(values) {
|
|
3982
4002
|
const urlValue = values[this.getKey()];
|
|
3983
4003
|
if (urlValue == null) {
|
|
3984
4004
|
return;
|
|
3985
4005
|
}
|
|
3986
|
-
|
|
3987
|
-
|
|
4006
|
+
if (urlValue) {
|
|
4007
|
+
const filters = deserializeUrlToFilters(urlValue);
|
|
4008
|
+
this._variable.setState({
|
|
4009
|
+
filters: filters.filter((f) => !f.origin),
|
|
4010
|
+
baseFilters: filters.filter((f) => f.origin)
|
|
4011
|
+
});
|
|
4012
|
+
}
|
|
3988
4013
|
}
|
|
3989
4014
|
}
|
|
3990
4015
|
function deserializeUrlToFilters(value) {
|
|
@@ -4009,10 +4034,12 @@ function toArray(filter) {
|
|
|
4009
4034
|
return result;
|
|
4010
4035
|
}
|
|
4011
4036
|
function toFilter(urlValue) {
|
|
4037
|
+
var _a;
|
|
4012
4038
|
if (typeof urlValue !== "string" || urlValue.length === 0) {
|
|
4013
4039
|
return null;
|
|
4014
4040
|
}
|
|
4015
|
-
const [
|
|
4041
|
+
const [filter, originalValues, origin] = urlValue.split("#");
|
|
4042
|
+
const [key, keyLabel, operator, _operatorLabel, ...values] = filter.split("|").reduce((acc, v) => {
|
|
4016
4043
|
const [key2, label] = v.split(",");
|
|
4017
4044
|
acc.push(key2, label != null ? label : key2);
|
|
4018
4045
|
return acc;
|
|
@@ -4024,9 +4051,14 @@ function toFilter(urlValue) {
|
|
|
4024
4051
|
value: values[0],
|
|
4025
4052
|
values: isMultiValueOperator(operator) ? values.filter((_, index) => index % 2 === 0) : void 0,
|
|
4026
4053
|
valueLabels: values.filter((_, index) => index % 2 === 1),
|
|
4027
|
-
condition: ""
|
|
4054
|
+
condition: "",
|
|
4055
|
+
origin: isFilterOrigin(origin) ? origin : void 0,
|
|
4056
|
+
originalValue: originalValues && originalValues.length ? (_a = originalValues.split("|")) != null ? _a : [originalValues] : void 0
|
|
4028
4057
|
};
|
|
4029
4058
|
}
|
|
4059
|
+
function isFilterOrigin(value) {
|
|
4060
|
+
return value === FilterOrigin.Scopes || value === FilterOrigin.Dashboards;
|
|
4061
|
+
}
|
|
4030
4062
|
function isFilter(filter) {
|
|
4031
4063
|
return filter !== null && typeof filter.key === "string" && typeof filter.value === "string";
|
|
4032
4064
|
}
|
|
@@ -4688,6 +4720,9 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4688
4720
|
return;
|
|
4689
4721
|
}
|
|
4690
4722
|
}
|
|
4723
|
+
if (filter == null ? void 0 : filter.origin) {
|
|
4724
|
+
return;
|
|
4725
|
+
}
|
|
4691
4726
|
setInputType("operator");
|
|
4692
4727
|
return;
|
|
4693
4728
|
}
|
|
@@ -4874,25 +4909,36 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4874
4909
|
className: styles.pillWrapper
|
|
4875
4910
|
}, (filter == null ? void 0 : filter.key) ? /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4876
4911
|
className: css.cx(styles.basePill, styles.keyPill)
|
|
4877
|
-
}, keyLabel) : null, (filter == null ? void 0 : filter.key) && (filter == null ? void 0 : filter.operator) && filterInputType !== "operator" ? /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4912
|
+
}, keyLabel) : null, (filter == null ? void 0 : filter.key) && (filter == null ? void 0 : filter.operator) && filterInputType !== "operator" ? /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$B({
|
|
4878
4913
|
id: operatorIdentifier,
|
|
4879
|
-
className: css.cx(
|
|
4880
|
-
|
|
4914
|
+
className: css.cx(
|
|
4915
|
+
styles.basePill,
|
|
4916
|
+
!filter.origin && styles.operatorPill,
|
|
4917
|
+
filter.origin && styles.keyPill,
|
|
4918
|
+
operatorIdentifier
|
|
4919
|
+
),
|
|
4881
4920
|
"aria-label": "Edit filter operator",
|
|
4882
|
-
tabIndex: 0,
|
|
4921
|
+
tabIndex: filter.origin ? -1 : 0,
|
|
4883
4922
|
onClick: (event) => {
|
|
4923
|
+
if (filter.origin) {
|
|
4924
|
+
handleChangeViewMode == null ? void 0 : handleChangeViewMode();
|
|
4925
|
+
return;
|
|
4926
|
+
}
|
|
4884
4927
|
event.stopPropagation();
|
|
4885
4928
|
setInputValue("");
|
|
4886
4929
|
switchInputType("operator", setInputType, void 0, refs.domReference.current);
|
|
4887
4930
|
},
|
|
4888
4931
|
onKeyDown: (event) => {
|
|
4932
|
+
if (filter.origin) {
|
|
4933
|
+
return;
|
|
4934
|
+
}
|
|
4889
4935
|
handleShiftTabInput(event, hasMultiValueOperator);
|
|
4890
4936
|
if (event.key === "Enter") {
|
|
4891
4937
|
setInputValue("");
|
|
4892
4938
|
switchInputType("operator", setInputType, void 0, refs.domReference.current);
|
|
4893
4939
|
}
|
|
4894
4940
|
}
|
|
4895
|
-
}, filter.operator) : null, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4941
|
+
}, !filter.origin && { role: "button" }), filter.operator) : null, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4896
4942
|
ref: multiValuePillWrapperRef
|
|
4897
4943
|
}), isMultiValueEdit ? filterMultiValues.map((item, i) => /* @__PURE__ */ React__default["default"].createElement(MultiValuePill, {
|
|
4898
4944
|
key: `${item.value}-${i}`,
|
|
@@ -5139,13 +5185,13 @@ function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
|
5139
5185
|
const handleChangeViewMode = React.useCallback(
|
|
5140
5186
|
(event, shouldFocusOnPillWrapperOverride) => {
|
|
5141
5187
|
event == null ? void 0 : event.stopPropagation();
|
|
5142
|
-
if (readOnly
|
|
5188
|
+
if (readOnly) {
|
|
5143
5189
|
return;
|
|
5144
5190
|
}
|
|
5145
5191
|
setShouldFocusOnPillWrapper(shouldFocusOnPillWrapperOverride != null ? shouldFocusOnPillWrapperOverride : !viewMode);
|
|
5146
5192
|
setViewMode(!viewMode);
|
|
5147
5193
|
},
|
|
5148
|
-
[readOnly, viewMode
|
|
5194
|
+
[readOnly, viewMode]
|
|
5149
5195
|
);
|
|
5150
5196
|
React.useEffect(() => {
|
|
5151
5197
|
var _a2;
|
|
@@ -5209,11 +5255,20 @@ function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
|
5209
5255
|
size: "md",
|
|
5210
5256
|
className: styles.pillIcon,
|
|
5211
5257
|
tooltip: `Remove filter with key ${keyLabel}`
|
|
5212
|
-
}) : null, filter.origin && /* @__PURE__ */ React__default["default"].createElement(ui.IconButton, {
|
|
5258
|
+
}) : null, filter.origin && !filter.originalValue && /* @__PURE__ */ React__default["default"].createElement(ui.IconButton, {
|
|
5213
5259
|
name: "info-circle",
|
|
5214
5260
|
size: "md",
|
|
5215
5261
|
className: styles.pillIcon,
|
|
5216
5262
|
tooltip: `This is a ${filter.origin} injected filter`
|
|
5263
|
+
}), filter.origin && filter.originalValue && /* @__PURE__ */ React__default["default"].createElement(ui.IconButton, {
|
|
5264
|
+
onClick: (e) => {
|
|
5265
|
+
e.stopPropagation();
|
|
5266
|
+
model.restoreOriginalFilter(filter);
|
|
5267
|
+
},
|
|
5268
|
+
name: "history",
|
|
5269
|
+
size: "md",
|
|
5270
|
+
className: styles.pillIcon,
|
|
5271
|
+
tooltip: `Restore filter to its original value`
|
|
5217
5272
|
}));
|
|
5218
5273
|
}
|
|
5219
5274
|
return /* @__PURE__ */ React__default["default"].createElement(AdHocCombobox, {
|
|
@@ -5478,14 +5533,17 @@ const OPERATORS = [
|
|
|
5478
5533
|
];
|
|
5479
5534
|
class AdHocFiltersVariable extends SceneObjectBase {
|
|
5480
5535
|
constructor(state) {
|
|
5481
|
-
var _a, _b;
|
|
5536
|
+
var _a, _b, _c, _d, _e;
|
|
5482
5537
|
super(__spreadValues$z({
|
|
5483
5538
|
type: "adhoc",
|
|
5484
5539
|
name: (_a = state.name) != null ? _a : "Filters",
|
|
5485
5540
|
filters: [],
|
|
5486
5541
|
datasource: null,
|
|
5487
5542
|
applyMode: "auto",
|
|
5488
|
-
filterExpression: (
|
|
5543
|
+
filterExpression: (_e = state.filterExpression) != null ? _e : renderExpression(state.expressionBuilder, [
|
|
5544
|
+
...(_c = (_b = state.baseFilters) == null ? void 0 : _b.filter((filter) => filter.origin)) != null ? _c : [],
|
|
5545
|
+
...(_d = state.filters) != null ? _d : []
|
|
5546
|
+
])
|
|
5489
5547
|
}, state));
|
|
5490
5548
|
this._scopedVars = { __sceneObject: wrapInSafeSerializableSceneObject(this) };
|
|
5491
5549
|
this._dataSourceSrv = runtime.getDataSourceSrv();
|
|
@@ -5498,18 +5556,44 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5498
5556
|
this._updateScopesFilters(scopes);
|
|
5499
5557
|
}
|
|
5500
5558
|
const sub = (_b = this._scopesBridge) == null ? void 0 : _b.subscribeToValue((n, _) => {
|
|
5501
|
-
|
|
5559
|
+
var _a2;
|
|
5560
|
+
this._updateScopesFilters(n, (_a2 = this._scopesBridge) == null ? void 0 : _a2.isLoading());
|
|
5502
5561
|
});
|
|
5503
5562
|
return () => {
|
|
5504
5563
|
sub == null ? void 0 : sub.unsubscribe();
|
|
5505
5564
|
};
|
|
5506
5565
|
};
|
|
5507
|
-
this._updateScopesFilters = (scopes) => {
|
|
5508
|
-
var _a
|
|
5509
|
-
const
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
|
|
5566
|
+
this._updateScopesFilters = (scopes, areScopesLoading) => {
|
|
5567
|
+
var _a;
|
|
5568
|
+
const scopeFilters = getAdHocFiltersFromScopes(scopes);
|
|
5569
|
+
if (!scopeFilters.length) {
|
|
5570
|
+
this._overwriteScopes = areScopesLoading;
|
|
5571
|
+
return;
|
|
5572
|
+
}
|
|
5573
|
+
let finalFilters = scopeFilters;
|
|
5574
|
+
const scopeInjectedFilters = [];
|
|
5575
|
+
const remainingFilters = [];
|
|
5576
|
+
(_a = this.state.baseFilters) == null ? void 0 : _a.forEach((filter) => {
|
|
5577
|
+
if (filter.origin === "scopes" /* Scopes */) {
|
|
5578
|
+
scopeInjectedFilters.push(filter);
|
|
5579
|
+
} else {
|
|
5580
|
+
remainingFilters.push(filter);
|
|
5581
|
+
}
|
|
5582
|
+
});
|
|
5583
|
+
if (!this._overwriteScopes) {
|
|
5584
|
+
const editedScopeFilters = scopeInjectedFilters.filter((filter) => {
|
|
5585
|
+
var _a2;
|
|
5586
|
+
return (_a2 = filter.originalValue) == null ? void 0 : _a2.length;
|
|
5587
|
+
});
|
|
5588
|
+
const editedScopeFilterKeys = editedScopeFilters.map((filter) => filter.key);
|
|
5589
|
+
const scopeFilterKeys = scopeFilters.map((filter) => filter.key);
|
|
5590
|
+
finalFilters = [
|
|
5591
|
+
...editedScopeFilters.filter((filter) => scopeFilterKeys.includes(filter.key)),
|
|
5592
|
+
...scopeFilters.filter((filter) => !editedScopeFilterKeys.includes(filter.key))
|
|
5593
|
+
];
|
|
5594
|
+
this._overwriteScopes = false;
|
|
5595
|
+
}
|
|
5596
|
+
const newFilters = [...remainingFilters, ...finalFilters];
|
|
5513
5597
|
this.setState({ baseFilters: newFilters });
|
|
5514
5598
|
};
|
|
5515
5599
|
if (this.state.applyMode === "auto") {
|
|
@@ -5518,9 +5602,15 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5518
5602
|
this.addActivationHandler(this._activationHandler);
|
|
5519
5603
|
}
|
|
5520
5604
|
setState(update) {
|
|
5605
|
+
var _a, _b, _c;
|
|
5521
5606
|
let filterExpressionChanged = false;
|
|
5522
|
-
if (update.filters && update.filters !== this.state.filters && !update.filterExpression) {
|
|
5523
|
-
update.
|
|
5607
|
+
if ((update.filters && update.filters !== this.state.filters || update.baseFilters && update.baseFilters !== this.state.baseFilters) && !update.filterExpression) {
|
|
5608
|
+
const filters = (_a = update.filters) != null ? _a : this.state.filters;
|
|
5609
|
+
const baseFilters = (_b = update.baseFilters) != null ? _b : this.state.baseFilters;
|
|
5610
|
+
update.filterExpression = renderExpression(this.state.expressionBuilder, [
|
|
5611
|
+
...(_c = baseFilters == null ? void 0 : baseFilters.filter((filter) => filter.origin)) != null ? _c : [],
|
|
5612
|
+
...filters != null ? filters : []
|
|
5613
|
+
]);
|
|
5524
5614
|
filterExpressionChanged = update.filterExpression !== this.state.filterExpression;
|
|
5525
5615
|
}
|
|
5526
5616
|
super.setState(update);
|
|
@@ -5529,10 +5619,14 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5529
5619
|
}
|
|
5530
5620
|
}
|
|
5531
5621
|
updateFilters(filters, options) {
|
|
5622
|
+
var _a, _b;
|
|
5532
5623
|
let filterExpressionChanged = false;
|
|
5533
5624
|
let filterExpression = void 0;
|
|
5534
5625
|
if (filters && filters !== this.state.filters) {
|
|
5535
|
-
filterExpression = renderExpression(this.state.expressionBuilder,
|
|
5626
|
+
filterExpression = renderExpression(this.state.expressionBuilder, [
|
|
5627
|
+
...(_b = (_a = this.state.baseFilters) == null ? void 0 : _a.filter((filter) => filter.origin)) != null ? _b : [],
|
|
5628
|
+
...filters
|
|
5629
|
+
]);
|
|
5536
5630
|
filterExpressionChanged = filterExpression !== this.state.filterExpression;
|
|
5537
5631
|
}
|
|
5538
5632
|
super.setState({
|
|
@@ -5543,11 +5637,40 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5543
5637
|
this.publishEvent(new SceneVariableValueChangedEvent(this), true);
|
|
5544
5638
|
}
|
|
5545
5639
|
}
|
|
5640
|
+
restoreOriginalFilter(filter) {
|
|
5641
|
+
var _a;
|
|
5642
|
+
const original = {
|
|
5643
|
+
originalValue: void 0
|
|
5644
|
+
};
|
|
5645
|
+
if ((_a = filter.originalValue) == null ? void 0 : _a.length) {
|
|
5646
|
+
original.value = filter.originalValue[0];
|
|
5647
|
+
original.values = filter.originalValue;
|
|
5648
|
+
original.valueLabels = filter.originalValue;
|
|
5649
|
+
}
|
|
5650
|
+
this._updateFilter(filter, original);
|
|
5651
|
+
}
|
|
5546
5652
|
getValue() {
|
|
5547
5653
|
return this.state.filterExpression;
|
|
5548
5654
|
}
|
|
5549
5655
|
_updateFilter(filter, update) {
|
|
5550
|
-
|
|
5656
|
+
var _a;
|
|
5657
|
+
const { baseFilters, filters, _wip } = this.state;
|
|
5658
|
+
if (filter.origin) {
|
|
5659
|
+
const currentValues = filter.values ? filter.values : [filter.value];
|
|
5660
|
+
const updateValues = update.values || (update.value ? [update.value] : void 0);
|
|
5661
|
+
const originalValueOverride = update.hasOwnProperty("originalValue");
|
|
5662
|
+
if (!originalValueOverride && updateValues && !filter.originalValue && !lodash.isEqual(currentValues, updateValues)) {
|
|
5663
|
+
update.originalValue = currentValues;
|
|
5664
|
+
}
|
|
5665
|
+
if (!originalValueOverride && lodash.isEqual(updateValues, filter.originalValue)) {
|
|
5666
|
+
update.originalValue = void 0;
|
|
5667
|
+
}
|
|
5668
|
+
const updatedBaseFilters = (_a = baseFilters == null ? void 0 : baseFilters.map((f) => {
|
|
5669
|
+
return f === filter ? __spreadValues$z(__spreadValues$z({}, f), update) : f;
|
|
5670
|
+
})) != null ? _a : [];
|
|
5671
|
+
this.setState({ baseFilters: updatedBaseFilters });
|
|
5672
|
+
return;
|
|
5673
|
+
}
|
|
5551
5674
|
if (filter === _wip) {
|
|
5552
5675
|
if ("value" in update && update["value"] !== "") {
|
|
5553
5676
|
this.setState({ filters: [...filters, __spreadValues$z(__spreadValues$z({}, _wip), update)], _wip: void 0 });
|
|
@@ -5575,6 +5698,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5575
5698
|
}
|
|
5576
5699
|
}
|
|
5577
5700
|
_handleComboboxBackspace(filter) {
|
|
5701
|
+
var _a;
|
|
5578
5702
|
if (this.state.filters.length) {
|
|
5579
5703
|
let filterToForceIndex = this.state.filters.length - 1;
|
|
5580
5704
|
if (filter !== this.state._wip) {
|
|
@@ -5596,6 +5720,27 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5596
5720
|
return [...acc, f];
|
|
5597
5721
|
}, [])
|
|
5598
5722
|
});
|
|
5723
|
+
} else if ((_a = this.state.baseFilters) == null ? void 0 : _a.length) {
|
|
5724
|
+
let filterToForceIndex = this.state.baseFilters.length - 1;
|
|
5725
|
+
if (filter !== this.state._wip) {
|
|
5726
|
+
filterToForceIndex = -1;
|
|
5727
|
+
}
|
|
5728
|
+
this.setState({
|
|
5729
|
+
baseFilters: this.state.baseFilters.reduce((acc, f, index) => {
|
|
5730
|
+
if (index === filterToForceIndex) {
|
|
5731
|
+
return [
|
|
5732
|
+
...acc,
|
|
5733
|
+
__spreadProps$n(__spreadValues$z({}, f), {
|
|
5734
|
+
forceEdit: true
|
|
5735
|
+
})
|
|
5736
|
+
];
|
|
5737
|
+
}
|
|
5738
|
+
if (f === filter) {
|
|
5739
|
+
return acc;
|
|
5740
|
+
}
|
|
5741
|
+
return [...acc, f];
|
|
5742
|
+
}, [])
|
|
5743
|
+
});
|
|
5599
5744
|
}
|
|
5600
5745
|
}
|
|
5601
5746
|
async _getKeys(currentKey) {
|
|
@@ -5634,7 +5779,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5634
5779
|
return keys.map(toSelectableValue);
|
|
5635
5780
|
}
|
|
5636
5781
|
async _getValuesFor(filter) {
|
|
5637
|
-
var _a, _b, _c, _d;
|
|
5782
|
+
var _a, _b, _c, _d, _e;
|
|
5638
5783
|
const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));
|
|
5639
5784
|
if (override && override.replace) {
|
|
5640
5785
|
return dataFromResponse(override.values).map(toSelectableValue);
|
|
@@ -5643,15 +5788,26 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5643
5788
|
if (!ds || !ds.getTagValues) {
|
|
5644
5789
|
return [];
|
|
5645
5790
|
}
|
|
5646
|
-
const
|
|
5791
|
+
const filteredBaseFilters = (_d = (_c = this.state.baseFilters) == null ? void 0 : _c.filter((f) => f.origin && f.key !== filter.key)) != null ? _d : [];
|
|
5792
|
+
const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat(filteredBaseFilters);
|
|
5647
5793
|
const timeRange = sceneGraph.getTimeRange(this).state.value;
|
|
5648
5794
|
const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
|
|
5795
|
+
let scopes = (_e = this._scopesBridge) == null ? void 0 : _e.getValue();
|
|
5796
|
+
if (filter.origin === "scopes" /* Scopes */) {
|
|
5797
|
+
scopes = scopes == null ? void 0 : scopes.map((scope) => {
|
|
5798
|
+
return __spreadProps$n(__spreadValues$z({}, scope), {
|
|
5799
|
+
spec: __spreadProps$n(__spreadValues$z({}, scope.spec), {
|
|
5800
|
+
filters: scope.spec.filters.filter((f) => f.key !== filter.key)
|
|
5801
|
+
})
|
|
5802
|
+
});
|
|
5803
|
+
});
|
|
5804
|
+
}
|
|
5649
5805
|
const response = await ds.getTagValues(__spreadValues$z({
|
|
5650
5806
|
key: filter.key,
|
|
5651
5807
|
filters: otherFilters,
|
|
5652
5808
|
timeRange,
|
|
5653
5809
|
queries,
|
|
5654
|
-
scopes
|
|
5810
|
+
scopes
|
|
5655
5811
|
}, getEnrichedFiltersRequest(this)));
|
|
5656
5812
|
if (responseHasError(response)) {
|
|
5657
5813
|
this.setState({ error: response.error.message });
|
|
@@ -6370,6 +6526,15 @@ function escapeUrlCommaDelimiters(value) {
|
|
|
6370
6526
|
}
|
|
6371
6527
|
return /,/g[Symbol.replace](value, "__gfc__");
|
|
6372
6528
|
}
|
|
6529
|
+
function escapeUrlHashDelimiters(value) {
|
|
6530
|
+
if (value === null || value === void 0) {
|
|
6531
|
+
return "";
|
|
6532
|
+
}
|
|
6533
|
+
return /#/g[Symbol.replace](value, "__gfh__");
|
|
6534
|
+
}
|
|
6535
|
+
function escapeInjectedFilterUrlDelimiters(value) {
|
|
6536
|
+
return escapeUrlHashDelimiters(escapeUrlPipeDelimiters(value));
|
|
6537
|
+
}
|
|
6373
6538
|
function escapeURLDelimiters(value) {
|
|
6374
6539
|
return escapeUrlCommaDelimiters(escapeUrlPipeDelimiters(value));
|
|
6375
6540
|
}
|
|
@@ -6379,6 +6544,7 @@ function unescapeUrlDelimiters(value) {
|
|
|
6379
6544
|
}
|
|
6380
6545
|
value = /__gfp__/g[Symbol.replace](value, "|");
|
|
6381
6546
|
value = /__gfc__/g[Symbol.replace](value, ",");
|
|
6547
|
+
value = /__gfh__/g[Symbol.replace](value, "#");
|
|
6382
6548
|
return value;
|
|
6383
6549
|
}
|
|
6384
6550
|
function toUrlCommaDelimitedString(key, label) {
|