nsc-react-component 2.4.7 → 2.4.8

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]);
@@ -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
@@ -233,7 +273,6 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
233
273
  });
234
274
  }
235
275
 
236
- console.log("cancelButtonProps", cancelButtonProps);
237
276
  var title = /*#__PURE__*/React.createElement("div", {
238
277
  className: getLess(styles, "title")
239
278
  }, /*#__PURE__*/React.createElement("div", {
@@ -270,7 +309,7 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
270
309
  },
271
310
  icon: /*#__PURE__*/React.createElement(PlusCircleOutlined, null)
272
311
  }, okButtonProps), this.props.okText ? this.props.okText : "保存"), /*#__PURE__*/React.createElement(Button, _extends({
273
- onClick: this.close.bind(this),
312
+ onClick: this.close.bind(this, {}, true),
274
313
  className: getLess(styles, "button-margin"),
275
314
  icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null)
276
315
  }, cancelButtonProps), this.props.cancelText ? this.props.cancelText : "取消"));
@@ -288,7 +327,7 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
288
327
  });
289
328
  }
290
329
 
291
- if (type == "drawer") {
330
+ if (this.state.modalType == "drawer") {
292
331
  return /*#__PURE__*/React.createElement(_Drawer, _extends({
293
332
  visible: this.state.visible,
294
333
  onClose: function onClose() {
@@ -327,4 +366,4 @@ _defineProperty(NscModal, "error", _Modal.error);
327
366
  _defineProperty(NscModal, "warning", _Modal.warning);
328
367
 
329
368
  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
369
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiUGx1c0NpcmNsZU91dGxpbmVkIiwiQ2xvc2VDaXJjbGVPdXRsaW5lZCIsIkNsb3NlT3V0bGluZWQiLCJFeHBhbmRPdXRsaW5lZCIsIkNvbXByZXNzT3V0bGluZWQiLCJCdXR0b24iLCJnZXRMZXNzIiwic3R5bGVzIiwiZ2V0U3RvcmFnZSIsIk5zY01vZGFsIiwicHJvcHMiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImV2IiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsIl90aGlzIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsInR5cGUiLCJzZXRTdGF0ZSIsIm1vZGFsVHlwZSIsIm1vZGFsIiwic3RvcmVQcmVmaXgiLCJhdXRvVHlwZSIsImNvbnRlbnQiLCJzdGF0ZSIsInZpc2libGUiLCJleHBhbmQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwibGlzdGVuTWVzc2FnZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvcHRpb24iLCJyZXR1cm5WYWx1ZSIsInJlc3VsdCIsImJ1dHRvbkNsb3NlIiwiZm9ybUV4cGFuZCIsIm9uQ2FuY2VsIiwib25CdXR0b25DYW5jZWwiLCJvbkNsb3NlIiwic2V0UmV0dXJuVmFsdWUiLCJyIiwiY2hhbmdlIiwiY29uZmlybSIsInRpdGxlIiwiY2FuY2VsVGV4dCIsIm9rVGV4dCIsImNlbnRlcmVkIiwib25PayIsImtleSIsImZsYWciLCJjbG9zYWJsZSIsIm9yZ3RpdGxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwibW91bnRFbGVtZW50SWQiLCJnZXRDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xvc2UiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJzdHlsZSIsIm1heFdpZHRoIiwiY2xhc3NOYW1lIiwid2lkdGgiLCJpbmZvIiwic3VjY2VzcyIsImVycm9yIiwid2FybmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQWdELE9BQWhEO0FBRUEsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FDRUMsa0JBREYsRUFFRUMsbUJBRkYsRUFHRUMsYUFIRixFQUlFQyxjQUpGLEVBS0VDLGdCQUxGLFFBTU8sbUJBTlA7QUFPQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxTQUFTQyxVQUFULFFBQTJCLG1CQUEzQjs7SUFZcUJDLFE7Ozs7O0FBT25CO0FBR0Esb0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLEtBQU47O0FBRGlCLG1FQUZMLElBRUs7O0FBQUEsOERBZUw7QUFDWjtBQUNBQyxNQUFBQSxLQUFLLGdDQUZPO0FBR1o7QUFDQUMsTUFBQUEsTUFBTSxFQUFFLEVBSkk7QUFLWjtBQUNBQyxNQUFBQSxZQUFZLEVBQUUsSUFORjtBQU9aO0FBQ0FDLE1BQUFBLG1CQUFtQixFQUFFLElBUlQ7QUFTWjtBQUNBQyxNQUFBQSxRQUFRLEVBQUU7QUFWRSxLQWZLOztBQUFBLHFFQXNDSCxVQUFDQyxFQUFELEVBQVE7QUFDdEIsVUFBTUMsSUFBSSxHQUFHLE9BQU9ELEVBQUUsQ0FBQ0MsSUFBVixLQUFtQixRQUFuQixHQUE4QkMsSUFBSSxDQUFDQyxLQUFMLENBQVdILEVBQUUsQ0FBQ0MsSUFBZCxDQUE5QixHQUFvREQsRUFBRSxDQUFDQyxJQUFwRTs7QUFDQSxVQUFJRyxLQUFLLGlDQUFUOztBQUNBLFVBQUlILElB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cnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IE1vZGFsLCBNb2RhbFByb3BzLCBEcmF3ZXIsIERyYXdlclByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQge1xyXG4gIFBsdXNDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlT3V0bGluZWQsXHJcbiAgRXhwYW5kT3V0bGluZWQsXHJcbiAgQ29tcHJlc3NPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW50ZXJmYWNlIGZvcm1FeHBhbmQge1xyXG4gIGNoYW5nZT86IGJvb2xlYW47XHJcbiAgdmFsaWQ/OiBib29sZWFuO1xyXG4gIGV4cGFuZD86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBOc2NNb2RhbFBvcnBzIGV4dGVuZHMgTW9kYWxQcm9wcywgRHJhd2VyUHJvcHMge1xyXG4gIHR5cGU/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgZm9ybUV4cGFuZD86IGZvcm1FeHBhbmQ7XHJcbiAgb25CdXR0b25DYW5jZWw/OiBhbnk7IC8v5bqV6YOo5Y+W5raI5oyJ6ZKu5Zue6LCDXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY01vZGFsIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxOc2NNb2RhbFBvcnBzLCBhbnk+IHtcclxuICBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcblxyXG4gIC8v6L+U5Zue5YC8XHJcbiAgcmV0dXJuVmFsdWUgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IG1vZGFsID0gcHJvcHMudHlwZSB8fCBcImF1dG9cIjtcclxuICAgIGxldCBzdG9yZVByZWZpeCA9IGdldFN0b3JhZ2UoXCJzdG9yZS1wcmUta2V5XCIpO1xyXG4gICAgbGV0IGF1dG9UeXBlID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiZm9ybVR5cGVcIiA6IFwiZm9ybVR5cGVcIlxyXG4gICAgKTtcclxuICAgIGF1dG9UeXBlID0gYXV0b1R5cGU/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgICAgbW9kYWxUeXBlOiBtb2RhbCA9PSBcImF1dG9cIiA/IGF1dG9UeXBlIDogbW9kYWwsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiDmuLLmn5PlrozmiJBcclxuICAgKiBAcGFyYW0geyp9IG9wdGlvbiAg5pW05pS55Lyg6YCS5a+56LGhXHJcbiAgICovXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIHRoaXMubGlzdGVuTWVzc2FnZSk7XHJcbiAgfVxyXG4gIGxpc3Rlbk1lc3NhZ2UgPSAoZXYpID0+IHtcclxuICAgIGNvbnN0IGRhdGEgPSB0eXBlb2YgZXYuZGF0YSA9PT0gXCJzdHJpbmdcIiA/IEpTT04ucGFyc2UoZXYuZGF0YSkgOiBldi5kYXRhO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChkYXRhLmV2ZW50VHlwZSA9PSBcImNoYW5nZUZvcm1UeXBlXCIpIHtcclxuICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBkYXRhO1xyXG4gICAgICBpZiAocGF5bG9hZC50eXBlID09IFwibW9kYWxcIiB8fCBwYXlsb2FkLnR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHsgbW9kYWxUeXBlOiBwYXlsb2FkLnR5cGUgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG4gIC8v5pi+56S6XHJcbiAgc2hvdyhvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgYmVmb3JlUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZSgpIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy/orr7nva7pnIDopoHov5Tlm57nmoTlgLxcclxuICBzZXRSZXR1cm5WYWx1ZShyZXR1cm5WYWx1ZSkge1xyXG4gICAgdGhpcy5yZXR1cm5WYWx1ZSA9IHJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bpnIDopoHov5Tlm57nmoTlgLxcclxuICBnZXRSZXR1cm5WYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5YWz6Zet5bim5Zue6LCDXHJcbiAgICovXHJcbiAgY2xvc2UocmVzdWx0PzogYW55LCBidXR0b25DbG9zZSA9IGZhbHNlKSB7XHJcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBjYWxsYmFjaywgc2NvcGUsIGNhbGxiYWNrQmVmb3JlQ2xvc2UgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBmb3JtRXhwYW5kID0ge30sIG9uQ2FuY2VsLCBvbkJ1dHRvbkNhbmNlbCwgb25DbG9zZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChyZXN1bHQpIHRoaXMuc2V0UmV0dXJuVmFsdWUocmVzdWx0KTtcclxuICAgIGNvbnN0IHIgPSB1dGlscy5jYWxsYmFjayhjYWxsYmFja0JlZm9yZUNsb3NlLCBzY29wZSwgW3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICAgIGlmIChyICE9PSBmYWxzZSkge1xyXG4gICAgICBjb25zdCB7IGV4cGFuZCA9IGZhbHNlIH0gPSBmb3JtRXhwYW5kO1xyXG4gICAgICBpZiAoZXhwYW5kICYmIGZvcm1FeHBhbmQuY2hhbmdlICYmIGZvcm1FeHBhbmQuY2hhbmdlKSB7XHJcbiAgICAgICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgICAgICB0aXRsZTogXCLlvZPliY3orrDlvZXlt7Lkv67mlLnlsJrmnKrkv53lrZjvvIznoa7lrpropoHmlL7lvIPkv67mlLnlkJfvvJ9cIixcclxuICAgICAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgICAgICBva1RleHQ6IFwi56Gu5a6aXCIsXHJcbiAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgICAgIG9uT2soKSB7XHJcbiAgICAgICAgICAgIGlmIChvbkNhbmNlbCB8fCBvbkNsb3NlKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgICBvbkJ1dHRvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgb25DbG9zZSAmJiBvbkNsb3NlKHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgIGlmIChidXR0b25DbG9zZSAmJiBvbkJ1dHRvbkNhbmNlbCkge1xyXG4gICAgICAgICAgICBvbkJ1dHRvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgb25DYW5jZWwgJiYgb25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgb25DbG9zZSAmJiBvbkNsb3NlKHJlc3VsdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB1dGlscy5jYWxsYmFjayhjYWxsYmFjaywgc2NvcGUsIFtfdGhpcy5yZXR1cm5WYWx1ZV0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5Y+C5pWw77yM5aaC5p6ca2V55LiN5Lyg6YCS77yM5LiU6I635Y+W5YWo6YOoXHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IGtleVxyXG4gICAqL1xyXG4gIGdldFBhcmFtcyhrZXkpIHtcclxuICAgIGlmIChrZXkpIHJldHVybiB0aGlzLm9wdGlvbi5wYXJhbXNba2V5XTtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbi5wYXJhbXM7XHJcbiAgfVxyXG4gIGZvcm1WYWxpZChmbGFnID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChmbGFnKSB7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSA9IFwibW9kYWxcIixcclxuICAgICAgY2xvc2FibGUsXHJcbiAgICAgIHRpdGxlOiBvcmd0aXRsZSxcclxuICAgICAgb2tCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBjYW5jZWxCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtRXhwYW5kID0ge30sXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcHJvcHM6IGFueSA9IHsgLi4ucGFyYW1zIH07XHJcbiAgICBsZXQgeyBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcblxyXG4gICAgaWYgKG1vdW50RWxlbWVudElkKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIGdldENvbnRhaW5lcjogKCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW91bnRFbGVtZW50SWQpLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGl0bGUgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZVwiKX0+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25zXCIpfT5cclxuICAgICAgICAgIHshdGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q29tcHJlc3NPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7Y2xvc2FibGUgIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxDbG9zZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGl0bGUtY29udGVudFwiKX0+e29yZ3RpdGxlfTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCBmb290ZXIgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJmb290ZXJcIil9PlxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgcHJvcHMub25PayAmJiBwcm9wcy5vbk9rKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLm9rVGV4dCA/IHRoaXMucHJvcHMub2tUZXh0IDogXCLkv53lrZhcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5jbG9zZS5iaW5kKHRoaXMsIHt9LCB0cnVlKX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uLW1hcmdpblwiKX1cclxuICAgICAgICAgIGljb249ezxDbG9zZUNpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgey4uLmNhbmNlbEJ1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgPyB0aGlzLnByb3BzLmNhbmNlbFRleHQgOiBcIuWPlua2iFwifVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBpZiAoZm9ybUV4cGFuZC5leHBhbmQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgZm9vdGVyLFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcclxuICAgICAgICBzdHlsZTogeyBtYXhXaWR0aDogXCIxMDB2d1wiIH0sXHJcbiAgICAgICAgY2xhc3NOYW1lOiB0aGlzLnN0YXRlLmV4cGFuZCA/IGdldExlc3Moc3R5bGVzLCBcImFsbHNyZWVuXCIpIDogXCJcIixcclxuICAgICAgICB3aWR0aDogdGhpcy5zdGF0ZS5leHBhbmQgPyBcIjEwMHZ3XCIgOiBwcm9wcy53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnN0YXRlLm1vZGFsVHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9uT2s9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9rVGV4dD17XCLnoa7lrppcIn1cclxuICAgICAgICAgIGNhbmNlbFRleHQ9e1wi5Y+W5raIXCJ9XHJcbiAgICAgICAgICBjZW50ZXJlZD17dHJ1ZX1cclxuICAgICAgICAgIC8vIHRpdGxlPXtmb3JtRXhwYW5kID8gdGl0bGUgOiB0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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
  }