@grafana/scenes 0.3.0 → 0.4.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/CHANGELOG.md +51 -5
- package/README.md +1 -1
- package/dist/esm/components/EmbeddedScene.js +8 -5
- package/dist/esm/components/EmbeddedScene.js.map +1 -1
- package/dist/esm/components/NestedScene.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneApp.js +2 -5
- package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPage.js +122 -104
- package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPageView.js +82 -0
- package/dist/esm/components/SceneApp/SceneAppPageView.js.map +1 -0
- package/dist/esm/components/SceneApp/utils.js +5 -1
- package/dist/esm/components/SceneApp/utils.js.map +1 -1
- package/dist/esm/components/layout/SceneFlexLayout.js +40 -19
- package/dist/esm/components/layout/SceneFlexLayout.js.map +1 -1
- package/dist/esm/components/layout/grid/LazyLoader.js +87 -0
- package/dist/esm/components/layout/grid/LazyLoader.js.map +1 -0
- package/dist/esm/components/layout/grid/SceneGridLayout.js +2 -50
- package/dist/esm/components/layout/grid/SceneGridLayout.js.map +1 -1
- package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +70 -0
- package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js.map +1 -0
- package/dist/esm/core/SceneComponentWrapper.js +8 -1
- package/dist/esm/core/SceneComponentWrapper.js.map +1 -1
- package/dist/esm/core/SceneObjectBase.js +16 -2
- package/dist/esm/core/SceneObjectBase.js.map +1 -1
- package/dist/esm/core/sceneGraph.js +49 -30
- package/dist/esm/core/sceneGraph.js.map +1 -1
- package/dist/esm/core/types.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +11 -14
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/services/UrlSyncManager.js +52 -17
- package/dist/esm/services/UrlSyncManager.js.map +1 -1
- package/dist/esm/utils/getDataSource.js.map +1 -1
- package/dist/esm/variables/interpolation/ScopedVarsVariable.js +4 -13
- package/dist/esm/variables/interpolation/ScopedVarsVariable.js.map +1 -1
- package/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/variables/interpolation/fieldAccessorCache.js.map +1 -0
- package/dist/esm/variables/macros/dataMacros.js +134 -0
- package/dist/esm/variables/macros/dataMacros.js.map +1 -0
- package/dist/esm/variables/macros/index.js +5 -2
- package/dist/esm/variables/macros/index.js.map +1 -1
- package/dist/esm/variables/macros/templateProxies.js +51 -0
- package/dist/esm/variables/macros/templateProxies.js.map +1 -0
- package/dist/esm/variables/sets/SceneVariableSet.js +17 -1
- package/dist/esm/variables/sets/SceneVariableSet.js.map +1 -1
- package/dist/esm/variables/variants/TestVariable.js +3 -1
- package/dist/esm/variables/variants/TestVariable.js.map +1 -1
- package/dist/esm/variables/variants/query/QueryVariable.js +1 -17
- package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
- package/dist/index.d.ts +84 -32
- package/dist/index.js +986 -585
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/variables/macros/DataValueMacro.js +0 -60
- package/dist/esm/variables/macros/DataValueMacro.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafana/scenes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Grafana framework for building dynamic dashboards",
|
|
5
5
|
"author": "Grafana Labs",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"prettier --write"
|
|
115
115
|
]
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "ede12f6ec7ebf93332f9d74c13a885caa3d5de2a"
|
|
118
118
|
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { getDisplayProcessor, formattedValueToString, FieldType } from '@grafana/data';
|
|
2
|
-
|
|
3
|
-
class DataValueMacro {
|
|
4
|
-
constructor(name, sceneObject, _match, _scopedVars) {
|
|
5
|
-
this._match = _match;
|
|
6
|
-
this._scopedVars = _scopedVars;
|
|
7
|
-
this.state = { name, type: "url_variable" };
|
|
8
|
-
}
|
|
9
|
-
getValue(fieldPath) {
|
|
10
|
-
var _a, _b;
|
|
11
|
-
const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;
|
|
12
|
-
if (!dataContext) {
|
|
13
|
-
return this._match;
|
|
14
|
-
}
|
|
15
|
-
const { frame, rowIndex, field, calculatedValue } = dataContext.value;
|
|
16
|
-
if (calculatedValue) {
|
|
17
|
-
switch (fieldPath) {
|
|
18
|
-
case "numeric":
|
|
19
|
-
return calculatedValue.numeric;
|
|
20
|
-
case "raw":
|
|
21
|
-
return calculatedValue.numeric;
|
|
22
|
-
case "time":
|
|
23
|
-
return "";
|
|
24
|
-
case "text":
|
|
25
|
-
default:
|
|
26
|
-
return formattedValueToString(calculatedValue);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (!rowIndex) {
|
|
30
|
-
return this._match;
|
|
31
|
-
}
|
|
32
|
-
if (fieldPath === "time") {
|
|
33
|
-
const timeField = frame.fields.find((f) => f.type === FieldType.time);
|
|
34
|
-
return timeField ? timeField.values.get(rowIndex) : void 0;
|
|
35
|
-
}
|
|
36
|
-
if (!field) {
|
|
37
|
-
return this._match;
|
|
38
|
-
}
|
|
39
|
-
const value = field.values.get(rowIndex);
|
|
40
|
-
if (fieldPath === "raw") {
|
|
41
|
-
return value;
|
|
42
|
-
}
|
|
43
|
-
const displayProcessor = (_b = field.display) != null ? _b : fallbackDisplayProcessor;
|
|
44
|
-
const result = displayProcessor(value);
|
|
45
|
-
switch (fieldPath) {
|
|
46
|
-
case "numeric":
|
|
47
|
-
return result.numeric;
|
|
48
|
-
case "text":
|
|
49
|
-
default:
|
|
50
|
-
return formattedValueToString(result);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
getValueText() {
|
|
54
|
-
return "";
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const fallbackDisplayProcessor = getDisplayProcessor();
|
|
58
|
-
|
|
59
|
-
export { DataValueMacro };
|
|
60
|
-
//# sourceMappingURL=DataValueMacro.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataValueMacro.js","sources":["../../../../src/variables/macros/DataValueMacro.ts"],"sourcesContent":["import {\n FieldType,\n formattedValueToString,\n getDisplayProcessor,\n ScopedVars,\n DataContextScopedVar,\n} from '@grafana/data';\nimport { SceneObject } from '../../core/types';\nimport { FormatVariable } from '../interpolation/formatRegistry';\nimport { VariableValue } from '../types';\n\n/**\n * match represents the regex match and is the full expression, example `${varname.fieldpath}`\n * Macros can return the match when they identify that there required data context is not provided.\n * This leaves the expression intact so that it can be interpolated later when the data context is available.\n */\nexport class DataValueMacro implements FormatVariable {\n public state: { name: string; type: string };\n\n public constructor(name: string, sceneObject: SceneObject, private _match: string, private _scopedVars?: ScopedVars) {\n this.state = { name, type: 'url_variable' };\n }\n\n public getValue(fieldPath?: string): VariableValue {\n const dataContext: DataContextScopedVar | undefined = this._scopedVars?.__dataContext;\n if (!dataContext) {\n return this._match;\n }\n\n const { frame, rowIndex, field, calculatedValue } = dataContext.value;\n\n if (calculatedValue) {\n switch (fieldPath) {\n case 'numeric':\n return calculatedValue.numeric;\n case 'raw':\n return calculatedValue.numeric;\n case 'time':\n return '';\n case 'text':\n default:\n return formattedValueToString(calculatedValue);\n }\n }\n\n if (!rowIndex) {\n return this._match;\n }\n\n if (fieldPath === 'time') {\n const timeField = frame.fields.find((f) => f.type === FieldType.time);\n return timeField ? timeField.values.get(rowIndex) : undefined;\n }\n\n if (!field) {\n return this._match;\n }\n\n const value = field.values.get(rowIndex);\n if (fieldPath === 'raw') {\n return value;\n }\n\n const displayProcessor = field.display ?? fallbackDisplayProcessor;\n const result = displayProcessor(value);\n\n switch (fieldPath) {\n case 'numeric':\n return result.numeric;\n case 'text':\n default:\n return formattedValueToString(result);\n }\n }\n\n public getValueText?(): string {\n return '';\n }\n}\n\nconst fallbackDisplayProcessor = getDisplayProcessor();\n"],"names":[],"mappings":";;AAgBO,MAAM,cAAyC,CAAA;AAAA,EAG7C,WAAY,CAAA,IAAA,EAAc,WAAkC,EAAA,MAAA,EAAwB,WAA0B,EAAA;AAAlD,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA,CAAA;AAAwB,IAAA,IAAA,CAAA,WAAA,GAAA,WAAA,CAAA;AACzF,IAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,IAAM,EAAA,IAAA,EAAM,cAAe,EAAA,CAAA;AAAA,GAC5C;AAAA,EAEO,SAAS,SAAmC,EAAA;AAvBrD,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAwBI,IAAM,MAAA,WAAA,GAAA,CAAgD,EAAK,GAAA,IAAA,CAAA,WAAA,KAAL,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,CAAA;AACxE,IAAA,IAAI,CAAC,WAAa,EAAA;AAChB,MAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,EAAE,KAAO,EAAA,QAAA,EAAU,KAAO,EAAA,eAAA,KAAoB,WAAY,CAAA,KAAA,CAAA;AAEhE,IAAA,IAAI,eAAiB,EAAA;AACnB,MAAQ,QAAA,SAAA;AAAA,QACD,KAAA,SAAA;AACH,UAAA,OAAO,eAAgB,CAAA,OAAA,CAAA;AAAA,QACpB,KAAA,KAAA;AACH,UAAA,OAAO,eAAgB,CAAA,OAAA,CAAA;AAAA,QACpB,KAAA,MAAA;AACH,UAAO,OAAA,EAAA,CAAA;AAAA,QACJ,KAAA,MAAA,CAAA;AAAA,QAAA;AAEH,UAAA,OAAO,uBAAuB,eAAe,CAAA,CAAA;AAAA,OAAA;AAAA,KAEnD;AAEA,IAAA,IAAI,CAAC,QAAU,EAAA;AACb,MAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,KACd;AAEA,IAAA,IAAI,cAAc,MAAQ,EAAA;AACxB,MAAM,MAAA,SAAA,GAAY,MAAM,MAAO,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACpE,MAAA,OAAO,SAAY,GAAA,SAAA,CAAU,MAAO,CAAA,GAAA,CAAI,QAAQ,CAAI,GAAA,KAAA,CAAA,CAAA;AAAA,KACtD;AAEA,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,MAAO,CAAA,GAAA,CAAI,QAAQ,CAAA,CAAA;AACvC,IAAA,IAAI,cAAc,KAAO,EAAA;AACvB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAM,MAAA,gBAAA,GAAA,CAAmB,EAAM,GAAA,KAAA,CAAA,OAAA,KAAN,IAAiB,GAAA,EAAA,GAAA,wBAAA,CAAA;AAC1C,IAAM,MAAA,MAAA,GAAS,iBAAiB,KAAK,CAAA,CAAA;AAErC,IAAQ,QAAA,SAAA;AAAA,MACD,KAAA,SAAA;AACH,QAAA,OAAO,MAAO,CAAA,OAAA,CAAA;AAAA,MACX,KAAA,MAAA,CAAA;AAAA,MAAA;AAEH,QAAA,OAAO,uBAAuB,MAAM,CAAA,CAAA;AAAA,KAAA;AAAA,GAE1C;AAAA,EAEO,YAAwB,GAAA;AAC7B,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AACF,CAAA;AAEA,MAAM,2BAA2B,mBAAoB,EAAA;;;;"}
|