nsc-react-component 4.3.14 → 4.4.1
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/lib/base/menu/index.d.ts +7 -9
- package/lib/base/menu/index.js +73 -67
- package/lib/base/menu/index.js.map +1 -1
- package/lib/base/table/index.d.ts +5 -2
- package/lib/base/table/index.js +191 -51
- package/lib/base/table/index.js.map +1 -1
- package/lib/base/treeselect/index.d.ts +1 -0
- package/lib/base/treeselect/index.js +99 -3
- package/lib/base/treeselect/index.js.map +1 -1
- package/lib/page/BasePage/index.js +2 -7
- package/lib/page/BasePage/index.js.map +1 -1
- package/package.json +1 -1
package/lib/base/menu/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { PureComponent } from "react";
|
|
2
2
|
import { MenuProps, SubMenuProps } from "antd";
|
|
3
3
|
import { StoreProps } from "@bj-nsc/msn";
|
|
4
|
-
import
|
|
4
|
+
import "./index.less";
|
|
5
5
|
interface IMenuProps extends MenuProps {
|
|
6
6
|
data?: Array<object>;
|
|
7
7
|
titleField?: string;
|
|
@@ -12,22 +12,20 @@ interface IMenuProps extends MenuProps {
|
|
|
12
12
|
tooltip?: boolean;
|
|
13
13
|
defaultIcon?: boolean;
|
|
14
14
|
iconField?: string;
|
|
15
|
-
iconType?:
|
|
15
|
+
iconType?: "icon" | "img";
|
|
16
16
|
}
|
|
17
|
+
type MenuItem = Required<MenuProps>["items"][number];
|
|
17
18
|
export default class NSCMenu extends PureComponent<IMenuProps> {
|
|
18
|
-
static SubMenu: React.FC<SubMenuProps>;
|
|
19
|
-
static Item: Omit<React.FunctionComponent<import("antd").MenuItemProps>, ""> & (<T extends import("antd").MenuItemProps>(props: T extends infer U extends import("antd").MenuItemProps ? unknown extends U ? import("antd").MenuItemProps : U : import("antd").MenuItemProps, context?: any) => React.ReactElement<any, any>);
|
|
20
19
|
state: {
|
|
21
20
|
dataSource: any[];
|
|
22
21
|
};
|
|
23
22
|
store: StoreProps;
|
|
24
|
-
static getDerivedStateFromProps(nextProps:
|
|
25
|
-
dataSource:
|
|
23
|
+
static getDerivedStateFromProps(nextProps: IMenuProps, prevState: any): {
|
|
24
|
+
dataSource: object[];
|
|
26
25
|
};
|
|
27
|
-
constructor(props:
|
|
26
|
+
constructor(props: IMenuProps);
|
|
28
27
|
componentDidMount(): void;
|
|
29
|
-
renderMenuItem: (menusData: any) =>
|
|
30
|
-
renderChildren: () => React.JSX.Element | React.JSX.Element[];
|
|
28
|
+
renderMenuItem: (menusData: any[]) => MenuItem[];
|
|
31
29
|
render(): React.JSX.Element;
|
|
32
30
|
}
|
|
33
31
|
export {};
|
package/lib/base/menu/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import _Tooltip from "antd/es/tooltip";
|
|
2
1
|
import _Menu from "antd/es/menu";
|
|
2
|
+
import _Tooltip from "antd/es/tooltip";
|
|
3
3
|
const _excluded = ["url", "listeners", "viewname"];
|
|
4
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
7
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
7
8
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
8
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
10
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
11
11
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -13,28 +13,22 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
13
13
|
* @Descripttion:
|
|
14
14
|
* @version:
|
|
15
15
|
* @Author: rxzhu
|
|
16
|
-
* @Date:
|
|
17
|
-
* @LastEditors: Please set LastEditors
|
|
18
|
-
* @LastEditTime: 2022-02-26 15:13:22
|
|
16
|
+
* @Date: 2025-10-10 09:43:28
|
|
19
17
|
*/
|
|
20
18
|
import React, { PureComponent } from "react";
|
|
21
19
|
import Store from "@bj-nsc/msn";
|
|
22
20
|
import { utils } from "@bj-nsc/msn/lib/utils";
|
|
23
21
|
import { getIcon } from "../../utils";
|
|
24
22
|
import omit from "omit.js";
|
|
25
|
-
import
|
|
26
|
-
const {
|
|
27
|
-
SubMenu,
|
|
28
|
-
Item,
|
|
29
|
-
ItemGroup
|
|
30
|
-
} = _Menu;
|
|
23
|
+
import "./index.less";
|
|
31
24
|
export default class NSCMenu extends PureComponent {
|
|
32
25
|
static getDerivedStateFromProps(nextProps, prevState) {
|
|
33
26
|
const {
|
|
34
27
|
dataSource
|
|
35
28
|
} = prevState;
|
|
36
29
|
const {
|
|
37
|
-
data
|
|
30
|
+
data,
|
|
31
|
+
items
|
|
38
32
|
} = nextProps;
|
|
39
33
|
if (data) {
|
|
40
34
|
if (JSON.stringify(dataSource) !== JSON.stringify(data)) {
|
|
@@ -42,12 +36,17 @@ export default class NSCMenu extends PureComponent {
|
|
|
42
36
|
dataSource: data
|
|
43
37
|
};
|
|
44
38
|
}
|
|
39
|
+
} else if (items) {
|
|
40
|
+
if (JSON.stringify(dataSource) !== JSON.stringify(items)) {
|
|
41
|
+
return {
|
|
42
|
+
dataSource: items
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
45
|
}
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
48
|
constructor(props) {
|
|
49
49
|
super(props);
|
|
50
|
-
// static ItemGroup = ItemGroup;
|
|
51
50
|
_defineProperty(this, "state", {
|
|
52
51
|
dataSource: []
|
|
53
52
|
});
|
|
@@ -60,11 +59,10 @@ export default class NSCMenu extends PureComponent {
|
|
|
60
59
|
titleField = "title",
|
|
61
60
|
keyField = "key",
|
|
62
61
|
showIcon = true,
|
|
63
|
-
subMenuProps = {},
|
|
64
62
|
tooltip = false,
|
|
65
63
|
defaultIcon = false,
|
|
66
64
|
iconField = "icon",
|
|
67
|
-
iconType =
|
|
65
|
+
iconType = "icon"
|
|
68
66
|
} = this.props;
|
|
69
67
|
return menusData.map(item => {
|
|
70
68
|
const {
|
|
@@ -73,6 +71,7 @@ export default class NSCMenu extends PureComponent {
|
|
|
73
71
|
} = item;
|
|
74
72
|
const icon = item[iconField];
|
|
75
73
|
const title = item[titleField];
|
|
74
|
+
const key = item[keyField];
|
|
76
75
|
const spantitle = /*#__PURE__*/React.createElement("span", {
|
|
77
76
|
style: style
|
|
78
77
|
}, title);
|
|
@@ -81,11 +80,28 @@ export default class NSCMenu extends PureComponent {
|
|
|
81
80
|
placement: "right"
|
|
82
81
|
}, title);
|
|
83
82
|
const newtitle = tooltip ? tooltiptitle : spantitle;
|
|
83
|
+
const getItemContent = () => {
|
|
84
|
+
if (showIcon && (icon || defaultIcon)) {
|
|
85
|
+
if (iconType === "icon") {
|
|
86
|
+
return /*#__PURE__*/React.createElement("span", null, getIcon(icon, defaultIcon), newtitle);
|
|
87
|
+
} else {
|
|
88
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
className: "nsc-menu-icon-img-box"
|
|
90
|
+
}, icon ? /*#__PURE__*/React.createElement("img", {
|
|
91
|
+
src: icon,
|
|
92
|
+
className: "nsc-menu-icon-img"
|
|
93
|
+
}) : /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
className: "nsc-menu-icon-img"
|
|
95
|
+
}), newtitle);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return newtitle;
|
|
99
|
+
};
|
|
84
100
|
if (item["childNodes"] || item["children"]) {
|
|
85
|
-
let menuGroupData = {}
|
|
86
|
-
|
|
101
|
+
let menuGroupData = {};
|
|
102
|
+
let menuData = [];
|
|
87
103
|
let childData = item["childNodes"] || item["children"];
|
|
88
|
-
childData.
|
|
104
|
+
childData.forEach(item => {
|
|
89
105
|
let gruoptitle = item.groupName;
|
|
90
106
|
if (gruoptitle) {
|
|
91
107
|
if (!menuGroupData[gruoptitle]) menuGroupData[gruoptitle] = [];
|
|
@@ -94,54 +110,29 @@ export default class NSCMenu extends PureComponent {
|
|
|
94
110
|
menuData.push(item);
|
|
95
111
|
}
|
|
96
112
|
});
|
|
97
|
-
return
|
|
98
|
-
key:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
}), newtitle) : newtitle
|
|
107
|
-
}, subMenuProps), Object.keys(menuGroupData).map(key => {
|
|
108
|
-
return /*#__PURE__*/React.createElement(ItemGroup, {
|
|
109
|
-
key: key,
|
|
110
|
-
title: key
|
|
111
|
-
}, this.renderMenuItem(menuGroupData[key]));
|
|
112
|
-
}), this.renderMenuItem(menuData));
|
|
113
|
+
return {
|
|
114
|
+
key: key,
|
|
115
|
+
label: getItemContent(),
|
|
116
|
+
children: [...Object.keys(menuGroupData).map(groupKey => ({
|
|
117
|
+
type: "group",
|
|
118
|
+
label: groupKey,
|
|
119
|
+
children: this.renderMenuItem(menuGroupData[groupKey])
|
|
120
|
+
})), ...this.renderMenuItem(menuData)]
|
|
121
|
+
};
|
|
113
122
|
} else {
|
|
114
|
-
return
|
|
115
|
-
key:
|
|
123
|
+
return {
|
|
124
|
+
key: key,
|
|
125
|
+
label: getItemContent(),
|
|
116
126
|
disabled: disabled
|
|
117
|
-
}
|
|
118
|
-
className: "nsc-menu-icon-img-box"
|
|
119
|
-
}, icon ? /*#__PURE__*/React.createElement("img", {
|
|
120
|
-
src: icon,
|
|
121
|
-
className: "nsc-menu-icon-img"
|
|
122
|
-
}) : /*#__PURE__*/React.createElement("div", {
|
|
123
|
-
className: "nsc-menu-icon-img"
|
|
124
|
-
}), newtitle) : newtitle);
|
|
127
|
+
};
|
|
125
128
|
}
|
|
126
129
|
});
|
|
127
130
|
});
|
|
128
|
-
_defineProperty(this, "renderChildren", () => {
|
|
129
|
-
const {
|
|
130
|
-
children
|
|
131
|
-
} = this.props;
|
|
132
|
-
const {
|
|
133
|
-
dataSource
|
|
134
|
-
} = this.state;
|
|
135
|
-
if (children) {
|
|
136
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
137
|
-
} else {
|
|
138
|
-
return this.renderMenuItem(dataSource);
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
131
|
const {
|
|
142
132
|
data,
|
|
143
133
|
store = {},
|
|
144
|
-
|
|
134
|
+
items,
|
|
135
|
+
children
|
|
145
136
|
} = props;
|
|
146
137
|
const {
|
|
147
138
|
url,
|
|
@@ -149,9 +140,9 @@ export default class NSCMenu extends PureComponent {
|
|
|
149
140
|
viewname
|
|
150
141
|
} = store,
|
|
151
142
|
stores = _objectWithoutProperties(store, _excluded);
|
|
152
|
-
if (!
|
|
153
|
-
if (!(data || url)) {
|
|
154
|
-
throw new Error("url、data
|
|
143
|
+
if (!children) {
|
|
144
|
+
if (!(data || url || items)) {
|
|
145
|
+
throw new Error("url、data、items 不能都为空");
|
|
155
146
|
}
|
|
156
147
|
let _this = this;
|
|
157
148
|
let storeProps = _objectSpread({
|
|
@@ -175,10 +166,10 @@ export default class NSCMenu extends PureComponent {
|
|
|
175
166
|
}
|
|
176
167
|
}
|
|
177
168
|
}, stores);
|
|
178
|
-
if (url && data == null) {
|
|
169
|
+
if (url && data == null && items == null) {
|
|
179
170
|
storeProps = _objectSpread(_objectSpread({}, {
|
|
180
171
|
autoLoad: true,
|
|
181
|
-
url: url
|
|
172
|
+
url: url // read dictionary, fixed url, viewname
|
|
182
173
|
}), storeProps);
|
|
183
174
|
}
|
|
184
175
|
this.store = new Store(storeProps);
|
|
@@ -192,10 +183,25 @@ export default class NSCMenu extends PureComponent {
|
|
|
192
183
|
}
|
|
193
184
|
}
|
|
194
185
|
render() {
|
|
186
|
+
const {
|
|
187
|
+
children
|
|
188
|
+
} = this.props;
|
|
189
|
+
const {
|
|
190
|
+
dataSource
|
|
191
|
+
} = this.state;
|
|
192
|
+
|
|
193
|
+
// 移除了subMenuProps,因为不再使用SubMenu组件
|
|
195
194
|
const menuProps = omit(this.props, ["data", "store", "titleField", "keyField", "showIcon", "tooltip", "defaultIcon", "iconField", "subMenuProps", "iconType"]);
|
|
196
|
-
|
|
195
|
+
if (children) {
|
|
196
|
+
// 如果有children,使用传统的子组件方式
|
|
197
|
+
return /*#__PURE__*/React.createElement(_Menu, menuProps, children);
|
|
198
|
+
} else {
|
|
199
|
+
// 如果使用data驱动,使用items API
|
|
200
|
+
const items = this.renderMenuItem(dataSource);
|
|
201
|
+
return /*#__PURE__*/React.createElement(_Menu, _extends({}, menuProps, {
|
|
202
|
+
items: items
|
|
203
|
+
}));
|
|
204
|
+
}
|
|
197
205
|
}
|
|
198
206
|
}
|
|
199
|
-
_defineProperty(NSCMenu, "SubMenu", SubMenu);
|
|
200
|
-
_defineProperty(NSCMenu, "Item", Item);
|
|
201
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiZ2V0SWNvbiIsIm9taXQiLCJTdWJNZW51IiwiSXRlbSIsIkl0ZW1Hcm91cCIsIl9NZW51IiwiTlNDTWVudSIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsImRhdGFTb3VyY2UiLCJkYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJtZW51c0RhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJ0aXRsZUZpZWxkIiwia2V5RmllbGQiLCJzaG93SWNvbiIsInN1Yk1lbnVQcm9wcyIsInRvb2x0aXAiLCJkZWZhdWx0SWNvbiIsImljb25GaWVsZCIsImljb25UeXBlIiwibWFwIiwiaXRlbSIsInN0eWxlIiwiZGlzYWJsZWQiLCJpY29uIiwidGl0bGUiLCJzcGFudGl0bGUiLCJjcmVhdGVFbGVtZW50IiwidG9vbHRpcHRpdGxlIiwiX1Rvb2x0aXAiLCJwbGFjZW1lbnQiLCJuZXd0aXRsZSIsIm1lbnVHcm91cERhdGEiLCJtZW51RGF0YSIsImNoaWxkRGF0YSIsImdydW9wdGl0bGUiLCJncm91cE5hbWUiLCJwdXNoIiwiX2V4dGVuZHMiLCJrZXkiLCJjbGFzc05hbWUiLCJzcmMiLCJPYmplY3QiLCJrZXlzIiwicmVuZGVyTWVudUl0ZW0iLCJjaGlsZHJlbiIsInN0YXRlIiwiRnJhZ21lbnQiLCJzdG9yZSIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsInN0b3JlcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwib3B0aW9ucyIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJhdXRvTG9hZCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwibWVudVByb3BzIiwicmVuZGVyQ2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL21lbnUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0xNiAwOTo0MzoyOFxyXG4gKiBATGFzdEVkaXRvcnM6IFBsZWFzZSBzZXQgTGFzdEVkaXRvcnNcclxuICogQExhc3RFZGl0VGltZTogMjAyMi0wMi0yNiAxNToxMzoyMlxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IE1lbnUsIE1lbnVQcm9wcywgU3ViTWVudVByb3BzLCBUb29sdGlwIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7IGdldEljb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0ICcuL2luZGV4Lmxlc3MnXHJcblxyXG5pbnRlcmZhY2UgSU1lbnVQcm9wcyBleHRlbmRzIE1lbnVQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PG9iamVjdD47XHJcbiAgdGl0bGVGaWVsZD86IHN0cmluZztcclxuICBrZXlGaWVsZD86IHN0cmluZztcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd0ljb24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekumljb24gLOm7mOiupHRydWVcclxuICBzdWJNZW51UHJvcHM/OiBTdWJNZW51UHJvcHM7XHJcbiAgdG9vbHRpcD86IGJvb2xlYW47XHJcbiAgZGVmYXVsdEljb24/OiBib29sZWFuO1xyXG4gIGljb25GaWVsZD86IHN0cmluZztcclxuICBpY29uVHlwZT86ICdpY29uJyB8ICdpbWcnXHJcblxyXG59XHJcbmNvbnN0IHsgU3ViTWVudSwgSXRlbSwgSXRlbUdyb3VwIH0gPSBNZW51O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDTWVudSBleHRlbmRzIFB1cmVDb21wb25lbnQ8SU1lbnVQcm9wcz4ge1xyXG4gIHN0YXRpYyBTdWJNZW51ID0gU3ViTWVudTtcclxuICBzdGF0aWMgSXRlbSA9IEl0ZW07XHJcbiAgLy8gc3RhdGljIEl0ZW1Hcm91cCA9IEl0ZW1Hcm91cDtcclxuXHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICB9O1xyXG5cclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHByZXZTdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gbmV4dFByb3BzO1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBkYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgeyBkYXRhLCBzdG9yZSA9IHt9LCBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7IHVybCwgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sIHZpZXduYW1lLCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIFkYXRh5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKHVybCAmJiBkYXRhID09IG51bGwpIHtcclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMucHJvcHMuZGF0YSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlck1lbnVJdGVtID0gKG1lbnVzRGF0YSkgPT4ge1xyXG4gICAgaWYgKCFtZW51c0RhdGEgfHwgIUFycmF5LmlzQXJyYXkobWVudXNEYXRhKSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHRpdGxlRmllbGQgPSBcInRpdGxlXCIsXHJcbiAgICAgIGtleUZpZWxkID0gXCJrZXlcIixcclxuICAgICAgc2hvd0ljb24gPSB0cnVlLFxyXG4gICAgICBzdWJNZW51UHJvcHMgPSB7fSxcclxuICAgICAgdG9vbHRpcCA9IGZhbHNlLFxyXG4gICAgICBkZWZhdWx0SWNvbiA9IGZhbHNlLFxyXG4gICAgICBpY29uRmllbGQgPSBcImljb25cIixcclxuICAgICAgaWNvblR5cGUgPSAnaWNvbidcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgcmV0dXJuIG1lbnVzRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgZGlzYWJsZWQgfSA9IGl0ZW07XHJcbiAgICAgIGNvbnN0IGljb24gPSBpdGVtW2ljb25GaWVsZF07XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gaXRlbVt0aXRsZUZpZWxkXTtcclxuICAgICAgY29uc3Qgc3BhbnRpdGxlID0gPHNwYW4gc3R5bGU9e3N0eWxlfT57dGl0bGV9PC9zcGFuPjtcclxuICAgICAgY29uc3QgdG9vbHRpcHRpdGxlID0gKFxyXG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXt0aXRsZX0gcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgIHt0aXRsZX1cclxuICAgICAgICA8L1Rvb2x0aXA+XHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG5ld3RpdGxlID0gdG9vbHRpcCA/IHRvb2x0aXB0aXRsZSA6IHNwYW50aXRsZTtcclxuICAgICAgaWYgKGl0ZW1bXCJjaGlsZE5vZGVzXCJdIHx8IGl0ZW1bXCJjaGlsZHJlblwiXSkge1xyXG4gICAgICAgIGxldCBtZW51R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgICBtZW51RGF0YSA9IFtdO1xyXG4gICAgICAgIGxldCBjaGlsZERhdGEgPSBpdGVtW1wiY2hpbGROb2Rlc1wiXSB8fCBpdGVtW1wiY2hpbGRyZW5cIl07XHJcbiAgICAgICAgY2hpbGREYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGdydW9wdGl0bGUgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICAgIGlmIChncnVvcHRpdGxlKSB7XHJcbiAgICAgICAgICAgIGlmICghbWVudUdyb3VwRGF0YVtncnVvcHRpdGxlXSkgbWVudUdyb3VwRGF0YVtncnVvcHRpdGxlXSA9IFtdO1xyXG4gICAgICAgICAgICBtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZW51RGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8U3ViTWVudVxyXG4gICAgICAgICAgICBrZXk9e2l0ZW1ba2V5RmllbGRdfVxyXG4gICAgICAgICAgICB0aXRsZT17XHJcbiAgICAgICAgICAgICAgc2hvd0ljb24gJiYgKGljb24gfHwgZGVmYXVsdEljb24pID8gKFxyXG4gICAgICAgICAgICAgICAgaWNvblR5cGUgPT0gJ2ljb24nID8gPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHtnZXRJY29uKGljb24sIGRlZmF1bHRJY29uKX1cclxuICAgICAgICAgICAgICAgICAge25ld3RpdGxlfVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPiA6IDxkaXYgY2xhc3NOYW1lPVwibnNjLW1lbnUtaWNvbi1pbWctYm94XCI+e2ljb24gPyA8aW1nIHNyYz17aWNvbn0gY2xhc3NOYW1lPVwibnNjLW1lbnUtaWNvbi1pbWdcIiAvPiA6IDxkaXYgY2xhc3NOYW1lPVwibnNjLW1lbnUtaWNvbi1pbWdcIj48L2Rpdj59e25ld3RpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICBuZXd0aXRsZVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB7Li4uc3ViTWVudVByb3BzfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7T2JqZWN0LmtleXMobWVudUdyb3VwRGF0YSkubWFwKChrZXkpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPEl0ZW1Hcm91cCBrZXk9e2tleX0gdGl0bGU9e2tleX0+XHJcbiAgICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlck1lbnVJdGVtKG1lbnVHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICAgICAgICA8L0l0ZW1Hcm91cD5cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyTWVudUl0ZW0obWVudURhdGEpfVxyXG4gICAgICAgICAgPC9TdWJNZW51PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXtpdGVtW2tleUZpZWxkXX0gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHNob3dJY29uICYmIChpY29uIHx8IGRlZmF1bHRJY29uKSA/IChcclxuICAgICAgICAgICAgICAgIGljb25UeXBlID09ICdpY29uJyA/IDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7Z2V0SWNvbihpY29uLCBkZWZhdWx0SWNvbil9XHJcbiAgICAgICAgICAgICAgICAgIHtuZXd0aXRsZX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj4gOiA8ZGl2IGNsYXNzTmFtZT1cIm5zYy1tZW51LWljb24taW1nLWJveFwiPntpY29uID8gPGltZyBzcmM9e2ljb259IGNsYXNzTmFtZT1cIm5zYy1tZW51LWljb24taW1nXCIgLz4gOiA8ZGl2IGNsYXNzTmFtZT1cIm5zYy1tZW51LWljb24taW1nXCI+PC9kaXY+fXtuZXd0aXRsZX08L2Rpdj5cclxuICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgbmV3dGl0bGVcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvTWVudS5JdGVtPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH07XHJcbiAgcmVuZGVyQ2hpbGRyZW4gPSAoKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJNZW51SXRlbShkYXRhU291cmNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBtZW51UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJkYXRhXCIsXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ0aXRsZUZpZWxkXCIsXHJcbiAgICAgIFwia2V5RmllbGRcIixcclxuICAgICAgXCJzaG93SWNvblwiLFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgXCJkZWZhdWx0SWNvblwiLFxyXG4gICAgICBcImljb25GaWVsZFwiLFxyXG4gICAgICBcInN1Yk1lbnVQcm9wc1wiLFxyXG4gICAgICBcImljb25UeXBlXCJcclxuICAgIF0pO1xyXG4gICAgcmV0dXJuIDxNZW51IHsuLi5tZW51UHJvcHN9Pnt0aGlzLnJlbmRlckNoaWxkcmVuKCl9PC9NZW51PjtcclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRzVDLE9BQU9DLEtBQUssTUFBc0IsYUFBYTtBQUMvQyxTQUFTQyxLQUFLLFFBQVEsdUJBQXVCO0FBQzdDLFNBQVNDLE9BQU8sUUFBUSxhQUFhO0FBQ3JDLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBQzFCLE9BQU8sY0FBYztBQWVyQixNQUFNO0VBQUVDLE9BQU87RUFBRUMsSUFBSTtFQUFFQztBQUFVLENBQUMsR0FBQUMsS0FBTztBQUV6QyxlQUFlLE1B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
|
|
207
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiZ2V0SWNvbiIsIm9taXQiLCJOU0NNZW51IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwiZGF0YVNvdXJjZSIsImRhdGEiLCJpdGVtcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwibWVudXNEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwidGl0bGVGaWVsZCIsImtleUZpZWxkIiwic2hvd0ljb24iLCJ0b29sdGlwIiwiZGVmYXVsdEljb24iLCJpY29uRmllbGQiLCJpY29uVHlwZSIsIm1hcCIsIml0ZW0iLCJzdHlsZSIsImRpc2FibGVkIiwiaWNvbiIsInRpdGxlIiwia2V5Iiwic3BhbnRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInRvb2x0aXB0aXRsZSIsIl9Ub29sdGlwIiwicGxhY2VtZW50IiwibmV3dGl0bGUiLCJnZXRJdGVtQ29udGVudCIsImNsYXNzTmFtZSIsInNyYyIsIm1lbnVHcm91cERhdGEiLCJtZW51RGF0YSIsImNoaWxkRGF0YSIsImZvckVhY2giLCJncnVvcHRpdGxlIiwiZ3JvdXBOYW1lIiwicHVzaCIsImxhYmVsIiwiY2hpbGRyZW4iLCJPYmplY3QiLCJrZXlzIiwiZ3JvdXBLZXkiLCJ0eXBlIiwicmVuZGVyTWVudUl0ZW0iLCJzdG9yZSIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsInN0b3JlcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwib3B0aW9ucyIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJhdXRvTG9hZCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwic3RhdGUiLCJtZW51UHJvcHMiLCJfTWVudSIsIl9leHRlbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9tZW51L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjUtMTAtMTAgMDk6NDM6MjhcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IE1lbnUsIE1lbnVQcm9wcywgU3ViTWVudVByb3BzLCBUb29sdGlwIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7IGdldEljb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFwiLi9pbmRleC5sZXNzXCI7XHJcblxyXG5pbnRlcmZhY2UgSU1lbnVQcm9wcyBleHRlbmRzIE1lbnVQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PG9iamVjdD47XHJcbiAgdGl0bGVGaWVsZD86IHN0cmluZztcclxuICBrZXlGaWVsZD86IHN0cmluZztcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd0ljb24/OiBib29sZWFuOyAvLyB3aGV0aGVyIHRvIHNob3cgaWNvbiwgZGVmYXVsdCB0cnVlXHJcbiAgc3ViTWVudVByb3BzPzogU3ViTWVudVByb3BzO1xyXG4gIHRvb2x0aXA/OiBib29sZWFuO1xyXG4gIGRlZmF1bHRJY29uPzogYm9vbGVhbjtcclxuICBpY29uRmllbGQ/OiBzdHJpbmc7XHJcbiAgaWNvblR5cGU/OiBcImljb25cIiB8IFwiaW1nXCI7XHJcbn1cclxuXHJcbnR5cGUgTWVudUl0ZW0gPSBSZXF1aXJlZDxNZW51UHJvcHM+W1wiaXRlbXNcIl1bbnVtYmVyXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ01lbnUgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElNZW51UHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gIH07XHJcblxyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHM6IElNZW51UHJvcHMsIHByZXZTdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHByZXZTdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgaXRlbXMgfSA9IG5leHRQcm9wcztcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkoZGF0YSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogZGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGl0ZW1zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkoaXRlbXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IGl0ZW1zLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IElNZW51UHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHsgZGF0YSwgc3RvcmUgPSB7fSwgaXRlbXMsIGNoaWxkcmVuIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgdmlld25hbWUsIC4uLnN0b3JlcyB9ID0gc3RvcmU7XHJcblxyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCB8fCBpdGVtcykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIFkYXRh44CBaXRlbXMg5LiN6IO96YO95Li656m6XCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlOiBhbnksIG9wdGlvbnM6IGFueSkge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhOiBhbnksIG1vZGVsRGF0YTogYW55LCBzdG9yZTogYW55KSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YTogYW55LCBtb2RlbERhdGE6IGFueSwgc3RvcmU6IGFueSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgaWYgKHVybCAmJiBkYXRhID09IG51bGwgJiYgaXRlbXMgPT0gbnVsbCkge1xyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCwgLy8gcmVhZCBkaWN0aW9uYXJ5LCBmaXhlZCB1cmwsIHZpZXduYW1lXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmRhdGEpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5wcm9wcy5kYXRhLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlck1lbnVJdGVtID0gKG1lbnVzRGF0YTogYW55W10pOiBNZW51SXRlbVtdID0+IHtcclxuICAgIGlmICghbWVudXNEYXRhIHx8ICFBcnJheS5pc0FycmF5KG1lbnVzRGF0YSkpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3Qge1xyXG4gICAgICB0aXRsZUZpZWxkID0gXCJ0aXRsZVwiLFxyXG4gICAgICBrZXlGaWVsZCA9IFwia2V5XCIsXHJcbiAgICAgIHNob3dJY29uID0gdHJ1ZSxcclxuICAgICAgdG9vbHRpcCA9IGZhbHNlLFxyXG4gICAgICBkZWZhdWx0SWNvbiA9IGZhbHNlLFxyXG4gICAgICBpY29uRmllbGQgPSBcImljb25cIixcclxuICAgICAgaWNvblR5cGUgPSBcImljb25cIixcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIHJldHVybiBtZW51c0RhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgc3R5bGUsIGRpc2FibGVkIH0gPSBpdGVtO1xyXG4gICAgICBjb25zdCBpY29uID0gaXRlbVtpY29uRmllbGRdO1xyXG4gICAgICBjb25zdCB0aXRsZSA9IGl0ZW1bdGl0bGVGaWVsZF07XHJcbiAgICAgIGNvbnN0IGtleSA9IGl0ZW1ba2V5RmllbGRdO1xyXG5cclxuICAgICAgY29uc3Qgc3BhbnRpdGxlID0gPHNwYW4gc3R5bGU9e3N0eWxlfT57dGl0bGV9PC9zcGFuPjtcclxuICAgICAgY29uc3QgdG9vbHRpcHRpdGxlID0gKFxyXG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXt0aXRsZX0gcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgIHt0aXRsZX1cclxuICAgICAgICA8L1Rvb2x0aXA+XHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG5ld3RpdGxlID0gdG9vbHRpcCA/IHRvb2x0aXB0aXRsZSA6IHNwYW50aXRsZTtcclxuXHJcbiAgICAgIGNvbnN0IGdldEl0ZW1Db250ZW50ID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChzaG93SWNvbiAmJiAoaWNvbiB8fCBkZWZhdWx0SWNvbikpIHtcclxuICAgICAgICAgIGlmIChpY29uVHlwZSA9PT0gXCJpY29uXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIHtnZXRJY29uKGljb24sIGRlZmF1bHRJY29uKX1cclxuICAgICAgICAgICAgICAgIHtuZXd0aXRsZX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibnNjLW1lbnUtaWNvbi1pbWctYm94XCI+XHJcbiAgICAgICAgICAgICAgICB7aWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2ljb259IGNsYXNzTmFtZT1cIm5zYy1tZW51LWljb24taW1nXCIgLz5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibnNjLW1lbnUtaWNvbi1pbWdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICB7bmV3dGl0bGV9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXd0aXRsZTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChpdGVtW1wiY2hpbGROb2Rlc1wiXSB8fCBpdGVtW1wiY2hpbGRyZW5cIl0pIHtcclxuICAgICAgICBsZXQgbWVudUdyb3VwRGF0YTogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge307XHJcbiAgICAgICAgbGV0IG1lbnVEYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBjaGlsZERhdGEgPSBpdGVtW1wiY2hpbGROb2Rlc1wiXSB8fCBpdGVtW1wiY2hpbGRyZW5cIl07XHJcblxyXG4gICAgICAgIGNoaWxkRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgZ3J1b3B0aXRsZSA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgICAgaWYgKGdydW9wdGl0bGUpIHtcclxuICAgICAgICAgICAgaWYgKCFtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdKSBtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdID0gW107XHJcbiAgICAgICAgICAgIG1lbnVHcm91cERhdGFbZ3J1b3B0aXRsZV0ucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lbnVEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgIGxhYmVsOiBnZXRJdGVtQ29udGVudCgpLFxyXG4gICAgICAgICAgY2hpbGRyZW46IFtcclxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMobWVudUdyb3VwRGF0YSkubWFwKChncm91cEtleSkgPT4gKHtcclxuICAgICAgICAgICAgICB0eXBlOiBcImdyb3VwXCIgYXMgY29uc3QsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IGdyb3VwS2V5LFxyXG4gICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnJlbmRlck1lbnVJdGVtKG1lbnVHcm91cERhdGFbZ3JvdXBLZXldKSxcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAuLi50aGlzLnJlbmRlck1lbnVJdGVtKG1lbnVEYXRhKSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAga2V5OiBrZXksXHJcbiAgICAgICAgICBsYWJlbDogZ2V0SXRlbUNvbnRlbnQoKSxcclxuICAgICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG5cclxuICAgIC8vIOenu+mZpOS6hnN1Yk1lbnVQcm9wc++8jOWboOS4uuS4jeWGjeS9v+eUqFN1Yk1lbnXnu4Tku7ZcclxuICAgIGNvbnN0IG1lbnVQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICBcInRpdGxlRmllbGRcIixcclxuICAgICAgXCJrZXlGaWVsZFwiLFxyXG4gICAgICBcInNob3dJY29uXCIsXHJcbiAgICAgIFwidG9vbHRpcFwiLFxyXG4gICAgICBcImRlZmF1bHRJY29uXCIsXHJcbiAgICAgIFwiaWNvbkZpZWxkXCIsXHJcbiAgICAgIFwic3ViTWVudVByb3BzXCIsXHJcbiAgICAgIFwiaWNvblR5cGVcIixcclxuICAgIF0pO1xyXG5cclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICAvLyDlpoLmnpzmnIljaGlsZHJlbu+8jOS9v+eUqOS8oOe7n+eahOWtkOe7hOS7tuaWueW8j1xyXG4gICAgICByZXR1cm4gPE1lbnUgey4uLm1lbnVQcm9wc30+e2NoaWxkcmVufTwvTWVudT47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyDlpoLmnpzkvb/nlKhkYXRh6amx5Yqo77yM5L2/55SoaXRlbXMgQVBJXHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5yZW5kZXJNZW51SXRlbShkYXRhU291cmNlKTtcclxuICAgICAgcmV0dXJuIDxNZW51IHsuLi5tZW51UHJvcHN9IGl0ZW1zPXtpdGVtc30gLz47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBc0IsYUFBYTtBQUMvQyxTQUFTQyxLQUFLLFFBQVEsdUJBQXVCO0FBQzdDLFNB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","getIcon","omit","SubMenu","Item","ItemGroup","_Menu","NSCMenu","getDerivedStateFromProps","nextProps","prevState","dataSource","data","JSON","stringify","constructor","props","_defineProperty","menusData","Array","isArray","titleField","keyField","showIcon","subMenuProps","tooltip","defaultIcon","iconField","iconType","map","item","style","disabled","icon","title","spantitle","createElement","tooltiptitle","_Tooltip","placement","newtitle","menuGroupData","menuData","childData","gruoptitle","groupName","push","_extends","key","className","src","Object","keys","renderMenuItem","children","state","Fragment","store","url","listeners","listenersPops","viewname","stores","_objectWithoutProperties","_excluded","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","options","callback","load","modelData","setState","dataChanged","autoLoad","componentDidMount","render","menuProps","renderChildren"],"sources":["../../../src/components/base/menu/index.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-16 09:43:28\r\n * @LastEditors: Please set LastEditors\r\n * @LastEditTime: 2022-02-26 15:13:22\r\n */\r\nimport React, { PureComponent } from \"react\";\r\n\r\nimport { Menu, MenuProps, SubMenuProps, Tooltip } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport { getIcon } from \"../../utils\";\r\nimport omit from \"omit.js\";\r\nimport './index.less'\r\n\r\ninterface IMenuProps extends MenuProps {\r\n data?: Array<object>;\r\n titleField?: string;\r\n keyField?: string;\r\n store?: StoreProps;\r\n showIcon?: boolean; //是否显示icon ,默认true\r\n subMenuProps?: SubMenuProps;\r\n tooltip?: boolean;\r\n defaultIcon?: boolean;\r\n iconField?: string;\r\n iconType?: 'icon' | 'img'\r\n\r\n}\r\nconst { SubMenu, Item, ItemGroup } = Menu;\r\n\r\nexport default class NSCMenu extends PureComponent<IMenuProps> {\r\n static SubMenu = SubMenu;\r\n static Item = Item;\r\n // static ItemGroup = ItemGroup;\r\n\r\n state = {\r\n dataSource: [],\r\n };\r\n\r\n store = {} as StoreProps;\r\n static getDerivedStateFromProps(nextProps, prevState: any) {\r\n const { dataSource } = prevState;\r\n const { data } = nextProps;\r\n if (data) {\r\n if (JSON.stringify(dataSource) !== JSON.stringify(data)) {\r\n return {\r\n dataSource: data,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n constructor(props) {\r\n super(props);\r\n const { data, store = {}, children } = props;\r\n const { url, listeners: listenersPops = {}, viewname, ...stores } = store;\r\n if (!children) {\r\n if (!(data || url)) {\r\n throw new Error(\"url、data不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n _this.setState({ dataSource: modelData });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n _this.setState({ dataSource: modelData });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if (url && data == null) {\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url, //读字典,url固定,viewname\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n componentDidMount() {\r\n if (this.props.data) {\r\n this.setState({\r\n dataSource: this.props.data,\r\n });\r\n }\r\n }\r\n renderMenuItem = (menusData) => {\r\n if (!menusData || !Array.isArray(menusData)) {\r\n return [];\r\n }\r\n const {\r\n titleField = \"title\",\r\n keyField = \"key\",\r\n showIcon = true,\r\n subMenuProps = {},\r\n tooltip = false,\r\n defaultIcon = false,\r\n iconField = \"icon\",\r\n iconType = 'icon'\r\n } = this.props;\r\n return menusData.map((item) => {\r\n const { style, disabled } = item;\r\n const icon = item[iconField];\r\n const title = item[titleField];\r\n const spantitle = <span style={style}>{title}</span>;\r\n const tooltiptitle = (\r\n <Tooltip title={title} placement=\"right\">\r\n {title}\r\n </Tooltip>\r\n );\r\n const newtitle = tooltip ? tooltiptitle : spantitle;\r\n if (item[\"childNodes\"] || item[\"children\"]) {\r\n let menuGroupData = {},\r\n menuData = [];\r\n let childData = item[\"childNodes\"] || item[\"children\"];\r\n childData.map((item) => {\r\n let gruoptitle = item.groupName;\r\n if (gruoptitle) {\r\n if (!menuGroupData[gruoptitle]) menuGroupData[gruoptitle] = [];\r\n menuGroupData[gruoptitle].push(item);\r\n } else {\r\n menuData.push(item);\r\n }\r\n });\r\n return (\r\n <SubMenu\r\n key={item[keyField]}\r\n title={\r\n showIcon && (icon || defaultIcon) ? (\r\n iconType == 'icon' ? <span>\r\n {getIcon(icon, defaultIcon)}\r\n {newtitle}\r\n </span> : <div className=\"nsc-menu-icon-img-box\">{icon ? <img src={icon} className=\"nsc-menu-icon-img\" /> : <div className=\"nsc-menu-icon-img\"></div>}{newtitle}</div>\r\n ) : (\r\n newtitle\r\n )\r\n }\r\n {...subMenuProps}\r\n >\r\n {Object.keys(menuGroupData).map((key) => {\r\n return (\r\n <ItemGroup key={key} title={key}>\r\n {this.renderMenuItem(menuGroupData[key])}\r\n </ItemGroup>\r\n );\r\n })}\r\n {this.renderMenuItem(menuData)}\r\n </SubMenu>\r\n );\r\n } else {\r\n return (\r\n <Menu.Item key={item[keyField]} disabled={disabled}>\r\n {\r\n showIcon && (icon || defaultIcon) ? (\r\n iconType == 'icon' ? <span>\r\n {getIcon(icon, defaultIcon)}\r\n {newtitle}\r\n </span> : <div className=\"nsc-menu-icon-img-box\">{icon ? <img src={icon} className=\"nsc-menu-icon-img\" /> : <div className=\"nsc-menu-icon-img\"></div>}{newtitle}</div>\r\n ) : (\r\n newtitle\r\n )\r\n }\r\n </Menu.Item>\r\n );\r\n }\r\n });\r\n };\r\n renderChildren = () => {\r\n const { children } = this.props;\r\n const { dataSource } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n return this.renderMenuItem(dataSource);\r\n }\r\n };\r\n\r\n render() {\r\n const menuProps = omit(this.props, [\r\n \"data\",\r\n \"store\",\r\n \"titleField\",\r\n \"keyField\",\r\n \"showIcon\",\r\n \"tooltip\",\r\n \"defaultIcon\",\r\n \"iconField\",\r\n \"subMenuProps\",\r\n \"iconType\"\r\n ]);\r\n return <Menu {...menuProps}>{this.renderChildren()}</Menu>;\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","getIcon","omit","NSCMenu","getDerivedStateFromProps","nextProps","prevState","dataSource","data","items","JSON","stringify","constructor","props","_defineProperty","menusData","Array","isArray","titleField","keyField","showIcon","tooltip","defaultIcon","iconField","iconType","map","item","style","disabled","icon","title","key","spantitle","createElement","tooltiptitle","_Tooltip","placement","newtitle","getItemContent","className","src","menuGroupData","menuData","childData","forEach","gruoptitle","groupName","push","label","children","Object","keys","groupKey","type","renderMenuItem","store","url","listeners","listenersPops","viewname","stores","_objectWithoutProperties","_excluded","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","options","callback","load","modelData","setState","dataChanged","autoLoad","componentDidMount","render","state","menuProps","_Menu","_extends"],"sources":["../../../src/components/base/menu/index.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2025-10-10 09:43:28\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Menu, MenuProps, SubMenuProps, Tooltip } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport { getIcon } from \"../../utils\";\r\nimport omit from \"omit.js\";\r\nimport \"./index.less\";\r\n\r\ninterface IMenuProps extends MenuProps {\r\n data?: Array<object>;\r\n titleField?: string;\r\n keyField?: string;\r\n store?: StoreProps;\r\n showIcon?: boolean; // whether to show icon, default true\r\n subMenuProps?: SubMenuProps;\r\n tooltip?: boolean;\r\n defaultIcon?: boolean;\r\n iconField?: string;\r\n iconType?: \"icon\" | \"img\";\r\n}\r\n\r\ntype MenuItem = Required<MenuProps>[\"items\"][number];\r\n\r\nexport default class NSCMenu extends PureComponent<IMenuProps> {\r\n state = {\r\n dataSource: [],\r\n };\r\n\r\n store = {} as StoreProps;\r\n\r\n static getDerivedStateFromProps(nextProps: IMenuProps, prevState: any) {\r\n const { dataSource } = prevState;\r\n const { data, items } = nextProps;\r\n if (data) {\r\n if (JSON.stringify(dataSource) !== JSON.stringify(data)) {\r\n return {\r\n dataSource: data,\r\n };\r\n }\r\n } else if (items) {\r\n if (JSON.stringify(dataSource) !== JSON.stringify(items)) {\r\n return {\r\n dataSource: items,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n constructor(props: IMenuProps) {\r\n super(props);\r\n const { data, store = {}, items, children } = props;\r\n const { url, listeners: listenersPops = {}, viewname, ...stores } = store;\r\n\r\n if (!children) {\r\n if (!(data || url || items)) {\r\n throw new Error(\"url、data、items 不能都为空\");\r\n }\r\n\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store: any, options: any) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data: any, modelData: any, store: any) {\r\n _this.setState({ dataSource: modelData });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data: any, modelData: any, store: any) {\r\n _this.setState({ dataSource: modelData });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n\r\n if (url && data == null && items == null) {\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url, // read dictionary, fixed url, viewname\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.data) {\r\n this.setState({\r\n dataSource: this.props.data,\r\n });\r\n }\r\n }\r\n\r\n renderMenuItem = (menusData: any[]): MenuItem[] => {\r\n if (!menusData || !Array.isArray(menusData)) {\r\n return [];\r\n }\r\n const {\r\n titleField = \"title\",\r\n keyField = \"key\",\r\n showIcon = true,\r\n tooltip = false,\r\n defaultIcon = false,\r\n iconField = \"icon\",\r\n iconType = \"icon\",\r\n } = this.props;\r\n\r\n return menusData.map((item) => {\r\n const { style, disabled } = item;\r\n const icon = item[iconField];\r\n const title = item[titleField];\r\n const key = item[keyField];\r\n\r\n const spantitle = <span style={style}>{title}</span>;\r\n const tooltiptitle = (\r\n <Tooltip title={title} placement=\"right\">\r\n {title}\r\n </Tooltip>\r\n );\r\n const newtitle = tooltip ? tooltiptitle : spantitle;\r\n\r\n const getItemContent = () => {\r\n if (showIcon && (icon || defaultIcon)) {\r\n if (iconType === \"icon\") {\r\n return (\r\n <span>\r\n {getIcon(icon, defaultIcon)}\r\n {newtitle}\r\n </span>\r\n );\r\n } else {\r\n return (\r\n <div className=\"nsc-menu-icon-img-box\">\r\n {icon ? (\r\n <img src={icon} className=\"nsc-menu-icon-img\" />\r\n ) : (\r\n <div className=\"nsc-menu-icon-img\"></div>\r\n )}\r\n {newtitle}\r\n </div>\r\n );\r\n }\r\n }\r\n return newtitle;\r\n };\r\n\r\n if (item[\"childNodes\"] || item[\"children\"]) {\r\n let menuGroupData: Record<string, any[]> = {};\r\n let menuData: any[] = [];\r\n let childData = item[\"childNodes\"] || item[\"children\"];\r\n\r\n childData.forEach((item) => {\r\n let gruoptitle = item.groupName;\r\n if (gruoptitle) {\r\n if (!menuGroupData[gruoptitle]) menuGroupData[gruoptitle] = [];\r\n menuGroupData[gruoptitle].push(item);\r\n } else {\r\n menuData.push(item);\r\n }\r\n });\r\n\r\n return {\r\n key: key,\r\n label: getItemContent(),\r\n children: [\r\n ...Object.keys(menuGroupData).map((groupKey) => ({\r\n type: \"group\" as const,\r\n label: groupKey,\r\n children: this.renderMenuItem(menuGroupData[groupKey]),\r\n })),\r\n ...this.renderMenuItem(menuData),\r\n ],\r\n };\r\n } else {\r\n return {\r\n key: key,\r\n label: getItemContent(),\r\n disabled: disabled,\r\n };\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const { children } = this.props;\r\n const { dataSource } = this.state;\r\n\r\n // 移除了subMenuProps,因为不再使用SubMenu组件\r\n const menuProps = omit(this.props, [\r\n \"data\",\r\n \"store\",\r\n \"titleField\",\r\n \"keyField\",\r\n \"showIcon\",\r\n \"tooltip\",\r\n \"defaultIcon\",\r\n \"iconField\",\r\n \"subMenuProps\",\r\n \"iconType\",\r\n ]);\r\n\r\n if (children) {\r\n // 如果有children,使用传统的子组件方式\r\n return <Menu {...menuProps}>{children}</Menu>;\r\n } else {\r\n // 如果使用data驱动,使用items API\r\n const items = this.renderMenuItem(dataSource);\r\n return <Menu {...menuProps} items={items} />;\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -72,6 +72,7 @@ declare class NSCTable extends React.Component<INSCTableProps, any> {
|
|
|
72
72
|
};
|
|
73
73
|
constructor(props: any);
|
|
74
74
|
handleResize: (index: any) => (e: any, { size }: any) => void;
|
|
75
|
+
getInitCheckedColumns(columns: any[]): string[];
|
|
75
76
|
componentDidMount(): void;
|
|
76
77
|
componentWillUnmount(): void;
|
|
77
78
|
listenMessage: (ev: any) => void;
|
|
@@ -97,7 +98,8 @@ declare class NSCTable extends React.Component<INSCTableProps, any> {
|
|
|
97
98
|
* 模块列表移动排序
|
|
98
99
|
*/
|
|
99
100
|
moveRow: (dragIndex: any, hoverIndex: any, drag: any, target: any) => void;
|
|
100
|
-
|
|
101
|
+
filterColumnsByCheckedKeys(columns: any[], checkedKeys: string[]): any[];
|
|
102
|
+
filterColumn(checkedValue: any, isChecked: any, mapData: any): void;
|
|
101
103
|
getSortParam(sorter: any, sortState?: boolean): {
|
|
102
104
|
orderItems?: undefined;
|
|
103
105
|
} | {
|
|
@@ -106,7 +108,8 @@ declare class NSCTable extends React.Component<INSCTableProps, any> {
|
|
|
106
108
|
isBeyond(e: any): boolean;
|
|
107
109
|
setSelectedRowKeys(data: Array<String | Number>): void;
|
|
108
110
|
setSelectedRowDatas(data: Array<Object>): void;
|
|
109
|
-
getColumns(): any;
|
|
111
|
+
getColumns(): any[];
|
|
112
|
+
generateUniqueKeysAndPaths(columns: any[], parentPath?: string, level?: number): any[];
|
|
110
113
|
renderToolBar(): React.JSX.Element;
|
|
111
114
|
getSelectedRowKeys(): any;
|
|
112
115
|
getSelectedRowDatas(): any;
|