@grafana/scenes 6.7.0--canary.1091.14350229100.0 → 6.8.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 +25 -0
- package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +33 -0
- package/dist/esm/dist/esm/behaviors/CursorSync.js +76 -0
- package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +44 -0
- package/dist/esm/dist/esm/behaviors/SceneQueryController.js +14 -0
- package/dist/esm/dist/esm/components/EmbeddedScene.js +59 -0
- package/dist/esm/dist/esm/components/NestedScene.js +95 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +27 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +176 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +104 -0
- package/dist/esm/dist/esm/components/SceneApp/utils.js +42 -0
- package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +41 -0
- package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +55 -0
- package/dist/esm/dist/esm/components/SceneCanvasText.js +32 -0
- package/dist/esm/dist/esm/components/SceneControlsSpacer.js +17 -0
- package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +82 -0
- package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +72 -0
- package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +77 -0
- package/dist/esm/dist/esm/components/SceneReactObject.js +34 -0
- package/dist/esm/dist/esm/components/SceneRefreshPicker.js +205 -0
- package/dist/esm/dist/esm/components/SceneTimePicker.js +139 -0
- package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +240 -0
- package/dist/esm/dist/esm/components/SceneToolbarButton.js +33 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +406 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +44 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +59 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +285 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +45 -0
- package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +72 -0
- package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +11 -0
- package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
- package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
- package/dist/esm/dist/esm/components/layout/LazyLoader.js +103 -0
- package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +135 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +30 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +283 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +190 -0
- package/dist/esm/dist/esm/components/layout/grid/constants.js +7 -0
- package/dist/esm/dist/esm/components/layout/grid/utils.js +36 -0
- package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +17 -0
- package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +29 -0
- package/dist/esm/dist/esm/components/layout/split/Splitter.js +386 -0
- package/dist/esm/dist/esm/core/SceneComponentWrapper.js +57 -0
- package/dist/esm/dist/esm/core/SceneDataNode.js +43 -0
- package/dist/esm/dist/esm/core/SceneObjectBase.js +286 -0
- package/dist/esm/dist/esm/core/SceneObjectRef.js +32 -0
- package/dist/esm/dist/esm/core/SceneTimeRange.js +231 -0
- package/dist/esm/dist/esm/core/events.js +11 -0
- package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +10 -0
- package/dist/esm/dist/esm/core/sceneGraph/index.js +25 -0
- package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +178 -0
- package/dist/esm/dist/esm/core/sceneGraph/utils.js +64 -0
- package/dist/esm/dist/esm/core/types.js +15 -0
- package/dist/esm/dist/esm/querying/DataLayersMerger.js +46 -0
- package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +6 -0
- package/dist/esm/dist/esm/querying/RuntimeDataSource.js +6 -0
- package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +100 -0
- package/dist/esm/dist/esm/querying/SceneQueryRunner.js +468 -0
- package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +46 -0
- package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +12 -0
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +112 -0
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +51 -0
- package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
- package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +85 -0
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +121 -0
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
- package/dist/esm/dist/esm/querying/layers/annotations/utils.js +77 -0
- package/dist/esm/dist/esm/querying/registerQueryWithController.js +41 -0
- package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +30 -0
- package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +45 -0
- package/dist/esm/dist/esm/services/UrlSyncManager.js +167 -0
- package/dist/esm/dist/esm/services/useUrlSync.js +29 -0
- package/dist/esm/dist/esm/services/utils.js +71 -0
- package/dist/esm/dist/esm/utils/ControlsLabel.js +107 -0
- package/dist/esm/dist/esm/utils/LoadingIndicator.js +19 -0
- package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +39 -0
- package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
- package/dist/esm/dist/esm/utils/date.js +15 -0
- package/dist/esm/dist/esm/utils/evaluateTimeRange.js +16 -0
- package/dist/esm/dist/esm/utils/explore.js +47 -0
- package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +4 -0
- package/dist/esm/dist/esm/utils/getDataSource.js +18 -0
- package/dist/esm/dist/esm/utils/getMessageFromError.js +24 -0
- package/dist/esm/dist/esm/utils/metricTree.js +53 -0
- package/dist/esm/dist/esm/utils/parseUrlParam.js +41 -0
- package/dist/esm/dist/esm/utils/utils.js +11 -0
- package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +30 -0
- package/dist/esm/dist/esm/utils/writeSceneLog.js +12 -0
- package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +150 -0
- package/dist/esm/dist/esm/variables/VariableValueRecorder.js +71 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +24 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +303 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +289 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
- package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +13 -0
- package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +47 -0
- package/dist/esm/dist/esm/variables/components/VariableValueControl.js +23 -0
- package/dist/esm/dist/esm/variables/components/VariableValueInput.js +33 -0
- package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +228 -0
- package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +72 -0
- package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +15 -0
- package/dist/esm/dist/esm/variables/constants.js +9 -0
- package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +12 -0
- package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +259 -0
- package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
- package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
- package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +40 -0
- package/dist/esm/dist/esm/variables/interpolation/defaults.js +21 -0
- package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +296 -0
- package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +87 -0
- package/dist/esm/dist/esm/variables/lookupVariable.js +20 -0
- package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +57 -0
- package/dist/esm/dist/esm/variables/macros/contextMacros.js +43 -0
- package/dist/esm/dist/esm/variables/macros/dataMacros.js +134 -0
- package/dist/esm/dist/esm/variables/macros/index.js +26 -0
- package/dist/esm/dist/esm/variables/macros/templateProxies.js +51 -0
- package/dist/esm/dist/esm/variables/macros/timeMacros.js +86 -0
- package/dist/esm/dist/esm/variables/macros/types.js +11 -0
- package/dist/esm/dist/esm/variables/macros/urlMacros.js +56 -0
- package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +254 -0
- package/dist/esm/dist/esm/variables/types.js +11 -0
- package/dist/esm/dist/esm/variables/utils.js +172 -0
- package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +38 -0
- package/dist/esm/dist/esm/variables/variants/CustomVariable.js +60 -0
- package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +88 -0
- package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +117 -0
- package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +295 -0
- package/dist/esm/dist/esm/variables/variants/TestVariable.js +117 -0
- package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +61 -0
- package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +139 -0
- package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +129 -0
- package/dist/esm/dist/esm/variables/variants/query/guards.js +28 -0
- package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +96 -0
- package/dist/esm/dist/esm/variables/variants/query/utils.js +124 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/DataProviderSharer.js +39 -0
- package/dist/esm/src/behaviors/ActWhenVariableChanged.js +27 -0
- package/dist/esm/src/behaviors/CursorSync.js +76 -0
- package/dist/esm/src/behaviors/LiveNowTimer.js +44 -0
- package/dist/esm/src/behaviors/SceneQueryController.js +60 -0
- package/dist/esm/src/behaviors/index.js +5 -0
- package/dist/esm/src/components/EmbeddedScene.js +59 -0
- package/dist/esm/src/components/NestedScene.js +95 -0
- package/dist/esm/src/components/SceneApp/SceneApp.js +37 -0
- package/dist/esm/src/components/SceneApp/SceneAppPage.js +176 -0
- package/dist/esm/src/components/SceneApp/SceneAppPageView.js +104 -0
- package/dist/esm/src/components/SceneApp/utils.js +42 -0
- package/dist/esm/src/components/SceneByFrameRepeater.js +41 -0
- package/dist/esm/src/components/SceneByVariableRepeater.js +55 -0
- package/dist/esm/src/components/SceneCanvasText.js +32 -0
- package/dist/esm/src/components/SceneControlsSpacer.js +17 -0
- package/dist/esm/src/components/SceneDebugger/DebugDetails.js +82 -0
- package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +72 -0
- package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +77 -0
- package/dist/esm/src/components/SceneReactObject.js +34 -0
- package/dist/esm/src/components/SceneRefreshPicker.js +205 -0
- package/dist/esm/src/components/SceneTimePicker.js +139 -0
- package/dist/esm/src/components/SceneTimeRangeCompare.js +240 -0
- package/dist/esm/src/components/SceneToolbarButton.js +33 -0
- package/dist/esm/src/components/VizPanel/VizPanel.js +406 -0
- package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +44 -0
- package/dist/esm/src/components/VizPanel/VizPanelMenu.js +59 -0
- package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +285 -0
- package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +45 -0
- package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +72 -0
- package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +56 -0
- package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
- package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
- package/dist/esm/src/components/layout/LazyLoader.js +103 -0
- package/dist/esm/src/components/layout/SceneFlexLayout.js +135 -0
- package/dist/esm/src/components/layout/grid/SceneGridItem.js +30 -0
- package/dist/esm/src/components/layout/grid/SceneGridLayout.js +283 -0
- package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
- package/dist/esm/src/components/layout/grid/SceneGridRow.js +190 -0
- package/dist/esm/src/components/layout/grid/constants.js +7 -0
- package/dist/esm/src/components/layout/grid/utils.js +36 -0
- package/dist/esm/src/components/layout/split/SplitLayout.js +17 -0
- package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +29 -0
- package/dist/esm/src/components/layout/split/Splitter.js +386 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +100 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +75 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +75 -0
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +22 -0
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +85 -0
- package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +52 -0
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +78 -0
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +114 -0
- package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +162 -0
- package/dist/esm/src/core/PanelBuilders/index.js +116 -0
- package/dist/esm/src/core/SceneComponentWrapper.js +57 -0
- package/dist/esm/src/core/SceneDataNode.js +43 -0
- package/dist/esm/src/core/SceneObjectBase.js +286 -0
- package/dist/esm/src/core/SceneObjectRef.js +32 -0
- package/dist/esm/src/core/SceneTimeRange.js +231 -0
- package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +35 -0
- package/dist/esm/src/core/SceneTimeZoneOverride.js +63 -0
- package/dist/esm/src/core/events.js +11 -0
- package/dist/esm/src/core/sceneGraph/getTimeRange.js +10 -0
- package/dist/esm/src/core/sceneGraph/index.js +25 -0
- package/dist/esm/src/core/sceneGraph/sceneGraph.js +178 -0
- package/dist/esm/src/core/sceneGraph/utils.js +64 -0
- package/dist/esm/src/core/types.js +15 -0
- package/dist/esm/src/index.js +108 -0
- package/dist/esm/src/querying/DataLayersMerger.js +46 -0
- package/dist/esm/src/querying/DataProviderProxy.js +37 -0
- package/dist/esm/src/querying/DataProviderSharer.js +108 -0
- package/dist/esm/src/querying/ExtraQueryProvider.js +6 -0
- package/dist/esm/src/querying/RuntimeDataSource.js +49 -0
- package/dist/esm/src/querying/SceneDataLayerSet.js +100 -0
- package/dist/esm/src/querying/SceneDataTransformer.js +178 -0
- package/dist/esm/src/querying/SceneQueryRunner.js +468 -0
- package/dist/esm/src/querying/extraQueryProcessingOperator.js +46 -0
- package/dist/esm/src/querying/getEnrichedDataRequest.js +12 -0
- package/dist/esm/src/querying/layers/SceneDataLayerBase.js +112 -0
- package/dist/esm/src/querying/layers/SceneDataLayerControls.js +51 -0
- package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
- package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +85 -0
- package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +121 -0
- package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
- package/dist/esm/src/querying/layers/annotations/utils.js +77 -0
- package/dist/esm/src/querying/layers/index.js +2 -0
- package/dist/esm/src/querying/registerQueryWithController.js +41 -0
- package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +30 -0
- package/dist/esm/src/services/UniqueUrlKeyMapper.js +45 -0
- package/dist/esm/src/services/UrlSyncContextProvider.js +17 -0
- package/dist/esm/src/services/UrlSyncManager.js +167 -0
- package/dist/esm/src/services/useUrlSync.js +29 -0
- package/dist/esm/src/services/utils.js +75 -0
- package/dist/esm/src/utils/ControlsLabel.js +107 -0
- package/dist/esm/src/utils/LoadingIndicator.js +19 -0
- package/dist/esm/src/utils/SafeSerializableSceneObject.js +39 -0
- package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
- package/dist/esm/src/utils/date.js +15 -0
- package/dist/esm/src/utils/evaluateTimeRange.js +16 -0
- package/dist/esm/src/utils/explore.js +47 -0
- package/dist/esm/src/utils/getCompareSeriesRefId.js +4 -0
- package/dist/esm/src/utils/getDataSource.js +18 -0
- package/dist/esm/src/utils/getMessageFromError.js +24 -0
- package/dist/esm/src/utils/metricTree.js +53 -0
- package/dist/esm/src/utils/parseUrlParam.js +41 -0
- package/dist/esm/src/utils/utils.js +11 -0
- package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +30 -0
- package/dist/esm/src/utils/writeSceneLog.js +12 -0
- package/dist/esm/src/variables/VariableDependencyConfig.js +150 -0
- package/dist/esm/src/variables/VariableValueRecorder.js +71 -0
- package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +24 -0
- package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +303 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +289 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
- package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +13 -0
- package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +47 -0
- package/dist/esm/src/variables/components/VariableValueControl.js +23 -0
- package/dist/esm/src/variables/components/VariableValueInput.js +33 -0
- package/dist/esm/src/variables/components/VariableValueSelect.js +228 -0
- package/dist/esm/src/variables/components/VariableValueSelectors.js +72 -0
- package/dist/esm/src/variables/components/getOptionSearcher.js +15 -0
- package/dist/esm/src/variables/constants.js +9 -0
- package/dist/esm/src/variables/getEnrichedFiltersRequest.js +12 -0
- package/dist/esm/src/variables/groupby/GroupByVariable.js +259 -0
- package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
- package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
- package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +40 -0
- package/dist/esm/src/variables/interpolation/defaults.js +21 -0
- package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/src/variables/interpolation/formatRegistry.js +296 -0
- package/dist/esm/src/variables/interpolation/sceneInterpolator.js +87 -0
- package/dist/esm/src/variables/lookupVariable.js +20 -0
- package/dist/esm/src/variables/macros/AllVariablesMacro.js +57 -0
- package/dist/esm/src/variables/macros/contextMacros.js +43 -0
- package/dist/esm/src/variables/macros/dataMacros.js +134 -0
- package/dist/esm/src/variables/macros/index.js +35 -0
- package/dist/esm/src/variables/macros/templateProxies.js +51 -0
- package/dist/esm/src/variables/macros/timeMacros.js +86 -0
- package/dist/esm/src/variables/macros/types.js +11 -0
- package/dist/esm/src/variables/macros/urlMacros.js +56 -0
- package/dist/esm/src/variables/sets/SceneVariableSet.js +254 -0
- package/dist/esm/src/variables/types.js +11 -0
- package/dist/esm/src/variables/utils.js +172 -0
- package/dist/esm/src/variables/variants/ConstantVariable.js +38 -0
- package/dist/esm/src/variables/variants/CustomVariable.js +60 -0
- package/dist/esm/src/variables/variants/DataSourceVariable.js +88 -0
- package/dist/esm/src/variables/variants/IntervalVariable.js +117 -0
- package/dist/esm/src/variables/variants/JsonVariable.js +193 -0
- package/dist/esm/src/variables/variants/LocalValueVariable.js +56 -0
- package/dist/esm/src/variables/variants/MultiValueVariable.js +295 -0
- package/dist/esm/src/variables/variants/TestVariable.js +117 -0
- package/dist/esm/src/variables/variants/TextBoxVariable.js +61 -0
- package/dist/esm/src/variables/variants/guards.js +27 -0
- package/dist/esm/src/variables/variants/query/QueryVariable.js +139 -0
- package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +129 -0
- package/dist/esm/src/variables/variants/query/guards.js +28 -0
- package/dist/esm/src/variables/variants/query/toMetricFindValues.js +96 -0
- package/dist/esm/src/variables/variants/query/utils.js +124 -0
- package/dist/esm/variables/components/VariableValueSelect.js +13 -9
- package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
- package/dist/esm/variables/variants/ConstantVariable.js +22 -0
- package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
- package/dist/esm/variables/variants/CustomVariable.js +3 -2
- package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
- package/dist/esm/variables/variants/DataSourceVariable.js +3 -2
- package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
- package/dist/esm/variables/variants/JsonVariable.js +96 -0
- package/dist/esm/variables/variants/TestVariable.js +3 -2
- package/dist/esm/variables/variants/TestVariable.js.map +1 -1
- package/dist/esm/variables/variants/json/JsonVariable.js +95 -0
- package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +70 -0
- package/dist/esm/variables/variants/query/QueryVariable.js +3 -2
- package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
- package/dist/index.d.ts +14 -6
- package/dist/index.js +35 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { PluginPage } from '@grafana/runtime';
|
|
2
|
+
import React, { useContext, useLayoutEffect, useEffect } from 'react';
|
|
3
|
+
import { SceneDebugger } from '../SceneDebugger/SceneDebugger.js';
|
|
4
|
+
import { SceneAppPage } from './SceneAppPage.js';
|
|
5
|
+
import { useAppQueryParams, getUrlWithAppState, renderSceneComponentWithRouteProps } from './utils.js';
|
|
6
|
+
import { useUrlSync } from '../../services/useUrlSync.js';
|
|
7
|
+
import { SceneAppContext } from './SceneApp.js';
|
|
8
|
+
import { useLocationServiceSafe } from '../../utils/utils.js';
|
|
9
|
+
|
|
10
|
+
function SceneAppPageView({ page, routeProps }) {
|
|
11
|
+
const containerPage = getParentPageIfTab(page);
|
|
12
|
+
const containerState = containerPage.useState();
|
|
13
|
+
const params = useAppQueryParams();
|
|
14
|
+
const scene = page.getScene(routeProps.match);
|
|
15
|
+
const appContext = useContext(SceneAppContext);
|
|
16
|
+
const isInitialized = containerState.initializedScene === scene;
|
|
17
|
+
const { layout } = page.state;
|
|
18
|
+
const locationService = useLocationServiceSafe();
|
|
19
|
+
useLayoutEffect(() => {
|
|
20
|
+
if (!isInitialized) {
|
|
21
|
+
containerPage.initializeScene(scene);
|
|
22
|
+
}
|
|
23
|
+
}, [scene, containerPage, isInitialized]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
return () => containerPage.setState({ initializedScene: void 0 });
|
|
26
|
+
}, [containerPage]);
|
|
27
|
+
const urlSyncInitialized = useUrlSync(containerPage, appContext == null ? void 0 : appContext.state.urlSyncOptions);
|
|
28
|
+
if (!isInitialized && !urlSyncInitialized) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const pageNav = {
|
|
32
|
+
text: containerState.title,
|
|
33
|
+
img: containerState.titleImg,
|
|
34
|
+
icon: containerState.titleIcon,
|
|
35
|
+
url: getUrlWithAppState(containerState.url, locationService.getSearchObject(), containerState.preserveUrlKeys),
|
|
36
|
+
hideFromBreadcrumbs: containerState.hideFromBreadcrumbs,
|
|
37
|
+
parentItem: getParentBreadcrumbs(
|
|
38
|
+
containerState.getParentPage ? containerState.getParentPage() : containerPage.parent,
|
|
39
|
+
params,
|
|
40
|
+
locationService.getSearchObject()
|
|
41
|
+
)
|
|
42
|
+
};
|
|
43
|
+
if (containerState.tabs) {
|
|
44
|
+
pageNav.children = containerState.tabs.map((tab) => {
|
|
45
|
+
return {
|
|
46
|
+
text: tab.state.title,
|
|
47
|
+
icon: tab.state.titleIcon,
|
|
48
|
+
tabSuffix: tab.state.tabSuffix,
|
|
49
|
+
active: page === tab,
|
|
50
|
+
url: getUrlWithAppState(tab.state.url, locationService.getSearchObject(), tab.state.preserveUrlKeys),
|
|
51
|
+
parentItem: pageNav
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
let pageActions = [];
|
|
56
|
+
if (containerState.controls) {
|
|
57
|
+
pageActions = containerState.controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {
|
|
58
|
+
model: control,
|
|
59
|
+
key: control.state.key
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
if (params["scene-debugger"]) {
|
|
63
|
+
pageActions.push(/* @__PURE__ */ React.createElement(SceneDebugger, {
|
|
64
|
+
scene: containerPage,
|
|
65
|
+
key: "scene-debugger"
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
return /* @__PURE__ */ React.createElement(PluginPage, {
|
|
69
|
+
layout,
|
|
70
|
+
pageNav,
|
|
71
|
+
actions: pageActions,
|
|
72
|
+
renderTitle: containerState.renderTitle,
|
|
73
|
+
subTitle: containerState.subTitle
|
|
74
|
+
}, /* @__PURE__ */ React.createElement(scene.Component, {
|
|
75
|
+
model: scene
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
function getParentPageIfTab(page) {
|
|
79
|
+
if (page.parent instanceof SceneAppPage) {
|
|
80
|
+
return page.parent;
|
|
81
|
+
}
|
|
82
|
+
return page;
|
|
83
|
+
}
|
|
84
|
+
function getParentBreadcrumbs(parent, params, searchObject) {
|
|
85
|
+
if (parent instanceof SceneAppPage) {
|
|
86
|
+
return {
|
|
87
|
+
text: parent.state.title,
|
|
88
|
+
url: getUrlWithAppState(parent.state.url, searchObject, parent.state.preserveUrlKeys),
|
|
89
|
+
hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,
|
|
90
|
+
parentItem: getParentBreadcrumbs(
|
|
91
|
+
parent.state.getParentPage ? parent.state.getParentPage() : parent.parent,
|
|
92
|
+
params,
|
|
93
|
+
searchObject
|
|
94
|
+
)
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return void 0;
|
|
98
|
+
}
|
|
99
|
+
function SceneAppDrilldownViewRender({ drilldown, parent, routeProps }) {
|
|
100
|
+
return renderSceneComponentWithRouteProps(parent.getDrilldownPage(drilldown, routeProps.match), routeProps);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { SceneAppDrilldownViewRender, SceneAppPageView };
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVBcHBQYWdlVmlldy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU2NlbmVBcHAvU2NlbmVBcHBQYWdlVmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2TW9kZWxJdGVtLCBVcmxRdWVyeU1hcCB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgUGx1Z2luUGFnZSB9IGZyb20gJ0BncmFmYW5hL3J1bnRpbWUnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBSb3V0ZUNvbXBvbmVudFByb3BzIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgU2NlbmVEZWJ1Z2dlciB9IGZyb20gJy4uL1NjZW5lRGVidWdnZXIvU2NlbmVEZWJ1Z2dlcic7XG5pbXBvcnQgeyBTY2VuZUFwcFBhZ2UgfSBmcm9tICcuL1NjZW5lQXBwUGFnZSc7XG5pbXBvcnQgeyBTY2VuZUFwcERyaWxsZG93blZpZXcsIFNjZW5lQXBwUGFnZUxpa2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldFVybFdpdGhBcHBTdGF0ZSwgcmVuZGVyU2NlbmVDb21wb25lbnRXaXRoUm91dGVQcm9wcywgdXNlQXBwUXVlcnlQYXJhbXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVVybFN5bmMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VVcmxTeW5jJztcbmltcG9ydCB7IFNjZW5lQXBwQ29udGV4dCB9IGZyb20gJy4vU2NlbmVBcHAnO1xuaW1wb3J0IHsgdXNlTG9jYXRpb25TZXJ2aWNlU2FmZSB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9wcyB7XG4gIHBhZ2U6IFNjZW5lQXBwUGFnZUxpa2U7XG4gIHJvdXRlUHJvcHM6IFJvdXRlQ29tcG9uZW50UHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTY2VuZUFwcFBhZ2VWaWV3KHsgcGFnZSwgcm91dGVQcm9wcyB9OiBQcm9wcykge1xuICBjb25zdCBjb250YWluZXJQYWdlID0gZ2V0UGFyZW50UGFnZUlmVGFiKHBhZ2UpO1xuICBjb25zdCBjb250YWluZXJTdGF0ZSA9IGNvbnRhaW5lclBhZ2UudXNlU3RhdGUoKTtcbiAgY29uc3QgcGFyYW1zID0gdXNlQXBwUXVlcnlQYXJhbXMoKTtcbiAgY29uc3Qgc2NlbmUgPSBwYWdlLmdldFNjZW5lKHJvdXRlUHJvcHMubWF0Y2gpO1xuICBjb25zdCBhcHBDb250ZXh0ID0gdXNlQ29udGV4dChTY2VuZUFwcENvbnRleHQpO1xuICBjb25zdCBpc0luaXRpYWxpemVkID0gY29udGFpbmVyU3RhdGUuaW5pdGlhbGl6ZWRTY2VuZSA9PT0gc2NlbmU7XG4gIGNvbnN0IHsgbGF5b3V0IH0gPSBwYWdlLnN0YXRlO1xuICBjb25zdCBsb2NhdGlvblNlcnZpY2UgPSB1c2VMb2NhdGlvblNlcnZpY2VTYWZlKCk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAvLyBCZWZvcmUgcmVuZGVyaW5nIHNjZW5lIGNvbXBvbmVudHMsIHdlIGFyZSBtYWtpbmcgc3VyZSB0aGUgVVJMIHN5bmMgaXMgZW5hYmxlZCBmb3IuXG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICBjb250YWluZXJQYWdlLmluaXRpYWxpemVTY2VuZShzY2VuZSk7XG4gICAgfVxuICB9LCBbc2NlbmUsIGNvbnRhaW5lclBhZ2UsIGlzSW5pdGlhbGl6ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIENsZWFyIGluaXRpYWxpemVkU2NlbmUgd2hlbiB1bm1vdW50aW5nXG4gICAgcmV0dXJuICgpID0+IGNvbnRhaW5lclBhZ2Uuc2V0U3RhdGUoeyBpbml0aWFsaXplZFNjZW5lOiB1bmRlZmluZWQgfSk7XG4gIH0sIFtjb250YWluZXJQYWdlXSk7XG5cbiAgY29uc3QgdXJsU3luY0luaXRpYWxpemVkID0gdXNlVXJsU3luYyhjb250YWluZXJQYWdlLCBhcHBDb250ZXh0Py5zdGF0ZS51cmxTeW5jT3B0aW9ucyk7XG5cbiAgaWYgKCFpc0luaXRpYWxpemVkICYmICF1cmxTeW5jSW5pdGlhbGl6ZWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHBhZ2VOYXY6IE5hdk1vZGVsSXRlbSA9IHtcbiAgICB0ZXh0OiBjb250YWluZXJTdGF0ZS50aXRsZSxcbiAgICBpbWc6IGNvbnRhaW5lclN0YXRlLnRpdGxlSW1nLFxuICAgIGljb246IGNvbnRhaW5lclN0YXRlLnRpdGxlSWNvbixcbiAgICB1cmw6IGdldFVybFdpdGhBcHBTdGF0ZShjb250YWluZXJTdGF0ZS51cmwsIGxvY2F0aW9uU2VydmljZS5nZXRTZWFyY2hPYmplY3QoKSwgY29udGFpbmVyU3RhdGUucHJlc2VydmVVcmxLZXlzKSxcbiAgICBoaWRlRnJvbUJyZWFkY3J1bWJzOiBjb250YWluZXJTdGF0ZS5oaWRlRnJvbUJyZWFkY3J1bWJzLFxuICAgIHBhcmVudEl0ZW06IGdldFBhcmVudEJyZWFkY3J1bWJzKFxuICAgICAgY29udGFpbmVyU3RhdGUuZ2V0UGFyZW50UGFnZSA/IGNvbnRhaW5lclN0YXRlLmdldFBhcmVudFBhZ2UoKSA6IGNvbnRhaW5lclBhZ2UucGFyZW50LFxuICAgICAgcGFyYW1zLFxuICAgICAgbG9jYXRpb25TZXJ2aWNlLmdldFNlYXJjaE9iamVjdCgpXG4gICAgKSxcbiAgfTtcblxuICBpZiAoY29udGFpbmVyU3RhdGUudGFicykge1xuICAgIHBhZ2VOYXYuY2hpbGRyZW4gPSBjb250YWluZXJTdGF0ZS50YWJzLm1hcCgodGFiKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0ZXh0OiB0YWIuc3RhdGUudGl0bGUsXG4gICAgICAgIGljb246IHRhYi5zdGF0ZS50aXRsZUljb24sXG4gICAgICAgIHRhYlN1ZmZpeDogdGFiLnN0YXRlLnRhYlN1ZmZpeCxcbiAgICAgICAgYWN0aXZlOiBwYWdlID09PSB0YWIsXG4gICAgICAgIHVybDogZ2V0VXJsV2l0aEFwcFN0YXRlKHRhYi5zdGF0ZS51cmwsIGxvY2F0aW9uU2VydmljZS5nZXRTZWFyY2hPYmplY3QoKSwgdGFiLnN0YXRlLnByZXNlcnZlVXJsS2V5cyksXG4gICAgICAgIHBhcmVudEl0ZW06IHBhZ2VOYXYsXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgbGV0IHBhZ2VBY3Rpb25zOiBSZWFjdC5SZWFjdE5vZGVbXSA9IFtdO1xuICBpZiAoY29udGFpbmVyU3RhdGUuY29udHJvbHMpIHtcbiAgICBwYWdlQWN0aW9ucyA9IGNvbnRhaW5lclN0YXRlLmNvbnRyb2xzLm1hcCgoY29udHJvbCkgPT4gKFxuICAgICAgPGNvbnRyb2wuQ29tcG9uZW50IG1vZGVsPXtjb250cm9sfSBrZXk9e2NvbnRyb2wuc3RhdGUua2V5fSAvPlxuICAgICkpO1xuICB9XG5cbiAgaWYgKHBhcmFtc1snc2NlbmUtZGVidWdnZXInXSkge1xuICAgIHBhZ2VBY3Rpb25zLnB1c2goPFNjZW5lRGVidWdnZXIgc2NlbmU9e2NvbnRhaW5lclBhZ2V9IGtleT17J3NjZW5lLWRlYnVnZ2VyJ30gLz4pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8UGx1Z2luUGFnZVxuICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICBwYWdlTmF2PXtwYWdlTmF2fVxuICAgICAgYWN0aW9ucz17cGFnZUFjdGlvbnN9XG4gICAgICByZW5kZXJUaXRsZT17Y29udGFpbmVyU3RhdGUucmVuZGVyVGl0bGV9XG4gICAgICBzdWJUaXRsZT17Y29udGFpbmVyU3RhdGUuc3ViVGl0bGV9XG4gICAgPlxuICAgICAgPHNjZW5lLkNvbXBvbmVudCBtb2RlbD17c2NlbmV9IC8+XG4gICAgPC9QbHVnaW5QYWdlPlxuICApO1xufVxuXG4vKipcbiAqIEZvciBwYWdlcyB0aGF0IGFyZSBcInRhYnNcIiB0aGlzIHdpbGwgcmV0dXJuIHRoZSBwYXJlbnQgcGFnZVxuICovXG5mdW5jdGlvbiBnZXRQYXJlbnRQYWdlSWZUYWIocGFnZTogU2NlbmVBcHBQYWdlTGlrZSkge1xuICBpZiAocGFnZS5wYXJlbnQgaW5zdGFuY2VvZiBTY2VuZUFwcFBhZ2UpIHtcbiAgICByZXR1cm4gcGFnZS5wYXJlbnQ7XG4gIH1cblxuICByZXR1cm4gcGFnZTtcbn1cblxuZnVuY3Rpb24gZ2V0UGFyZW50QnJlYWRjcnVtYnMoXG4gIHBhcmVudDogU2NlbmVPYmplY3QgfCB1bmRlZmluZWQsXG4gIHBhcmFtczogVXJsUXVlcnlNYXAsXG4gIHNlYXJjaE9iamVjdDogVXJsUXVlcnlNYXBcbik6IE5hdk1vZGVsSXRlbSB8IHVuZGVmaW5lZCB7XG4gIGlmIChwYXJlbnQgaW5zdGFuY2VvZiBTY2VuZUFwcFBhZ2UpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogcGFyZW50LnN0YXRlLnRpdGxlLFxuICAgICAgdXJsOiBnZXRVcmxXaXRoQXBwU3RhdGUocGFyZW50LnN0YXRlLnVybCwgc2VhcmNoT2JqZWN0LCBwYXJlbnQuc3RhdGUucHJlc2VydmVVcmxLZXlzKSxcbiAgICAgIGhpZGVGcm9tQnJlYWRjcnVtYnM6IHBhcmVudC5zdGF0ZS5oaWRlRnJvbUJyZWFkY3J1bWJzLFxuICAgICAgcGFyZW50SXRlbTogZ2V0UGFyZW50QnJlYWRjcnVtYnMoXG4gICAgICAgIHBhcmVudC5zdGF0ZS5nZXRQYXJlbnRQYWdlID8gcGFyZW50LnN0YXRlLmdldFBhcmVudFBhZ2UoKSA6IHBhcmVudC5wYXJlbnQsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgc2VhcmNoT2JqZWN0XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjZW5lQXBwRHJpbGxkb3duVmlld1JlbmRlclByb3BzIHtcbiAgZHJpbGxkb3duOiBTY2VuZUFwcERyaWxsZG93blZpZXc7XG4gIHBhcmVudDogU2NlbmVBcHBQYWdlTGlrZTtcbiAgcm91dGVQcm9wczogUm91dGVDb21wb25lbnRQcm9wcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNjZW5lQXBwRHJpbGxkb3duVmlld1JlbmRlcih7IGRyaWxsZG93biwgcGFyZW50LCByb3V0ZVByb3BzIH06IFNjZW5lQXBwRHJpbGxkb3duVmlld1JlbmRlclByb3BzKSB7XG4gIHJldHVybiByZW5kZXJTY2VuZUNvbXBvbmVudFdpdGhSb3V0ZVByb3BzKHBhcmVudC5nZXREcmlsbGRvd25QYWdlKGRyaWxsZG93biwgcm91dGVQcm9wcy5tYXRjaCksIHJvdXRlUHJvcHMpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQW1CTyxTQUFTLGdCQUFpQixDQUFBLEVBQUUsSUFBTSxFQUFBLFVBQUEsRUFBcUIsRUFBQTtBQUM1RCxFQUFNLE1BQUEsYUFBQSxHQUFnQixtQkFBbUIsSUFBSSxDQUFBLENBQUE7QUFDN0MsRUFBTSxNQUFBLGNBQUEsR0FBaUIsY0FBYyxRQUFTLEVBQUEsQ0FBQTtBQUM5QyxFQUFBLE1BQU0sU0FBUyxpQkFBa0IsRUFBQSxDQUFBO0FBQ2pDLEVBQUEsTUFBTSxLQUFRLEdBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxVQUFBLENBQVcsS0FBSyxDQUFBLENBQUE7QUFDNUMsRUFBTSxNQUFBLFVBQUEsR0FBYSxXQUFXLGVBQWUsQ0FBQSxDQUFBO0FBQzdDLEVBQU0sTUFBQSxhQUFBLEdBQWdCLGVBQWUsZ0JBQXFCLEtBQUEsS0FBQSxDQUFBO0FBQzFELEVBQU0sTUFBQSxFQUFFLE1BQU8sRUFBQSxHQUFJLElBQUssQ0FBQSxLQUFBLENBQUE7QUFDeEIsRUFBQSxNQUFNLGtCQUFrQixzQkFBdUIsRUFBQSxDQUFBO0FBRS9DLEVBQUEsZUFBQSxDQUFnQixNQUFNO0FBRXBCLElBQUEsSUFBSSxDQUFDLGFBQWUsRUFBQTtBQUNsQixNQUFBLGFBQUEsQ0FBYyxnQkFBZ0IsS0FBSyxDQUFBLENBQUE7QUFB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
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useLocation } from 'react-router-dom';
|
|
3
|
+
import { urlUtil, locationUtil } from '@grafana/data';
|
|
4
|
+
import { locationSearchToObject } from '@grafana/runtime';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __spreadValues = (a, b) => {
|
|
12
|
+
for (var prop in b || (b = {}))
|
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
if (__getOwnPropSymbols)
|
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
+
if (__propIsEnum.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
22
|
+
function useAppQueryParams() {
|
|
23
|
+
const location = useLocation();
|
|
24
|
+
return locationSearchToObject(location.search || "");
|
|
25
|
+
}
|
|
26
|
+
function getUrlWithAppState(path, searchObject, preserveParams) {
|
|
27
|
+
const paramsCopy = __spreadValues({}, searchObject);
|
|
28
|
+
if (preserveParams) {
|
|
29
|
+
for (const key of Object.keys(paramsCopy)) {
|
|
30
|
+
if (!preserveParams.includes(key)) {
|
|
31
|
+
delete paramsCopy[key];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return urlUtil.renderUrl(locationUtil.assureBaseUrl(path), paramsCopy);
|
|
36
|
+
}
|
|
37
|
+
function renderSceneComponentWithRouteProps(sceneObject, routeProps) {
|
|
38
|
+
return React.createElement(sceneObject.Component, { model: sceneObject, routeProps });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { getUrlWithAppState, renderSceneComponentWithRouteProps, useAppQueryParams };
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjZW5lQXBwL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSb3V0ZUNvbXBvbmVudFByb3BzLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVXJsUXVlcnlNYXAsIGxvY2F0aW9uVXRpbCwgdXJsVXRpbCB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgbG9jYXRpb25TZWFyY2hUb09iamVjdCB9IGZyb20gJ0BncmFmYW5hL3J1bnRpbWUnO1xuaW1wb3J0IHsgU2NlbmVPYmplY3QgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUFwcFF1ZXJ5UGFyYW1zKCk6IFVybFF1ZXJ5TWFwIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gbG9jYXRpb25TZWFyY2hUb09iamVjdChsb2NhdGlvbi5zZWFyY2ggfHwgJycpO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gcGF0aCBVcmwgdG8gYXBwZW5kIHF1ZXJ5IHBhcmFtcyB0b1xuICogQHBhcmFtIHNlYXJjaE9iamVjdCBRdWVyeSBwYXJhbXMgb2YgdGhlIFVSTFxuICogQHBhcmFtIHByZXNlcnZlUGFyYW1zIFF1ZXJ5IHBhcmFtcyB0byBwcmVzZXJ2ZVxuICogQHJldHVybnMgVXJsIHdpdGggcXVlcnkgcGFyYW1zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmxXaXRoQXBwU3RhdGUocGF0aDogc3RyaW5nLCBzZWFyY2hPYmplY3Q6IFVybFF1ZXJ5TWFwLCBwcmVzZXJ2ZVBhcmFtcz86IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgLy8gbWFrZSBhIGNvcHkgb2YgcGFyYW1zIGFzIHRoZSByZW5kZXJVcmwgZnVuY3Rpb24gbXV0YXRlcyB0aGUgb2JqZWN0XG4gIGNvbnN0IHBhcmFtc0NvcHkgPSB7IC4uLnNlYXJjaE9iamVjdCB9O1xuXG4gIGlmIChwcmVzZXJ2ZVBhcmFtcykge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtc0NvcHkpKSB7XG4gICAgICAvLyBpZiBwYXJhbSBpcyBub3QgaW4gcHJlc2VydmVQYXJhbXMsIHJlbW92ZSBpdFxuICAgICAgaWYgKCFwcmVzZXJ2ZVBhcmFtcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNDb3B5W2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVybFV0aWwucmVuZGVyVXJsKGxvY2F0aW9uVXRpbC5hc3N1cmVCYXNlVXJsKHBhdGgpLCBwYXJhbXNDb3B5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclNjZW5lQ29tcG9uZW50V2l0aFJvdXRlUHJvcHMoc2NlbmVPYmplY3Q6IFNjZW5lT2JqZWN0LCByb3V0ZVByb3BzOiBSb3V0ZUNvbXBvbmVudFByb3BzKSB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoc2NlbmVPYmplY3QuQ29tcG9uZW50LCB7IG1vZGVsOiBzY2VuZU9iamVjdCwgcm91dGVQcm9wczogcm91dGVQcm9wcyB9KTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNTyxTQUFTLGlCQUFpQyxHQUFBO0FBQy9DLEVBQUEsTUFBTSxXQUFXLFdBQVksRUFBQSxDQUFBO0FBQzdCLEVBQU8sT0FBQSxzQkFBQSxDQUF1QixRQUFTLENBQUEsTUFBQSxJQUFVLEVBQUUsQ0FBQSxDQUFBO0FBQ3JELENBQUE7QUFTZ0IsU0FBQSxrQkFBQSxDQUFtQixJQUFjLEVBQUEsWUFBQSxFQUEyQixjQUFtQyxFQUFBO0FBRTdHLEVBQUEsTUFBTSxhQUFhLGNBQUssQ0FBQSxFQUFBLEVBQUEsWUFBQSxDQUFBLENBQUE7QUFFeEIsRUFBQSxJQUFJLGNBQWdCLEVBQUE7QUFDbEIsSUFBQSxLQUFBLE1BQVcsR0FBTyxJQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsVUFBVSxDQUFHLEVBQUE7QUFFekMsTUFBQSxJQUFJLENBQUMsY0FBQSxDQUFlLFFBQVMsQ0FBQSxHQUFHLENBQUcsRUFBQTtBQUNqQyxRQUFBLE9BQU8sVUFBVyxDQUFBLEdBQUEsQ0FBQSxDQUFBO0FBQUEsT0FDcEI7QUFBQSxLQUNGO0FBQUEsR0FDRjtBQUVBLEVBQUEsT0FBTyxRQUFRLFNBQVUsQ0FBQSxZQUFBLENBQWEsYUFBYyxDQUFBLElBQUksR0FBRyxVQUFVLENBQUEsQ0FBQTtBQUN2RSxDQUFBO0FBRWdCLFNBQUEsa0NBQUEsQ0FBbUMsYUFBMEIsVUFBaUMsRUFBQTtBQUU1RyxFQUFPLE9BQUEsS0FBQSxDQUFNLGNBQWMsV0FBWSxDQUFBLFNBQUEsRUFBVyxFQUFFLEtBQU8sRUFBQSxXQUFBLEVBQWEsWUFBd0IsQ0FBQSxDQUFBO0FBQ2xHOzs7OyJ9
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LoadingState } from '@grafana/data';
|
|
3
|
+
import { SceneObjectBase } from '../core/SceneObjectBase.js';
|
|
4
|
+
import { sceneGraph } from '../core/sceneGraph/index.js';
|
|
5
|
+
|
|
6
|
+
class SceneByFrameRepeater extends SceneObjectBase {
|
|
7
|
+
constructor(state) {
|
|
8
|
+
super(state);
|
|
9
|
+
this.addActivationHandler(() => {
|
|
10
|
+
const dataProvider = sceneGraph.getData(this);
|
|
11
|
+
this._subs.add(
|
|
12
|
+
dataProvider.subscribeToState((data) => {
|
|
13
|
+
var _a;
|
|
14
|
+
if (((_a = data.data) == null ? void 0 : _a.state) === LoadingState.Done) {
|
|
15
|
+
this.performRepeat(data.data);
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
);
|
|
19
|
+
if (dataProvider.state.data) {
|
|
20
|
+
this.performRepeat(dataProvider.state.data);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
performRepeat(data) {
|
|
25
|
+
const newChildren = [];
|
|
26
|
+
for (let seriesIndex = 0; seriesIndex < data.series.length; seriesIndex++) {
|
|
27
|
+
const layoutChild = this.state.getLayoutChild(data, data.series[seriesIndex], seriesIndex);
|
|
28
|
+
newChildren.push(layoutChild);
|
|
29
|
+
}
|
|
30
|
+
this.state.body.setState({ children: newChildren });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
SceneByFrameRepeater.Component = ({ model }) => {
|
|
34
|
+
const { body } = model.useState();
|
|
35
|
+
return /* @__PURE__ */ React.createElement(body.Component, {
|
|
36
|
+
model: body
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { SceneByFrameRepeater };
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVCeUZyYW1lUmVwZWF0ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjZW5lQnlGcmFtZVJlcGVhdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIFBhbmVsRGF0YSwgRGF0YUZyYW1lIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IHNjZW5lR3JhcGggfSBmcm9tICcuLi9jb3JlL3NjZW5lR3JhcGgnO1xuaW1wb3J0IHsgU2NlbmVDb21wb25lbnRQcm9wcywgU2NlbmVMYXlvdXQsIFNjZW5lT2JqZWN0LCBTY2VuZU9iamVjdFN0YXRlIH0gZnJvbSAnLi4vY29yZS90eXBlcyc7XG5cbmludGVyZmFjZSBTY2VuZUJ5RnJhbWVSZXBlYXRlclN0YXRlIGV4dGVuZHMgU2NlbmVPYmplY3RTdGF0ZSB7XG4gIGJvZHk6IFNjZW5lTGF5b3V0O1xuICBnZXRMYXlvdXRDaGlsZChkYXRhOiBQYW5lbERhdGEsIGZyYW1lOiBEYXRhRnJhbWUsIGZyYW1lSW5kZXg6IG51bWJlcik6IFNjZW5lT2JqZWN0O1xufVxuXG5leHBvcnQgY2xhc3MgU2NlbmVCeUZyYW1lUmVwZWF0ZXIgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8U2NlbmVCeUZyYW1lUmVwZWF0ZXJTdGF0ZT4ge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3RhdGU6IFNjZW5lQnlGcmFtZVJlcGVhdGVyU3RhdGUpIHtcbiAgICBzdXBlcihzdGF0ZSk7XG5cbiAgICB0aGlzLmFkZEFjdGl2YXRpb25IYW5kbGVyKCgpID0+IHtcbiAgICAgIGNvbnN0IGRhdGFQcm92aWRlciA9IHNjZW5lR3JhcGguZ2V0RGF0YSh0aGlzKTtcblxuICAgICAgdGhpcy5fc3Vicy5hZGQoXG4gICAgICAgIGRhdGFQcm92aWRlci5zdWJzY3JpYmVUb1N0YXRlKChkYXRhKSA9PiB7XG4gICAgICAgICAgaWYgKGRhdGEuZGF0YT8uc3RhdGUgPT09IExvYWRpbmdTdGF0ZS5Eb25lKSB7XG4gICAgICAgICAgICB0aGlzLnBlcmZvcm1SZXBlYXQoZGF0YS5kYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICBpZiAoZGF0YVByb3ZpZGVyLnN0YXRlLmRhdGEpIHtcbiAgICAgICAgdGhpcy5wZXJmb3JtUmVwZWF0KGRhdGFQcm92aWRlci5zdGF0ZS5kYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGVyZm9ybVJlcGVhdChkYXRhOiBQYW5lbERhdGEpIHtcbiAgICBjb25zdCBuZXdDaGlsZHJlbjogU2NlbmVPYmplY3RbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgc2VyaWVzSW5kZXggPSAwOyBzZXJpZXNJbmRleCA8IGRhdGEuc2VyaWVzLmxlbmd0aDsgc2VyaWVzSW5kZXgrKykge1xuICAgICAgY29uc3QgbGF5b3V0Q2hpbGQgPSB0aGlzLnN0YXRlLmdldExheW91dENoaWxkKGRhdGEsIGRhdGEuc2VyaWVzW3Nlcmllc0luZGV4XSwgc2VyaWVzSW5kZXgpO1xuICAgICAgbmV3Q2hpbGRyZW4ucHVzaChsYXlvdXRDaGlsZCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5ib2R5LnNldFN0YXRlKHsgY2hpbGRyZW46IG5ld0NoaWxkcmVuIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBDb21wb25lbnQgPSAoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPFNjZW5lQnlGcmFtZVJlcGVhdGVyPikgPT4ge1xuICAgIGNvbnN0IHsgYm9keSB9ID0gbW9kZWwudXNlU3RhdGUoKTtcbiAgICByZXR1cm4gPGJvZHkuQ29tcG9uZW50IG1vZGVsPXtib2R5fSAvPjtcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWFPLE1BQU0sNkJBQTZCLGVBQTJDLENBQUE7QUFBQSxFQUM1RSxZQUFZLEtBQWtDLEVBQUE7QUFDbkQsSUFBQSxLQUFBLENBQU0sS0FBSyxDQUFBLENBQUE7QUFFWCxJQUFBLElBQUEsQ0FBSyxxQkFBcUIsTUFBTTtBQUM5QixNQUFNLE1BQUEsWUFBQSxHQUFlLFVBQVcsQ0FBQSxPQUFBLENBQVEsSUFBSSxDQUFBLENBQUE7QUFFNUMsTUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLEdBQUE7QUFBQSxRQUNULFlBQUEsQ0FBYSxnQkFBaUIsQ0FBQSxDQUFDLElBQVMsS0FBQTtBQXJCaEQsVUFBQSxJQUFBLEVBQUEsQ0FBQTtBQXNCVSxVQUFBLElBQUEsQ0FBQSxDQUFJLEVBQUssR0FBQSxJQUFBLENBQUEsSUFBQSxLQUFMLElBQVcsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsS0FBQSxNQUFVLGFBQWEsSUFBTSxFQUFBO0FBQzFDLFlBQUssSUFBQSxDQUFBLGFBQUEsQ0FBYyxLQUFLLElBQUksQ0FBQSxDQUFBO0FBQUEsV0FDOUI7QUFBQSxTQUNELENBQUE7QUFBQSxPQUNILENBQUE7QUFFQSxNQUFJLElBQUEsWUFBQSxDQUFhLE1BQU0sSUFBTSxFQUFBO0FBQzNCLFFBQUssSUFBQSxDQUFBLGFBQUEsQ0FBYyxZQUFhLENBQUEsS0FBQSxDQUFNLElBQUksQ0FBQSxDQUFBO0FBQUEsT0FDNUM7QUFBQSxLQUNELENBQUEsQ0FBQTtBQUFBLEdBQ0g7QUFBQSxFQUVRLGNBQWMsSUFBaUIsRUFBQTtBQUNyQyxJQUFBLE1BQU0sY0FBNkIsRUFBQyxDQUFBO0FBRXBDLElBQUEsS0FBQSxJQUFTLGNBQWMsQ0FBRyxFQUFBLFdBQUEsR0FBYyxJQUFLLENBQUEsTUFBQSxDQUFPLFFBQVEsV0FBZSxFQUFBLEVBQUE7QUFDekUsTUFBTSxNQUFBLFdBQUEsR0FBYyxLQUFLLEtBQU0sQ0FBQSxjQUFBLENBQWUsTUFBTSxJQUFLLENBQUEsTUFBQSxDQUFPLGNBQWMsV0FBVyxDQUFBLENBQUE7QUFDekYsTUFBQSxXQUFBLENBQVksS0FBSyxXQUFXLENBQUEsQ0FBQTtBQUFBLEtBQzlCO0FBRUEsSUFBQSxJQUFBLENBQUssTUFBTSxJQUFLLENBQUEsUUFBQSxDQUFTLEVBQUUsUUFBQSxFQUFVLGFBQWEsQ0FBQSxDQUFBO0FBQUEsR0FDcEQ7QUFNRixDQUFBO0FBcENhLG9CQUFBLENBZ0NHLFNBQVksR0FBQSxDQUFDLEVBQUUsS0FBQSxFQUF1RCxLQUFBO0FBQ2xGLEVBQUEsTUFBTSxFQUFFLElBQUEsRUFBUyxHQUFBLEtBQUEsQ0FBTSxRQUFTLEVBQUEsQ0FBQTtBQUNoQyxFQUFPLHVCQUFBLEtBQUEsQ0FBQSxhQUFBLENBQUMsS0FBSyxTQUFMLEVBQUE7QUFBQSxJQUFlLEtBQU8sRUFBQSxJQUFBO0FBQUEsR0FBTSxDQUFBLENBQUE7QUFDdEMsQ0FBQTs7OzsifQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SceneObjectBase } from '../core/SceneObjectBase.js';
|
|
3
|
+
import { sceneGraph } from '../core/sceneGraph/index.js';
|
|
4
|
+
import { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';
|
|
5
|
+
import { MultiValueVariable } from '../variables/variants/MultiValueVariable.js';
|
|
6
|
+
|
|
7
|
+
class SceneByVariableRepeater extends SceneObjectBase {
|
|
8
|
+
constructor(state) {
|
|
9
|
+
super(state);
|
|
10
|
+
this._variableDependency = new VariableDependencyConfig(
|
|
11
|
+
this,
|
|
12
|
+
{
|
|
13
|
+
variableNames: [this.state.variableName],
|
|
14
|
+
onVariableUpdateCompleted: () => this.performRepeat()
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
this.addActivationHandler(() => this.performRepeat());
|
|
18
|
+
}
|
|
19
|
+
performRepeat() {
|
|
20
|
+
if (this._variableDependency.hasDependencyInLoadingState()) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const variable = sceneGraph.lookupVariable(this.state.variableName, this);
|
|
24
|
+
if (!(variable instanceof MultiValueVariable)) {
|
|
25
|
+
console.error("SceneByVariableRepeater: variable is not a MultiValueVariable");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const values = getMultiVariableValues(variable);
|
|
29
|
+
const newChildren = [];
|
|
30
|
+
for (const option of values) {
|
|
31
|
+
const layoutChild = this.state.getLayoutChild(option);
|
|
32
|
+
newChildren.push(layoutChild);
|
|
33
|
+
}
|
|
34
|
+
this.state.body.setState({ children: newChildren });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
SceneByVariableRepeater.Component = ({ model }) => {
|
|
38
|
+
const { body } = model.useState();
|
|
39
|
+
return /* @__PURE__ */ React.createElement(body.Component, {
|
|
40
|
+
model: body
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
function getMultiVariableValues(variable) {
|
|
44
|
+
const { value, text, options } = variable.state;
|
|
45
|
+
if (variable.hasAllValue()) {
|
|
46
|
+
return options;
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(value) && Array.isArray(text)) {
|
|
49
|
+
return value.map((v, i) => ({ value: v, label: text[i] }));
|
|
50
|
+
}
|
|
51
|
+
return [{ value, label: text }];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { SceneByVariableRepeater, getMultiVariableValues };
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVCeVZhcmlhYmxlUmVwZWF0ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjZW5lQnlWYXJpYWJsZVJlcGVhdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi9jb3JlL1NjZW5lT2JqZWN0QmFzZSc7XG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMsIFNjZW5lTGF5b3V0LCBTY2VuZU9iamVjdCwgU2NlbmVPYmplY3RTdGF0ZSB9IGZyb20gJy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnIH0gZnJvbSAnLi4vdmFyaWFibGVzL1ZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyc7XG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlT3B0aW9uIH0gZnJvbSAnLi4vdmFyaWFibGVzL3R5cGVzJztcbmltcG9ydCB7IE11bHRpVmFsdWVWYXJpYWJsZSB9IGZyb20gJy4uL3ZhcmlhYmxlcy92YXJpYW50cy9NdWx0aVZhbHVlVmFyaWFibGUnO1xuXG5pbnRlcmZhY2UgU2NlbmVCeVZhcmlhYmxlUmVwZWF0ZXJTdGF0ZSBleHRlbmRzIFNjZW5lT2JqZWN0U3RhdGUge1xuICBib2R5OiBTY2VuZUxheW91dDtcbiAgdmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIGdldExheW91dENoaWxkKG9wdGlvbjogVmFyaWFibGVWYWx1ZU9wdGlvbik6IFNjZW5lT2JqZWN0O1xufVxuXG5leHBvcnQgY2xhc3MgU2NlbmVCeVZhcmlhYmxlUmVwZWF0ZXIgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8U2NlbmVCeVZhcmlhYmxlUmVwZWF0ZXJTdGF0ZT4ge1xuICBwcm90ZWN0ZWQgX3ZhcmlhYmxlRGVwZW5kZW5jeTogVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnPFNjZW5lQnlWYXJpYWJsZVJlcGVhdGVyU3RhdGU+ID0gbmV3IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyhcbiAgICB0aGlzLFxuICAgIHtcbiAgICAgIHZhcmlhYmxlTmFtZXM6IFt0aGlzLnN0YXRlLnZhcmlhYmxlTmFtZV0sXG4gICAgICBvblZhcmlhYmxlVXBkYXRlQ29tcGxldGVkOiAoKSA9PiB0aGlzLnBlcmZvcm1SZXBlYXQoKSxcbiAgICB9XG4gICk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHN0YXRlOiBTY2VuZUJ5VmFyaWFibGVSZXBlYXRlclN0YXRlKSB7XG4gICAgc3VwZXIoc3RhdGUpO1xuXG4gICAgdGhpcy5hZGRBY3RpdmF0aW9uSGFuZGxlcigoKSA9PiB0aGlzLnBlcmZvcm1SZXBlYXQoKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcmZvcm1SZXBlYXQoKSB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlRGVwZW5kZW5jeS5oYXNEZXBlbmRlbmN5SW5Mb2FkaW5nU3RhdGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhcmlhYmxlID0gc2NlbmVHcmFwaC5sb29rdXBWYXJpYWJsZSh0aGlzLnN0YXRlLnZhcmlhYmxlTmFtZSwgdGhpcyk7XG4gICAgaWYgKCEodmFyaWFibGUgaW5zdGFuY2VvZiBNdWx0aVZhbHVlVmFyaWFibGUpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdTY2VuZUJ5VmFyaWFibGVSZXBlYXRlcjogdmFyaWFibGUgaXMgbm90IGEgTXVsdGlWYWx1ZVZhcmlhYmxlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVzID0gZ2V0TXVsdGlWYXJpYWJsZVZhbHVlcyh2YXJpYWJsZSk7XG4gICAgY29uc3QgbmV3Q2hpbGRyZW46IFNjZW5lT2JqZWN0W10gPSBbXTtcblxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHZhbHVlcykge1xuICAgICAgY29uc3QgbGF5b3V0Q2hpbGQgPSB0aGlzLnN0YXRlLmdldExheW91dENoaWxkKG9wdGlvbik7XG4gICAgICBuZXdDaGlsZHJlbi5wdXNoKGxheW91dENoaWxkKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLmJvZHkuc2V0U3RhdGUoeyBjaGlsZHJlbjogbmV3Q2hpbGRyZW4gfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIENvbXBvbmVudCA9ICh7IG1vZGVsIH06IFNjZW5lQ29tcG9uZW50UHJvcHM8U2NlbmVCeVZhcmlhYmxlUmVwZWF0ZXI+KSA9PiB7XG4gICAgY29uc3QgeyBib2R5IH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuICAgIHJldHVybiA8Ym9keS5Db21wb25lbnQgbW9kZWw9e2JvZHl9IC8+O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TXVsdGlWYXJpYWJsZVZhbHVlcyh2YXJpYWJsZTogTXVsdGlWYWx1ZVZhcmlhYmxlKTogVmFyaWFibGVWYWx1ZU9wdGlvbltdIHtcbiAgY29uc3QgeyB2YWx1ZSwgdGV4dCwgb3B0aW9ucyB9ID0gdmFyaWFibGUuc3RhdGU7XG5cbiAgaWYgKHZhcmlhYmxlLmhhc0FsbFZhbHVlKCkpIHtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiBBcnJheS5pc0FycmF5KHRleHQpKSB7XG4gICAgcmV0dXJuIHZhbHVlLm1hcCgodiwgaSkgPT4gKHsgdmFsdWU6IHYsIGxhYmVsOiB0ZXh0W2ldIGFzIHN0cmluZyB9KSk7XG4gIH1cblxuICByZXR1cm4gW3sgdmFsdWU6IHZhbHVlIGFzIHN0cmluZywgbGFiZWw6IHRleHQgYXMgc3RyaW5nIH1dO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWVPLE1BQU0sZ0NBQWdDLGVBQThDLENBQUE7QUFBQSxFQVNsRixZQUFZLEtBQXFDLEVBQUE7QUFDdEQsSUFBQSxLQUFBLENBQU0sS0FBSyxDQUFBLENBQUE7QUFUYixJQUFBLElBQUEs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
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SceneObjectBase } from '../core/SceneObjectBase.js';
|
|
3
|
+
import { sceneGraph } from '../core/sceneGraph/index.js';
|
|
4
|
+
import { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';
|
|
5
|
+
import { useTheme2 } from '@grafana/ui';
|
|
6
|
+
import { css } from '@emotion/css';
|
|
7
|
+
|
|
8
|
+
class SceneCanvasText extends SceneObjectBase {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this._variableDependency = new VariableDependencyConfig(this, { statePaths: ["text"] });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SceneCanvasText.Component = ({ model }) => {
|
|
15
|
+
const { text, fontSize = 20, align = "left", key, spacing } = model.useState();
|
|
16
|
+
const theme = useTheme2();
|
|
17
|
+
const style = css({
|
|
18
|
+
fontSize,
|
|
19
|
+
display: "flex",
|
|
20
|
+
flexGrow: 1,
|
|
21
|
+
alignItems: "center",
|
|
22
|
+
padding: spacing ? theme.spacing(spacing, 0) : void 0,
|
|
23
|
+
justifyContent: align
|
|
24
|
+
});
|
|
25
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
26
|
+
className: style,
|
|
27
|
+
"data-testid": key
|
|
28
|
+
}, sceneGraph.interpolate(model, text));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { SceneCanvasText };
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVDYW52YXNUZXh0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TY2VuZUNhbnZhc1RleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IHNjZW5lR3JhcGggfSBmcm9tICcuLi9jb3JlL3NjZW5lR3JhcGgnO1xuaW1wb3J0IHsgU2NlbmVDb21wb25lbnRQcm9wcywgU2NlbmVPYmplY3RTdGF0ZSB9IGZyb20gJy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnIH0gZnJvbSAnLi4vdmFyaWFibGVzL1ZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyc7XG5pbXBvcnQgeyB1c2VUaGVtZTIgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjZW5lQ2FudmFzVGV4dFN0YXRlIGV4dGVuZHMgU2NlbmVPYmplY3RTdGF0ZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgZm9udFNpemU/OiBudW1iZXI7XG4gIGFsaWduPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICBzcGFjaW5nPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIE5vdCBhIHJlYWxseSB1c2VmdWwgY29tcG9uZW50LCBqdXN0IGFuIGV4YW1wbGUgb2YgaG93IHRvIGNyZWF0ZSBvbmVcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2NlbmVDYW52YXNUZXh0IGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlPFNjZW5lQ2FudmFzVGV4dFN0YXRlPiB7XG4gIHByb3RlY3RlZCBfdmFyaWFibGVEZXBlbmRlbmN5ID0gbmV3IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyh0aGlzLCB7IHN0YXRlUGF0aHM6IFsndGV4dCddIH0pO1xuXG4gIHB1YmxpYyBzdGF0aWMgQ29tcG9uZW50ID0gKHsgbW9kZWwgfTogU2NlbmVDb21wb25lbnRQcm9wczxTY2VuZUNhbnZhc1RleHQ+KSA9PiB7XG4gICAgY29uc3QgeyB0ZXh0LCBmb250U2l6ZSA9IDIwLCBhbGlnbiA9ICdsZWZ0Jywga2V5LCBzcGFjaW5nIH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUyKCk7XG5cbiAgICBjb25zdCBzdHlsZSA9IGNzcyh7XG4gICAgICBmb250U2l6ZTogZm9udFNpemUsXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBmbGV4R3JvdzogMSxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgcGFkZGluZzogc3BhY2luZyA/IHRoZW1lLnNwYWNpbmcoc3BhY2luZywgMCkgOiB1bmRlZmluZWQsXG4gICAgICBqdXN0aWZ5Q29udGVudDogYWxpZ24sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlfSBkYXRhLXRlc3RpZD17a2V5fT5cbiAgICAgICAge3NjZW5lR3JhcGguaW50ZXJwb2xhdGUobW9kZWwsIHRleHQpfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0JPLE1BQU0sd0JBQXdCLGVBQXNDLENBQUE7QUFBQSxFQUFwRSxXQUFBLEdBQUE7QUFBQSxJQUFBLEtBQUEsQ0FBQSxHQUFBLFNBQUEsQ0FBQSxDQUFBO0FBQ0wsSUFBVSxJQUFBLENBQUEsbUJBQUEsR0FBc0IsSUFBSSx3QkFBeUIsQ0FBQSxJQUFBLEVBQU0sRUFBRSxVQUFZLEVBQUEsQ0FBQyxNQUFNLENBQUEsRUFBRyxDQUFBLENBQUE7QUFBQSxHQUFBO0FBcUI3RixDQUFBO0FBdEJhLGVBQUEsQ0FHRyxTQUFZLEdBQUEsQ0FBQyxFQUFFLEtBQUEsRUFBa0QsS0FBQTtBQUM3RSxFQUFNLE1BQUEsRUFBRSxJQUFNLEVBQUEsUUFBQSxHQUFXLEVBQUksRUFBQSxLQUFBLEdBQVEsUUFBUSxHQUFLLEVBQUEsT0FBQSxFQUFZLEdBQUEsS0FBQSxDQUFNLFFBQVMsRUFBQSxDQUFBO0FBQzdFLEVBQUEsTUFBTSxRQUFRLFNBQVUsRUFBQSxDQUFBO0FBRXhCLEVBQUEsTUFBTSxRQUFRLEdBQUksQ0FBQTtBQUFBLElBQ2hCLFFBQUE7QUFBQSxJQUNBLE9BQVMsRUFBQSxNQUFBO0FBQUEsSUFDVCxRQUFVLEVBQUEsQ0FBQTtBQUFBLElBQ1YsVUFBWSxFQUFBLFFBQUE7QUFBQSxJQUNaLFNBQVMsT0FBVSxHQUFBLEtBQUEsQ0FBTSxPQUFRLENBQUEsT0FBQSxFQUFTLENBQUMsQ0FBSSxHQUFBLEtBQUEsQ0FBQTtBQUFBLElBQy9DLGNBQWdCLEVBQUEsS0FBQTtBQUFBLEdBQ2pCLENBQUEsQ0FBQTtBQUVELEVBQUEsdUJBQ0csS0FBQSxDQUFBLGFBQUEsQ0FBQSxLQUFBLEVBQUE7QUFBQSxJQUFJLFNBQVcsRUFBQSxLQUFBO0FBQUEsSUFBTyxhQUFhLEVBQUEsR0FBQTtBQUFBLEdBQUEsRUFDakMsVUFBVyxDQUFBLFdBQUEsQ0FBWSxLQUFPLEVBQUEsSUFBSSxDQUNyQyxDQUFBLENBQUE7QUFFSixDQUFBOzs7OyJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SceneObjectBase } from '../core/SceneObjectBase.js';
|
|
3
|
+
|
|
4
|
+
class SceneControlsSpacer extends SceneObjectBase {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({});
|
|
7
|
+
this._renderBeforeActivation = true;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
SceneControlsSpacer.Component = (_props) => {
|
|
11
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
12
|
+
style: { flexGrow: 1 }
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { SceneControlsSpacer };
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVDb250cm9sc1NwYWNlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU2NlbmVDb250cm9sc1NwYWNlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgU2NlbmVPYmplY3RCYXNlIH0gZnJvbSAnLi4vY29yZS9TY2VuZU9iamVjdEJhc2UnO1xuaW1wb3J0IHsgU2NlbmVDb21wb25lbnRQcm9wcyB9IGZyb20gJy4uL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgU2NlbmVDb250cm9sc1NwYWNlciBleHRlbmRzIFNjZW5lT2JqZWN0QmFzZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7fSk7XG5cbiAgICB0aGlzLl9yZW5kZXJCZWZvcmVBY3RpdmF0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgQ29tcG9uZW50ID0gKF9wcm9wczogU2NlbmVDb21wb25lbnRQcm9wczxTY2VuZUNvbnRyb2xzU3BhY2VyPikgPT4ge1xuICAgIHJldHVybiA8ZGl2IHN0eWxlPXt7IGZsZXhHcm93OiAxIH19IC8+O1xuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtPLE1BQU0sNEJBQTRCLGVBQWdCLENBQUE7QUFBQSxFQUNoRCxXQUFjLEdBQUE7QUFDbkIsSUFBQSxLQUFBLENBQU0sRUFBRSxDQUFBLENBQUE7QUFFUixJQUFBLElBQUEsQ0FBSyx1QkFBMEIsR0FBQSxJQUFBLENBQUE7QUFBQSxHQUNqQztBQUtGLENBQUE7QUFWYSxtQkFPRyxDQUFBLFNBQUEsR0FBWSxDQUFDLE1BQXFELEtBQUE7QUFDOUUsRUFBQSx1QkFBUSxLQUFBLENBQUEsYUFBQSxDQUFBLEtBQUEsRUFBQTtBQUFBLElBQUksS0FBQSxFQUFPLEVBQUUsUUFBQSxFQUFVLENBQUUsRUFBQTtBQUFBLEdBQUcsQ0FBQSxDQUFBO0FBQ3RDLENBQUE7Ozs7In0=
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { css } from '@emotion/css';
|
|
2
|
+
import { useStyles2, JSONFormatter, Input } from '@grafana/ui';
|
|
3
|
+
import { isPlainObject, isArray } from 'lodash';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { isSceneObject } from '../../core/types.js';
|
|
6
|
+
|
|
7
|
+
function DebugDetails({ node }) {
|
|
8
|
+
const state = node.useState();
|
|
9
|
+
const styles = useStyles2(getStyles);
|
|
10
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
11
|
+
className: styles.container
|
|
12
|
+
}, Object.keys(state).map((key) => /* @__PURE__ */ React.createElement("div", {
|
|
13
|
+
className: styles.row,
|
|
14
|
+
key
|
|
15
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
16
|
+
className: styles.keyName
|
|
17
|
+
}, key), /* @__PURE__ */ React.createElement("div", {
|
|
18
|
+
className: styles.value
|
|
19
|
+
}, renderValue(key, state[key], node)))));
|
|
20
|
+
}
|
|
21
|
+
function renderValue(key, value, node) {
|
|
22
|
+
if (value === null) {
|
|
23
|
+
return "null";
|
|
24
|
+
}
|
|
25
|
+
switch (typeof value) {
|
|
26
|
+
case "number":
|
|
27
|
+
return /* @__PURE__ */ React.createElement(Input, {
|
|
28
|
+
type: "number",
|
|
29
|
+
defaultValue: value,
|
|
30
|
+
onBlur: (evt) => node.setState({ [key]: evt.currentTarget.valueAsNumber })
|
|
31
|
+
});
|
|
32
|
+
case "string":
|
|
33
|
+
return /* @__PURE__ */ React.createElement(Input, {
|
|
34
|
+
type: "text",
|
|
35
|
+
defaultValue: value,
|
|
36
|
+
onBlur: (evt) => node.setState({ [key]: evt.currentTarget.value })
|
|
37
|
+
});
|
|
38
|
+
case "object":
|
|
39
|
+
if (isSceneObject(value)) {
|
|
40
|
+
return value.constructor.name;
|
|
41
|
+
}
|
|
42
|
+
if (isPlainObject(value) || isArray(value)) {
|
|
43
|
+
return /* @__PURE__ */ React.createElement(JSONFormatter, {
|
|
44
|
+
json: value,
|
|
45
|
+
open: 0
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return String(value);
|
|
49
|
+
default:
|
|
50
|
+
return typeof value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function getStyles(theme) {
|
|
54
|
+
return {
|
|
55
|
+
container: css({
|
|
56
|
+
flexGrow: 1,
|
|
57
|
+
display: "flex",
|
|
58
|
+
gap: theme.spacing(0.5),
|
|
59
|
+
flexDirection: "column"
|
|
60
|
+
}),
|
|
61
|
+
row: css({
|
|
62
|
+
display: "flex",
|
|
63
|
+
gap: theme.spacing(2)
|
|
64
|
+
}),
|
|
65
|
+
keyName: css({
|
|
66
|
+
display: "flex",
|
|
67
|
+
flexGrow: "0",
|
|
68
|
+
width: 120,
|
|
69
|
+
alignItems: "center",
|
|
70
|
+
height: theme.spacing(theme.components.height.md)
|
|
71
|
+
}),
|
|
72
|
+
value: css({
|
|
73
|
+
flexGrow: 1,
|
|
74
|
+
minHeight: theme.spacing(theme.components.height.md),
|
|
75
|
+
display: "flex",
|
|
76
|
+
alignItems: "center"
|
|
77
|
+
})
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export { DebugDetails };
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWdEZXRhaWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TY2VuZURlYnVnZ2VyL0RlYnVnRGV0YWlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IEdyYWZhbmFUaGVtZTIgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IElucHV0LCBKU09ORm9ybWF0dGVyLCB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNQbGFpbk9iamVjdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaXNTY2VuZU9iamVjdCwgU2NlbmVPYmplY3QgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9wcyB7XG4gIG5vZGU6IFNjZW5lT2JqZWN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRGVidWdEZXRhaWxzKHsgbm9kZSB9OiBQcm9wcykge1xuICBjb25zdCBzdGF0ZSA9IG5vZGUudXNlU3RhdGUoKTtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGVzMihnZXRTdHlsZXMpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5jb250YWluZXJ9PlxuICAgICAge09iamVjdC5rZXlzKHN0YXRlKS5tYXAoKGtleSkgPT4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnJvd30ga2V5PXtrZXl9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMua2V5TmFtZX0+e2tleX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnZhbHVlfT57cmVuZGVyVmFsdWUoa2V5LCAoc3RhdGUgYXMgYW55KVtrZXldLCBub2RlKX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIG5vZGU6IFNjZW5lT2JqZWN0KSB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiAnbnVsbCc7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgIGNhc2UgJ251bWJlcic6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW5wdXRcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIG9uQmx1cj17KGV2dCkgPT4gbm9kZS5zZXRTdGF0ZSh7IFtrZXldOiBldnQuY3VycmVudFRhcmdldC52YWx1ZUFzTnVtYmVyIH0pfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPElucHV0IHR5cGU9XCJ0ZXh0XCIgZGVmYXVsdFZhbHVlPXt2YWx1ZX0gb25CbHVyPXsoZXZ0KSA9PiBub2RlLnNldFN0YXRlKHsgW2tleV06IGV2dC5jdXJyZW50VGFyZ2V0LnZhbHVlIH0pfSAvPlxuICAgICAgKTtcbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAgaWYgKGlzU2NlbmVPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgfVxuICAgICAgaWYgKGlzUGxhaW5PYmplY3QodmFsdWUpIHx8IGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiA8SlNPTkZvcm1hdHRlciBqc29uPXt2YWx1ZX0gb3Blbj17MH0gLz47XG4gICAgICB9XG4gICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTdHlsZXModGhlbWU6IEdyYWZhbmFUaGVtZTIpIHtcbiAgcmV0dXJuIHtcbiAgICBjb250YWluZXI6IGNzcyh7XG4gICAgICBmbGV4R3JvdzogMSxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGdhcDogdGhlbWUuc3BhY2luZygwLjUpLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgfSksXG4gICAgcm93OiBjc3Moe1xuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZ2FwOiB0aGVtZS5zcGFjaW5nKDIpLFxuICAgIH0pLFxuICAgIGtleU5hbWU6IGNzcyh7XG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBmbGV4R3JvdzogJzAnLFxuICAgICAgd2lkdGg6IDEyMCxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgaGVpZ2h0OiB0aGVtZS5zcGFjaW5nKHRoZW1lLmNvbXBvbmVudHMuaGVpZ2h0Lm1kKSxcbiAgICB9KSxcbiAgICB2YWx1ZTogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgbWluSGVpZ2h0OiB0aGVtZS5zcGFjaW5nKHRoZW1lLmNvbXBvbmVudHMuaGVpZ2h0Lm1kKSxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIH0pLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQVdnQixTQUFBLFlBQUEsQ0FBYSxFQUFFLElBQUEsRUFBZSxFQUFBO0FBQzVDLEVBQU0sTUFBQSxLQUFBLEdBQVEsS0FBSyxRQUFTLEVBQUEsQ0FBQTtBQUM1QixFQUFNLE1BQUEsTUFBQSxHQUFTLFdBQVcsU0FBUyxDQUFBLENBQUE7QUFFbkMsRUFBQSx1QkFDRyxLQUFBLENBQUEsYUFBQSxDQUFBLEtBQUEsRUFBQTtBQUFBLElBQUksV0FBVyxNQUFPLENBQUEsU0FBQTtBQUFBLEdBQUEsRUFDcEIsT0FBTyxJQUFLLENBQUEsS0FBSyxFQUFFLEdBQUksQ0FB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
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { cx, css } from '@emotion/css';
|
|
2
|
+
import { useStyles2 } from '@grafana/ui';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
function DebugTreeNode({ node, selectedObject, onSelect }) {
|
|
6
|
+
const styles = useStyles2(getStyles);
|
|
7
|
+
const children = [];
|
|
8
|
+
const isSelected = node === selectedObject;
|
|
9
|
+
node.forEachChild((child) => {
|
|
10
|
+
children.push(
|
|
11
|
+
/* @__PURE__ */ React.createElement(DebugTreeNode, {
|
|
12
|
+
node: child,
|
|
13
|
+
key: child.state.key,
|
|
14
|
+
selectedObject,
|
|
15
|
+
onSelect
|
|
16
|
+
})
|
|
17
|
+
);
|
|
18
|
+
});
|
|
19
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
20
|
+
className: styles.container
|
|
21
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
22
|
+
className: cx(styles.name, isSelected && styles.selected),
|
|
23
|
+
onClick: () => onSelect(node)
|
|
24
|
+
}, node.constructor.name), /* @__PURE__ */ React.createElement("div", {
|
|
25
|
+
className: styles.children
|
|
26
|
+
}, children));
|
|
27
|
+
}
|
|
28
|
+
function getStyles(theme) {
|
|
29
|
+
return {
|
|
30
|
+
container: css({
|
|
31
|
+
flexGrow: 1,
|
|
32
|
+
display: "flex",
|
|
33
|
+
gap: theme.spacing(0.5),
|
|
34
|
+
flexDirection: "column"
|
|
35
|
+
}),
|
|
36
|
+
name: css({
|
|
37
|
+
flexGrow: 1,
|
|
38
|
+
display: "flex",
|
|
39
|
+
gap: theme.spacing(1),
|
|
40
|
+
fontSize: theme.typography.bodySmall.fontSize,
|
|
41
|
+
cursor: "pointer",
|
|
42
|
+
padding: theme.spacing(0, 1),
|
|
43
|
+
borderRadius: theme.shape.borderRadius(2),
|
|
44
|
+
position: "relative",
|
|
45
|
+
"&:hover": {
|
|
46
|
+
background: theme.colors.background.secondary
|
|
47
|
+
}
|
|
48
|
+
}),
|
|
49
|
+
selected: css({
|
|
50
|
+
"&::before": {
|
|
51
|
+
display: "block",
|
|
52
|
+
content: "' '",
|
|
53
|
+
position: "absolute",
|
|
54
|
+
left: 0,
|
|
55
|
+
width: 4,
|
|
56
|
+
bottom: 2,
|
|
57
|
+
top: 2,
|
|
58
|
+
borderRadius: theme.shape.radius.default,
|
|
59
|
+
backgroundImage: theme.colors.gradients.brandVertical
|
|
60
|
+
}
|
|
61
|
+
}),
|
|
62
|
+
children: css({
|
|
63
|
+
flexGrow: 1,
|
|
64
|
+
display: "flex",
|
|
65
|
+
flexDirection: "column",
|
|
66
|
+
paddingLeft: theme.spacing(1)
|
|
67
|
+
})
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { DebugTreeNode };
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWdUcmVlTm9kZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU2NlbmVEZWJ1Z2dlci9EZWJ1Z1RyZWVOb2RlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IEdyYWZhbmFUaGVtZTIgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IHVzZVN0eWxlczIgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2NlbmVPYmplY3QgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9wcyB7XG4gIG5vZGU6IFNjZW5lT2JqZWN0O1xuICBzZWxlY3RlZE9iamVjdD86IFNjZW5lT2JqZWN0O1xuICBvblNlbGVjdDogKG5vZGU6IFNjZW5lT2JqZWN0KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRGVidWdUcmVlTm9kZSh7IG5vZGUsIHNlbGVjdGVkT2JqZWN0LCBvblNlbGVjdCB9OiBQcm9wcykge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZXMyKGdldFN0eWxlcyk7XG4gIGNvbnN0IGNoaWxkcmVuOiBSZWFjdE5vZGVbXSA9IFtdO1xuICBjb25zdCBpc1NlbGVjdGVkID0gbm9kZSA9PT0gc2VsZWN0ZWRPYmplY3Q7XG5cbiAgbm9kZS5mb3JFYWNoQ2hpbGQoKGNoaWxkKSA9PiB7XG4gICAgY2hpbGRyZW4ucHVzaChcbiAgICAgIDxEZWJ1Z1RyZWVOb2RlIG5vZGU9e2NoaWxkfSBrZXk9e2NoaWxkLnN0YXRlLmtleX0gc2VsZWN0ZWRPYmplY3Q9e3NlbGVjdGVkT2JqZWN0fSBvblNlbGVjdD17b25TZWxlY3R9IC8+XG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y3goc3R5bGVzLm5hbWUsIGlzU2VsZWN0ZWQgJiYgc3R5bGVzLnNlbGVjdGVkKX0gb25DbGljaz17KCkgPT4gb25TZWxlY3Qobm9kZSl9PlxuICAgICAgICB7bm9kZS5jb25zdHJ1Y3Rvci5uYW1lfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmNoaWxkcmVufT57Y2hpbGRyZW59PC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldFN0eWxlcyh0aGVtZTogR3JhZmFuYVRoZW1lMikge1xuICByZXR1cm4ge1xuICAgIGNvbnRhaW5lcjogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZ2FwOiB0aGVtZS5zcGFjaW5nKDAuNSksXG4gICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICB9KSxcbiAgICBuYW1lOiBjc3Moe1xuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMSksXG4gICAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGwuZm9udFNpemUsXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcoMCwgMSksXG4gICAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnNoYXBlLmJvcmRlclJhZGl1cygyKSxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgJyY6aG92ZXInOiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLmNvbG9ycy5iYWNrZ3JvdW5kLnNlY29uZGFyeSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgc2VsZWN0ZWQ6IGNzcyh7XG4gICAgICAnJjo6YmVmb3JlJzoge1xuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICBjb250ZW50OiBcIicgJ1wiLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgd2lkdGg6IDQsXG4gICAgICAgIGJvdHRvbTogMixcbiAgICAgICAgdG9wOiAyLFxuICAgICAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnNoYXBlLnJhZGl1cy5kZWZhdWx0LFxuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IHRoZW1lLmNvbG9ycy5ncmFkaWVudHMuYnJhbmRWZXJ0aWNhbCxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgY2hpbGRyZW46IGNzcyh7XG4gICAgICBmbGV4R3JvdzogMSxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgcGFkZGluZ0xlZnQ6IHRoZW1lLnNwYWNpbmcoMSksXG4gICAgfSksXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVlPLFNBQVMsYUFBYyxDQUFBLEVBQUUsSUFBTSxFQUFBLGNBQUEsRUFBZ0IsVUFBbUIsRUFBQTtBQUN2RSxFQUFNLE1BQUEsTUFBQSxHQUFTLFdBQVcsU0FBUyxDQUFBLENBQUE7QUFDbkMsRUFBQSxNQUFNLFdBQXdCLEVBQUMsQ0FBQTtBQUMvQixFQUFBLE1BQU0sYUFBYSxJQUFTLEtBQUEsY0FBQSxDQUFBO0FBRTVCLEVBQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxDQUFDLEtBQVUsS0FBQTtBQUMzQixJQUFTLFFBQUEsQ0FBQSxJQUFBO0FBQUEsc0JBQ04sS0FBQSxDQUFBLGFBQUEsQ0FBQSxhQUFBLEVBQUE7QUFBQSxRQUFjLElBQU0sRUFBQSxLQUFBO0FBQUEsUUFBTyxHQUFBLEVBQUssTUFBTSxLQUFNLENBQUEsR0FBQTtBQUFBLFFBQUssY0FBQTtBQUFBLFFBQWdDLFFBQUE7QUFBQSxPQUFvQixDQUFBO0FBQUEsS0FDeEcsQ0FBQTtBQUFBLEdBQ0QsQ0FBQSxDQUFBO0FBRUQsRUFBQSx1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
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { css } from '@emotion/css';
|
|
2
|
+
import { useStyles2, ToolbarButton, Drawer, CustomScrollbar } from '@grafana/ui';
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { DebugDetails } from './DebugDetails.js';
|
|
5
|
+
import { DebugTreeNode } from './DebugTreeNode.js';
|
|
6
|
+
|
|
7
|
+
function SceneDebugger({ scene }) {
|
|
8
|
+
const styles = useStyles2(getStyles);
|
|
9
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
10
|
+
const [selectedObject, setSelectedObject] = useState();
|
|
11
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToolbarButton, {
|
|
12
|
+
variant: "canvas",
|
|
13
|
+
icon: "bug",
|
|
14
|
+
onClick: () => setIsOpen(true)
|
|
15
|
+
}), isOpen && /* @__PURE__ */ React.createElement(Drawer, {
|
|
16
|
+
title: "Scene debugger",
|
|
17
|
+
onClose: () => setIsOpen(false),
|
|
18
|
+
size: "lg"
|
|
19
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
20
|
+
className: styles.panes
|
|
21
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
22
|
+
className: styles.pane1
|
|
23
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
24
|
+
className: styles.paneHeading
|
|
25
|
+
}, "Scene graph"), /* @__PURE__ */ React.createElement(CustomScrollbar, {
|
|
26
|
+
autoHeightMin: "100%"
|
|
27
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
28
|
+
className: styles.treeWrapper
|
|
29
|
+
}, /* @__PURE__ */ React.createElement(DebugTreeNode, {
|
|
30
|
+
node: scene,
|
|
31
|
+
selectedObject,
|
|
32
|
+
onSelect: setSelectedObject
|
|
33
|
+
})))), /* @__PURE__ */ React.createElement("div", {
|
|
34
|
+
className: styles.pane2
|
|
35
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
36
|
+
className: styles.paneHeading
|
|
37
|
+
}, "Object details"), selectedObject && /* @__PURE__ */ React.createElement(DebugDetails, {
|
|
38
|
+
node: selectedObject
|
|
39
|
+
})))));
|
|
40
|
+
}
|
|
41
|
+
function getStyles(theme) {
|
|
42
|
+
return {
|
|
43
|
+
panes: css({
|
|
44
|
+
flexGrow: 1,
|
|
45
|
+
display: "flex",
|
|
46
|
+
height: "100%",
|
|
47
|
+
flexDirection: "row",
|
|
48
|
+
marginTop: theme.spacing(-2)
|
|
49
|
+
}),
|
|
50
|
+
pane1: css({
|
|
51
|
+
flexGrow: 0,
|
|
52
|
+
display: "flex",
|
|
53
|
+
height: "100%",
|
|
54
|
+
flexDirection: "column",
|
|
55
|
+
borderRight: `1px solid ${theme.colors.border.weak}`
|
|
56
|
+
}),
|
|
57
|
+
pane2: css({
|
|
58
|
+
flexGrow: 1,
|
|
59
|
+
display: "flex",
|
|
60
|
+
minHeight: "100%",
|
|
61
|
+
flexDirection: "column",
|
|
62
|
+
paddingLeft: theme.spacing(2)
|
|
63
|
+
}),
|
|
64
|
+
treeWrapper: css({
|
|
65
|
+
paddingRight: theme.spacing(2),
|
|
66
|
+
height: "100%",
|
|
67
|
+
marginLeft: theme.spacing(-1)
|
|
68
|
+
}),
|
|
69
|
+
paneHeading: css({
|
|
70
|
+
padding: theme.spacing(1, 0),
|
|
71
|
+
fontWeight: theme.typography.fontWeightMedium
|
|
72
|
+
})
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { SceneDebugger };
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVEZWJ1Z2dlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU2NlbmVEZWJ1Z2dlci9TY2VuZURlYnVnZ2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgR3JhZmFuYVRoZW1lMiB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgQ3VzdG9tU2Nyb2xsYmFyLCBEcmF3ZXIsIFRvb2xiYXJCdXR0b24sIHVzZVN0eWxlczIgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyBEZWJ1Z0RldGFpbHMgfSBmcm9tICcuL0RlYnVnRGV0YWlscyc7XG5pbXBvcnQgeyBEZWJ1Z1RyZWVOb2RlIH0gZnJvbSAnLi9EZWJ1Z1RyZWVOb2RlJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9wcyB7XG4gIHNjZW5lOiBTY2VuZU9iamVjdDtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIFBsZWFzZSBkb24ndCB1c2UgZnJvbSBwbHVnaW5zIGRpcmVjdGx5LlxuICogVGhpcyBpcyBhbHJlYWR5IGV4cG9zZWQgdmlhIFNjZW5lQXBwUGFnZSBhbmQgdGhlID9zY2VuZS1kZWJ1Z2dlciBxdWVyeSBwYXJhbWV0ZXIuXG4gKlxuICogVGhpcyBpcyBvbmx5IGV4cG9ydGVkIHNvIHRoYXQgY29yZSBkYXNoYm9hcmRzIGNhbiB1c2UgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTY2VuZURlYnVnZ2VyKHsgc2NlbmUgfTogUHJvcHMpIHtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGVzMihnZXRTdHlsZXMpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VsZWN0ZWRPYmplY3QsIHNldFNlbGVjdGVkT2JqZWN0XSA9IHVzZVN0YXRlPFNjZW5lT2JqZWN0PigpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxUb29sYmFyQnV0dG9uIHZhcmlhbnQ9XCJjYW52YXNcIiBpY29uPVwiYnVnXCIgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKHRydWUpfSAvPlxuICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgIDxEcmF3ZXIgdGl0bGU9XCJTY2VuZSBkZWJ1Z2dlclwiIG9uQ2xvc2U9eygpID0+IHNldElzT3BlbihmYWxzZSl9IHNpemU9XCJsZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMucGFuZXN9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5wYW5lMX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMucGFuZUhlYWRpbmd9PlNjZW5lIGdyYXBoPC9kaXY+XG4gICAgICAgICAgICAgIDxDdXN0b21TY3JvbGxiYXIgYXV0b0hlaWdodE1pbj17JzEwMCUnfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRyZWVXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgIDxEZWJ1Z1RyZWVOb2RlIG5vZGU9e3NjZW5lfSBzZWxlY3RlZE9iamVjdD17c2VsZWN0ZWRPYmplY3R9IG9uU2VsZWN0PXtzZXRTZWxlY3RlZE9iamVjdH0gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9DdXN0b21TY3JvbGxiYXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMucGFuZTJ9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnBhbmVIZWFkaW5nfT5PYmplY3QgZGV0YWlsczwvZGl2PlxuICAgICAgICAgICAgICB7c2VsZWN0ZWRPYmplY3QgJiYgPERlYnVnRGV0YWlscyBub2RlPXtzZWxlY3RlZE9iamVjdH0gLz59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRTdHlsZXModGhlbWU6IEdyYWZhbmFUaGVtZTIpIHtcbiAgcmV0dXJuIHtcbiAgICBwYW5lczogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgIG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygtMiksXG4gICAgfSksXG4gICAgcGFuZTE6IGNzcyh7XG4gICAgICBmbGV4R3JvdzogMCxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICBib3JkZXJSaWdodDogYDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5ib3JkZXIud2Vha31gLFxuICAgIH0pLFxuICAgIHBhbmUyOiBjc3Moe1xuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBtaW5IZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgcGFkZGluZ0xlZnQ6IHRoZW1lLnNwYWNpbmcoMiksXG4gICAgfSksXG4gICAgdHJlZVdyYXBwZXI6IGNzcyh7XG4gICAgICBwYWRkaW5nUmlnaHQ6IHRoZW1lLnNwYWNpbmcoMiksXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIG1hcmdpbkxlZnQ6IHRoZW1lLnNwYWNpbmcoLTEpLFxuICAgIH0pLFxuICAgIHBhbmVIZWFkaW5nOiBjc3Moe1xuICAgICAgcGFkZGluZzogdGhlbWUuc3BhY2luZygxLCAwKSxcbiAgICAgIGZvbnRXZWlnaHQ6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFdlaWdodE1lZGl1bSxcbiAgICB9KSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFvQmdCLFNBQUEsYUFBQSxDQUFjLEVBQUUsS0FBQSxFQUFnQixFQUFBO0FBQzlDLEVBQU0sTUFBQSxNQUFBLEdBQVMsV0FBVyxTQUFTLENBQUEsQ0FBQTtBQUNuQyxFQUFBLE1BQU0sQ0FBQyxNQUFBLEVBQVEsU0FBUyxDQUFBLEdBQUksU0FBUyxLQUFLLENBQUEsQ0FBQTtBQUMxQyxFQUFBLE1BQU0sQ0FBQyxjQUFBLEVBQWdCLGlCQUFpQixDQUFBLEdBQUksUUFBc0IsRUFBQSxDQUFBO0FBRWxFLEVBQUEsaUZBRUssS0FBQSxDQUFBLGFBQUEsQ0FBQSxhQUFBLEVBQUE7QUFBQSxJQUFjLE9BQVEsRUFBQSxRQUFBO0FBQUEsSUFBUyxJQUFLLEVBQUEsS0FBQTtBQUFBLElBQU0sT0FBQSxFQUFTLE1BQU0sU0FBQSxDQUFVLElBQUksQ0FBQTtBQUFBLEdBQUcsQ0FBQSxFQUMxRSwwQkFDRSxLQUFBLENBQUEsYUFBQSxDQUFBLE1BQUEsRUFBQTtBQUFBLElBQU8sS0FBTSxFQUFBLGdCQUFBO0FBQUEsSUFBaUIsT0FBQSxFQUFTLE1BQU0sU0FBQSxDQUFVLEtBQUssQ0FBQTtBQUFBLElBQUcsSUFBSyxFQUFBLElBQUE7QUFBQSxHQUFBLGtCQUNsRSxLQUFBLENBQUEsYUFBQSxDQUFBLEtBQUEsRUFBQTtBQUFBLElBQUksV0FBVyxNQUFPLENBQUEsS0FBQTtBQUFBLEdBQUEsa0JBQ3BCLEtBQUEsQ0FBQSxhQUFBLENBQUEsS0FBQSxFQUFBO0FBQUEsSUFBSSxXQUFXLE1BQU8sQ0FBQSxLQUFBO0FBQUEsR0FBQSxrQkFDcEIsS0FBQSxDQUFBLGFBQUEsQ0FBQSxLQUFBLEVBQUE7QUFBQSxJQUFJLFdBQVcsTUFBTyxDQUFBLFdBQUE7QUFBQSxHQUFhLEVBQUEsYUFBVyxtQkFDOUMsS0FBQSxDQUFBLGFBQUEsQ0FBQSxlQUFBLEVB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
|