@grafana/scenes 4.18.0--canary.724.9001989710.0 → 4.18.0--canary.725.9002029358.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/esm/querying/SceneDataLayerSet.js +3 -4
- package/dist/esm/querying/SceneDataLayerSet.js.map +1 -1
- package/dist/esm/querying/SceneDataTransformer.js +40 -12
- package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +6 -21
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/querying/layers/SceneDataLayerBase.js +1 -1
- package/dist/esm/querying/layers/SceneDataLayerBase.js.map +1 -1
- package/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js.map +1 -1
- package/dist/esm/querying/mergeMultipleDataLayers.js +23 -0
- package/dist/esm/querying/mergeMultipleDataLayers.js.map +1 -0
- package/dist/index.d.ts +16 -3
- package/dist/index.js +65 -76
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/querying/DataLayersMerger.js +0 -46
- package/dist/esm/querying/DataLayersMerger.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafana/scenes",
|
|
3
|
-
"version": "4.18.0--canary.
|
|
3
|
+
"version": "4.18.0--canary.725.9002029358.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": "
|
|
118
|
+
"gitHead": "0038b442bf9c7090de3c68bff80d50a2f29ec18d"
|
|
119
119
|
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { merge, mergeAll, filter, map, finalize } from 'rxjs';
|
|
2
|
-
|
|
3
|
-
class DataLayersMerger {
|
|
4
|
-
constructor() {
|
|
5
|
-
this._resultsMap = /* @__PURE__ */ new Map();
|
|
6
|
-
this._prevLayers = [];
|
|
7
|
-
}
|
|
8
|
-
getMergedStream(layers) {
|
|
9
|
-
if (areDifferentLayers(layers, this._prevLayers)) {
|
|
10
|
-
this._resultsMap = /* @__PURE__ */ new Map();
|
|
11
|
-
this._prevLayers = layers;
|
|
12
|
-
}
|
|
13
|
-
const resultStreams = layers.map((l) => l.getResultsStream());
|
|
14
|
-
const deactivationHandlers = [];
|
|
15
|
-
for (const layer of layers) {
|
|
16
|
-
deactivationHandlers.push(layer.activate());
|
|
17
|
-
}
|
|
18
|
-
return merge(resultStreams).pipe(
|
|
19
|
-
mergeAll(),
|
|
20
|
-
filter((v) => {
|
|
21
|
-
return this._resultsMap.get(v.origin.state.key) !== v;
|
|
22
|
-
}),
|
|
23
|
-
map((v) => {
|
|
24
|
-
this._resultsMap.set(v.origin.state.key, v);
|
|
25
|
-
return this._resultsMap.values();
|
|
26
|
-
}),
|
|
27
|
-
finalize(() => {
|
|
28
|
-
deactivationHandlers.forEach((handler) => handler());
|
|
29
|
-
})
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function areDifferentLayers(a, b) {
|
|
34
|
-
if (a.length !== b.length) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
for (let i = 0; i < a.length; i++) {
|
|
38
|
-
if (a[i] !== b[i]) {
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { DataLayersMerger };
|
|
46
|
-
//# sourceMappingURL=DataLayersMerger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataLayersMerger.js","sources":["../../../src/querying/DataLayersMerger.ts"],"sourcesContent":["import { filter, finalize, map, merge, mergeAll } from 'rxjs';\nimport { CancelActivationHandler, SceneDataLayerProvider, SceneDataProviderResult } from '../core/types';\n\nexport class DataLayersMerger {\n private _resultsMap: Map<string, SceneDataProviderResult> = new Map();\n private _prevLayers: SceneDataLayerProvider[] = [];\n\n public getMergedStream(layers: SceneDataLayerProvider[]) {\n if (areDifferentLayers(layers, this._prevLayers)) {\n this._resultsMap = new Map();\n this._prevLayers = layers;\n }\n\n const resultStreams = layers.map((l) => l.getResultsStream());\n const deactivationHandlers: CancelActivationHandler[] = [];\n\n for (const layer of layers) {\n deactivationHandlers.push(layer.activate());\n }\n\n return merge(resultStreams).pipe(\n mergeAll(),\n filter((v) => {\n return this._resultsMap.get(v.origin.state.key!) !== v;\n }),\n map((v) => {\n // Is there a better, rxjs only way to combine multiple same-data-topic observables?\n // Indexing by origin state key is to make sure we do not duplicate/overwrite data from the different origins\n this._resultsMap.set(v.origin.state.key!, v);\n return this._resultsMap.values();\n }),\n finalize(() => {\n deactivationHandlers.forEach((handler) => handler());\n })\n );\n }\n}\n\nfunction areDifferentLayers(a: SceneDataLayerProvider[], b: SceneDataLayerProvider[]) {\n if (a.length !== b.length) {\n return true;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return true;\n }\n }\n\n return false;\n}\n"],"names":[],"mappings":";;AAGO,MAAM,gBAAiB,CAAA;AAAA,EAAvB,WAAA,GAAA;AACL,IAAQ,IAAA,CAAA,WAAA,uBAAwD,GAAI,EAAA,CAAA;AACpE,IAAA,IAAA,CAAQ,cAAwC,EAAC,CAAA;AAAA,GAAA;AAAA,EAE1C,gBAAgB,MAAkC,EAAA;AACvD,IAAA,IAAI,kBAAmB,CAAA,MAAA,EAAQ,IAAK,CAAA,WAAW,CAAG,EAAA;AAChD,MAAK,IAAA,CAAA,WAAA,uBAAkB,GAAI,EAAA,CAAA;AAC3B,MAAA,IAAA,CAAK,WAAc,GAAA,MAAA,CAAA;AAAA,KACrB;AAEA,IAAA,MAAM,gBAAgB,MAAO,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,CAAE,kBAAkB,CAAA,CAAA;AAC5D,IAAA,MAAM,uBAAkD,EAAC,CAAA;AAEzD,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAqB,oBAAA,CAAA,IAAA,CAAK,KAAM,CAAA,QAAA,EAAU,CAAA,CAAA;AAAA,KAC5C;AAEA,IAAO,OAAA,KAAA,CAAM,aAAa,CAAE,CAAA,IAAA;AAAA,MAC1B,QAAS,EAAA;AAAA,MACT,MAAA,CAAO,CAAC,CAAM,KAAA;AACZ,QAAA,OAAO,KAAK,WAAY,CAAA,GAAA,CAAI,EAAE,MAAO,CAAA,KAAA,CAAM,GAAI,CAAM,KAAA,CAAA,CAAA;AAAA,OACtD,CAAA;AAAA,MACD,GAAA,CAAI,CAAC,CAAM,KAAA;AAGT,QAAA,IAAA,CAAK,YAAY,GAAI,CAAA,CAAA,CAAE,MAAO,CAAA,KAAA,CAAM,KAAM,CAAC,CAAA,CAAA;AAC3C,QAAO,OAAA,IAAA,CAAK,YAAY,MAAO,EAAA,CAAA;AAAA,OAChC,CAAA;AAAA,MACD,SAAS,MAAM;AACb,QAAA,oBAAA,CAAqB,OAAQ,CAAA,CAAC,OAAY,KAAA,OAAA,EAAS,CAAA,CAAA;AAAA,OACpD,CAAA;AAAA,KACH,CAAA;AAAA,GACF;AACF,CAAA;AAEA,SAAS,kBAAA,CAAmB,GAA6B,CAA6B,EAAA;AACpF,EAAI,IAAA,CAAA,CAAE,MAAW,KAAA,CAAA,CAAE,MAAQ,EAAA;AACzB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,CAAE,QAAQ,CAAK,EAAA,EAAA;AACjC,IAAI,IAAA,CAAA,CAAE,CAAO,CAAA,KAAA,CAAA,CAAE,CAAI,CAAA,EAAA;AACjB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
|