grafana/packages
Torkel Ödegaard fd21e0ba14
DataLinks: enable access to labels & field names (#18918)
* POC: trying to see if there is a way to support objects in template interpolations

* Added support for nested objects, and arrays

* Added accessor cache

* fixed unit tests

* First take

* Use links supplier in graph

* Add field's index to cache items

* Get field index from field cache

* CHange FiledCacheItem to FieldWithIndex

* Add refId to TimeSeries class

* Make field link supplier work with _series, _field and _value vars

* use field link supplier in graph

* Fix yaxis settings

* Update dashboard schema version and add migration for data links variables

* Update snapshots

* Update build in data link variables

* FieldCache - idx -> index

* Add current query results to panel editor

* WIP Updated data links dropdown to display new variables

* Fix build

* Update variables syntac in field display, update migration

* Field links supplier: review updates

* Add data frame view and field name to TimeSeries for later inspection

* Retrieve data frame from TimeSeries when clicking on plot graph

* Use data frame's index instead of view

* Retrieve data frame by index instead of view on TimeSeries

* Update data links prism regex

* Fix typecheck

* Add value variables to suggestions list

* UI update

* Rename field to config in DisplayProcessorOptions

* Proces single value of a field instead of entire data frame

* Updated font size from 10px to 12px for auto complete

* Replace fieldName with fieldIndex in TimeSeries

* Don't use .entries() for iterating in field cache

* Don't use FieldCache when retrieving field for datalinks in graph

* Add value calculation variable to data links (#19031)

* Add support for labels with dots in the name (#19033)

* Docs update

* Use field name instead of removed series.fieldName

* Add test dashboard

* Typos fix

* Make visualization tab subscribe to query results

* Added tags to dashboard so it shows up in lists

* minor docs fix

* Update singlestat-ish variables suggestions to contain series variables

* Decrease suggestions update debounce

* Enable whitespace characters(new line, space) in links and strip them when processing the data link

* minor data links UI update

* DataLinks: Add __from and __to variables suggestions to data links (#19093)

* Add from and to variables suggestions to data links

* Update docs

* UI update and added info text

* Change ESC global bind to bind (doesn't capture ESC on input)

* Close datalinks suggestions on ESC

* Remove unnecessary fragment
2019-09-13 16:38:21 +02:00
..
grafana-data DataLinks: enable access to labels & field names (#18918) 2019-09-13 16:38:21 +02:00
grafana-runtime Packages: update versioning and release process (#18195) 2019-09-12 08:00:31 +02:00
grafana-toolkit toolkit: fix master build, avoid null check (#19055) 2019-09-12 10:32:12 -07:00
grafana-ui DataLinks: enable access to labels & field names (#18918) 2019-09-13 16:38:21 +02:00
README.md Packages: update versioning and release process (#18195) 2019-09-12 08:00:31 +02:00
tsconfig.json Packages: create shared tsconfig.json (#18010) 2019-07-10 12:50:52 +02:00

Grafana frontend packages

Versioning

We use Lerna for packages versioning and releases

All packages are versioned according to the current Grafana version:

  • Grafana v6.3.0-alpha1 -> @grafana/* packages @ 6.3.0-alpha.1
  • Grafana v6.2.5 -> @grafana/* packages @ 6.2.5
  • Grafana - master branch version (based on package.json, i.e. 6.4.0-pre) -> @grafana/* packages @ 6.4.0-pre- (see details below about packages publishing channels)

Please note that @grafana/toolkit, @grafana/ui, @grafana/data & @grafana/runtime packages are considered ALPHA even though they are not released as alpha versions

Stable releases

Even though packages are released under a stable version, they are considered ALPHA until further notice!

Stable releases are published under latest tag on npm.

Alpha and beta releases

Alpha and beta releases are published under next tag on npm.

Automatic pre-releases

Every commit to master that has changes within packages directory is a subject of npm packages release. ALL packages will be released under version from lerna.json file with commit SHA added to it:

<lerna.json version>-<COMMIT_SHA>

Automatic prereleases are published under canary dist tag.

Manual release

All of the steps below should be performed on a release branch, according to Grafana Release Guide

Make sure you are logged in to npm in your terminal and that you are a part of Grafana org on npm

  1. Run yarn packages:prepare script from root directory. This will perform tests on the packages and prompt for version of the packages. The version should be the same as the one being released.
  • Make sure you use semver convention. So, place a dot between prerelease id and prelease number!!! i.e. 6.3.0-alpha.1
  • Make sure you confirm the version bump when prompted!
  1. Commit changes (lerna.json & package.json files) - "Packages version update: <VERSION>"
  2. Run yarn packages:build script that will prepare distribution packages in packages/grafana-*/dist. These directories are going to be published to npm
  3. Depending whether or not it's a prerelease:
  • When releasing a prelease run packages:publishNext to publish new versions.
  • When releasing a stable version run packages:publishLatest to publish new versions.
  1. Push version commit to the release branch

Building individual packages

To build induvidual packages run grafana-toolkit package:build --scope=<ui|toolkit|runtime|data>