nsc-react-component 4.4.7 → 4.5.0

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.
@@ -299,17 +299,17 @@ class NscForm extends PureComponent {
299
299
  } = this.state;
300
300
  const layout = {
301
301
  labelCol: {
302
- span: this.props.layout == "vertical" ? 24 : 4
302
+ span: this.props.layout == "horizontal" ? 4 : 24
303
303
  },
304
304
  wrapperCol: {
305
- span: this.props.layout == "vertical" ? 24 : 20
305
+ span: this.props.layout == "horizontal" ? 20 : 24
306
306
  }
307
307
  };
308
308
  const Pane = () => {
309
309
  return /*#__PURE__*/React.createElement(_Form, _extends({
310
310
  ref: this.formRef,
311
- validateTrigger: ["onBlur", "onChange"]
312
- // draggable={true}
311
+ validateTrigger: ["onBlur", "onChange"],
312
+ layout: "vertical"
313
313
  }, layout, props, {
314
314
  onValuesChange: this.onValuesChange.bind(this),
315
315
  preserve: false
@@ -363,4 +363,4 @@ class NscForm extends PureComponent {
363
363
  }
364
364
  }
365
365
  export default NscForm;
366
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJ1dGlscyIsIm9taXQiLCJTcGluIiwiY29uZmlnIiwiZ2V0TG9jYWxTdG9yZSIsIk5zY0Zvcm0iLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwiZm9ybVZpc2libGUiLCJmb3JtTW9kYWxQcm9wcyIsImZvcm1EcmF3ZXJQcm9wcyIsImlzQ2hhbmdlIiwiZXhwYW5kIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJhZnRlclJlbmRlciIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIm1vZGFsUHJvcHMiLCJkcmF3ZXJQcm9wcyIsInNob3dNb2RlbCIsIk9iamVjdCIsImlzIiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIiwiZ2V0RmllbGRFcnJvciIsIm5hbWUiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkSW5zdGFuY2UiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQyIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsIl90aGlzJGZvcm1SZWYiLCJnZXRGaWVsZFZhbHVlIiwiaXNGaWVsZHNUb3VjaGVkIiwiaXNGaWVsZFRvdWNoZWQiLCJpc0ZpZWxkVmFsaWRhdGluZyIsInJlc2V0RmllbGRzIiwic2Nyb2xsVG9GaWVsZCIsIm9wdGlvbnMiLCJzZXRGaWVsZHMiLCJmaWxkcyIsInNldEZpZWxkc1ZhbHVlIiwidmFsdWVzIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50MyIsInN1Ym1pdCIsIm9uU3VibWl0IiwidXJsIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX29iamVjdFNwcmVhZCIsInRvTG93ZXJDYXNlIiwiYXV0b1ByZWZpeCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ2YWxpZGF0ZUZpZWxkcyIsImhpZGUiLCJlIiwiX3RoaXMiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJoaWRlRm9ybSIsInJlc2V0VmFsdWUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZXRTdGF0ZSIsInNob3dGb3JtIiwidmFsdWUiLCJvcHRpb24iLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQ0IiwiY2xvbmVFbGVtZW50IiwiaXRlbSIsImluZGV4Iiwia2V5IiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwib25WYWx1ZXNDaGFuZ2UiLCJ2YWwiLCJhbGxWYWwiLCJyZW5kZXJQYW5lbCIsIm5ld0NoaWxkcmVuIiwibG9hZGluZyIsImNoYW5nZVZhbGlkIiwic3RhdGUiLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwiUGFuZSIsImNyZWF0ZUVsZW1lbnQiLCJfRm9ybSIsIl9leHRlbmRzIiwicmVmIiwidmFsaWRhdGVUcmlnZ2VyIiwiYmluZCIsInByZXNlcnZlIiwic3RvcmVQcmVmaXgiLCJhdXRvVHlwZSIsIm5ld01vZGFsUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsImRlZmF1bHRwcm9wcyIsIm1hc2tDbG9zYWJsZSIsImZvcm1FeHBhbmQiLCJ2YWxpZCIsImNoYW5nZSIsInR5cGUiLCJtb2RhbHByb3BzIiwibmV3UHJvcHMiLCJvcGVuIiwic3Bpbm5pbmciLCJGcmFnbWVudCIsInJlbmRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMsIG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uL21vZGFsXCI7XHJcbmltcG9ydCB7IEZvcm1JbnN0YW5jZSB9IGZyb20gXCJhbnRkL2xpYi9mb3JtXCI7XHJcbmltcG9ydCB7IHJlcXVlc3QgLHV0aWxzfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB7IE5zY01vZGFsUG9ycHMgfSBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uL3NwaW5cIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7Z2V0TG9jYWxTdG9yZX0gZnJvbSAnQGJqLW5zYy9mdW5jdGlvbnMnXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1Qcm9wcyBleHRlbmRzIEZvcm1Qcm9wcyB7XHJcbiAgc2hvd01vZGVsPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIiB8IFwiYXV0b1wiO1xyXG4gIG1vZGFsUHJvcHM/OiBOc2NNb2RhbFBvcnBzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHMgJiB7XHJcbiAgICBvbk9rPzogYW55O1xyXG4gICAgb2tCdXR0b25Qcm9wcz86IE9iamVjdDtcclxuICAgIGZvcm1FeHBhbmQ/OiBPYmplY3Q7XHJcbiAgfTtcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbiAgY2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+aVsOaNruS/ruaUueWFs+mXreagoemqjFxyXG4gIGxvYWRpbmc/OiBib29sZWFuOyAvL+ihqOWNleWKoOi9veeKtuaAgVxyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgZXhwYW5kOiBmYWxzZSxcclxuICB9O1xyXG4gIG9wdGlvbjogYW55ID0ge1xyXG4gICAgLy/lm57osIPkvZznlKjln59cclxuICAgIHNjb3BlOiB0aGlzLFxyXG4gICAgLy9vcGVu5Lyg6YCS6L+H5p2l55qE6aG16Z2i5Y+C5pWwXHJcbiAgICBwYXJhbXM6IHt9LFxyXG4gICAgLy/mmL7npLrkuYvliY3lm57osINcclxuICAgIGJlZm9yZVJlbmRlcjogbnVsbCxcclxuICAgIC8v5YWz6Zet5LmL5YmN5Zue6LCD77yM5aaC5p6ccmV0dXJuIGZhbHNl77yM5LiU56qX5Y+j5LiN5YWz6ZetXHJcbiAgICBjYWxsYmFja0JlZm9yZUNsb3NlOiBudWxsLFxyXG4gICAgLy/lhbPpl63lkI7lm57osIPvvIzlvILmraXmk43kvZxcclxuICAgIGNhbGxiYWNrOiBudWxsLFxyXG4gICAgLy/mmL7npLrkuYvlkI7lm57osINcclxuICAgIGFmdGVyUmVuZGVyOiBudWxsLFxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcclxuICAgIGNvbnN0IHsgbW9kYWxQcm9wcywgZHJhd2VyUHJvcHMsIHNob3dNb2RlbCB9ID0gbmV4dFByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtTW9kYWxQcm9wcywgZm9ybURyYXdlclByb3BzIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICAvLyBKU09OLnN0cmluZ2lmeShmb3JtTW9kYWxQcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KG1vZGFsUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1Nb2RhbFByb3BzLCBtb2RhbFByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogbW9kYWxQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAobW9kYWxQcm9wcy52aXNpYmxlICE9PSBudWxsICYmIG1vZGFsUHJvcHMudmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1EcmF3ZXJQcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KGRyYXdlclByb3BzKVxyXG4gICAgICBpZiAoIU9iamVjdC5pcyhmb3JtRHJhd2VyUHJvcHMsIGRyYXdlclByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogZHJhd2VyUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiZcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSB1bmRlZmluZWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgUGFuZSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI9e1tcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCJdfVxyXG4gICAgICAgICAgLy8gZHJhZ2dhYmxlPXt0cnVlfVxyXG4gICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsKSB7XHJcbiAgICAgIGNvbnN0IHsgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCB7IHN0b3JlUHJlZml4IH0gPSBjb25maWcoKTtcclxuICAgICAgbGV0IGF1dG9UeXBlID0gZ2V0TG9jYWxTdG9yZShcclxuICAgICAgICBcImZvcm1UeXBlXCIsXHJcbiAgICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCA6IFwibnNjLWhvbWVcIlxyXG4gICAgICApO1xyXG4gICAgICBhdXRvVHlwZSA9IGF1dG9UeXBlID8gYXV0b1R5cGUgOiBudWxsO1xyXG4gICAgICBsZXQgbmV3TW9kYWxQcm9wcyA9IG9taXQobW9kYWxQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQoZHJhd2VyUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBsZXQgZGVmYXVsdHByb3BzID0ge1xyXG4gICAgICAgIG1hc2tDbG9zYWJsZTogIXRoaXMuc3RhdGUuaXNDaGFuZ2UsXHJcbiAgICAgICAgZm9ybUV4cGFuZDoge1xyXG4gICAgICAgICAgZXhwYW5kOiB0cnVlLFxyXG4gICAgICAgICAgdmFsaWQ6IGNoYW5nZVZhbGlkLFxyXG4gICAgICAgICAgY2hhbmdlOiB0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogc2hvd01vZGVsLFxyXG4gICAgICB9IGFzIGFueTtcclxuICAgICAgbGV0IG1vZGFscHJvcHMgPSB7IC4uLmRlZmF1bHRwcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3UHJvcHMgPSB7fSBhcyBhbnk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIiB8fFxyXG4gICAgICAgIChzaG93TW9kZWwgPT0gXCJhdXRvXCIgJiYgYXV0b1R5cGUgPT0gXCJkcmF3ZXJcIilcclxuICAgICAgKSB7XHJcbiAgICAgICAgbmV3UHJvcHMgPSB7IC4uLm5ld01vZGFsUHJvcHMsIC4uLm5ld0RyYXdlclByb3BzIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3UHJvcHMgPSB7IC4uLm5ld0RyYXdlclByb3BzLCAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIH1cclxuICAgICAgbW9kYWxwcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0cHJvcHMsXHJcbiAgICAgICAgLi4ubmV3TW9kYWxQcm9wcyxcclxuICAgICAgLi4ubmV3RHJhd2VyUHJvcHMsXHJcbiAgICAgICAgLi4ubmV3UHJvcHMsXHJcbiAgICAgICAgb25DYW5jZWw6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICAgIC8vIG9uQ2xvc2U6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbCBvcGVuPXtmb3JtVmlzaWJsZX0gey4uLm1vZGFscHJvcHN9PlxyXG4gICAgICAgICAge2xvYWRpbmcgPyA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+e1BhbmUoKX08L1NwaW4+IDogUGFuZSgpfVxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gPD57bG9hZGluZyA/IDxTcGluIHNwaW5uaW5nPXtsb2FkaW5nfT57UGFuZSgpfTwvU3Bpbj4gOiBQYW5lKCl9PC8+O1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICAgIFwiY2hhbmdlVmFsaWRcIixcclxuICAgIF0pO1xyXG4gICAgcmV0dXJuIDw+e3RoaXMucmVuZGVyUGFuZWwocHJvcHMuY2hpbGRyZW4sIHByb3BzKX08Lz47XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0Zvcm07XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUU1QyxPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUU1QixTQUFTQyxPQUFPLEVBQUVDLEtBQUssUUFBTyx1QkFBdUI7QUFDckQsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsU0FBUUMsYUFBYSxRQUFPLG1CQUFtQjtBQWUvQyxNQUFNQyxPQUFPLFNBQVNSLGFBQWEsQ0FBYTtFQXVCOUNTLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLCtCQXZCTFosS0FBSyxDQUFDYSxTQUFTLENBQWUsQ0FBQztJQUFBRCxlQUFBLGdCQUNqQztNQUNORSxXQUFXLEVBQUUsS0FBSztNQUNsQkMsY0FBYyxFQUFFLENBQUMsQ0FBQztNQUNsQkMsZUFBZSxFQUFFLENBQUMsQ0FBQztNQUNuQkMsUUFBUSxFQUFFLEtBQUs7TUFDZkMsTUFBTSxFQUFFO0lBQ1YsQ0FBQztJQUFBTixlQUFBLGlCQUNhO01BQ1o7TUFDQU8sS0FBSyxFQUFFLElBQUk7TUFDWDtNQUNBQyxNQUFN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
366
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJ1dGlscyIsIm9taXQiLCJTcGluIiwiY29uZmlnIiwiZ2V0TG9jYWxTdG9yZSIsIk5zY0Zvcm0iLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwiZm9ybVZpc2libGUiLCJmb3JtTW9kYWxQcm9wcyIsImZvcm1EcmF3ZXJQcm9wcyIsImlzQ2hhbmdlIiwiZXhwYW5kIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJhZnRlclJlbmRlciIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIm1vZGFsUHJvcHMiLCJkcmF3ZXJQcm9wcyIsInNob3dNb2RlbCIsIk9iamVjdCIsImlzIiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIiwiZ2V0RmllbGRFcnJvciIsIm5hbWUiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkSW5zdGFuY2UiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQyIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsIl90aGlzJGZvcm1SZWYiLCJnZXRGaWVsZFZhbHVlIiwiaXNGaWVsZHNUb3VjaGVkIiwiaXNGaWVsZFRvdWNoZWQiLCJpc0ZpZWxkVmFsaWRhdGluZyIsInJlc2V0RmllbGRzIiwic2Nyb2xsVG9GaWVsZCIsIm9wdGlvbnMiLCJzZXRGaWVsZHMiLCJmaWxkcyIsInNldEZpZWxkc1ZhbHVlIiwidmFsdWVzIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50MyIsInN1Ym1pdCIsIm9uU3VibWl0IiwidXJsIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX29iamVjdFNwcmVhZCIsInRvTG93ZXJDYXNlIiwiYXV0b1ByZWZpeCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ2YWxpZGF0ZUZpZWxkcyIsImhpZGUiLCJlIiwiX3RoaXMiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJoaWRlRm9ybSIsInJlc2V0VmFsdWUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZXRTdGF0ZSIsInNob3dGb3JtIiwidmFsdWUiLCJvcHRpb24iLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQ0IiwiY2xvbmVFbGVtZW50IiwiaXRlbSIsImluZGV4Iiwia2V5IiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwib25WYWx1ZXNDaGFuZ2UiLCJ2YWwiLCJhbGxWYWwiLCJyZW5kZXJQYW5lbCIsIm5ld0NoaWxkcmVuIiwibG9hZGluZyIsImNoYW5nZVZhbGlkIiwic3RhdGUiLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwiUGFuZSIsImNyZWF0ZUVsZW1lbnQiLCJfRm9ybSIsIl9leHRlbmRzIiwicmVmIiwidmFsaWRhdGVUcmlnZ2VyIiwiYmluZCIsInByZXNlcnZlIiwic3RvcmVQcmVmaXgiLCJhdXRvVHlwZSIsIm5ld01vZGFsUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsImRlZmF1bHRwcm9wcyIsIm1hc2tDbG9zYWJsZSIsImZvcm1FeHBhbmQiLCJ2YWxpZCIsImNoYW5nZSIsInR5cGUiLCJtb2RhbHByb3BzIiwibmV3UHJvcHMiLCJvcGVuIiwic3Bpbm5pbmciLCJGcmFnbWVudCIsInJlbmRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMsIG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uL21vZGFsXCI7XHJcbmltcG9ydCB7IEZvcm1JbnN0YW5jZSB9IGZyb20gXCJhbnRkL2xpYi9mb3JtXCI7XHJcbmltcG9ydCB7IHJlcXVlc3QgLHV0aWxzfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB7IE5zY01vZGFsUG9ycHMgfSBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uL3NwaW5cIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7Z2V0TG9jYWxTdG9yZX0gZnJvbSAnQGJqLW5zYy9mdW5jdGlvbnMnXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1Qcm9wcyBleHRlbmRzIEZvcm1Qcm9wcyB7XHJcbiAgc2hvd01vZGVsPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIiB8IFwiYXV0b1wiO1xyXG4gIG1vZGFsUHJvcHM/OiBOc2NNb2RhbFBvcnBzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHMgJiB7XHJcbiAgICBvbk9rPzogYW55O1xyXG4gICAgb2tCdXR0b25Qcm9wcz86IE9iamVjdDtcclxuICAgIGZvcm1FeHBhbmQ/OiBPYmplY3Q7XHJcbiAgfTtcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbiAgY2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+aVsOaNruS/ruaUueWFs+mXreagoemqjFxyXG4gIGxvYWRpbmc/OiBib29sZWFuOyAvL+ihqOWNleWKoOi9veeKtuaAgVxyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgZXhwYW5kOiBmYWxzZSxcclxuICB9O1xyXG4gIG9wdGlvbjogYW55ID0ge1xyXG4gICAgLy/lm57osIPkvZznlKjln59cclxuICAgIHNjb3BlOiB0aGlzLFxyXG4gICAgLy9vcGVu5Lyg6YCS6L+H5p2l55qE6aG16Z2i5Y+C5pWwXHJcbiAgICBwYXJhbXM6IHt9LFxyXG4gICAgLy/mmL7npLrkuYvliY3lm57osINcclxuICAgIGJlZm9yZVJlbmRlcjogbnVsbCxcclxuICAgIC8v5YWz6Zet5LmL5YmN5Zue6LCD77yM5aaC5p6ccmV0dXJuIGZhbHNl77yM5LiU56qX5Y+j5LiN5YWz6ZetXHJcbiAgICBjYWxsYmFja0JlZm9yZUNsb3NlOiBudWxsLFxyXG4gICAgLy/lhbPpl63lkI7lm57osIPvvIzlvILmraXmk43kvZxcclxuICAgIGNhbGxiYWNrOiBudWxsLFxyXG4gICAgLy/mmL7npLrkuYvlkI7lm57osINcclxuICAgIGFmdGVyUmVuZGVyOiBudWxsLFxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcclxuICAgIGNvbnN0IHsgbW9kYWxQcm9wcywgZHJhd2VyUHJvcHMsIHNob3dNb2RlbCB9ID0gbmV4dFByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtTW9kYWxQcm9wcywgZm9ybURyYXdlclByb3BzIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICAvLyBKU09OLnN0cmluZ2lmeShmb3JtTW9kYWxQcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KG1vZGFsUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1Nb2RhbFByb3BzLCBtb2RhbFByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogbW9kYWxQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAobW9kYWxQcm9wcy52aXNpYmxlICE9PSBudWxsICYmIG1vZGFsUHJvcHMudmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1EcmF3ZXJQcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KGRyYXdlclByb3BzKVxyXG4gICAgICBpZiAoIU9iamVjdC5pcyhmb3JtRHJhd2VyUHJvcHMsIGRyYXdlclByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogZHJhd2VyUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiZcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSB1bmRlZmluZWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcImhvcml6b250YWxcIiA/IDQgOiAyNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IHRoaXMucHJvcHMubGF5b3V0ID09IFwiaG9yaXpvbnRhbFwiID8gMjAgOiAyNCB9LFxyXG4gICAgfTtcclxuICAgIGNvbnN0IFBhbmUgPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEZvcm1cclxuICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgIGxheW91dD1cInZlcnRpY2FsXCJcclxuICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgcHJlc2VydmU9e2ZhbHNlfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9O1xyXG4gICAgaWYgKHNob3dNb2RlbCkge1xyXG4gICAgICBjb25zdCB7IHNob3dNb2RlbCB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgeyBzdG9yZVByZWZpeCB9ID0gY29uZmlnKCk7XHJcbiAgICAgIGxldCBhdXRvVHlwZSA9IGdldExvY2FsU3RvcmUoXHJcbiAgICAgICAgXCJmb3JtVHlwZVwiLFxyXG4gICAgICAgIHN0b3JlUHJlZml4ID8gc3RvcmVQcmVmaXggOiBcIm5zYy1ob21lXCJcclxuICAgICAgKTtcclxuICAgICAgYXV0b1R5cGUgPSBhdXRvVHlwZSA/IGF1dG9UeXBlIDogbnVsbDtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbGV0IGRlZmF1bHRwcm9wcyA9IHtcclxuICAgICAgICBtYXNrQ2xvc2FibGU6ICF0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIGZvcm1FeHBhbmQ6IHtcclxuICAgICAgICAgIGV4cGFuZDogdHJ1ZSxcclxuICAgICAgICAgIHZhbGlkOiBjaGFuZ2VWYWxpZCxcclxuICAgICAgICAgIGNoYW5nZTogdGhpcy5zdGF0ZS5pc0NoYW5nZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHNob3dNb2RlbCxcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICAgIGxldCBtb2RhbHByb3BzID0geyAuLi5kZWZhdWx0cHJvcHMgfTtcclxuICAgICAgbGV0IG5ld1Byb3BzID0ge30gYXMgYW55O1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc2hvd01vZGVsID09IFwiZHJhd2VyXCIgfHxcclxuICAgICAgICAoc2hvd01vZGVsID09IFwiYXV0b1wiICYmIGF1dG9UeXBlID09IFwiZHJhd2VyXCIpXHJcbiAgICAgICkge1xyXG4gICAgICAgIG5ld1Byb3BzID0geyAuLi5uZXdNb2RhbFByb3BzLCAuLi5uZXdEcmF3ZXJQcm9wcyB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1Byb3BzID0geyAuLi5uZXdEcmF3ZXJQcm9wcywgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICB9XHJcbiAgICAgIG1vZGFscHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdHByb3BzLFxyXG4gICAgICAgIC4uLm5ld01vZGFsUHJvcHMsXHJcbiAgICAgIC4uLm5ld0RyYXdlclByb3BzLFxyXG4gICAgICAgIC4uLm5ld1Byb3BzLFxyXG4gICAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgICAvLyBvbkNsb3NlOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWwgb3Blbj17Zm9ybVZpc2libGV9IHsuLi5tb2RhbHByb3BzfT5cclxuICAgICAgICAgIHtsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX1cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDw+e2xvYWRpbmcgPyA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+e1BhbmUoKX08L1NwaW4+IDogUGFuZSgpfTwvPjtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgICBcImNoYW5nZVZhbGlkXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiA8Pnt0aGlzLnJlbmRlclBhbmVsKHByb3BzLmNoaWxkcmVuLCBwcm9wcyl9PC8+O1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBOc2NGb3JtO1xyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQUssSUFBSUMsYUFBYSxRQUFRLE9BQU87QUFFNUMsT0FBT0MsS0FBSyxNQUFNLFVBQVU7QUFFNUIsU0FBU0MsT0FBTyxFQUFFQyxLQUFLLFFBQU8sdUJBQXVCO0FBQ3JELE9BQU9DLElBQUksTUFBTSxTQUFTO0FBRTFCLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBQzFCLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLFNBQVFDLGFBQWEsUUFBTyxtQkFBbUI7QUFlL0MsTUFBTUMsT0FBTyxTQUFTUixhQUFhLENBQWE7RUF1QjlDUyxXQUFXQSxDQUFDQyxLQUFLLEVBQUU7SUFDakIsS0FBSyxDQUFDQSxLQUFLLENBQUM7SUFBQ0MsZUFBQSwrQkF2QkxaLEtBQUssQ0FBQ2EsU0FBUyxDQUFlLENBQUM7SUFBQUQsZUFBQSxnQkFDakM7TUFDTkUsV0FBVyxFQUFFLEtBQUs7TUFDbEJDLGNBQWMsRUFBRSxDQUFDLENBQUM7TUFDbEJDLGVBQWUsRUFBRSxDQUFDLENBQUM7TUFDbkJDLFFBQVEsRUFBRSxLQUFLO01BQ2ZDLE1BQU0sRUFBRTtJQUNWLENBQUM7SUFBQU4sZUFBQSxpQkFDYTtNQUNaO01BQ0FPLEtBQUssRUFBRSxJQUFJO01BQ1g7TUFDQUMs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
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","utils","omit","Spin","config","getLocalStore","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","bind","preserve","storePrefix","autoType","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","newProps","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request ,utils} from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport config from \"../../config\";\r\nimport {getLocalStore} from '@bj-nsc/functions'\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (\r\n drawerProps?.visible !== null &&\r\n drawerProps?.visible !== undefined\r\n ) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n // draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n const { showModel } = this.props;\r\n const { storePrefix } = config();\r\n let autoType = getLocalStore(\r\n \"formType\",\r\n storePrefix ? storePrefix : \"nsc-home\"\r\n );\r\n autoType = autoType ? autoType : null;\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n let newProps = {} as any;\r\n if (\r\n showModel == \"drawer\" ||\r\n (showModel == \"auto\" && autoType == \"drawer\")\r\n ) {\r\n newProps = { ...newModalProps, ...newDrawerProps };\r\n } else {\r\n newProps = { ...newDrawerProps, ...newModalProps };\r\n }\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n ...newProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","utils","omit","Spin","config","getLocalStore","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","bind","preserve","storePrefix","autoType","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","newProps","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request ,utils} from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport config from \"../../config\";\r\nimport {getLocalStore} from '@bj-nsc/functions'\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (\r\n drawerProps?.visible !== null &&\r\n drawerProps?.visible !== undefined\r\n ) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"horizontal\" ? 4 : 24 },\r\n wrapperCol: { span: this.props.layout == \"horizontal\" ? 20 : 24 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n layout=\"vertical\"\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n const { showModel } = this.props;\r\n const { storePrefix } = config();\r\n let autoType = getLocalStore(\r\n \"formType\",\r\n storePrefix ? storePrefix : \"nsc-home\"\r\n );\r\n autoType = autoType ? autoType : null;\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n let newProps = {} as any;\r\n if (\r\n showModel == \"drawer\" ||\r\n (showModel == \"auto\" && autoType == \"drawer\")\r\n ) {\r\n newProps = { ...newModalProps, ...newDrawerProps };\r\n } else {\r\n newProps = { ...newDrawerProps, ...newModalProps };\r\n }\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n ...newProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}