nsc-react-component 2.0.1 → 2.0.2
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/button/index.d.ts +2 -0
- package/lib/button/index.js +37 -9
- package/lib/constants.d.ts +15 -0
- package/lib/constants.js +16 -0
- package/lib/form/Form.js +1 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/pageComponents/BasePage/Form.d.ts +15 -0
- package/lib/pageComponents/BasePage/Form.js +216 -0
- package/lib/pageComponents/BasePage/index.d.ts +49 -0
- package/lib/pageComponents/BasePage/index.js +532 -0
- package/lib/pageComponents/BasePage/index.less +61 -0
- package/lib/table/index.js +10 -24
- package/lib/table/index.less +6 -0
- package/lib/utils.d.ts +4 -0
- package/lib/utils.js +78 -1
- package/package.json +1 -1
- package/lib/pagecomponent/index.d.ts +0 -3
- package/lib/pagecomponent/index.js +0 -36
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
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); }
|
|
2
|
+
|
|
3
|
+
import "antd/es/popover/style/css";
|
|
4
|
+
import _Popover from "antd/es/popover";
|
|
5
|
+
var _excluded = ["children", "pageType", "onClick"],
|
|
6
|
+
_excluded2 = ["children", "pageType", "onClick"];
|
|
7
|
+
|
|
8
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
+
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
11
|
+
|
|
12
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
19
|
+
|
|
20
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
25
|
+
|
|
26
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
31
|
+
|
|
32
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
33
|
+
|
|
34
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
35
|
+
|
|
36
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
37
|
+
|
|
38
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
39
|
+
|
|
40
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
41
|
+
|
|
42
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
43
|
+
|
|
44
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
45
|
+
|
|
46
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
|
+
|
|
48
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
49
|
+
|
|
50
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
51
|
+
|
|
52
|
+
import React, { PureComponent } from "react";
|
|
53
|
+
import Table from "../../table";
|
|
54
|
+
import Tree from "../../tree";
|
|
55
|
+
import Form from "../../form";
|
|
56
|
+
import Button from "../../button";
|
|
57
|
+
import Icon from "../../common/IconFont";
|
|
58
|
+
import { iconType } from "../../constants";
|
|
59
|
+
import EditorForm from "./Form";
|
|
60
|
+
import cls from "classnames";
|
|
61
|
+
import styles from "./index.less";
|
|
62
|
+
import { DownOutlined } from "@ant-design/icons";
|
|
63
|
+
|
|
64
|
+
var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
65
|
+
_inherits(BasePage, _PureComponent);
|
|
66
|
+
|
|
67
|
+
var _super = _createSuper(BasePage);
|
|
68
|
+
|
|
69
|
+
function BasePage(props) {
|
|
70
|
+
var _this;
|
|
71
|
+
|
|
72
|
+
_classCallCheck(this, BasePage);
|
|
73
|
+
|
|
74
|
+
_this = _super.call(this, props);
|
|
75
|
+
|
|
76
|
+
_defineProperty(_assertThisInitialized(_this), "tableRef", /*#__PURE__*/React.createRef());
|
|
77
|
+
|
|
78
|
+
_defineProperty(_assertThisInitialized(_this), "treeRef", /*#__PURE__*/React.createRef());
|
|
79
|
+
|
|
80
|
+
_defineProperty(_assertThisInitialized(_this), "searchRef", /*#__PURE__*/React.createRef());
|
|
81
|
+
|
|
82
|
+
_defineProperty(_assertThisInitialized(_this), "editorRef", /*#__PURE__*/React.createRef());
|
|
83
|
+
|
|
84
|
+
_defineProperty(_assertThisInitialized(_this), "onSelect", function (checkedTreeKeys) {
|
|
85
|
+
var _this$state = _this.state,
|
|
86
|
+
name = _this$state.name,
|
|
87
|
+
userType = _this$state.userType,
|
|
88
|
+
account = _this$state.account;
|
|
89
|
+
var value = {
|
|
90
|
+
name: name,
|
|
91
|
+
userType: userType,
|
|
92
|
+
account: account,
|
|
93
|
+
deptId: checkedTreeKeys[0]
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
_this.tableLoad(value);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
_this.state = {
|
|
100
|
+
type: "add",
|
|
101
|
+
selectedRowKeys: [],
|
|
102
|
+
treeSelectedKey: ""
|
|
103
|
+
};
|
|
104
|
+
return _this;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
_createClass(BasePage, [{
|
|
108
|
+
key: "showForm",
|
|
109
|
+
value: //显示表单
|
|
110
|
+
function showForm(value) {
|
|
111
|
+
var _this$editorRef$curre;
|
|
112
|
+
|
|
113
|
+
var flag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
114
|
+
(_this$editorRef$curre = this.editorRef.current) === null || _this$editorRef$curre === void 0 ? void 0 : _this$editorRef$curre.show(value, flag);
|
|
115
|
+
}
|
|
116
|
+
}, {
|
|
117
|
+
key: "tableLoad",
|
|
118
|
+
value: function tableLoad(params) {
|
|
119
|
+
var _this$tableRef$curren;
|
|
120
|
+
|
|
121
|
+
(_this$tableRef$curren = this.tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.store.load({
|
|
122
|
+
params: params
|
|
123
|
+
});
|
|
124
|
+
} //查询
|
|
125
|
+
|
|
126
|
+
}, {
|
|
127
|
+
key: "onSearch",
|
|
128
|
+
value: function onSearch() {
|
|
129
|
+
var _this$searchRef$curre;
|
|
130
|
+
|
|
131
|
+
var fromValue = (_this$searchRef$curre = this.searchRef.current) === null || _this$searchRef$curre === void 0 ? void 0 : _this$searchRef$curre.getFieldsValue();
|
|
132
|
+
this.load(fromValue);
|
|
133
|
+
} //表格重新加载
|
|
134
|
+
|
|
135
|
+
}, {
|
|
136
|
+
key: "tableReload",
|
|
137
|
+
value: function tableReload() {
|
|
138
|
+
var _this$tableRef$curren2;
|
|
139
|
+
|
|
140
|
+
(_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.store.reload();
|
|
141
|
+
}
|
|
142
|
+
}, {
|
|
143
|
+
key: "getSelectedRowKeys",
|
|
144
|
+
value: function getSelectedRowKeys() {
|
|
145
|
+
return this.state.selectedRowKeys;
|
|
146
|
+
}
|
|
147
|
+
}, {
|
|
148
|
+
key: "getSearchValues",
|
|
149
|
+
value: function getSearchValues() {
|
|
150
|
+
var _this$searchRef$curre2;
|
|
151
|
+
|
|
152
|
+
var fromValue = (_this$searchRef$curre2 = this.searchRef.current) === null || _this$searchRef$curre2 === void 0 ? void 0 : _this$searchRef$curre2.getFieldsValue();
|
|
153
|
+
return fromValue;
|
|
154
|
+
}
|
|
155
|
+
}, {
|
|
156
|
+
key: "rowSelectionOnSelect",
|
|
157
|
+
value: function rowSelectionOnSelect(record, selected) {
|
|
158
|
+
var selectedRowKeys = this.state.selectedRowKeys;
|
|
159
|
+
|
|
160
|
+
var newSelectedRowKeys = _toConsumableArray(selectedRowKeys);
|
|
161
|
+
|
|
162
|
+
if (selected) {
|
|
163
|
+
newSelectedRowKeys = [].concat(_toConsumableArray(newSelectedRowKeys), [record.id]);
|
|
164
|
+
} else {
|
|
165
|
+
selectedRowKeys.map(function (item, index) {
|
|
166
|
+
if (item === record.id) {
|
|
167
|
+
newSelectedRowKeys.splice(index, 1);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
this.setState({
|
|
173
|
+
selectedRowKeys: newSelectedRowKeys
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}, {
|
|
177
|
+
key: "rowSelectionOnSelectAll",
|
|
178
|
+
value: function rowSelectionOnSelectAll(selected, selectedRows, changeRows) {
|
|
179
|
+
var selectedRowKeys = this.state.selectedRowKeys;
|
|
180
|
+
var newids = [];
|
|
181
|
+
|
|
182
|
+
if (changeRows.length > 0) {
|
|
183
|
+
var changeIds = changeRows.map(function (item) {
|
|
184
|
+
return item.id;
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
if (selected) {
|
|
188
|
+
newids = [].concat(_toConsumableArray(selectedRowKeys), _toConsumableArray(changeIds));
|
|
189
|
+
} else {
|
|
190
|
+
selectedRowKeys.map(function (item, index) {
|
|
191
|
+
if (changeIds.indexOf(item) == -1) {
|
|
192
|
+
newids.push(item);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
newids = _toConsumableArray(selectedRowKeys);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
this.setState({
|
|
201
|
+
selectedRowKeys: _toConsumableArray(newids)
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}, {
|
|
205
|
+
key: "load",
|
|
206
|
+
value: function load(params) {
|
|
207
|
+
var _this$tableRef$curren3;
|
|
208
|
+
|
|
209
|
+
(_this$tableRef$curren3 = this.tableRef.current) === null || _this$tableRef$curren3 === void 0 ? void 0 : _this$tableRef$curren3.store.load({
|
|
210
|
+
params: params
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}, {
|
|
214
|
+
key: "renderCloumnButton",
|
|
215
|
+
value: function renderCloumnButton(columnButtons, record, actionButton) {
|
|
216
|
+
var content = columnButtons.map(function (item, index) {
|
|
217
|
+
var _item$props = item.props,
|
|
218
|
+
children = _item$props.children,
|
|
219
|
+
pageType = _item$props.pageType,
|
|
220
|
+
_onClick = _item$props.onClick,
|
|
221
|
+
params = _objectWithoutProperties(_item$props, _excluded);
|
|
222
|
+
|
|
223
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
224
|
+
className: cls(styles["editor"], styles["content-item"]),
|
|
225
|
+
key: index,
|
|
226
|
+
onClick: function onClick() {
|
|
227
|
+
_onClick && _onClick(record);
|
|
228
|
+
}
|
|
229
|
+
}, params), children);
|
|
230
|
+
});
|
|
231
|
+
var num = 1;
|
|
232
|
+
if (!actionButton) num = 3;
|
|
233
|
+
|
|
234
|
+
if (columnButtons.length > num) {
|
|
235
|
+
return /*#__PURE__*/React.createElement(_Popover, {
|
|
236
|
+
placement: "bottom",
|
|
237
|
+
title: null,
|
|
238
|
+
content: content,
|
|
239
|
+
trigger: "click" // overlayClassName={styles['pop']}
|
|
240
|
+
|
|
241
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
242
|
+
className: styles["editor"]
|
|
243
|
+
}, "\u66F4\u591A ", /*#__PURE__*/React.createElement(DownOutlined, null)));
|
|
244
|
+
} else {
|
|
245
|
+
return columnButtons.map(function (item, index) {
|
|
246
|
+
var _item$props2 = item.props,
|
|
247
|
+
children = _item$props2.children,
|
|
248
|
+
pageType = _item$props2.pageType,
|
|
249
|
+
_onClick2 = _item$props2.onClick,
|
|
250
|
+
params = _objectWithoutProperties(_item$props2, _excluded2);
|
|
251
|
+
|
|
252
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
253
|
+
className: styles["editor"],
|
|
254
|
+
key: index,
|
|
255
|
+
onClick: function onClick() {
|
|
256
|
+
_onClick2 && _onClick2(record);
|
|
257
|
+
}
|
|
258
|
+
}, params), children);
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
} //树点击事件
|
|
262
|
+
|
|
263
|
+
}, {
|
|
264
|
+
key: "treeSelect",
|
|
265
|
+
value: function treeSelect(selectedKeys, _ref) {
|
|
266
|
+
var _this$searchRef$curre3;
|
|
267
|
+
|
|
268
|
+
var selected = _ref.selected,
|
|
269
|
+
selectedNodes = _ref.selectedNodes;
|
|
270
|
+
var keyword = "";
|
|
271
|
+
var _this$props$treeProps = this.props.treeProps,
|
|
272
|
+
_this$props$treeProps2 = _this$props$treeProps.searchKey,
|
|
273
|
+
searchKey = _this$props$treeProps2 === void 0 ? "key" : _this$props$treeProps2,
|
|
274
|
+
_this$props$treeProps3 = _this$props$treeProps.searchField,
|
|
275
|
+
searchField = _this$props$treeProps3 === void 0 ? "" : _this$props$treeProps3;
|
|
276
|
+
var treeSelectedKey = this.state.treeSelectedKey;
|
|
277
|
+
|
|
278
|
+
if (selected) {
|
|
279
|
+
if (selectedNodes[0].isLeaf || !selectedNodes[0].children) {
|
|
280
|
+
if (selectedKeys[0] !== treeSelectedKey) {
|
|
281
|
+
// let mapData = this.treeRef.current?.store.getFlattenData();
|
|
282
|
+
keyword = selectedNodes[0].dataref.attribute[searchKey];
|
|
283
|
+
this.setState({
|
|
284
|
+
treeSelectedKey: selectedKeys[0]
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
} else {
|
|
289
|
+
this.setState({
|
|
290
|
+
treeSelectedKey: keyword
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
var fromValue = (_this$searchRef$curre3 = this.searchRef.current) === null || _this$searchRef$curre3 === void 0 ? void 0 : _this$searchRef$curre3.getFieldsValue();
|
|
295
|
+
searchField && this.load(_objectSpread(_objectSpread({}, fromValue), {}, _defineProperty({}, searchField, keyword)));
|
|
296
|
+
}
|
|
297
|
+
}, {
|
|
298
|
+
key: "render",
|
|
299
|
+
value: function render() {
|
|
300
|
+
var _this2 = this;
|
|
301
|
+
|
|
302
|
+
var selectedRowKeys = this.state.selectedRowKeys;
|
|
303
|
+
var _this$props = this.props,
|
|
304
|
+
_this$props$columns = _this$props.columns,
|
|
305
|
+
columns = _this$props$columns === void 0 ? [] : _this$props$columns,
|
|
306
|
+
_this$props$showSearc = _this$props.showSearch,
|
|
307
|
+
showSearch = _this$props$showSearc === void 0 ? true : _this$props$showSearc,
|
|
308
|
+
children = _this$props.children,
|
|
309
|
+
_this$props$autoSubmi = _this$props.autoSubmit,
|
|
310
|
+
autoSubmit = _this$props$autoSubmi === void 0 ? true : _this$props$autoSubmi,
|
|
311
|
+
_this$props$submitUrl = _this$props.submitUrl,
|
|
312
|
+
submitUrl = _this$props$submitUrl === void 0 ? "" : _this$props$submitUrl,
|
|
313
|
+
_this$props$tableProp = _this$props.tableProps,
|
|
314
|
+
tableProps = _this$props$tableProp === void 0 ? {} : _this$props$tableProp,
|
|
315
|
+
_this$props$treeProps4 = _this$props.treeProps,
|
|
316
|
+
treeProps = _this$props$treeProps4 === void 0 ? {} : _this$props$treeProps4,
|
|
317
|
+
_this$props$showLeft = _this$props.showLeft,
|
|
318
|
+
showLeft = _this$props$showLeft === void 0 ? false : _this$props$showLeft,
|
|
319
|
+
_this$props$submitPar = _this$props.submitParams,
|
|
320
|
+
submitParams = _this$props$submitPar === void 0 ? {} : _this$props$submitPar,
|
|
321
|
+
_this$props$showToolB = _this$props.showToolButton,
|
|
322
|
+
showToolButton = _this$props$showToolB === void 0 ? true : _this$props$showToolB,
|
|
323
|
+
_this$props$showAddBu = _this$props.showAddButton,
|
|
324
|
+
showAddButton = _this$props$showAddBu === void 0 ? true : _this$props$showAddBu,
|
|
325
|
+
_this$props$editorFor = _this$props.editorForm,
|
|
326
|
+
editorForm = _this$props$editorFor === void 0 ? true : _this$props$editorFor;
|
|
327
|
+
var _tableProps$store = tableProps.store,
|
|
328
|
+
store = _tableProps$store === void 0 ? {} : _tableProps$store,
|
|
329
|
+
_tableProps$filterCol = tableProps.filterColumn,
|
|
330
|
+
filterColumn = _tableProps$filterCol === void 0 ? true : _tableProps$filterCol,
|
|
331
|
+
_tableProps$actionBut = tableProps.actionButton,
|
|
332
|
+
actionButton = _tableProps$actionBut === void 0 ? true : _tableProps$actionBut,
|
|
333
|
+
_tableProps$actionCol = tableProps.actionColumn,
|
|
334
|
+
actionColumn = _tableProps$actionCol === void 0 ? true : _tableProps$actionCol,
|
|
335
|
+
_tableProps$showRowSe = tableProps.showRowSelection,
|
|
336
|
+
showRowSelection = _tableProps$showRowSe === void 0 ? true : _tableProps$showRowSe;
|
|
337
|
+
var _treeProps$store = treeProps.store,
|
|
338
|
+
treeStore = _treeProps$store === void 0 ? {} : _treeProps$store,
|
|
339
|
+
_treeProps$showSearch = treeProps.showSearch,
|
|
340
|
+
treeSearch = _treeProps$showSearch === void 0 ? true : _treeProps$showSearch;
|
|
341
|
+
var tableParams = {
|
|
342
|
+
filterColumn: filterColumn,
|
|
343
|
+
store: store
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
if (showRowSelection) {
|
|
347
|
+
tableParams = _objectSpread(_objectSpread({}, tableParams), {}, {
|
|
348
|
+
rowSelection: {
|
|
349
|
+
selectedRowKeys: selectedRowKeys,
|
|
350
|
+
onSelect: this.rowSelectionOnSelect.bind(this),
|
|
351
|
+
onSelectAll: this.rowSelectionOnSelectAll.bind(this),
|
|
352
|
+
columnWidth: 40
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
var tableColumn = [];
|
|
358
|
+
var searchForms = [];
|
|
359
|
+
var editorForms = [];
|
|
360
|
+
columns.map(function (item) {
|
|
361
|
+
var temp = _objectSpread({}, item);
|
|
362
|
+
|
|
363
|
+
if (temp.search) {
|
|
364
|
+
searchForms.push({
|
|
365
|
+
name: temp.field || temp.dataIndex,
|
|
366
|
+
label: temp.title,
|
|
367
|
+
type: temp.type,
|
|
368
|
+
props: temp.props
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
delete temp.search;
|
|
373
|
+
editorForms.push({
|
|
374
|
+
name: temp.field || temp.dataIndex,
|
|
375
|
+
label: temp.title,
|
|
376
|
+
rules: temp.rules,
|
|
377
|
+
type: temp.type,
|
|
378
|
+
props: temp.props,
|
|
379
|
+
span: temp.span
|
|
380
|
+
});
|
|
381
|
+
delete temp.rules;
|
|
382
|
+
delete temp.span;
|
|
383
|
+
|
|
384
|
+
if (temp.columnSearch) {
|
|
385
|
+
temp.filterProps = {
|
|
386
|
+
type: temp.type,
|
|
387
|
+
props: temp.props
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
delete temp.type;
|
|
392
|
+
delete temp.props;
|
|
393
|
+
tableColumn.push(temp);
|
|
394
|
+
});
|
|
395
|
+
var Buttons = [];
|
|
396
|
+
var columnButtons = [];
|
|
397
|
+
|
|
398
|
+
if (Array.isArray(children)) {
|
|
399
|
+
children.map(function (item) {
|
|
400
|
+
if (item.props.pageType == "toolButton") {
|
|
401
|
+
Buttons.push(item);
|
|
402
|
+
} else if (item.props.pageType == "cloumnButton") {
|
|
403
|
+
columnButtons.push(item);
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
} else if (children) {
|
|
407
|
+
var props = children.props;
|
|
408
|
+
|
|
409
|
+
if (props.pageType == "toolButton") {
|
|
410
|
+
Buttons.push(children);
|
|
411
|
+
} else if (props.pageType == "cloumnButton") {
|
|
412
|
+
columnButtons.push(children);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
actionColumn && tableColumn.push({
|
|
417
|
+
title: "操作",
|
|
418
|
+
dataIndex: "action",
|
|
419
|
+
align: "center",
|
|
420
|
+
width: 150,
|
|
421
|
+
render: function render(text, record) {
|
|
422
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
423
|
+
className: styles["action"]
|
|
424
|
+
}, actionButton && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
425
|
+
className: styles["editor"],
|
|
426
|
+
onClick: _this2.showForm.bind(_this2, record, false)
|
|
427
|
+
}, "\u67E5\u770B"), /*#__PURE__*/React.createElement("div", {
|
|
428
|
+
className: styles["editor"],
|
|
429
|
+
onClick: _this2.showForm.bind(_this2, record, true)
|
|
430
|
+
}, "\u7F16\u8F91")), _this2.renderCloumnButton(columnButtons, record, actionButton));
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
434
|
+
className: styles["page"]
|
|
435
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
436
|
+
className: styles["pane"],
|
|
437
|
+
style: {
|
|
438
|
+
display: "flex"
|
|
439
|
+
}
|
|
440
|
+
}, showLeft && /*#__PURE__*/React.createElement("div", {
|
|
441
|
+
className: "left"
|
|
442
|
+
}, /*#__PURE__*/React.createElement(Tree, {
|
|
443
|
+
store: _objectSpread({}, treeStore),
|
|
444
|
+
showIcon: false,
|
|
445
|
+
checkable: false,
|
|
446
|
+
searchable: treeSearch,
|
|
447
|
+
onSelect: this.treeSelect.bind(this),
|
|
448
|
+
selectedKeys: [this.state.treeSelectedKey]
|
|
449
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
450
|
+
className: styles["right"]
|
|
451
|
+
}, showSearch && /*#__PURE__*/React.createElement("div", {
|
|
452
|
+
className: styles["header"]
|
|
453
|
+
}, /*#__PURE__*/React.createElement(Form, {
|
|
454
|
+
ref: this.searchRef,
|
|
455
|
+
labelCol: {},
|
|
456
|
+
wrapperCol: {},
|
|
457
|
+
layout: "inline"
|
|
458
|
+
}, searchForms.map(function (item, index) {
|
|
459
|
+
if (!item.type) {
|
|
460
|
+
return /*#__PURE__*/React.createElement(Form.Input, {
|
|
461
|
+
label: item.label,
|
|
462
|
+
name: item.name,
|
|
463
|
+
key: index
|
|
464
|
+
});
|
|
465
|
+
} else {
|
|
466
|
+
var _props = _objectSpread({}, item.props);
|
|
467
|
+
|
|
468
|
+
return /*#__PURE__*/React.createElement(Form.Select, _extends({
|
|
469
|
+
label: item.label,
|
|
470
|
+
name: item.name
|
|
471
|
+
}, _props, {
|
|
472
|
+
key: index
|
|
473
|
+
}));
|
|
474
|
+
}
|
|
475
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
476
|
+
className: styles["buttons"],
|
|
477
|
+
style: {
|
|
478
|
+
marginTop: 0
|
|
479
|
+
}
|
|
480
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
481
|
+
type: "primary",
|
|
482
|
+
onClick: this.onSearch.bind(this),
|
|
483
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
484
|
+
type: iconType.search
|
|
485
|
+
})
|
|
486
|
+
}, "\u67E5\u8BE2"), /*#__PURE__*/React.createElement(Button, {
|
|
487
|
+
type: "primary",
|
|
488
|
+
onClick: function onClick() {
|
|
489
|
+
var _this2$searchRef$curr;
|
|
490
|
+
|
|
491
|
+
(_this2$searchRef$curr = _this2.searchRef.current) === null || _this2$searchRef$curr === void 0 ? void 0 : _this2$searchRef$curr.resetFields();
|
|
492
|
+
},
|
|
493
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
494
|
+
type: iconType.refresh
|
|
495
|
+
})
|
|
496
|
+
}, "\u91CD\u7F6E"))), showToolButton && /*#__PURE__*/React.createElement("div", {
|
|
497
|
+
className: styles["buttons"],
|
|
498
|
+
style: {
|
|
499
|
+
marginLeft: 0
|
|
500
|
+
}
|
|
501
|
+
}, showAddButton && /*#__PURE__*/React.createElement(Button, {
|
|
502
|
+
type: "primary",
|
|
503
|
+
onClick: this.showForm.bind(this),
|
|
504
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
505
|
+
type: iconType.add
|
|
506
|
+
})
|
|
507
|
+
}, "\u6DFB\u52A0"), Buttons.map(function (item, index) {
|
|
508
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
509
|
+
key: index
|
|
510
|
+
}, item);
|
|
511
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
512
|
+
className: styles["table"]
|
|
513
|
+
}, /*#__PURE__*/React.createElement(Table, _extends({
|
|
514
|
+
ref: this.tableRef,
|
|
515
|
+
columns: tableColumn
|
|
516
|
+
}, tableParams))))), editorForm && /*#__PURE__*/React.createElement(EditorForm, {
|
|
517
|
+
ref: this.editorRef,
|
|
518
|
+
onCancel: this.showForm.bind(this),
|
|
519
|
+
callBack: this.tableReload.bind(this),
|
|
520
|
+
formProps: editorForms,
|
|
521
|
+
autoSubmit: autoSubmit,
|
|
522
|
+
submitUrl: submitUrl,
|
|
523
|
+
submitParams: submitParams
|
|
524
|
+
}));
|
|
525
|
+
}
|
|
526
|
+
}]);
|
|
527
|
+
|
|
528
|
+
return BasePage;
|
|
529
|
+
}(PureComponent);
|
|
530
|
+
|
|
531
|
+
export default BasePage;
|
|
532
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2VDb21wb25lbnRzL0Jhc2VQYWdlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUYWJsZSIsIlRyZWUiLCJGb3JtIiwiQnV0dG9uIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIkJhc2VQYWdlIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJjaGVja2VkVHJlZUtleXMiLCJzdGF0ZSIsIm5hbWUiLCJ1c2VyVHlwZSIsImFjY291bnQiLCJ2YWx1ZSIsImRlcHRJZCIsInRhYmxlTG9hZCIsInR5cGUiLCJzZWxlY3RlZFJvd0tleXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJmbGFnIiwiZWRpdG9yUmVmIiwiY3VycmVudCIsInNob3ciLCJwYXJhbXMiLCJ0YWJsZVJlZiIsInN0b3JlIiwibG9hZCIsImZyb21WYWx1ZSIsInNlYXJjaFJlZiIsImdldEZpZWxkc1ZhbHVlIiwicmVsb2FkIiwicmVjb3JkIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RlZFJvd0tleXMiLCJpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInNwbGljZSIsInNldFN0YXRlIiwic2VsZWN0ZWRSb3dzIiwiY2hhbmdlUm93cyIsIm5ld2lkcyIsImxlbmd0aCIsImNoYW5nZUlkcyIsImluZGV4T2YiLCJwdXNoIiwiY29sdW1uQnV0dG9ucyIsImFjdGlvbkJ1dHRvbiIsImNvbnRlbnQiLCJjaGlsZHJlbiIsInBhZ2VUeXBlIiwib25DbGljayIsIm51bSIsInNlbGVjdGVkS2V5cyIsInNlbGVjdGVkTm9kZXMiLCJrZXl3b3JkIiwidHJlZVByb3BzIiwic2VhcmNoS2V5Iiwic2VhcmNoRmllbGQiLCJpc0xlYWYiLCJkYXRhcmVmIiwiYXR0cmlidXRlIiwiY29sdW1ucyIsInNob3dTZWFyY2giLCJhdXRvU3VibWl0Iiwic3VibWl0VXJsIiwidGFibGVQcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJzaG93QWRkQnV0dG9uIiwiZWRpdG9yRm9ybSIsImZpbHRlckNvbHVtbiIsImFjdGlvbkNvbHVtbiIsInNob3dSb3dTZWxlY3Rpb24iLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGFibGVQYXJhbXMiLCJyb3dTZWxlY3Rpb24iLCJvblNlbGVjdCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0IiwiYmluZCIsIm9uU2VsZWN0QWxsIiwicm93U2VsZWN0aW9uT25TZWxlY3RBbGwiLCJjb2x1bW5XaWR0aCIsInRhYmxlQ29sdW1uIiwic2VhcmNoRm9ybXMiLCJlZGl0b3JGb3JtcyIsInRlbXAiLCJzZWFyY2giLCJmaWVsZCIsImRhdGFJbmRleCIsImxhYmVsIiwidGl0bGUiLCJydWxlcyIsInNwYW4iLCJjb2x1bW5TZWFyY2giLCJmaWx0ZXJQcm9wcyIsIkJ1dHRvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJhbGlnbiIsIndpZHRoIiwicmVuZGVyIiwidGV4dCIsInNob3dGb3JtIiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJtYXJnaW5Ub3AiLCJvblNlYXJjaCIsInJlc2V0RmllbGRzIiwicmVmcmVzaCIsIm1hcmdpbkxlZnQiLCJhZGQiLCJ0YWJsZVJlbG9hZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFFQSxPQUFPQyxLQUFQLE1BQWtCLGFBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixZQUFqQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsWUFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQix1QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIs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QUNELE9BRkEsQ0FWSCxDQXBESixlQW1FRTtBQUFLLFFBQUEsU0FBUyxFQUFFakMsTUFBTSxDQUFDLE9BQUQ7QUFBdEIsc0JBQ0Usb0JBQUMsS0FBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUtxQixRQURaO0FBRUUsUUFBQSxPQUFPLEVBQUU4RDtBQUZYLFNBR01SLFdBSE4sRUFERixDQW5FRixDQWJGLENBREYsRUEwRkdOLFVBQVUsaUJBQ1Qsb0JBQUMsVUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUtwRCxTQURaO0FBRUUsUUFBQSxRQUFRLEVBQUUsS0FBS3NGLFFBQUwsQ0FBY3hCLElBQWQsQ0FBbUIsSUFBbkIsQ0FGWjtBQUdFLFFBQUEsUUFBUSxFQUFFLEtBQUtrQyxXQUFMLENBQWlCbEMsSUFBakIsQ0FBc0IsSUFBdEIsQ0FIWjtBQUlFLFFBQUEsU0FBUyxFQUFFTSxXQUpiO0FBS0UsUUFBQSxVQUFVLEVBQUV2QixVQUxkO0FBTUUsUUFBQSxTQUFTLEVBQUVDLFNBTmI7QUFPRSxRQUFBLFlBQVksRUFBRUc7QUFQaEIsUUEzRkosQ0FERjtBQXdHRDs7OztFQTlYb0IzRSxhOztBQWdZdkIsZUFBZVcsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFN3aXRjaCwgUG9wY29uZmlybSwgbWVzc2FnZSwgTW9kYWwsIFJvdywgQ29sLCBQb3BvdmVyIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLi8uLi90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9idXR0b25cIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgeyBpY29uVHlwZSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IEVkaXRvckZvcm0gZnJvbSBcIi4vRm9ybVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IERvd25PdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbnRlcmZhY2UgVGFibGVQcm9wcyB7XHJcbiAgYWN0aW9uQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmk43kvZzliJdcclxuICBhY3Rpb25CdXR0b24/OiBib29sZWFuOyAvL+aYr+WQpum7mOiupOaYvuekuuaWsOWinu+8jOe8lui+kem7mOiupOaMiemSrlxyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuui/h+a7pOaMiemSrlxyXG4gIHNob3dSb3dTZWxlY3Rpb24/OiBib29sZWFuOyAvL+aYr+WQpuihqOagvOWLvumAieWIl1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjtcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7XHJcbiAgc2VhcmNoRmllbGQ/OiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7XHJcbiAgc3VibWl0VXJsPzogc3RyaW5nO1xyXG4gIGF1dG9TdWJtaXQ/OiBib29sZWFuO1xyXG4gIGNvbHVtbnM6IEFycmF5PE9iamVjdD47XHJcbiAgc2hvd0xlZnQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuW3puS+p+ebruW9leagkVxyXG4gIHNob3dUb29sQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmjInpkq7moI9cclxuICBzaG93QWRkQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmt7vliqDmjInpkq5cclxuICBlZGl0b3JGb3JtPzogYm9vbGVhbjsgLy/mmK/lkKbpnIDopoHooajljZXlip/og71cclxufVxyXG5cclxuY2xhc3MgQmFzZVBhZ2UgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5TQ0Jhc2VCYWdlUHJvcHMsIGFueT4ge1xyXG4gIHRhYmxlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICB0cmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGVkaXRvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgdHJlZVNlbGVjdGVkS2V5OiBcIlwiLFxyXG4gICAgfTtcclxuICB9XHJcbiAgb25TZWxlY3QgPSAoY2hlY2tlZFRyZWVLZXlzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQsIGRlcHRJZDogY2hlY2tlZFRyZWVLZXlzWzBdIH07XHJcbiAgICB0aGlzLnRhYmxlTG9hZCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgLy/mmL7npLrooajljZVcclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgZmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LnNob3codmFsdWUsIGZsYWcpO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgdGhpcy5sb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCgpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLm5ld1NlbGVjdGVkUm93S2V5cywgcmVjb3JkLmlkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFsuLi5uZXdpZHNdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbHMoc3R5bGVzW1wiZWRpdG9yXCJdLCBzdHlsZXNbXCJjb250ZW50LWl0ZW1cIl0pfVxyXG4gICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIGxldCBudW0gPSAxO1xyXG4gICAgaWYgKCFhY3Rpb25CdXR0b24pIG51bSA9IDM7XHJcbiAgICBpZiAoY29sdW1uQnV0dG9ucy5sZW5ndGggPiBudW0pIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgIHRyaWdnZXI9XCJjbGlja1wiXHJcbiAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19PlxyXG4gICAgICAgICAgICDmm7TlpJogPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGNvbHVtbkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMubG9hZCh7IC4uLmZyb21WYWx1ZSwgW3NlYXJjaEZpZWxkXToga2V5d29yZCB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNvbHVtbnMgPSBbXSxcclxuICAgICAgc2hvd1NlYXJjaCA9IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhdXRvU3VibWl0ID0gdHJ1ZSxcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgc2hvd0FkZEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3QgeyBzdG9yZTogdHJlZVN0b3JlID0ge30sIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlIH0gYXMgYW55O1xyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YWJsZUNvbHVtbjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHNlYXJjaEZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGVkaXRvckZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbHVtbnMubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKHRlbXAuc2VhcmNoKSB7XHJcbiAgICAgICAgc2VhcmNoRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5zZWFyY2g7XHJcbiAgICAgIGVkaXRvckZvcm1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgcnVsZXM6IHRlbXAucnVsZXMsXHJcbiAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgfSk7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnJ1bGVzO1xyXG4gICAgICBkZWxldGUgdGVtcC5zcGFuO1xyXG4gICAgICBpZiAodGVtcC5jb2x1bW5TZWFyY2gpIHtcclxuICAgICAgICB0ZW1wLmZpbHRlclByb3BzID0ge1xyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC50eXBlO1xyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpb25Db2x1bW4gJiZcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5pON5L2cXCIsXHJcbiAgICAgICAgZGF0YUluZGV4OiBcImFjdGlvblwiLFxyXG4gICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICAgICAgcmVuZGVyOiAodGV4dDogYW55LCByZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImFjdGlvblwiXX0+XHJcbiAgICAgICAgICAgICAge2FjdGlvbkJ1dHRvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMsIHJlY29yZCwgZmFsc2UpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg5p+l55yLXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMsIHJlY29yZCwgdHJ1ZSl9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zLCByZWNvcmQsIGFjdGlvbkJ1dHRvbil9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wicGFnZVwiXX0+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInBhbmVcIl19IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInJpZ2h0XCJdfT5cclxuICAgICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJoZWFkZXJcIl19PlxyXG4gICAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdGVtLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtLklucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9wcyA9IHsgLi4uaXRlbS5wcm9wcyB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm0uU2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fT5cclxuICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5zZWFyY2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg6YeN572uXHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIHtzaG93VG9vbEJ1dHRvbiAmJiAoXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX0+XHJcbiAgICAgICAgICAgICAgICB7c2hvd0FkZEJ1dHRvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnNob3dGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuYWRkfSAvPn1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICB7QnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInRhYmxlXCJdfT5cclxuICAgICAgICAgICAgICA8VGFibGVcclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVJlZn1cclxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgICAgey4uLnRhYmxlUGFyYW1zfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge2VkaXRvckZvcm0gJiYgKFxyXG4gICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgY2FsbEJhY2s9e3RoaXMudGFibGVSZWxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgYXV0b1N1Ym1pdD17YXV0b1N1Ym1pdH1cclxuICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcz17c3VibWl0UGFyYW1zfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEJhc2VQYWdlO1xyXG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@pageHeight: 800px;
|
|
2
|
+
.page {
|
|
3
|
+
padding: 20px 24px 20px 24px;
|
|
4
|
+
.pane {
|
|
5
|
+
height: @pageHeight - 130px;
|
|
6
|
+
display: flex;
|
|
7
|
+
.left {
|
|
8
|
+
width: 320px;
|
|
9
|
+
padding: 20px;
|
|
10
|
+
margin-right: 30px;
|
|
11
|
+
}
|
|
12
|
+
.right {
|
|
13
|
+
// margin-left: 30px;
|
|
14
|
+
flex: 1;
|
|
15
|
+
background: #fff;
|
|
16
|
+
.header {
|
|
17
|
+
display: flex;
|
|
18
|
+
:global {
|
|
19
|
+
.ant-form-inline .ant-form-item {
|
|
20
|
+
margin-right: 30px;
|
|
21
|
+
}
|
|
22
|
+
.ant-select {
|
|
23
|
+
width: 180px !important;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
.buttons {
|
|
28
|
+
display: flex;
|
|
29
|
+
margin-top: 15px;
|
|
30
|
+
.margin {
|
|
31
|
+
margin-left: 27px;
|
|
32
|
+
}
|
|
33
|
+
button {
|
|
34
|
+
margin-right: 27px;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.table {
|
|
40
|
+
margin-top: 20px;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.action {
|
|
46
|
+
display: flex;
|
|
47
|
+
justify-content: center;
|
|
48
|
+
}
|
|
49
|
+
.delete {
|
|
50
|
+
cursor: pointer;
|
|
51
|
+
color: #ff534c;
|
|
52
|
+
}
|
|
53
|
+
.editor {
|
|
54
|
+
margin-left: 10px;
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
color: #4286ed;
|
|
57
|
+
}
|
|
58
|
+
.content-item {
|
|
59
|
+
height: 40px;
|
|
60
|
+
line-height: 40px;
|
|
61
|
+
}
|