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.
@@ -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
+ }