@grafana/scenes 6.12.0--canary.1121.15045230319.0 → 6.12.0--canary.1122.15063334499.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +10 -0
  3. package/dist/esm/components/SceneApp/SceneApp.js +2 -2
  4. package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
  5. package/dist/esm/components/SceneApp/SceneAppPage.js +18 -2
  6. package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -1
  7. package/dist/esm/components/VizPanel/VizPanel.js +2 -2
  8. package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
  9. package/dist/esm/core/SceneScopesBridge.js +93 -0
  10. package/dist/esm/core/SceneScopesBridge.js.map +1 -0
  11. package/dist/esm/core/sceneGraph/index.js +2 -2
  12. package/dist/esm/core/sceneGraph/index.js.map +1 -1
  13. package/dist/esm/core/sceneGraph/sceneGraph.js +5 -9
  14. package/dist/esm/core/sceneGraph/sceneGraph.js.map +1 -1
  15. package/dist/esm/index.js +1 -1
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/querying/SceneQueryRunner.js +33 -10
  18. package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
  19. package/dist/esm/variables/VariableDependencyConfig.js +1 -4
  20. package/dist/esm/variables/VariableDependencyConfig.js.map +1 -1
  21. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +18 -19
  22. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  23. package/dist/esm/variables/components/VariableValueSelectors.js +0 -3
  24. package/dist/esm/variables/components/VariableValueSelectors.js.map +1 -1
  25. package/dist/esm/variables/constants.js +1 -2
  26. package/dist/esm/variables/constants.js.map +1 -1
  27. package/dist/esm/variables/groupby/DefaultGroupByCustomIndicatorContainer.js +102 -0
  28. package/dist/esm/variables/groupby/DefaultGroupByCustomIndicatorContainer.js.map +1 -0
  29. package/dist/esm/variables/groupby/GroupByVariable.js +40 -7
  30. package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
  31. package/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +31 -7
  32. package/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js.map +1 -1
  33. package/dist/esm/variables/sets/SceneVariableSet.js +7 -10
  34. package/dist/esm/variables/sets/SceneVariableSet.js.map +1 -1
  35. package/dist/esm/variables/types.js.map +1 -1
  36. package/dist/index.d.ts +60 -56
  37. package/dist/index.js +311 -122
  38. package/dist/index.js.map +1 -1
  39. package/package.json +2 -2
  40. package/dist/esm/variables/variants/ScopesVariable.js +0 -80
  41. package/dist/esm/variables/variants/ScopesVariable.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/scenes",
3
- "version": "6.12.0--canary.1121.15045230319.0",
3
+ "version": "6.12.0--canary.1122.15063334499.0",
4
4
  "description": "Grafana framework for building dynamic dashboards",
5
5
  "author": "Grafana Labs",
6
6
  "license": "AGPL-3.0-only",
@@ -116,5 +116,5 @@
116
116
  "prettier --write"
117
117
  ]
118
118
  },
119
- "gitHead": "2c8ded7d9fffe2fd3fc9e6c41905527927bfefe9"
119
+ "gitHead": "773d166cf842ed72b3656d280ae174655105c0ff"
120
120
  }
@@ -1,80 +0,0 @@
1
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
2
- import { SceneVariableValueChangedEvent } from '../types.js';
3
- import { ScopesContext } from '@grafana/runtime';
4
- import React, { useContext, useEffect } from 'react';
5
- import { VariableHide } from '@grafana/schema';
6
- import { SCOPES_VARIABLE_NAME } from '../constants.js';
7
-
8
- class ScopesVariable extends SceneObjectBase {
9
- constructor(state) {
10
- super({
11
- skipUrlSync: true,
12
- loading: true,
13
- scopes: [],
14
- ...state,
15
- type: "system",
16
- name: SCOPES_VARIABLE_NAME,
17
- hide: VariableHide.hideVariable
18
- });
19
- this._renderBeforeActivation = true;
20
- }
21
- /**
22
- * Temporary simple implementation to stringify the scopes.
23
- */
24
- getValue(fieldPath) {
25
- var _a;
26
- const scopes = (_a = this.state.scopes) != null ? _a : [];
27
- const scopeNames = scopes.map((scope) => scope.metadata.name);
28
- return scopeNames.join(", ");
29
- }
30
- getScopes() {
31
- return this.state.scopes;
32
- }
33
- /**
34
- * This method is used to keep the context up to date with the scopes context received from React
35
- * 1) Subscribes to ScopesContext state changes and synchronizes it with the variable state
36
- * 2) Handles enable / disabling of scopes based on variable enable option.
37
- */
38
- setContext(context) {
39
- if (!context) {
40
- return;
41
- }
42
- this._context = context;
43
- const oldState = context.state;
44
- if (this.state.enable != null) {
45
- context.setEnabled(this.state.enable);
46
- }
47
- const sub = context.stateObservable.subscribe((state) => {
48
- this.updateStateFromContext(state);
49
- });
50
- return () => {
51
- sub.unsubscribe();
52
- if (this.state.enable != null) {
53
- context.setEnabled(oldState.enabled);
54
- }
55
- };
56
- }
57
- updateStateFromContext(state) {
58
- const loading = state.value.length === 0 ? false : state.loading;
59
- this.setState({ scopes: state.value, loading });
60
- if (!loading) {
61
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
62
- }
63
- }
64
- /**
65
- * Special function that enables variables to be hidden but still render to access react contexts
66
- */
67
- hiddenRender() {
68
- return /* @__PURE__ */ React.createElement(ScopesVariableRenderer, { model: this });
69
- }
70
- }
71
- function ScopesVariableRenderer({ model }) {
72
- const context = useContext(ScopesContext);
73
- useEffect(() => {
74
- return model.setContext(context);
75
- }, [context, model]);
76
- return null;
77
- }
78
-
79
- export { ScopesVariable };
80
- //# sourceMappingURL=ScopesVariable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScopesVariable.js","sources":["../../../../src/variables/variants/ScopesVariable.tsx"],"sourcesContent":["import { SceneObjectBase } from '../../core/SceneObjectBase';\nimport { SceneVariable, SceneVariableState, SceneVariableValueChangedEvent, VariableValue } from '../types';\nimport { Scope } from '@grafana/data';\nimport { SceneComponentProps } from '../../core/types';\nimport { ScopesContext, ScopesContextValue } from '@grafana/runtime';\nimport React, { ReactNode, useContext, useEffect } from 'react';\nimport { VariableHide } from '@grafana/schema';\nimport { SCOPES_VARIABLE_NAME } from '../constants';\n\nexport interface ScopesVariableState extends SceneVariableState {\n /**\n * Last captured state from ScopesContext\n */\n scopes: Scope[];\n /**\n * Set to true if you want to the variable to enable / disable scopes when activated / deactivated\n */\n enable?: boolean;\n}\n\nexport class ScopesVariable extends SceneObjectBase<ScopesVariableState> implements SceneVariable<ScopesVariableState> {\n protected _renderBeforeActivation = true;\n protected _context: ScopesContextValue | undefined;\n\n public constructor(state: Partial<ScopesVariableState>) {\n super({\n skipUrlSync: true,\n loading: true,\n scopes: [],\n ...state,\n type: 'system',\n name: SCOPES_VARIABLE_NAME,\n hide: VariableHide.hideVariable,\n });\n }\n\n /**\n * Temporary simple implementation to stringify the scopes.\n */\n public getValue(fieldPath: string): VariableValue {\n const scopes = this.state.scopes ?? [];\n const scopeNames = scopes.map((scope) => scope.metadata.name);\n return scopeNames.join(', ');\n }\n\n public getScopes(): Scope[] | undefined {\n return this.state.scopes;\n }\n\n /**\n * This method is used to keep the context up to date with the scopes context received from React\n * 1) Subscribes to ScopesContext state changes and synchronizes it with the variable state\n * 2) Handles enable / disabling of scopes based on variable enable option.\n */\n public setContext(context: ScopesContextValue | undefined) {\n if (!context) {\n return;\n }\n\n this._context = context;\n\n const oldState = context.state;\n\n // Update scopes enable state if state.enable is defined\n if (this.state.enable != null) {\n context.setEnabled(this.state.enable);\n }\n\n // Subscribe to context state changes\n const sub = context.stateObservable.subscribe((state) => {\n this.updateStateFromContext(state);\n });\n\n return () => {\n sub.unsubscribe();\n\n if (this.state.enable != null) {\n context.setEnabled(oldState.enabled);\n }\n };\n }\n\n public updateStateFromContext(state: { loading: boolean; value: Scope[] }) {\n // There was logic in SceneQueryRunner that said if there are no scopes then loading state should not block query execution\n const loading = state.value.length === 0 ? false : state.loading;\n this.setState({ scopes: state.value, loading });\n\n if (!loading) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n\n /**\n * Special function that enables variables to be hidden but still render to access react contexts\n */\n public hiddenRender(): ReactNode {\n return <ScopesVariableRenderer model={this} />;\n }\n}\n\nfunction ScopesVariableRenderer({ model }: SceneComponentProps<ScopesVariable>) {\n const context = useContext(ScopesContext);\n\n useEffect(() => {\n return model.setContext(context);\n }, [context, model]);\n\n return null;\n}\n"],"names":[],"mappings":";;;;;;;AAoBO,MAAM,uBAAuB,eAAmF,CAAA;AAAA,EAI9G,YAAY,KAAqC,EAAA;AACtD,IAAM,KAAA,CAAA;AAAA,MACJ,WAAa,EAAA,IAAA;AAAA,MACb,OAAS,EAAA,IAAA;AAAA,MACT,QAAQ,EAAC;AAAA,MACT,GAAG,KAAA;AAAA,MACH,IAAM,EAAA,QAAA;AAAA,MACN,IAAM,EAAA,oBAAA;AAAA,MACN,MAAM,YAAa,CAAA;AAAA,KACpB,CAAA;AAZH,IAAA,IAAA,CAAU,uBAA0B,GAAA,IAAA;AAAA;AAapC;AAAA;AAAA;AAAA,EAKO,SAAS,SAAkC,EAAA;AAvCpD,IAAA,IAAA,EAAA;AAwCI,IAAA,MAAM,MAAS,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,KAAM,CAAA,MAAA,KAAX,YAAqB,EAAC;AACrC,IAAA,MAAM,aAAa,MAAO,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA,KAAA,CAAM,SAAS,IAAI,CAAA;AAC5D,IAAO,OAAA,UAAA,CAAW,KAAK,IAAI,CAAA;AAAA;AAC7B,EAEO,SAAiC,GAAA;AACtC,IAAA,OAAO,KAAK,KAAM,CAAA,MAAA;AAAA;AACpB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,WAAW,OAAyC,EAAA;AACzD,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA;AAAA;AAGF,IAAA,IAAA,CAAK,QAAW,GAAA,OAAA;AAEhB,IAAA,MAAM,WAAW,OAAQ,CAAA,KAAA;AAGzB,IAAI,IAAA,IAAA,CAAK,KAAM,CAAA,MAAA,IAAU,IAAM,EAAA;AAC7B,MAAQ,OAAA,CAAA,UAAA,CAAW,IAAK,CAAA,KAAA,CAAM,MAAM,CAAA;AAAA;AAItC,IAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,eAAgB,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AACvD,MAAA,IAAA,CAAK,uBAAuB,KAAK,CAAA;AAAA,KAClC,CAAA;AAED,IAAA,OAAO,MAAM;AACX,MAAA,GAAA,CAAI,WAAY,EAAA;AAEhB,MAAI,IAAA,IAAA,CAAK,KAAM,CAAA,MAAA,IAAU,IAAM,EAAA;AAC7B,QAAQ,OAAA,CAAA,UAAA,CAAW,SAAS,OAAO,CAAA;AAAA;AACrC,KACF;AAAA;AACF,EAEO,uBAAuB,KAA6C,EAAA;AAEzE,IAAA,MAAM,UAAU,KAAM,CAAA,KAAA,CAAM,MAAW,KAAA,CAAA,GAAI,QAAQ,KAAM,CAAA,OAAA;AACzD,IAAA,IAAA,CAAK,SAAS,EAAE,MAAA,EAAQ,KAAM,CAAA,KAAA,EAAO,SAAS,CAAA;AAE9C,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,IAAA,CAAK,YAAa,CAAA,IAAI,8BAA+B,CAAA,IAAI,GAAG,IAAI,CAAA;AAAA;AAClE;AACF;AAAA;AAAA;AAAA,EAKO,YAA0B,GAAA;AAC/B,IAAO,uBAAA,KAAA,CAAA,aAAA,CAAC,sBAAuB,EAAA,EAAA,KAAA,EAAO,IAAM,EAAA,CAAA;AAAA;AAEhD;AAEA,SAAS,sBAAA,CAAuB,EAAE,KAAA,EAA8C,EAAA;AAC9E,EAAM,MAAA,OAAA,GAAU,WAAW,aAAa,CAAA;AAExC,EAAA,SAAA,CAAU,MAAM;AACd,IAAO,OAAA,KAAA,CAAM,WAAW,OAAO,CAAA;AAAA,GAC9B,EAAA,CAAC,OAAS,EAAA,KAAK,CAAC,CAAA;AAEnB,EAAO,OAAA,IAAA;AACT;;;;"}