@grafana/scenes 6.42.3--canary.1294.18971111328.0 → 6.43.0--canary.1278.18972704866.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/index.js CHANGED
@@ -3585,23 +3585,29 @@ class GroupByVariable extends MultiValueVariable {
3585
3585
  });
3586
3586
  return applicableValues;
3587
3587
  }
3588
- async _verifyApplicability() {
3588
+ async getGroupByApplicabilityForQueries(value, queries) {
3589
3589
  const ds = await getDataSource(this.state.datasource, {
3590
3590
  __sceneObject: wrapInSafeSerializableSceneObject(this)
3591
3591
  });
3592
3592
  if (!ds.getDrilldownsApplicability) {
3593
3593
  return;
3594
3594
  }
3595
- const queries = getQueriesForVariables(this);
3596
3595
  const timeRange = sceneGraph.getTimeRange(this).state.value;
3597
- const value = this.state.value;
3598
- const response = await ds.getDrilldownsApplicability({
3596
+ return await ds.getDrilldownsApplicability({
3599
3597
  groupByKeys: Array.isArray(value) ? value.map((v) => String(v)) : value ? [String(value)] : [],
3600
3598
  queries,
3601
3599
  timeRange,
3602
3600
  scopes: sceneGraph.getScopes(this),
3603
3601
  ...getEnrichedFiltersRequest(this)
3604
3602
  });
3603
+ }
3604
+ async _verifyApplicability() {
3605
+ const queries = getQueriesForVariables(this);
3606
+ const value = this.state.value;
3607
+ const response = await this.getGroupByApplicabilityForQueries(value, queries);
3608
+ if (!response) {
3609
+ return;
3610
+ }
3605
3611
  if (!lodash.isEqual(response, this.state.keysApplicability)) {
3606
3612
  this.setState({ keysApplicability: response != null ? response : void 0 });
3607
3613
  this.publishEvent(new SceneVariableValueChangedEvent(this), true);
@@ -3949,6 +3955,7 @@ function VizPanelRenderer({ model }) {
3949
3955
  hoverHeaderOffset,
3950
3956
  menu,
3951
3957
  headerActions,
3958
+ subHeader,
3952
3959
  titleItems,
3953
3960
  seriesLimit,
3954
3961
  seriesLimitShowAll,
@@ -4013,6 +4020,20 @@ function VizPanelRenderer({ model }) {
4013
4020
  if (dataObject && dataObject.setContainerWidth) {
4014
4021
  dataObject.setContainerWidth(Math.round(width));
4015
4022
  }
4023
+ let subHeaderElement = [];
4024
+ if (subHeader) {
4025
+ if (Array.isArray(subHeader)) {
4026
+ subHeaderElement = subHeaderElement.concat(
4027
+ subHeader.map((subHeaderItem) => {
4028
+ return /* @__PURE__ */ React__default.default.createElement(subHeaderItem.Component, { model: subHeaderItem, key: `${subHeaderItem.state.key}` });
4029
+ })
4030
+ );
4031
+ } else if (isSceneObject(subHeader)) {
4032
+ subHeaderElement.push(/* @__PURE__ */ React__default.default.createElement(subHeader.Component, { model: subHeader }));
4033
+ } else {
4034
+ subHeaderElement.push(subHeader);
4035
+ }
4036
+ }
4016
4037
  let titleItemsElement = [];
4017
4038
  if (titleItems) {
4018
4039
  if (Array.isArray(titleItems)) {
@@ -4086,8 +4107,7 @@ function VizPanelRenderer({ model }) {
4086
4107
  const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;
4087
4108
  const context = model.getPanelContext();
4088
4109
  const panelId = model.getLegacyPanelId();
4089
- return /* @__PURE__ */ React__default.default.createElement("div", { className: relativeWrapper }, /* @__PURE__ */ React__default.default.createElement("div", { ref, className: absoluteWrapper, "data-viz-panel-key": model.state.key }, width > 0 && height > 0 && // @ts-expect-error showMenuAlways remove when updating to @grafana/ui@12 fixed in https://github.com/grafana/grafana/pull/103553
4090
- /* @__PURE__ */ React__default.default.createElement(
4110
+ return /* @__PURE__ */ React__default.default.createElement("div", { className: relativeWrapper }, /* @__PURE__ */ React__default.default.createElement("div", { ref, className: absoluteWrapper, "data-viz-panel-key": model.state.key }, width > 0 && height > 0 && /* @__PURE__ */ React__default.default.createElement(
4091
4111
  ui.PanelChrome,
4092
4112
  {
4093
4113
  title: titleInterpolated,
@@ -4109,6 +4129,7 @@ function VizPanelRenderer({ model }) {
4109
4129
  onFocus: setPanelAttention,
4110
4130
  onMouseEnter: setPanelAttention,
4111
4131
  onMouseMove: debouncedMouseMove,
4132
+ subHeaderContent: subHeaderElement.length ? subHeaderElement : void 0,
4112
4133
  onDragStart: (e) => {
4113
4134
  var _a2;
4114
4135
  (_a2 = dragHooks.onDragStart) == null ? void 0 : _a2.call(dragHooks, e, model);
@@ -8118,25 +8139,28 @@ class AdHocFiltersVariable extends SceneObjectBase {
8118
8139
  });
8119
8140
  }
8120
8141
  }
8121
- async _verifyApplicability() {
8122
- var _a, _b, _c;
8123
- const filters = [...this.state.filters, ...(_a = this.state.originFilters) != null ? _a : []];
8142
+ async getFiltersApplicabilityForQueries(filters, queries) {
8124
8143
  const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
8125
8144
  if (!ds || !ds.getDrilldownsApplicability) {
8126
8145
  return;
8127
8146
  }
8128
- if (!filters) {
8129
- return;
8130
- }
8131
8147
  const timeRange = sceneGraph.getTimeRange(this).state.value;
8132
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
8133
- const response = await ds.getDrilldownsApplicability({
8148
+ return await ds.getDrilldownsApplicability({
8134
8149
  filters,
8135
8150
  queries,
8136
8151
  timeRange,
8137
8152
  scopes: sceneGraph.getScopes(this),
8138
8153
  ...getEnrichedFiltersRequest(this)
8139
8154
  });
8155
+ }
8156
+ async _verifyApplicability() {
8157
+ var _a, _b, _c;
8158
+ const filters = [...this.state.filters, ...(_a = this.state.originFilters) != null ? _a : []];
8159
+ const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
8160
+ const response = await this.getFiltersApplicabilityForQueries(filters, queries != null ? queries : []);
8161
+ if (!response) {
8162
+ return;
8163
+ }
8140
8164
  const responseMap = /* @__PURE__ */ new Map();
8141
8165
  response.forEach((filter) => {
8142
8166
  responseMap.set(`${filter.key}${filter.origin ? `-${filter.origin}` : ""}`, filter);
@@ -12282,98 +12306,6 @@ IntervalVariable.Component = ({ model }) => {
12282
12306
  );
12283
12307
  };
12284
12308
 
12285
- class ExperimentalIntervalVariable extends SceneObjectBase {
12286
- constructor(initialState) {
12287
- super({
12288
- type: "interval",
12289
- value: "",
12290
- intervals: ["1m", "10m", "30m", "1h", "6h", "12h", "1d", "7d", "14d", "30d"],
12291
- name: "",
12292
- autoStepCount: 30,
12293
- autoMinInterval: "10s",
12294
- autoEnabled: false,
12295
- refresh: schema.VariableRefresh.onTimeRangeChanged,
12296
- ...initialState
12297
- });
12298
- this._onChange = (value) => {
12299
- this.setState({ value: value.value });
12300
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
12301
- };
12302
- this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: () => [this.getKey()] });
12303
- }
12304
- getKey() {
12305
- return `var-${this.state.name}`;
12306
- }
12307
- getUrlState() {
12308
- return { [this.getKey()]: this.state.value };
12309
- }
12310
- updateFromUrl(values) {
12311
- const update = {};
12312
- const val = values[this.getKey()];
12313
- if (typeof val === "string") {
12314
- if (val.startsWith("$__auto_interval_")) {
12315
- update.value = AUTO_VARIABLE_VALUE;
12316
- } else {
12317
- update.value = val;
12318
- }
12319
- }
12320
- this.setState(update);
12321
- }
12322
- getOptionsForSelect() {
12323
- const { value: currentValue, intervals, autoEnabled } = this.state;
12324
- let options = intervals.map((interval) => ({ value: interval, label: interval }));
12325
- if (autoEnabled) {
12326
- options = [{ value: AUTO_VARIABLE_VALUE, label: AUTO_VARIABLE_TEXT }, ...options];
12327
- }
12328
- if (currentValue && !options.some((option) => option.value === currentValue)) {
12329
- options.push({ value: currentValue, label: currentValue });
12330
- }
12331
- return options;
12332
- }
12333
- getValue() {
12334
- const { value, autoStepCount, autoMinInterval } = this.state;
12335
- if (value === AUTO_VARIABLE_VALUE) {
12336
- return this.getAutoRefreshInteval(autoStepCount, autoMinInterval);
12337
- }
12338
- return value;
12339
- }
12340
- getAutoRefreshInteval(autoStepCount, minRefreshInterval) {
12341
- const timeRange = sceneGraph.getTimeRange(this).state.value;
12342
- const intervalObject = data.rangeUtil.calculateInterval(timeRange, autoStepCount, minRefreshInterval);
12343
- return intervalObject.interval;
12344
- }
12345
- validateAndUpdate() {
12346
- const { value, intervals } = this.state;
12347
- let shouldPublish = false;
12348
- if (value === AUTO_VARIABLE_VALUE) {
12349
- shouldPublish = true;
12350
- } else if (!value && intervals.length > 0) {
12351
- const firstOption = intervals[0];
12352
- this.setState({ value: firstOption });
12353
- shouldPublish = true;
12354
- }
12355
- if (shouldPublish) {
12356
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
12357
- }
12358
- return rxjs.of({});
12359
- }
12360
- }
12361
- ExperimentalIntervalVariable.Component = ({ model }) => {
12362
- const { key, value } = model.useState();
12363
- return /* @__PURE__ */ React__default.default.createElement(
12364
- ui.Combobox,
12365
- {
12366
- id: key,
12367
- placeholder: i18n.t("grafana-scenes.variables.interval-variable.placeholder-select-value", "Select value"),
12368
- value,
12369
- options: model.getOptionsForSelect(),
12370
- onChange: model._onChange,
12371
- width: "auto",
12372
- minWidth: 32
12373
- }
12374
- );
12375
- };
12376
-
12377
12309
  var __typeError = (msg) => {
12378
12310
  throw TypeError(msg);
12379
12311
  };
@@ -16193,7 +16125,6 @@ exports.CustomVariable = CustomVariable;
16193
16125
  exports.DataProviderProxy = DataProviderProxy;
16194
16126
  exports.DataSourceVariable = DataSourceVariable;
16195
16127
  exports.EmbeddedScene = EmbeddedScene;
16196
- exports.ExperimentalIntervalVariable = ExperimentalIntervalVariable;
16197
16128
  exports.FieldConfigBuilder = FieldConfigBuilder;
16198
16129
  exports.FieldConfigBuilders = FieldConfigBuilders;
16199
16130
  exports.FieldConfigOverridesBuilder = FieldConfigOverridesBuilder;