nsc-react-component 1.0.27 → 1.1.3

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.
Files changed (120) hide show
  1. package/lib/Interface.d.ts +4 -4
  2. package/lib/button/index.d.ts +27 -27
  3. package/lib/button/index.js +5 -5
  4. package/lib/button/index.less +371 -371
  5. package/lib/cascader/index.d.ts +27 -27
  6. package/lib/cascader/index.js +8 -8
  7. package/lib/chart/index.d.ts +38 -0
  8. package/lib/chart/index.js +291 -0
  9. package/lib/checkbox/CheckboxGroup.d.ts +22 -22
  10. package/lib/checkbox/CheckboxGroup.js +8 -8
  11. package/lib/checkbox/index.d.ts +8 -8
  12. package/lib/checkbox/index.js +8 -8
  13. package/lib/common/BodyRow/index.d.ts +26 -26
  14. package/lib/common/Icon.d.ts +14 -14
  15. package/lib/common/IconFont.d.ts +4 -4
  16. package/lib/common/NoAuthority.d.ts +4 -4
  17. package/lib/common/NoAuthority.js +1 -1
  18. package/lib/common/NoData.d.ts +4 -4
  19. package/lib/common/NoData.js +1 -1
  20. package/lib/common/NoData.less +13 -13
  21. package/lib/common/NoMessage.d.ts +4 -4
  22. package/lib/common/NoMessage.js +1 -1
  23. package/lib/common/NoNetWork.d.ts +4 -4
  24. package/lib/common/NoNetWork.js +1 -1
  25. package/lib/common/Page404.d.ts +4 -4
  26. package/lib/common/Page404.js +1 -1
  27. package/lib/common/PageRequest.d.ts +45 -45
  28. package/lib/common/TreePanel.d.ts +74 -74
  29. package/lib/common/withZhLocale.d.ts +3 -3
  30. package/lib/config.d.ts +20 -20
  31. package/lib/datepick/Rangepicker.d.ts +4 -4
  32. package/lib/datepick/Rangepicker.js +11 -11
  33. package/lib/datepick/index.d.ts +3 -3
  34. package/lib/datepick/index.js +8 -8
  35. package/lib/datepick/index.less +27 -27
  36. package/lib/form/Form.d.ts +47 -47
  37. package/lib/form/Form.js +8 -8
  38. package/lib/form/filed/Cascader.d.ts +6 -6
  39. package/lib/form/filed/Cascader.js +8 -8
  40. package/lib/form/filed/Checkbox.d.ts +6 -6
  41. package/lib/form/filed/Checkbox.js +8 -8
  42. package/lib/form/filed/DatePicker.d.ts +6 -6
  43. package/lib/form/filed/DatePicker.js +8 -8
  44. package/lib/form/filed/FormItem.d.ts +11 -11
  45. package/lib/form/filed/FormItem.js +8 -8
  46. package/lib/form/filed/Input.d.ts +7 -7
  47. package/lib/form/filed/Input.js +8 -8
  48. package/lib/form/filed/InputEamil.d.ts +6 -6
  49. package/lib/form/filed/InputEamil.js +8 -8
  50. package/lib/form/filed/InputNumber.d.ts +6 -6
  51. package/lib/form/filed/InputNumber.js +8 -8
  52. package/lib/form/filed/InputPassword.d.ts +6 -6
  53. package/lib/form/filed/InputPassword.js +8 -8
  54. package/lib/form/filed/Item.d.ts +17 -17
  55. package/lib/form/filed/Item.js +10 -10
  56. package/lib/form/filed/Radio.d.ts +6 -6
  57. package/lib/form/filed/Radio.js +8 -8
  58. package/lib/form/filed/RangerPicker.d.ts +6 -6
  59. package/lib/form/filed/RangerPicker.js +8 -8
  60. package/lib/form/filed/Rate.d.ts +6 -6
  61. package/lib/form/filed/Rate.js +8 -8
  62. package/lib/form/filed/Select.d.ts +6 -6
  63. package/lib/form/filed/Select.js +8 -8
  64. package/lib/form/filed/Slider.d.ts +6 -6
  65. package/lib/form/filed/Slider.js +8 -8
  66. package/lib/form/filed/Switch.d.ts +6 -6
  67. package/lib/form/filed/Switch.js +8 -8
  68. package/lib/form/filed/TagSelect.d.ts +6 -6
  69. package/lib/form/filed/TagSelect.js +1 -1
  70. package/lib/form/filed/TextArea.d.ts +6 -6
  71. package/lib/form/filed/TextArea.js +8 -8
  72. package/lib/form/filed/Upload.d.ts +6 -6
  73. package/lib/form/filed/Upload.js +8 -8
  74. package/lib/form/index.d.ts +41 -41
  75. package/lib/form/index.js +1 -1
  76. package/lib/index.d.ts +29 -26
  77. package/lib/index.js +11 -8
  78. package/lib/input/Email.d.ts +16 -16
  79. package/lib/input/Email.js +8 -8
  80. package/lib/input/Number.d.ts +13 -13
  81. package/lib/input/Number.js +8 -8
  82. package/lib/input/Password.d.ts +16 -16
  83. package/lib/input/Password.js +8 -8
  84. package/lib/input/Search.d.ts +16 -16
  85. package/lib/input/Search.js +1 -1
  86. package/lib/input/TextArea.d.ts +16 -16
  87. package/lib/input/TextArea.js +8 -8
  88. package/lib/input/index.d.ts +33 -33
  89. package/lib/input/index.js +10 -10
  90. package/lib/input/index.less +18 -18
  91. package/lib/menu/index.d.ts +27 -28
  92. package/lib/menu/index.js +13 -14
  93. package/lib/modal/index.d.ts +31 -0
  94. package/lib/modal/index.js +186 -0
  95. package/lib/pagecomponent/index.d.ts +3 -0
  96. package/lib/pagecomponent/index.js +36 -0
  97. package/lib/radio/RadioGroup.d.ts +25 -25
  98. package/lib/radio/RadioGroup.js +8 -8
  99. package/lib/radio/index.d.ts +11 -11
  100. package/lib/radio/index.js +8 -8
  101. package/lib/select/index.d.ts +29 -29
  102. package/lib/select/index.js +1 -1
  103. package/lib/select/index.less +21 -21
  104. package/lib/table/index.d.ts +87 -87
  105. package/lib/table/index.js +17 -17
  106. package/lib/tabs/Tabpane.d.ts +13 -13
  107. package/lib/tabs/Tabpane.js +8 -8
  108. package/lib/tabs/index.d.ts +18 -18
  109. package/lib/tabs/index.js +8 -8
  110. package/lib/tagSelect/TagSelect.d.ts +51 -51
  111. package/lib/tagSelect/TagSelect.js +8 -8
  112. package/lib/tagSelect/index.d.ts +23 -23
  113. package/lib/tagSelect/index.js +1 -1
  114. package/lib/tagSelect/index.less +33 -33
  115. package/lib/tree/TreeSearch.d.ts +42 -42
  116. package/lib/tree/index.d.ts +62 -62
  117. package/lib/treeUtils.d.ts +70 -70
  118. package/lib/utils.d.ts +17 -14
  119. package/lib/utils.js +28 -9
  120. package/package.json +73 -72
@@ -1,27 +1,27 @@
1
- import { PureComponent } from "react";
2
- import { CascaderProps } from "antd";
3
- import { TreeStore } from "@bj-nsc/msn";
4
- interface ICascaderProps extends CascaderProps {
5
- store?: TreeStore;
6
- labelField?: string;
7
- valueField?: string;
8
- childrenField?: string;
9
- onChange?: (value?: any, valuePath?: Array<any>, selectedOptions?: any) => void;
10
- }
11
- export default class NSCCascader extends PureComponent<ICascaderProps> {
12
- state: {
13
- dataSource: any[];
14
- dataStore: any[];
15
- stateValue: any[];
16
- };
17
- store: any;
18
- config: {
19
- breadcrumbMap: {};
20
- };
21
- componentDidUpdate(): void;
22
- constructor(props: any);
23
- onChange(value: any, selectOptions: any): void;
24
- componentDidMount(): void;
25
- render(): JSX.Element;
26
- }
27
- export {};
1
+ import { PureComponent } from "react";
2
+ import { CascaderProps } from "antd";
3
+ import { TreeStore } from "@bj-nsc/msn";
4
+ interface ICascaderProps extends CascaderProps {
5
+ store?: TreeStore;
6
+ labelField?: string;
7
+ valueField?: string;
8
+ childrenField?: string;
9
+ onChange?: (value?: any, valuePath?: Array<any>, selectedOptions?: any) => void;
10
+ }
11
+ export default class NSCCascader extends PureComponent<ICascaderProps> {
12
+ state: {
13
+ dataSource: any[];
14
+ dataStore: any[];
15
+ stateValue: any[];
16
+ };
17
+ store: any;
18
+ config: {
19
+ breadcrumbMap: {};
20
+ };
21
+ componentDidUpdate(): void;
22
+ constructor(props: any);
23
+ onChange(value: any, selectOptions: any): void;
24
+ componentDidMount(): void;
25
+ render(): JSX.Element;
26
+ }
27
+ export {};
@@ -37,13 +37,13 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
37
37
 
38
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
39
 
40
- /*
41
- * @Descripttion: 级联组件
42
- * @version:
43
- * @Author: rxzhu
44
- * @Date: 2021-04-06 14:45:54
45
- * @LastEditors: rxzhu
46
- * @LastEditTime: 2021-04-22 17:16:06
40
+ /*
41
+ * @Descripttion: 级联组件
42
+ * @version:
43
+ * @Author: rxzhu
44
+ * @Date: 2021-04-06 14:45:54
45
+ * @LastEditors: rxzhu
46
+ * @LastEditTime: 2021-04-22 17:16:06
47
47
  */
48
48
  import React, { PureComponent } from "react";
49
49
  import { TreeStore } from "@bj-nsc/msn";
@@ -248,4 +248,4 @@ var NSCCascader = /*#__PURE__*/function (_PureComponent) {
248
248
  }(PureComponent);
249
249
 
250
250
  export { NSCCascader as default };
251
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Nhc2NhZGVyL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUcmVlU3RvcmUiLCJ1dGlscyIsIk5TQ0Nhc2NhZGVyIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwic3RhdGVWYWx1ZSIsImJyZWFkY3J1bWJNYXAiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwiZmllbGROYW1lcyIsImxhYmVsIiwidmFsdWUiLCJjaGlsZHJlbiIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsInN0b3JlcyIsIkVycm9yIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50IiwiYXV0b0xvYWQiLCJmbGF0dGVuT3B0aW9uIiwia2V5RmllbGQiLCJ0aXRsZUZpZWxkIiwicGF0aHNGaWVsZCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsImRhdGEiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImNvbmZpZyIsImdldEZsYXR0ZW5EYXRhIiwiZGF0YUNoYW5nZWQiLCJzdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXREYXRhIiwic2VsZWN0T3B0aW9ucyIsIm9uQ2hhbmdlIiwidmFsdWVQYXRoIiwiY2hlY2tWYWx1ZSIsImxlbmd0aCIsImdldE1vZGVsRGF0YSIsImNoaWxkcmVuRmllbGQiLCJwYXJhbXMiLCJwbGFjZWhvbGRlciIsInNob3dTZWFyY2giLCJhbGxvd0NsZWFyIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiU3RyaW5nIiwicGF0aHMiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFB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SUFBbkI7QUFBcEIsU0FBa0R6RCxLQUFsRCxFQUE2RGdELE1BQTdELEVBREY7QUFHRDs7OztFQWpKc0NwRCxhOztTQUFwQkcsVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBARGVzY3JpcHR0aW9uOiDnuqfogZTnu4Tku7ZcbiAqIEB2ZXJzaW9uOlxuICogQEF1dGhvcjogcnh6aHVcbiAqIEBEYXRlOiAyMDIxLTA0LTA2IDE0OjQ1OjU0XG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIyIDE3OjE2OjA2XG4gKi9cblxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENhc2NhZGVyLCBDYXNjYWRlclByb3BzIH0gZnJvbSBcImFudGRcIjtcbmltcG9ydCBTdG9yZSwgeyBUcmVlU3RvcmUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xuaW1wb3J0IHRyZWVVdGlscyBmcm9tIFwiLi4vdHJlZVV0aWxzXCI7XG5cbmludGVyZmFjZSBJQ2FzY2FkZXJQcm9wcyBleHRlbmRzIENhc2NhZGVyUHJvcHMge1xuICBzdG9yZT86IFRyZWVTdG9yZTtcbiAgbGFiZWxGaWVsZD86IHN0cmluZzsgLy/mmL7npLrnmoTlrZfmrrVcbiAgdmFsdWVGaWVsZD86IHN0cmluZzsgLy/lgLzlrZfmrrVcbiAgY2hpbGRyZW5GaWVsZD86IHN0cmluZztcbiAgLy8gb3B0aW9ucz86QXJyYXk8YW55PlxuICBvbkNoYW5nZT86IChcbiAgICB2YWx1ZT86IGFueSxcbiAgICB2YWx1ZVBhdGg/OiBBcnJheTxhbnk+LFxuICAgIHNlbGVjdGVkT3B0aW9ucz86IGFueVxuICApID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ0Nhc2NhZGVyIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJQ2FzY2FkZXJQcm9wcz4ge1xuICBzdGF0ZSA9IHtcbiAgICBkYXRhU291cmNlOiBbXSxcbiAgICBkYXRhU3RvcmU6IFtdLFxuICAgIHN0YXRlVmFsdWU6IFtdLFxuICB9O1xuICBzdG9yZSA9IHt9IGFzIFRyZWVTdG9yZTtcbiAgY29uZmlnID0ge1xuICAgIC8v6Z2i5YyF5bGR5pWw5o2uXG4gICAgYnJlYWRjcnVtYk1hcDoge30sXG4gIH07XG4gIC8vIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGU6IGFueSkge1xuICAvLyAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gcHJldlN0YXRlO1xuICAvLyAgIGNvbnN0IHsgb3B0aW9ucyB9ID0gbmV4dFByb3BzO1xuICAvLyAgIGlmIChvcHRpb25zKSB7XG4gIC8vICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKSB7XG4gIC8vICAgICAgIHJldHVybiB7XG4gIC8vICAgICAgICAgZGF0YVNvdXJjZTogb3B0aW9ucyxcbiAgLy8gICAgICAgfTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIG51bGw7XG4gIC8vIH1cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIGNvbnN0IHsgZGF0YVN0b3JlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTdG9yZSkgIT09IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGRhdGFTdG9yZTogb3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3RvcmUuc2V0RGF0YShvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgIGNvbnN0IHtcbiAgICAgIHN0b3JlID0ge30sXG4gICAgICBvcHRpb25zLFxuICAgICAgbGFiZWxGaWVsZCxcbiAgICAgIHZhbHVlRmllbGQsXG4gICAgICBmaWVsZE5hbWVzID0geyBsYWJlbDogXCJsYWJlbFwiLCB2YWx1ZTogXCJ2YWx1ZVwiLCBjaGlsZHJlbjogXCJjaGlsZE5vZGVzXCIgfSxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sIHZpZXduYW1lLCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xuICAgIGlmICghdXJsICYmICFvcHRpb25zKSB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzlkoxvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xuICAgIHZhciBzdG9yZVByb3BzID0ge1xuICAgICAgbW9kZWw6IFwibW9kZWxcIixcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGF1dG9Mb2FkOiB0cnVlLFxuICAgICAgdXJsOiB1cmwsXG4gICAgICBmbGF0dGVuT3B0aW9uOiB7XG4gICAgICAgIGtleUZpZWxkOiB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IGZpZWxkTmFtZXMudmFsdWUsXG4gICAgICAgIHRpdGxlRmllbGQ6IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogZmllbGROYW1lcy5sYWJlbCxcbiAgICAgICAgcGF0aHNGaWVsZDogXCJwYXRoc1wiLFxuICAgICAgfSxcbiAgICAgIGxpc3RlbmVyczoge1xuICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XG4gICAgICAgIH0sXG4gICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XG4gICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XG4gICAgICAgICAgX3RoaXMuY29uZmlnLmJyZWFkY3J1bWJNYXAgPSBfdGhpcy5zdG9yZS5nZXRGbGF0dGVuRGF0YSgpO1xuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XG4gICAgICAgIH0sXG4gICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xuICAgICAgICAgIF90aGlzLmNvbmZpZy5icmVhZGNydW1iTWFwID0gX3RoaXMuc3RvcmUuZ2V0RmxhdHRlbkRhdGEoKTtcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcbiAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG1vZGVsRGF0YSxcbiAgICAgICAgICAgIHN0b3JlLFxuICAgICAgICAgIF0pO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC4uLnRoaXMucHJvcHMuc3RvcmUsXG4gICAgfTtcbiAgICBpZiAodXJsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xuICAgICAgc3RvcmVQcm9wcyA9IHtcbiAgICAgICAgLi4ue1xuICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxuICAgICAgICAgIHVybDogdXJsLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnN0b3JlUHJvcHMsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucyAhPT0gbnVsbCkge1xuICAgICAgc3RvcmVQcm9wcyA9IHtcbiAgICAgICAgZGF0YTogb3B0aW9ucyxcbiAgICAgICAgLi4uc3RvcmVQcm9wcyxcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuc3RvcmUgPSBuZXcgVHJlZVN0b3JlKHN0b3JlUHJvcHMpO1xuICB9XG4gIG9uQ2hhbmdlKHZhbHVlLCBzZWxlY3RPcHRpb25zKSB7XG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHN0YXRlVmFsdWU6IHZhbHVlLFxuICAgIH0pO1xuICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgbGV0IHZhbHVlUGF0aCA9IHZhbHVlO1xuICAgICAgbGV0IGNoZWNrVmFsdWUgPSB2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXTtcbiAgICAgIG9uQ2hhbmdlKGNoZWNrVmFsdWUsIHZhbHVlUGF0aCwgc2VsZWN0T3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGlmICh0aGlzLnByb3BzLm9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IG1vZGVsRGF0YSA9IHRoaXMuc3RvcmUuZ2V0TW9kZWxEYXRhKCk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZGF0YVNvdXJjZTogbW9kZWxEYXRhLFxuICAgICAgICBkYXRhU3RvcmU6IHRoaXMucHJvcHMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHtcbiAgICAgIG9wdGlvbnMsXG4gICAgICB2YWx1ZSxcbiAgICAgIGZpZWxkTmFtZXMgPSB7IGxhYmVsOiBcImxhYmVsXCIsIHZhbHVlOiBcInZhbHVlXCIsIGNoaWxkcmVuOiBcImNoaWxkTm9kZXNcIiB9LFxuICAgICAgbGFiZWxGaWVsZCxcbiAgICAgIHZhbHVlRmllbGQsXG4gICAgICBjaGlsZHJlbkZpZWxkLFxuICAgICAgc3RvcmUgPSB7fSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgLi4ucGFyYW1zXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICB2YWx1ZTogdmFsdWUgPyB2YWx1ZSA6IHRoaXMuc3RhdGUuc3RhdGVWYWx1ZSxcbiAgICAgIG9wdGlvbnM6IGRhdGFTb3VyY2UsXG4gICAgICBmaWVsZE5hbWVzOiBmaWVsZE5hbWVzLFxuICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oupXCIsXG4gICAgICBzaG93U2VhcmNoOiB0cnVlLFxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcbiAgICB9O1xuICAgIGlmIChsYWJlbEZpZWxkKSBwcm9wcy5maWVsZE5hbWVzLmxhYmVsID0gbGFiZWxGaWVsZDtcbiAgICBpZiAodmFsdWVGaWVsZCkgcHJvcHMuZmllbGROYW1lcy52YWx1ZSA9IHZhbHVlRmllbGQ7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHByb3BzLnZhbHVlKSkge1xuICAgICAgcHJvcHMudmFsdWUgPSBbXTtcbiAgICAgIGxldCBtYXAgPSB0aGlzLmNvbmZpZy5icmVhZGNydW1iTWFwW1N0cmluZyh2YWx1ZSldO1xuICAgICAgaWYgKG1hcCkgcHJvcHMudmFsdWUgPSBtYXAucGF0aHM7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8Q2FzY2FkZXIgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX0gey4uLnByb3BzfSB7Li4ucGFyYW1zfSAvPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Nhc2NhZGVyL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUcmVlU3RvcmUiLCJ1dGlscyIsIk5TQ0Nhc2NhZGVyIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwic3RhdGVWYWx1ZSIsImJyZWFkY3J1bWJNYXAiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwiZmllbGROYW1lcyIsImxhYmVsIiwidmFsdWUiLCJjaGlsZHJlbiIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsInN0b3JlcyIsIkVycm9yIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50IiwiYXV0b0xvYWQiLCJmbGF0dGVuT3B0aW9uIiwia2V5RmllbGQiLCJ0aXRsZUZpZWxkIiwicGF0aHNGaWVsZCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsImRhdGEiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImNvbmZpZyIsImdldEZsYXR0ZW5EYXRhIiwiZGF0YUNoYW5nZWQiLCJzdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXREYXRhIiwic2VsZWN0T3B0aW9ucyIsIm9uQ2hhbmdlIiwidmFsdWVQYXRoIiwiY2hlY2tWYWx1ZSIsImxlbmd0aCIsImdldE1vZGVsRGF0YSIsImNoaWxkcmVuRmllbGQiLCJwYXJhbXMiLCJwbGFjZWhvbGRlciIsInNob3dTZWFyY2giLCJhbGxvd0NsZWFyIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiU3RyaW5nIiwicGF0aHMiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFB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SUFBbkI7QUFBcEIsU0FBa0R6RCxLQUFsRCxFQUE2RGdELE1BQTdELEVBREY7QUFHRDs7OztFQWpKc0NwRCxhOztTQUFwQkcsVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246IOe6p+iBlOe7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDYgMTQ6NDU6NTRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIyIDE3OjE2OjA2XHJcbiAqL1xyXG5cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgQ2FzY2FkZXIsIENhc2NhZGVyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgVHJlZVN0b3JlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgdHJlZVV0aWxzIGZyb20gXCIuLi90cmVlVXRpbHNcIjtcclxuXHJcbmludGVyZmFjZSBJQ2FzY2FkZXJQcm9wcyBleHRlbmRzIENhc2NhZGVyUHJvcHMge1xyXG4gIHN0b3JlPzogVHJlZVN0b3JlO1xyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7IC8v5pi+56S655qE5a2X5q61XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZzsgLy/lgLzlrZfmrrVcclxuICBjaGlsZHJlbkZpZWxkPzogc3RyaW5nO1xyXG4gIC8vIG9wdGlvbnM/OkFycmF5PGFueT5cclxuICBvbkNoYW5nZT86IChcclxuICAgIHZhbHVlPzogYW55LFxyXG4gICAgdmFsdWVQYXRoPzogQXJyYXk8YW55PixcclxuICAgIHNlbGVjdGVkT3B0aW9ucz86IGFueVxyXG4gICkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDQ2FzY2FkZXIgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElDYXNjYWRlclByb3BzPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgICBzdGF0ZVZhbHVlOiBbXSxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgVHJlZVN0b3JlO1xyXG4gIGNvbmZpZyA9IHtcclxuICAgIC8v6Z2i5YyF5bGR5pWw5o2uXHJcbiAgICBicmVhZGNydW1iTWFwOiB7fSxcclxuICB9O1xyXG4gIC8vIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGU6IGFueSkge1xyXG4gIC8vICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSBwcmV2U3RhdGU7XHJcbiAgLy8gICBjb25zdCB7IG9wdGlvbnMgfSA9IG5leHRQcm9wcztcclxuICAvLyAgIGlmIChvcHRpb25zKSB7XHJcbiAgLy8gICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykpIHtcclxuICAvLyAgICAgICByZXR1cm4ge1xyXG4gIC8vICAgICAgICAgZGF0YVNvdXJjZTogb3B0aW9ucyxcclxuICAvLyAgICAgICB9O1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbnVsbDtcclxuICAvLyB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xyXG4gICAgY29uc3QgeyBkYXRhU3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IG9wdGlvbnMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVN0b3JlKSAhPT0gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTdG9yZTogb3B0aW9ucyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnN0b3JlLnNldERhdGEob3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgbGFiZWxGaWVsZCxcclxuICAgICAgdmFsdWVGaWVsZCxcclxuICAgICAgZmllbGROYW1lcyA9IHsgbGFiZWw6IFwibGFiZWxcIiwgdmFsdWU6IFwidmFsdWVcIiwgY2hpbGRyZW46IFwiY2hpbGROb2Rlc1wiIH0sXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgdmlld25hbWUsIC4uLnN0b3JlcyB9ID0gc3RvcmU7XHJcbiAgICBpZiAoIXVybCAmJiAhb3B0aW9ucykgdGhyb3cgbmV3IEVycm9yKFwidXJs5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgIHZhciBzdG9yZVByb3BzID0ge1xyXG4gICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgZmxhdHRlbk9wdGlvbjoge1xyXG4gICAgICAgIGtleUZpZWxkOiB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IGZpZWxkTmFtZXMudmFsdWUsXHJcbiAgICAgICAgdGl0bGVGaWVsZDogbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiBmaWVsZE5hbWVzLmxhYmVsLFxyXG4gICAgICAgIHBhdGhzRmllbGQ6IFwicGF0aHNcIixcclxuICAgICAgfSxcclxuICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICBfdGhpcy5jb25maWcuYnJlYWRjcnVtYk1hcCA9IF90aGlzLnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICBfdGhpcy5jb25maWcuYnJlYWRjcnVtYk1hcCA9IF90aGlzLnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICBdKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICAuLi50aGlzLnByb3BzLnN0b3JlLFxyXG4gICAgfTtcclxuICAgIGlmICh1cmwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgLi4ue1xyXG4gICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICB1cmw6IHVybCwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSBpZiAob3B0aW9ucyAhPT0gbnVsbCkge1xyXG4gICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIGRhdGE6IG9wdGlvbnMsXHJcbiAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmUgPSBuZXcgVHJlZVN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgc2VsZWN0T3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzdGF0ZVZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIGxldCB2YWx1ZVBhdGggPSB2YWx1ZTtcclxuICAgICAgbGV0IGNoZWNrVmFsdWUgPSB2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXTtcclxuICAgICAgb25DaGFuZ2UoY2hlY2tWYWx1ZSwgdmFsdWVQYXRoLCBzZWxlY3RPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5vcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IG1vZGVsRGF0YSA9IHRoaXMuc3RvcmUuZ2V0TW9kZWxEYXRhKCk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IG1vZGVsRGF0YSxcclxuICAgICAgICBkYXRhU3RvcmU6IHRoaXMucHJvcHMub3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIGZpZWxkTmFtZXMgPSB7IGxhYmVsOiBcImxhYmVsXCIsIHZhbHVlOiBcInZhbHVlXCIsIGNoaWxkcmVuOiBcImNoaWxkTm9kZXNcIiB9LFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBjaGlsZHJlbkZpZWxkLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBvbkNoYW5nZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHByb3BzID0ge1xyXG4gICAgICB2YWx1ZTogdmFsdWUgPyB2YWx1ZSA6IHRoaXMuc3RhdGUuc3RhdGVWYWx1ZSxcclxuICAgICAgb3B0aW9uczogZGF0YVNvdXJjZSxcclxuICAgICAgZmllbGROYW1lczogZmllbGROYW1lcyxcclxuICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oupXCIsXHJcbiAgICAgIHNob3dTZWFyY2g6IHRydWUsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgaWYgKGxhYmVsRmllbGQpIHByb3BzLmZpZWxkTmFtZXMubGFiZWwgPSBsYWJlbEZpZWxkO1xyXG4gICAgaWYgKHZhbHVlRmllbGQpIHByb3BzLmZpZWxkTmFtZXMudmFsdWUgPSB2YWx1ZUZpZWxkO1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHByb3BzLnZhbHVlKSkge1xyXG4gICAgICBwcm9wcy52YWx1ZSA9IFtdO1xyXG4gICAgICBsZXQgbWFwID0gdGhpcy5jb25maWcuYnJlYWRjcnVtYk1hcFtTdHJpbmcodmFsdWUpXTtcclxuICAgICAgaWYgKG1hcCkgcHJvcHMudmFsdWUgPSBtYXAucGF0aHM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Q2FzY2FkZXIgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX0gey4uLnByb3BzfSB7Li4ucGFyYW1zfSAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,38 @@
1
+ import React, { PureComponent } from "react";
2
+ import { ECharts } from "echarts/lib/echarts";
3
+ import { StoreProps } from "@bj-nsc/msn";
4
+ interface ChartProps {
5
+ store?: StoreProps;
6
+ option: any;
7
+ data?: Array<Object> | Object;
8
+ width: number | string;
9
+ height: number | string;
10
+ OnClick?: (params: any) => void;
11
+ }
12
+ /**
13
+ 数组:
14
+ data=[{name:'1月',value:20},{name:'2月',value:10},{name:'3月',value:25}]
15
+ 对象
16
+ data={name:['1月','2月','3月'],value:[20,30,40]}
17
+ */
18
+ declare class NscChart extends PureComponent<ChartProps> {
19
+ chartRef: React.RefObject<HTMLDivElement>;
20
+ myChart: ECharts | null;
21
+ store: any;
22
+ state: {
23
+ dataSource: any;
24
+ };
25
+ constructor(props: any);
26
+ componentDidMount(): void;
27
+ reSetChart(): void;
28
+ isString(v: any): boolean;
29
+ componentWillUnmount(): void;
30
+ isReplace(v: any): boolean;
31
+ replace(v: any): any;
32
+ dataConversion(data: any, datas: any, dataMap: any): any;
33
+ objectConversion(obj: any, datas: any, dataMap: any): any;
34
+ init(): void;
35
+ handleChartResize(): void;
36
+ render(): JSX.Element;
37
+ }
38
+ export default NscChart;
@@ -0,0 +1,291 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
+
3
+ var _excluded = ["url", "listeners"];
4
+
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
+
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
+
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16
+
17
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18
+
19
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
20
+
21
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
+
23
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
24
+
25
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
26
+
27
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
28
+
29
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
30
+
31
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
+
33
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
34
+
35
+ import React, { PureComponent } from "react";
36
+ import * as echarts from "echarts";
37
+ import Store from "@bj-nsc/msn";
38
+ import { utils } from "@bj-nsc/msn/lib/utils";
39
+ import { px2vw } from "../utils";
40
+ import { isArray, isObject } from "@bj-nsc/functions";
41
+
42
+ //data示例
43
+
44
+ /**
45
+ 数组:
46
+ data=[{name:'1月',value:20},{name:'2月',value:10},{name:'3月',value:25}]
47
+ 对象
48
+ data={name:['1月','2月','3月'],value:[20,30,40]}
49
+ */
50
+ var NscChart = /*#__PURE__*/function (_PureComponent) {
51
+ _inherits(NscChart, _PureComponent);
52
+
53
+ var _super = _createSuper(NscChart);
54
+
55
+ function NscChart(props) {
56
+ var _this2;
57
+
58
+ _classCallCheck(this, NscChart);
59
+
60
+ _this2 = _super.call(this, props);
61
+
62
+ _defineProperty(_assertThisInitialized(_this2), "chartRef", /*#__PURE__*/React.createRef());
63
+
64
+ _defineProperty(_assertThisInitialized(_this2), "myChart", null);
65
+
66
+ _defineProperty(_assertThisInitialized(_this2), "store", {});
67
+
68
+ _defineProperty(_assertThisInitialized(_this2), "state", {
69
+ dataSource: null
70
+ });
71
+
72
+ var data = props.data,
73
+ _props$store = props.store,
74
+ store = _props$store === void 0 ? {} : _props$store,
75
+ children = props.children,
76
+ options = props.option;
77
+
78
+ var url = store.url,
79
+ _store$listeners = store.listeners,
80
+ listenersPops = _store$listeners === void 0 ? {} : _store$listeners,
81
+ stores = _objectWithoutProperties(store, _excluded);
82
+
83
+ if (!children) {
84
+ if (!(data || url || options)) {
85
+ throw new Error("url、data、option不能都为空!");
86
+ }
87
+
88
+ var _this = _assertThisInitialized(_this2);
89
+
90
+ var storeProps = _objectSpread({
91
+ model: "model",
92
+ component: _assertThisInitialized(_this2),
93
+ listeners: {
94
+ onBeforeLoad: function onBeforeLoad(store, options) {
95
+ utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);
96
+ },
97
+ load: function load(data, modelData, store) {
98
+ _this.setState({
99
+ dataSource: modelData
100
+ });
101
+
102
+ utils.callback(listenersPops.load, _this, [data, modelData, store]);
103
+ },
104
+ dataChanged: function dataChanged(data, modelData, store) {
105
+ _this.setState({
106
+ dataSource: modelData
107
+ });
108
+
109
+ utils.callback(listenersPops.dataChanged, _this, [data, modelData, store]);
110
+ }
111
+ }
112
+ }, stores);
113
+
114
+ if (url && data == null) {
115
+ storeProps = _objectSpread(_objectSpread({}, {
116
+ autoLoad: true,
117
+ url: url
118
+ }), storeProps);
119
+ }
120
+
121
+ _this2.store = new Store(storeProps);
122
+ }
123
+
124
+ return _this2;
125
+ }
126
+
127
+ _createClass(NscChart, [{
128
+ key: "componentDidMount",
129
+ value: function componentDidMount() {
130
+ this.init();
131
+ }
132
+ }, {
133
+ key: "reSetChart",
134
+ value: function reSetChart() {
135
+ this.init();
136
+ }
137
+ }, {
138
+ key: "isString",
139
+ value: function isString(v) {
140
+ return typeof v === "string";
141
+ }
142
+ }, {
143
+ key: "componentWillUnmount",
144
+ value: function componentWillUnmount() {
145
+ window.removeEventListener("resize", this.handleChartResize.bind(this));
146
+ }
147
+ }, {
148
+ key: "isReplace",
149
+ value: function isReplace(v) {
150
+ return /^{.*}$/gi.test(v);
151
+ }
152
+ }, {
153
+ key: "replace",
154
+ value: function replace(v) {
155
+ return v.substring(1, v.length - 1);
156
+ }
157
+ }, {
158
+ key: "dataConversion",
159
+ value: function dataConversion(data, datas, dataMap) {
160
+ var _this3 = this;
161
+
162
+ var result;
163
+
164
+ if (data) {
165
+ if (this.isString(data) && this.isReplace(data)) {
166
+ result = dataMap[this.replace(data)];
167
+ } else if (isArray(data)) {
168
+ data.map(function (item) {
169
+ var v = item.value;
170
+
171
+ if (v && _this3.isReplace(v)) {
172
+ item.value = _this3.dataConversion(v, datas, dataMap);
173
+ }
174
+ });
175
+ result = data;
176
+ } else if (isObject(data)) {
177
+ result = [];
178
+
179
+ if (isArray(datas)) {
180
+ datas.map(function (item) {
181
+ var tempObj = {};
182
+
183
+ for (var key in item) {
184
+ var v = item[key];
185
+
186
+ if (_this3.isReplace(v)) {
187
+ tempObj[key] = item[_this3.replace(v)];
188
+ } else {
189
+ tempObj[key] = v;
190
+ }
191
+ }
192
+
193
+ result.push(tempObj);
194
+ });
195
+ }
196
+ }
197
+ }
198
+
199
+ return result;
200
+ }
201
+ }, {
202
+ key: "objectConversion",
203
+ value: function objectConversion(obj, datas, dataMap) {
204
+ var _this4 = this;
205
+
206
+ if (obj) {
207
+ if (isArray(obj)) {
208
+ obj.map(function (item) {
209
+ if (item.data) {
210
+ item.data = _this4.dataConversion(item.data, datas, dataMap);
211
+ }
212
+ });
213
+ } else if (this.isString(obj)) {
214
+ obj.data = this.dataConversion(obj, datas, dataMap);
215
+ } else if (isObject(obj)) {
216
+ obj.data = this.dataConversion(obj.data, datas, dataMap);
217
+ }
218
+ }
219
+
220
+ return obj;
221
+ }
222
+ }, {
223
+ key: "init",
224
+ value: function init() {
225
+ var _this$props = this.props,
226
+ option = _this$props.option,
227
+ data = _this$props.data,
228
+ OnClick = _this$props.OnClick;
229
+ var dataSource = this.state.dataSource;
230
+ var dataMap = {};
231
+ var newDatas = data || dataSource;
232
+
233
+ var newOption = _objectSpread({}, option);
234
+
235
+ if (isArray(newDatas)) {
236
+ newDatas.map(function (item) {
237
+ for (var key in item) {
238
+ if (dataMap[key] == null) {
239
+ dataMap[key] = [];
240
+ }
241
+
242
+ dataMap[key].push(item[key]);
243
+ }
244
+ });
245
+ } else if (isObject(newDatas)) {
246
+ dataMap = newDatas;
247
+ }
248
+
249
+ newOption.xAxis = this.objectConversion(newOption.xAxis, newDatas, dataMap);
250
+ newOption.yAxis = this.objectConversion(newOption.yAxis, newDatas, dataMap);
251
+ newOption.series = this.objectConversion(newOption.series, newDatas, dataMap);
252
+ var myChart = this.myChart = echarts.init(this.chartRef.current); //初始化echarts,通过ref属性获取dom
253
+
254
+ myChart.clear();
255
+ myChart.setOption(newOption);
256
+ myChart.on("click", function (params) {
257
+ myChart.off("click"); // 这里很重要 ,防止重复点击事件!!!
258
+
259
+ OnClick && OnClick(params);
260
+ });
261
+ window.addEventListener("resize", this.handleChartResize.bind(this));
262
+ }
263
+ }, {
264
+ key: "handleChartResize",
265
+ value: function handleChartResize() {
266
+ if (this.myChart) {
267
+ this.myChart.resize();
268
+ }
269
+ }
270
+ }, {
271
+ key: "render",
272
+ value: function render() {
273
+ var _this$props2 = this.props,
274
+ width = _this$props2.width,
275
+ height = _this$props2.height;
276
+ var boxStyle = {
277
+ width: typeof width == "number" ? px2vw(width) : width,
278
+ height: typeof height == "number" ? px2vw(height) : height
279
+ };
280
+ return /*#__PURE__*/React.createElement("div", {
281
+ style: boxStyle,
282
+ ref: this.chartRef
283
+ });
284
+ }
285
+ }]);
286
+
287
+ return NscChart;
288
+ }(PureComponent);
289
+
290
+ export default NscChart;
291
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJkYXRhIiwic3RvcmUiLCJjaGlsZHJlbiIsIm9wdGlvbnMiLCJvcHRpb24iLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwic3RvcmVzIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJhdXRvTG9hZCIsImluaXQiLCJ2Iiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNoYXJ0UmVzaXplIiwiYmluZCIsInRlc3QiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJkYXRhcyIsImRhdGFNYXAiLCJyZXN1bHQiLCJpc1N0cmluZyIsImlzUmVwbGFjZSIsInJlcGxhY2UiLCJtYXAiLCJpdGVtIiwidmFsdWUiLCJkYXRhQ29udmVyc2lvbiIsInRlbXBPYmoiLCJrZXkiLCJwdXNoIiwib2JqIiwiT25DbGljayIsInN0YXRlIiwibmV3RGF0YXMiLCJuZXdPcHRpb24iLCJ4QXhpcyIsIm9iamVjdENvbnZlcnNpb24iLCJ5QXhpcyIsInNlcmllcyIsIm15Q2hhcnQiLCJjaGFydFJlZiIsImN1cnJlbnQiLCJjbGVhciIsInNldE9wdGlvbiIsIm9uIiwicGFyYW1zIiwib2ZmIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlc2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiYm94U3R5bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFB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Q0FBQ08sR0FBUixDQUFZLE9BQVosRUFEb0MsQ0FDZDs7QUFDdEJmLFFBQUFBLE9BQU8sSUFBSUEsT0FBTyxDQUFDYyxNQUFELENBQWxCO0FBQ0QsT0FIRDtBQUlBbkMsTUFBQUEsTUFBTSxDQUFDcUMsZ0JBQVAsQ0FBd0IsUUFBeEIsRUFBa0MsS0FBS25DLGlCQUFMLENBQXVCQyxJQUF2QixDQUE0QixJQUE1QixDQUFsQztBQUNEOzs7V0FFRCw2QkFBb0I7QUFDbEIsVUFBSSxLQUFLMEIsT0FBVCxFQUFrQjtBQUNoQixhQUFLQSxPQUFMLENBQWFTLE1BQWI7QUFDRDtBQUNGOzs7V0FFRCxrQkFBUztBQUNQLHlCQUEwQixLQUFLaEUsS0FBL0I7QUFBQSxVQUFRaUUsS0FBUixnQkFBUUEsS0FBUjtBQUFBLFVBQWVDLE1BQWYsZ0JBQWVBLE1BQWY7QUFDQSxVQUFNQyxRQUFRLEdBQUc7QUFDZkYsUUFBQUEsS0FBSyxFQUFFLE9BQU9BLEtBQVAsSUFBZ0IsUUFBaEIsR0FBMkJyRSxLQUFLLENBQUNxRSxLQUFELENBQWhDLEdBQTBDQSxLQURsQztBQUVmQyxRQUFBQSxNQUFNLEVBQUUsT0FBT0EsTUFBUCxJQUFpQixRQUFqQixHQUE0QnRFLEtBQUssQ0FBQ3NFLE1BQUQsQ0FBakMsR0FBNENBO0FBRnJDLE9BQWpCO0FBSUEsMEJBQU87QUFBSyxRQUFBLEtBQUssRUFBRUMsUUFBWjtBQUFzQixRQUFBLEdBQUcsRUFBRSxLQUFLWDtBQUFoQyxRQUFQO0FBQ0Q7Ozs7RUEzS29CaEUsYTs7QUE4S3ZCLGVBQWVPLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gXCJlY2hhcnRzXCI7XHJcbmltcG9ydCB7IEVDaGFydHMgfSBmcm9tIFwiZWNoYXJ0cy9saWIvZWNoYXJ0c1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IHsgcHgydncgfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW50ZXJmYWNlIENoYXJ0UHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBvcHRpb246IGFueTtcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PiB8IE9iamVjdDtcclxuICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOWuveW6plxyXG4gIGhlaWdodDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOmVv+W6plxyXG4gIE9uQ2xpY2s/OiAocGFyYW1zOiBhbnkpID0+IHZvaWQ7IC8v5Zu+6KGo54K55Ye75LqL5Lu2XHJcbn1cclxuXHJcbi8vZGF0YeekuuS+i1xyXG4vKipcclxuIOaVsOe7hO+8mlxyXG4gZGF0YT1be25hbWU6JzHmnIgnLHZhbHVlOjIwfSx7bmFtZTonMuaciCcsdmFsdWU6MTB9LHtuYW1lOicz5pyIJyx2YWx1ZToyNX1dXHJcbiDlr7nosaFcclxuIGRhdGE9e25hbWU6Wycx5pyIJywnMuaciCcsJzPmnIgnXSx2YWx1ZTpbMjAsMzAsNDBdfVxyXG4gKi9cclxuY2xhc3MgTnNjQ2hhcnQgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PENoYXJ0UHJvcHM+IHtcclxuICBjaGFydFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuICBteUNoYXJ0OiBFQ2hhcnRzIHwgbnVsbCA9IG51bGw7XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogbnVsbCxcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7IGRhdGEsIHN0b3JlID0ge30sIGNoaWxkcmVuLCBvcHRpb246IG9wdGlvbnMgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB1cmwsIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgWRhdGHjgIFvcHRpb27kuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodXJsICYmIGRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICByZVNldENoYXJ0KCkge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG4gIGlzU3RyaW5nKHYpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIjtcclxuICB9XHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZUNoYXJ0UmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgaXNSZXBsYWNlKHYpIHtcclxuICAgIHJldHVybiAvXnsuKn0kL2dpLnRlc3Qodik7XHJcbiAgfVxyXG4gIHJlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIHYuc3Vic3RyaW5nKDEsIHYubGVuZ3RoIC0gMSk7XHJcbiAgfVxyXG5cclxuICBkYXRhQ29udmVyc2lvbihkYXRhLCBkYXRhcywgZGF0YU1hcCkge1xyXG4gICAgbGV0IHJlc3VsdDtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzU3RyaW5nKGRhdGEpICYmIHRoaXMuaXNSZXBsYWNlKGRhdGEpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YU1hcFt0aGlzLnJlcGxhY2UoZGF0YSldO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHYgPSBpdGVtLnZhbHVlO1xyXG4gICAgICAgICAgaWYgKHYgJiYgdGhpcy5pc1JlcGxhY2UodikpIHtcclxuICAgICAgICAgICAgaXRlbS52YWx1ZSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdCA9IGRhdGE7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBbXTtcclxuICAgICAgICBpZiAoaXNBcnJheShkYXRhcykpIHtcclxuICAgICAgICAgIGRhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgdGVtcE9iaiA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgICAgICAgIGxldCB2ID0gaXRlbVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICAgICAgdGVtcE9ialtrZXldID0gaXRlbVt0aGlzLnJlcGxhY2UodildO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSB2O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh0ZW1wT2JqKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgb2JqZWN0Q29udmVyc2lvbihvYmosIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBpZiAob2JqKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcclxuICAgICAgICBvYmoubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbS5kYXRhKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24oaXRlbS5kYXRhLCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1N0cmluZyhvYmopKSB7XHJcbiAgICAgICAgb2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKG9iaiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG9iaikpIHtcclxuICAgICAgICBvYmouZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24ob2JqLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcbiAgaW5pdCgpIHtcclxuICAgIGNvbnN0IHsgb3B0aW9uLCBkYXRhLCBPbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IGRhdGFNYXA6IGFueSA9IHt9O1xyXG4gICAgY29uc3QgbmV3RGF0YXMgPSBkYXRhIHx8IGRhdGFTb3VyY2U7XHJcbiAgICBsZXQgbmV3T3B0aW9uID0geyAuLi5vcHRpb24gfTtcclxuICAgIGlmIChpc0FycmF5KG5ld0RhdGFzKSkge1xyXG4gICAgICBuZXdEYXRhcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgICAgaWYgKGRhdGFNYXBba2V5XSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGRhdGFNYXBba2V5XSA9IFtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGF0YU1hcFtrZXldLnB1c2goaXRlbVtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChpc09iamVjdChuZXdEYXRhcykpIHtcclxuICAgICAgZGF0YU1hcCA9IG5ld0RhdGFzO1xyXG4gICAgfVxyXG4gICAgbmV3T3B0aW9uLnhBeGlzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKG5ld09wdGlvbi54QXhpcywgbmV3RGF0YXMsIGRhdGFNYXApO1xyXG4gICAgbmV3T3B0aW9uLnlBeGlzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKG5ld09wdGlvbi55QXhpcywgbmV3RGF0YXMsIGRhdGFNYXApO1xyXG4gICAgbmV3T3B0aW9uLnNlcmllcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihcclxuICAgICAgbmV3T3B0aW9uLnNlcmllcyxcclxuICAgICAgbmV3RGF0YXMsXHJcbiAgICAgIGRhdGFNYXBcclxuICAgICk7XHJcbiAgICBjb25zdCBteUNoYXJ0ID0gKHRoaXMubXlDaGFydCA9IGVjaGFydHMuaW5pdChcclxuICAgICAgdGhpcy5jaGFydFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50XHJcbiAgICApKTsgLy/liJ3lp4vljJZlY2hhcnRz77yM6YCa6L+HcmVm5bGe5oCn6I635Y+WZG9tXHJcbiAgICBteUNoYXJ0LmNsZWFyKCk7XHJcbiAgICBteUNoYXJ0LnNldE9wdGlvbihuZXdPcHRpb24pO1xyXG4gICAgbXlDaGFydC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChwYXJhbXMpIHtcclxuICAgICAgbXlDaGFydC5vZmYoXCJjbGlja1wiKTsgLy8g6L+Z6YeM5b6I6YeN6KaBIO+8jOmYsuatoumHjeWkjeeCueWHu+S6i+S7tu+8ge+8ge+8gVxyXG4gICAgICBPbkNsaWNrICYmIE9uQ2xpY2socGFyYW1zKTtcclxuICAgIH0pO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0UmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMubXlDaGFydCkge1xyXG4gICAgICB0aGlzLm15Q2hhcnQucmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBib3hTdHlsZSA9IHtcclxuICAgICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PSBcIm51bWJlclwiID8gcHgydncod2lkdGgpIDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PSBcIm51bWJlclwiID8gcHgydncoaGVpZ2h0KSA6IGhlaWdodCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gPGRpdiBzdHlsZT17Ym94U3R5bGV9IHJlZj17dGhpcy5jaGFydFJlZn0+PC9kaXY+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjQ2hhcnQ7XHJcbiJdfQ==
@@ -1,22 +1,22 @@
1
- import { PureComponent } from "react";
2
- import { StoreProps } from "@bj-nsc/msn";
3
- interface ICheckboxGroupProps {
4
- store?: StoreProps;
5
- data?: Array<string | Object>;
6
- labelField?: string;
7
- valueField?: string;
8
- [propName: string]: any;
9
- }
10
- declare class NSCCheckboxGroup extends PureComponent<ICheckboxGroupProps> {
11
- state: {
12
- dataSource: any[];
13
- dataStore: any[];
14
- };
15
- store: any;
16
- constructor(props: any);
17
- convertData(data: any): any[];
18
- componentDidMount(): void;
19
- componentDidUpdate(): void;
20
- render(): JSX.Element;
21
- }
22
- export default NSCCheckboxGroup;
1
+ import { PureComponent } from "react";
2
+ import { StoreProps } from "@bj-nsc/msn";
3
+ interface ICheckboxGroupProps {
4
+ store?: StoreProps;
5
+ data?: Array<string | Object>;
6
+ labelField?: string;
7
+ valueField?: string;
8
+ [propName: string]: any;
9
+ }
10
+ declare class NSCCheckboxGroup extends PureComponent<ICheckboxGroupProps> {
11
+ state: {
12
+ dataSource: any[];
13
+ dataStore: any[];
14
+ };
15
+ store: any;
16
+ constructor(props: any);
17
+ convertData(data: any): any[];
18
+ componentDidMount(): void;
19
+ componentDidUpdate(): void;
20
+ render(): JSX.Element;
21
+ }
22
+ export default NSCCheckboxGroup;
@@ -37,13 +37,13 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
37
37
 
38
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
39
 
40
- /*
41
- * @Descripttion:
42
- * @version:
43
- * @Author: rxzhu
44
- * @Date: 2021-04-14 08:59:19
45
- * @LastEditors: rxzhu
46
- * @LastEditTime: 2021-04-23 16:46:33
40
+ /*
41
+ * @Descripttion:
42
+ * @version:
43
+ * @Author: rxzhu
44
+ * @Date: 2021-04-14 08:59:19
45
+ * @LastEditors: rxzhu
46
+ * @LastEditTime: 2021-04-23 16:46:33
47
47
  */
48
48
  import React, { PureComponent } from "react";
49
49
  import Store from "@bj-nsc/msn";
@@ -227,4 +227,4 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
227
227
  }(PureComponent);
228
228
 
229
229
  export default NSCCheckboxGroup;
230
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoZWNrYm94L0NoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlN0b3JlIiwidXRpbHMiLCJvbWl0IiwiY29uZmlnIiwiTlNDQ2hlY2tib3hHcm91cCIsInByb3BzIiwiZGF0YVNvdXJjZSIsImRhdGFTdG9yZSIsIl90aGlzIiwic3RvcmUiLCJvcHRpb25zIiwiZGF0YSIsImNoaWxkcmVuIiwidmlld1VybCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiRXJyb3IiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJjb252ZXJ0RGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwiZGF0YVNvdXJlIiwiaSIsImxlbmd0aCIsIm9iaiIsImxhYmVsIiwidmFsdWUiLCJkaXNhYmxlZCIsInB1c2giLCJzdGF0ZSIsIm5ld0RhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicGFyYW1zIiwiQ2hlY2tCb3hQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7O0lBV01DLGdCOzs7OztBQU1KLDRC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QVI7QUFBQSxVQUFjRCxPQUFkLGdCQUFjQSxPQUFkO0FBQ0EsVUFBTW9DLE9BQU8sR0FBR25DLElBQUksR0FBR0EsSUFBSCxHQUFVRCxPQUE5Qjs7QUFDQSxVQUFJQyxJQUFJLElBQUlELE9BQVosRUFBcUI7QUFDbkIsWUFBSXFDLElBQUksQ0FBQ0MsU0FBTCxDQUFlekMsU0FBZixNQUE4QndDLElBQUksQ0FBQ0MsU0FBTCxDQUFlRixPQUFmLENBQWxDLEVBQTJEO0FBQ3pELGVBQUtoQixRQUFMLENBQWM7QUFDWnhCLFlBQUFBLFVBQVUsRUFBRSxLQUFLdUIsV0FBTCxDQUFpQmlCLE9BQWpCLENBREE7QUFFWnZDLFlBQUFBLFNBQVMsRUFBRXVDO0FBRkMsV0FBZDtBQUlEO0FBQ0Y7QUFDRjs7O1dBRUQsa0JBQVM7QUFDUCx5QkFBcUMsS0FBS3pDLEtBQTFDO0FBQUEsVUFBUU0sSUFBUixnQkFBUUEsSUFBUjtBQUFBLFVBQWNELE9BQWQsZ0JBQWNBLE9BQWQ7QUFBQSxVQUEwQnVDLE1BQTFCOztBQUNBLFVBQU1DLGFBQWEsR0FBR2hELElBQUksbUJBQU0rQyxNQUFOLEdBQWdCLENBQ3hDLE9BRHdDLEVBRXhDLFlBRndDLEVBR3hDLFlBSHdDLEVBSXhDLE1BSndDLENBQWhCLENBQTFCO0FBTUEsMEJBQ0UsOEJBQVUsS0FBVjtBQUFnQixRQUFBLE9BQU8sRUFBRSxLQUFLSixLQUFMLENBQVd2QztBQUFwQyxTQUFvRDRDLGFBQXBELEVBREY7QUFHRDs7OztFQXJINEJuRCxhOztBQXdIL0IsZUFBZUssZ0JBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQERlc2NyaXB0dGlvbjpcbiAqIEB2ZXJzaW9uOlxuICogQEF1dGhvcjogcnh6aHVcbiAqIEBEYXRlOiAyMDIxLTA0LTE0IDA4OjU5OjE5XG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjMzXG4gKi9cbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gXCJhbnRkXCI7XG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XG5cblxuaW50ZXJmYWNlIElDaGVja2JveEdyb3VwUHJvcHMge1xuICBzdG9yZT86IFN0b3JlUHJvcHM7XG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcbn1cblxuY2xhc3MgTlNDQ2hlY2tib3hHcm91cCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUNoZWNrYm94R3JvdXBQcm9wcz4ge1xuICBzdGF0ZSA9IHtcbiAgICBkYXRhU291cmNlOiBbXSxcbiAgICBkYXRhU3RvcmU6IFtdLFxuICB9O1xuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIGNvbnN0IF90aGlzID0gdGhpcztcbiAgICBjb25zdCB7IHN0b3JlID0ge30sIG9wdGlvbnMsIGRhdGEsIGNoaWxkcmVuIH0gPSBwcm9wcztcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcbiAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHVybCxcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXG4gICAgICAgIHZpZXduYW1lLFxuICAgICAgICBjYWNoZWQsXG4gICAgICAgIGNhY2hlS2V5LFxuICAgICAgICAuLi5zdG9yZXNcbiAgICAgIH0gPSBzdG9yZTtcbiAgICAgIGlmICghdXJsICYmICFvcHRpb25zICYmICFkYXRhICYmICF2aWV3bmFtZSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcbiAgICAgIHZhciBzdG9yZVByb3BzID0ge1xuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgIGxpc3RlbmVyczoge1xuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcbiAgICAgICAgICAgIGxldCBkYXRhU291cmNlID0gX3RoaXMuY29udmVydERhdGEobW9kZWxEYXRhKTtcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSB9KTtcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnN0b3JlcyxcbiAgICAgIH07XG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xuICAgICAgICBpZiAodmlld25hbWUpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdG9yZVByb3BzID0ge1xuICAgICAgICAgIC4uLntcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcbiAgICB9XG4gIH1cbiAgY29udmVydERhdGEoZGF0YSkge1xuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IGRhdGFTb3VyZSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGxldCBvYmogPSB7IC4uLmRhdGFbaV0gfTtcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcbiAgICAgICAgb2JqLnZhbHVlID0gZGF0YVtpXVt2YWx1ZUZpZWxkXTtcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZGF0YVtpXS5kaXNhYmxlZCA/IGRhdGFbaV0uZGlzYWJsZWQgOiBmYWxzZTtcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBvYmogPSB7fSBhcyB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xuICAgICAgICBvYmoubGFiZWwgPSBkYXRhW2ldO1xuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xuICAgICAgICBvYmouZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGFTb3VyZTtcbiAgfVxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXG4gICAgICAgIGRhdGFTdG9yZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVN0b3JlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcbiAgICAgICAgICBkYXRhU3RvcmU6IG5ld0RhdGEsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBDaGVja0JveFByb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXG4gICAgICBcInN0b3JlXCIsXG4gICAgICBcInZhbHVlRmllbGRcIixcbiAgICAgIFwibGFiZWxGaWVsZFwiLFxuICAgICAgXCJkYXRhXCIsXG4gICAgXSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxDaGVja2JveC5Hcm91cCBvcHRpb25zPXt0aGlzLnN0YXRlLmRhdGFTb3VyY2V9IHsuLi5DaGVja0JveFByb3BzfSAvPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTlNDQ2hlY2tib3hHcm91cDtcbiJdfQ==
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoZWNrYm94L0NoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlN0b3JlIiwidXRpbHMiLCJvbWl0IiwiY29uZmlnIiwiTlNDQ2hlY2tib3hHcm91cCIsInByb3BzIiwiZGF0YVNvdXJjZSIsImRhdGFTdG9yZSIsIl90aGlzIiwic3RvcmUiLCJvcHRpb25zIiwiZGF0YSIsImNoaWxkcmVuIiwidmlld1VybCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiRXJyb3IiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJjb252ZXJ0RGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwiZGF0YVNvdXJlIiwiaSIsImxlbmd0aCIsIm9iaiIsImxhYmVsIiwidmFsdWUiLCJkaXNhYmxlZCIsInB1c2giLCJzdGF0ZSIsIm5ld0RhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicGFyYW1zIiwiQ2hlY2tCb3hQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7O0lBV01DLGdCOzs7OztBQU1KLDRC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QVI7QUFBQSxVQUFjRCxPQUFkLGdCQUFjQSxPQUFkO0FBQ0EsVUFBTW9DLE9BQU8sR0FBR25DLElBQUksR0FBR0EsSUFBSCxHQUFVRCxPQUE5Qjs7QUFDQSxVQUFJQyxJQUFJLElBQUlELE9BQVosRUFBcUI7QUFDbkIsWUFBSXFDLElBQUksQ0FBQ0MsU0FBTCxDQUFlekMsU0FBZixNQUE4QndDLElBQUksQ0FBQ0MsU0FBTCxDQUFlRixPQUFmLENBQWxDLEVBQTJEO0FBQ3pELGVBQUtoQixRQUFMLENBQWM7QUFDWnhCLFlBQUFBLFVBQVUsRUFBRSxLQUFLdUIsV0FBTCxDQUFpQmlCLE9BQWpCLENBREE7QUFFWnZDLFlBQUFBLFNBQVMsRUFBRXVDO0FBRkMsV0FBZDtBQUlEO0FBQ0Y7QUFDRjs7O1dBRUQsa0JBQVM7QUFDUCx5QkFBcUMsS0FBS3pDLEtBQTFDO0FBQUEsVUFBUU0sSUFBUixnQkFBUUEsSUFBUjtBQUFBLFVBQWNELE9BQWQsZ0JBQWNBLE9BQWQ7QUFBQSxVQUEwQnVDLE1BQTFCOztBQUNBLFVBQU1DLGFBQWEsR0FBR2hELElBQUksbUJBQU0rQyxNQUFOLEdBQWdCLENBQ3hDLE9BRHdDLEVBRXhDLFlBRndDLEVBR3hDLFlBSHdDLEVBSXhDLE1BSndDLENBQWhCLENBQTFCO0FBTUEsMEJBQ0UsOEJBQVUsS0FBVjtBQUFnQixRQUFBLE9BQU8sRUFBRSxLQUFLSixLQUFMLENBQVd2QztBQUFwQyxTQUFvRDRDLGFBQXBELEVBREY7QUFHRDs7OztFQXJINEJuRCxhOztBQXdIL0IsZUFBZUssZ0JBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTQgMDg6NTk6MTlcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjMzXHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuXHJcblxyXG5pbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuY2xhc3MgTlNDQ2hlY2tib3hHcm91cCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUNoZWNrYm94R3JvdXBQcm9wcz4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBkYXRhU3RvcmU6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7IHN0b3JlID0ge30sIG9wdGlvbnMsIGRhdGEsIGNoaWxkcmVuIH0gPSBwcm9wcztcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgdXJsLFxyXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICAgIHZpZXduYW1lLFxyXG4gICAgICAgIGNhY2hlZCxcclxuICAgICAgICBjYWNoZUtleSxcclxuICAgICAgICAuLi5zdG9yZXNcclxuICAgICAgfSA9IHN0b3JlO1xyXG4gICAgICBpZiAoIXVybCAmJiAhb3B0aW9ucyAmJiAhZGF0YSAmJiAhdmlld25hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgdmFyIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhU291cmNlID0gX3RoaXMuY29udmVydERhdGEobW9kZWxEYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29udmVydERhdGEoZGF0YSkge1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCA9IFwibGFiZWxcIiwgdmFsdWVGaWVsZCA9IFwidmFsdWVcIiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBkYXRhU291cmUgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodHlwZW9mIGRhdGFbaV0gPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICBsZXQgb2JqID0geyAuLi5kYXRhW2ldIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldW3ZhbHVlRmllbGRdO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGRhdGFbaV0uZGlzYWJsZWQgPyBkYXRhW2ldLmRpc2FibGVkIDogZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgb2JqID0ge30gYXMgeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55OyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcclxuICAgICAgICBvYmoubGFiZWwgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGFTb3VyZTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBDaGVja0JveFByb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICBcImRhdGFcIixcclxuICAgIF0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPENoZWNrYm94Lkdyb3VwIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX0gey4uLkNoZWNrQm94UHJvcHN9IC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTlNDQ2hlY2tib3hHcm91cDtcclxuIl19