@j2inn/fin5-ui-utils 6.0.4 → 6.0.5-beta.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/README.md +5 -5
- package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
- package/dist/fantomProps/createFin5Props/index.js +146 -146
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +16 -16
- package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
- package/dist/fantomProps/fantomPropsToObject.js +183 -183
- package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
- package/dist/fantomProps/generateJsonFromFantomPropsFile.js +41 -41
- package/dist/fantomProps/localePropsToJson.d.ts +1 -1
- package/dist/fantomProps/localePropsToJson.js +50 -50
- package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
- package/dist/fantomProps/readFantomPropsFile.js +66 -61
- package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
- package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
- package/dist/fin5Top/fin5FileUpload.js +51 -51
- package/dist/fin5Top/fin5Top.d.ts +124 -124
- package/dist/fin5Top/fin5Top.js +53 -53
- package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
- package/dist/fin5Top/finEdge2Cloud.js +15 -15
- package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
- package/dist/fin5Top/getFin5BinUrl.js +9 -9
- package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
- package/dist/fin5Top/openFin5Alarm.js +23 -23
- package/dist/fin5Top/openFin5Historian.d.ts +3 -3
- package/dist/fin5Top/openFin5Historian.js +19 -19
- package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
- package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
- package/dist/index.d.ts +35 -35
- package/dist/index.js +69 -69
- package/dist/jobs/jobUtils.d.ts +14 -14
- package/dist/jobs/jobUtils.js +15 -15
- package/dist/react/app/Fin5AppContainer.d.ts +36 -36
- package/dist/react/app/Fin5AppContainer.js +102 -102
- package/dist/react/app/Fin5AppRootStore.d.ts +40 -40
- package/dist/react/app/Fin5AppRootStore.js +69 -69
- package/dist/react/components/ErrorBoundary.d.ts +57 -57
- package/dist/react/components/ErrorBoundary.js +150 -150
- package/dist/react/components/ErrorDisplayer.d.ts +19 -19
- package/dist/react/components/ErrorDisplayer.js +36 -36
- package/dist/react/components/Loader.d.ts +9 -9
- package/dist/react/components/Loader.js +17 -17
- package/dist/react/components/LoadingSpinner.d.ts +2 -2
- package/dist/react/components/LoadingSpinner.js +27 -27
- package/dist/react/components/RecordImage.d.ts +20 -20
- package/dist/react/components/RecordImage.js +51 -51
- package/dist/react/components/charts/QRCode.d.ts +25 -25
- package/dist/react/components/charts/QRCode.js +82 -82
- package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
- package/dist/react/components/charts/line-bar/Chart.js +442 -442
- package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
- package/dist/react/components/charts/line-bar/HGridChart.js +285 -285
- package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
- package/dist/react/components/charts/pie/PieChart.js +204 -204
- package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
- package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
- package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
- package/dist/react/components/graphics/GraphicViewer.js +29 -29
- package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
- package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
- package/dist/react/components/makeCustomElement.d.ts +16 -16
- package/dist/react/components/makeCustomElement.js +150 -150
- package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
- package/dist/react/components/navigation/BasicLayout.js +155 -155
- package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
- package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
- package/dist/react/components/navigation/MenuPage.d.ts +37 -37
- package/dist/react/components/navigation/MenuPage.js +36 -36
- package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
- package/dist/react/components/navigation/MenuTrigger.js +33 -33
- package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
- package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
- package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
- package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
- package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
- package/dist/react/components/navigation/customRouting/Router.js +45 -45
- package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
- package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
- package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
- package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
- package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
- package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
- package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
- package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
- package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
- package/dist/react/hooks/useFin5BinUrl.js +15 -15
- package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
- package/dist/react/hooks/useFin5ColorScheme.js +49 -49
- package/dist/react/hooks/useScreenSize.d.ts +7 -7
- package/dist/react/hooks/useScreenSize.js +31 -31
- package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
- package/dist_es/fantomProps/createFin5Props/index.js +140 -140
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
- package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
- package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
- package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
- package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
- package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
- package/dist_es/fantomProps/localePropsToJson.js +21 -21
- package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
- package/dist_es/fantomProps/readFantomPropsFile.js +40 -35
- package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
- package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
- package/dist_es/fin5Top/fin5FileUpload.js +47 -47
- package/dist_es/fin5Top/fin5Top.d.ts +124 -124
- package/dist_es/fin5Top/fin5Top.js +49 -49
- package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
- package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
- package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
- package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
- package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
- package/dist_es/fin5Top/openFin5Alarm.js +19 -19
- package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
- package/dist_es/fin5Top/openFin5Historian.js +15 -15
- package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
- package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
- package/dist_es/index.d.ts +35 -35
- package/dist_es/index.js +53 -53
- package/dist_es/jobs/jobUtils.d.ts +14 -14
- package/dist_es/jobs/jobUtils.js +9 -9
- package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
- package/dist_es/react/app/Fin5AppContainer.js +73 -73
- package/dist_es/react/app/Fin5AppContainer.jsx +82 -0
- package/dist_es/react/app/Fin5AppContainer.jsx.map +1 -0
- package/dist_es/react/app/Fin5AppRootStore.d.ts +40 -40
- package/dist_es/react/app/Fin5AppRootStore.js +65 -65
- package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
- package/dist_es/react/components/ErrorBoundary.js +123 -123
- package/dist_es/react/components/ErrorBoundary.jsx +150 -0
- package/dist_es/react/components/ErrorBoundary.jsx.map +1 -0
- package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
- package/dist_es/react/components/ErrorDisplayer.js +28 -28
- package/dist_es/react/components/ErrorDisplayer.jsx +36 -0
- package/dist_es/react/components/ErrorDisplayer.jsx.map +1 -0
- package/dist_es/react/components/Loader.d.ts +9 -9
- package/dist_es/react/components/Loader.js +12 -12
- package/dist_es/react/components/Loader.jsx +13 -0
- package/dist_es/react/components/Loader.jsx.map +1 -0
- package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
- package/dist_es/react/components/LoadingSpinner.js +20 -20
- package/dist_es/react/components/LoadingSpinner.jsx +22 -0
- package/dist_es/react/components/LoadingSpinner.jsx.map +1 -0
- package/dist_es/react/components/RecordImage.d.ts +20 -20
- package/dist_es/react/components/RecordImage.js +24 -24
- package/dist_es/react/components/charts/QRCode.d.ts +25 -25
- package/dist_es/react/components/charts/QRCode.js +52 -52
- package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
- package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
- package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
- package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
- package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +12 -0
- package/dist_es/react/components/charts/line-bar/ZincGridChart.js +17 -0
- package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +1 -0
- package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
- package/dist_es/react/components/charts/pie/PieChart.js +177 -177
- package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
- package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
- package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
- package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
- package/dist_es/react/components/graphics/GraphicViewer.jsx +23 -0
- package/dist_es/react/components/graphics/GraphicViewer.jsx.map +1 -0
- package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
- package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
- package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +63 -0
- package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +1 -0
- package/dist_es/react/components/makeCustomElement.d.ts +16 -16
- package/dist_es/react/components/makeCustomElement.js +142 -142
- package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
- package/dist_es/react/components/navigation/BasicLayout.js +124 -124
- package/dist_es/react/components/navigation/BasicLayout.jsx +133 -0
- package/dist_es/react/components/navigation/BasicLayout.jsx.map +1 -0
- package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
- package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
- package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
- package/dist_es/react/components/navigation/MenuPage.js +30 -30
- package/dist_es/react/components/navigation/MenuPage.jsx +31 -0
- package/dist_es/react/components/navigation/MenuPage.jsx.map +1 -0
- package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
- package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
- package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
- package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
- package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
- package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
- package/dist_es/react/components/navigation/Router.d.ts +12 -0
- package/dist_es/react/components/navigation/Router.js +19 -0
- package/dist_es/react/components/navigation/Router.js.map +1 -0
- package/dist_es/react/components/navigation/Router.jsx +19 -0
- package/dist_es/react/components/navigation/Router.jsx.map +1 -0
- package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
- package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
- package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
- package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
- package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +23 -0
- package/dist_es/react/components/navigation/react-router/BasicLayout.js +82 -0
- package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +1 -0
- package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +24 -0
- package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +82 -0
- package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +1 -0
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
- package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
- package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
- package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
- package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
- package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
- package/dist_es/react/hooks/useFin5ColorScheme.js +45 -45
- package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
- package/dist_es/react/hooks/useScreenSize.js +27 -27
- package/package.json +1 -1
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023, J2 Innovations. All Rights Reserved
|
|
4
|
-
*/
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
-
}) : function(o, v) {
|
|
19
|
-
o["default"] = v;
|
|
20
|
-
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
-
if (mod && mod.__esModule) return mod;
|
|
23
|
-
var result = {};
|
|
24
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
-
__setModuleDefault(result, mod);
|
|
26
|
-
return result;
|
|
27
|
-
};
|
|
28
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
-
};
|
|
31
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.BasicLayout = exports.DEFAULT_HEADER_HEIGHT = exports.getMenuPages = void 0;
|
|
33
|
-
const icons_1 = require("@ant-design/icons");
|
|
34
|
-
const ui_1 = require("@j2inn/ui");
|
|
35
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
36
|
-
const react_1 = __importStar(require("react"));
|
|
37
|
-
const react_jss_1 = require("react-jss");
|
|
38
|
-
const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
|
|
39
|
-
const useStyles = (0, react_jss_1.createUseStyles)({
|
|
40
|
-
header: ({ headerHeight }) => ({
|
|
41
|
-
position: 'fixed',
|
|
42
|
-
width: '100%',
|
|
43
|
-
zIndex: 1000,
|
|
44
|
-
padding: 0,
|
|
45
|
-
height: headerHeight,
|
|
46
|
-
lineHeight: `${headerHeight}px`,
|
|
47
|
-
}),
|
|
48
|
-
sider: {
|
|
49
|
-
overflow: 'auto',
|
|
50
|
-
height: '100vh',
|
|
51
|
-
position: 'fixed',
|
|
52
|
-
left: 0,
|
|
53
|
-
top: 0,
|
|
54
|
-
bottom: 0,
|
|
55
|
-
zIndex: 999,
|
|
56
|
-
paddingTop: ({ isMobile, headerHeight }) => isMobile ? headerHeight : 0,
|
|
57
|
-
[`& .${ui_1.ant_prefix}-layout-sider-children`]: {
|
|
58
|
-
display: 'flex',
|
|
59
|
-
flexDirection: 'column',
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
compactSiderButton: {
|
|
63
|
-
position: 'sticky',
|
|
64
|
-
bottom: 0,
|
|
65
|
-
width: '100%',
|
|
66
|
-
textAlign: 'center',
|
|
67
|
-
fontSize: '1.3rem',
|
|
68
|
-
padding: '0.5rem',
|
|
69
|
-
cursor: 'pointer',
|
|
70
|
-
transition: '0.3s',
|
|
71
|
-
},
|
|
72
|
-
compactSiderButtonItem: {
|
|
73
|
-
transition: '0.3s',
|
|
74
|
-
},
|
|
75
|
-
compactSiderButtonItemCollapsed: {
|
|
76
|
-
transform: ' rotate(180deg)',
|
|
77
|
-
},
|
|
78
|
-
content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
|
|
79
|
-
paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
|
|
80
|
-
paddingTop: isMobile ? headerHeight : 0,
|
|
81
|
-
}),
|
|
82
|
-
});
|
|
83
|
-
// Workaround j2inn/ui exporting problem
|
|
84
|
-
const Header = ui_1.Layout.Header;
|
|
85
|
-
const Sider = ui_1.Layout.Sider;
|
|
86
|
-
const Content = ui_1.Layout.Content;
|
|
87
|
-
/**
|
|
88
|
-
* Copy the array and recursively remove pages having the `showInMenu` flag set to false.
|
|
89
|
-
* @param pages
|
|
90
|
-
* @returns
|
|
91
|
-
*/
|
|
92
|
-
const getMenuPages = (pages) => {
|
|
93
|
-
const menuPages = [];
|
|
94
|
-
pages.forEach((page) => {
|
|
95
|
-
const show = page.showInMenu == null || page.showInMenu;
|
|
96
|
-
if (show) {
|
|
97
|
-
const copiedPage = Object.assign({}, page);
|
|
98
|
-
if (copiedPage.children) {
|
|
99
|
-
const filteredChildren = (0, exports.getMenuPages)(copiedPage.children);
|
|
100
|
-
copiedPage.children = filteredChildren.length
|
|
101
|
-
? filteredChildren
|
|
102
|
-
: undefined;
|
|
103
|
-
}
|
|
104
|
-
menuPages.push(copiedPage);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
return menuPages;
|
|
108
|
-
};
|
|
109
|
-
exports.getMenuPages = getMenuPages;
|
|
110
|
-
exports.DEFAULT_HEADER_HEIGHT = 45;
|
|
111
|
-
/**
|
|
112
|
-
* Basic layout with sider and mobile navigation management.
|
|
113
|
-
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
114
|
-
*/
|
|
115
|
-
function BasicLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, mobileHeaderProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = exports.DEFAULT_HEADER_HEIGHT, children, }) {
|
|
116
|
-
// manage mobile navigation
|
|
117
|
-
const [isMobile, setIsMobile] = (0, react_1.useState)(false);
|
|
118
|
-
const [isSiderCompact, setIsSiderCompact] = (0, react_1.useState)(compactSider?.isCompact ?? false);
|
|
119
|
-
const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
|
|
120
|
-
const siderWidth = siderProps?.width;
|
|
121
|
-
const classes = useStyles({
|
|
122
|
-
isMobile,
|
|
123
|
-
compactSider: isSiderCompact,
|
|
124
|
-
siderWidth,
|
|
125
|
-
headerHeight,
|
|
126
|
-
});
|
|
127
|
-
const menuPages = (0, react_1.useMemo)(() => (0, exports.getMenuPages)(pages), [pages]);
|
|
128
|
-
return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
|
|
129
|
-
isMobile && (react_1.default.createElement(Header, { ...mobileHeaderProps, className: (0, classnames_1.default)(classes.header, mobileHeaderProps?.className) },
|
|
130
|
-
react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
|
|
131
|
-
setHiddenSider(!hiddenSider);
|
|
132
|
-
} }))),
|
|
133
|
-
react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
|
|
134
|
-
setIsMobile(broken);
|
|
135
|
-
setHiddenSider(true);
|
|
136
|
-
}, collapsed: (isMobile && hiddenSider) || isSiderCompact, collapsedWidth: isMobile && hiddenSider
|
|
137
|
-
? 0
|
|
138
|
-
: isSiderCompact
|
|
139
|
-
? headerHeight
|
|
140
|
-
: 0, trigger: null },
|
|
141
|
-
menuBefore,
|
|
142
|
-
react_1.default.createElement(ui_1.Menu, { style: { flex: 1 }, ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
|
|
143
|
-
if (!hiddenSider) {
|
|
144
|
-
setHiddenSider(true);
|
|
145
|
-
}
|
|
146
|
-
onSelect?.(key);
|
|
147
|
-
} }),
|
|
148
|
-
menuAfter,
|
|
149
|
-
compactSider?.showButton && !isMobile && (react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.compactSiderButton, compactSider.buttonClassName), onClick: () => setIsSiderCompact(!isSiderCompact) },
|
|
150
|
-
react_1.default.createElement(icons_1.LeftOutlined, { className: (0, classnames_1.default)(classes.compactSiderButtonItem, {
|
|
151
|
-
[classes.compactSiderButtonItemCollapsed]: isSiderCompact,
|
|
152
|
-
}) })))),
|
|
153
|
-
react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
|
|
154
|
-
}
|
|
155
|
-
exports.BasicLayout = BasicLayout;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
+
__setModuleDefault(result, mod);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.BasicLayout = exports.DEFAULT_HEADER_HEIGHT = exports.getMenuPages = void 0;
|
|
33
|
+
const icons_1 = require("@ant-design/icons");
|
|
34
|
+
const ui_1 = require("@j2inn/ui");
|
|
35
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
36
|
+
const react_1 = __importStar(require("react"));
|
|
37
|
+
const react_jss_1 = require("react-jss");
|
|
38
|
+
const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
|
|
39
|
+
const useStyles = (0, react_jss_1.createUseStyles)({
|
|
40
|
+
header: ({ headerHeight }) => ({
|
|
41
|
+
position: 'fixed',
|
|
42
|
+
width: '100%',
|
|
43
|
+
zIndex: 1000,
|
|
44
|
+
padding: 0,
|
|
45
|
+
height: headerHeight,
|
|
46
|
+
lineHeight: `${headerHeight}px`,
|
|
47
|
+
}),
|
|
48
|
+
sider: {
|
|
49
|
+
overflow: 'auto',
|
|
50
|
+
height: '100vh',
|
|
51
|
+
position: 'fixed',
|
|
52
|
+
left: 0,
|
|
53
|
+
top: 0,
|
|
54
|
+
bottom: 0,
|
|
55
|
+
zIndex: 999,
|
|
56
|
+
paddingTop: ({ isMobile, headerHeight }) => isMobile ? headerHeight : 0,
|
|
57
|
+
[`& .${ui_1.ant_prefix}-layout-sider-children`]: {
|
|
58
|
+
display: 'flex',
|
|
59
|
+
flexDirection: 'column',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
compactSiderButton: {
|
|
63
|
+
position: 'sticky',
|
|
64
|
+
bottom: 0,
|
|
65
|
+
width: '100%',
|
|
66
|
+
textAlign: 'center',
|
|
67
|
+
fontSize: '1.3rem',
|
|
68
|
+
padding: '0.5rem',
|
|
69
|
+
cursor: 'pointer',
|
|
70
|
+
transition: '0.3s',
|
|
71
|
+
},
|
|
72
|
+
compactSiderButtonItem: {
|
|
73
|
+
transition: '0.3s',
|
|
74
|
+
},
|
|
75
|
+
compactSiderButtonItemCollapsed: {
|
|
76
|
+
transform: ' rotate(180deg)',
|
|
77
|
+
},
|
|
78
|
+
content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
|
|
79
|
+
paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
|
|
80
|
+
paddingTop: isMobile ? headerHeight : 0,
|
|
81
|
+
}),
|
|
82
|
+
});
|
|
83
|
+
// Workaround j2inn/ui exporting problem
|
|
84
|
+
const Header = ui_1.Layout.Header;
|
|
85
|
+
const Sider = ui_1.Layout.Sider;
|
|
86
|
+
const Content = ui_1.Layout.Content;
|
|
87
|
+
/**
|
|
88
|
+
* Copy the array and recursively remove pages having the `showInMenu` flag set to false.
|
|
89
|
+
* @param pages
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
const getMenuPages = (pages) => {
|
|
93
|
+
const menuPages = [];
|
|
94
|
+
pages.forEach((page) => {
|
|
95
|
+
const show = page.showInMenu == null || page.showInMenu;
|
|
96
|
+
if (show) {
|
|
97
|
+
const copiedPage = Object.assign({}, page);
|
|
98
|
+
if (copiedPage.children) {
|
|
99
|
+
const filteredChildren = (0, exports.getMenuPages)(copiedPage.children);
|
|
100
|
+
copiedPage.children = filteredChildren.length
|
|
101
|
+
? filteredChildren
|
|
102
|
+
: undefined;
|
|
103
|
+
}
|
|
104
|
+
menuPages.push(copiedPage);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
return menuPages;
|
|
108
|
+
};
|
|
109
|
+
exports.getMenuPages = getMenuPages;
|
|
110
|
+
exports.DEFAULT_HEADER_HEIGHT = 45;
|
|
111
|
+
/**
|
|
112
|
+
* Basic layout with sider and mobile navigation management.
|
|
113
|
+
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
114
|
+
*/
|
|
115
|
+
function BasicLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, mobileHeaderProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = exports.DEFAULT_HEADER_HEIGHT, children, }) {
|
|
116
|
+
// manage mobile navigation
|
|
117
|
+
const [isMobile, setIsMobile] = (0, react_1.useState)(false);
|
|
118
|
+
const [isSiderCompact, setIsSiderCompact] = (0, react_1.useState)(compactSider?.isCompact ?? false);
|
|
119
|
+
const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
|
|
120
|
+
const siderWidth = siderProps?.width;
|
|
121
|
+
const classes = useStyles({
|
|
122
|
+
isMobile,
|
|
123
|
+
compactSider: isSiderCompact,
|
|
124
|
+
siderWidth,
|
|
125
|
+
headerHeight,
|
|
126
|
+
});
|
|
127
|
+
const menuPages = (0, react_1.useMemo)(() => (0, exports.getMenuPages)(pages), [pages]);
|
|
128
|
+
return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
|
|
129
|
+
isMobile && (react_1.default.createElement(Header, { ...mobileHeaderProps, className: (0, classnames_1.default)(classes.header, mobileHeaderProps?.className) },
|
|
130
|
+
react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
|
|
131
|
+
setHiddenSider(!hiddenSider);
|
|
132
|
+
} }))),
|
|
133
|
+
react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
|
|
134
|
+
setIsMobile(broken);
|
|
135
|
+
setHiddenSider(true);
|
|
136
|
+
}, collapsed: (isMobile && hiddenSider) || isSiderCompact, collapsedWidth: isMobile && hiddenSider
|
|
137
|
+
? 0
|
|
138
|
+
: isSiderCompact
|
|
139
|
+
? headerHeight
|
|
140
|
+
: 0, trigger: null },
|
|
141
|
+
menuBefore,
|
|
142
|
+
react_1.default.createElement(ui_1.Menu, { style: { flex: 1 }, ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
|
|
143
|
+
if (!hiddenSider) {
|
|
144
|
+
setHiddenSider(true);
|
|
145
|
+
}
|
|
146
|
+
onSelect?.(key);
|
|
147
|
+
} }),
|
|
148
|
+
menuAfter,
|
|
149
|
+
compactSider?.showButton && !isMobile && (react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.compactSiderButton, compactSider.buttonClassName), onClick: () => setIsSiderCompact(!isSiderCompact) },
|
|
150
|
+
react_1.default.createElement(icons_1.LeftOutlined, { className: (0, classnames_1.default)(classes.compactSiderButtonItem, {
|
|
151
|
+
[classes.compactSiderButtonItemCollapsed]: isSiderCompact,
|
|
152
|
+
}) })))),
|
|
153
|
+
react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
|
|
154
|
+
}
|
|
155
|
+
exports.BasicLayout = BasicLayout;
|
|
156
156
|
//# sourceMappingURL=BasicLayout.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { LayoutProps } from 'antd';
|
|
2
|
-
import React, { ReactElement } from 'react';
|
|
3
|
-
import { BasicLayoutProps } from './BasicLayout';
|
|
4
|
-
import { MenuPage } from './MenuPage';
|
|
5
|
-
export declare type HeaderSiderLayoutProps<T extends MenuPage> = Omit<BasicLayoutProps<T>, 'mobileHeaderProps'> & {
|
|
6
|
-
header?: React.ReactNode;
|
|
7
|
-
headerProps?: LayoutProps;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Layout with header and sider. Sider is collapsed on mobile.
|
|
11
|
-
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
12
|
-
*/
|
|
13
|
-
export declare function HeaderSiderLayout<T extends MenuPage>({ pages, defaultPage, selectedPages, onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight, children, }: HeaderSiderLayoutProps<T>): ReactElement;
|
|
1
|
+
import { LayoutProps } from 'antd';
|
|
2
|
+
import React, { ReactElement } from 'react';
|
|
3
|
+
import { BasicLayoutProps } from './BasicLayout';
|
|
4
|
+
import { MenuPage } from './MenuPage';
|
|
5
|
+
export declare type HeaderSiderLayoutProps<T extends MenuPage> = Omit<BasicLayoutProps<T>, 'mobileHeaderProps'> & {
|
|
6
|
+
header?: React.ReactNode;
|
|
7
|
+
headerProps?: LayoutProps;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Layout with header and sider. Sider is collapsed on mobile.
|
|
11
|
+
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
12
|
+
*/
|
|
13
|
+
export declare function HeaderSiderLayout<T extends MenuPage>({ pages, defaultPage, selectedPages, onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight, children, }: HeaderSiderLayoutProps<T>): ReactElement;
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2024, J2 Innovations. All Rights Reserved
|
|
4
|
-
*/
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
-
}) : function(o, v) {
|
|
19
|
-
o["default"] = v;
|
|
20
|
-
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
-
if (mod && mod.__esModule) return mod;
|
|
23
|
-
var result = {};
|
|
24
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
-
__setModuleDefault(result, mod);
|
|
26
|
-
return result;
|
|
27
|
-
};
|
|
28
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
-
};
|
|
31
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.HeaderSiderLayout = void 0;
|
|
33
|
-
const ui_1 = require("@j2inn/ui");
|
|
34
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
35
|
-
const react_1 = __importStar(require("react"));
|
|
36
|
-
const react_jss_1 = require("react-jss");
|
|
37
|
-
const BasicLayout_1 = require("./BasicLayout");
|
|
38
|
-
const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
|
|
39
|
-
const useStyles = (0, react_jss_1.createUseStyles)({
|
|
40
|
-
header: ({ headerHeight }) => ({
|
|
41
|
-
position: 'fixed',
|
|
42
|
-
width: '100%',
|
|
43
|
-
zIndex: 1000,
|
|
44
|
-
padding: 0,
|
|
45
|
-
height: headerHeight,
|
|
46
|
-
lineHeight: `${headerHeight}px`,
|
|
47
|
-
}),
|
|
48
|
-
headerContent: {
|
|
49
|
-
height: '100%',
|
|
50
|
-
},
|
|
51
|
-
sider: ({ headerHeight }) => ({
|
|
52
|
-
overflow: 'auto',
|
|
53
|
-
height: '100vh',
|
|
54
|
-
position: 'fixed',
|
|
55
|
-
left: 0,
|
|
56
|
-
top: 0,
|
|
57
|
-
bottom: 0,
|
|
58
|
-
zIndex: 999,
|
|
59
|
-
paddingTop: headerHeight,
|
|
60
|
-
}),
|
|
61
|
-
content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
|
|
62
|
-
paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
|
|
63
|
-
paddingTop: headerHeight,
|
|
64
|
-
}),
|
|
65
|
-
});
|
|
66
|
-
// Workaround j2inn/ui exporting problem
|
|
67
|
-
const Header = ui_1.Layout.Header;
|
|
68
|
-
const Sider = ui_1.Layout.Sider;
|
|
69
|
-
const Content = ui_1.Layout.Content;
|
|
70
|
-
/**
|
|
71
|
-
* Layout with header and sider. Sider is collapsed on mobile.
|
|
72
|
-
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
73
|
-
*/
|
|
74
|
-
function HeaderSiderLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = BasicLayout_1.DEFAULT_HEADER_HEIGHT, children, }) {
|
|
75
|
-
const [isMobile, setIsMobile] = (0, react_1.useState)(false);
|
|
76
|
-
const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
|
|
77
|
-
const siderWidth = siderProps?.width;
|
|
78
|
-
const classes = useStyles({
|
|
79
|
-
isMobile,
|
|
80
|
-
compactSider: compactSider?.isCompact,
|
|
81
|
-
siderWidth,
|
|
82
|
-
headerHeight,
|
|
83
|
-
});
|
|
84
|
-
const menuPages = (0, react_1.useMemo)(() => (0, BasicLayout_1.getMenuPages)(pages), [pages]);
|
|
85
|
-
return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
|
|
86
|
-
react_1.default.createElement(Header, { ...headerProps, className: (0, classnames_1.default)(classes.header, headerProps?.className) },
|
|
87
|
-
react_1.default.createElement(ui_1.Container, { horizontal: true, middle: true, className: classes.headerContent },
|
|
88
|
-
isMobile && (react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
|
|
89
|
-
setHiddenSider(!hiddenSider);
|
|
90
|
-
} })),
|
|
91
|
-
header)),
|
|
92
|
-
react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
|
|
93
|
-
setIsMobile(broken);
|
|
94
|
-
setHiddenSider(true);
|
|
95
|
-
}, collapsed: (isMobile && hiddenSider) || compactSider?.isCompact, collapsedWidth: isMobile && hiddenSider
|
|
96
|
-
? 0
|
|
97
|
-
: compactSider
|
|
98
|
-
? headerHeight
|
|
99
|
-
: 0, trigger: null },
|
|
100
|
-
menuBefore,
|
|
101
|
-
react_1.default.createElement(ui_1.Menu, { ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
|
|
102
|
-
if (!hiddenSider) {
|
|
103
|
-
setHiddenSider(true);
|
|
104
|
-
}
|
|
105
|
-
onSelect?.(key);
|
|
106
|
-
} }),
|
|
107
|
-
menuAfter),
|
|
108
|
-
react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
|
|
109
|
-
}
|
|
110
|
-
exports.HeaderSiderLayout = HeaderSiderLayout;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2024, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
+
__setModuleDefault(result, mod);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.HeaderSiderLayout = void 0;
|
|
33
|
+
const ui_1 = require("@j2inn/ui");
|
|
34
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
35
|
+
const react_1 = __importStar(require("react"));
|
|
36
|
+
const react_jss_1 = require("react-jss");
|
|
37
|
+
const BasicLayout_1 = require("./BasicLayout");
|
|
38
|
+
const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
|
|
39
|
+
const useStyles = (0, react_jss_1.createUseStyles)({
|
|
40
|
+
header: ({ headerHeight }) => ({
|
|
41
|
+
position: 'fixed',
|
|
42
|
+
width: '100%',
|
|
43
|
+
zIndex: 1000,
|
|
44
|
+
padding: 0,
|
|
45
|
+
height: headerHeight,
|
|
46
|
+
lineHeight: `${headerHeight}px`,
|
|
47
|
+
}),
|
|
48
|
+
headerContent: {
|
|
49
|
+
height: '100%',
|
|
50
|
+
},
|
|
51
|
+
sider: ({ headerHeight }) => ({
|
|
52
|
+
overflow: 'auto',
|
|
53
|
+
height: '100vh',
|
|
54
|
+
position: 'fixed',
|
|
55
|
+
left: 0,
|
|
56
|
+
top: 0,
|
|
57
|
+
bottom: 0,
|
|
58
|
+
zIndex: 999,
|
|
59
|
+
paddingTop: headerHeight,
|
|
60
|
+
}),
|
|
61
|
+
content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
|
|
62
|
+
paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
|
|
63
|
+
paddingTop: headerHeight,
|
|
64
|
+
}),
|
|
65
|
+
});
|
|
66
|
+
// Workaround j2inn/ui exporting problem
|
|
67
|
+
const Header = ui_1.Layout.Header;
|
|
68
|
+
const Sider = ui_1.Layout.Sider;
|
|
69
|
+
const Content = ui_1.Layout.Content;
|
|
70
|
+
/**
|
|
71
|
+
* Layout with header and sider. Sider is collapsed on mobile.
|
|
72
|
+
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
73
|
+
*/
|
|
74
|
+
function HeaderSiderLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = BasicLayout_1.DEFAULT_HEADER_HEIGHT, children, }) {
|
|
75
|
+
const [isMobile, setIsMobile] = (0, react_1.useState)(false);
|
|
76
|
+
const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
|
|
77
|
+
const siderWidth = siderProps?.width;
|
|
78
|
+
const classes = useStyles({
|
|
79
|
+
isMobile,
|
|
80
|
+
compactSider: compactSider?.isCompact,
|
|
81
|
+
siderWidth,
|
|
82
|
+
headerHeight,
|
|
83
|
+
});
|
|
84
|
+
const menuPages = (0, react_1.useMemo)(() => (0, BasicLayout_1.getMenuPages)(pages), [pages]);
|
|
85
|
+
return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
|
|
86
|
+
react_1.default.createElement(Header, { ...headerProps, className: (0, classnames_1.default)(classes.header, headerProps?.className) },
|
|
87
|
+
react_1.default.createElement(ui_1.Container, { horizontal: true, middle: true, className: classes.headerContent },
|
|
88
|
+
isMobile && (react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
|
|
89
|
+
setHiddenSider(!hiddenSider);
|
|
90
|
+
} })),
|
|
91
|
+
header)),
|
|
92
|
+
react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
|
|
93
|
+
setIsMobile(broken);
|
|
94
|
+
setHiddenSider(true);
|
|
95
|
+
}, collapsed: (isMobile && hiddenSider) || compactSider?.isCompact, collapsedWidth: isMobile && hiddenSider
|
|
96
|
+
? 0
|
|
97
|
+
: compactSider
|
|
98
|
+
? headerHeight
|
|
99
|
+
: 0, trigger: null },
|
|
100
|
+
menuBefore,
|
|
101
|
+
react_1.default.createElement(ui_1.Menu, { ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
|
|
102
|
+
if (!hiddenSider) {
|
|
103
|
+
setHiddenSider(true);
|
|
104
|
+
}
|
|
105
|
+
onSelect?.(key);
|
|
106
|
+
} }),
|
|
107
|
+
menuAfter),
|
|
108
|
+
react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
|
|
109
|
+
}
|
|
110
|
+
exports.HeaderSiderLayout = HeaderSiderLayout;
|
|
111
111
|
//# sourceMappingURL=HeaderSiderLayout.js.map
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { ItemType } from 'antd/lib/menu/hooks/useItems';
|
|
2
|
-
import React, { PropsWithChildren } from 'react';
|
|
3
|
-
/**
|
|
4
|
-
* Menu page has both the data required by the menu and the data required to actually render the page.
|
|
5
|
-
*/
|
|
6
|
-
export declare type MenuPage<T = Record<string, unknown>> = ItemType & Page<T>;
|
|
7
|
-
/**
|
|
8
|
-
* Menu Item that represents an application page
|
|
9
|
-
*/
|
|
10
|
-
interface Page<T = Record<string, unknown>> {
|
|
11
|
-
key: string;
|
|
12
|
-
component?: React.LazyExoticComponent<React.FC<T>>;
|
|
13
|
-
props?: PropsWithChildren<T>;
|
|
14
|
-
children?: MenuPage<T>[];
|
|
15
|
-
disabled?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Set it to false to avoid showing the page in the menu. It is just used for routing purposes.
|
|
18
|
-
*/
|
|
19
|
-
showInMenu?: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Retrieve a specific page or subPage from a root page list
|
|
23
|
-
* @param name the name of the searched page
|
|
24
|
-
* @param pages the list of root pages
|
|
25
|
-
*/
|
|
26
|
-
export declare function findPageByName<T extends MenuPage>(pages: T[], name?: string): T | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Expands the list of pages to include all the subpages
|
|
29
|
-
*/
|
|
30
|
-
export declare function pageTreeToPageList<T extends MenuPage>(pages: T[]): T[];
|
|
31
|
-
/**
|
|
32
|
-
* Recursively get all the subPages of a root page
|
|
33
|
-
* @param page root page
|
|
34
|
-
* @returns the whole tree of subPages as a list
|
|
35
|
-
*/
|
|
36
|
-
export declare function getAllSubPages<T extends MenuPage>(page: T): T[];
|
|
37
|
-
export {};
|
|
1
|
+
import { ItemType } from 'antd/lib/menu/hooks/useItems';
|
|
2
|
+
import React, { PropsWithChildren } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Menu page has both the data required by the menu and the data required to actually render the page.
|
|
5
|
+
*/
|
|
6
|
+
export declare type MenuPage<T = Record<string, unknown>> = ItemType & Page<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Menu Item that represents an application page
|
|
9
|
+
*/
|
|
10
|
+
interface Page<T = Record<string, unknown>> {
|
|
11
|
+
key: string;
|
|
12
|
+
component?: React.LazyExoticComponent<React.FC<T>>;
|
|
13
|
+
props?: PropsWithChildren<T>;
|
|
14
|
+
children?: MenuPage<T>[];
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Set it to false to avoid showing the page in the menu. It is just used for routing purposes.
|
|
18
|
+
*/
|
|
19
|
+
showInMenu?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Retrieve a specific page or subPage from a root page list
|
|
23
|
+
* @param name the name of the searched page
|
|
24
|
+
* @param pages the list of root pages
|
|
25
|
+
*/
|
|
26
|
+
export declare function findPageByName<T extends MenuPage>(pages: T[], name?: string): T | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Expands the list of pages to include all the subpages
|
|
29
|
+
*/
|
|
30
|
+
export declare function pageTreeToPageList<T extends MenuPage>(pages: T[]): T[];
|
|
31
|
+
/**
|
|
32
|
+
* Recursively get all the subPages of a root page
|
|
33
|
+
* @param page root page
|
|
34
|
+
* @returns the whole tree of subPages as a list
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAllSubPages<T extends MenuPage>(page: T): T[];
|
|
37
|
+
export {};
|