nsc-react-component 2.0.15 → 2.0.16

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 (235) hide show
  1. package/lib/{affix → base/affix}/index.d.ts +0 -0
  2. package/lib/{affix → base/affix}/index.js +1 -1
  3. package/lib/{alert → base/alert}/index.d.ts +0 -0
  4. package/lib/{alert → base/alert}/index.js +1 -1
  5. package/lib/{anchor → base/anchor}/index.d.ts +0 -0
  6. package/lib/{anchor → base/anchor}/index.js +1 -1
  7. package/lib/{avatar → base/avatar}/index.d.ts +0 -0
  8. package/lib/{avatar → base/avatar}/index.js +1 -1
  9. package/lib/{backTop → base/backTop}/index.d.ts +0 -0
  10. package/lib/{backTop → base/backTop}/index.js +1 -1
  11. package/lib/{badge → base/badge}/index.d.ts +0 -0
  12. package/lib/{badge → base/badge}/index.js +1 -1
  13. package/lib/{breadcrumb → base/breadcrumb}/index.d.ts +0 -0
  14. package/lib/{breadcrumb → base/breadcrumb}/index.js +1 -1
  15. package/lib/{button → base/button}/index.d.ts +0 -0
  16. package/lib/{button → base/button}/index.js +2 -2
  17. package/lib/{button → base/button}/index.less +0 -0
  18. package/lib/{calendar → base/calendar}/index.d.ts +0 -0
  19. package/lib/{calendar → base/calendar}/index.js +1 -1
  20. package/lib/{card → base/card}/index.d.ts +0 -0
  21. package/lib/{card → base/card}/index.js +1 -1
  22. package/lib/{carousel → base/carousel}/index.d.ts +0 -0
  23. package/lib/{carousel → base/carousel}/index.js +1 -1
  24. package/lib/{cascader → base/cascader}/index.d.ts +0 -0
  25. package/lib/base/cascader/index.js +268 -0
  26. package/lib/{chart → base/chart}/index.d.ts +0 -0
  27. package/lib/base/chart/index.js +353 -0
  28. package/lib/{checkbox → base/checkbox}/CheckboxGroup.d.ts +0 -0
  29. package/lib/base/checkbox/CheckboxGroup.js +340 -0
  30. package/lib/{checkbox → base/checkbox}/index.d.ts +0 -0
  31. package/lib/{checkbox → base/checkbox}/index.js +1 -1
  32. package/lib/{collapse → base/collapse}/index.d.ts +0 -0
  33. package/lib/{collapse → base/collapse}/index.js +1 -1
  34. package/lib/{comment → base/comment}/index.d.ts +0 -0
  35. package/lib/{comment → base/comment}/index.js +1 -1
  36. package/lib/{common → base/common}/BodyRow/index.d.ts +0 -0
  37. package/lib/{common → base/common}/BodyRow/index.js +1 -1
  38. package/lib/{common → base/common}/BodyRow/index.less +0 -0
  39. package/lib/{common → base/common}/Icon.d.ts +0 -0
  40. package/lib/{common → base/common}/Icon.js +1 -1
  41. package/lib/{common → base/common}/IconFont.d.ts +0 -0
  42. package/lib/base/common/IconFont.js +17 -0
  43. package/lib/{common → base/common}/NoAuthority.d.ts +0 -0
  44. package/lib/{common → base/common}/NoAuthority.js +1 -1
  45. package/lib/{common → base/common}/NoData.d.ts +0 -0
  46. package/lib/{common → base/common}/NoData.js +1 -1
  47. package/lib/{common → base/common}/NoData.less +0 -0
  48. package/lib/{common → base/common}/NoMessage.d.ts +0 -0
  49. package/lib/{common → base/common}/NoMessage.js +1 -1
  50. package/lib/{common → base/common}/NoNetWork.d.ts +0 -0
  51. package/lib/{common → base/common}/NoNetWork.js +1 -1
  52. package/lib/{common → base/common}/Page404.d.ts +0 -0
  53. package/lib/{common → base/common}/Page404.js +1 -1
  54. package/lib/{common → base/common}/PageRequest.d.ts +0 -0
  55. package/lib/{common → base/common}/PageRequest.js +1 -1
  56. package/lib/{common → base/common}/TreePanel.d.ts +2 -1
  57. package/lib/base/common/TreePanel.js +290 -0
  58. package/lib/{common → base/common}/img/NoAuthority.png +0 -0
  59. package/lib/{common → base/common}/img/NoData.png +0 -0
  60. package/lib/{common → base/common}/img/NoMessage.png +0 -0
  61. package/lib/{common → base/common}/img/NoNetWork.png +0 -0
  62. package/lib/{common → base/common}/img/Page404.png +0 -0
  63. package/lib/{common → base/common}/withZhLocale.d.ts +0 -0
  64. package/lib/base/common/withZhLocale.js +20 -0
  65. package/lib/{configProvider → base/configProvider}/index.d.ts +0 -0
  66. package/lib/{configProvider → base/configProvider}/index.js +1 -1
  67. package/lib/{datepick → base/datepick}/Rangepicker.d.ts +0 -0
  68. package/lib/base/datepick/Rangepicker.js +553 -0
  69. package/lib/{datepick → base/datepick}/index.d.ts +0 -0
  70. package/lib/{datepick → base/datepick}/index.js +1 -1
  71. package/lib/{datepick → base/datepick}/index.less +0 -0
  72. package/lib/{descriptions → base/descriptions}/index.d.ts +0 -0
  73. package/lib/{descriptions → base/descriptions}/index.js +1 -1
  74. package/lib/{divider → base/divider}/index.d.ts +0 -0
  75. package/lib/{divider → base/divider}/index.js +1 -1
  76. package/lib/{drawer → base/drawer}/index.d.ts +0 -0
  77. package/lib/{drawer → base/drawer}/index.js +1 -1
  78. package/lib/{dropdown → base/dropdown}/index.d.ts +0 -0
  79. package/lib/{dropdown → base/dropdown}/index.js +1 -1
  80. package/lib/{form → base/form}/Form.d.ts +0 -0
  81. package/lib/base/form/Form.js +415 -0
  82. package/lib/{form → base/form}/filed/Cascader.d.ts +0 -0
  83. package/lib/{form → base/form}/filed/Cascader.js +1 -1
  84. package/lib/{form → base/form}/filed/Checkbox.d.ts +0 -0
  85. package/lib/{form → base/form}/filed/Checkbox.js +1 -1
  86. package/lib/{form → base/form}/filed/DatePicker.d.ts +0 -0
  87. package/lib/{form → base/form}/filed/DatePicker.js +1 -1
  88. package/lib/{form → base/form}/filed/FormItem.d.ts +0 -0
  89. package/lib/{form → base/form}/filed/FormItem.js +1 -1
  90. package/lib/{form → base/form}/filed/Input.d.ts +0 -0
  91. package/lib/{form → base/form}/filed/Input.js +1 -1
  92. package/lib/{form → base/form}/filed/InputEamil.d.ts +0 -0
  93. package/lib/{form → base/form}/filed/InputEamil.js +1 -1
  94. package/lib/{form → base/form}/filed/InputNumber.d.ts +0 -0
  95. package/lib/{form → base/form}/filed/InputNumber.js +1 -1
  96. package/lib/{form → base/form}/filed/InputPassword.d.ts +0 -0
  97. package/lib/{form → base/form}/filed/InputPassword.js +1 -1
  98. package/lib/{form → base/form}/filed/Item.d.ts +0 -0
  99. package/lib/base/form/filed/Item.js +161 -0
  100. package/lib/{form → base/form}/filed/Radio.d.ts +0 -0
  101. package/lib/{form → base/form}/filed/Radio.js +1 -1
  102. package/lib/{form → base/form}/filed/RangerPicker.d.ts +0 -0
  103. package/lib/{form → base/form}/filed/RangerPicker.js +1 -1
  104. package/lib/{form → base/form}/filed/Rate.d.ts +0 -0
  105. package/lib/{form → base/form}/filed/Rate.js +1 -1
  106. package/lib/{form → base/form}/filed/Select.d.ts +0 -0
  107. package/lib/{form → base/form}/filed/Select.js +1 -1
  108. package/lib/{form → base/form}/filed/Slider.d.ts +0 -0
  109. package/lib/{form → base/form}/filed/Slider.js +1 -1
  110. package/lib/{form → base/form}/filed/Switch.d.ts +0 -0
  111. package/lib/{form → base/form}/filed/Switch.js +1 -1
  112. package/lib/{form → base/form}/filed/TagSelect.d.ts +0 -0
  113. package/lib/{form → base/form}/filed/TagSelect.js +1 -1
  114. package/lib/{form → base/form}/filed/TextArea.d.ts +0 -0
  115. package/lib/{form → base/form}/filed/TextArea.js +1 -1
  116. package/lib/{form → base/form}/filed/Upload.d.ts +0 -0
  117. package/lib/{form → base/form}/filed/Upload.js +1 -1
  118. package/lib/{form → base/form}/index.d.ts +0 -0
  119. package/lib/{form → base/form}/index.js +1 -1
  120. package/lib/{grid → base/grid}/Col.d.ts +0 -0
  121. package/lib/{grid → base/grid}/Col.js +1 -1
  122. package/lib/{grid → base/grid}/Row.d.ts +0 -0
  123. package/lib/{grid → base/grid}/Row.js +1 -1
  124. package/lib/{grid → base/grid}/index.d.ts +0 -0
  125. package/lib/{grid → base/grid}/index.js +0 -0
  126. package/lib/{image → base/image}/index.d.ts +0 -0
  127. package/lib/{image → base/image}/index.js +1 -1
  128. package/lib/{input → base/input}/Email.d.ts +0 -0
  129. package/lib/{input → base/input}/Email.js +1 -1
  130. package/lib/{input → base/input}/Number.d.ts +0 -0
  131. package/lib/{input → base/input}/Number.js +1 -1
  132. package/lib/{input → base/input}/Password.d.ts +0 -3
  133. package/lib/{input → base/input}/Password.js +1 -1
  134. package/lib/{input → base/input}/Search.d.ts +0 -3
  135. package/lib/{input → base/input}/Search.js +1 -1
  136. package/lib/{input → base/input}/TextArea.d.ts +0 -3
  137. package/lib/{input → base/input}/TextArea.js +1 -1
  138. package/lib/{input → base/input}/index.d.ts +0 -0
  139. package/lib/base/input/index.js +242 -0
  140. package/lib/{input → base/input}/index.less +0 -0
  141. package/lib/{layout → base/layout}/index.d.ts +0 -0
  142. package/lib/{layout → base/layout}/index.js +1 -1
  143. package/lib/{list → base/list}/index.d.ts +0 -0
  144. package/lib/{list → base/list}/index.js +1 -1
  145. package/lib/{menu → base/menu}/index.d.ts +0 -0
  146. package/lib/base/menu/index.js +247 -0
  147. package/lib/{message → base/message}/index.d.ts +0 -0
  148. package/lib/{message → base/message}/index.js +1 -1
  149. package/lib/{modal → base/modal}/index.d.ts +0 -0
  150. package/lib/{modal → base/modal}/index.js +1 -1
  151. package/lib/{notification → base/notification}/index.d.ts +0 -0
  152. package/lib/{notification → base/notification}/index.js +1 -1
  153. package/lib/{pageHeader → base/pageHeader}/index.d.ts +0 -0
  154. package/lib/{pageHeader → base/pageHeader}/index.js +1 -1
  155. package/lib/{pagination → base/pagination}/index.d.ts +0 -0
  156. package/lib/{pagination → base/pagination}/index.js +1 -1
  157. package/lib/{popconfirm → base/popconfirm}/index.d.ts +0 -0
  158. package/lib/{popconfirm → base/popconfirm}/index.js +1 -1
  159. package/lib/{popover → base/popover}/index.d.ts +0 -0
  160. package/lib/{popover → base/popover}/index.js +1 -1
  161. package/lib/{progress → base/progress}/index.d.ts +0 -0
  162. package/lib/{progress → base/progress}/index.js +1 -1
  163. package/lib/{radio → base/radio}/RadioGroup.d.ts +0 -0
  164. package/lib/base/radio/RadioGroup.js +378 -0
  165. package/lib/{radio → base/radio}/index.d.ts +0 -0
  166. package/lib/{radio → base/radio}/index.js +1 -1
  167. package/lib/{result → base/result}/index.d.ts +0 -0
  168. package/lib/{result → base/result}/index.js +1 -1
  169. package/lib/{select → base/select}/index.d.ts +0 -0
  170. package/lib/base/select/index.js +529 -0
  171. package/lib/{select → base/select}/index.less +0 -0
  172. package/lib/{skeleton → base/skeleton}/index.d.ts +0 -0
  173. package/lib/{skeleton → base/skeleton}/index.js +1 -1
  174. package/lib/{space → base/space}/index.d.ts +0 -0
  175. package/lib/{space → base/space}/index.js +1 -1
  176. package/lib/{spin → base/spin}/index.d.ts +0 -0
  177. package/lib/{spin → base/spin}/index.js +1 -1
  178. package/lib/{statistic → base/statistic}/index.d.ts +0 -0
  179. package/lib/{statistic → base/statistic}/index.js +1 -1
  180. package/lib/{steps → base/steps}/index.d.ts +0 -0
  181. package/lib/{steps → base/steps}/index.js +1 -1
  182. package/lib/{table → base/table}/index.d.ts +10 -2
  183. package/lib/base/table/index.js +902 -0
  184. package/lib/{table → base/table}/index.module.less +22 -0
  185. package/lib/{table → base/table}/resize.module.less +0 -0
  186. package/lib/{tabs → base/tabs}/Tabpane.d.ts +0 -0
  187. package/lib/{tabs → base/tabs}/Tabpane.js +1 -1
  188. package/lib/{tabs → base/tabs}/index.d.ts +0 -0
  189. package/lib/{tabs → base/tabs}/index.js +1 -1
  190. package/lib/{tagSelect → base/tagSelect}/TagSelect.d.ts +0 -0
  191. package/lib/base/tagSelect/TagSelect.js +268 -0
  192. package/lib/{tagSelect → base/tagSelect}/index.d.ts +0 -0
  193. package/lib/base/tagSelect/index.js +188 -0
  194. package/lib/{tagSelect → base/tagSelect}/index.less +0 -0
  195. package/lib/{timeline → base/timeline}/index.d.ts +0 -0
  196. package/lib/{timeline → base/timeline}/index.js +1 -1
  197. package/lib/{tooltip → base/tooltip}/index.d.ts +0 -0
  198. package/lib/{tooltip → base/tooltip}/index.js +1 -1
  199. package/lib/{tree → base/tree}/TreeSearch.d.ts +0 -0
  200. package/lib/base/tree/TreeSearch.js +273 -0
  201. package/lib/{tree → base/tree}/index.d.ts +0 -0
  202. package/lib/base/tree/index.js +307 -0
  203. package/lib/{tree → base/tree}/index.less +0 -0
  204. package/lib/{typography → base/typography}/index.d.ts +0 -0
  205. package/lib/{typography → base/typography}/index.js +1 -1
  206. package/lib/index.d.ts +63 -63
  207. package/lib/index.js +63 -63
  208. package/lib/{pageComponents → page}/BasePage/Form.d.ts +0 -0
  209. package/lib/page/BasePage/Form.js +244 -0
  210. package/lib/{pageComponents → page}/BasePage/index.d.ts +0 -0
  211. package/lib/page/BasePage/index.js +639 -0
  212. package/lib/{pageComponents → page}/BasePage/index.module.less +0 -0
  213. package/lib/utils.d.ts +1 -0
  214. package/lib/utils.js +15 -8
  215. package/package.json +1 -1
  216. package/lib/cascader/index.js +0 -268
  217. package/lib/chart/index.js +0 -353
  218. package/lib/checkbox/CheckboxGroup.js +0 -340
  219. package/lib/common/IconFont.js +0 -17
  220. package/lib/common/TreePanel.js +0 -303
  221. package/lib/common/withZhLocale.js +0 -20
  222. package/lib/datepick/Rangepicker.js +0 -553
  223. package/lib/form/Form.js +0 -415
  224. package/lib/form/filed/Item.js +0 -161
  225. package/lib/input/index.js +0 -242
  226. package/lib/menu/index.js +0 -247
  227. package/lib/pageComponents/BasePage/Form.js +0 -244
  228. package/lib/pageComponents/BasePage/index.js +0 -658
  229. package/lib/radio/RadioGroup.js +0 -378
  230. package/lib/select/index.js +0 -529
  231. package/lib/table/index.js +0 -756
  232. package/lib/tagSelect/TagSelect.js +0 -268
  233. package/lib/tagSelect/index.js +0 -188
  234. package/lib/tree/TreeSearch.js +0 -274
  235. package/lib/tree/index.js +0 -293
@@ -1,378 +0,0 @@
1
- import "antd/es/radio/style/css";
2
- import _Radio from "antd/es/radio";
3
- var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey"],
4
- _excluded2 = ["data", "options"];
5
-
6
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
-
8
- 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; }
9
-
10
- 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; }
11
-
12
- 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); }
13
-
14
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
15
-
16
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
-
18
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
-
20
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
21
-
22
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
23
-
24
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
-
26
- 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; }
27
-
28
- 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; }
29
-
30
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31
-
32
- 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); } }
33
-
34
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
35
-
36
- 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); }
37
-
38
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
39
-
40
- 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); }; }
41
-
42
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
43
-
44
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
45
-
46
- 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; } }
47
-
48
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
49
-
50
- 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; }
51
-
52
- /*
53
- * @Descripttion:
54
- * @version:
55
- * @Author: rxzhu
56
- * @Date: 2021-03-24 14:33:35
57
- * @LastEditors: rxzhu
58
- * @LastEditTime: 2021-04-23 16:46:17
59
- */
60
- import React, { Component } from "react";
61
- import omit from "omit.js";
62
- import Store from "@bj-nsc/msn";
63
- import { utils } from "@bj-nsc/msn/lib/utils";
64
- import config from "../config";
65
-
66
- var RadioGroup = /*#__PURE__*/function (_Component) {
67
- _inherits(RadioGroup, _Component);
68
-
69
- var _super = _createSuper(RadioGroup);
70
-
71
- function RadioGroup(props) {
72
- var _this2;
73
-
74
- _classCallCheck(this, RadioGroup);
75
-
76
- _this2 = _super.call(this, props);
77
-
78
- _defineProperty(_assertThisInitialized(_this2), "state", {
79
- dataSource: [],
80
- dataStore: [],
81
- value: ""
82
- });
83
-
84
- _defineProperty(_assertThisInitialized(_this2), "store", {});
85
-
86
- var _this = _assertThisInitialized(_this2);
87
-
88
- var _props$store = props.store,
89
- store = _props$store === void 0 ? {} : _props$store,
90
- options = props.options,
91
- data = props.data,
92
- children = props.children,
93
- _props$addData = props.addData,
94
- addData = _props$addData === void 0 ? [] : _props$addData,
95
- _props$deleteData = props.deleteData,
96
- deleteData = _props$deleteData === void 0 ? [] : _props$deleteData,
97
- _props$viewtype = props.viewtype,
98
- viewtype = _props$viewtype === void 0 ? "system" : _props$viewtype;
99
- var viewname = store.viewname;
100
- var valueField = viewname ? "dictKey" : "value";
101
-
102
- var _config = config(),
103
- viewUrl = _config.viewUrl,
104
- viewBizUrl = _config.viewBizUrl;
105
-
106
- var requestViewUrl = viewtype == "system" ? viewUrl : viewBizUrl;
107
-
108
- if (!children) {
109
- var url = store.url,
110
- _store$listeners = store.listeners,
111
- listenersPops = _store$listeners === void 0 ? {} : _store$listeners,
112
- _viewname = store.viewname,
113
- cached = store.cached,
114
- cacheKey = store.cacheKey,
115
- stores = _objectWithoutProperties(store, _excluded);
116
-
117
- if (!url && !options && !data && !_viewname) throw new Error("url、viewname、data和options不能都为空!");
118
-
119
- var getAllData = function getAllData(data) {
120
- if (!Array.isArray(data)) {
121
- return [];
122
- }
123
-
124
- var newData = _toConsumableArray(data);
125
-
126
- if (addData.length > 0) {
127
- newData = [].concat(_toConsumableArray(addData), _toConsumableArray(newData));
128
- }
129
-
130
- if (deleteData.length > 0) {
131
- var valueFields = valueField.split(",");
132
- newData.map(function (item, i) {
133
- if (_typeof(item) === "object") {
134
- var _value = "";
135
- valueFields.map(function (v, index) {
136
- _value = index == 0 ? _value + item[v] : _value + "," + item[v];
137
- });
138
-
139
- if (deleteData.indexOf(_value) > -1) {
140
- newData.splice(i, 1);
141
- }
142
- } else if (typeof item === "string") {
143
- if (deleteData.indexOf(item) > -1) {
144
- newData.splice(i, 1);
145
- }
146
- }
147
- });
148
- }
149
-
150
- return newData;
151
- };
152
-
153
- var storeProps = _objectSpread({
154
- model: "model",
155
- component: _assertThisInitialized(_this2),
156
- listeners: {
157
- onBeforeLoad: function onBeforeLoad(store, options) {
158
- utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);
159
- },
160
- load: function load(data, modelData, store) {
161
- var dataSource = _this.convertData(getAllData(data));
162
-
163
- _this.setState({
164
- dataSource: dataSource
165
- });
166
-
167
- utils.callback(listenersPops.load, _this, [data, modelData, store]);
168
- },
169
- dataChanged: function dataChanged(data, modelData, store) {
170
- _this.setState({
171
- dataSource: _this.convertData(getAllData(data))
172
- });
173
-
174
- utils.callback(listenersPops.dataChanged, _this, [data, modelData, store]);
175
- }
176
- }
177
- }, stores);
178
-
179
- if ((_viewname || url) && data == null && options == null) {
180
- var isCached = cached;
181
- var isCacheKey = cacheKey;
182
-
183
- if (_viewname) {
184
- if (typeof cached !== "boolean") {
185
- isCached = true;
186
- isCacheKey = isCacheKey ? isCacheKey : _viewname;
187
- }
188
- }
189
-
190
- storeProps = _objectSpread(_objectSpread({}, {
191
- autoLoad: true,
192
- url: url ? url : requestViewUrl + _viewname,
193
- //读字典,url固定,viewname
194
- cached: isCached,
195
- cacheKey: isCacheKey
196
- }), storeProps);
197
- }
198
-
199
- _this2.store = new Store(storeProps);
200
- }
201
-
202
- return _this2;
203
- }
204
-
205
- _createClass(RadioGroup, [{
206
- key: "handleActiveChange",
207
- value: function handleActiveChange(e) {
208
- var _this$props = this.props,
209
- customize = _this$props.customize,
210
- onChange = _this$props.onChange;
211
-
212
- if (customize) {
213
- onChange && onChange(e);
214
- this.setState({
215
- value: e
216
- });
217
- } else {
218
- this.setState({
219
- value: e.target.value
220
- });
221
- onChange && onChange(e.target.value, e);
222
- }
223
- }
224
- }, {
225
- key: "getValue",
226
- value: function getValue() {
227
- return this.state.value;
228
- }
229
- }, {
230
- key: "setValue",
231
- value: function setValue(value) {
232
- this.setState({
233
- value: value
234
- });
235
- }
236
- }, {
237
- key: "convertData",
238
- value: function convertData(data) {
239
- var _this$props$store = this.props.store,
240
- store = _this$props$store === void 0 ? {} : _this$props$store;
241
- var viewname = store.viewname;
242
- var valueField = viewname ? "dictKey" : "value";
243
- var labelField = viewname ? "dictValue" : "label";
244
- var dataSoure = [];
245
-
246
- var _loop = function _loop(i) {
247
- if (_typeof(data[i]) === "object") {
248
- var obj = _objectSpread({}, data[i]);
249
-
250
- var _value2 = "";
251
-
252
- if (valueField.split(",").length == 1) {
253
- _value2 = data[i][valueField];
254
- } else {
255
- var valueFields = valueField.split(",");
256
- valueFields.map(function (v, index) {
257
- _value2 = index == 0 ? _value2 + data[i][v] : _value2 + "," + data[i][v];
258
- });
259
- }
260
-
261
- var label = "";
262
-
263
- if (labelField.split(",").length == 1) {
264
- label = data[i][labelField];
265
- } else {
266
- var labelFields = labelField.split(",");
267
- labelFields.map(function (l, index) {
268
- label = index == 0 ? label + data[i][l] : label + "-" + data[i][l];
269
- });
270
- }
271
-
272
- obj.label = label;
273
- obj.value = _value2;
274
- obj.disabled = data[i].disabled ? data[i].disabled : false;
275
- dataSoure.push(obj);
276
- } else {
277
- var _obj = {};
278
- _obj.label = data[i];
279
- _obj.value = data[i];
280
- _obj.disabled = false;
281
- dataSoure.push(_obj);
282
- }
283
- };
284
-
285
- for (var i = 0; i < data.length; i++) {
286
- _loop(i);
287
- }
288
-
289
- return dataSoure;
290
- }
291
- }, {
292
- key: "componentDidMount",
293
- value: function componentDidMount() {
294
- var _this$props2 = this.props,
295
- data = _this$props2.data,
296
- options = _this$props2.options,
297
- children = _this$props2.children;
298
-
299
- if (!children && (data || options)) {
300
- this.setState({
301
- dataSource: this.convertData(data ? data : options),
302
- dataStore: data ? data : options
303
- });
304
- }
305
- }
306
- }, {
307
- key: "componentDidUpdate",
308
- value: function componentDidUpdate() {
309
- var dataStore = this.state.dataStore;
310
- var _this$props3 = this.props,
311
- data = _this$props3.data,
312
- options = _this$props3.options;
313
- var newData = data ? data : options;
314
-
315
- if (data || options) {
316
- if (JSON.stringify(dataStore) !== JSON.stringify(newData)) {
317
- this.setState({
318
- dataSource: this.convertData(newData),
319
- dataStore: newData
320
- });
321
- }
322
- }
323
- }
324
- }, {
325
- key: "render",
326
- value: function render() {
327
- var _this3 = this;
328
-
329
- var _this$props4 = this.props,
330
- children = _this$props4.children,
331
- _this$props4$customiz = _this$props4.customize,
332
- customize = _this$props4$customiz === void 0 ? false : _this$props4$customiz;
333
- var radios;
334
- radios = children;
335
- var isArray = Array.isArray(children);
336
-
337
- if (customize) {
338
- if (isArray) {
339
- return radios.map(function (child, index) {
340
- var isActive = _this3.props.value === child.props.value ? true : false;
341
- return /*#__PURE__*/React.cloneElement(child, {
342
- label: child.props.children,
343
- value: child.props.value,
344
- active: isActive,
345
- onClick: _this3.handleActiveChange.bind(_this3, child.props.value),
346
- key: index
347
- });
348
- });
349
- } else {
350
- var isActive = this.props.value === radios.props.value ? true : false;
351
- return /*#__PURE__*/React.cloneElement(radios, {
352
- label: radios.props.children,
353
- value: radios.props.value,
354
- active: isActive,
355
- onClick: this.handleActiveChange.bind(this, radios.props.value)
356
- });
357
- }
358
- } else {
359
- var _this$props5 = this.props,
360
- data = _this$props5.data,
361
- options = _this$props5.options,
362
- params = _objectWithoutProperties(_this$props5, _excluded2);
363
-
364
- var RadioProps = omit(_objectSpread({}, params), ["store", "labelField", "valueField", "customize", "onChange", "addData", "deleteData"]);
365
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Radio.Group, _extends({
366
- value: this.state.value,
367
- options: this.state.dataSource,
368
- onChange: this.handleActiveChange.bind(this)
369
- }, RadioProps)));
370
- }
371
- }
372
- }]);
373
-
374
- return RadioGroup;
375
- }(Component);
376
-
377
- export { RadioGroup as default };
378
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3JhZGlvL1JhZGlvR3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50Iiwib21pdCIsIlN0b3JlIiwidXRpbHMiLCJjb25maWciLCJSYWRpb0dyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmlld3R5cGUiLCJ2aWV3bmFtZSIsInZhbHVlRmllbGQiLCJ2aWV3VXJsIiwidmlld0JpelVybCIsInJlcXVlc3RWaWV3VXJsIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiRXJyb3IiLCJnZXRBbGxEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJjb252ZXJ0RGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsImUiLCJjdXN0b21pemUiLCJvbkNoYW5nZSIsInRhcmdldCIsInN0YXRlIiwibGFiZWxGaWVsZCIsImRhdGFTb3VyZSIsIm9iaiIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZGlzYWJsZWQiLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsInJhZGlvcyIsImNoaWxkIiwiaXNBY3RpdmUiLCJjbG9uZUVsZW1lbnQiLCJhY3RpdmUiLCJvbkNsaWNrIiwiaGFuZGxlQWN0aXZlQ2hhbmdlIiwiYmluZCIsImtl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d0JDLElBQXhCLENBQTZCLElBQTdCO0FBSFosV0FJTUcsVUFKTixFQURGLENBREY7QUFVRDtBQUNGOzs7O0VBclBxQ2xGLFM7O1NBQW5CSyxVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI0IDE0OjMzOjM1XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NjoxN1xyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBSYWRpbywgUmFkaW9Hcm91cFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uL2NvbmZpZ1wiO1xyXG5cclxuaW50ZXJmYWNlIElSYWRpb0dyb3VwUHJvcHMgZXh0ZW5kcyBSYWRpb0dyb3VwUHJvcHMge1xyXG4gIGN1c3RvbWl6ZT86IGJvb2xlYW47XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBhZGREYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjsgLy/kuI5zdG9yZeS4gOi1t+eUqFxyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxzdHJpbmc+O1xyXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBhbnksIGU/OiBhbnkpID0+IHZvaWQ7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudDxJUmFkaW9Hcm91cFByb3BzPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXN0ZW1cIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgbGV0IHZhbHVlRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICB1cmwsXHJcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgICAgdmlld25hbWUsXHJcbiAgICAgICAgY2FjaGVkLFxyXG4gICAgICAgIGNhY2hlS2V5LFxyXG4gICAgICAgIC4uLnN0b3Jlc1xyXG4gICAgICB9ID0gc3RvcmU7XHJcbiAgICAgIGlmICghdXJsICYmICFvcHRpb25zICYmICFkYXRhICYmICF2aWV3bmFtZSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHlkoxvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsID8gdXJsIDogcmVxdWVzdFZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUFjdGl2ZUNoYW5nZShlKSB7XHJcbiAgICBjb25zdCB7IGN1c3RvbWl6ZSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoY3VzdG9taXplKSB7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGUpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB2YWx1ZTogZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIGxldCB2YWx1ZUZpZWxkID0gdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxldCBsYWJlbEZpZWxkID0gdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgbGV0IGRhdGFTb3VyZSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtpXSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgIGxldCBvYmogPSB7IC4uLmRhdGFbaV0gfTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgdmFsdWUgPSBkYXRhW2ldW3ZhbHVlRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgZGF0YVtpXVt2XSA6IHZhbHVlICsgXCIsXCIgKyBkYXRhW2ldW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICBsYWJlbCA9IGRhdGFbaV1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBkYXRhW2ldW2xdIDogbGFiZWwgKyBcIi1cIiArIGRhdGFbaV1bbF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JqLmxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgb2JqLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZGF0YVtpXS5kaXNhYmxlZCA/IGRhdGFbaV0uZGlzYWJsZWQgOiBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBvYmogPSB7fSBhcyB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgICAgIG9iai5sYWJlbCA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLnZhbHVlID0gZGF0YVtpXTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YVNvdXJlO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEoZGF0YSA/IGRhdGEgOiBvcHRpb25zKSxcclxuICAgICAgICBkYXRhU3RvcmU6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY3VzdG9taXplID0gZmFsc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcmFkaW9zOiBhbnk7XHJcbiAgICByYWRpb3MgPSBjaGlsZHJlbjtcclxuICAgIGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNoaWxkcmVuKTtcclxuICAgIGlmIChjdXN0b21pemUpIHtcclxuICAgICAgaWYgKGlzQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gcmFkaW9zLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBsZXQgaXNBY3RpdmUgPSB0aGlzLnByb3BzLnZhbHVlID09PSBjaGlsZC5wcm9wcy52YWx1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcclxuICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICB2YWx1ZTogY2hpbGQucHJvcHMudmFsdWUsXHJcbiAgICAgICAgICAgIGFjdGl2ZTogaXNBY3RpdmUsXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6IHRoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcywgY2hpbGQucHJvcHMudmFsdWUpLFxyXG4gICAgICAgICAgICBrZXk6IGluZGV4LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGlzQWN0aXZlID0gdGhpcy5wcm9wcy52YWx1ZSA9PT0gcmFkaW9zLnByb3BzLnZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQocmFkaW9zLCB7XHJcbiAgICAgICAgICBsYWJlbDogcmFkaW9zLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgdmFsdWU6IHJhZGlvcy5wcm9wcy52YWx1ZSxcclxuICAgICAgICAgIGFjdGl2ZTogaXNBY3RpdmUsXHJcbiAgICAgICAgICBvbkNsaWNrOiB0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMsIHJhZGlvcy5wcm9wcy52YWx1ZSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBSYWRpb1Byb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICAgIFwidmFsdWVGaWVsZFwiLFxyXG4gICAgICAgIFwiY3VzdG9taXplXCIsXHJcbiAgICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICAgIFwiYWRkRGF0YVwiLFxyXG4gICAgICAgIFwiZGVsZXRlRGF0YVwiLFxyXG4gICAgICBdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgPFJhZGlvLkdyb3VwXHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICBvcHRpb25zPXt0aGlzLnN0YXRlLmRhdGFTb3VyY2V9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4uUmFkaW9Qcm9wc31cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==