@grafana/scenes 0.0.32 → 0.1.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.d.ts CHANGED
@@ -131,7 +131,7 @@ interface SceneObject<TState extends SceneObjectState = SceneObjectState> {
131
131
  /** This abtractions declares what variables the scene object depends on and how to handle when they change value. **/
132
132
  readonly variableDependency?: SceneVariableDependencyConfigLike;
133
133
  /** This abstraction declares URL sync dependencies of a scene object. **/
134
- readonly urlSync?: SceneObjectUrlSyncHandler<TState>;
134
+ readonly urlSync?: SceneObjectUrlSyncHandler;
135
135
  /** Subscribe to state changes */
136
136
  subscribeToState(handler: SceneStateChangedHandler<TState>): Unsubscribable;
137
137
  /** Subscribe to a scene event */
@@ -191,13 +191,13 @@ interface SceneObjectRef {
191
191
  ref: SceneObject;
192
192
  }
193
193
  declare function isSceneObject(obj: any): obj is SceneObject;
194
- interface SceneObjectWithUrlSync<TState> extends SceneObject {
195
- getUrlState(state: TState): SceneObjectUrlValues;
194
+ interface SceneObjectWithUrlSync extends SceneObject {
195
+ getUrlState(): SceneObjectUrlValues;
196
196
  updateFromUrl(values: SceneObjectUrlValues): void;
197
197
  }
198
- interface SceneObjectUrlSyncHandler<TState> {
198
+ interface SceneObjectUrlSyncHandler {
199
199
  getKeys(): string[];
200
- getUrlState(state: TState): SceneObjectUrlValues;
200
+ getUrlState(): SceneObjectUrlValues;
201
201
  updateFromUrl(values: SceneObjectUrlValues): void;
202
202
  }
203
203
  type SceneObjectUrlValue = string | string[] | undefined | null;
@@ -269,7 +269,7 @@ declare abstract class SceneObjectBase<TState extends SceneObjectState = SceneOb
269
269
  protected _parent?: SceneObject;
270
270
  protected _subs: Subscription;
271
271
  protected _variableDependency: SceneVariableDependencyConfigLike | undefined;
272
- protected _urlSync: SceneObjectUrlSyncHandler<TState> | undefined;
272
+ protected _urlSync: SceneObjectUrlSyncHandler | undefined;
273
273
  constructor(state: TState);
274
274
  /** Current state */
275
275
  get state(): TState;
@@ -280,7 +280,7 @@ declare abstract class SceneObjectBase<TState extends SceneObjectState = SceneOb
280
280
  /** Returns variable dependency config */
281
281
  get variableDependency(): SceneVariableDependencyConfigLike | undefined;
282
282
  /** Returns url sync config */
283
- get urlSync(): SceneObjectUrlSyncHandler<TState> | undefined;
283
+ get urlSync(): SceneObjectUrlSyncHandler | undefined;
284
284
  /**
285
285
  * Used in render functions when rendering a SceneObject.
286
286
  * Wraps the component in an EditWrapper that handles edit mode
@@ -334,21 +334,21 @@ declare class SceneDataNode extends SceneObjectBase<SceneDataNodeState> implemen
334
334
  interface SceneObjectUrlSyncConfigOptions {
335
335
  keys: string[];
336
336
  }
337
- declare class SceneObjectUrlSyncConfig<TState extends SceneObjectState> implements SceneObjectUrlSyncHandler<TState> {
337
+ declare class SceneObjectUrlSyncConfig implements SceneObjectUrlSyncHandler {
338
338
  private _sceneObject;
339
339
  private _keys;
340
- constructor(_sceneObject: SceneObjectWithUrlSync<TState>, _options: SceneObjectUrlSyncConfigOptions);
340
+ constructor(_sceneObject: SceneObjectWithUrlSync, _options: SceneObjectUrlSyncConfigOptions);
341
341
  getKeys(): string[];
342
- getUrlState(state: TState): SceneObjectUrlValues;
342
+ getUrlState(): SceneObjectUrlValues;
343
343
  updateFromUrl(values: SceneObjectUrlValues): void;
344
344
  }
345
345
 
346
346
  declare class SceneTimeRange extends SceneObjectBase<SceneTimeRangeState> implements SceneTimeRangeLike {
347
- protected _urlSync: SceneObjectUrlSyncConfig<SceneTimeRangeState>;
347
+ protected _urlSync: SceneObjectUrlSyncConfig;
348
348
  constructor(state?: Partial<SceneTimeRangeState>);
349
349
  onTimeRangeChange: (timeRange: TimeRange) => void;
350
350
  onRefresh: () => void;
351
- getUrlState(state: SceneTimeRangeState): {
351
+ getUrlState(): {
352
352
  from: string;
353
353
  to: string;
354
354
  };
@@ -583,7 +583,7 @@ interface VariableGetOptionsArgs {
583
583
  searchFilter?: string;
584
584
  }
585
585
  declare abstract class MultiValueVariable<TState extends MultiValueVariableState = MultiValueVariableState> extends SceneObjectBase<TState> implements SceneVariable<TState> {
586
- protected _urlSync: SceneObjectUrlSyncHandler<TState>;
586
+ protected _urlSync: SceneObjectUrlSyncHandler;
587
587
  /**
588
588
  * The source of value options.
589
589
  */
@@ -684,12 +684,12 @@ interface TextBoxVariableState extends SceneVariableState {
684
684
  value: string;
685
685
  }
686
686
  declare class TextBoxVariable extends SceneObjectBase<TextBoxVariableState> implements SceneVariable<TextBoxVariableState> {
687
- protected _urlSync: SceneObjectUrlSyncHandler<TextBoxVariableState>;
687
+ protected _urlSync: SceneObjectUrlSyncHandler;
688
688
  constructor(initialState: Partial<TextBoxVariableState>);
689
689
  getValue(): VariableValue;
690
690
  setValue(newValue: string): void;
691
691
  private getKey;
692
- getUrlState(state: TextBoxVariableState): {
692
+ getUrlState(): {
693
693
  [x: string]: string;
694
694
  };
695
695
  updateFromUrl(values: SceneObjectUrlValues): void;
@@ -840,7 +840,7 @@ interface SceneRefreshPickerState extends SceneObjectStatePlain {
840
840
  }
841
841
  declare class SceneRefreshPicker extends SceneObjectBase<SceneRefreshPickerState> {
842
842
  static Component: typeof SceneRefreshPickerRenderer;
843
- protected _urlSync: SceneObjectUrlSyncConfig<SceneObjectState>;
843
+ protected _urlSync: SceneObjectUrlSyncConfig;
844
844
  private _intervalTimer;
845
845
  constructor(state: Partial<SceneRefreshPickerState>);
846
846
  onRefresh: () => void;
@@ -890,11 +890,11 @@ interface SceneGridRowState extends SceneLayoutChildState {
890
890
  }
891
891
  declare class SceneGridRow extends SceneObjectBase<SceneGridRowState> {
892
892
  static Component: typeof SceneGridRowRenderer;
893
- protected _urlSync: SceneObjectUrlSyncConfig<SceneGridRowState>;
893
+ protected _urlSync: SceneObjectUrlSyncConfig;
894
894
  constructor(state: SceneGridRowState);
895
895
  getGridLayout(): SceneGridLayout;
896
896
  onCollapseToggle: () => void;
897
- getUrlState(state: SceneGridRowState): {
897
+ getUrlState(): {
898
898
  rowc: string;
899
899
  };
900
900
  updateFromUrl(values: SceneObjectUrlValues): void;
package/dist/index.js CHANGED
@@ -293,8 +293,8 @@ class SceneObjectUrlSyncConfig {
293
293
  getKeys() {
294
294
  return this._keys;
295
295
  }
296
- getUrlState(state) {
297
- return this._sceneObject.getUrlState(state);
296
+ getUrlState() {
297
+ return this._sceneObject.getUrlState();
298
298
  }
299
299
  updateFromUrl(values) {
300
300
  this._sceneObject.updateFromUrl(values);
@@ -345,8 +345,8 @@ class SceneTimeRange extends SceneObjectBase {
345
345
  this.setState({ value: evaluateTimeRange(this.state.from, this.state.to, this.state.timeZone) });
346
346
  };
347
347
  }
348
- getUrlState(state) {
349
- return { from: state.from, to: state.to };
348
+ getUrlState() {
349
+ return { from: this.state.from, to: this.state.to };
350
350
  }
351
351
  updateFromUrl(values) {
352
352
  var _a, _b;
@@ -797,7 +797,7 @@ class UrlTimeRangeMacro {
797
797
  getValue() {
798
798
  var _a;
799
799
  const timeRange = getTimeRange$1(this._sceneObject);
800
- const urlState = (_a = timeRange.urlSync) == null ? void 0 : _a.getUrlState(timeRange.state);
800
+ const urlState = (_a = timeRange.urlSync) == null ? void 0 : _a.getUrlState();
801
801
  return new SkipFormattingValue(data.urlUtil.toUrlParams(urlState));
802
802
  }
803
803
  getValueText() {
@@ -1886,9 +1886,9 @@ class MultiValueUrlSyncHandler {
1886
1886
  getKeys() {
1887
1887
  return [this.getKey()];
1888
1888
  }
1889
- getUrlState(state) {
1889
+ getUrlState() {
1890
1890
  let urlValue = null;
1891
- let value = state.value;
1891
+ let value = this._sceneObject.state.value;
1892
1892
  if (Array.isArray(value)) {
1893
1893
  urlValue = value.map(String);
1894
1894
  } else {
@@ -2665,8 +2665,8 @@ class TextBoxVariable extends SceneObjectBase {
2665
2665
  getKey() {
2666
2666
  return `var-${this.state.name}`;
2667
2667
  }
2668
- getUrlState(state) {
2669
- return { [this.getKey()]: state.value };
2668
+ getUrlState() {
2669
+ return { [this.getKey()]: this.state.value };
2670
2670
  }
2671
2671
  updateFromUrl(values) {
2672
2672
  const update = {};
@@ -2695,7 +2695,7 @@ class UrlSyncManager {
2695
2695
  this.onStateChanged = ({ payload }) => {
2696
2696
  const changedObject = payload.changedObject;
2697
2697
  if (changedObject.urlSync) {
2698
- const newUrlState = changedObject.urlSync.getUrlState(payload.newState);
2698
+ const newUrlState = changedObject.urlSync.getUrlState();
2699
2699
  const searchParams = runtime.locationService.getSearch();
2700
2700
  const mappedUpdated = {};
2701
2701
  this.urlKeyMapper.rebuldIndex(this.sceneRoot);
@@ -2728,7 +2728,7 @@ class UrlSyncManager {
2728
2728
  syncSceneStateFromUrl(sceneObject, urlParams) {
2729
2729
  if (sceneObject.urlSync) {
2730
2730
  const urlState = {};
2731
- const currentState = sceneObject.urlSync.getUrlState(sceneObject.state);
2731
+ const currentState = sceneObject.urlSync.getUrlState();
2732
2732
  for (const key of sceneObject.urlSync.getKeys()) {
2733
2733
  const uniqueKey = this.urlKeyMapper.getUniqueKey(key, sceneObject);
2734
2734
  const newValue = urlParams.getAll(uniqueKey);
@@ -3553,8 +3553,8 @@ class SceneGridRow extends SceneObjectBase {
3553
3553
  }
3554
3554
  return layout;
3555
3555
  }
3556
- getUrlState(state) {
3557
- return { rowc: state.isCollapsed ? "1" : "0" };
3556
+ getUrlState() {
3557
+ return { rowc: this.state.isCollapsed ? "1" : "0" };
3558
3558
  }
3559
3559
  updateFromUrl(values) {
3560
3560
  const isCollapsed = values.rowc === "1";