iglooform 2.3.9 → 2.3.13
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/es/form/element/index.js +6 -1
- package/es/form/login/index.js +3 -2
- package/es/free-form/element/index.js +8 -3
- package/es/free-form/page/index.js +2 -0
- package/es/layout/footer.d.ts +12 -0
- package/es/layout/footer.js +270 -0
- package/es/layout/header.d.ts +30 -0
- package/es/layout/header.js +231 -0
- package/es/layout/index.d.ts +31 -23
- package/es/layout/index.js +46 -461
- package/es/select/attached-select.js +16 -4
- package/es/table/style/index.less +5 -0
- package/lib/form/element/index.js +6 -1
- package/lib/form/login/index.js +3 -2
- package/lib/free-form/element/index.js +8 -3
- package/lib/free-form/page/index.js +2 -0
- package/lib/layout/footer.d.ts +12 -0
- package/lib/layout/footer.js +288 -0
- package/lib/layout/header.d.ts +30 -0
- package/lib/layout/header.js +258 -0
- package/lib/layout/index.d.ts +31 -23
- package/lib/layout/index.js +45 -473
- package/lib/select/attached-select.js +16 -4
- package/lib/table/style/index.less +5 -0
- package/package.json +1 -1
package/es/form/element/index.js
CHANGED
|
@@ -71,7 +71,8 @@ var Element = function Element(_ref) {
|
|
|
71
71
|
asserts = config.asserts,
|
|
72
72
|
copyValue = config.copyValue,
|
|
73
73
|
selectValue = config.selectValue,
|
|
74
|
-
shouldRender = config.shouldRender
|
|
74
|
+
shouldRender = config.shouldRender,
|
|
75
|
+
dependField = config.dependField;
|
|
75
76
|
var dependentField = dependencies || [];
|
|
76
77
|
|
|
77
78
|
if (asserts && asserts.length) {
|
|
@@ -96,6 +97,10 @@ var Element = function Element(_ref) {
|
|
|
96
97
|
dependentField.push('SUBSCRIBE_ALL');
|
|
97
98
|
}
|
|
98
99
|
|
|
100
|
+
if (dependField) {
|
|
101
|
+
dependentField.push(dependField);
|
|
102
|
+
}
|
|
103
|
+
|
|
99
104
|
registerDependencies(dependentField, dispatch);
|
|
100
105
|
}, []);
|
|
101
106
|
invariant(type !== 'Pages' && type !== 'Page', "".concat(type, " should not be inner form item"));
|
package/es/form/login/index.js
CHANGED
|
@@ -24,7 +24,8 @@ var Login = function Login(_ref) {
|
|
|
24
24
|
|
|
25
25
|
var _useContext = useContext(FormContext),
|
|
26
26
|
submitText = _useContext.submitText,
|
|
27
|
-
submitting = _useContext.submitting
|
|
27
|
+
submitting = _useContext.submitting,
|
|
28
|
+
showSubmitButton = _useContext.showSubmitButton;
|
|
28
29
|
|
|
29
30
|
var _useContext2 = useContext(LocaleContext),
|
|
30
31
|
formatMessage = _useContext2.formatMessage;
|
|
@@ -50,7 +51,7 @@ var Login = function Login(_ref) {
|
|
|
50
51
|
}, index);
|
|
51
52
|
})
|
|
52
53
|
}), void 0)
|
|
53
|
-
}), void 0), _jsx(_Form.Item, {
|
|
54
|
+
}), void 0), showSubmitButton && _jsx(_Form.Item, {
|
|
54
55
|
children: _jsx(_Button, Object.assign({
|
|
55
56
|
type: "primary",
|
|
56
57
|
htmlType: "submit",
|
|
@@ -64,7 +64,8 @@ var Element = function Element(props) {
|
|
|
64
64
|
asserts = props.asserts,
|
|
65
65
|
copyValue = props.copyValue,
|
|
66
66
|
selectValue = props.selectValue,
|
|
67
|
-
shouldRender = props.shouldRender
|
|
67
|
+
shouldRender = props.shouldRender,
|
|
68
|
+
dependField = props.dependField;
|
|
68
69
|
var dependentField = dependencies || [];
|
|
69
70
|
|
|
70
71
|
if (asserts && asserts.length) {
|
|
@@ -89,6 +90,10 @@ var Element = function Element(props) {
|
|
|
89
90
|
dependentField.push('SUBSCRIBE_ALL');
|
|
90
91
|
}
|
|
91
92
|
|
|
93
|
+
if (dependField) {
|
|
94
|
+
dependentField.push(dependField);
|
|
95
|
+
}
|
|
96
|
+
|
|
92
97
|
registerDependencies(dependentField, dispatch);
|
|
93
98
|
}, []);
|
|
94
99
|
var extraConfig = useMemo(function () {
|
|
@@ -100,7 +105,7 @@ var Element = function Element(props) {
|
|
|
100
105
|
children === null || children === void 0 ? void 0 : (_children$type2 = children.type) === null || _children$type2 === void 0 ? void 0 : _children$type2.formItemPropsHandler(props) : {};
|
|
101
106
|
}, [children]);
|
|
102
107
|
|
|
103
|
-
var _calcFormItemProps = calcFormItemProps(props, _objectSpread(_objectSpread({}, extraConfig), {}, {
|
|
108
|
+
var _calcFormItemProps = calcFormItemProps(omit(props, ['children', 'parentName']), _objectSpread(_objectSpread({}, extraConfig), {}, {
|
|
104
109
|
requiredMark: requiredMark
|
|
105
110
|
}), form, parentName),
|
|
106
111
|
colProps = _calcFormItemProps.colProps,
|
|
@@ -169,7 +174,7 @@ var Element = function Element(props) {
|
|
|
169
174
|
|
|
170
175
|
var transformChildren = function transformChildren() {
|
|
171
176
|
if (! /*#__PURE__*/isValidElement(children)) return children;
|
|
172
|
-
return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
|
|
177
|
+
return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread(_objectSpread({}, children.props), elementProps), {}, {
|
|
173
178
|
disabled: elementProps.disabled || disabled,
|
|
174
179
|
containerRef: ref,
|
|
175
180
|
setFieldError: setFieldError,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import './style';
|
|
3
|
+
interface ILayoutFooter {
|
|
4
|
+
companyInfoRender?: () => any;
|
|
5
|
+
copyRightRender?: (origin: ReactNode) => any;
|
|
6
|
+
tel?: string;
|
|
7
|
+
email?: string;
|
|
8
|
+
workTime?: any;
|
|
9
|
+
address?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const LayoutFooter: FC<ILayoutFooter>;
|
|
12
|
+
export default LayoutFooter;
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import "antd/es/space/style";
|
|
2
|
+
import _Space from "antd/es/space";
|
|
3
|
+
import "antd/es/grid/style";
|
|
4
|
+
import _Grid from "antd/es/grid";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
+
import { EmailOutlined, LocationOutlined, TimeOutlined, PhoneOutlined } from 'iglooicon';
|
|
7
|
+
import Typography from '../typography';
|
|
8
|
+
import Button from '../button';
|
|
9
|
+
import './style';
|
|
10
|
+
|
|
11
|
+
var LayoutFooter = function LayoutFooter(_ref) {
|
|
12
|
+
var companyInfoRender = _ref.companyInfoRender,
|
|
13
|
+
copyRightRender = _ref.copyRightRender,
|
|
14
|
+
tel = _ref.tel,
|
|
15
|
+
email = _ref.email,
|
|
16
|
+
workTime = _ref.workTime,
|
|
17
|
+
address = _ref.address;
|
|
18
|
+
var useBreakpoint = _Grid.useBreakpoint;
|
|
19
|
+
|
|
20
|
+
var _useBreakpoint = useBreakpoint(),
|
|
21
|
+
md = _useBreakpoint.md;
|
|
22
|
+
|
|
23
|
+
var topRightContent = companyInfoRender ? companyInfoRender() : _jsxs(_Fragment, {
|
|
24
|
+
children: [_jsxs("div", Object.assign({
|
|
25
|
+
className: "no-address-info"
|
|
26
|
+
}, {
|
|
27
|
+
children: [tel && _jsxs("div", Object.assign({
|
|
28
|
+
className: "info-container",
|
|
29
|
+
style: {
|
|
30
|
+
alignItems: 'center'
|
|
31
|
+
}
|
|
32
|
+
}, {
|
|
33
|
+
children: [_jsx(PhoneOutlined, {}, void 0), _jsx("div", {
|
|
34
|
+
children: typeof tel === 'string' ? _jsx(Typography, Object.assign({
|
|
35
|
+
level: "body2",
|
|
36
|
+
className: "info-span"
|
|
37
|
+
}, {
|
|
38
|
+
children: tel
|
|
39
|
+
}), void 0) : tel
|
|
40
|
+
}, void 0)]
|
|
41
|
+
}), void 0), email && _jsxs("div", Object.assign({
|
|
42
|
+
className: "info-container",
|
|
43
|
+
style: {
|
|
44
|
+
alignItems: 'center'
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
children: [_jsx(EmailOutlined, {}, void 0), _jsx("div", {
|
|
48
|
+
children: typeof email === 'string' ? _jsx(Typography, Object.assign({
|
|
49
|
+
level: "body2",
|
|
50
|
+
className: "info-span"
|
|
51
|
+
}, {
|
|
52
|
+
children: email
|
|
53
|
+
}), void 0) : email
|
|
54
|
+
}, void 0)]
|
|
55
|
+
}), void 0), workTime && _jsxs("div", Object.assign({
|
|
56
|
+
className: "info-container"
|
|
57
|
+
}, {
|
|
58
|
+
children: [_jsx(TimeOutlined, {}, void 0), _jsx("div", {
|
|
59
|
+
children: typeof workTime === 'string' ? _jsx(Typography, Object.assign({
|
|
60
|
+
level: "body2",
|
|
61
|
+
className: "info-span"
|
|
62
|
+
}, {
|
|
63
|
+
children: workTime
|
|
64
|
+
}), void 0) : workTime
|
|
65
|
+
}, void 0)]
|
|
66
|
+
}), void 0)]
|
|
67
|
+
}), void 0), address && _jsxs(_Space, Object.assign({
|
|
68
|
+
size: 16,
|
|
69
|
+
align: "start"
|
|
70
|
+
}, {
|
|
71
|
+
children: [_jsx(LocationOutlined, {
|
|
72
|
+
style: {
|
|
73
|
+
fontSize: 24
|
|
74
|
+
}
|
|
75
|
+
}, void 0), _jsx("div", {
|
|
76
|
+
children: typeof address === 'string' ? _jsx(Typography, Object.assign({
|
|
77
|
+
level: "body2",
|
|
78
|
+
className: "info-span"
|
|
79
|
+
}, {
|
|
80
|
+
children: address
|
|
81
|
+
}), void 0) : address
|
|
82
|
+
}, void 0)]
|
|
83
|
+
}), void 0)]
|
|
84
|
+
}, void 0);
|
|
85
|
+
|
|
86
|
+
if (md) {
|
|
87
|
+
return _jsx("div", Object.assign({
|
|
88
|
+
className: "igloo-layout-footer"
|
|
89
|
+
}, {
|
|
90
|
+
children: _jsxs("div", Object.assign({
|
|
91
|
+
className: "footer-content"
|
|
92
|
+
}, {
|
|
93
|
+
children: [_jsxs(_Space, Object.assign({
|
|
94
|
+
size: 32,
|
|
95
|
+
align: "start",
|
|
96
|
+
className: "footer-top"
|
|
97
|
+
}, {
|
|
98
|
+
children: [_jsx("div", Object.assign({
|
|
99
|
+
className: "top-left"
|
|
100
|
+
}, {
|
|
101
|
+
children: _jsx("div", {
|
|
102
|
+
className: "igloo-logo"
|
|
103
|
+
}, void 0)
|
|
104
|
+
}), void 0), topRightContent]
|
|
105
|
+
}), void 0), _jsx("div", {
|
|
106
|
+
className: "footer-divider"
|
|
107
|
+
}, void 0), _jsxs("div", Object.assign({
|
|
108
|
+
className: "footer-bottom"
|
|
109
|
+
}, {
|
|
110
|
+
children: [copyRightRender ? copyRightRender("\xA9 ".concat(new Date().getFullYear(), " Powered by Axinan Pte Ltd. All Rights Reserved.")) : _jsx(Typography, Object.assign({
|
|
111
|
+
level: "body3"
|
|
112
|
+
}, {
|
|
113
|
+
children: "\xA9 ".concat(new Date().getFullYear(), " Powered by Axinan Pte Ltd. All Rights Reserved.")
|
|
114
|
+
}), void 0), _jsxs(Typography, Object.assign({
|
|
115
|
+
level: "body3"
|
|
116
|
+
}, {
|
|
117
|
+
children: [_jsx(Button, Object.assign({
|
|
118
|
+
type: "text",
|
|
119
|
+
onClick: function onClick() {
|
|
120
|
+
return window.open('https://contents.iglooinsure.com/privacypolicy');
|
|
121
|
+
}
|
|
122
|
+
}, {
|
|
123
|
+
children: _jsx(Typography, Object.assign({
|
|
124
|
+
level: "body3"
|
|
125
|
+
}, {
|
|
126
|
+
children: "Privacy Policy"
|
|
127
|
+
}), void 0)
|
|
128
|
+
}), void 0), ' ', _jsx("span", Object.assign({
|
|
129
|
+
style: {
|
|
130
|
+
margin: '0px 16px'
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
children: "|"
|
|
134
|
+
}), void 0), _jsx(Button, Object.assign({
|
|
135
|
+
type: "text",
|
|
136
|
+
onClick: function onClick() {
|
|
137
|
+
return window.open('https://contents.iglooinsure.com/termsofservice');
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
children: _jsx(Typography, Object.assign({
|
|
141
|
+
level: "body3"
|
|
142
|
+
}, {
|
|
143
|
+
children: "Terms of Service"
|
|
144
|
+
}), void 0)
|
|
145
|
+
}), void 0)]
|
|
146
|
+
}), void 0)]
|
|
147
|
+
}), void 0)]
|
|
148
|
+
}), void 0)
|
|
149
|
+
}), void 0);
|
|
150
|
+
} else {
|
|
151
|
+
return _jsx("div", Object.assign({
|
|
152
|
+
className: "igloo-layout-footer"
|
|
153
|
+
}, {
|
|
154
|
+
children: _jsxs("div", Object.assign({
|
|
155
|
+
className: "footer-content"
|
|
156
|
+
}, {
|
|
157
|
+
children: [_jsx("div", {
|
|
158
|
+
className: "igloo-logo"
|
|
159
|
+
}, void 0), _jsxs("div", Object.assign({
|
|
160
|
+
className: "compony-info"
|
|
161
|
+
}, {
|
|
162
|
+
children: [tel && _jsxs("div", Object.assign({
|
|
163
|
+
className: "info-item"
|
|
164
|
+
}, {
|
|
165
|
+
children: [_jsx(PhoneOutlined, {}, void 0), _jsx("div", {
|
|
166
|
+
children: typeof tel === 'string' ? _jsx(Typography, Object.assign({
|
|
167
|
+
level: "body3",
|
|
168
|
+
className: "info-span"
|
|
169
|
+
}, {
|
|
170
|
+
children: tel
|
|
171
|
+
}), void 0) : tel
|
|
172
|
+
}, void 0)]
|
|
173
|
+
}), void 0), email && _jsxs("div", Object.assign({
|
|
174
|
+
className: "info-item"
|
|
175
|
+
}, {
|
|
176
|
+
children: [_jsx(EmailOutlined, {}, void 0), _jsx("div", {
|
|
177
|
+
children: typeof email === 'string' ? _jsx(Typography, Object.assign({
|
|
178
|
+
level: "body3",
|
|
179
|
+
className: "info-span"
|
|
180
|
+
}, {
|
|
181
|
+
children: email
|
|
182
|
+
}), void 0) : email
|
|
183
|
+
}, void 0)]
|
|
184
|
+
}), void 0), workTime && _jsxs("div", Object.assign({
|
|
185
|
+
className: "info-item"
|
|
186
|
+
}, {
|
|
187
|
+
children: [_jsx(TimeOutlined, {}, void 0), _jsx("div", {
|
|
188
|
+
children: typeof workTime === 'string' ? _jsx(Typography, Object.assign({
|
|
189
|
+
level: "body3",
|
|
190
|
+
className: "info-span"
|
|
191
|
+
}, {
|
|
192
|
+
children: workTime
|
|
193
|
+
}), void 0) : workTime
|
|
194
|
+
}, void 0)]
|
|
195
|
+
}), void 0), address && _jsxs("div", Object.assign({
|
|
196
|
+
className: "info-item"
|
|
197
|
+
}, {
|
|
198
|
+
children: [_jsx(LocationOutlined, {
|
|
199
|
+
style: {
|
|
200
|
+
fontSize: 24
|
|
201
|
+
}
|
|
202
|
+
}, void 0), _jsx("div", {
|
|
203
|
+
children: typeof address === 'string' ? _jsx(Typography, Object.assign({
|
|
204
|
+
level: "body3",
|
|
205
|
+
className: "info-span"
|
|
206
|
+
}, {
|
|
207
|
+
children: address
|
|
208
|
+
}), void 0) : address
|
|
209
|
+
}, void 0)]
|
|
210
|
+
}), void 0)]
|
|
211
|
+
}), void 0), _jsxs("div", Object.assign({
|
|
212
|
+
className: "footer-bottom"
|
|
213
|
+
}, {
|
|
214
|
+
children: [_jsx("div", {
|
|
215
|
+
children: copyRightRender ? copyRightRender(_jsxs("div", {
|
|
216
|
+
children: [_jsxs("div", {
|
|
217
|
+
children: ["\xA9 ", new Date().getFullYear(), " Powered by Axinan Pte Ltd."]
|
|
218
|
+
}, void 0), _jsx("div", {
|
|
219
|
+
children: "All Rights Reserved."
|
|
220
|
+
}, void 0)]
|
|
221
|
+
}, void 0)) : _jsxs(Typography, Object.assign({
|
|
222
|
+
level: "body3"
|
|
223
|
+
}, {
|
|
224
|
+
children: ["\xA9 ".concat(new Date().getFullYear(), " Powered by Axinan Pte Ltd."), _jsx("div", {
|
|
225
|
+
children: "All Rights Reserved."
|
|
226
|
+
}, void 0)]
|
|
227
|
+
}), void 0)
|
|
228
|
+
}, void 0), _jsx("div", {
|
|
229
|
+
children: _jsxs(Typography, Object.assign({
|
|
230
|
+
level: "body3"
|
|
231
|
+
}, {
|
|
232
|
+
children: [_jsx(Button, Object.assign({
|
|
233
|
+
type: "text",
|
|
234
|
+
onClick: function onClick() {
|
|
235
|
+
return window.open('https://contents.iglooinsure.com/privacypolicy');
|
|
236
|
+
}
|
|
237
|
+
}, {
|
|
238
|
+
children: _jsx(Typography, Object.assign({
|
|
239
|
+
level: "body3"
|
|
240
|
+
}, {
|
|
241
|
+
children: "Privacy Policy"
|
|
242
|
+
}), void 0)
|
|
243
|
+
}), void 0), ' ', _jsx("span", Object.assign({
|
|
244
|
+
style: {
|
|
245
|
+
margin: '0px 16px'
|
|
246
|
+
}
|
|
247
|
+
}, {
|
|
248
|
+
children: "|"
|
|
249
|
+
}), void 0), ' ', _jsx(Button, Object.assign({
|
|
250
|
+
type: "text",
|
|
251
|
+
onClick: function onClick() {
|
|
252
|
+
return window.open('https://contents.iglooinsure.com/termsofservice');
|
|
253
|
+
}
|
|
254
|
+
}, {
|
|
255
|
+
children: _jsx(Typography, Object.assign({
|
|
256
|
+
level: "body3"
|
|
257
|
+
}, {
|
|
258
|
+
children: "Terms of Service"
|
|
259
|
+
}), void 0)
|
|
260
|
+
}), void 0)]
|
|
261
|
+
}), void 0)
|
|
262
|
+
}, void 0)]
|
|
263
|
+
}), void 0)]
|
|
264
|
+
}), void 0)
|
|
265
|
+
}), void 0);
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
LayoutFooter.displayName = 'LayoutFooter';
|
|
270
|
+
export default LayoutFooter;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { BadgeProps } from 'antd';
|
|
3
|
+
import './style/index';
|
|
4
|
+
interface Menu {
|
|
5
|
+
title: string;
|
|
6
|
+
key: string;
|
|
7
|
+
badge?: 'dot' | number | string | BadgeProps | (() => any);
|
|
8
|
+
}
|
|
9
|
+
interface Info {
|
|
10
|
+
title: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}
|
|
13
|
+
interface Action {
|
|
14
|
+
title: string;
|
|
15
|
+
onClick?: () => void;
|
|
16
|
+
}
|
|
17
|
+
interface ILayoutHeader {
|
|
18
|
+
menus?: Menu[];
|
|
19
|
+
defaultSelected?: string;
|
|
20
|
+
selectedKey?: string;
|
|
21
|
+
onMenuChange?: (menuItem: any) => any;
|
|
22
|
+
dropMenuConfig?: {
|
|
23
|
+
customInfos: Info[];
|
|
24
|
+
actions: Action[];
|
|
25
|
+
};
|
|
26
|
+
userName?: string;
|
|
27
|
+
userAvatar?: string;
|
|
28
|
+
}
|
|
29
|
+
declare const LayoutHeader: FC<ILayoutHeader>;
|
|
30
|
+
export default LayoutHeader;
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import "antd/es/avatar/style";
|
|
2
|
+
import _Avatar from "antd/es/avatar";
|
|
3
|
+
import "antd/es/space/style";
|
|
4
|
+
import _Space from "antd/es/space";
|
|
5
|
+
import "antd/es/col/style";
|
|
6
|
+
import _Col from "antd/es/col";
|
|
7
|
+
import "antd/es/row/style";
|
|
8
|
+
import _Row from "antd/es/row";
|
|
9
|
+
import "antd/es/badge/style";
|
|
10
|
+
import _Badge from "antd/es/badge";
|
|
11
|
+
import "antd/es/grid/style";
|
|
12
|
+
import _Grid from "antd/es/grid";
|
|
13
|
+
|
|
14
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
15
|
+
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
28
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
+
import { useState, useEffect } from 'react';
|
|
30
|
+
import classnames from 'classnames';
|
|
31
|
+
import Typography from '../typography';
|
|
32
|
+
import HomeMenu from '../home-menu/index';
|
|
33
|
+
import defaultAvatar from './style/avatar.svg';
|
|
34
|
+
import './style/index';
|
|
35
|
+
|
|
36
|
+
var LayoutHeader = function LayoutHeader(_ref) {
|
|
37
|
+
var _ref$menus = _ref.menus,
|
|
38
|
+
menus = _ref$menus === void 0 ? [] : _ref$menus,
|
|
39
|
+
_ref$defaultSelected = _ref.defaultSelected,
|
|
40
|
+
defaultSelected = _ref$defaultSelected === void 0 ? '' : _ref$defaultSelected,
|
|
41
|
+
selectedKey = _ref.selectedKey,
|
|
42
|
+
onMenuChange = _ref.onMenuChange,
|
|
43
|
+
dropMenuConfig = _ref.dropMenuConfig,
|
|
44
|
+
userName = _ref.userName,
|
|
45
|
+
_ref$userAvatar = _ref.userAvatar,
|
|
46
|
+
userAvatar = _ref$userAvatar === void 0 ? defaultAvatar : _ref$userAvatar;
|
|
47
|
+
var useBreakpoint = _Grid.useBreakpoint;
|
|
48
|
+
|
|
49
|
+
var _useBreakpoint = useBreakpoint(),
|
|
50
|
+
md = _useBreakpoint.md;
|
|
51
|
+
|
|
52
|
+
var _useState = useState(selectedKey),
|
|
53
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
54
|
+
selectedMenu = _useState2[0],
|
|
55
|
+
setSelectedMenu = _useState2[1];
|
|
56
|
+
|
|
57
|
+
var _useState3 = useState(defaultSelected),
|
|
58
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
59
|
+
activeMenu = _useState4[0],
|
|
60
|
+
setActiveMenu = _useState4[1];
|
|
61
|
+
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
if (selectedKey) {
|
|
64
|
+
setSelectedMenu(selectedKey);
|
|
65
|
+
}
|
|
66
|
+
}, [selectedKey]);
|
|
67
|
+
|
|
68
|
+
var defaultMenuOnClick = function defaultMenuOnClick(menuConfig) {
|
|
69
|
+
var key = menuConfig.key;
|
|
70
|
+
setActiveMenu(key);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
function getMenuDom(activeMenu, menuInfo) {
|
|
74
|
+
var badge = menuInfo.badge;
|
|
75
|
+
|
|
76
|
+
switch (_typeof(badge)) {
|
|
77
|
+
case 'string':
|
|
78
|
+
return _jsxs(_Fragment, {
|
|
79
|
+
children: [_jsx(Typography, Object.assign({
|
|
80
|
+
className: classnames({
|
|
81
|
+
'active-menu': activeMenu === menuInfo.key
|
|
82
|
+
}),
|
|
83
|
+
level: activeMenu === menuInfo.key ? 'h4' : 'body1'
|
|
84
|
+
}, {
|
|
85
|
+
children: menuInfo.title
|
|
86
|
+
}), void 0), _jsx(_Badge, {
|
|
87
|
+
dot: true,
|
|
88
|
+
color: '#F52209'
|
|
89
|
+
}, void 0)]
|
|
90
|
+
}, void 0);
|
|
91
|
+
|
|
92
|
+
case 'number':
|
|
93
|
+
return _jsxs(_Fragment, {
|
|
94
|
+
children: [_jsx(Typography, Object.assign({
|
|
95
|
+
className: classnames({
|
|
96
|
+
'active-menu': activeMenu === menuInfo.key
|
|
97
|
+
}),
|
|
98
|
+
level: activeMenu === menuInfo.key ? 'h4' : 'body1'
|
|
99
|
+
}, {
|
|
100
|
+
children: menuInfo.title
|
|
101
|
+
}), void 0), _jsx(_Badge, {
|
|
102
|
+
count: badge,
|
|
103
|
+
style: {
|
|
104
|
+
backgroundColor: '#F52209'
|
|
105
|
+
}
|
|
106
|
+
}, void 0)]
|
|
107
|
+
}, void 0);
|
|
108
|
+
|
|
109
|
+
case 'object':
|
|
110
|
+
return _jsxs(_Fragment, {
|
|
111
|
+
children: [_jsx(Typography, Object.assign({
|
|
112
|
+
className: classnames({
|
|
113
|
+
'active-menu': activeMenu === menuInfo.key
|
|
114
|
+
}),
|
|
115
|
+
level: activeMenu === menuInfo.key ? 'h4' : 'body1'
|
|
116
|
+
}, {
|
|
117
|
+
children: menuInfo.title
|
|
118
|
+
}), void 0), _jsx(_Badge, Object.assign({}, badge), void 0)]
|
|
119
|
+
}, void 0);
|
|
120
|
+
|
|
121
|
+
case 'undefined':
|
|
122
|
+
return _jsx(Typography, Object.assign({
|
|
123
|
+
className: classnames({
|
|
124
|
+
'active-menu': activeMenu === menuInfo.key
|
|
125
|
+
}),
|
|
126
|
+
level: activeMenu === menuInfo.key ? 'h4' : 'body1'
|
|
127
|
+
}, {
|
|
128
|
+
children: menuInfo.title
|
|
129
|
+
}), void 0);
|
|
130
|
+
|
|
131
|
+
case 'function':
|
|
132
|
+
return _jsxs(_Fragment, {
|
|
133
|
+
children: [_jsx(Typography, Object.assign({
|
|
134
|
+
className: classnames({
|
|
135
|
+
'active-menu': activeMenu === menuInfo.key
|
|
136
|
+
}),
|
|
137
|
+
level: activeMenu === menuInfo.key ? 'h4' : 'body1'
|
|
138
|
+
}, {
|
|
139
|
+
children: menuInfo.title
|
|
140
|
+
}), void 0), badge()]
|
|
141
|
+
}, void 0);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (md) {
|
|
146
|
+
return _jsx("div", Object.assign({
|
|
147
|
+
className: classnames({
|
|
148
|
+
'igloo-layout-header': true,
|
|
149
|
+
'igloo-layout-header-fix': Boolean(menus === null || menus === void 0 ? void 0 : menus.length) || Boolean(dropMenuConfig)
|
|
150
|
+
})
|
|
151
|
+
}, {
|
|
152
|
+
children: _jsxs("div", Object.assign({
|
|
153
|
+
className: "header-content"
|
|
154
|
+
}, {
|
|
155
|
+
children: [_jsxs("div", Object.assign({
|
|
156
|
+
className: "header-left"
|
|
157
|
+
}, {
|
|
158
|
+
children: [_jsx("div", {
|
|
159
|
+
className: "igloo-logo"
|
|
160
|
+
}, void 0), Boolean(menus === null || menus === void 0 ? void 0 : menus.length) && _jsx(_Row, {
|
|
161
|
+
children: menus.map(function (menu) {
|
|
162
|
+
return _jsx(_Col, Object.assign({
|
|
163
|
+
className: classnames('menu-item'),
|
|
164
|
+
onClick: function onClick() {
|
|
165
|
+
onMenuChange ? onMenuChange(menu) : defaultMenuOnClick(menu);
|
|
166
|
+
}
|
|
167
|
+
}, {
|
|
168
|
+
children: getMenuDom(selectedMenu || activeMenu, menu)
|
|
169
|
+
}), menu.key);
|
|
170
|
+
})
|
|
171
|
+
}, void 0)]
|
|
172
|
+
}), void 0), dropMenuConfig && _jsxs(_Space, Object.assign({
|
|
173
|
+
size: 8
|
|
174
|
+
}, {
|
|
175
|
+
children: [_jsx(_Avatar, {
|
|
176
|
+
size: 32,
|
|
177
|
+
src: userAvatar
|
|
178
|
+
}, void 0), _jsx(Typography, Object.assign({
|
|
179
|
+
level: "body1",
|
|
180
|
+
style: {
|
|
181
|
+
color: '#666666'
|
|
182
|
+
}
|
|
183
|
+
}, {
|
|
184
|
+
children: userName
|
|
185
|
+
}), void 0), dropMenuConfig && _jsx(HomeMenu, Object.assign({}, dropMenuConfig), void 0)]
|
|
186
|
+
}), void 0)]
|
|
187
|
+
}), void 0)
|
|
188
|
+
}), void 0);
|
|
189
|
+
} else {
|
|
190
|
+
return _jsxs(_Fragment, {
|
|
191
|
+
children: [_jsxs("div", Object.assign({
|
|
192
|
+
className: classnames({
|
|
193
|
+
'igloo-layout-header': true,
|
|
194
|
+
'igloo-layout-header-fix': Boolean(menus === null || menus === void 0 ? void 0 : menus.length) || Boolean(dropMenuConfig)
|
|
195
|
+
})
|
|
196
|
+
}, {
|
|
197
|
+
children: [_jsx("div", {
|
|
198
|
+
className: "igloo-logo"
|
|
199
|
+
}, void 0), dropMenuConfig && _jsx(HomeMenu, Object.assign({
|
|
200
|
+
userAvatar: userAvatar,
|
|
201
|
+
userName: userName
|
|
202
|
+
}, dropMenuConfig), void 0)]
|
|
203
|
+
}), void 0), Boolean(menus === null || menus === void 0 ? void 0 : menus.length) && _jsx(_Row, Object.assign({
|
|
204
|
+
className: "igloo-layout-menu"
|
|
205
|
+
}, {
|
|
206
|
+
children: menus.map(function (menu) {
|
|
207
|
+
var span = 24 / menus.length;
|
|
208
|
+
return _jsx(_Col, Object.assign({
|
|
209
|
+
span: span,
|
|
210
|
+
className: classnames('menu-item'),
|
|
211
|
+
onClick: function onClick() {
|
|
212
|
+
onMenuChange ? onMenuChange(menu) : defaultMenuOnClick(menu);
|
|
213
|
+
}
|
|
214
|
+
}, {
|
|
215
|
+
children: _jsx("div", Object.assign({
|
|
216
|
+
style: {
|
|
217
|
+
display: 'flex',
|
|
218
|
+
alignItems: 'flex-start'
|
|
219
|
+
}
|
|
220
|
+
}, {
|
|
221
|
+
children: getMenuDom(selectedMenu || activeMenu, menu)
|
|
222
|
+
}), void 0)
|
|
223
|
+
}), menu.key);
|
|
224
|
+
})
|
|
225
|
+
}), void 0)]
|
|
226
|
+
}, void 0);
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
LayoutHeader.displayName = 'LayoutHeader';
|
|
231
|
+
export default LayoutHeader;
|