v0.4.0
Release Notes
Behaviors: Add state and runtime behavior to any scene object (#119)
You can now augment any scene object with runtime state & behavior using the new $behaviors
state key. Behaviors are implemented as SceneObjects that are activated when their parent is activated or as pure functions that get called when the SceneObject they are attached to get's activated.
With behaviors you can easily implement conditional display of panels using the new isHidden
property on SceneFlexItem. and other dynamic layout behaviors. View the behaviors demo for some examples.
🚀 Enhancement
@grafana/scenes
🐛 Bug Fix
- Docs: Getting started and core concepts #136 (@dprokop)
- SceneApp: Share defaults between demos #132 (@torkelo)
- PackageJson: Simple scripts to run app dev from root #133 (@torkelo)
@grafana/scenes
- SceneQueryRunner: Return after setting empty state #145 (@torkelo)
- SceneGridLayout: Support lazy rendering of items out of view #129 (@kaydelaney @torkelo)
- UrlSync: Makes url sync work on SceneAppPage level #143 (@torkelo)
- SceneAppPage: Refactorings and adding default fallback routes #142 (@torkelo)
- Flex layout item parent direction #141 (@dprokop @torkelo)
- SceneApp: Correctly build demo pages with getParentPage #137 (@torkelo)
- Templating: Add macros for __data, __field and __series #131 (@torkelo)
- FlexLayout: Allow SceneFlexLayout to be child of another flex layout #135 (@dprokop)
- FindObject: Fixes search logic so that it does not get stuck in infine loops #140 (@torkelo)
- sceneGraph: findObject #127 (@torkelo)
- SceneAppPage: Support dynamic pages (changing tabs, title, controls) #71 (@torkelo)
- scene-app: Refactor to use SceneAppPage for demos #125 (@torkelo @dprokop)
- Packages: Update grafana/* to latest #130 (@torkelo)
- QueryEditor: Adds inline query editor scene object #43 (@kaydelaney @dprokop)
- SceneVariableSet: Refresh variables that depend on time range #124 (@dprokop)
- ValueMacro: Fixes so __value works for rowIndex 0 #123 (@torkelo)
Authors: 3
- Dominik Prokop (@dprokop)
- kay delaney (@kaydelaney)
- Torkel Ödegaard (@torkelo)