@grafana/scenes 5.26.0--canary.912.11978949363.0 → 5.27.0--canary.912.12014188572.0

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/scenes",
3
- "version": "5.26.0--canary.912.11978949363.0",
3
+ "version": "5.27.0--canary.912.12014188572.0",
4
4
  "description": "Grafana framework for building dynamic dashboards",
5
5
  "author": "Grafana Labs",
6
6
  "license": "AGPL-3.0-only",
@@ -115,5 +115,5 @@
115
115
  "prettier --write"
116
116
  ]
117
117
  },
118
- "gitHead": "68eed502abdf09a5def05400b503d3eb7af068e2"
118
+ "gitHead": "ad24ffd98daf14114468e64764a1ae55c69b6e32"
119
119
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"LimitSeriesTitleItem.js","sources":["../../../src/components/LimitSeriesTitleItem.tsx"],"sourcesContent":["import { Button, Icon, Tooltip, useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { DataFrame, GrafanaTheme2 } from '@grafana/data';\nimport { css } from '@emotion/css';\nimport { SceneObjectBase } from '../core/SceneObjectBase';\nimport { map, Observable } from 'rxjs';\nimport { SceneComponentProps, SceneObjectState } from '../core/types';\nimport { sceneGraph } from '../core/sceneGraph';\nimport { SceneDataTransformer } from '../querying/SceneDataTransformer';\nimport { VizPanel } from './VizPanel/VizPanel';\nimport { SceneQueryRunner } from '../querying/SceneQueryRunner';\n\nexport interface TimeSeriesLimitSeriesTitleItemSceneState extends SceneObjectState {\n showAllSeries?: boolean;\n currentSeriesCount?: number;\n totalSeriesCount?: number\n seriesLimit: number\n}\n\n/**\n * PanelBuilder titleItems component that will limit the default number of series rendered\n *\n * Usage:\n * PanelBuilders.timeseries()\n * .setData($data)\n * .setTitleItems([new TimeSeriesLimitSeriesTitleItemScene({\n * seriesLimit: 20, // limits the default number of series that are rendered in the viz\n * })])\n */\nexport class TimeSeriesLimitSeriesTitleItemScene extends SceneObjectBase<TimeSeriesLimitSeriesTitleItemSceneState> {\n public constructor(state: TimeSeriesLimitSeriesTitleItemSceneState) {\n super(state);\n this.addActivationHandler(this.onActivate.bind(this));\n }\n\n private onActivate() {\n const panel = sceneGraph.getAncestor(this, VizPanel);\n\n const $transformedData = sceneGraph.getData(panel);\n const untransformedQueryRunner = sceneGraph.findDescendent(panel, SceneQueryRunner)\n\n // Subscribe to data changes and update the series counts\n this._subs.add(\n $transformedData.subscribeToState((transformedDataState) => {\n if (untransformedQueryRunner && untransformedQueryRunner.state.data?.series.length !== this.state.currentSeriesCount) {\n this.setState({\n currentSeriesCount: transformedDataState.data?.series.length,\n totalSeriesCount: untransformedQueryRunner.state.data?.series.length\n });\n }\n })\n );\n }\n\n /**\n * Removes the default series limit and renders all series in the viz\n */\n public showAllSeries () {\n const $data = sceneGraph.getData(this);\n if($data instanceof SceneDataTransformer){\n $data.setState({\n transformations: [],\n });\n this.setState({\n showAllSeries: true,\n });\n $data.reprocessTransformations();\n }\n }\n public static Component = ({ model }: SceneComponentProps<TimeSeriesLimitSeriesTitleItemScene>) => {\n const { showAllSeries, currentSeriesCount, seriesLimit, totalSeriesCount, } = model.useState();\n const styles = useStyles2(getStyles);\n\n if (\n totalSeriesCount === undefined ||\n showAllSeries ||\n !currentSeriesCount ||\n totalSeriesCount < seriesLimit\n ) {\n return null;\n }\n\n return (\n <div className={styles.timeSeriesDisclaimer}>\n <span className={styles.warningMessage}>\n <>\n <Icon\n title={`Showing only ${model.state.seriesLimit} series`}\n name=\"exclamation-triangle\"\n aria-hidden=\"true\"\n />\n </>\n </span>\n <Tooltip content={'Rendering too many series in a single panel may impact performance and make data harder to read.'}>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => model.showAllSeries()}>\n <>Show all {totalSeriesCount}</>\n </Button>\n </Tooltip>\n </div>\n );\n };\n}\n\nexport function limitFramesTransformation(limit: number) {\n return (source: Observable<DataFrame[]>) => {\n return source.pipe(\n map((frames) => {\n return frames.slice(0, limit);\n })\n );\n };\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n timeSeriesDisclaimer: css({\n label: 'time-series-disclaimer',\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n }),\n warningMessage: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n color: theme.colors.warning.main,\n fontSize: theme.typography.bodySmall.fontSize,\n }),\n});\n"],"names":[],"mappings":"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"}