nsc-react-component 2.4.7 → 2.4.9

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.
@@ -45,31 +45,25 @@ import { PlusCircleOutlined, CloseCircleOutlined, CloseOutlined, ExpandOutlined,
45
45
  import Button from "../button";
46
46
  import { getLess } from "../../utils";
47
47
  import styles from "./index.less";
48
+ import { getStorage } from "@bj-nsc/functions";
48
49
 
49
50
  var NscModal = /*#__PURE__*/function (_PureComponent) {
50
51
  _inherits(NscModal, _PureComponent);
51
52
 
52
53
  var _super = _createSuper(NscModal);
53
54
 
54
- function NscModal() {
55
+ //返回值
56
+ function NscModal(props) {
57
+ var _autoType;
58
+
55
59
  var _this2;
56
60
 
57
61
  _classCallCheck(this, NscModal);
58
62
 
59
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
60
- args[_key] = arguments[_key];
61
- }
62
-
63
- _this2 = _super.call.apply(_super, [this].concat(args));
63
+ _this2 = _super.call(this, props);
64
64
 
65
65
  _defineProperty(_assertThisInitialized(_this2), "returnValue", null);
66
66
 
67
- _defineProperty(_assertThisInitialized(_this2), "state", {
68
- visible: false,
69
- expand: false,
70
- modalType: ""
71
- });
72
-
73
67
  _defineProperty(_assertThisInitialized(_this2), "option", {
74
68
  //回调作用域
75
69
  scope: _assertThisInitialized(_this2),
@@ -83,17 +77,52 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
83
77
  callback: null
84
78
  });
85
79
 
80
+ _defineProperty(_assertThisInitialized(_this2), "listenMessage", function (ev) {
81
+ var data = typeof ev.data === "string" ? JSON.parse(ev.data) : ev.data;
82
+
83
+ var _this = _assertThisInitialized(_this2);
84
+
85
+ if (data.eventType == "changeFormType") {
86
+ var payload = data.payload;
87
+
88
+ if (payload.type == "modal" || payload.type == "drawer") {
89
+ _this.setState({
90
+ modalType: payload.type
91
+ });
92
+ }
93
+ }
94
+ });
95
+
96
+ var modal = props.type || "auto";
97
+ var storePrefix = getStorage("store-pre-key");
98
+ var autoType = getStorage(storePrefix ? storePrefix + "formType" : "formType");
99
+ autoType = (_autoType = autoType) === null || _autoType === void 0 ? void 0 : _autoType.content;
100
+ _this2.state = {
101
+ visible: false,
102
+ expand: false,
103
+ modalType: modal == "auto" ? autoType : modal
104
+ };
86
105
  return _this2;
87
106
  }
88
107
 
89
108
  _createClass(NscModal, [{
90
- key: "show",
109
+ key: "componentDidMount",
91
110
  value:
92
111
  /**
93
112
  * 渲染完成
94
113
  * @param {*} option 整改传递对象
95
114
  */
96
- //显示
115
+ function componentDidMount() {
116
+ window.addEventListener("message", this.listenMessage);
117
+ }
118
+ }, {
119
+ key: "componentWillUnmount",
120
+ value: function componentWillUnmount() {
121
+ window.removeEventListener("message", this.listenMessage);
122
+ }
123
+ }, {
124
+ key: "show",
125
+ value: //显示
97
126
  function show() {
98
127
  var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
99
128
  var scope = this.option.scope;
@@ -133,6 +162,8 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
133
162
  }, {
134
163
  key: "close",
135
164
  value: function close(result) {
165
+ var buttonClose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
166
+
136
167
  var _this = this;
137
168
 
138
169
  var _this$option = this.option,
@@ -143,6 +174,7 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
143
174
  _this$props$formExpan = _this$props.formExpand,
144
175
  formExpand = _this$props$formExpan === void 0 ? {} : _this$props$formExpan,
145
176
  onCancel = _this$props.onCancel,
177
+ onButtonCancel = _this$props.onButtonCancel,
146
178
  onClose = _this$props.onClose;
147
179
  if (result) this.setReturnValue(result);
148
180
  var r = utils.callback(callbackBeforeClose, scope, [this.returnValue]);
@@ -151,7 +183,7 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
151
183
  var _formExpand$expand = formExpand.expand,
152
184
  expand = _formExpand$expand === void 0 ? false : _formExpand$expand;
153
185
 
154
- if (expand && formExpand.change && formExpand.change) {
186
+ if (expand && formExpand.valid && formExpand.change) {
155
187
  _Modal.confirm({
156
188
  title: "当前记录已修改尚未保存,确定要放弃修改吗?",
157
189
  cancelText: "取消",
@@ -159,8 +191,12 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
159
191
  centered: true,
160
192
  onOk: function onOk() {
161
193
  if (onCancel || onClose) {
162
- onCancel && onCancel(result);
163
- onClose && onClose(result);
194
+ if (buttonClose && onButtonCancel) {
195
+ onButtonCancel(result);
196
+ } else {
197
+ onCancel && onCancel(result);
198
+ onClose && onClose(result);
199
+ }
164
200
  } else {
165
201
  _this.setState({
166
202
  visible: false
@@ -170,8 +206,12 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
170
206
  });
171
207
  } else {
172
208
  if (onCancel || onClose) {
173
- onCancel && onCancel(result);
174
- onClose && onClose(result);
209
+ if (buttonClose && onButtonCancel) {
210
+ onButtonCancel(result);
211
+ } else {
212
+ onCancel && onCancel(result);
213
+ onClose && onClose(result);
214
+ }
175
215
  } else {
176
216
  _this.setState({
177
217
  visible: false
@@ -193,15 +233,6 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
193
233
  if (key) return this.option.params[key];
194
234
  return this.option.params;
195
235
  }
196
- }, {
197
- key: "formValid",
198
- value: function formValid() {
199
- var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
200
-
201
- var _this = this;
202
-
203
- if (flag) {}
204
- }
205
236
  }, {
206
237
  key: "render",
207
238
  value: function render() {
@@ -233,7 +264,6 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
233
264
  });
234
265
  }
235
266
 
236
- console.log("cancelButtonProps", cancelButtonProps);
237
267
  var title = /*#__PURE__*/React.createElement("div", {
238
268
  className: getLess(styles, "title")
239
269
  }, /*#__PURE__*/React.createElement("div", {
@@ -270,7 +300,7 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
270
300
  },
271
301
  icon: /*#__PURE__*/React.createElement(PlusCircleOutlined, null)
272
302
  }, okButtonProps), this.props.okText ? this.props.okText : "保存"), /*#__PURE__*/React.createElement(Button, _extends({
273
- onClick: this.close.bind(this),
303
+ onClick: this.close.bind(this, {}, true),
274
304
  className: getLess(styles, "button-margin"),
275
305
  icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null)
276
306
  }, cancelButtonProps), this.props.cancelText ? this.props.cancelText : "取消"));
@@ -288,7 +318,7 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
288
318
  });
289
319
  }
290
320
 
291
- if (type == "drawer") {
321
+ if (this.state.modalType == "drawer") {
292
322
  return /*#__PURE__*/React.createElement(_Drawer, _extends({
293
323
  visible: this.state.visible,
294
324
  onClose: function onClose() {
@@ -327,4 +357,4 @@ _defineProperty(NscModal, "error", _Modal.error);
327
357
  _defineProperty(NscModal, "warning", _Modal.warning);
328
358
 
329
359
  export { NscModal as default };
330
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiUGx1c0NpcmNsZU91dGxpbmVkIiwiQ2xvc2VDaXJjbGVPdXRsaW5lZCIsIkNsb3NlT3V0bGluZWQiLCJFeHBhbmRPdXRsaW5lZCIsIkNvbXByZXNzT3V0bGluZWQiLCJCdXR0b24iLCJnZXRMZXNzIiwic3R5bGVzIiwiTnNjTW9kYWwiLCJ2aXNpYmxlIiwiZXhwYW5kIiwibW9kYWxUeXBlIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJvcHRpb24iLCJzZXRTdGF0ZSIsIl90aGlzIiwicmV0dXJuVmFsdWUiLCJyZXN1bHQiLCJwcm9wcyIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJzZXRSZXR1cm5WYWx1ZSIsInIiLCJjaGFuZ2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwia2V5IiwiZmxhZyIsInR5cGUiLCJjbG9zYWJsZSIsIm9yZ3RpdGxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwibW91bnRFbGVtZW50SWQiLCJnZXRDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY29uc29sZSIsImxvZyIsInN0YXRlIiwiY2xvc2UiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJzdHlsZSIsIm1heFdpZHRoIiwiY2xhc3NOYW1lIiwid2lkdGgiLCJpbmZvIiwic3VjY2VzcyIsImVycm9yIiwid2FybmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQWdELE9BQWhE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SDtBQUtFLFVBQUEsSUFBSSxFQUFFLGdCQUFNO0FBQ1YsWUFBQSxNQUFJLENBQUNBLEtBQUw7QUFDRCxXQVBIO0FBUUUsVUFBQSxNQUFNLEVBQUUsSUFSVjtBQVNFLFVBQUEsVUFBVSxFQUFFLElBVGQ7QUFVRSxVQUFBLFFBQVEsRUFBRSxJQVZaLENBV0U7O0FBWEYsV0FZTTNCLEtBWk4sRUFERjtBQWdCRDtBQUNGOzs7O0VBbE9tQ3pCLGE7O2dCQUFqQlcsUSxhQUNGLE9BQU1xQixPOztnQkFESnJCLFEsVUFFTCxPQUFNaUQsSTs7Z0JBRkRqRCxRLGFBR0YsT0FBTWtELE87O2dCQUhKbEQsUSxXQUlKLE9BQU1tRCxLOztnQkFKRm5ELFEsYUFLRixPQUFNb0QsTzs7U0FMSnBELFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IE1vZGFsLCBNb2RhbFByb3BzLCBEcmF3ZXIsIERyYXdlclByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQge1xyXG4gIFBsdXNDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlT3V0bGluZWQsXHJcbiAgRXhwYW5kT3V0bGluZWQsXHJcbiAgQ29tcHJlc3NPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcblxyXG5pbnRlcmZhY2UgZm9ybUV4cGFuZCB7XHJcbiAgY2hhbmdlPzogYm9vbGVhbjtcclxuICB2YWxpZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kPzogYm9vbGVhbjtcclxufVxyXG5pbnRlcmZhY2UgTnNjTW9kYWxQb3JwcyBleHRlbmRzIE1vZGFsUHJvcHMsIERyYXdlclByb3BzIHtcclxuICB0eXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIiB8IFwiYXV0b1wiO1xyXG4gIGZvcm1FeHBhbmQ/OiBmb3JtRXhwYW5kO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOc2NNb2RhbCBleHRlbmRzIFB1cmVDb21wb25lbnQ8TnNjTW9kYWxQb3Jwcz4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gTW9kYWwuY29uZmlybTtcclxuICBzdGF0aWMgaW5mbyA9IE1vZGFsLmluZm87XHJcbiAgc3RhdGljIHN1Y2Nlc3MgPSBNb2RhbC5zdWNjZXNzO1xyXG4gIHN0YXRpYyBlcnJvciA9IE1vZGFsLmVycm9yO1xyXG4gIHN0YXRpYyB3YXJuaW5nID0gTW9kYWwud2FybmluZztcclxuXHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIHN0YXRlID0ge1xyXG4gICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gICAgbW9kYWxUeXBlOiBcIlwiLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiDmuLLmn5PlrozmiJBcclxuICAgKiBAcGFyYW0geyp9IG9wdGlvbiAg5pW05pS55Lyg6YCS5a+56LGhXHJcbiAgICovXHJcblxyXG4gIC8v5pi+56S6XHJcbiAgc2hvdyhvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgYmVmb3JlUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZSgpIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy/orr7nva7pnIDopoHov5Tlm57nmoTlgLxcclxuICBzZXRSZXR1cm5WYWx1ZShyZXR1cm5WYWx1ZSkge1xyXG4gICAgdGhpcy5yZXR1cm5WYWx1ZSA9IHJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bpnIDopoHov5Tlm57nmoTlgLxcclxuICBnZXRSZXR1cm5WYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5YWz6Zet5bim5Zue6LCDXHJcbiAgICovXHJcbiAgY2xvc2UocmVzdWx0PzogYW55KSB7XHJcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBjYWxsYmFjaywgc2NvcGUsIGNhbGxiYWNrQmVmb3JlQ2xvc2UgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBmb3JtRXhwYW5kID0ge30sIG9uQ2FuY2VsLCBvbkNsb3NlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKHJlc3VsdCkgdGhpcy5zZXRSZXR1cm5WYWx1ZShyZXN1bHQpO1xyXG4gICAgY29uc3QgciA9IHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrQmVmb3JlQ2xvc2UsIHNjb3BlLCBbdGhpcy5yZXR1cm5WYWx1ZV0pO1xyXG4gICAgaWYgKHIgIT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHsgZXhwYW5kID0gZmFsc2UgfSA9IGZvcm1FeHBhbmQ7XHJcbiAgICAgIGlmIChleHBhbmQgJiYgZm9ybUV4cGFuZC5jaGFuZ2UgJiYgZm9ybUV4cGFuZC5jaGFuZ2UpIHtcclxuICAgICAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgICAgIHRpdGxlOiBcIuW9k+WJjeiusOW9leW3suS/ruaUueWwmuacquS/neWtmO+8jOehruWumuimgeaUvuW8g+S/ruaUueWQl++8n1wiLFxyXG4gICAgICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgICAgb25PaygpIHtcclxuICAgICAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIG9uQ2xvc2UgJiYgb25DbG9zZShyZXN1bHQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrLCBzY29wZSwgW190aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blj4LmlbDvvIzlpoLmnpxrZXnkuI3kvKDpgJLvvIzkuJTojrflj5blhajpg6hcclxuICAgKiBAcGFyYW0ge1N0cmluZ30ga2V5XHJcbiAgICovXHJcbiAgZ2V0UGFyYW1zKGtleSkge1xyXG4gICAgaWYgKGtleSkgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtc1trZXldO1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtcztcclxuICB9XHJcbiAgZm9ybVZhbGlkKGZsYWcgPSBmYWxzZSkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGZsYWcpIHtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB0eXBlID0gXCJtb2RhbFwiLFxyXG4gICAgICBjbG9zYWJsZSxcclxuICAgICAgdGl0bGU6IG9yZ3RpdGxlLFxyXG4gICAgICBva0J1dHRvblByb3BzID0ge30sXHJcbiAgICAgIGNhbmNlbEJ1dHRvblByb3BzID0ge30sXHJcbiAgICAgIGZvcm1FeHBhbmQgPSB7fSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wczogYW55ID0geyAuLi5wYXJhbXMgfTtcclxuICAgIGxldCB7IG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuXHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgZ2V0Q29udGFpbmVyOiAoKSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb3VudEVsZW1lbnRJZCksXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhcImNhbmNlbEJ1dHRvblByb3BzXCIsIGNhbmNlbEJ1dHRvblByb3BzKTtcclxuICAgIGNvbnN0IHRpdGxlID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGl0bGVcIil9PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uc1wiKX0+XHJcbiAgICAgICAgICB7IXRoaXMuc3RhdGUuZXhwYW5kICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBleHBhbmQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8RXhwYW5kT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBleHBhbmQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENvbXByZXNzT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge2Nsb3NhYmxlICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlLWNvbnRlbnRcIil9Pntvcmd0aXRsZX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9vdGVyXCIpfT5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHByb3BzLm9uT2sgJiYgcHJvcHMub25PaygpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGljb249ezxQbHVzQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgICB7Li4ub2tCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5va1RleHQgPyB0aGlzLnByb3BzLm9rVGV4dCA6IFwi5L+d5a2YXCJ9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcblxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uLW1hcmdpblwiKX1cclxuICAgICAgICAgIGljb249ezxDbG9zZUNpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgey4uLmNhbmNlbEJ1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgPyB0aGlzLnByb3BzLmNhbmNlbFRleHQgOiBcIuWPlua2iFwifVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBpZiAoZm9ybUV4cGFuZC5leHBhbmQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgZm9vdGVyLFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcclxuICAgICAgICBzdHlsZTogeyBtYXhXaWR0aDogXCIxMDB2d1wiIH0sXHJcbiAgICAgICAgY2xhc3NOYW1lOiB0aGlzLnN0YXRlLmV4cGFuZCA/IGdldExlc3Moc3R5bGVzLCBcImFsbHNyZWVuXCIpIDogXCJcIixcclxuICAgICAgICB3aWR0aDogdGhpcy5zdGF0ZS5leHBhbmQgPyBcIjEwMHZ3XCIgOiBwcm9wcy53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb25Paz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb2tUZXh0PXtcIuehruWumlwifVxyXG4gICAgICAgICAgY2FuY2VsVGV4dD17XCLlj5bmtohcIn1cclxuICAgICAgICAgIGNlbnRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgLy8gdGl0bGU9e2Zvcm1FeHBhbmQgPyB0aXRsZSA6IHRoaXMucHJvcHMudGl0bGV9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
360
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiUGx1c0NpcmNsZU91dGxpbmVkIiwiQ2xvc2VDaXJjbGVPdXRsaW5lZCIsIkNsb3NlT3V0bGluZWQiLCJFeHBhbmRPdXRsaW5lZCIsIkNvbXByZXNzT3V0bGluZWQiLCJCdXR0b24iLCJnZXRMZXNzIiwic3R5bGVzIiwiZ2V0U3RvcmFnZSIsIk5zY01vZGFsIiwicHJvcHMiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImV2IiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsIl90aGlzIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsInR5cGUiLCJzZXRTdGF0ZSIsIm1vZGFsVHlwZSIsIm1vZGFsIiwic3RvcmVQcmVmaXgiLCJhdXRvVHlwZSIsImNvbnRlbnQiLCJzdGF0ZSIsInZpc2libGUiLCJleHBhbmQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwibGlzdGVuTWVzc2FnZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvcHRpb24iLCJyZXR1cm5WYWx1ZSIsInJlc3VsdCIsImJ1dHRvbkNsb3NlIiwiZm9ybUV4cGFuZCIsIm9uQ2FuY2VsIiwib25CdXR0b25DYW5jZWwiLCJvbkNsb3NlIiwic2V0UmV0dXJuVmFsdWUiLCJyIiwidmFsaWQiLCJjaGFuZ2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwia2V5IiwiY2xvc2FibGUiLCJvcmd0aXRsZSIsIm9rQnV0dG9uUHJvcHMiLCJjYW5jZWxCdXR0b25Qcm9wcyIsIm1vdW50RWxlbWVudElkIiwiZ2V0Q29udGFpbmVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImNsb3NlIiwiYmluZCIsIm1hcmdpblJpZ2h0IiwiZm9vdGVyIiwic3R5bGUiLCJtYXhXaWR0aCIsImNsYXNzTmFtZSIsIndpZHRoIiwiaW5mbyIsInN1Y2Nlc3MiLCJlcnJvciIsIndhcm5pbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFnRCxPQUFoRDtBQUVBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLFNBQ0VDLGtCQURGLEVBRUVDLG1CQUZGLEVBR0VDLGFBSEYsRUFJRUMsY0FKRixFQUtFQyxnQkFMRixRQU1PLG1CQU5QO0FBT0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7O0lBWXFCQyxROzs7OztBQU9uQjtBQUdBLG9CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQixtRUFGTCxJQUVLOztBQUFBLDhEQWVMO0FBQ1o7QUFDQUMsTUFBQUEsS0FBSyxnQ0FGTztBQUdaO0FBQ0FDLE1BQUFBLE1BQU0sRUFBRSxFQUpJO0FBS1o7QUFDQUMsTUFBQUEsWUFBWSxFQUFFLElBTkY7QUFPWjtBQUNBQyxNQUFBQSxtQkFBbUIsRUFBRSxJQVJUO0FBU1o7QUFDQUMsTUFBQUEsUUFBUSxFQUFFO0FBVkUsS0FmSzs7QUFBQSxxRUFzQ0gsVUFBQ0MsRUFBRCxFQUFRO0FBQ3RCLFVBQU1DLElBQUksR0FBRyxPQUFPRCxFQUFFLENBQUNDLElBQVYsS0FBbUIsUUFBbkIsR0FBOEJDLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxFQUFFLENBQUNDLElBQWQsQ0FBOUIsR0FBb0RELEVBQUUsQ0FBQ0MsSUFBcEU7O0FBQ0EsVUFBSUcsS0FBSyxpQ0FBVDs7QUFDQSxVQUFJSCxJ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LE1BQUQsRUFBUyxVQUFULENBQTNCLEdBQWtELEVBTjFEO0FBT0hnRSxVQUFBQSxLQUFLLEVBQUUsS0FBS3pDLEtBQUwsQ0FBV0UsTUFBWCxHQUFvQixPQUFwQixHQUE4QnRCLEtBQUssQ0FBQzZEO0FBUHhDLFVBQUw7QUFTRDs7QUFDRCxVQUFJLEtBQUt6QyxLQUFMLENBQVdMLFNBQVgsSUFBd0IsUUFBNUIsRUFBc0M7QUFDcEMsNEJBQ0U7QUFDRSxVQUFBLE9BQU8sRUFBRSxLQUFLSyxLQUFMLENBQVdDLE9BRHRCO0FBRUUsVUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYixZQUFBLE1BQUksQ0FBQ2lDLEtBQUw7QUFDRDtBQUpILFdBS010RCxLQUxOLEVBREY7QUFTRCxPQVZELE1BVU87QUFDTCw0QkFDRTtBQUNFLFVBQUEsT0FBTyxFQUFFLEtBQUtvQixLQUFMLENBQVdDLE9BRHRCO0FBRUUsVUFBQSxRQUFRLEVBQUUsb0JBQU07QUFDZCxZQUFBLE1BQUksQ0FBQ2lDLEtBQUw7QUFDRCxXQUpIO0FBS0UsVUFBQSxJQUFJLEVBQUUsZ0JBQU07QUFDVixZQUFBLE1BQUksQ0FBQ0EsS0FBTDtBQUNELFdBUEg7QUFRRSxVQUFBLE1BQU0sRUFBRSxJQVJWO0FBU0UsVUFBQSxVQUFVLEVBQUUsSUFUZDtBQVVFLFVBQUEsUUFBUSxFQUFFLElBVlosQ0FXRTs7QUFYRixXQVlNdEQsS0FaTixFQURGO0FBZ0JEO0FBQ0Y7Ozs7RUEvUG1DYixhOztnQkFBakJZLFEsYUFDRixPQUFNd0MsTzs7Z0JBREp4QyxRLFVBRUwsT0FBTStELEk7O2dCQUZEL0QsUSxhQUdGLE9BQU1nRSxPOztnQkFISmhFLFEsV0FJSixPQUFNaUUsSzs7Z0JBSkZqRSxRLGFBS0YsT0FBTWtFLE87O1NBTEpsRSxRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQsIFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBNb2RhbCwgTW9kYWxQcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHtcclxuICBQbHVzQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZU91dGxpbmVkLFxyXG4gIEV4cGFuZE91dGxpbmVkLFxyXG4gIENvbXByZXNzT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBnZXRTdG9yYWdlIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmludGVyZmFjZSBmb3JtRXhwYW5kIHtcclxuICBjaGFuZ2U/OiBib29sZWFuO1xyXG4gIHZhbGlkPzogYm9vbGVhbjtcclxuICBleHBhbmQ/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjTW9kYWxQb3JwcyBleHRlbmRzIE1vZGFsUHJvcHMsIERyYXdlclByb3BzIHtcclxuICB0eXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIiB8IFwiYXV0b1wiO1xyXG4gIGZvcm1FeHBhbmQ/OiBmb3JtRXhwYW5kO1xyXG4gIG9uQnV0dG9uQ2FuY2VsPzogYW55OyAvL+W6lemDqOWPlua2iOaMiemSruWbnuiwg1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOc2NNb2RhbCBleHRlbmRzIFB1cmVDb21wb25lbnQ8TnNjTW9kYWxQb3JwcywgYW55PiB7XHJcbiAgc3RhdGljIGNvbmZpcm0gPSBNb2RhbC5jb25maXJtO1xyXG4gIHN0YXRpYyBpbmZvID0gTW9kYWwuaW5mbztcclxuICBzdGF0aWMgc3VjY2VzcyA9IE1vZGFsLnN1Y2Nlc3M7XHJcbiAgc3RhdGljIGVycm9yID0gTW9kYWwuZXJyb3I7XHJcbiAgc3RhdGljIHdhcm5pbmcgPSBNb2RhbC53YXJuaW5nO1xyXG5cclxuICAvL+i/lOWbnuWAvFxyXG4gIHJldHVyblZhbHVlID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGxldCBtb2RhbCA9IHByb3BzLnR5cGUgfHwgXCJhdXRvXCI7XHJcbiAgICBsZXQgc3RvcmVQcmVmaXggPSBnZXRTdG9yYWdlKFwic3RvcmUtcHJlLWtleVwiKTtcclxuICAgIGxldCBhdXRvVHlwZSA9IGdldFN0b3JhZ2UoXHJcbiAgICAgIHN0b3JlUHJlZml4ID8gc3RvcmVQcmVmaXggKyBcImZvcm1UeXBlXCIgOiBcImZvcm1UeXBlXCJcclxuICAgICk7XHJcbiAgICBhdXRvVHlwZSA9IGF1dG9UeXBlPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIG1vZGFsVHlwZTogbW9kYWwgPT0gXCJhdXRvXCIgPyBhdXRvVHlwZSA6IG1vZGFsLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG9wdGlvbjogYW55ID0ge1xyXG4gICAgLy/lm57osIPkvZznlKjln59cclxuICAgIHNjb3BlOiB0aGlzLFxyXG4gICAgLy9vcGVu5Lyg6YCS6L+H5p2l55qE6aG16Z2i5Y+C5pWwXHJcbiAgICBwYXJhbXM6IHt9LFxyXG4gICAgLy/mmL7npLrkuYvliY3lm57osINcclxuICAgIGJlZm9yZVJlbmRlcjogbnVsbCxcclxuICAgIC8v5YWz6Zet5LmL5YmN5Zue6LCD77yM5aaC5p6ccmV0dXJuIGZhbHNl77yM5LiU56qX5Y+j5LiN5YWz6ZetXHJcbiAgICBjYWxsYmFja0JlZm9yZUNsb3NlOiBudWxsLFxyXG4gICAgLy/lhbPpl63lkI7lm57osIPvvIzlvILmraXmk43kvZxcclxuICAgIGNhbGxiYWNrOiBudWxsLFxyXG4gIH07XHJcbiAgLyoqXHJcbiAgICog5riy5p+T5a6M5oiQXHJcbiAgICogQHBhcmFtIHsqfSBvcHRpb24gIOaVtOaUueS8oOmAkuWvueixoVxyXG4gICAqL1xyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIHRoaXMubGlzdGVuTWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuICBsaXN0ZW5NZXNzYWdlID0gKGV2KSA9PiB7XHJcbiAgICBjb25zdCBkYXRhID0gdHlwZW9mIGV2LmRhdGEgPT09IFwic3RyaW5nXCIgPyBKU09OLnBhcnNlKGV2LmRhdGEpIDogZXYuZGF0YTtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAoZGF0YS5ldmVudFR5cGUgPT0gXCJjaGFuZ2VGb3JtVHlwZVwiKSB7XHJcbiAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gZGF0YTtcclxuICAgICAgaWYgKHBheWxvYWQudHlwZSA9PSBcIm1vZGFsXCIgfHwgcGF5bG9hZC50eXBlID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IG1vZGFsVHlwZTogcGF5bG9hZC50eXBlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICAvL+aYvuekulxyXG4gIHNob3cob3B0aW9uOiBhbnkgPSB7fSkge1xyXG4gICAgY29uc3QgeyBzY29wZSB9ID0gdGhpcy5vcHRpb247XHJcbiAgICBjb25zdCB7IGJlZm9yZVJlbmRlciB9ID0gb3B0aW9uO1xyXG4gICAgdGhpcy5vcHRpb24gPSB7IC4uLnRoaXMub3B0aW9uLCAuLi5vcHRpb24gfTtcclxuICAgIHV0aWxzLmNhbGxiYWNrKGJlZm9yZVJlbmRlciwgc2NvcGUpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICAvL+makOiXj1xyXG4gIGhpZGUoKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6K6+572u6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgc2V0UmV0dXJuVmFsdWUocmV0dXJuVmFsdWUpIHtcclxuICAgIHRoaXMucmV0dXJuVmFsdWUgPSByZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgZ2V0UmV0dXJuVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWFs+mXreW4puWbnuiwg1xyXG4gICAqL1xyXG4gIGNsb3NlKHJlc3VsdD86IGFueSwgYnV0dG9uQ2xvc2UgPSBmYWxzZSkge1xyXG4gICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgY2FsbGJhY2ssIHNjb3BlLCBjYWxsYmFja0JlZm9yZUNsb3NlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgZm9ybUV4cGFuZCA9IHt9LCBvbkNhbmNlbCwgb25CdXR0b25DYW5jZWwsIG9uQ2xvc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAocmVzdWx0KSB0aGlzLnNldFJldHVyblZhbHVlKHJlc3VsdCk7XHJcbiAgICBjb25zdCByID0gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2tCZWZvcmVDbG9zZSwgc2NvcGUsIFt0aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgICBpZiAociAhPT0gZmFsc2UpIHtcclxuICAgICAgY29uc3QgeyBleHBhbmQgPSBmYWxzZSB9ID0gZm9ybUV4cGFuZDtcclxuICAgICAgaWYgKGV4cGFuZCAmJiBmb3JtRXhwYW5kLnZhbGlkICYmIGZvcm1FeHBhbmQuY2hhbmdlKSB7XHJcbiAgICAgICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgICAgICB0aXRsZTogXCLlvZPliY3orrDlvZXlt7Lkv67mlLnlsJrmnKrkv53lrZjvvIznoa7lrpropoHmlL7lvIPkv67mlLnlkJfvvJ9cIixcclxuICAgICAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgICAgICBva1RleHQ6IFwi56Gu5a6aXCIsXHJcbiAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgICAgIG9uT2soKSB7XHJcbiAgICAgICAgICAgIGlmIChvbkNhbmNlbCB8fCBvbkNsb3NlKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgICBvbkJ1dHRvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgb25DbG9zZSAmJiBvbkNsb3NlKHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgIGlmIChidXR0b25DbG9zZSAmJiBvbkJ1dHRvbkNhbmNlbCkge1xyXG4gICAgICAgICAgICBvbkJ1dHRvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgb25DYW5jZWwgJiYgb25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgb25DbG9zZSAmJiBvbkNsb3NlKHJlc3VsdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB1dGlscy5jYWxsYmFjayhjYWxsYmFjaywgc2NvcGUsIFtfdGhpcy5yZXR1cm5WYWx1ZV0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5Y+C5pWw77yM5aaC5p6ca2V55LiN5Lyg6YCS77yM5LiU6I635Y+W5YWo6YOoXHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IGtleVxyXG4gICAqL1xyXG4gIGdldFBhcmFtcyhrZXkpIHtcclxuICAgIGlmIChrZXkpIHJldHVybiB0aGlzLm9wdGlvbi5wYXJhbXNba2V5XTtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbi5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHR5cGUgPSBcIm1vZGFsXCIsXHJcbiAgICAgIGNsb3NhYmxlLFxyXG4gICAgICB0aXRsZTogb3JndGl0bGUsXHJcbiAgICAgIG9rQnV0dG9uUHJvcHMgPSB7fSxcclxuICAgICAgY2FuY2VsQnV0dG9uUHJvcHMgPSB7fSxcclxuICAgICAgZm9ybUV4cGFuZCA9IHt9LFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHByb3BzOiBhbnkgPSB7IC4uLnBhcmFtcyB9O1xyXG4gICAgbGV0IHsgbW91bnRFbGVtZW50SWQgfSA9IGNvbmZpZygpO1xyXG5cclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICBnZXRDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpdGxlID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGl0bGVcIil9PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uc1wiKX0+XHJcbiAgICAgICAgICB7IXRoaXMuc3RhdGUuZXhwYW5kICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBleHBhbmQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8RXhwYW5kT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBleHBhbmQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENvbXByZXNzT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge2Nsb3NhYmxlICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlLWNvbnRlbnRcIil9Pntvcmd0aXRsZX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9vdGVyXCIpfT5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHByb3BzLm9uT2sgJiYgcHJvcHMub25PaygpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGljb249ezxQbHVzQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgICB7Li4ub2tCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5va1RleHQgPyB0aGlzLnByb3BzLm9rVGV4dCA6IFwi5L+d5a2YXCJ9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcblxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2UuYmluZCh0aGlzLCB7fSwgdHJ1ZSl9XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImJ1dHRvbi1tYXJnaW5cIil9XHJcbiAgICAgICAgICBpY29uPXs8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5jYW5jZWxCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5jYW5jZWxUZXh0ID8gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IDogXCLlj5bmtohcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgaWYgKGZvcm1FeHBhbmQuZXhwYW5kKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIGZvb3RlcixcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgICAgc3R5bGU6IHsgbWF4V2lkdGg6IFwiMTAwdndcIiB9LFxyXG4gICAgICAgIGNsYXNzTmFtZTogdGhpcy5zdGF0ZS5leHBhbmQgPyBnZXRMZXNzKHN0eWxlcywgXCJhbGxzcmVlblwiKSA6IFwiXCIsXHJcbiAgICAgICAgd2lkdGg6IHRoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogcHJvcHMud2lkdGgsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdGF0ZS5tb2RhbFR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxEcmF3ZXJcclxuICAgICAgICAgIHZpc2libGU9e3RoaXMuc3RhdGUudmlzaWJsZX1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIHZpc2libGU9e3RoaXMuc3RhdGUudmlzaWJsZX1cclxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBvbk9rPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBva1RleHQ9e1wi56Gu5a6aXCJ9XHJcbiAgICAgICAgICBjYW5jZWxUZXh0PXtcIuWPlua2iFwifVxyXG4gICAgICAgICAgY2VudGVyZWQ9e3RydWV9XHJcbiAgICAgICAgICAvLyB0aXRsZT17Zm9ybUV4cGFuZCA/IHRpdGxlIDogdGhpcy5wcm9wcy50aXRsZX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -29,10 +29,11 @@ interface NSCTableProps extends TableProps<any> {
29
29
  resizeColumn?: boolean;
30
30
  sortFields?: Array<string>;
31
31
  toolbar?: boolean;
32
+ autoSize?: boolean;
32
33
  }
33
34
  export declare type INSCTableProps = typeof NSCTable.defaultProps & NSCTableProps;
34
35
  export { DndContextType, IBodyRowProps };
35
- declare class NSCTable extends React.Component<INSCTableProps> {
36
+ declare class NSCTable extends React.Component<INSCTableProps, any> {
36
37
  static defaultProps: {
37
38
  dragable: boolean;
38
39
  showTotal: boolean;
@@ -47,26 +48,6 @@ declare class NSCTable extends React.Component<INSCTableProps> {
47
48
  store: any;
48
49
  thIconRef: React.RefObject<HTMLDivElement>;
49
50
  tableSearchRef: React.RefObject<any>;
50
- state: {
51
- dataSource: any[];
52
- columns: any[];
53
- loading: boolean;
54
- pagination: {};
55
- activeIndex: number;
56
- searchText: any;
57
- fieldOption: any;
58
- searchColor: any;
59
- cols: any[];
60
- sorts: any[];
61
- filterParams: {};
62
- tableSize: string;
63
- sortType: string;
64
- sorter: any[];
65
- sortInfo: {};
66
- defaultSort: boolean;
67
- checkColumn: any[];
68
- defaultCheck: boolean;
69
- };
70
51
  listeners: {
71
52
  onBeforeLoad: any;
72
53
  load: any;
@@ -79,6 +60,8 @@ declare class NSCTable extends React.Component<INSCTableProps> {
79
60
  constructor(props: any);
80
61
  handleResize: (index: any) => (e: any, { size }: any) => void;
81
62
  componentDidMount(): void;
63
+ componentWillUnmount(): void;
64
+ listenMessage: (ev: any) => void;
82
65
  componentDidUpdate(prevProps: any, preState: any): void;
83
66
  resetColumn(): void;
84
67
  /**
@@ -105,7 +88,7 @@ declare class NSCTable extends React.Component<INSCTableProps> {
105
88
  getSortParam(sorter: any, sortState?: boolean): {
106
89
  orderItems: string;
107
90
  };
108
- getColumns(): any[];
91
+ getColumns(): any;
109
92
  renderToolBar(): JSX.Element;
110
93
  render(): JSX.Element;
111
94
  }