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.
- package/lib/Interface.d.ts +4 -4
- package/lib/button/index.d.ts +27 -27
- package/lib/button/index.js +5 -5
- package/lib/button/index.less +371 -371
- package/lib/cascader/index.d.ts +27 -27
- package/lib/cascader/index.js +8 -8
- package/lib/chart/index.d.ts +38 -0
- package/lib/chart/index.js +291 -0
- package/lib/checkbox/CheckboxGroup.d.ts +22 -22
- package/lib/checkbox/CheckboxGroup.js +8 -8
- package/lib/checkbox/index.d.ts +8 -8
- package/lib/checkbox/index.js +8 -8
- package/lib/common/BodyRow/index.d.ts +26 -26
- package/lib/common/Icon.d.ts +14 -14
- package/lib/common/IconFont.d.ts +4 -4
- package/lib/common/NoAuthority.d.ts +4 -4
- package/lib/common/NoAuthority.js +1 -1
- package/lib/common/NoData.d.ts +4 -4
- package/lib/common/NoData.js +1 -1
- package/lib/common/NoData.less +13 -13
- package/lib/common/NoMessage.d.ts +4 -4
- package/lib/common/NoMessage.js +1 -1
- package/lib/common/NoNetWork.d.ts +4 -4
- package/lib/common/NoNetWork.js +1 -1
- package/lib/common/Page404.d.ts +4 -4
- package/lib/common/Page404.js +1 -1
- package/lib/common/PageRequest.d.ts +45 -45
- package/lib/common/TreePanel.d.ts +74 -74
- package/lib/common/withZhLocale.d.ts +3 -3
- package/lib/config.d.ts +20 -20
- package/lib/datepick/Rangepicker.d.ts +4 -4
- package/lib/datepick/Rangepicker.js +11 -11
- package/lib/datepick/index.d.ts +3 -3
- package/lib/datepick/index.js +8 -8
- package/lib/datepick/index.less +27 -27
- package/lib/form/Form.d.ts +47 -47
- package/lib/form/Form.js +8 -8
- package/lib/form/filed/Cascader.d.ts +6 -6
- package/lib/form/filed/Cascader.js +8 -8
- package/lib/form/filed/Checkbox.d.ts +6 -6
- package/lib/form/filed/Checkbox.js +8 -8
- package/lib/form/filed/DatePicker.d.ts +6 -6
- package/lib/form/filed/DatePicker.js +8 -8
- package/lib/form/filed/FormItem.d.ts +11 -11
- package/lib/form/filed/FormItem.js +8 -8
- package/lib/form/filed/Input.d.ts +7 -7
- package/lib/form/filed/Input.js +8 -8
- package/lib/form/filed/InputEamil.d.ts +6 -6
- package/lib/form/filed/InputEamil.js +8 -8
- package/lib/form/filed/InputNumber.d.ts +6 -6
- package/lib/form/filed/InputNumber.js +8 -8
- package/lib/form/filed/InputPassword.d.ts +6 -6
- package/lib/form/filed/InputPassword.js +8 -8
- package/lib/form/filed/Item.d.ts +17 -17
- package/lib/form/filed/Item.js +10 -10
- package/lib/form/filed/Radio.d.ts +6 -6
- package/lib/form/filed/Radio.js +8 -8
- package/lib/form/filed/RangerPicker.d.ts +6 -6
- package/lib/form/filed/RangerPicker.js +8 -8
- package/lib/form/filed/Rate.d.ts +6 -6
- package/lib/form/filed/Rate.js +8 -8
- package/lib/form/filed/Select.d.ts +6 -6
- package/lib/form/filed/Select.js +8 -8
- package/lib/form/filed/Slider.d.ts +6 -6
- package/lib/form/filed/Slider.js +8 -8
- package/lib/form/filed/Switch.d.ts +6 -6
- package/lib/form/filed/Switch.js +8 -8
- package/lib/form/filed/TagSelect.d.ts +6 -6
- package/lib/form/filed/TagSelect.js +1 -1
- package/lib/form/filed/TextArea.d.ts +6 -6
- package/lib/form/filed/TextArea.js +8 -8
- package/lib/form/filed/Upload.d.ts +6 -6
- package/lib/form/filed/Upload.js +8 -8
- package/lib/form/index.d.ts +41 -41
- package/lib/form/index.js +1 -1
- package/lib/index.d.ts +29 -26
- package/lib/index.js +11 -8
- package/lib/input/Email.d.ts +16 -16
- package/lib/input/Email.js +8 -8
- package/lib/input/Number.d.ts +13 -13
- package/lib/input/Number.js +8 -8
- package/lib/input/Password.d.ts +16 -16
- package/lib/input/Password.js +8 -8
- package/lib/input/Search.d.ts +16 -16
- package/lib/input/Search.js +1 -1
- package/lib/input/TextArea.d.ts +16 -16
- package/lib/input/TextArea.js +8 -8
- package/lib/input/index.d.ts +33 -33
- package/lib/input/index.js +10 -10
- package/lib/input/index.less +18 -18
- package/lib/menu/index.d.ts +27 -28
- package/lib/menu/index.js +13 -14
- package/lib/modal/index.d.ts +31 -0
- package/lib/modal/index.js +186 -0
- package/lib/pagecomponent/index.d.ts +3 -0
- package/lib/pagecomponent/index.js +36 -0
- package/lib/radio/RadioGroup.d.ts +25 -25
- package/lib/radio/RadioGroup.js +8 -8
- package/lib/radio/index.d.ts +11 -11
- package/lib/radio/index.js +8 -8
- package/lib/select/index.d.ts +29 -29
- package/lib/select/index.js +1 -1
- package/lib/select/index.less +21 -21
- package/lib/table/index.d.ts +87 -87
- package/lib/table/index.js +17 -17
- package/lib/tabs/Tabpane.d.ts +13 -13
- package/lib/tabs/Tabpane.js +8 -8
- package/lib/tabs/index.d.ts +18 -18
- package/lib/tabs/index.js +8 -8
- package/lib/tagSelect/TagSelect.d.ts +51 -51
- package/lib/tagSelect/TagSelect.js +8 -8
- package/lib/tagSelect/index.d.ts +23 -23
- package/lib/tagSelect/index.js +1 -1
- package/lib/tagSelect/index.less +33 -33
- package/lib/tree/TreeSearch.d.ts +42 -42
- package/lib/tree/index.d.ts +62 -62
- package/lib/treeUtils.d.ts +70 -70
- package/lib/utils.d.ts +17 -14
- package/lib/utils.js +28 -9
- package/package.json +73 -72
package/lib/cascader/index.d.ts
CHANGED
|
@@ -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 {};
|
package/lib/cascader/index.js
CHANGED
|
@@ -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
|