@grafana/scenes 0.0.19 → 0.0.20
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/README.md +20 -10
- package/dist/esm/components/SceneApp/SceneApp.js +3 -145
- package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPage.js +151 -0
- package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -0
- package/dist/esm/components/layout/SceneFlexLayout.js +2 -1
- package/dist/esm/components/layout/SceneFlexLayout.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/variables/interpolation/formatRegistry.js.map +1 -1
- package/dist/index.d.ts +30 -16
- package/dist/index.js +20 -16
- package/dist/index.js.map +1 -1
- package/package.json +20 -25
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { CSSProperties } from 'react';
|
|
2
2
|
import { Observable, Observer, SubscriptionLike, Unsubscribable, MonoTypeOperatorFunction, Subscription } from 'rxjs';
|
|
3
|
-
import { BusEventWithPayload, PanelData, BusEvent, BusEventType, BusEventHandler, TimeZone, TimeRange, DataTransformContext, DataFrame, ScopedVars, DataSourceRef, DataQuery, DataTransformerConfig, Registry, RegistryItem, VariableRefresh, VariableSort, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, InterpolateFunction } from '@grafana/data';
|
|
3
|
+
import { BusEventWithPayload, PanelData, BusEvent, BusEventType, BusEventHandler, TimeZone, TimeRange, DataTransformContext, DataFrame, ScopedVars, DataSourceRef, DataQuery, DataTransformerConfig, Registry, RegistryItem, VariableRefresh, VariableSort, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, InterpolateFunction, IconName as IconName$1 } from '@grafana/data';
|
|
4
4
|
import { VariableType, VariableHide, VariableModel } from '@grafana/schema';
|
|
5
5
|
import { IconName } from '@grafana/ui';
|
|
6
6
|
import ReactGridLayout from 'react-grid-layout';
|
|
@@ -911,9 +911,6 @@ declare class SceneGridLayout extends SceneObjectBase<SceneGridLayoutState> impl
|
|
|
911
911
|
}
|
|
912
912
|
declare function SceneGridLayoutRenderer({ model }: SceneComponentProps<SceneGridLayout>): JSX.Element;
|
|
913
913
|
|
|
914
|
-
interface SceneAppState extends SceneObjectStatePlain {
|
|
915
|
-
pages: SceneAppPage[];
|
|
916
|
-
}
|
|
917
914
|
interface SceneRouteMatch<Params extends {
|
|
918
915
|
[K in keyof Params]?: string;
|
|
919
916
|
} = {}> {
|
|
@@ -922,24 +919,45 @@ interface SceneRouteMatch<Params extends {
|
|
|
922
919
|
path: string;
|
|
923
920
|
url: string;
|
|
924
921
|
}
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
922
|
+
interface SceneAppState extends SceneObjectStatePlain {
|
|
923
|
+
pages: SceneAppPageLike[];
|
|
924
|
+
}
|
|
925
|
+
interface SceneAppRoute {
|
|
926
|
+
path: string;
|
|
927
|
+
page?: SceneAppPageLike;
|
|
928
|
+
drilldown?: SceneAppDrilldownView;
|
|
930
929
|
}
|
|
931
930
|
interface SceneAppPageState extends SceneObjectStatePlain {
|
|
931
|
+
/** Page title */
|
|
932
932
|
title: string;
|
|
933
|
+
/** Page subTitle */
|
|
933
934
|
subTitle?: string;
|
|
935
|
+
/** For an image before title */
|
|
936
|
+
titleImg?: string;
|
|
937
|
+
/** For an icon before title */
|
|
938
|
+
titleIcon?: IconName$1;
|
|
934
939
|
url: string;
|
|
935
940
|
routePath?: string;
|
|
936
941
|
hideFromBreadcrumbs?: boolean;
|
|
937
|
-
tabs?:
|
|
942
|
+
tabs?: SceneAppPageLike[];
|
|
938
943
|
getScene: (routeMatch: SceneRouteMatch) => EmbeddedScene;
|
|
939
944
|
drilldowns?: SceneAppDrilldownView[];
|
|
940
|
-
getParentPage?: () =>
|
|
945
|
+
getParentPage?: () => SceneAppPageLike;
|
|
941
946
|
preserveUrlKeys?: string[];
|
|
942
947
|
}
|
|
948
|
+
type SceneAppPageLike = SceneObject<SceneAppPageState>;
|
|
949
|
+
interface SceneAppDrilldownView {
|
|
950
|
+
routePath: string;
|
|
951
|
+
getPage: (routeMatch: SceneRouteMatch<any>, parent: SceneAppPageLike) => SceneAppPageLike;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
/**
|
|
955
|
+
* Responsible for top level pages routing
|
|
956
|
+
*/
|
|
957
|
+
declare class SceneApp extends SceneObjectBase<SceneAppState> {
|
|
958
|
+
static Component: ({ model }: SceneComponentProps<SceneApp>) => JSX.Element;
|
|
959
|
+
}
|
|
960
|
+
|
|
943
961
|
/**
|
|
944
962
|
* Responsible for page's drilldown & tabs routing
|
|
945
963
|
*/
|
|
@@ -947,9 +965,5 @@ declare class SceneAppPage extends SceneObjectBase<SceneAppPageState> {
|
|
|
947
965
|
static Component: typeof SceneAppPageRenderer;
|
|
948
966
|
}
|
|
949
967
|
declare function SceneAppPageRenderer({ model }: SceneComponentProps<SceneAppPage>): JSX.Element;
|
|
950
|
-
interface SceneAppDrilldownView {
|
|
951
|
-
routePath: string;
|
|
952
|
-
getPage: (routeMatch: SceneRouteMatch<any>, parent: SceneAppPage) => SceneAppPage;
|
|
953
|
-
}
|
|
954
968
|
|
|
955
|
-
export { ConstantVariable, CustomFormatterFn, CustomTransformOperator, CustomVariable, DataSourceVariable, DeepPartial, EmbeddedScene, EmbeddedSceneState, FormatRegistryID, FormatVariable, NestedScene, QueryRunnerState, QueryVariable, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneCanvasText, SceneComponent, SceneComponentProps, SceneControlsSpacer, SceneDataNode, SceneDataProvider, SceneDataState, SceneDataTransformer, SceneEditor, SceneEditorState, SceneFlexLayout, SceneGridLayout, SceneGridRow, SceneLayout, SceneLayoutChild, SceneLayoutChildOptions, SceneLayoutChildState, SceneLayoutState, SceneObject, SceneObjectBase, SceneObjectRef, SceneObjectState, SceneObjectStateChangedEvent, SceneObjectStateChangedPayload, SceneObjectStatePlain, SceneObjectUrlSyncConfig, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryRunner, SceneRefreshPicker, SceneRouteMatch, SceneTimePicker, SceneTimeRange, SceneTimeRangeLike, SceneTimeRangeState, SceneToolbarButton, SceneToolbarInput, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSet, SceneVariableSetState, SceneVariableState, SceneVariableValueChangedEvent, SceneVariables, TestVariable, TextBoxVariable, UrlSyncManager, ValidateAndUpdateResult, VariableDependencyConfig, VariableValue, VariableValueCustom, VariableValueOption, VariableValueSelectors, VariableValueSingle, VizPanel, VizPanelState, formatRegistry, isSceneObject, sceneGraph };
|
|
969
|
+
export { ConstantVariable, CustomFormatterFn, CustomTransformOperator, CustomVariable, DataSourceVariable, DeepPartial, EmbeddedScene, EmbeddedSceneState, FormatRegistryID, FormatVariable, NestedScene, QueryRunnerState, QueryVariable, SceneApp, SceneAppDrilldownView, SceneAppPage, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneByFrameRepeater, SceneCanvasText, SceneComponent, SceneComponentProps, SceneControlsSpacer, SceneDataNode, SceneDataProvider, SceneDataState, SceneDataTransformer, SceneEditor, SceneEditorState, SceneFlexLayout, SceneGridLayout, SceneGridRow, SceneLayout, SceneLayoutChild, SceneLayoutChildOptions, SceneLayoutChildState, SceneLayoutState, SceneObject, SceneObjectBase, SceneObjectRef, SceneObjectState, SceneObjectStateChangedEvent, SceneObjectStateChangedPayload, SceneObjectStatePlain, SceneObjectUrlSyncConfig, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryRunner, SceneRefreshPicker, SceneRouteMatch, SceneTimePicker, SceneTimeRange, SceneTimeRangeLike, SceneTimeRangeState, SceneToolbarButton, SceneToolbarInput, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSet, SceneVariableSetState, SceneVariableState, SceneVariableValueChangedEvent, SceneVariables, TestVariable, TextBoxVariable, UrlSyncManager, ValidateAndUpdateResult, VariableDependencyConfig, VariableValue, VariableValueCustom, VariableValueOption, VariableValueSelectors, VariableValueSingle, VizPanel, VizPanelState, formatRegistry, isSceneObject, sceneGraph };
|
package/dist/index.js
CHANGED
|
@@ -3269,7 +3269,8 @@ function FlexLayoutRenderer({ model, isEditing }) {
|
|
|
3269
3269
|
display: "flex",
|
|
3270
3270
|
gap: "8px",
|
|
3271
3271
|
flexWrap: wrap,
|
|
3272
|
-
alignContent: "baseline"
|
|
3272
|
+
alignContent: "baseline",
|
|
3273
|
+
minHeight: 0
|
|
3273
3274
|
};
|
|
3274
3275
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
3275
3276
|
style
|
|
@@ -3766,6 +3767,22 @@ function sortGridLayout(layout) {
|
|
|
3766
3767
|
return [...layout].sort((a, b) => a.y - b.y || a.x - b.x);
|
|
3767
3768
|
}
|
|
3768
3769
|
|
|
3770
|
+
class SceneApp extends SceneObjectBase {
|
|
3771
|
+
}
|
|
3772
|
+
SceneApp.Component = ({ model }) => {
|
|
3773
|
+
const { pages } = model.useState();
|
|
3774
|
+
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
3775
|
+
key: page.state.url,
|
|
3776
|
+
exact: false,
|
|
3777
|
+
path: page.state.url,
|
|
3778
|
+
render: () => {
|
|
3779
|
+
return page && /* @__PURE__ */ React__default["default"].createElement(page.Component, {
|
|
3780
|
+
model: page
|
|
3781
|
+
});
|
|
3782
|
+
}
|
|
3783
|
+
})));
|
|
3784
|
+
};
|
|
3785
|
+
|
|
3769
3786
|
var __defProp = Object.defineProperty;
|
|
3770
3787
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3771
3788
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
@@ -3799,21 +3816,6 @@ function getLinkUrlWithAppUrlState(path, params, preserveParams) {
|
|
|
3799
3816
|
}
|
|
3800
3817
|
|
|
3801
3818
|
const sceneCache = /* @__PURE__ */ new Map();
|
|
3802
|
-
class SceneApp extends SceneObjectBase {
|
|
3803
|
-
}
|
|
3804
|
-
SceneApp.Component = ({ model }) => {
|
|
3805
|
-
const { pages } = model.useState();
|
|
3806
|
-
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
3807
|
-
key: page.state.url,
|
|
3808
|
-
exact: false,
|
|
3809
|
-
path: page.state.url,
|
|
3810
|
-
render: () => {
|
|
3811
|
-
return page && /* @__PURE__ */ React__default["default"].createElement(page.Component, {
|
|
3812
|
-
model: page
|
|
3813
|
-
});
|
|
3814
|
-
}
|
|
3815
|
-
})));
|
|
3816
|
-
};
|
|
3817
3819
|
class SceneAppPage extends SceneObjectBase {
|
|
3818
3820
|
}
|
|
3819
3821
|
SceneAppPage.Component = SceneAppPageRenderer;
|
|
@@ -3912,6 +3914,8 @@ function ScenePageRenderer({ page, tabs, activeTab }) {
|
|
|
3912
3914
|
const pageNav = {
|
|
3913
3915
|
text: page.state.title,
|
|
3914
3916
|
subTitle: page.state.subTitle,
|
|
3917
|
+
img: page.state.titleImg,
|
|
3918
|
+
icon: page.state.titleIcon,
|
|
3915
3919
|
url: getLinkUrlWithAppUrlState(page.state.url, params, page.state.preserveUrlKeys),
|
|
3916
3920
|
hideFromBreadcrumbs: page.state.hideFromBreadcrumbs,
|
|
3917
3921
|
parentItem: getParentBreadcrumbs(page.state.getParentPage ? page.state.getParentPage() : page.parent, params)
|