nsc-react-component 4.4.8 → 4.5.1

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.
@@ -1,4 +1,5 @@
1
- const _excluded = ["formCode"];
1
+ const _excluded = ["chartCode"],
2
+ _excluded2 = ["formCode"];
2
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
4
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -18,6 +19,7 @@ import { getLocalStore } from "@bj-nsc/functions";
18
19
  import queryString from "query-string";
19
20
  import Modal from "../../base/modal";
20
21
  import SettingForm from "../SettingForm";
22
+ import SettingChart from "../SettingChart";
21
23
  export const defaultUtil = {
22
24
  NscCom,
23
25
  NscFile,
@@ -138,36 +140,26 @@ export const convertStringToObj = (data, Utils, eventOption) => {
138
140
  }
139
141
  return data;
140
142
  };
141
- // const modalRef: any = useRef(null);
142
- const ModalIndex = /*#__PURE__*/React.forwardRef((props, ref) => {
143
- // const [isVisible, setIsVisible] = React.useState(false);
144
- const modalRef = useRef(null);
145
- // 使用useImperativeHandle向父组件暴露方法
146
- React.useImperativeHandle(ref, () => ({
147
- show: () => {
148
- modalRef.current.show();
149
- },
150
- hide: () => {
151
- modalRef.current.hide();
152
- }
153
- }));
154
- return /*#__PURE__*/React.createElement(Modal, null);
155
- });
156
143
  export const ModalManager = {
157
- modalRef: null,
158
- register: function (ref) {
159
- this.modalRef = ref;
144
+ modalRefs: {},
145
+ // 使用对象存储多个模态框引用
146
+ register: function (name, ref) {
147
+ this.modalRefs[name] = ref;
160
148
  },
161
- showModal: function (props) {
162
- if (this.modalRef && this.modalRef.current) {
163
- this.modalRef.current.show(props);
149
+ showModal: function (name, props) {
150
+ const modalRef = this.modalRefs[name];
151
+ if (modalRef && modalRef.current) {
152
+ modalRef.current.show(props);
164
153
  } else {
165
- console.error("Modal引用未注册");
154
+ console.error("Modal ".concat(name, " \u5F15\u7528\u672A\u6CE8\u518C"));
166
155
  }
167
156
  },
168
- hideModal: function () {
169
- if (this.modalRef && this.modalRef.current) {
170
- this.modalRef.current.hide();
157
+ hideModal: function (name) {
158
+ const modalRef = this.modalRefs[name];
159
+ if (modalRef && modalRef.current) {
160
+ modalRef.current.hide();
161
+ } else {
162
+ console.error("Modal ".concat(name, " \u5F15\u7528\u672A\u6CE8\u518C"));
171
163
  }
172
164
  }
173
165
  };
@@ -191,6 +183,35 @@ export const defaultComFuncs = {
191
183
  }));
192
184
  }
193
185
  };
186
+ export const ModalChart = /*#__PURE__*/React.forwardRef((props, ref) => {
187
+ const modalRef = useRef(null);
188
+ const [params, setParams] = useState({});
189
+ React.useImperativeHandle(ref, () => ({
190
+ show: props => {
191
+ var _modalRef$current;
192
+ setParams(_objectSpread({}, props));
193
+ (_modalRef$current = modalRef.current) === null || _modalRef$current === void 0 || _modalRef$current.show();
194
+ },
195
+ hide: () => {
196
+ var _modalRef$current2;
197
+ setParams({});
198
+ (_modalRef$current2 = modalRef.current) === null || _modalRef$current2 === void 0 || _modalRef$current2.hide();
199
+ }
200
+ }));
201
+ const {
202
+ chartCode
203
+ } = params,
204
+ others = _objectWithoutProperties(params, _excluded);
205
+ return /*#__PURE__*/React.createElement(Modal, {
206
+ ref: modalRef,
207
+ type: "modal",
208
+ title: props.title || "图表查看",
209
+ footer: null,
210
+ width: "60vw"
211
+ }, /*#__PURE__*/React.createElement(SettingChart, _extends({
212
+ chartCode: params.chartCode
213
+ }, others)));
214
+ });
194
215
  export const ModalForm = /*#__PURE__*/React.forwardRef((props, ref) => {
195
216
  const modalRef = useRef(null);
196
217
  // const [formCode, setFormCode] = useState("");
@@ -198,7 +219,7 @@ export const ModalForm = /*#__PURE__*/React.forwardRef((props, ref) => {
198
219
  const [params, setParams] = useState({});
199
220
  React.useImperativeHandle(ref, () => ({
200
221
  show: props => {
201
- var _modalRef$current;
222
+ var _modalRef$current3;
202
223
  // const {formCode,ed}
203
224
  setParams(_objectSpread(_objectSpread({}, props), {}, {
204
225
  modalProps: {
@@ -206,23 +227,23 @@ export const ModalForm = /*#__PURE__*/React.forwardRef((props, ref) => {
206
227
  }
207
228
  }));
208
229
  // setEditType(props.editIdType);
209
- (_modalRef$current = modalRef.current) === null || _modalRef$current === void 0 || _modalRef$current.showForm();
230
+ (_modalRef$current3 = modalRef.current) === null || _modalRef$current3 === void 0 || _modalRef$current3.showForm();
210
231
  },
211
232
  hide: () => {
212
- var _modalRef$current2;
233
+ var _modalRef$current4;
213
234
  setParams({});
214
235
  // setEditType("");
215
- (_modalRef$current2 = modalRef.current) === null || _modalRef$current2 === void 0 || _modalRef$current2.showForm();
236
+ (_modalRef$current4 = modalRef.current) === null || _modalRef$current4 === void 0 || _modalRef$current4.showForm();
216
237
  }
217
238
  }));
218
239
  const {
219
240
  formCode
220
241
  } = params,
221
- others = _objectWithoutProperties(params, _excluded);
242
+ others = _objectWithoutProperties(params, _excluded2);
222
243
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(SettingForm, _extends({
223
244
  formCode: params.formCode,
224
245
  formType: "modal",
225
246
  ref: modalRef
226
247
  }, others)));
227
248
  });
228
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTnNjQ29tIiwiTnNjRmlsZSIsIk5zY1JlcXVlc3QiLCJOc2NVdGlscyIsImRheWpzIiwiQnV0dG9uIiwiZ2V0TG9jYWxTdG9yZSIsInF1ZXJ5U3RyaW5nIiwiTW9kYWwiLCJTZXR0aW5nRm9ybSIsImRlZmF1bHRVdGlsIiwiY3JlYXRlRWxlbWVudCIsInJlbmRlclNlbGZUb29sQnV0dG9uIiwiX3JlZiIsInNlbGZCdXR0b24iLCJwYWdlUmVmIiwiZnVuY3MiLCJsb2FkaW5nIiwidHlwZSIsImxlbmd0aCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInBhZ2VUeXBlIiwia2V5Iiwib25DbGljayIsImV2ZW50T3B0aW9uIiwiZnVuYyIsIkZ1bmN0aW9uIiwiY29kZSIsIm5hbWUiLCJyZW5kZXJTZWxmQ29sdW1uQnV0dG9uIiwiX3JlZjIiLCJzZWxmQ29sdW1uQnV0dG9uIiwicmVjb3JkIiwicmVjb3JkU2hvdyIsImp1bXBQYWdlIiwicGFyYW1zIiwicGF0aG5hbWUiLCJxdWVyeSIsImlkIiwidGl0bGUiLCJzZXJ2aWNlTmFtZSIsInNlcnZpY2VQYXRoIiwib3BlblR5cGUiLCJuZXdRdWVyeSIsIl9vYmplY3RTcHJlYWQiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsImRhdGEiLCJwYXJlbnQiLCJwb3N0TWVzc2FnZSIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJsb2NhdGlvbiIsIm9yaWdpbiIsImhpc3RvcnkiLCJwdXNoU3RhdGUiLCJnbyIsImdldFByb2plY3QiLCJwcm9qZWN0IiwiY29udmVydFN0cmluZ1RvT2JqIiwiVXRpbHMiLCJjb252ZXJQYXJhbXMiLCJNb2RhbEluZGV4IiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwibW9kYWxSZWYiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwic2hvdyIsImN1cnJlbnQiLCJoaWRlIiwiTW9kYWxNYW5hZ2VyIiwicmVnaXN0ZXIiLCJzaG93TW9kYWwiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlTW9kYWwiLCJkZWZhdWx0Q29tRnVuY3MiLCJnZXRDdXJyZW50UHJvamVjdCIsIm9wZW5Gb3JtUGFnZSIsImZvcm1Db2RlIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiRGF0ZSIsImdldFRpbWUiLCJNb2RhbEZvcm0iLCJzZXRQYXJhbXMiLCJfbW9kYWxSZWYkY3VycmVudCIsIm1vZGFsUHJvcHMiLCJzaG93Rm9ybSIsIl9tb2RhbFJlZiRjdXJyZW50MiIsIm90aGVycyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIl9leHRlbmRzIiwiZm9ybVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdVdGlsL3V0aWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NDb20gZnJvbSBcIi4vY29tXCI7XHJcbmltcG9ydCBOc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0ICogYXMgTnNjVXRpbHMgZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TG9jYWxTdG9yZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgcXVlcnlTdHJpbmcgZnJvbSBcInF1ZXJ5LXN0cmluZ1wiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL2Jhc2UvbW9kYWxcIjtcclxuXHJcbmltcG9ydCBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XHJcbmltcG9ydCBGb3JtUGFnZSBmcm9tIFwiLi4vRm9ybVBhZ2VcIjtcclxuaW1wb3J0IFNldHRpbmdGb3JtIGZyb20gXCIuLi9TZXR0aW5nRm9ybVwiO1xyXG5leHBvcnQgY29uc3QgZGVmYXVsdFV0aWwgPSB7XHJcbiAgTnNjQ29tLFxyXG4gIE5zY0ZpbGUsXHJcbiAgTnNjUmVxdWVzdCxcclxuICBOc2NVdGlscyxcclxuICBkYXlqcyxcclxuICBjcmVhdGVFbGVtZW50OiBSZWFjdC5jcmVhdGVFbGVtZW50LFxyXG59IGFzIGFueTtcclxuXHJcbmV4cG9ydCBjb25zdCByZW5kZXJTZWxmVG9vbEJ1dHRvbiA9ICh7XHJcbiAgc2VsZkJ1dHRvbixcclxuICBwYWdlUmVmLFxyXG4gIGZ1bmNzLFxyXG4gIGxvYWRpbmcsXHJcbiAgdHlwZSA9IFwidG9vbEJ1dHRvblwiLFxyXG59KSA9PiB7XHJcbiAgaWYgKHNlbGZCdXR0b24ubGVuZ3RoID09IDApIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc2VsZkJ1dHRvbi5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHBhZ2VUeXBlPXt0eXBlfVxyXG4gICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgIHR5cGU9e2l0ZW0udHlwZX1cclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgbGV0IGV2ZW50T3B0aW9uID0geyBwYWdlUmVmOiBwYWdlUmVmLCBmdW5jczogZnVuY3MgfTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIGl0ZW0ub25DbGljayk7XHJcbiAgICAgICAgICAgIGZ1bmMoZGVmYXVsdFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nW2l0ZW0uY29kZV0gPT09IHRydWUgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByZW5kZXJTZWxmQ29sdW1uQnV0dG9uID0gKHtcclxuICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gIHBhZ2VSZWYsXHJcbiAgZnVuY3MsXHJcbn0pID0+IHtcclxuICBpZiAoc2VsZkNvbHVtbkJ1dHRvbi5sZW5ndGggPT0gMCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBzZWxmQ29sdW1uQnV0dG9uLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgcGFnZVR5cGU9XCJjb2x1bW5CdXR0b25cIlxyXG4gICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgIHR5cGU9e2l0ZW0udHlwZX1cclxuICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQpID0+IHtcclxuICAgICAgICAgICAgbGV0IGV2ZW50T3B0aW9uID0ge1xyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgcmVjb3JkOiByZWNvcmQsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IGZ1bmNzLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgaXRlbS5vbkNsaWNrKTtcclxuICAgICAgICAgICAgZnVuYyhkZWZhdWx0VXRpbCwgZXZlbnRPcHRpb24pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGNvZGU9e2l0ZW0uY29kZX1cclxuICAgICAgICAgIHJlY29yZFNob3c9e2l0ZW0ucmVjb3JkU2hvd31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbS5uYW1lfVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuaW50ZXJmYWNlIElQYXJhbXMge1xyXG4gIHBhdGhuYW1lPzogc3RyaW5nO1xyXG4gIHF1ZXJ5PzogYW55O1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHNlcnZpY2VQYXRoPzogc3RyaW5nO1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIG9wZW5UeXBlPzogbnVtYmVyO1xyXG59XHJcblxyXG5jb25zdCBqdW1wUGFnZSA9IChwYXJhbXM6IElQYXJhbXMsIHR5cGU/OiBcImFkZFRhYlwiIHwgXCJqdW1wTWVudVwiKSA9PiB7XHJcbiAgY29uc3Qge1xyXG4gICAgcGF0aG5hbWUsXHJcbiAgICBxdWVyeSA9IHt9LFxyXG4gICAgaWQsXHJcbiAgICB0aXRsZSxcclxuICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgc2VydmljZVBhdGgsXHJcbiAgICBvcGVuVHlwZSxcclxuICB9ID0gcGFyYW1zO1xyXG4gIGNvbnN0IG5ld1F1ZXJ5ID0geyAuLi5xdWVyeSB9IGFzIGFueTtcclxuICBjb25zdCB1cmxQYXJhbXMgPSBxdWVyeVN0cmluZy5zdHJpbmdpZnkobmV3UXVlcnkpO1xyXG4gIGNvbnN0IHBhdGggPSB1cmxQYXJhbXMgPyBgJHtwYXRobmFtZX0/JHt1cmxQYXJhbXN9YCA6IHBhdGhuYW1lO1xyXG4gIC8vQHRzLWlnbm9yZVxyXG4gIGlmICh3aW5kb3cuX19QT1dFUkVEX0JZX1FJQU5LVU5fXykge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwi5paw5qCH562+XCIsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSwgLy/phY3nva7nmoTlvq7lupTnlKjlkI3np7BcclxuICAgICAgc2VydmljZVBhdGg6IHNlcnZpY2VQYXRoLCAvL+mFjee9rueahOW+ruW6lOeUqOWFpeWPo+WcsOWdgFxyXG4gICAgICBwYXRoOiBwYXRoLCAvL+aWsOagh+etvueahHVybCzmsqHphY3nva5zZXJ2aWNlTmFtZSBwYXRo5Li65a6M5pW06Lev5b6EXHJcbiAgICAgIGlkOiBpZCwgLy/oh6rlrprkuYnllK/kuIDlgLxcclxuICAgICAgb3BlblR5cGU6IG9wZW5UeXBlID8gb3BlblR5cGUgOiA0LCAvL+aJk+W8gOaWueW8jyA05L2N5b6u5YmN56uvLCAz5Li6aWZyYW1lICzpu5jorqQgM1xyXG4gICAgfTtcclxuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXHJcbiAgICAgIHtcclxuICAgICAgICBldmVudFR5cGU6IHR5cGUgPyB0eXBlIDogXCJhZGRUYWJcIixcclxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUgPyBzZXJ2aWNlTmFtZSA6IFwic2V0dGluZy13ZWJcIixcclxuICAgICAgICBwYXlsb2FkOiB0eXBlID8gcGFyYW1zIDogZGF0YSxcclxuICAgICAgfSxcclxuICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpblxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBcIlwiLCBwYXRoKTtcclxuICAgIHdpbmRvdy5oaXN0b3J5LmdvKCk7XHJcbiAgfVxyXG59O1xyXG5jb25zdCBnZXRQcm9qZWN0ID0gKCkgPT4ge1xyXG4gIGNvbnN0IHByb2plY3QgPSBnZXRMb2NhbFN0b3JlKHsgbmFtZTogXCJuc2MtaG9tZS1wcm9qZWN0XCIgfSkgfHwge307XHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFN0cmluZ1RvT2JqID0gKGRhdGEsIFV0aWxzLCBldmVudE9wdGlvbikgPT4ge1xyXG4gIGlmIChkYXRhICYmIHR5cGVvZiBkYXRhID09IFwic3RyaW5nXCIpIHtcclxuICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiZXZlbnRPcHRpb24sVXRpbHNcIiwgZGF0YSk7XHJcbiAgICBsZXQgY29udmVyUGFyYW1zID0gZnVuYyhldmVudE9wdGlvbiwgVXRpbHMpO1xyXG4gICAgZGF0YSA9IGNvbnZlclBhcmFtcztcclxuICB9IGVsc2Uge1xyXG4gICAgZGF0YSA9IGRhdGEgfHwge307XHJcbiAgfVxyXG4gIHJldHVybiBkYXRhO1xyXG59O1xyXG4vLyBjb25zdCBtb2RhbFJlZjogYW55ID0gdXNlUmVmKG51bGwpO1xyXG5jb25zdCBNb2RhbEluZGV4ID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xyXG4gIC8vIGNvbnN0IFtpc1Zpc2libGUsIHNldElzVmlzaWJsZV0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgY29uc3QgbW9kYWxSZWY6IGFueSA9IHVzZVJlZihudWxsKTtcclxuICAvLyDkvb/nlKh1c2VJbXBlcmF0aXZlSGFuZGxl5ZCR54i257uE5Lu25pq06Zyy5pa55rOVXHJcbiAgUmVhY3QudXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XHJcbiAgICBzaG93OiAoKSA9PiB7XHJcbiAgICAgIG1vZGFsUmVmLmN1cnJlbnQuc2hvdygpO1xyXG4gICAgfSxcclxuICAgIGhpZGU6ICgpID0+IHtcclxuICAgICAgbW9kYWxSZWYuY3VycmVudC5oaWRlKCk7XHJcbiAgICB9LFxyXG4gIH0pKTtcclxuXHJcbiAgcmV0dXJuIDxNb2RhbD48L01vZGFsPjtcclxufSk7XHJcbmV4cG9ydCBjb25zdCBNb2RhbE1hbmFnZXIgPSB7XHJcbiAgbW9kYWxSZWY6IG51bGwsXHJcbiAgcmVnaXN0ZXI6IGZ1bmN0aW9uIChyZWYpIHtcclxuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XHJcbiAgfSxcclxuICBzaG93TW9kYWw6IGZ1bmN0aW9uIChwcm9wcykge1xyXG4gICAgaWYgKHRoaXMubW9kYWxSZWYgJiYgdGhpcy5tb2RhbFJlZi5jdXJyZW50KSB7XHJcbiAgICAgIHRoaXMubW9kYWxSZWYuY3VycmVudC5zaG93KHByb3BzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJNb2RhbOW8leeUqOacquazqOWGjFwiKTtcclxuICAgIH1cclxuICB9LFxyXG4gIGhpZGVNb2RhbDogZnVuY3Rpb24gKCkge1xyXG4gICAgaWYgKHRoaXMubW9kYWxSZWYgJiYgdGhpcy5tb2RhbFJlZi5jdXJyZW50KSB7XHJcbiAgICAgIHRoaXMubW9kYWxSZWYuY3VycmVudC5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29tRnVuY3MgPSB7XHJcbiAgaGlzdG9yeTogKHBhcmFtcywgdHlwZSkgPT4ge1xyXG4gICAganVtcFBhZ2UocGFyYW1zLCB0eXBlKTtcclxuICB9LFxyXG4gIGdldEN1cnJlbnRQcm9qZWN0OiAoKSA9PiB7XHJcbiAgICByZXR1cm4gZ2V0UHJvamVjdCgpO1xyXG4gIH0sXHJcbiAgb3BlbkZvcm1QYWdlOiAocGFyYW1zLCBmb3JtQ29kZSwgdHlwZSA9IFwiYWRkXCIpID0+IHtcclxuICAgIGp1bXBQYWdlKHtcclxuICAgICAgcGF0aG5hbWU6IGAvZm9ybXBhZ2UvJHt0eXBlfS9mb3JtLyR7Zm9ybUNvZGV9YCxcclxuICAgICAgaWQ6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxyXG4gICAgICB0aXRsZTogXCLooajljZXpobXpnaJcIixcclxuICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogXCJzZXR0aW5nLXdlYlwiLFxyXG4gICAgICBzZXJ2aWNlUGF0aDogXCIvc2V0dGluZ1wiLFxyXG4gICAgICBvcGVuVHlwZTogNCxcclxuICAgIH0pO1xyXG4gIH0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgTW9kYWxGb3JtID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xyXG4gIGNvbnN0IG1vZGFsUmVmOiBhbnkgPSB1c2VSZWYobnVsbCk7XHJcbiAgLy8gY29uc3QgW2Zvcm1Db2RlLCBzZXRGb3JtQ29kZV0gPSB1c2VTdGF0ZShcIlwiKTtcclxuICAvLyBjb25zdCBbZWRpdElkVHlwZSwgc2V0RWRpdFR5cGVdID0gdXNlU3RhdGUoXCJcIik7XHJcbiAgY29uc3QgW3BhcmFtcywgc2V0UGFyYW1zXSA9IHVzZVN0YXRlKHt9IGFzIGFueSk7XHJcbiAgUmVhY3QudXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XHJcbiAgICBzaG93OiAocHJvcHMpID0+IHtcclxuICAgICAgLy8gY29uc3Qge2Zvcm1Db2RlLGVkfVxyXG4gICAgICBzZXRQYXJhbXMoeyAuLi5wcm9wcywgbW9kYWxQcm9wczogeyB0aXRsZTogcHJvcHMudGl0bGUgfSB9KTtcclxuICAgICAgLy8gc2V0RWRpdFR5cGUocHJvcHMuZWRpdElkVHlwZSk7XHJcbiAgICAgIG1vZGFsUmVmLmN1cnJlbnQ/LnNob3dGb3JtKCk7XHJcbiAgICB9LFxyXG4gICAgaGlkZTogKCkgPT4ge1xyXG4gICAgICBzZXRQYXJhbXMoe30pO1xyXG4gICAgICAvLyBzZXRFZGl0VHlwZShcIlwiKTtcclxuICAgICAgbW9kYWxSZWYuY3VycmVudD8uc2hvd0Zvcm0oKTtcclxuICAgIH0sXHJcbiAgfSkpO1xyXG4gIGNvbnN0IHsgZm9ybUNvZGUsIC4uLm90aGVycyB9ID0gcGFyYW1zO1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2PlxyXG4gICAgICA8U2V0dGluZ0Zvcm1cclxuICAgICAgICBmb3JtQ29kZT17cGFyYW1zLmZvcm1Db2RlfVxyXG4gICAgICAgIGZvcm1UeXBlPVwibW9kYWxcIlxyXG4gICAgICAgIHJlZj17bW9kYWxSZWZ9XHJcbiAgICAgICAgey4uLm90aGVyc31cclxuICAgICAgPjwvU2V0dGluZ0Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59KTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgT3BlblBhcm1zIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGZvcm1Db2RlOiBzdHJpbmc7XHJcbiAgZWRpdFR5cGU/OiBzdHJpbmc7XHJcbiAgZWRpdElkPzogc3RyaW5nO1xyXG4gIGZvb3Rlcj86IGJvb2xlYW47XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQXlCQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3BFLE9BQU8sS0FBS0MsTUFBTSxNQUFNLE9BQU87QUFDL0IsT0FBT0MsT0FBTyxNQUFNLFVBQVU7QUFDOUIsT0FBT0MsVUFBVSxNQUFNLGFBQWE7QUFDcEMsT0FBTyxLQUFLQyxRQUFRLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsU0FBU0MsYUFBYSxRQUFRLG1CQUFtQjtBQUNqRCxPQUFPQyxXQUFXLE1BQU0sY0FBYztBQUN0QyxPQUFPQyxLQUFLLE1BQU0sa0JBQWtCO0FBSXBDLE9BQU9DLFdBQVcsTUFBTSxnQkFBZ0I7QUFDeEMsT0FBTyxNQUFNQyxXQUFXLEdBQUc7RUFDekJWLE1BQU07RUFDTkMsT0FBTztFQUNQQyxVQUFVO0VBQ1ZDLFFBQVE7RUFDUkMsS0FBSztFQUNMTyxhQUFhLEVBQUVkLEtBQUssQ0FBQ2M7QUFDdkIsQ0FBUTtBQUVSLE9BQU8sTUFBTUMsb0JBQW9CLEdBQUdDLElBQUEsSUFNOUI7RUFBQSxJQU4rQjtJQUNuQ0MsVUFBVTtJQUNWQyxPQUFPO0lBQ1BDLEtBQUs7SUFDTEMsT0FBTztJQUNQQyxJQUFJLEdBQUc7RUFDVCxDQUFDLEdBQUFMLElBQUE7RUFDQyxJQUFJQyxVQUFVLENBQUNLLE1BQU0sSUFBSSxDQUFDLEVBQUU7SUFDMUIsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxNQUFNO0lBQ0wsT0FBT0ws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
249
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTnNjQ29tIiwiTnNjRmlsZSIsIk5zY1JlcXVlc3QiLCJOc2NVdGlscyIsImRheWpzIiwiQnV0dG9uIiwiZ2V0TG9jYWxTdG9yZSIsInF1ZXJ5U3RyaW5nIiwiTW9kYWwiLCJTZXR0aW5nRm9ybSIsIlNldHRpbmdDaGFydCIsImRlZmF1bHRVdGlsIiwiY3JlYXRlRWxlbWVudCIsInJlbmRlclNlbGZUb29sQnV0dG9uIiwiX3JlZiIsInNlbGZCdXR0b24iLCJwYWdlUmVmIiwiZnVuY3MiLCJsb2FkaW5nIiwidHlwZSIsImxlbmd0aCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInBhZ2VUeXBlIiwia2V5Iiwib25DbGljayIsImV2ZW50T3B0aW9uIiwiZnVuYyIsIkZ1bmN0aW9uIiwiY29kZSIsIm5hbWUiLCJyZW5kZXJTZWxmQ29sdW1uQnV0dG9uIiwiX3JlZjIiLCJzZWxmQ29sdW1uQnV0dG9uIiwicmVjb3JkIiwicmVjb3JkU2hvdyIsImp1bXBQYWdlIiwicGFyYW1zIiwicGF0aG5hbWUiLCJxdWVyeSIsImlkIiwidGl0bGUiLCJzZXJ2aWNlTmFtZSIsInNlcnZpY2VQYXRoIiwib3BlblR5cGUiLCJuZXdRdWVyeSIsIl9vYmplY3RTcHJlYWQiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsImRhdGEiLCJwYXJlbnQiLCJwb3N0TWVzc2FnZSIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJsb2NhdGlvbiIsIm9yaWdpbiIsImhpc3RvcnkiLCJwdXNoU3RhdGUiLCJnbyIsImdldFByb2plY3QiLCJwcm9qZWN0IiwiY29udmVydFN0cmluZ1RvT2JqIiwiVXRpbHMiLCJjb252ZXJQYXJhbXMiLCJNb2RhbE1hbmFnZXIiLCJtb2RhbFJlZnMiLCJyZWdpc3RlciIsInJlZiIsInNob3dNb2RhbCIsInByb3BzIiwibW9kYWxSZWYiLCJjdXJyZW50Iiwic2hvdyIsImNvbnNvbGUiLCJlcnJvciIsImhpZGVNb2RhbCIsImhpZGUiLCJkZWZhdWx0Q29tRnVuY3MiLCJnZXRDdXJyZW50UHJvamVjdCIsIm9wZW5Gb3JtUGFnZSIsImZvcm1Db2RlIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiRGF0ZSIsImdldFRpbWUiLCJNb2RhbENoYXJ0IiwiZm9yd2FyZFJlZiIsInNldFBhcmFtcyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJfbW9kYWxSZWYkY3VycmVudCIsIl9tb2RhbFJlZiRjdXJyZW50MiIsImNoYXJ0Q29kZSIsIm90aGVycyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsImZvb3RlciIsIndpZHRoIiwiX2V4dGVuZHMiLCJNb2RhbEZvcm0iLCJfbW9kYWxSZWYkY3VycmVudDMiLCJtb2RhbFByb3BzIiwic2hvd0Zvcm0iLCJfbW9kYWxSZWYkY3VycmVudDQiLCJfZXhjbHVkZWQyIiwiZm9ybVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdVdGlsL3V0aWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NDb20gZnJvbSBcIi4vY29tXCI7XHJcbmltcG9ydCBOc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0ICogYXMgTnNjVXRpbHMgZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TG9jYWxTdG9yZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgcXVlcnlTdHJpbmcgZnJvbSBcInF1ZXJ5LXN0cmluZ1wiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL2Jhc2UvbW9kYWxcIjtcclxuXHJcbmltcG9ydCBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XHJcbmltcG9ydCBGb3JtUGFnZSBmcm9tIFwiLi4vRm9ybVBhZ2VcIjtcclxuaW1wb3J0IFNldHRpbmdGb3JtIGZyb20gXCIuLi9TZXR0aW5nRm9ybVwiO1xyXG5pbXBvcnQgU2V0dGluZ0NoYXJ0IGZyb20gXCIuLi9TZXR0aW5nQ2hhcnRcIjtcclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRVdGlsID0ge1xyXG4gIE5zY0NvbSxcclxuICBOc2NGaWxlLFxyXG4gIE5zY1JlcXVlc3QsXHJcbiAgTnNjVXRpbHMsXHJcbiAgZGF5anMsXHJcbiAgY3JlYXRlRWxlbWVudDogUmVhY3QuY3JlYXRlRWxlbWVudCxcclxufSBhcyBhbnk7XHJcblxyXG5leHBvcnQgY29uc3QgcmVuZGVyU2VsZlRvb2xCdXR0b24gPSAoe1xyXG4gIHNlbGZCdXR0b24sXHJcbiAgcGFnZVJlZixcclxuICBmdW5jcyxcclxuICBsb2FkaW5nLFxyXG4gIHR5cGUgPSBcInRvb2xCdXR0b25cIixcclxufSkgPT4ge1xyXG4gIGlmIChzZWxmQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZCdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBwYWdlVHlwZT17dHlwZX1cclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHsgcGFnZVJlZjogcGFnZVJlZiwgZnVuY3M6IGZ1bmNzIH07XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBpdGVtLm9uQ2xpY2spO1xyXG4gICAgICAgICAgICBmdW5jKGRlZmF1bHRVdGlsLCBldmVudE9wdGlvbik7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY29kZT17aXRlbS5jb2RlfVxyXG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ1tpdGVtLmNvZGVdID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtLm5hbWV9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVuZGVyU2VsZkNvbHVtbkJ1dHRvbiA9ICh7XHJcbiAgc2VsZkNvbHVtbkJ1dHRvbixcclxuICBwYWdlUmVmLFxyXG4gIGZ1bmNzLFxyXG59KSA9PiB7XHJcbiAgaWYgKHNlbGZDb2x1bW5CdXR0b24ubGVuZ3RoID09IDApIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc2VsZkNvbHVtbkJ1dHRvbi5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHBhZ2VUeXBlPVwiY29sdW1uQnV0dG9uXCJcclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHtcclxuICAgICAgICAgICAgICBwYWdlUmVmOiBwYWdlUmVmLFxyXG4gICAgICAgICAgICAgIHJlY29yZDogcmVjb3JkLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiBmdW5jcyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIGl0ZW0ub25DbGljayk7XHJcbiAgICAgICAgICAgIGZ1bmMoZGVmYXVsdFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICByZWNvcmRTaG93PXtpdGVtLnJlY29yZFNob3d9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmludGVyZmFjZSBJUGFyYW1zIHtcclxuICBwYXRobmFtZT86IHN0cmluZztcclxuICBxdWVyeT86IGFueTtcclxuICBpZD86IHN0cmluZztcclxuICBzZXJ2aWNlTmFtZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzZXJ2aWNlUGF0aD86IHN0cmluZztcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBvcGVuVHlwZT86IG51bWJlcjtcclxufVxyXG5cclxuY29uc3QganVtcFBhZ2UgPSAocGFyYW1zOiBJUGFyYW1zLCB0eXBlPzogXCJhZGRUYWJcIiB8IFwianVtcE1lbnVcIikgPT4ge1xyXG4gIGNvbnN0IHtcclxuICAgIHBhdGhuYW1lLFxyXG4gICAgcXVlcnkgPSB7fSxcclxuICAgIGlkLFxyXG4gICAgdGl0bGUsXHJcbiAgICBzZXJ2aWNlTmFtZSxcclxuICAgIHNlcnZpY2VQYXRoLFxyXG4gICAgb3BlblR5cGUsXHJcbiAgfSA9IHBhcmFtcztcclxuICBjb25zdCBuZXdRdWVyeSA9IHsgLi4ucXVlcnkgfSBhcyBhbnk7XHJcbiAgY29uc3QgdXJsUGFyYW1zID0gcXVlcnlTdHJpbmcuc3RyaW5naWZ5KG5ld1F1ZXJ5KTtcclxuICBjb25zdCBwYXRoID0gdXJsUGFyYW1zID8gYCR7cGF0aG5hbWV9PyR7dXJsUGFyYW1zfWAgOiBwYXRobmFtZTtcclxuICAvL0B0cy1pZ25vcmVcclxuICBpZiAod2luZG93Ll9fUE9XRVJFRF9CWV9RSUFOS1VOX18pIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHRpdGxlOiB0aXRsZSB8fCBcIuaWsOagh+etvlwiLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsIC8v6YWN572u55qE5b6u5bqU55So5ZCN56ewXHJcbiAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlUGF0aCwgLy/phY3nva7nmoTlvq7lupTnlKjlhaXlj6PlnLDlnYBcclxuICAgICAgcGF0aDogcGF0aCwgLy/mlrDmoIfnrb7nmoR1cmws5rKh6YWN572uc2VydmljZU5hbWUgcGF0aOS4uuWujOaVtOi3r+W+hFxyXG4gICAgICBpZDogaWQsIC8v6Ieq5a6a5LmJ5ZSv5LiA5YC8XHJcbiAgICAgIG9wZW5UeXBlOiBvcGVuVHlwZSA/IG9wZW5UeXBlIDogNCwgLy/miZPlvIDmlrnlvI8gNOS9jeW+ruWJjeerrywgM+S4umlmcmFtZSAs6buY6K6kIDNcclxuICAgIH07XHJcbiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZXZlbnRUeXBlOiB0eXBlID8gdHlwZSA6IFwiYWRkVGFiXCIsXHJcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lID8gc2VydmljZU5hbWUgOiBcInNldHRpbmctd2ViXCIsXHJcbiAgICAgICAgcGF5bG9hZDogdHlwZSA/IHBhcmFtcyA6IGRhdGEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgXCJcIiwgcGF0aCk7XHJcbiAgICB3aW5kb3cuaGlzdG9yeS5nbygpO1xyXG4gIH1cclxufTtcclxuY29uc3QgZ2V0UHJvamVjdCA9ICgpID0+IHtcclxuICBjb25zdCBwcm9qZWN0ID0gZ2V0TG9jYWxTdG9yZSh7IG5hbWU6IFwibnNjLWhvbWUtcHJvamVjdFwiIH0pIHx8IHt9O1xyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRTdHJpbmdUb09iaiA9IChkYXRhLCBVdGlscywgZXZlbnRPcHRpb24pID0+IHtcclxuICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICBsZXQgZnVuYyA9IG5ldyBGdW5jdGlvbihcImV2ZW50T3B0aW9uLFV0aWxzXCIsIGRhdGEpO1xyXG4gICAgbGV0IGNvbnZlclBhcmFtcyA9IGZ1bmMoZXZlbnRPcHRpb24sIFV0aWxzKTtcclxuICAgIGRhdGEgPSBjb252ZXJQYXJhbXM7XHJcbiAgfSBlbHNlIHtcclxuICAgIGRhdGEgPSBkYXRhIHx8IHt9O1xyXG4gIH1cclxuICByZXR1cm4gZGF0YTtcclxufTtcclxuZXhwb3J0IGNvbnN0IE1vZGFsTWFuYWdlciA9IHtcclxuICBtb2RhbFJlZnM6IHt9LCAvLyDkvb/nlKjlr7nosaHlrZjlgqjlpJrkuKrmqKHmgIHmoYblvJXnlKhcclxuICByZWdpc3RlcjogZnVuY3Rpb24gKG5hbWUsIHJlZikge1xyXG4gICAgdGhpcy5tb2RhbFJlZnNbbmFtZV0gPSByZWY7XHJcbiAgfSxcclxuICBzaG93TW9kYWw6IGZ1bmN0aW9uIChuYW1lLCBwcm9wcykge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsUmVmc1tuYW1lXTtcclxuICAgIGlmIChtb2RhbFJlZiAmJiBtb2RhbFJlZi5jdXJyZW50KSB7XHJcbiAgICAgIG1vZGFsUmVmLmN1cnJlbnQuc2hvdyhwcm9wcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBNb2RhbCAke25hbWV9IOW8leeUqOacquazqOWGjGApO1xyXG4gICAgfVxyXG4gIH0sXHJcbiAgaGlkZU1vZGFsOiBmdW5jdGlvbiAobmFtZSkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsUmVmc1tuYW1lXTtcclxuICAgIGlmIChtb2RhbFJlZiAmJiBtb2RhbFJlZi5jdXJyZW50KSB7XHJcbiAgICAgIG1vZGFsUmVmLmN1cnJlbnQuaGlkZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgTW9kYWwgJHtuYW1lfSDlvJXnlKjmnKrms6jlhoxgKTtcclxuICAgIH1cclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb21GdW5jcyA9IHtcclxuICBoaXN0b3J5OiAocGFyYW1zLCB0eXBlKSA9PiB7XHJcbiAgICBqdW1wUGFnZShwYXJhbXMsIHR5cGUpO1xyXG4gIH0sXHJcbiAgZ2V0Q3VycmVudFByb2plY3Q6ICgpID0+IHtcclxuICAgIHJldHVybiBnZXRQcm9qZWN0KCk7XHJcbiAgfSxcclxuICBvcGVuRm9ybVBhZ2U6IChwYXJhbXMsIGZvcm1Db2RlLCB0eXBlID0gXCJhZGRcIikgPT4ge1xyXG4gICAganVtcFBhZ2Uoe1xyXG4gICAgICBwYXRobmFtZTogYC9mb3JtcGFnZS8ke3R5cGV9L2Zvcm0vJHtmb3JtQ29kZX1gLFxyXG4gICAgICBpZDogbmV3IERhdGUoKS5nZXRUaW1lKCksXHJcbiAgICAgIHRpdGxlOiBcIuihqOWNlemhtemdolwiLFxyXG4gICAgICAuLi5wYXJhbXMsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBcInNldHRpbmctd2ViXCIsXHJcbiAgICAgIHNlcnZpY2VQYXRoOiBcIi9zZXR0aW5nXCIsXHJcbiAgICAgIG9wZW5UeXBlOiA0LFxyXG4gICAgfSk7XHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBNb2RhbENoYXJ0ID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHM6IGFueSwgcmVmKSA9PiB7XHJcbiAgY29uc3QgbW9kYWxSZWY6IGFueSA9IHVzZVJlZihudWxsKTtcclxuXHJcbiAgY29uc3QgW3BhcmFtcywgc2V0UGFyYW1zXSA9IHVzZVN0YXRlKHt9IGFzIGFueSk7XHJcbiAgUmVhY3QudXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XHJcbiAgICBzaG93OiAocHJvcHMpID0+IHtcclxuICAgICAgc2V0UGFyYW1zKHsgLi4ucHJvcHMgfSk7XHJcbiAgICAgIG1vZGFsUmVmLmN1cnJlbnQ/LnNob3coKTtcclxuICAgIH0sXHJcbiAgICBoaWRlOiAoKSA9PiB7XHJcbiAgICAgIHNldFBhcmFtcyh7fSk7XHJcbiAgICAgIG1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgIH0sXHJcbiAgfSkpO1xyXG4gIGNvbnN0IHsgY2hhcnRDb2RlLCAuLi5vdGhlcnMgfSA9IHBhcmFtcztcclxuICByZXR1cm4gKFxyXG4gICAgPE1vZGFsXHJcbiAgICAgIHJlZj17bW9kYWxSZWZ9XHJcbiAgICAgIHR5cGU9XCJtb2RhbFwiXHJcbiAgICAgIHRpdGxlPXtwcm9wcy50aXRsZSB8fCBcIuWbvuihqOafpeeci1wifVxyXG4gICAgICBmb290ZXI9e251bGx9XHJcbiAgICAgIHdpZHRoPXtcIjYwdndcIn1cclxuICAgID5cclxuICAgICAgPFNldHRpbmdDaGFydCBjaGFydENvZGU9e3BhcmFtcy5jaGFydENvZGV9IHsuLi5vdGhlcnN9PjwvU2V0dGluZ0NoYXJ0PlxyXG4gICAgPC9Nb2RhbD5cclxuICApO1xyXG59KTtcclxuXHJcbmV4cG9ydCBjb25zdCBNb2RhbEZvcm0gPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XHJcbiAgY29uc3QgbW9kYWxSZWY6IGFueSA9IHVzZVJlZihudWxsKTtcclxuICAvLyBjb25zdCBbZm9ybUNvZGUsIHNldEZvcm1Db2RlXSA9IHVzZVN0YXRlKFwiXCIpO1xyXG4gIC8vIGNvbnN0IFtlZGl0SWRUeXBlLCBzZXRFZGl0VHlwZV0gPSB1c2VTdGF0ZShcIlwiKTtcclxuICBjb25zdCBbcGFyYW1zLCBzZXRQYXJhbXNdID0gdXNlU3RhdGUoe30gYXMgYW55KTtcclxuICBSZWFjdC51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcclxuICAgIHNob3c6IChwcm9wcykgPT4ge1xyXG4gICAgICAvLyBjb25zdCB7Zm9ybUNvZGUsZWR9XHJcbiAgICAgIHNldFBhcmFtcyh7IC4uLnByb3BzLCBtb2RhbFByb3BzOiB7IHRpdGxlOiBwcm9wcy50aXRsZSB9IH0pO1xyXG4gICAgICAvLyBzZXRFZGl0VHlwZShwcm9wcy5lZGl0SWRUeXBlKTtcclxuICAgICAgbW9kYWxSZWYuY3VycmVudD8uc2hvd0Zvcm0oKTtcclxuICAgIH0sXHJcbiAgICBoaWRlOiAoKSA9PiB7XHJcbiAgICAgIHNldFBhcmFtcyh7fSk7XHJcbiAgICAgIC8vIHNldEVkaXRUeXBlKFwiXCIpO1xyXG4gICAgICBtb2RhbFJlZi5jdXJyZW50Py5zaG93Rm9ybSgpO1xyXG4gICAgfSxcclxuICB9KSk7XHJcbiAgY29uc3QgeyBmb3JtQ29kZSwgLi4ub3RoZXJzIH0gPSBwYXJhbXM7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXY+XHJcbiAgICAgIDxTZXR0aW5nRm9ybVxyXG4gICAgICAgIGZvcm1Db2RlPXtwYXJhbXMuZm9ybUNvZGV9XHJcbiAgICAgICAgZm9ybVR5cGU9XCJtb2RhbFwiXHJcbiAgICAgICAgcmVmPXttb2RhbFJlZn1cclxuICAgICAgICB7Li4ub3RoZXJzfVxyXG4gICAgICA+PC9TZXR0aW5nRm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn0pO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPcGVuUGFybXMge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZm9ybUNvZGU6IHN0cmluZztcclxuICBlZGl0VHlwZT86IHN0cmluZztcclxuICBlZGl0SWQ/OiBzdHJpbmc7XHJcbiAgZm9vdGVyPzogYm9vbGVhbjtcclxuICB3aWR0aD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPcGVuQ2hhcnRQYXJtcyB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxu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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["React","useRef","useState","NscCom","NscFile","NscRequest","NscUtils","dayjs","Button","getLocalStore","queryString","Modal","SettingForm","defaultUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","jumpPage","params","pathname","query","id","title","serviceName","servicePath","openType","newQuery","_objectSpread","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","data","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","convertStringToObj","Utils","converParams","ModalIndex","forwardRef","props","ref","modalRef","useImperativeHandle","show","current","hide","ModalManager","register","showModal","console","error","hideModal","defaultComFuncs","getCurrentProject","openFormPage","formCode","arguments","undefined","Date","getTime","ModalForm","setParams","_modalRef$current","modalProps","showForm","_modalRef$current2","others","_objectWithoutProperties","_excluded","_extends","formType"],"sources":["../../../src/components/page/SettingUtil/utils.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport Button from \"../../base/button\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport queryString from \"query-string\";\r\nimport Modal from \"../../base/modal\";\r\n\r\nimport ReactDOM from \"react-dom\";\r\nimport FormPage from \"../FormPage\";\r\nimport SettingForm from \"../SettingForm\";\r\nexport const defaultUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\n\r\nexport const renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaultUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nexport const renderSelfColumnButton = ({\r\n selfColumnButton,\r\n pageRef,\r\n funcs,\r\n}) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaultUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\n\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\n\r\nexport const convertStringToObj = (data, Utils, eventOption) => {\r\n if (data && typeof data == \"string\") {\r\n let func = new Function(\"eventOption,Utils\", data);\r\n let converParams = func(eventOption, Utils);\r\n data = converParams;\r\n } else {\r\n data = data || {};\r\n }\r\n return data;\r\n};\r\n// const modalRef: any = useRef(null);\r\nconst ModalIndex = React.forwardRef((props, ref) => {\r\n // const [isVisible, setIsVisible] = React.useState(false);\r\n const modalRef: any = useRef(null);\r\n // 使用useImperativeHandle向父组件暴露方法\r\n React.useImperativeHandle(ref, () => ({\r\n show: () => {\r\n modalRef.current.show();\r\n },\r\n hide: () => {\r\n modalRef.current.hide();\r\n },\r\n }));\r\n\r\n return <Modal></Modal>;\r\n});\r\nexport const ModalManager = {\r\n modalRef: null,\r\n register: function (ref) {\r\n this.modalRef = ref;\r\n },\r\n showModal: function (props) {\r\n if (this.modalRef && this.modalRef.current) {\r\n this.modalRef.current.show(props);\r\n } else {\r\n console.error(\"Modal引用未注册\");\r\n }\r\n },\r\n hideModal: function () {\r\n if (this.modalRef && this.modalRef.current) {\r\n this.modalRef.current.hide();\r\n }\r\n },\r\n};\r\n\r\nexport const defaultComFuncs = {\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n openFormPage: (params, formCode, type = \"add\") => {\r\n jumpPage({\r\n pathname: `/formpage/${type}/form/${formCode}`,\r\n id: new Date().getTime(),\r\n title: \"表单页面\",\r\n ...params,\r\n serviceName: \"setting-web\",\r\n servicePath: \"/setting\",\r\n openType: 4,\r\n });\r\n },\r\n};\r\n\r\nexport const ModalForm = React.forwardRef((props, ref) => {\r\n const modalRef: any = useRef(null);\r\n // const [formCode, setFormCode] = useState(\"\");\r\n // const [editIdType, setEditType] = useState(\"\");\r\n const [params, setParams] = useState({} as any);\r\n React.useImperativeHandle(ref, () => ({\r\n show: (props) => {\r\n // const {formCode,ed}\r\n setParams({ ...props, modalProps: { title: props.title } });\r\n // setEditType(props.editIdType);\r\n modalRef.current?.showForm();\r\n },\r\n hide: () => {\r\n setParams({});\r\n // setEditType(\"\");\r\n modalRef.current?.showForm();\r\n },\r\n }));\r\n const { formCode, ...others } = params;\r\n return (\r\n <div>\r\n <SettingForm\r\n formCode={params.formCode}\r\n formType=\"modal\"\r\n ref={modalRef}\r\n {...others}\r\n ></SettingForm>\r\n </div>\r\n );\r\n});\r\n\r\nexport interface OpenParms {\r\n title: string;\r\n formCode: string;\r\n editType?: string;\r\n editId?: string;\r\n footer?: boolean;\r\n width?: number;\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["React","useRef","useState","NscCom","NscFile","NscRequest","NscUtils","dayjs","Button","getLocalStore","queryString","Modal","SettingForm","SettingChart","defaultUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","jumpPage","params","pathname","query","id","title","serviceName","servicePath","openType","newQuery","_objectSpread","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","data","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","convertStringToObj","Utils","converParams","ModalManager","modalRefs","register","ref","showModal","props","modalRef","current","show","console","error","hideModal","hide","defaultComFuncs","getCurrentProject","openFormPage","formCode","arguments","undefined","Date","getTime","ModalChart","forwardRef","setParams","useImperativeHandle","_modalRef$current","_modalRef$current2","chartCode","others","_objectWithoutProperties","_excluded","footer","width","_extends","ModalForm","_modalRef$current3","modalProps","showForm","_modalRef$current4","_excluded2","formType"],"sources":["../../../src/components/page/SettingUtil/utils.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport Button from \"../../base/button\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport queryString from \"query-string\";\r\nimport Modal from \"../../base/modal\";\r\n\r\nimport ReactDOM from \"react-dom\";\r\nimport FormPage from \"../FormPage\";\r\nimport SettingForm from \"../SettingForm\";\r\nimport SettingChart from \"../SettingChart\";\r\nexport const defaultUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\n\r\nexport const renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaultUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nexport const renderSelfColumnButton = ({\r\n selfColumnButton,\r\n pageRef,\r\n funcs,\r\n}) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaultUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\n\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\n\r\nexport const convertStringToObj = (data, Utils, eventOption) => {\r\n if (data && typeof data == \"string\") {\r\n let func = new Function(\"eventOption,Utils\", data);\r\n let converParams = func(eventOption, Utils);\r\n data = converParams;\r\n } else {\r\n data = data || {};\r\n }\r\n return data;\r\n};\r\nexport const ModalManager = {\r\n modalRefs: {}, // 使用对象存储多个模态框引用\r\n register: function (name, ref) {\r\n this.modalRefs[name] = ref;\r\n },\r\n showModal: function (name, props) {\r\n const modalRef = this.modalRefs[name];\r\n if (modalRef && modalRef.current) {\r\n modalRef.current.show(props);\r\n } else {\r\n console.error(`Modal ${name} 引用未注册`);\r\n }\r\n },\r\n hideModal: function (name) {\r\n const modalRef = this.modalRefs[name];\r\n if (modalRef && modalRef.current) {\r\n modalRef.current.hide();\r\n } else {\r\n console.error(`Modal ${name} 引用未注册`);\r\n }\r\n },\r\n};\r\n\r\nexport const defaultComFuncs = {\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n openFormPage: (params, formCode, type = \"add\") => {\r\n jumpPage({\r\n pathname: `/formpage/${type}/form/${formCode}`,\r\n id: new Date().getTime(),\r\n title: \"表单页面\",\r\n ...params,\r\n serviceName: \"setting-web\",\r\n servicePath: \"/setting\",\r\n openType: 4,\r\n });\r\n },\r\n};\r\n\r\nexport const ModalChart = React.forwardRef((props: any, ref) => {\r\n const modalRef: any = useRef(null);\r\n\r\n const [params, setParams] = useState({} as any);\r\n React.useImperativeHandle(ref, () => ({\r\n show: (props) => {\r\n setParams({ ...props });\r\n modalRef.current?.show();\r\n },\r\n hide: () => {\r\n setParams({});\r\n modalRef.current?.hide();\r\n },\r\n }));\r\n const { chartCode, ...others } = params;\r\n return (\r\n <Modal\r\n ref={modalRef}\r\n type=\"modal\"\r\n title={props.title || \"图表查看\"}\r\n footer={null}\r\n width={\"60vw\"}\r\n >\r\n <SettingChart chartCode={params.chartCode} {...others}></SettingChart>\r\n </Modal>\r\n );\r\n});\r\n\r\nexport const ModalForm = React.forwardRef((props, ref) => {\r\n const modalRef: any = useRef(null);\r\n // const [formCode, setFormCode] = useState(\"\");\r\n // const [editIdType, setEditType] = useState(\"\");\r\n const [params, setParams] = useState({} as any);\r\n React.useImperativeHandle(ref, () => ({\r\n show: (props) => {\r\n // const {formCode,ed}\r\n setParams({ ...props, modalProps: { title: props.title } });\r\n // setEditType(props.editIdType);\r\n modalRef.current?.showForm();\r\n },\r\n hide: () => {\r\n setParams({});\r\n // setEditType(\"\");\r\n modalRef.current?.showForm();\r\n },\r\n }));\r\n const { formCode, ...others } = params;\r\n return (\r\n <div>\r\n <SettingForm\r\n formCode={params.formCode}\r\n formType=\"modal\"\r\n ref={modalRef}\r\n {...others}\r\n ></SettingForm>\r\n </div>\r\n );\r\n});\r\n\r\nexport interface OpenParms {\r\n title: string;\r\n formCode: string;\r\n editType?: string;\r\n editId?: string;\r\n footer?: boolean;\r\n width?: number;\r\n}\r\n\r\nexport interface OpenChartParms {\r\n title: string;\r\n cahrtCode: string;\r\n option;\r\n}\r\n"],"mappings":"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"}
package/lib/utils.d.ts CHANGED
@@ -22,5 +22,6 @@ declare const _default: {
22
22
  getCacheKey: typeof getCacheKey;
23
23
  checkChars: typeof checkChars;
24
24
  px2vw: typeof px2vw;
25
+ deepMerge: typeof deepMerge;
25
26
  };
26
27
  export default _default;
package/lib/utils.js CHANGED
@@ -247,6 +247,7 @@ export default {
247
247
  decryptValue,
248
248
  getCacheKey,
249
249
  checkChars,
250
- px2vw
250
+ px2vw,
251
+ deepMerge
251
252
  };
252
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzbTJFbmNyeXB0VmFsdWUiLCJzbTRFbmNyeXB0IiwiYmFzZTY0RW5jcnlwdCIsIm1kNUVuY3J5cHQiLCJjaGVja1ZhbHVlIiwic20yRGVjcnlwdFZhbHVlIiwic200RGVjcnlwdCIsImJhc2U2NERlY3J5cHQiLCJpc0VtcHR5T2JqIiwiaXNFbXB0eSIsIkljb25Gb250IiwiUmVhY3QiLCJSYWRpbyIsIklucHV0IiwiU2VsZWN0IiwiQ2FzY2FkZXIiLCJDaGVja2JveCIsIkRhdGVQaWNrZXIiLCJSYW5nZVBpY2tlciIsIlN3aXRjaCIsIlVwbG9hZCIsIlBhc3N3b3JkIiwiVGV4dEFyZWEiLCJJbnB1dE51bWJlciIsImdldENvbmZpZyIsIkFudEljb24iLCJpY29ucyIsImxvZGFzaCIsImVuY3J5cHRWYWx1ZSIsImVuY3J5cHQiLCJ2YWx1ZSIsInR5cGUiLCJrZXkiLCJkZWNyeXB0VmFsdWUiLCJkZWNyeXB0IiwiY2hlY2tNb2RlbCIsImNoZWNrdHlwZSIsImdldENhY2hlS2V5Iiwic290cmUiLCJ2aWV3bmFtZSIsInJlcXVlc3RDb25maWciLCJ1cmwiLCJKU09OIiwic3RyaW5naWZ5IiwiY2hlY2tDaGFycyIsInJlZyIsInRlc3QiLCJweDJ2dyIsInB4VmFsdWUiLCJiYXNlVmFsdWUiLCJiYXNlV2lkdGgiLCJ0b0ZpeGVkIiwiZ2V0SWNvbiIsImljb24iLCJkZWZhdWx0SWNvbiIsImljb25QcmVmaXgiLCJzaG93SWNvbiIsInN0YXJ0c1dpdGgiLCJjcmVhdGVFbGVtZW50IiwiY29tcG9uZW50IiwiZ2V0Tm9kZSIsInByb3BzIiwiRElWIiwiR3JvdXAiLCJkZWJvdW5jZSIsImZuIiwibXMiLCJ0aW1lcklkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFwcGx5IiwiYXJndW1lbnRzIiwidGhyb3R0bGUiLCJnZXRMZXNzIiwic3R5bGVzIiwibmFtZSIsImNvbnZlckZ1bmN0aW9uIiwiZnVuYyIsImV2ZW50T3B0aW9uIiwiVXRpbHMiLCJzZWxmRnVuYyIsIkZ1bmN0aW9uIiwic2ltcGxpZnlPYmplY3QiLCJvYmoiLCJyZXN1bHQiLCJ2YWwiLCJzaW1wbGlmeUNvbHVtbnMiLCJjb2x1bW5zIiwibWFwIiwiY29sIiwiZGVlcE1lcmdlIiwibGVuZ3RoIiwiY2xvbmVEZWVwIiwidW5kZWZpbmVkIiwiaSIsInNvdXJjZSIsIk9iamVjdCIsImVudHJpZXMiLCJpc1BsYWluT2JqZWN0IiwiQXJyYXkiLCJpc0FycmF5Il0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudHMvdXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0xMiAxNzozMjo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjIgMTc6MTQ6MDRcclxuICovXHJcbmltcG9ydCB7XHJcbiAgc20yRW5jcnlwdFZhbHVlLFxyXG4gIHNtNEVuY3J5cHQsXHJcbiAgYmFzZTY0RW5jcnlwdCxcclxuICBtZDVFbmNyeXB0LFxyXG4gIGNoZWNrVmFsdWUsXHJcbiAgc20yRGVjcnlwdFZhbHVlLFxyXG4gIHNtNERlY3J5cHQsXHJcbiAgYmFzZTY0RGVjcnlwdCxcclxuICBpc0VtcHR5T2JqLFxyXG59IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBlbmNyeXB0IH0gZnJvbSBcIi4vSW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBJY29uRm9udCBmcm9tIFwiLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgUmFkaW8sXHJcbiAgSW5wdXQsXHJcbiAgU2VsZWN0LFxyXG4gIENhc2NhZGVyLFxyXG4gIENoZWNrYm94LFxyXG4gIERhdGVQaWNrZXIsXHJcbiAgUmFuZ2VQaWNrZXIsXHJcbiAgU3dpdGNoLFxyXG4gIFVwbG9hZCxcclxufSBmcm9tIFwiLlwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vYmFzZS9pbnB1dC9QYXNzd29yZFwiO1xyXG5pbXBvcnQgVGV4dEFyZWEgZnJvbSBcIi4vYmFzZS9pbnB1dC9UZXh0QXJlYVwiO1xyXG5pbXBvcnQgSW5wdXROdW1iZXIgZnJvbSBcIi4vYmFzZS9pbnB1dC9OdW1iZXJcIjtcclxuLy8gaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGdldENvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcclxuaW1wb3J0IEFudEljb24gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCAqIGFzIGljb25zIGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgbG9kYXNoIGZyb20gXCJsb2Rhc2hcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0VmFsdWUoZW5jcnlwdDogZW5jcnlwdCB8IGJvb2xlYW4sIHZhbHVlKSB7XHJcbiAgbGV0IGVuY3J5cHRWYWx1ZSA9IHZhbHVlO1xyXG4gIGlmIChlbmNyeXB0ICYmIHR5cGVvZiBlbmNyeXB0ID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGtleSB9ID0gZW5jcnlwdDtcclxuICAgIGlmICh0eXBlID09IFwic20yXCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0ga2V5ID8gc20yRW5jcnlwdFZhbHVlKHZhbHVlLCBrZXkpIDogc20yRW5jcnlwdFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNtNFwiKSB7XHJcbiAgICAgIGVuY3J5cHRWYWx1ZSA9IHNtNEVuY3J5cHQodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiYmFzZTY0XCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0gYmFzZTY0RW5jcnlwdCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJtZDVcIikge1xyXG4gICAgICBlbmNyeXB0VmFsdWUgPSBtZDVFbmNyeXB0KHZhbHVlKTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKGVuY3J5cHQgJiYgdHlwZW9mIGVuY3J5cHQgPT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICBlbmNyeXB0VmFsdWUgPSBzbTJFbmNyeXB0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuICByZXR1cm4gZW5jcnlwdFZhbHVlO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0VmFsdWUoZGVjcnlwdDogZW5jcnlwdCB8IGJvb2xlYW4sIHZhbHVlKSB7XHJcbiAgbGV0IGRlY3J5cHRWYWx1ZSA9IHZhbHVlO1xyXG4gIGlmIChkZWNyeXB0ICYmIHR5cGVvZiBkZWNyeXB0ID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGtleSB9ID0gZGVjcnlwdDtcclxuICAgIGlmICh0eXBlID09IFwic20yXCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0ga2V5ID8gc20yRGVjcnlwdFZhbHVlKHZhbHVlLCBrZXkpIDogc20yRGVjcnlwdFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNtNFwiKSB7XHJcbiAgICAgIGRlY3J5cHRWYWx1ZSA9IHNtNERlY3J5cHQodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiYmFzZTY0XCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0gYmFzZTY0RGVjcnlwdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmIChkZWNyeXB0ICYmIHR5cGVvZiBkZWNyeXB0ID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgZGVjcnlwdFZhbHVlID0gc20yRGVjcnlwdFZhbHVlKHZhbHVlKTtcclxuICB9XHJcbiAgcmV0dXJuIGRlY3J5cHRWYWx1ZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tNb2RlbChjaGVja3R5cGUsIHZhbHVlKSB7XHJcbiAgcmV0dXJuIGNoZWNrVmFsdWUodmFsdWUsIGNoZWNrdHlwZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWNoZUtleShzb3RyZSkge1xyXG4gIGNvbnN0IHsgdmlld25hbWUsIHJlcXVlc3RDb25maWcsIHVybCB9ID0gc290cmU7XHJcbiAgbGV0IGtleTtcclxuICBpZiAodmlld25hbWUpIHtcclxuICAgIGtleSA9IHZpZXduYW1lO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBrZXkgPSByZXF1ZXN0Q29uZmlnID8gdXJsICsgSlNPTi5zdHJpbmdpZnkocmVxdWVzdENvbmZpZykgOiB1cmw7XHJcbiAgfVxyXG4gIHJldHVybiBrZXk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjaGVja0NoYXJzKHZhbHVlOiBzdHJpbmcpIHtcclxuICBjb25zdCByZWcgPSAvXlswLTlhLXpBLVpcXHU0RTAwLVxcdTlGQTVcXHVGOTAwLVxcdUZBMkRdKiQvO1xyXG4gIHJldHVybiByZWcudGVzdCh2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIOi9rOaNonB45YiwdndcclxuZXhwb3J0IGZ1bmN0aW9uIHB4MnZ3KHB4VmFsdWU6IG51bWJlciwgYmFzZVZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBiYXNlV2lkdGggPSBiYXNlVmFsdWUgfHwgMTkyMDtcclxuICByZXR1cm4gKChweFZhbHVlICogMTAwKSAvIGJhc2VXaWR0aCkudG9GaXhlZCg0KSArIFwidndcIjtcclxufVxyXG5cclxuLy/ojrflj5ZJY29uXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJY29uKGljb24sIGRlZmF1bHRJY29uPzogYW55KSB7XHJcbiAgY29uc3QgeyBpY29uUHJlZml4IH0gPSBnZXRDb25maWcoKTtcclxuICBpZiAoIWlzRW1wdHkoaWNvbikgJiYgdHlwZW9mIGljb24gPT09IFwic3RyaW5nXCIpIHtcclxuICAgIGNvbnN0IHNob3dJY29uID0gaWNvbi5zdGFydHNXaXRoKGljb25QcmVmaXgpID8gKFxyXG4gICAgICA8SWNvbkZvbnQgdHlwZT17aWNvbn0gLz5cclxuICAgICkgOiAoXHJcbiAgICAgIDxBbnRJY29uIGNvbXBvbmVudD17aWNvbnNbaWNvbl19IC8+XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHNob3dJY29uO1xyXG4gIH0gZWxzZSBpZiAoZGVmYXVsdEljb24pIHtcclxuICAgIHJldHVybiA8SWNvbkZvbnQgdHlwZT17XCJpY29ueGlhbmdtdXNoZXpvbmdndWFubGlcIn0gLz47XHJcbiAgfVxyXG4gIHJldHVybiBpY29uO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROb2RlKHR5cGUsIHByb3BzKSB7XHJcbiAgbGV0IERJViA9IDxJbnB1dCB7Li4ucHJvcHN9IC8+O1xyXG4gIGlmICh0eXBlID09IFwiSW5wdXRcIikge1xyXG4gICAgRElWID0gPElucHV0IHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiU2VsZWN0XCIpIHtcclxuICAgIERJViA9IDxTZWxlY3Qgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJSYWRpb1wiKSB7XHJcbiAgICBESVYgPSA8UmFkaW8uR3JvdXAgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJDYXNjYWRlclwiKSB7XHJcbiAgICBESVYgPSA8Q2FzY2FkZXIgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJQYXNzd29yZFwiKSB7XHJcbiAgICBESVYgPSA8UGFzc3dvcmQgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJUZXh0QXJlYVwiKSB7XHJcbiAgICBESVYgPSA8VGV4dEFyZWEgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJDaGVja2JveFwiKSB7XHJcbiAgICBESVYgPSA8Q2hlY2tib3guR3JvdXAgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJEYXRlUGlja2VyXCIpIHtcclxuICAgIERJViA9IDxEYXRlUGlja2VyIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiTnVtYmVyXCIpIHtcclxuICAgIERJViA9IDxJbnB1dE51bWJlciB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIlVwbG9hZFwiKSB7XHJcbiAgICBESVYgPSA8VXBsb2FkIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiUmFuZ2VQaWNrZXJcIikge1xyXG4gICAgRElWID0gPFJhbmdlUGlja2VyIHsuLi5wcm9wc30gLz47XHJcbiAgfVxyXG4gIGlmICh0eXBlID09IFwiU3dpdGNoXCIpIHtcclxuICAgIERJViA9IDxTd2l0Y2ggey4uLnByb3BzfSAvPjtcclxuICB9XHJcbiAgcmV0dXJuIERJVjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlYm91bmNlKGZuLCBtcykge1xyXG4gIC8vZm466KaB6Ziy5oqW55qE5Ye95pWwIG1zOuaXtumXtFxyXG4gIGxldCB0aW1lcklkOyAvLyDliJvlu7rkuIDkuKrmoIforrDnlKjmnaXlrZjmlL7lrprml7blmajnmoTov5Tlm57lgLxcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgdGltZXJJZCAmJiBjbGVhclRpbWVvdXQodGltZXJJZCk7IC8vIOavj+W9k+eUqOaIt+i+k+WFpeeahOaXtuWAmeaKiuWJjeS4gOS4qiBzZXRUaW1lb3V0IGNsZWFyIOaOiVxyXG4gICAgLy8g54S25ZCO5Y+I5Yib5bu65LiA5Liq5paw55qEIHNldFRpbWVvdXQsIOi/meagt+WwseiDveS/neivgei+k+WFpeWtl+espuWQjueahCBpbnRlcnZhbCDpl7TpmpTlhoXlpoLmnpzov5jmnInlrZfnrKbovpPlhaXnmoTor53vvIzlsLHkuI3kvJrmiafooYwgZm4g5Ye95pWwXHJcbiAgICB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICB9LCBtcyk7XHJcbiAgfTtcclxuXHJcbiAgLy8gdmFyIHRpbWVyID0gbnVsbDtcclxuICAvLyByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gIC8vICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7IC8v5Y+C5pWw6ZuG5ZCIXHJcbiAgLy8gICBjb25zb2xlLmxvZygnYXJncycsYXJncylcclxuICAvLyAgIGNsZWFyVGltZW91dCh0aW1lcik7XHJcbiAgLy8gICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gIC8vICAgICBmbi5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAvLyAgIH0sIG1zKTtcclxuICAvLyB9O1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZShmbiwgbXMpIHtcclxuICBsZXQgdGltZXJJZDsgLy8g5Yib5bu65LiA5Liq5qCH6K6w55So5p2l5a2Y5pS+5a6a5pe25Zmo55qEaWRcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgLy8g5rKh5pyJ5a6a5pe25Zmo562J5b6F5omn6KGM77yM5YiZ6KGo56S65Y+v5Lul5Yib5bu65paw55qE5a6a5pe25Zmo5p2l5omn6KGM5Ye95pWwXHJcbiAgICBpZiAoIXRpbWVySWQpIHtcclxuICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIC8vIOWumuaXtuWZqGlk5riF56m677yM6KGo56S65Y+v5Lul5omn6KGM5LiL5LiA5qyh6LCD55So5LqGXHJcbiAgICAgICAgdGltZXJJZCA9IG51bGw7XHJcbiAgICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgfSwgbXMpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGNvbnN0IGdldExlc3MgPSAoc3R5bGVzOiBPYmplY3QsIG5hbWU6IHN0cmluZykgPT4ge1xyXG4gIGlmIChpc0VtcHR5T2JqKHN0eWxlcykpIHtcclxuICAgIHJldHVybiBuYW1lO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc3R5bGVzW25hbWVdO1xyXG4gIH1cclxufTtcclxuZXhwb3J0IGNvbnN0IGNvbnZlckZ1bmN0aW9uID0gKGZ1bmMsIGV2ZW50T3B0aW9uPzogYW55LCBVdGlscz86IGFueSkgPT4ge1xyXG4gIGlmICh0eXBlb2YgZnVuYyA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICBjb25zdCBzZWxmRnVuYyA9IG5ldyBGdW5jdGlvbihcImV2ZW50T3B0aW9uXCIsIFwiVXRpbHNcIiwgZnVuYyk7XHJcbiAgICBzZWxmRnVuYyhldmVudE9wdGlvbiwgVXRpbHMpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBmdW5jKGV2ZW50T3B0aW9uLCBVdGlscyk7XHJcbiAgfVxyXG59O1xyXG5cclxuLy8g5L+d55WZ5Y6f5a+56LGh5Lit5omA5pyJ4oCc5Z+656GA57G75Z6L4oCd55qE5a2X5q61XHJcbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGlmeU9iamVjdChvYmopIHtcclxuICBjb25zdCByZXN1bHQgPSB7fTtcclxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgIGNvbnN0IHZhbCA9IG9ialtrZXldO1xyXG4gICAgaWYgKFxyXG4gICAgICB2YWwgPT09IG51bGwgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nXHJcbiAgICApIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8vIOeugOWMluaVtOS4qiBjb2x1bW5zIOaVsOe7hFxyXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxpZnlDb2x1bW5zKGNvbHVtbnMpIHtcclxuICByZXR1cm4gY29sdW1ucy5tYXAoY29sID0+IHNpbXBsaWZ5T2JqZWN0KGNvbCkpO1xyXG59XHJcblxyXG4vL+Wvueixoea3seW6puWQiOW5tlxyXG4vLyBleHBvcnQgZnVuY3Rpb24gZGVlcE1lcmdlKC4uLnNvdXJjZXMpIHtcclxuLy8gICBpZiAoc291cmNlcy5sZW5ndGggPT09IDApIHJldHVybiB7fTtcclxuLy8gICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHNvdXJjZXNbMF0pO1xyXG4vLyAgIGNvbnN0IHJlc3VsdCA9IGxvZGFzaC5jbG9uZURlZXAoc291cmNlc1swXSk7XHJcbi8vICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XHJcbi8vICAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzW2ldO1xyXG4vLyAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xyXG4vLyAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuLy8gICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4vLyAgICAgICB9IGVsc2UgaWYgKGxvZGFzaC5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJiBsb2Rhc2guaXNQbGFpbk9iamVjdChyZXN1bHRba2V5XSkpIHtcclxuLy8gICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBNZXJnZShyZXN1bHRba2V5XSwgdmFsdWUpO1xyXG4vLyAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gICB9XHJcbiAgXHJcbi8vICAgcmV0dXJuIHJlc3VsdDtcclxuLy8gfVxyXG5leHBvcnQgZnVuY3Rpb24gZGVlcE1lcmdlKC4uLnNvdXJjZXMpIHtcclxuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDApIHJldHVybiB7fTtcclxuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHNvdXJjZXNbMF0pO1xyXG4gIGNvbnN0IHJlc3VsdCA9IGxvZGFzaC5jbG9uZURlZXAoc291cmNlc1swXSk7XHJcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzW2ldO1xyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xyXG4gICAgICBpZiAobG9kYXNoLmlzUGxhaW5PYmplY3QodmFsdWUpICYmIGxvZGFzaC5pc1BsYWluT2JqZWN0KHJlc3VsdFtrZXldKSkge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gZGVlcE1lcmdlKHJlc3VsdFtrZXldLCB2YWx1ZSk7XHJcbiAgICAgIH0gXHJcbiAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIEFycmF5LmlzQXJyYXkocmVzdWx0W2tleV0pKSB7ICBcclxuICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGVuY3J5cHRWYWx1ZSxcclxuICBjaGVja01vZGVsLFxyXG4gIGRlY3J5cHRWYWx1ZSxcclxuICBnZXRDYWNoZUtleSxcclxuICBjaGVja0NoYXJzLFxyXG4gIHB4MnZ3LFxyXG59O1xyXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUNFQSxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxVQUFVLEVBQ1ZDLFVBQVUsRUFDVkMsZUFBZSxFQUNmQyxVQUFVLEVBQ1ZDLGFBQWEsRUFDYkMsVUFBVSxR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
253
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzbTJFbmNyeXB0VmFsdWUiLCJzbTRFbmNyeXB0IiwiYmFzZTY0RW5jcnlwdCIsIm1kNUVuY3J5cHQiLCJjaGVja1ZhbHVlIiwic20yRGVjcnlwdFZhbHVlIiwic200RGVjcnlwdCIsImJhc2U2NERlY3J5cHQiLCJpc0VtcHR5T2JqIiwiaXNFbXB0eSIsIkljb25Gb250IiwiUmVhY3QiLCJSYWRpbyIsIklucHV0IiwiU2VsZWN0IiwiQ2FzY2FkZXIiLCJDaGVja2JveCIsIkRhdGVQaWNrZXIiLCJSYW5nZVBpY2tlciIsIlN3aXRjaCIsIlVwbG9hZCIsIlBhc3N3b3JkIiwiVGV4dEFyZWEiLCJJbnB1dE51bWJlciIsImdldENvbmZpZyIsIkFudEljb24iLCJpY29ucyIsImxvZGFzaCIsImVuY3J5cHRWYWx1ZSIsImVuY3J5cHQiLCJ2YWx1ZSIsInR5cGUiLCJrZXkiLCJkZWNyeXB0VmFsdWUiLCJkZWNyeXB0IiwiY2hlY2tNb2RlbCIsImNoZWNrdHlwZSIsImdldENhY2hlS2V5Iiwic290cmUiLCJ2aWV3bmFtZSIsInJlcXVlc3RDb25maWciLCJ1cmwiLCJKU09OIiwic3RyaW5naWZ5IiwiY2hlY2tDaGFycyIsInJlZyIsInRlc3QiLCJweDJ2dyIsInB4VmFsdWUiLCJiYXNlVmFsdWUiLCJiYXNlV2lkdGgiLCJ0b0ZpeGVkIiwiZ2V0SWNvbiIsImljb24iLCJkZWZhdWx0SWNvbiIsImljb25QcmVmaXgiLCJzaG93SWNvbiIsInN0YXJ0c1dpdGgiLCJjcmVhdGVFbGVtZW50IiwiY29tcG9uZW50IiwiZ2V0Tm9kZSIsInByb3BzIiwiRElWIiwiR3JvdXAiLCJkZWJvdW5jZSIsImZuIiwibXMiLCJ0aW1lcklkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFwcGx5IiwiYXJndW1lbnRzIiwidGhyb3R0bGUiLCJnZXRMZXNzIiwic3R5bGVzIiwibmFtZSIsImNvbnZlckZ1bmN0aW9uIiwiZnVuYyIsImV2ZW50T3B0aW9uIiwiVXRpbHMiLCJzZWxmRnVuYyIsIkZ1bmN0aW9uIiwic2ltcGxpZnlPYmplY3QiLCJvYmoiLCJyZXN1bHQiLCJ2YWwiLCJzaW1wbGlmeUNvbHVtbnMiLCJjb2x1bW5zIiwibWFwIiwiY29sIiwiZGVlcE1lcmdlIiwibGVuZ3RoIiwiY2xvbmVEZWVwIiwidW5kZWZpbmVkIiwiaSIsInNvdXJjZSIsIk9iamVjdCIsImVudHJpZXMiLCJpc1BsYWluT2JqZWN0IiwiQXJyYXkiLCJpc0FycmF5Il0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudHMvdXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0xMiAxNzozMjo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjIgMTc6MTQ6MDRcclxuICovXHJcbmltcG9ydCB7XHJcbiAgc20yRW5jcnlwdFZhbHVlLFxyXG4gIHNtNEVuY3J5cHQsXHJcbiAgYmFzZTY0RW5jcnlwdCxcclxuICBtZDVFbmNyeXB0LFxyXG4gIGNoZWNrVmFsdWUsXHJcbiAgc20yRGVjcnlwdFZhbHVlLFxyXG4gIHNtNERlY3J5cHQsXHJcbiAgYmFzZTY0RGVjcnlwdCxcclxuICBpc0VtcHR5T2JqLFxyXG59IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBlbmNyeXB0IH0gZnJvbSBcIi4vSW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBJY29uRm9udCBmcm9tIFwiLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgUmFkaW8sXHJcbiAgSW5wdXQsXHJcbiAgU2VsZWN0LFxyXG4gIENhc2NhZGVyLFxyXG4gIENoZWNrYm94LFxyXG4gIERhdGVQaWNrZXIsXHJcbiAgUmFuZ2VQaWNrZXIsXHJcbiAgU3dpdGNoLFxyXG4gIFVwbG9hZCxcclxufSBmcm9tIFwiLlwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vYmFzZS9pbnB1dC9QYXNzd29yZFwiO1xyXG5pbXBvcnQgVGV4dEFyZWEgZnJvbSBcIi4vYmFzZS9pbnB1dC9UZXh0QXJlYVwiO1xyXG5pbXBvcnQgSW5wdXROdW1iZXIgZnJvbSBcIi4vYmFzZS9pbnB1dC9OdW1iZXJcIjtcclxuLy8gaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGdldENvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcclxuaW1wb3J0IEFudEljb24gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCAqIGFzIGljb25zIGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgbG9kYXNoIGZyb20gXCJsb2Rhc2hcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0VmFsdWUoZW5jcnlwdDogZW5jcnlwdCB8IGJvb2xlYW4sIHZhbHVlKSB7XHJcbiAgbGV0IGVuY3J5cHRWYWx1ZSA9IHZhbHVlO1xyXG4gIGlmIChlbmNyeXB0ICYmIHR5cGVvZiBlbmNyeXB0ID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGtleSB9ID0gZW5jcnlwdDtcclxuICAgIGlmICh0eXBlID09IFwic20yXCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0ga2V5ID8gc20yRW5jcnlwdFZhbHVlKHZhbHVlLCBrZXkpIDogc20yRW5jcnlwdFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNtNFwiKSB7XHJcbiAgICAgIGVuY3J5cHRWYWx1ZSA9IHNtNEVuY3J5cHQodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiYmFzZTY0XCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0gYmFzZTY0RW5jcnlwdCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJtZDVcIikge1xyXG4gICAgICBlbmNyeXB0VmFsdWUgPSBtZDVFbmNyeXB0KHZhbHVlKTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKGVuY3J5cHQgJiYgdHlwZW9mIGVuY3J5cHQgPT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICBlbmNyeXB0VmFsdWUgPSBzbTJFbmNyeXB0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuICByZXR1cm4gZW5jcnlwdFZhbHVlO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0VmFsdWUoZGVjcnlwdDogZW5jcnlwdCB8IGJvb2xlYW4sIHZhbHVlKSB7XHJcbiAgbGV0IGRlY3J5cHRWYWx1ZSA9IHZhbHVlO1xyXG4gIGlmIChkZWNyeXB0ICYmIHR5cGVvZiBkZWNyeXB0ID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGtleSB9ID0gZGVjcnlwdDtcclxuICAgIGlmICh0eXBlID09IFwic20yXCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0ga2V5ID8gc20yRGVjcnlwdFZhbHVlKHZhbHVlLCBrZXkpIDogc20yRGVjcnlwdFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNtNFwiKSB7XHJcbiAgICAgIGRlY3J5cHRWYWx1ZSA9IHNtNERlY3J5cHQodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiYmFzZTY0XCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0gYmFzZTY0RGVjcnlwdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmIChkZWNyeXB0ICYmIHR5cGVvZiBkZWNyeXB0ID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgZGVjcnlwdFZhbHVlID0gc20yRGVjcnlwdFZhbHVlKHZhbHVlKTtcclxuICB9XHJcbiAgcmV0dXJuIGRlY3J5cHRWYWx1ZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tNb2RlbChjaGVja3R5cGUsIHZhbHVlKSB7XHJcbiAgcmV0dXJuIGNoZWNrVmFsdWUodmFsdWUsIGNoZWNrdHlwZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWNoZUtleShzb3RyZSkge1xyXG4gIGNvbnN0IHsgdmlld25hbWUsIHJlcXVlc3RDb25maWcsIHVybCB9ID0gc290cmU7XHJcbiAgbGV0IGtleTtcclxuICBpZiAodmlld25hbWUpIHtcclxuICAgIGtleSA9IHZpZXduYW1lO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBrZXkgPSByZXF1ZXN0Q29uZmlnID8gdXJsICsgSlNPTi5zdHJpbmdpZnkocmVxdWVzdENvbmZpZykgOiB1cmw7XHJcbiAgfVxyXG4gIHJldHVybiBrZXk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjaGVja0NoYXJzKHZhbHVlOiBzdHJpbmcpIHtcclxuICBjb25zdCByZWcgPSAvXlswLTlhLXpBLVpcXHU0RTAwLVxcdTlGQTVcXHVGOTAwLVxcdUZBMkRdKiQvO1xyXG4gIHJldHVybiByZWcudGVzdCh2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIOi9rOaNonB45YiwdndcclxuZXhwb3J0IGZ1bmN0aW9uIHB4MnZ3KHB4VmFsdWU6IG51bWJlciwgYmFzZVZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBiYXNlV2lkdGggPSBiYXNlVmFsdWUgfHwgMTkyMDtcclxuICByZXR1cm4gKChweFZhbHVlICogMTAwKSAvIGJhc2VXaWR0aCkudG9GaXhlZCg0KSArIFwidndcIjtcclxufVxyXG5cclxuLy/ojrflj5ZJY29uXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJY29uKGljb24sIGRlZmF1bHRJY29uPzogYW55KSB7XHJcbiAgY29uc3QgeyBpY29uUHJlZml4IH0gPSBnZXRDb25maWcoKTtcclxuICBpZiAoIWlzRW1wdHkoaWNvbikgJiYgdHlwZW9mIGljb24gPT09IFwic3RyaW5nXCIpIHtcclxuICAgIGNvbnN0IHNob3dJY29uID0gaWNvbi5zdGFydHNXaXRoKGljb25QcmVmaXgpID8gKFxyXG4gICAgICA8SWNvbkZvbnQgdHlwZT17aWNvbn0gLz5cclxuICAgICkgOiAoXHJcbiAgICAgIDxBbnRJY29uIGNvbXBvbmVudD17aWNvbnNbaWNvbl19IC8+XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHNob3dJY29uO1xyXG4gIH0gZWxzZSBpZiAoZGVmYXVsdEljb24pIHtcclxuICAgIHJldHVybiA8SWNvbkZvbnQgdHlwZT17XCJpY29ueGlhbmdtdXNoZXpvbmdndWFubGlcIn0gLz47XHJcbiAgfVxyXG4gIHJldHVybiBpY29uO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROb2RlKHR5cGUsIHByb3BzKSB7XHJcbiAgbGV0IERJViA9IDxJbnB1dCB7Li4ucHJvcHN9IC8+O1xyXG4gIGlmICh0eXBlID09IFwiSW5wdXRcIikge1xyXG4gICAgRElWID0gPElucHV0IHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiU2VsZWN0XCIpIHtcclxuICAgIERJViA9IDxTZWxlY3Qgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJSYWRpb1wiKSB7XHJcbiAgICBESVYgPSA8UmFkaW8uR3JvdXAgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJDYXNjYWRlclwiKSB7XHJcbiAgICBESVYgPSA8Q2FzY2FkZXIgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJQYXNzd29yZFwiKSB7XHJcbiAgICBESVYgPSA8UGFzc3dvcmQgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJUZXh0QXJlYVwiKSB7XHJcbiAgICBESVYgPSA8VGV4dEFyZWEgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJDaGVja2JveFwiKSB7XHJcbiAgICBESVYgPSA8Q2hlY2tib3guR3JvdXAgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJEYXRlUGlja2VyXCIpIHtcclxuICAgIERJViA9IDxEYXRlUGlja2VyIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiTnVtYmVyXCIpIHtcclxuICAgIERJViA9IDxJbnB1dE51bWJlciB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIlVwbG9hZFwiKSB7XHJcbiAgICBESVYgPSA8VXBsb2FkIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiUmFuZ2VQaWNrZXJcIikge1xyXG4gICAgRElWID0gPFJhbmdlUGlja2VyIHsuLi5wcm9wc30gLz47XHJcbiAgfVxyXG4gIGlmICh0eXBlID09IFwiU3dpdGNoXCIpIHtcclxuICAgIERJViA9IDxTd2l0Y2ggey4uLnByb3BzfSAvPjtcclxuICB9XHJcbiAgcmV0dXJuIERJVjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlYm91bmNlKGZuLCBtcykge1xyXG4gIC8vZm466KaB6Ziy5oqW55qE5Ye95pWwIG1zOuaXtumXtFxyXG4gIGxldCB0aW1lcklkOyAvLyDliJvlu7rkuIDkuKrmoIforrDnlKjmnaXlrZjmlL7lrprml7blmajnmoTov5Tlm57lgLxcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgdGltZXJJZCAmJiBjbGVhclRpbWVvdXQodGltZXJJZCk7IC8vIOavj+W9k+eUqOaIt+i+k+WFpeeahOaXtuWAmeaKiuWJjeS4gOS4qiBzZXRUaW1lb3V0IGNsZWFyIOaOiVxyXG4gICAgLy8g54S25ZCO5Y+I5Yib5bu65LiA5Liq5paw55qEIHNldFRpbWVvdXQsIOi/meagt+WwseiDveS/neivgei+k+WFpeWtl+espuWQjueahCBpbnRlcnZhbCDpl7TpmpTlhoXlpoLmnpzov5jmnInlrZfnrKbovpPlhaXnmoTor53vvIzlsLHkuI3kvJrmiafooYwgZm4g5Ye95pWwXHJcbiAgICB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICB9LCBtcyk7XHJcbiAgfTtcclxuXHJcbiAgLy8gdmFyIHRpbWVyID0gbnVsbDtcclxuICAvLyByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gIC8vICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7IC8v5Y+C5pWw6ZuG5ZCIXHJcbiAgLy8gICBjb25zb2xlLmxvZygnYXJncycsYXJncylcclxuICAvLyAgIGNsZWFyVGltZW91dCh0aW1lcik7XHJcbiAgLy8gICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gIC8vICAgICBmbi5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAvLyAgIH0sIG1zKTtcclxuICAvLyB9O1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZShmbiwgbXMpIHtcclxuICBsZXQgdGltZXJJZDsgLy8g5Yib5bu65LiA5Liq5qCH6K6w55So5p2l5a2Y5pS+5a6a5pe25Zmo55qEaWRcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgLy8g5rKh5pyJ5a6a5pe25Zmo562J5b6F5omn6KGM77yM5YiZ6KGo56S65Y+v5Lul5Yib5bu65paw55qE5a6a5pe25Zmo5p2l5omn6KGM5Ye95pWwXHJcbiAgICBpZiAoIXRpbWVySWQpIHtcclxuICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIC8vIOWumuaXtuWZqGlk5riF56m677yM6KGo56S65Y+v5Lul5omn6KGM5LiL5LiA5qyh6LCD55So5LqGXHJcbiAgICAgICAgdGltZXJJZCA9IG51bGw7XHJcbiAgICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgfSwgbXMpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGNvbnN0IGdldExlc3MgPSAoc3R5bGVzOiBPYmplY3QsIG5hbWU6IHN0cmluZykgPT4ge1xyXG4gIGlmIChpc0VtcHR5T2JqKHN0eWxlcykpIHtcclxuICAgIHJldHVybiBuYW1lO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc3R5bGVzW25hbWVdO1xyXG4gIH1cclxufTtcclxuZXhwb3J0IGNvbnN0IGNvbnZlckZ1bmN0aW9uID0gKGZ1bmMsIGV2ZW50T3B0aW9uPzogYW55LCBVdGlscz86IGFueSkgPT4ge1xyXG4gIGlmICh0eXBlb2YgZnVuYyA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICBjb25zdCBzZWxmRnVuYyA9IG5ldyBGdW5jdGlvbihcImV2ZW50T3B0aW9uXCIsIFwiVXRpbHNcIiwgZnVuYyk7XHJcbiAgICBzZWxmRnVuYyhldmVudE9wdGlvbiwgVXRpbHMpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBmdW5jKGV2ZW50T3B0aW9uLCBVdGlscyk7XHJcbiAgfVxyXG59O1xyXG5cclxuLy8g5L+d55WZ5Y6f5a+56LGh5Lit5omA5pyJ4oCc5Z+656GA57G75Z6L4oCd55qE5a2X5q61XHJcbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGlmeU9iamVjdChvYmopIHtcclxuICBjb25zdCByZXN1bHQgPSB7fTtcclxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgIGNvbnN0IHZhbCA9IG9ialtrZXldO1xyXG4gICAgaWYgKFxyXG4gICAgICB2YWwgPT09IG51bGwgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nXHJcbiAgICApIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8vIOeugOWMluaVtOS4qiBjb2x1bW5zIOaVsOe7hFxyXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxpZnlDb2x1bW5zKGNvbHVtbnMpIHtcclxuICByZXR1cm4gY29sdW1ucy5tYXAoY29sID0+IHNpbXBsaWZ5T2JqZWN0KGNvbCkpO1xyXG59XHJcblxyXG4vL+Wvueixoea3seW6puWQiOW5tlxyXG4vLyBleHBvcnQgZnVuY3Rpb24gZGVlcE1lcmdlKC4uLnNvdXJjZXMpIHtcclxuLy8gICBpZiAoc291cmNlcy5sZW5ndGggPT09IDApIHJldHVybiB7fTtcclxuLy8gICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHNvdXJjZXNbMF0pO1xyXG4vLyAgIGNvbnN0IHJlc3VsdCA9IGxvZGFzaC5jbG9uZURlZXAoc291cmNlc1swXSk7XHJcbi8vICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XHJcbi8vICAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzW2ldO1xyXG4vLyAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xyXG4vLyAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuLy8gICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4vLyAgICAgICB9IGVsc2UgaWYgKGxvZGFzaC5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJiBsb2Rhc2guaXNQbGFpbk9iamVjdChyZXN1bHRba2V5XSkpIHtcclxuLy8gICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBNZXJnZShyZXN1bHRba2V5XSwgdmFsdWUpO1xyXG4vLyAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gICB9XHJcbiAgXHJcbi8vICAgcmV0dXJuIHJlc3VsdDtcclxuLy8gfVxyXG5leHBvcnQgZnVuY3Rpb24gZGVlcE1lcmdlKC4uLnNvdXJjZXMpIHtcclxuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDApIHJldHVybiB7fTtcclxuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHNvdXJjZXNbMF0pO1xyXG4gIGNvbnN0IHJlc3VsdCA9IGxvZGFzaC5jbG9uZURlZXAoc291cmNlc1swXSk7XHJcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzW2ldO1xyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xyXG4gICAgICBpZiAobG9kYXNoLmlzUGxhaW5PYmplY3QodmFsdWUpICYmIGxvZGFzaC5pc1BsYWluT2JqZWN0KHJlc3VsdFtrZXldKSkge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gZGVlcE1lcmdlKHJlc3VsdFtrZXldLCB2YWx1ZSk7XHJcbiAgICAgIH0gXHJcbiAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIEFycmF5LmlzQXJyYXkocmVzdWx0W2tleV0pKSB7ICBcclxuICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGVuY3J5cHRWYWx1ZSxcclxuICBjaGVja01vZGVsLFxyXG4gIGRlY3J5cHRWYWx1ZSxcclxuICBnZXRDYWNoZUtleSxcclxuICBjaGVja0NoYXJzLFxyXG4gIHB4MnZ3LFxyXG4gIGRlZXBNZXJnZVxyXG59O1xyXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUNFQSxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxVQUFVLEVBQ1ZDLFVBQVUsRUFDVkMsZUFBZSxFQUNmQyxVQUFVLEVBQ1ZDLGFB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
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["sm2EncryptValue","sm4Encrypt","base64Encrypt","md5Encrypt","checkValue","sm2DecryptValue","sm4Decrypt","base64Decrypt","isEmptyObj","isEmpty","IconFont","React","Radio","Input","Select","Cascader","Checkbox","DatePicker","RangePicker","Switch","Upload","Password","TextArea","InputNumber","getConfig","AntIcon","icons","lodash","encryptValue","encrypt","value","type","key","decryptValue","decrypt","checkModel","checktype","getCacheKey","sotre","viewname","requestConfig","url","JSON","stringify","checkChars","reg","test","px2vw","pxValue","baseValue","baseWidth","toFixed","getIcon","icon","defaultIcon","iconPrefix","showIcon","startsWith","createElement","component","getNode","props","DIV","Group","debounce","fn","ms","timerId","clearTimeout","setTimeout","apply","arguments","throttle","getLess","styles","name","converFunction","func","eventOption","Utils","selfFunc","Function","simplifyObject","obj","result","val","simplifyColumns","columns","map","col","deepMerge","length","cloneDeep","undefined","i","source","Object","entries","isPlainObject","Array","isArray"],"sources":["../src/components/utils.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-12 17:32:53\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 17:14:04\r\n */\r\nimport {\r\n sm2EncryptValue,\r\n sm4Encrypt,\r\n base64Encrypt,\r\n md5Encrypt,\r\n checkValue,\r\n sm2DecryptValue,\r\n sm4Decrypt,\r\n base64Decrypt,\r\n isEmptyObj,\r\n} from \"@bj-nsc/functions\";\r\nimport { encrypt } from \"./Interface\";\r\nimport { isEmpty } from \"lodash\";\r\nimport IconFont from \"./base/common/IconFont\";\r\nimport React from \"react\";\r\nimport {\r\n Radio,\r\n Input,\r\n Select,\r\n Cascader,\r\n Checkbox,\r\n DatePicker,\r\n RangePicker,\r\n Switch,\r\n Upload,\r\n} from \".\";\r\nimport Password from \"./base/input/Password\";\r\nimport TextArea from \"./base/input/TextArea\";\r\nimport InputNumber from \"./base/input/Number\";\r\n// import { Upload } from \"antd\";\r\nimport getConfig from \"./config\";\r\nimport AntIcon from \"@ant-design/icons\";\r\nimport * as icons from \"@ant-design/icons\";\r\nimport lodash from \"lodash\";\r\n\r\nexport function encryptValue(encrypt: encrypt | boolean, value) {\r\n let encryptValue = value;\r\n if (encrypt && typeof encrypt === \"object\") {\r\n const { type, key } = encrypt;\r\n if (type == \"sm2\") {\r\n encryptValue = key ? sm2EncryptValue(value, key) : sm2EncryptValue(value);\r\n } else if (type == \"sm4\") {\r\n encryptValue = sm4Encrypt(value);\r\n } else if (type == \"base64\") {\r\n encryptValue = base64Encrypt(value);\r\n } else if (type == \"md5\") {\r\n encryptValue = md5Encrypt(value);\r\n }\r\n } else if (encrypt && typeof encrypt === \"boolean\") {\r\n encryptValue = sm2EncryptValue(value);\r\n }\r\n return encryptValue;\r\n}\r\nexport function decryptValue(decrypt: encrypt | boolean, value) {\r\n let decryptValue = value;\r\n if (decrypt && typeof decrypt === \"object\") {\r\n const { type, key } = decrypt;\r\n if (type == \"sm2\") {\r\n decryptValue = key ? sm2DecryptValue(value, key) : sm2DecryptValue(value);\r\n } else if (type == \"sm4\") {\r\n decryptValue = sm4Decrypt(value);\r\n } else if (type == \"base64\") {\r\n decryptValue = base64Decrypt(value);\r\n }\r\n } else if (decrypt && typeof decrypt === \"boolean\") {\r\n decryptValue = sm2DecryptValue(value);\r\n }\r\n return decryptValue;\r\n}\r\nexport function checkModel(checktype, value) {\r\n return checkValue(value, checktype);\r\n}\r\n\r\nexport function getCacheKey(sotre) {\r\n const { viewname, requestConfig, url } = sotre;\r\n let key;\r\n if (viewname) {\r\n key = viewname;\r\n } else {\r\n key = requestConfig ? url + JSON.stringify(requestConfig) : url;\r\n }\r\n return key;\r\n}\r\n\r\nexport function checkChars(value: string) {\r\n const reg = /^[0-9a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]*$/;\r\n return reg.test(value);\r\n}\r\n\r\n// 转换px到vw\r\nexport function px2vw(pxValue: number, baseValue?: number): string {\r\n const baseWidth = baseValue || 1920;\r\n return ((pxValue * 100) / baseWidth).toFixed(4) + \"vw\";\r\n}\r\n\r\n//获取Icon\r\nexport function getIcon(icon, defaultIcon?: any) {\r\n const { iconPrefix } = getConfig();\r\n if (!isEmpty(icon) && typeof icon === \"string\") {\r\n const showIcon = icon.startsWith(iconPrefix) ? (\r\n <IconFont type={icon} />\r\n ) : (\r\n <AntIcon component={icons[icon]} />\r\n );\r\n return showIcon;\r\n } else if (defaultIcon) {\r\n return <IconFont type={\"iconxiangmushezongguanli\"} />;\r\n }\r\n return icon;\r\n}\r\nexport function getNode(type, props) {\r\n let DIV = <Input {...props} />;\r\n if (type == \"Input\") {\r\n DIV = <Input {...props} />;\r\n } else if (type == \"Select\") {\r\n DIV = <Select {...props} />;\r\n } else if (type == \"Radio\") {\r\n DIV = <Radio.Group {...props} />;\r\n } else if (type == \"Cascader\") {\r\n DIV = <Cascader {...props} />;\r\n } else if (type == \"Password\") {\r\n DIV = <Password {...props} />;\r\n } else if (type == \"TextArea\") {\r\n DIV = <TextArea {...props} />;\r\n } else if (type == \"Checkbox\") {\r\n DIV = <Checkbox.Group {...props} />;\r\n } else if (type == \"DatePicker\") {\r\n DIV = <DatePicker {...props} />;\r\n } else if (type == \"Number\") {\r\n DIV = <InputNumber {...props} />;\r\n } else if (type == \"Upload\") {\r\n DIV = <Upload {...props} />;\r\n } else if (type == \"RangePicker\") {\r\n DIV = <RangePicker {...props} />;\r\n }\r\n if (type == \"Switch\") {\r\n DIV = <Switch {...props} />;\r\n }\r\n return DIV;\r\n}\r\n\r\nexport function debounce(fn, ms) {\r\n //fn:要防抖的函数 ms:时间\r\n let timerId; // 创建一个标记用来存放定时器的返回值\r\n return function () {\r\n timerId && clearTimeout(timerId); // 每当用户输入的时候把前一个 setTimeout clear 掉\r\n // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话,就不会执行 fn 函数\r\n timerId = setTimeout(() => {\r\n fn.apply(this, arguments);\r\n }, ms);\r\n };\r\n\r\n // var timer = null;\r\n // return function () {\r\n // var args = arguments; //参数集合\r\n // console.log('args',args)\r\n // clearTimeout(timer);\r\n // timer = setTimeout(function () {\r\n // fn.apply(this, args);\r\n // }, ms);\r\n // };\r\n}\r\nexport function throttle(fn, ms) {\r\n let timerId; // 创建一个标记用来存放定时器的id\r\n return function () {\r\n // 没有定时器等待执行,则表示可以创建新的定时器来执行函数\r\n if (!timerId) {\r\n timerId = setTimeout(() => {\r\n // 定时器id清空,表示可以执行下一次调用了\r\n timerId = null;\r\n fn.apply(this, arguments);\r\n }, ms);\r\n }\r\n };\r\n}\r\nexport const getLess = (styles: Object, name: string) => {\r\n if (isEmptyObj(styles)) {\r\n return name;\r\n } else {\r\n return styles[name];\r\n }\r\n};\r\nexport const converFunction = (func, eventOption?: any, Utils?: any) => {\r\n if (typeof func == \"string\") {\r\n const selfFunc = new Function(\"eventOption\", \"Utils\", func);\r\n selfFunc(eventOption, Utils);\r\n } else {\r\n func(eventOption, Utils);\r\n }\r\n};\r\n\r\n// 保留原对象中所有“基础类型”的字段\r\nexport function simplifyObject(obj) {\r\n const result = {};\r\n for (const key in obj) {\r\n const val = obj[key];\r\n if (\r\n val === null ||\r\n typeof val === 'string' ||\r\n typeof val === 'number' ||\r\n typeof val === 'boolean'\r\n ) {\r\n result[key] = val;\r\n }\r\n }\r\n return result;\r\n}\r\n\r\n// 简化整个 columns 数组\r\nexport function simplifyColumns(columns) {\r\n return columns.map(col => simplifyObject(col));\r\n}\r\n\r\n//对象深度合并\r\n// export function deepMerge(...sources) {\r\n// if (sources.length === 0) return {};\r\n// if (sources.length === 1) return lodash.cloneDeep(sources[0]);\r\n// const result = lodash.cloneDeep(sources[0]);\r\n// for (let i = 1; i < sources.length; i++) {\r\n// const source = sources[i];\r\n// for (const [key, value] of Object.entries(source)) {\r\n// if (Array.isArray(value)) {\r\n// result[key] = lodash.cloneDeep(value);\r\n// } else if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {\r\n// result[key] = deepMerge(result[key], value);\r\n// } else {\r\n// result[key] = value;\r\n// }\r\n// }\r\n// }\r\n \r\n// return result;\r\n// }\r\nexport function deepMerge(...sources) {\r\n if (sources.length === 0) return {};\r\n if (sources.length === 1) return lodash.cloneDeep(sources[0]);\r\n const result = lodash.cloneDeep(sources[0]);\r\n for (let i = 1; i < sources.length; i++) {\r\n const source = sources[i];\r\n for (const [key, value] of Object.entries(source)) {\r\n if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {\r\n result[key] = deepMerge(result[key], value);\r\n } \r\n else if (Array.isArray(value) && Array.isArray(result[key])) { \r\n result[key] = lodash.cloneDeep(value);\r\n } \r\n else {\r\n result[key] = lodash.cloneDeep(value);\r\n }\r\n }\r\n }\r\n \r\n return result;\r\n}\r\nexport default {\r\n encryptValue,\r\n checkModel,\r\n decryptValue,\r\n getCacheKey,\r\n checkChars,\r\n px2vw,\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["sm2EncryptValue","sm4Encrypt","base64Encrypt","md5Encrypt","checkValue","sm2DecryptValue","sm4Decrypt","base64Decrypt","isEmptyObj","isEmpty","IconFont","React","Radio","Input","Select","Cascader","Checkbox","DatePicker","RangePicker","Switch","Upload","Password","TextArea","InputNumber","getConfig","AntIcon","icons","lodash","encryptValue","encrypt","value","type","key","decryptValue","decrypt","checkModel","checktype","getCacheKey","sotre","viewname","requestConfig","url","JSON","stringify","checkChars","reg","test","px2vw","pxValue","baseValue","baseWidth","toFixed","getIcon","icon","defaultIcon","iconPrefix","showIcon","startsWith","createElement","component","getNode","props","DIV","Group","debounce","fn","ms","timerId","clearTimeout","setTimeout","apply","arguments","throttle","getLess","styles","name","converFunction","func","eventOption","Utils","selfFunc","Function","simplifyObject","obj","result","val","simplifyColumns","columns","map","col","deepMerge","length","cloneDeep","undefined","i","source","Object","entries","isPlainObject","Array","isArray"],"sources":["../src/components/utils.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-12 17:32:53\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 17:14:04\r\n */\r\nimport {\r\n sm2EncryptValue,\r\n sm4Encrypt,\r\n base64Encrypt,\r\n md5Encrypt,\r\n checkValue,\r\n sm2DecryptValue,\r\n sm4Decrypt,\r\n base64Decrypt,\r\n isEmptyObj,\r\n} from \"@bj-nsc/functions\";\r\nimport { encrypt } from \"./Interface\";\r\nimport { isEmpty } from \"lodash\";\r\nimport IconFont from \"./base/common/IconFont\";\r\nimport React from \"react\";\r\nimport {\r\n Radio,\r\n Input,\r\n Select,\r\n Cascader,\r\n Checkbox,\r\n DatePicker,\r\n RangePicker,\r\n Switch,\r\n Upload,\r\n} from \".\";\r\nimport Password from \"./base/input/Password\";\r\nimport TextArea from \"./base/input/TextArea\";\r\nimport InputNumber from \"./base/input/Number\";\r\n// import { Upload } from \"antd\";\r\nimport getConfig from \"./config\";\r\nimport AntIcon from \"@ant-design/icons\";\r\nimport * as icons from \"@ant-design/icons\";\r\nimport lodash from \"lodash\";\r\n\r\nexport function encryptValue(encrypt: encrypt | boolean, value) {\r\n let encryptValue = value;\r\n if (encrypt && typeof encrypt === \"object\") {\r\n const { type, key } = encrypt;\r\n if (type == \"sm2\") {\r\n encryptValue = key ? sm2EncryptValue(value, key) : sm2EncryptValue(value);\r\n } else if (type == \"sm4\") {\r\n encryptValue = sm4Encrypt(value);\r\n } else if (type == \"base64\") {\r\n encryptValue = base64Encrypt(value);\r\n } else if (type == \"md5\") {\r\n encryptValue = md5Encrypt(value);\r\n }\r\n } else if (encrypt && typeof encrypt === \"boolean\") {\r\n encryptValue = sm2EncryptValue(value);\r\n }\r\n return encryptValue;\r\n}\r\nexport function decryptValue(decrypt: encrypt | boolean, value) {\r\n let decryptValue = value;\r\n if (decrypt && typeof decrypt === \"object\") {\r\n const { type, key } = decrypt;\r\n if (type == \"sm2\") {\r\n decryptValue = key ? sm2DecryptValue(value, key) : sm2DecryptValue(value);\r\n } else if (type == \"sm4\") {\r\n decryptValue = sm4Decrypt(value);\r\n } else if (type == \"base64\") {\r\n decryptValue = base64Decrypt(value);\r\n }\r\n } else if (decrypt && typeof decrypt === \"boolean\") {\r\n decryptValue = sm2DecryptValue(value);\r\n }\r\n return decryptValue;\r\n}\r\nexport function checkModel(checktype, value) {\r\n return checkValue(value, checktype);\r\n}\r\n\r\nexport function getCacheKey(sotre) {\r\n const { viewname, requestConfig, url } = sotre;\r\n let key;\r\n if (viewname) {\r\n key = viewname;\r\n } else {\r\n key = requestConfig ? url + JSON.stringify(requestConfig) : url;\r\n }\r\n return key;\r\n}\r\n\r\nexport function checkChars(value: string) {\r\n const reg = /^[0-9a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]*$/;\r\n return reg.test(value);\r\n}\r\n\r\n// 转换px到vw\r\nexport function px2vw(pxValue: number, baseValue?: number): string {\r\n const baseWidth = baseValue || 1920;\r\n return ((pxValue * 100) / baseWidth).toFixed(4) + \"vw\";\r\n}\r\n\r\n//获取Icon\r\nexport function getIcon(icon, defaultIcon?: any) {\r\n const { iconPrefix } = getConfig();\r\n if (!isEmpty(icon) && typeof icon === \"string\") {\r\n const showIcon = icon.startsWith(iconPrefix) ? (\r\n <IconFont type={icon} />\r\n ) : (\r\n <AntIcon component={icons[icon]} />\r\n );\r\n return showIcon;\r\n } else if (defaultIcon) {\r\n return <IconFont type={\"iconxiangmushezongguanli\"} />;\r\n }\r\n return icon;\r\n}\r\nexport function getNode(type, props) {\r\n let DIV = <Input {...props} />;\r\n if (type == \"Input\") {\r\n DIV = <Input {...props} />;\r\n } else if (type == \"Select\") {\r\n DIV = <Select {...props} />;\r\n } else if (type == \"Radio\") {\r\n DIV = <Radio.Group {...props} />;\r\n } else if (type == \"Cascader\") {\r\n DIV = <Cascader {...props} />;\r\n } else if (type == \"Password\") {\r\n DIV = <Password {...props} />;\r\n } else if (type == \"TextArea\") {\r\n DIV = <TextArea {...props} />;\r\n } else if (type == \"Checkbox\") {\r\n DIV = <Checkbox.Group {...props} />;\r\n } else if (type == \"DatePicker\") {\r\n DIV = <DatePicker {...props} />;\r\n } else if (type == \"Number\") {\r\n DIV = <InputNumber {...props} />;\r\n } else if (type == \"Upload\") {\r\n DIV = <Upload {...props} />;\r\n } else if (type == \"RangePicker\") {\r\n DIV = <RangePicker {...props} />;\r\n }\r\n if (type == \"Switch\") {\r\n DIV = <Switch {...props} />;\r\n }\r\n return DIV;\r\n}\r\n\r\nexport function debounce(fn, ms) {\r\n //fn:要防抖的函数 ms:时间\r\n let timerId; // 创建一个标记用来存放定时器的返回值\r\n return function () {\r\n timerId && clearTimeout(timerId); // 每当用户输入的时候把前一个 setTimeout clear 掉\r\n // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话,就不会执行 fn 函数\r\n timerId = setTimeout(() => {\r\n fn.apply(this, arguments);\r\n }, ms);\r\n };\r\n\r\n // var timer = null;\r\n // return function () {\r\n // var args = arguments; //参数集合\r\n // console.log('args',args)\r\n // clearTimeout(timer);\r\n // timer = setTimeout(function () {\r\n // fn.apply(this, args);\r\n // }, ms);\r\n // };\r\n}\r\nexport function throttle(fn, ms) {\r\n let timerId; // 创建一个标记用来存放定时器的id\r\n return function () {\r\n // 没有定时器等待执行,则表示可以创建新的定时器来执行函数\r\n if (!timerId) {\r\n timerId = setTimeout(() => {\r\n // 定时器id清空,表示可以执行下一次调用了\r\n timerId = null;\r\n fn.apply(this, arguments);\r\n }, ms);\r\n }\r\n };\r\n}\r\nexport const getLess = (styles: Object, name: string) => {\r\n if (isEmptyObj(styles)) {\r\n return name;\r\n } else {\r\n return styles[name];\r\n }\r\n};\r\nexport const converFunction = (func, eventOption?: any, Utils?: any) => {\r\n if (typeof func == \"string\") {\r\n const selfFunc = new Function(\"eventOption\", \"Utils\", func);\r\n selfFunc(eventOption, Utils);\r\n } else {\r\n func(eventOption, Utils);\r\n }\r\n};\r\n\r\n// 保留原对象中所有“基础类型”的字段\r\nexport function simplifyObject(obj) {\r\n const result = {};\r\n for (const key in obj) {\r\n const val = obj[key];\r\n if (\r\n val === null ||\r\n typeof val === 'string' ||\r\n typeof val === 'number' ||\r\n typeof val === 'boolean'\r\n ) {\r\n result[key] = val;\r\n }\r\n }\r\n return result;\r\n}\r\n\r\n// 简化整个 columns 数组\r\nexport function simplifyColumns(columns) {\r\n return columns.map(col => simplifyObject(col));\r\n}\r\n\r\n//对象深度合并\r\n// export function deepMerge(...sources) {\r\n// if (sources.length === 0) return {};\r\n// if (sources.length === 1) return lodash.cloneDeep(sources[0]);\r\n// const result = lodash.cloneDeep(sources[0]);\r\n// for (let i = 1; i < sources.length; i++) {\r\n// const source = sources[i];\r\n// for (const [key, value] of Object.entries(source)) {\r\n// if (Array.isArray(value)) {\r\n// result[key] = lodash.cloneDeep(value);\r\n// } else if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {\r\n// result[key] = deepMerge(result[key], value);\r\n// } else {\r\n// result[key] = value;\r\n// }\r\n// }\r\n// }\r\n \r\n// return result;\r\n// }\r\nexport function deepMerge(...sources) {\r\n if (sources.length === 0) return {};\r\n if (sources.length === 1) return lodash.cloneDeep(sources[0]);\r\n const result = lodash.cloneDeep(sources[0]);\r\n for (let i = 1; i < sources.length; i++) {\r\n const source = sources[i];\r\n for (const [key, value] of Object.entries(source)) {\r\n if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {\r\n result[key] = deepMerge(result[key], value);\r\n } \r\n else if (Array.isArray(value) && Array.isArray(result[key])) { \r\n result[key] = lodash.cloneDeep(value);\r\n } \r\n else {\r\n result[key] = lodash.cloneDeep(value);\r\n }\r\n }\r\n }\r\n \r\n return result;\r\n}\r\nexport default {\r\n encryptValue,\r\n checkModel,\r\n decryptValue,\r\n getCacheKey,\r\n checkChars,\r\n px2vw,\r\n deepMerge\r\n};\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "4.4.8",
3
+ "version": "4.5.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {