nsc-react-component 2.12.2 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/lib/Interface.js +1 -1
  2. package/lib/Interface.js.map +1 -0
  3. package/lib/base/affix/index.js +5 -46
  4. package/lib/base/affix/index.js.map +1 -0
  5. package/lib/base/alert/index.js +5 -46
  6. package/lib/base/alert/index.js.map +1 -0
  7. package/lib/base/anchor/index.js +8 -49
  8. package/lib/base/anchor/index.js.map +1 -0
  9. package/lib/base/avatar/index.js +8 -49
  10. package/lib/base/avatar/index.js.map +1 -0
  11. package/lib/base/backTop/index.js +5 -46
  12. package/lib/base/backTop/index.js.map +1 -0
  13. package/lib/base/badge/index.js +8 -49
  14. package/lib/base/badge/index.js.map +1 -0
  15. package/lib/base/breadcrumb/index.js +5 -46
  16. package/lib/base/breadcrumb/index.js.map +1 -0
  17. package/lib/base/button/index.d.ts +1 -1
  18. package/lib/base/button/index.js +93 -134
  19. package/lib/base/button/index.js.map +1 -0
  20. package/lib/base/calendar/index.js +5 -46
  21. package/lib/base/calendar/index.js.map +1 -0
  22. package/lib/base/card/index.js +8 -50
  23. package/lib/base/card/index.js.map +1 -0
  24. package/lib/base/carousel/index.js +5 -46
  25. package/lib/base/carousel/index.js.map +1 -0
  26. package/lib/base/cascader/index.d.ts +3 -3
  27. package/lib/base/cascader/index.js +150 -221
  28. package/lib/base/cascader/index.js.map +1 -0
  29. package/lib/base/chart/index.d.ts +2 -2
  30. package/lib/base/chart/index.js +178 -287
  31. package/lib/base/chart/index.js.map +1 -0
  32. package/lib/base/checkbox/CheckboxGroup.d.ts +3 -3
  33. package/lib/base/checkbox/CheckboxGroup.js +165 -258
  34. package/lib/base/checkbox/CheckboxGroup.js.map +1 -0
  35. package/lib/base/checkbox/index.d.ts +2 -2
  36. package/lib/base/checkbox/index.js +8 -48
  37. package/lib/base/checkbox/index.js.map +1 -0
  38. package/lib/base/collapse/index.js +8 -49
  39. package/lib/base/collapse/index.js.map +1 -0
  40. package/lib/base/comment/index.js +5 -46
  41. package/lib/base/comment/index.js.map +1 -0
  42. package/lib/base/common/BodyRow/index.js +48 -102
  43. package/lib/base/common/BodyRow/index.js.map +1 -0
  44. package/lib/base/common/EllipseCell/index.d.ts +1 -1
  45. package/lib/base/common/EllipseCell/index.js +16 -57
  46. package/lib/base/common/EllipseCell/index.js.map +1 -0
  47. package/lib/base/common/FileIcon.d.ts +2 -2
  48. package/lib/base/common/FileIcon.js +86 -132
  49. package/lib/base/common/FileIcon.js.map +1 -0
  50. package/lib/base/common/Icon.d.ts +2 -2
  51. package/lib/base/common/Icon.js +42 -96
  52. package/lib/base/common/Icon.js.map +1 -0
  53. package/lib/base/common/IconData.js +2 -2
  54. package/lib/base/common/IconData.js.map +1 -0
  55. package/lib/base/common/IconFont.d.ts +2 -2
  56. package/lib/base/common/IconFont.js +6 -8
  57. package/lib/base/common/IconFont.js.map +1 -0
  58. package/lib/base/common/NoAuthority.d.ts +2 -2
  59. package/lib/base/common/NoAuthority.js +13 -53
  60. package/lib/base/common/NoAuthority.js.map +1 -0
  61. package/lib/base/common/NoData.d.ts +2 -2
  62. package/lib/base/common/NoData.js +34 -74
  63. package/lib/base/common/NoData.js.map +1 -0
  64. package/lib/base/common/NoMessage.d.ts +2 -2
  65. package/lib/base/common/NoMessage.js +30 -70
  66. package/lib/base/common/NoMessage.js.map +1 -0
  67. package/lib/base/common/NoNetWork.d.ts +2 -2
  68. package/lib/base/common/NoNetWork.js +30 -70
  69. package/lib/base/common/NoNetWork.js.map +1 -0
  70. package/lib/base/common/Page404.d.ts +2 -2
  71. package/lib/base/common/Page404.js +30 -70
  72. package/lib/base/common/Page404.js.map +1 -0
  73. package/lib/base/common/PageRequest.js +91 -154
  74. package/lib/base/common/PageRequest.js.map +1 -0
  75. package/lib/base/common/TreePanel.d.ts +1 -1
  76. package/lib/base/common/TreePanel.js +133 -212
  77. package/lib/base/common/TreePanel.js.map +1 -0
  78. package/lib/base/common/iconfontalibaba.js +15 -22
  79. package/lib/base/common/iconfontalibaba.js.map +1 -0
  80. package/lib/base/common/withZhLocale.d.ts +1 -1
  81. package/lib/base/common/withZhLocale.js +3 -7
  82. package/lib/base/common/withZhLocale.js.map +1 -0
  83. package/lib/base/configProvider/index.js +8 -49
  84. package/lib/base/configProvider/index.js.map +1 -0
  85. package/lib/base/datepick/Rangepicker.d.ts +3 -3
  86. package/lib/base/datepick/Rangepicker.js +229 -325
  87. package/lib/base/datepick/Rangepicker.js.map +1 -0
  88. package/lib/base/datepick/index.d.ts +2 -2
  89. package/lib/base/datepick/index.js +56 -113
  90. package/lib/base/datepick/index.js.map +1 -0
  91. package/lib/base/descriptions/index.js +8 -49
  92. package/lib/base/descriptions/index.js.map +1 -0
  93. package/lib/base/divider/index.js +5 -46
  94. package/lib/base/divider/index.js.map +1 -0
  95. package/lib/base/download/index.js +42 -84
  96. package/lib/base/download/index.js.map +1 -0
  97. package/lib/base/drawer/index.js +14 -57
  98. package/lib/base/drawer/index.js.map +1 -0
  99. package/lib/base/dropdown/index.js +19 -65
  100. package/lib/base/dropdown/index.js.map +1 -0
  101. package/lib/base/editor/index.d.ts +1 -1
  102. package/lib/base/editor/index.js +83 -128
  103. package/lib/base/editor/index.js.map +1 -0
  104. package/lib/base/errorboundary/index.js +19 -63
  105. package/lib/base/errorboundary/index.js.map +1 -0
  106. package/lib/base/form/Form.d.ts +2 -2
  107. package/lib/base/form/Form.js +314 -427
  108. package/lib/base/form/Form.js.map +1 -0
  109. package/lib/base/form/filed/Cascader.d.ts +2 -2
  110. package/lib/base/form/filed/Cascader.js +6 -45
  111. package/lib/base/form/filed/Cascader.js.map +1 -0
  112. package/lib/base/form/filed/Checkbox.d.ts +2 -2
  113. package/lib/base/form/filed/Checkbox.js +6 -45
  114. package/lib/base/form/filed/Checkbox.js.map +1 -0
  115. package/lib/base/form/filed/DatePicker.d.ts +2 -2
  116. package/lib/base/form/filed/DatePicker.js +6 -45
  117. package/lib/base/form/filed/DatePicker.js.map +1 -0
  118. package/lib/base/form/filed/FormItem.d.ts +2 -2
  119. package/lib/base/form/filed/FormItem.js +65 -127
  120. package/lib/base/form/filed/FormItem.js.map +1 -0
  121. package/lib/base/form/filed/Input.d.ts +2 -2
  122. package/lib/base/form/filed/Input.js +14 -51
  123. package/lib/base/form/filed/Input.js.map +1 -0
  124. package/lib/base/form/filed/InputEamil.d.ts +2 -2
  125. package/lib/base/form/filed/InputEamil.js +5 -44
  126. package/lib/base/form/filed/InputEamil.js.map +1 -0
  127. package/lib/base/form/filed/InputNumber.d.ts +2 -2
  128. package/lib/base/form/filed/InputNumber.js +5 -44
  129. package/lib/base/form/filed/InputNumber.js.map +1 -0
  130. package/lib/base/form/filed/InputPassword.d.ts +2 -2
  131. package/lib/base/form/filed/InputPassword.js +5 -44
  132. package/lib/base/form/filed/InputPassword.js.map +1 -0
  133. package/lib/base/form/filed/Item.d.ts +3 -3
  134. package/lib/base/form/filed/Item.js +91 -163
  135. package/lib/base/form/filed/Item.js.map +1 -0
  136. package/lib/base/form/filed/Radio.d.ts +2 -2
  137. package/lib/base/form/filed/Radio.js +7 -45
  138. package/lib/base/form/filed/Radio.js.map +1 -0
  139. package/lib/base/form/filed/RangerPicker.d.ts +2 -2
  140. package/lib/base/form/filed/RangerPicker.js +6 -45
  141. package/lib/base/form/filed/RangerPicker.js.map +1 -0
  142. package/lib/base/form/filed/Rate.d.ts +2 -2
  143. package/lib/base/form/filed/Rate.js +6 -46
  144. package/lib/base/form/filed/Rate.js.map +1 -0
  145. package/lib/base/form/filed/Select.d.ts +2 -2
  146. package/lib/base/form/filed/Select.js +9 -49
  147. package/lib/base/form/filed/Select.js.map +1 -0
  148. package/lib/base/form/filed/Slider.d.ts +2 -2
  149. package/lib/base/form/filed/Slider.js +6 -46
  150. package/lib/base/form/filed/Slider.js.map +1 -0
  151. package/lib/base/form/filed/Switch.d.ts +2 -2
  152. package/lib/base/form/filed/Switch.js +6 -46
  153. package/lib/base/form/filed/Switch.js.map +1 -0
  154. package/lib/base/form/filed/TagSelect.d.ts +2 -2
  155. package/lib/base/form/filed/TagSelect.js +6 -45
  156. package/lib/base/form/filed/TagSelect.js.map +1 -0
  157. package/lib/base/form/filed/TextArea.d.ts +2 -2
  158. package/lib/base/form/filed/TextArea.js +5 -44
  159. package/lib/base/form/filed/TextArea.js.map +1 -0
  160. package/lib/base/form/filed/Upload.d.ts +2 -2
  161. package/lib/base/form/filed/Upload.js +9 -45
  162. package/lib/base/form/filed/Upload.js.map +1 -0
  163. package/lib/base/form/index.js +17 -58
  164. package/lib/base/form/index.js.map +1 -0
  165. package/lib/base/grid/Col.js +5 -46
  166. package/lib/base/grid/Col.js.map +1 -0
  167. package/lib/base/grid/Row.js +5 -46
  168. package/lib/base/grid/Row.js.map +1 -0
  169. package/lib/base/grid/index.js +1 -1
  170. package/lib/base/grid/index.js.map +1 -0
  171. package/lib/base/iframe/index.d.ts +1 -1
  172. package/lib/base/iframe/index.js +44 -93
  173. package/lib/base/iframe/index.js.map +1 -0
  174. package/lib/base/image/index.js +163 -261
  175. package/lib/base/image/index.js.map +1 -0
  176. package/lib/base/input/Email.d.ts +2 -2
  177. package/lib/base/input/Email.js +55 -103
  178. package/lib/base/input/Email.js.map +1 -0
  179. package/lib/base/input/Number.d.ts +1 -1
  180. package/lib/base/input/Number.js +48 -104
  181. package/lib/base/input/Number.js.map +1 -0
  182. package/lib/base/input/Password.d.ts +1 -1
  183. package/lib/base/input/Password.js +48 -104
  184. package/lib/base/input/Password.js.map +1 -0
  185. package/lib/base/input/Search.d.ts +1 -1
  186. package/lib/base/input/Search.js +46 -102
  187. package/lib/base/input/Search.js.map +1 -0
  188. package/lib/base/input/TextArea.d.ts +1 -1
  189. package/lib/base/input/TextArea.js +64 -123
  190. package/lib/base/input/TextArea.js.map +1 -0
  191. package/lib/base/input/index.d.ts +2 -2
  192. package/lib/base/input/index.js +121 -195
  193. package/lib/base/input/index.js.map +1 -0
  194. package/lib/base/layout/index.js +14 -56
  195. package/lib/base/layout/index.js.map +1 -0
  196. package/lib/base/list/index.js +8 -49
  197. package/lib/base/list/index.js.map +1 -0
  198. package/lib/base/menu/index.d.ts +5 -5
  199. package/lib/base/menu/index.js +100 -164
  200. package/lib/base/menu/index.js.map +1 -0
  201. package/lib/base/message/index.js +5 -47
  202. package/lib/base/message/index.js.map +1 -0
  203. package/lib/base/modal/Confirm.js +14 -18
  204. package/lib/base/modal/Confirm.js.map +1 -0
  205. package/lib/base/modal/index.d.ts +1 -1
  206. package/lib/base/modal/index.js +274 -359
  207. package/lib/base/modal/index.js.map +1 -0
  208. package/lib/base/notification/index.js +5 -47
  209. package/lib/base/notification/index.js.map +1 -0
  210. package/lib/base/pageHeader/index.js +5 -46
  211. package/lib/base/pageHeader/index.js.map +1 -0
  212. package/lib/base/pagination/index.js +5 -46
  213. package/lib/base/pagination/index.js.map +1 -0
  214. package/lib/base/pdfviwer/index.d.ts +1 -1
  215. package/lib/base/pdfviwer/index.js +67 -92
  216. package/lib/base/pdfviwer/index.js.map +1 -0
  217. package/lib/base/popconfirm/index.js +5 -46
  218. package/lib/base/popconfirm/index.js.map +1 -0
  219. package/lib/base/popover/index.js +19 -65
  220. package/lib/base/popover/index.js.map +1 -0
  221. package/lib/base/progress/index.js +5 -46
  222. package/lib/base/progress/index.js.map +1 -0
  223. package/lib/base/radio/RadioGroup.d.ts +1 -1
  224. package/lib/base/radio/RadioGroup.js +198 -295
  225. package/lib/base/radio/RadioGroup.js.map +1 -0
  226. package/lib/base/radio/index.d.ts +1 -1
  227. package/lib/base/radio/index.js +8 -50
  228. package/lib/base/radio/index.js.map +1 -0
  229. package/lib/base/result/index.js +5 -46
  230. package/lib/base/result/index.js.map +1 -0
  231. package/lib/base/select/index.d.ts +4 -4
  232. package/lib/base/select/index.js +358 -475
  233. package/lib/base/select/index.js.map +1 -0
  234. package/lib/base/skeleton/index.js +5 -46
  235. package/lib/base/skeleton/index.js.map +1 -0
  236. package/lib/base/space/index.js +5 -46
  237. package/lib/base/space/index.js.map +1 -0
  238. package/lib/base/spin/index.js +5 -46
  239. package/lib/base/spin/index.js.map +1 -0
  240. package/lib/base/statistic/index.js +8 -49
  241. package/lib/base/statistic/index.js.map +1 -0
  242. package/lib/base/steps/index.js +8 -49
  243. package/lib/base/steps/index.js.map +1 -0
  244. package/lib/base/switch/index.js +5 -46
  245. package/lib/base/switch/index.js.map +1 -0
  246. package/lib/base/table/index.d.ts +8 -8
  247. package/lib/base/table/index.js +743 -927
  248. package/lib/base/table/index.js.map +1 -0
  249. package/lib/base/tabs/Tabpane.d.ts +1 -1
  250. package/lib/base/tabs/Tabpane.js +22 -58
  251. package/lib/base/tabs/Tabpane.js.map +1 -0
  252. package/lib/base/tabs/index.d.ts +1 -1
  253. package/lib/base/tabs/index.js +110 -156
  254. package/lib/base/tabs/index.js.map +1 -0
  255. package/lib/base/tagSelect/TagSelect.d.ts +3 -3
  256. package/lib/base/tagSelect/TagSelect.js +124 -213
  257. package/lib/base/tagSelect/TagSelect.js.map +1 -0
  258. package/lib/base/tagSelect/index.d.ts +3 -3
  259. package/lib/base/tagSelect/index.js +90 -145
  260. package/lib/base/tagSelect/index.js.map +1 -0
  261. package/lib/base/timeline/index.js +8 -49
  262. package/lib/base/timeline/index.js.map +1 -0
  263. package/lib/base/tooltip/index.js +19 -65
  264. package/lib/base/tooltip/index.js.map +1 -0
  265. package/lib/base/transfer/index.js +5 -46
  266. package/lib/base/transfer/index.js.map +1 -0
  267. package/lib/base/tree/TreeSearch.d.ts +3 -3
  268. package/lib/base/tree/TreeSearch.js +119 -186
  269. package/lib/base/tree/TreeSearch.js.map +1 -0
  270. package/lib/base/tree/index.d.ts +2 -2
  271. package/lib/base/tree/index.js +169 -241
  272. package/lib/base/tree/index.js.map +1 -0
  273. package/lib/base/treeselect/index.js +5 -46
  274. package/lib/base/treeselect/index.js.map +1 -0
  275. package/lib/base/typography/index.js +5 -46
  276. package/lib/base/typography/index.js.map +1 -0
  277. package/lib/base/upload/Dragger.js +370 -605
  278. package/lib/base/upload/Dragger.js.map +1 -0
  279. package/lib/base/upload/Upload.js +352 -529
  280. package/lib/base/upload/Upload.js.map +1 -0
  281. package/lib/base/upload/index copy.d.ts +1 -1
  282. package/lib/base/upload/index copy.js +315 -431
  283. package/lib/base/upload/index copy.js.map +1 -0
  284. package/lib/base/upload/index.js +367 -640
  285. package/lib/base/upload/index.js.map +1 -0
  286. package/lib/config.d.ts +2 -0
  287. package/lib/config.js +7 -9
  288. package/lib/config.js.map +1 -0
  289. package/lib/constants.js +2 -2
  290. package/lib/constants.js.map +1 -0
  291. package/lib/index.js +2 -1
  292. package/lib/index.js.map +1 -0
  293. package/lib/page/BasePage/Form.d.ts +1 -1
  294. package/lib/page/BasePage/Form.js +253 -360
  295. package/lib/page/BasePage/Form.js.map +1 -0
  296. package/lib/page/BasePage/index.d.ts +9 -4
  297. package/lib/page/BasePage/index.js +864 -962
  298. package/lib/page/BasePage/index.js.map +1 -0
  299. package/lib/page/BasePage/index.module copy.less +144 -0
  300. package/lib/page/BasePage/index.module.less +92 -58
  301. package/lib/page/HeaderSearch/index.d.ts +1 -1
  302. package/lib/page/HeaderSearch/index.js +196 -272
  303. package/lib/page/HeaderSearch/index.js.map +1 -0
  304. package/lib/page/PasswordCheck/index.d.ts +1 -1
  305. package/lib/page/PasswordCheck/index.js +53 -109
  306. package/lib/page/PasswordCheck/index.js.map +1 -0
  307. package/lib/treeUtils.js +45 -58
  308. package/lib/treeUtils.js.map +1 -0
  309. package/lib/utils.d.ts +2 -2
  310. package/lib/utils.js +48 -61
  311. package/lib/utils.js.map +1 -0
  312. package/package.json +1 -1
@@ -1,101 +1,62 @@
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
1
  import "antd/es/spin/style/css";
4
2
  import _Spin from "antd/es/spin";
5
3
  import "antd/es/tree/style/css";
6
4
  import _Tree from "antd/es/tree";
7
- var _excluded = ["key"],
8
- _excluded2 = ["treeData", "openKeys"];
9
-
10
- 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); }
11
-
5
+ const _excluded = ["key"],
6
+ _excluded2 = ["treeData", "openKeys"];
7
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
8
  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; }
13
-
14
9
  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; }
15
-
16
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
-
18
- 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); } }
19
-
20
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
21
-
22
- 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); }
23
-
24
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
25
-
26
- 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); }; }
27
-
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
29
-
30
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
31
-
32
- 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; } }
33
-
34
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
-
36
- 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; }
37
-
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
38
13
  import React from "react";
39
14
  import TreePanel from "../common/TreePanel";
40
15
  import { utils } from "@bj-nsc/msn/lib/utils";
41
16
  export { Store, StoreConfigType } from "@bj-nsc/msn";
42
17
  import TreeSearch from "./TreeSearch";
43
18
  import styles from "./index.less";
44
- var TreeNode = _Tree.TreeNode; // import TreeNode from "./NscTreeNode";
45
-
46
- var NscTree = /*#__PURE__*/function (_TreePanel) {
47
- _inherits(NscTree, _TreePanel);
48
-
49
- var _super = _createSuper(NscTree);
50
-
51
- function NscTree(_props) {
52
- var _this2;
53
-
54
- _classCallCheck(this, NscTree);
55
-
56
- _this2 = _super.call(this, _props);
57
-
58
- _defineProperty(_assertThisInitialized(_this2), "nscTreeRef", /*#__PURE__*/React.createRef());
59
-
60
- _defineProperty(_assertThisInitialized(_this2), "handleAddModule", function (node) {
61
- var handleAdd = _this2.props.handleAdd;
19
+ const {
20
+ TreeNode
21
+ } = _Tree;
22
+ // import TreeNode from "./NscTreeNode";
23
+
24
+ class NscTree extends TreePanel {
25
+ constructor(_props) {
26
+ super(_props);
27
+ _defineProperty(this, "nscTreeRef", /*#__PURE__*/React.createRef());
28
+ // 添加模块
29
+ _defineProperty(this, "handleAddModule", node => {
30
+ const handleAdd = this.props.handleAdd;
62
31
  handleAdd && handleAdd(node);
63
32
  });
64
-
65
- _defineProperty(_assertThisInitialized(_this2), "handleEditModule", function (node) {
66
- var handleEdit = _this2.props.handleEdit;
33
+ _defineProperty(this, "handleEditModule", node => {
34
+ const handleEdit = this.props.handleEdit;
67
35
  handleEdit && handleEdit(node);
68
36
  });
69
-
70
- _defineProperty(_assertThisInitialized(_this2), "handleDeleteModule", function (node) {
71
- var handleDelete = _this2.props.handleDelete;
37
+ _defineProperty(this, "handleDeleteModule", node => {
38
+ const handleDelete = this.props.handleDelete;
72
39
  handleDelete && handleDelete(node);
73
40
  });
74
-
75
- _defineProperty(_assertThisInitialized(_this2), "_onLoadData", function (treeNode) {
76
- return new Promise(function (resolve) {
77
- var _this = _assertThisInitialized(_this2),
78
- node = treeNode.props.dataref;
79
-
80
- _this2.store.lazyLoad(node, function () {
81
- resolve(node);
82
-
83
- _this.forceUpdate();
84
- });
41
+ _defineProperty(this, "_onLoadData", treeNode => new Promise(resolve => {
42
+ const _this = this,
43
+ node = treeNode.props.dataref;
44
+ this.store.lazyLoad(node, function () {
45
+ resolve(node);
46
+ _this.forceUpdate();
85
47
  });
86
- });
87
-
88
- _defineProperty(_assertThisInitialized(_this2), "renderTreeNodes", function (data, renderFn) {
89
- var nodeProps = _this2.props.nodeProps || {};
90
-
91
- var nodeKey = nodeProps.key,
92
- restNodeProps = _objectWithoutProperties(nodeProps, _excluded);
93
-
94
- var nodes = data.map(function (item) {
95
- var props = {
48
+ }));
49
+ _defineProperty(this, "renderTreeNodes", (data, renderFn) => {
50
+ const nodeProps = this.props.nodeProps || {};
51
+ const {
52
+ key: nodeKey
53
+ } = nodeProps,
54
+ restNodeProps = _objectWithoutProperties(nodeProps, _excluded);
55
+ const nodes = data.map(item => {
56
+ let props = {
96
57
  dataref: item
97
58
  };
98
- item.config.fields.forEach(function (field) {
59
+ item.config.fields.forEach(field => {
99
60
  if (field.name === "key" && nodeKey) {
100
61
  props.key = item[nodeKey];
101
62
  item.key = item[nodeKey];
@@ -104,13 +65,10 @@ var NscTree = /*#__PURE__*/function (_TreePanel) {
104
65
  }
105
66
  });
106
67
  Object.assign(props, restNodeProps);
107
-
108
68
  if (renderFn) {
109
- props = utils.callback(renderFn, _assertThisInitialized(_this2), [props, item]);
69
+ props = utils.callback(renderFn, this, [props, item]);
110
70
  }
111
-
112
- var titleNode = null;
113
-
71
+ let titleNode = null;
114
72
  if (typeof item.title == "string") {
115
73
  if (item.attribute.subtitle) {
116
74
  titleNode = /*#__PURE__*/React.createElement("span", {
@@ -128,188 +86,158 @@ var NscTree = /*#__PURE__*/function (_TreePanel) {
128
86
  } else {
129
87
  titleNode = item.title;
130
88
  }
131
-
132
89
  if (item.childNodes) {
133
90
  return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
134
91
  key: item.attribute.key,
135
92
  title: titleNode,
136
- icon: _this2.props.icon
137
- }), _this2.renderTreeNodes(item.childNodes, renderFn));
93
+ icon: this.props.icon
94
+ }), this.renderTreeNodes(item.childNodes, renderFn));
138
95
  }
139
-
140
96
  return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
141
97
  key: item.attribute.key,
142
98
  title: titleNode,
143
- icon: _this2.props.icon
99
+ icon: this.props.icon
144
100
  }));
145
101
  });
146
102
  return nodes;
147
103
  });
104
+ this.renderTemplate = this.renderTemplate.bind(this);
105
+ }
106
+ _dataToCheckedKeys(modelData) {
107
+ let checkedKeys = {
108
+ checked: [],
109
+ halfChecked: []
110
+ };
111
+ utils.forEachTree(modelData, function (node) {
112
+ if (node.checked == true) {
113
+ checkedKeys.checked.push(node.attribute.key);
114
+ }
115
+ });
116
+ return checkedKeys;
117
+ }
148
118
 
149
- _this2.renderTemplate = _this2.renderTemplate.bind(_assertThisInitialized(_this2));
150
- return _this2;
119
+ /**
120
+ * 树搜索
121
+ */
122
+ // handleSearch = (value) => {
123
+ // this.setState({ searchText: value });
124
+ // };
125
+
126
+ /**
127
+ * 获取选中节点ID数组
128
+ * @return String[]
129
+ */
130
+ getCheckedKeys() {
131
+ const {
132
+ checkedKeys
133
+ } = this.nscTreeRef.current;
134
+ return checkedKeys;
151
135
  }
152
136
 
153
- _createClass(NscTree, [{
154
- key: "_dataToCheckedKeys",
155
- value: function _dataToCheckedKeys(modelData) {
156
- var checkedKeys = {
157
- checked: [],
158
- halfChecked: []
159
- };
160
- utils.forEachTree(modelData, function (node) {
161
- if (node.checked == true) {
162
- checkedKeys.checked.push(node.attribute.key);
163
- }
164
- });
165
- return checkedKeys;
166
- }
167
- /**
168
- * 树搜索
169
- */
170
- // handleSearch = (value) => {
171
- // this.setState({ searchText: value });
172
- // };
137
+ /**
138
+ * 获取选中节点对象数组
139
+ * @return node[]
140
+ */
141
+ getCheckedNodes() {
142
+ const {
143
+ checkedKeys,
144
+ keyEntities
145
+ } = this.nscTreeRef.current.state;
146
+ let nodes = [];
147
+ checkedKeys.map(key => {
148
+ // nodes.push(keyEntities[key].node.props.dataref);
149
+ const node = keyEntities[key].node;
150
+ nodes.push(node.props.dataref);
151
+ });
152
+ return nodes;
153
+ }
173
154
 
174
- /**
175
- * 获取选中节点ID数组
176
- * @return String[]
177
- */
155
+ /**
156
+ * 获取全部选中节点ID,包含半选中节点ID
157
+ * @return String[]
158
+ */
159
+ getCheckedAllKeys() {
160
+ const {
161
+ checkedKeys,
162
+ halfCheckedKeys
163
+ } = this.nscTreeRef.current.state;
164
+ return checkedKeys.concat(halfCheckedKeys);
165
+ }
178
166
 
179
- }, {
180
- key: "getCheckedKeys",
181
- value: function getCheckedKeys() {
182
- var checkedKeys = this.nscTreeRef.current.checkedKeys;
183
- return checkedKeys;
167
+ /**
168
+ * 获取全部选中节点Node对象,包含半选中节点Node对象
169
+ * @return node[]
170
+ */
171
+ getCheckedAllNodes() {
172
+ const {
173
+ checkedKeys,
174
+ halfCheckedKeys,
175
+ keyEntities
176
+ } = this.nscTreeRef.current.state;
177
+ let checkedKeysAll = checkedKeys.concat(halfCheckedKeys);
178
+ let nodes = [];
179
+ checkedKeysAll.map(key => {
180
+ const node = keyEntities[key].node;
181
+ nodes.push(node.props.dataref);
182
+ });
183
+ return nodes;
184
+ }
185
+ renderTemplate() {
186
+ let treeProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
187
+ let newMenuDatas = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
188
+ const {
189
+ treeData,
190
+ openKeys
191
+ } = treeProps,
192
+ props = _objectWithoutProperties(treeProps, _excluded2);
193
+ const _this = this;
194
+ if (props.checkPropagation) {
195
+ props.checkStrictly = true;
184
196
  }
185
- /**
186
- * 获取选中节点对象数组
187
- * @return node[]
188
- */
189
-
190
- }, {
191
- key: "getCheckedNodes",
192
- value: function getCheckedNodes() {
193
- var _this$nscTreeRef$curr = this.nscTreeRef.current.state,
194
- checkedKeys = _this$nscTreeRef$curr.checkedKeys,
195
- keyEntities = _this$nscTreeRef$curr.keyEntities;
196
- var nodes = [];
197
- checkedKeys.map(function (key) {
198
- // nodes.push(keyEntities[key].node.props.dataref);
199
- var node = keyEntities[key].node;
200
- nodes.push(node.props.dataref);
201
- });
202
- return nodes;
197
+ if (props.showIcon == null) {
198
+ props.showIcon = true;
203
199
  }
204
- /**
205
- * 获取全部选中节点ID,包含半选中节点ID
206
- * @return String[]
207
- */
208
-
209
- }, {
210
- key: "getCheckedAllKeys",
211
- value: function getCheckedAllKeys() {
212
- var _this$nscTreeRef$curr2 = this.nscTreeRef.current.state,
213
- checkedKeys = _this$nscTreeRef$curr2.checkedKeys,
214
- halfCheckedKeys = _this$nscTreeRef$curr2.halfCheckedKeys;
215
- return checkedKeys.concat(halfCheckedKeys);
200
+ let {
201
+ lazyload
202
+ } = this.store.config;
203
+ if (lazyload) {
204
+ props.loadData = this._onLoadData;
216
205
  }
217
- /**
218
- * 获取全部选中节点Node对象,包含半选中节点Node对象
219
- * @return node[]
220
- */
221
-
222
- }, {
223
- key: "getCheckedAllNodes",
224
- value: function getCheckedAllNodes() {
225
- var _this$nscTreeRef$curr3 = this.nscTreeRef.current.state,
226
- checkedKeys = _this$nscTreeRef$curr3.checkedKeys,
227
- halfCheckedKeys = _this$nscTreeRef$curr3.halfCheckedKeys,
228
- keyEntities = _this$nscTreeRef$curr3.keyEntities;
229
- var checkedKeysAll = checkedKeys.concat(halfCheckedKeys);
230
- var nodes = [];
231
- checkedKeysAll.map(function (key) {
232
- var node = keyEntities[key].node;
233
- nodes.push(node.props.dataref);
206
+ const onCheckFn = props.onCheck;
207
+ props.onCheck = function (checkedKeys, e) {
208
+ _this.setState({
209
+ checkedKeys: checkedKeys
234
210
  });
235
- return nodes;
236
- } // 添加模块
237
-
238
- }, {
239
- key: "renderTemplate",
240
- value: function renderTemplate() {
241
- var _this3 = this;
242
-
243
- var treeProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
244
- var newMenuDatas = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
245
-
246
- var treeData = treeProps.treeData,
247
- openKeys = treeProps.openKeys,
248
- props = _objectWithoutProperties(treeProps, _excluded2);
249
-
250
- var _this = this;
251
-
252
- if (props.checkPropagation) {
253
- props.checkStrictly = true;
254
- }
255
-
256
- if (props.showIcon == null) {
257
- props.showIcon = true;
258
- }
259
-
260
- var lazyload = this.store.config.lazyload;
261
-
262
- if (lazyload) {
263
- props.loadData = this._onLoadData;
264
- }
265
-
266
- var onCheckFn = props.onCheck;
267
-
268
- props.onCheck = function (checkedKeys, e) {
269
- _this.setState({
270
- checkedKeys: checkedKeys
271
- });
272
-
273
- utils.callback(onCheckFn, _this, [checkedKeys, e]);
274
- };
275
-
276
- var onSelectFn = props.onSelect;
277
-
278
- props.onSelect = function (selectedKeys, nodeInfo) {
279
- utils.callback(onSelectFn, _this, [selectedKeys, nodeInfo]);
280
-
281
- _this3.setState({
282
- selectNode: nodeInfo.selected ? nodeInfo.selectedNodes[0] : null,
283
- selectedKeys: selectedKeys
284
- });
285
- };
286
-
287
- if (openKeys) {
288
- props.expandedKeys = openKeys;
289
- }
290
-
291
- return /*#__PURE__*/React.createElement(_Spin, {
292
- spinning: this.state.loading
293
- }, /*#__PURE__*/React.createElement("div", {
294
- className: styles["nsc-tree-box"]
295
- }, (_this.props.editable || _this.props.searchable) && /*#__PURE__*/React.createElement(TreeSearch, {
296
- treeInstance: this,
297
- handleAddModule: this.handleAddModule,
298
- handleEditModule: this.handleEditModule,
299
- handleDeleteModule: this.handleDeleteModule
300
- }), Array.isArray(newMenuDatas) && newMenuDatas.length > 0 && /*#__PURE__*/React.createElement(_Tree, _extends({
301
- ref: this.nscTreeRef,
302
- checkable: true
303
- }, props), this.renderTreeNodes(newMenuDatas, props.renderTreeNode))));
211
+ utils.callback(onCheckFn, _this, [checkedKeys, e]);
212
+ };
213
+ const onSelectFn = props.onSelect;
214
+ props.onSelect = (selectedKeys, nodeInfo) => {
215
+ utils.callback(onSelectFn, _this, [selectedKeys, nodeInfo]);
216
+ this.setState({
217
+ selectNode: nodeInfo.selected ? nodeInfo.selectedNodes[0] : null,
218
+ selectedKeys
219
+ });
220
+ };
221
+ if (openKeys) {
222
+ props.expandedKeys = openKeys;
304
223
  }
305
- }]);
306
-
307
- return NscTree;
308
- }(TreePanel);
309
-
224
+ return /*#__PURE__*/React.createElement(_Spin, {
225
+ spinning: this.state.loading
226
+ }, /*#__PURE__*/React.createElement("div", {
227
+ className: styles["nsc-tree-box"]
228
+ }, (_this.props.editable || _this.props.searchable) && /*#__PURE__*/React.createElement(TreeSearch, {
229
+ treeInstance: this,
230
+ handleAddModule: this.handleAddModule,
231
+ handleEditModule: this.handleEditModule,
232
+ handleDeleteModule: this.handleDeleteModule
233
+ }), Array.isArray(newMenuDatas) && newMenuDatas.length > 0 && /*#__PURE__*/React.createElement(_Tree, _extends({
234
+ ref: this.nscTreeRef,
235
+ checkable: true
236
+ }, props), this.renderTreeNodes(newMenuDatas, props.renderTreeNode))));
237
+ }
238
+ }
310
239
  _defineProperty(NscTree, "defaultProps", {
311
240
  store: {}
312
241
  });
313
-
314
242
  export default NscTree;
315
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJUcmVlUGFuZWwiLCJ1dGlscyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiVHJlZVNlYXJjaCIsInN0eWxlcyIsIlRyZWVOb2RlIiwiTnNjVHJlZSIsInByb3BzIiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwibm9kZUtleSIsImtleSIsInJlc3ROb2RlUHJvcHMiLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY29sb3IiLCJjaGlsZE5vZGVzIiwiaWNvbiIsInJlbmRlclRyZWVOb2RlcyIsInJlbmRlclRlbXBsYXRlIiwiYmluZCIsIm1vZGVsRGF0YSIsImNoZWNrZWRLZXlzIiwiY2hlY2tlZCIsImhhbGZDaGVja2VkIiwiZm9yRWFjaFRyZWUiLCJwdXNoIiwibnNjVHJlZVJlZiIsImN1cnJlbnQiLCJzdGF0ZSIsImtleUVudGl0aWVzIiwiaGFsZkNoZWNrZWRLZXlzIiwiY29uY2F0IiwiY2hlY2tlZEtleXNBbGwiLCJ0cmVlUHJvcHMiLCJuZXdNZW51RGF0YXMiLCJ0cmVlRGF0YSIsIm9wZW5LZXlzIiwiY2hlY2tQcm9wYWdhdGlvbiIsImNoZWNrU3RyaWN0bHkiLCJzaG93SWNvbiIsImxhenlsb2FkIiwibG9hZERhdGEiLCJfb25Mb2FkRGF0YSIsIm9uQ2hlY2tGbiIsIm9uQ2hlY2siLCJlIiwic2V0U3RhdGUiLCJvblNlbGVjdEZuIiwib25TZWxlY3QiLCJzZWxlY3RlZEtleXMiLCJub2RlSW5mbyIsInNlbGVjdE5vZGUiLCJzZWxlY3RlZCIsInNlbGVjdGVkTm9kZXMiLCJleHBhbmRlZEtleXMiLCJsb2FkaW5nIiwiZWRpdGFibGUiLCJzZWFyY2hhYmxlIiwiaGFuZGxlQWRkTW9kdWxlIiwiaGFuZGxlRWRpdE1vZHVsZSIsImhhbmRsZURlbGV0ZU1vZHVsZSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInJlbmRlclRyZWVOb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxNQUFrQixPQUFsQjtBQUVBLE9BQU9DLFNBQVAsTUFHTyxxQkFIUDtBQUlBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBR0EsU0FBU0MsS0FBVCxFQUFnQkMsZUFBaEIsUUFBdUMsYUFBdkM7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLElBQVFDLFFBQVIsU0FBUUEsUUFBUixDLENBQ0E7O0lBVU1DLE87Ozs7O0FBR0osbUJBQVlDLE1BQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLE1BQU47O0FBRGlCLCtFQUZOVCxLQUFLLENBQUNVLFNBQU4sRUFFTTs7QUFBQSx1RUEwRUQsVUFBQ0MsSUFBRCxFQUFVO0FBQzFCLFVBQU1DLFNBQVMsR0FBRyxPQUFLSCxLQUFMLENBQVdHLFNBQTdCO0FBQ0FBLE1BQUFBLFNBQVMsSUFBSUEsU0FBUyxDQUFDRCxJQUFELENBQXRCO0FBQ0QsS0E3RWtCOztBQUFBLHdFQStFQSxVQUFDQSxJQUFELEVBQVU7QUFDM0IsVUFBTUUsVUFBVSxHQUFHLE9BQUtKLEtBQUwsQ0FBV0ksVUFBOUI7QUFDQUEsTUFBQUEsVUFBVSxJQUFJQSxVQUFVLENBQUNGLElBQUQsQ0FBeEI7QUFDRCxLQWxGa0I7O0FBQUEsMEVB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LEVBQUUsS0FBS0MsZ0JBSHpCO0FBSUUsUUFBQSxrQkFBa0IsRUFBRSxLQUFLQztBQUozQixRQUZKLEVBU0dDLEtBQUssQ0FBQ0MsT0FBTixDQUFjNUIsWUFBZCxLQUErQkEsWUFBWSxDQUFDNkIsTUFBYixHQUFzQixDQUFyRCxpQkFDQztBQUFNLFFBQUEsR0FBRyxFQUFFLEtBQUtyQyxVQUFoQjtBQUE0QixRQUFBLFNBQVM7QUFBckMsU0FBMEMvQyxLQUExQyxHQUNHLEtBQUtzQyxlQUFMLENBQXFCaUIsWUFBckIsRUFBbUN2RCxLQUFLLENBQUNxRixjQUF6QyxDQURILENBVkosQ0FERixDQURGO0FBbUJEOzs7O0VBeEptQjdGLFM7O2dCQUFoQk8sTyxrQkFRaUM7QUFBRVksRUFBQUEsS0FBSyxFQUFFO0FBQVQsQzs7QUFnTnZDLGVBQWVaLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRyZWUsIFRyZWVQcm9wcywgU3BpbiwgVHJlZU5vZGVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBUcmVlUGFuZWwsIHtcclxuICBJVHJlZVBhbmVsUHJvcHMsXHJcbiAgVHJlZUNvbW1vblByb3BzLFxyXG59IGZyb20gXCIuLi9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgUmNUcmVlIGZyb20gXCJyYy10cmVlXCI7XHJcbmltcG9ydCB7IERhdGFOb2RlLCBFdmVudERhdGFOb2RlIH0gZnJvbSBcInJjLXRyZWUvbGliL2ludGVyZmFjZVwiO1xyXG5leHBvcnQgeyBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCBUcmVlU2VhcmNoIGZyb20gXCIuL1RyZWVTZWFyY2hcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgVHJlZU5vZGUgfSA9IFRyZWU7XHJcbi8vIGltcG9ydCBUcmVlTm9kZSBmcm9tIFwiLi9Oc2NUcmVlTm9kZVwiO1xyXG50eXBlIE5zY0RhdGFOb2RlUHJvcHMgPSBEYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZjogYW55IH0gfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjVHJlZVByb3BzIGV4dGVuZHMgSVRyZWVQYW5lbFByb3BzIHtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgdHJlZURhdGE/OiBhbnlbXTtcclxuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBub2RlUHJvcHM/OiBUcmVlTm9kZVByb3BzO1xyXG59XHJcblxyXG5jbGFzcyBOc2NUcmVlIGV4dGVuZHMgVHJlZVBhbmVsPE5zY1RyZWVQcm9wcyAmIFRyZWVDb21tb25Qcm9wcz4ge1xyXG4gIG5zY1RyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8UmNUcmVlICYgVHJlZVByb3BzPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5yZW5kZXJUZW1wbGF0ZSA9IHRoaXMucmVuZGVyVGVtcGxhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH0gPSB7IHN0b3JlOiB7fSB9O1xyXG5cclxuICBfZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKTogYW55IHtcclxuICAgIGxldCBjaGVja2VkS2V5cyA9IHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gICAgdXRpbHMuZm9yRWFjaFRyZWUobW9kZWxEYXRhLCBmdW5jdGlvbiAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkID09IHRydWUpIHtcclxuICAgICAgICBjaGVja2VkS2V5cy5jaGVja2VkLnB1c2gobm9kZS5hdHRyaWJ1dGUua2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoJHmkJzntKJcclxuICAgKi9cclxuICAvLyBoYW5kbGVTZWFyY2ggPSAodmFsdWUpID0+IHtcclxuICAvLyAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hUZXh0OiB2YWx1ZSB9KTtcclxuICAvLyB9O1xyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrlJROaVsOe7hFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50O1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K55a+56LGh5pWw57uEXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgbm9kZXMgPSBbXSBhcyBOc2NEYXRhTm9kZVByb3BzW107XHJcbiAgICBjaGVja2VkS2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAvLyBub2Rlcy5wdXNoKGtleUVudGl0aWVzW2tleV0ubm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuUlE77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5SURcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5Tm9kZeWvueixoe+8jOWMheWQq+WNiumAieS4reiKgueCuU5vZGXlr7nosaFcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxOb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9XHJcbiAgICAgIHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzQWxsID0gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgICBsZXQgbm9kZXMgPSBbXTtcclxuICAgIGNoZWNrZWRLZXlzQWxsLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvLyDmt7vliqDmqKHlnZdcclxuICBoYW5kbGVBZGRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlQWRkID0gdGhpcy5wcm9wcy5oYW5kbGVBZGQ7XHJcbiAgICBoYW5kbGVBZGQgJiYgaGFuZGxlQWRkKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRWRpdCA9IHRoaXMucHJvcHMuaGFuZGxlRWRpdDtcclxuICAgIGhhbmRsZUVkaXQgJiYgaGFuZGxlRWRpdChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVEZWxldGVNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gdGhpcy5wcm9wcy5oYW5kbGVEZWxldGU7XHJcbiAgICBoYW5kbGVEZWxldGUgJiYgaGFuZGxlRGVsZXRlKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIF9vbkxvYWREYXRhID0gKHRyZWVOb2RlOiBFdmVudERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmIH0gfSkgPT5cclxuICAgIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgICBub2RlID0gdHJlZU5vZGUucHJvcHMuZGF0YXJlZjtcclxuICAgICAgdGhpcy5zdG9yZS5sYXp5TG9hZChub2RlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmVzb2x2ZShub2RlKTtcclxuICAgICAgICBfdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICByZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMgPSB7fSBhcyBJVHJlZVBhbmVsUHJvcHMsIG5ld01lbnVEYXRhcyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRyZWVEYXRhLCBvcGVuS2V5cywgLi4ucHJvcHMgfSA9IHRyZWVQcm9wcztcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChwcm9wcy5jaGVja1Byb3BhZ2F0aW9uKSB7XHJcbiAgICAgIHByb3BzLmNoZWNrU3RyaWN0bHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLnNob3dJY29uID09IG51bGwpIHtcclxuICAgICAgcHJvcHMuc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IGxhenlsb2FkIH0gPSB0aGlzLnN0b3JlLmNvbmZpZztcclxuICAgIGlmIChsYXp5bG9hZCkge1xyXG4gICAgICBwcm9wcy5sb2FkRGF0YSA9IHRoaXMuX29uTG9hZERhdGE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvbkNoZWNrRm4gPSBwcm9wcy5vbkNoZWNrO1xyXG4gICAgcHJvcHMub25DaGVjayA9IGZ1bmN0aW9uIChjaGVja2VkS2V5cywgZSkge1xyXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyB9KTtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGVja0ZuLCBfdGhpcywgW2NoZWNrZWRLZXlzLCBlXSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25TZWxlY3RGbiA9IHByb3BzLm9uU2VsZWN0O1xyXG4gICAgcHJvcHMub25TZWxlY3QgPSAoc2VsZWN0ZWRLZXlzLCBub2RlSW5mbykgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvblNlbGVjdEZuLCBfdGhpcywgW3NlbGVjdGVkS2V5cywgbm9kZUluZm9dKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgc2VsZWN0Tm9kZTogbm9kZUluZm8uc2VsZWN0ZWQgPyBub2RlSW5mby5zZWxlY3RlZE5vZGVzWzBdIDogbnVsbCxcclxuICAgICAgICBzZWxlY3RlZEtleXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3BlbktleXMpIHtcclxuICAgICAgcHJvcHMuZXhwYW5kZWRLZXlzID0gb3BlbktleXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8U3BpbiBzcGlubmluZz17dGhpcy5zdGF0ZS5sb2FkaW5nfT5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wibnNjLXRyZWUtYm94XCJdfT5cclxuICAgICAgICAgIHsoX3RoaXMucHJvcHMuZWRpdGFibGUgfHwgX3RoaXMucHJvcHMuc2VhcmNoYWJsZSkgJiYgKFxyXG4gICAgICAgICAgICA8VHJlZVNlYXJjaFxyXG4gICAgICAgICAgICAgIHRyZWVJbnN0YW5jZT17dGhpc31cclxuICAgICAgICAgICAgICBoYW5kbGVBZGRNb2R1bGU9e3RoaXMuaGFuZGxlQWRkTW9kdWxlfVxyXG4gICAgICAgICAgICAgIGhhbmRsZUVkaXRNb2R1bGU9e3RoaXMuaGFuZGxlRWRpdE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVEZWxldGVNb2R1bGU9e3RoaXMuaGFuZGxlRGVsZXRlTW9kdWxlfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHtBcnJheS5pc0FycmF5KG5ld01lbnVEYXRhcykgJiYgbmV3TWVudURhdGFzLmxlbmd0aCA+IDAgJiYgKFxyXG4gICAgICAgICAgICA8VHJlZSByZWY9e3RoaXMubnNjVHJlZVJlZn0gY2hlY2thYmxlIHsuLi5wcm9wc30+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyVHJlZU5vZGVzKG5ld01lbnVEYXRhcywgcHJvcHMucmVuZGVyVHJlZU5vZGUpfVxyXG4gICAgICAgICAgICA8L1RyZWU+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L1NwaW4+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyVHJlZU5vZGVzID0gKGRhdGEsIHJlbmRlckZuKSA9PiB7XHJcbiAgICBjb25zdCBub2RlUHJvcHMgPSB0aGlzLnByb3BzLm5vZGVQcm9wcyB8fCB7fTtcclxuICAgIGNvbnN0IHsga2V5OiBub2RlS2V5LCAuLi5yZXN0Tm9kZVByb3BzIH0gPSBub2RlUHJvcHM7XHJcbiAgICBjb25zdCBub2RlcyA9IGRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGxldCBwcm9wcyA9IHsgZGF0YXJlZjogaXRlbSB9IGFzIFRyZWVOb2RlUHJvcHM7XHJcbiAgICAgIGl0ZW0uY29uZmlnLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSBcImtleVwiICYmIG5vZGVLZXkpIHtcclxuICAgICAgICAgIHByb3BzLmtleSA9IGl0ZW1bbm9kZUtleV07XHJcbiAgICAgICAgICBpdGVtLmtleSA9IGl0ZW1bbm9kZUtleV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzW2ZpZWxkLm5hbWVdID0gaXRlbVtmaWVsZC5uYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHByb3BzLCByZXN0Tm9kZVByb3BzKTtcclxuICAgICAgaWYgKHJlbmRlckZuKSB7XHJcbiAgICAgICAgcHJvcHMgPSB1dGlscy5jYWxsYmFjayhyZW5kZXJGbiwgdGhpcywgW3Byb3BzLCBpdGVtXSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCB0aXRsZU5vZGUgPSBudWxsO1xyXG4gICAgICBpZiAodHlwZW9mIGl0ZW0udGl0bGUgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIGlmIChpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZSkge1xyXG4gICAgICAgICAgdGl0bGVOb2RlID0gKFxyXG4gICAgICAgICAgICA8c3BhbiB0aXRsZT17aXRlbS50aXRsZSArIFwi77yIXCIgKyBpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZSArIFwi77yJXCJ9PlxyXG4gICAgICAgICAgICAgIDxzcGFuPntpdGVtLnRpdGxlfTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IFwicmdiYSgwLDAsMCwuNDUpXCIgfX1cclxuICAgICAgICAgICAgICA+e2DvvIgke2l0ZW0uYXR0cmlidXRlLnN1YnRpdGxlfe+8iWB9PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aXRsZU5vZGUgPSA8c3BhbiB0aXRsZT17aXRlbS50aXRsZX0+e2l0ZW0udGl0bGV9PC9zcGFuPjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGl0bGVOb2RlID0gaXRlbS50aXRsZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaXRlbS5jaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxUcmVlTm9kZVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fVxyXG4gICAgICAgICAgICB0aXRsZT17dGl0bGVOb2RlfVxyXG4gICAgICAgICAgICBpY29uPXt0aGlzLnByb3BzLmljb259XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhpdGVtLmNoaWxkTm9kZXMsIHJlbmRlckZuKX1cclxuICAgICAgICAgIDwvVHJlZU5vZGU+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8VHJlZU5vZGVcclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlTm9kZX1cclxuICAgICAgICAgIGljb249e3RoaXMucHJvcHMuaWNvbn1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5zY1RyZWU7XHJcbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRyZWVQYW5lbCIsInV0aWxzIiwiU3RvcmUiLCJTdG9yZUNvbmZpZ1R5cGUiLCJUcmVlU2VhcmNoIiwic3R5bGVzIiwiVHJlZU5vZGUiLCJfVHJlZSIsIk5zY1RyZWUiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwia2V5Iiwibm9kZUtleSIsInJlc3ROb2RlUHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiY29sb3IiLCJjb25jYXQiLCJjaGlsZE5vZGVzIiwiX2V4dGVuZHMiLCJpY29uIiwicmVuZGVyVHJlZU5vZGVzIiwicmVuZGVyVGVtcGxhdGUiLCJiaW5kIiwiX2RhdGFUb0NoZWNrZWRLZXlzIiwibW9kZWxEYXRhIiwiY2hlY2tlZEtleXMiLCJjaGVja2VkIiwiaGFsZkNoZWNrZWQiLCJmb3JFYWNoVHJlZSIsInB1c2giLCJnZXRDaGVja2VkS2V5cyIsIm5zY1RyZWVSZWYiLCJjdXJyZW50IiwiZ2V0Q2hlY2tlZE5vZGVzIiwia2V5RW50aXRpZXMiLCJzdGF0ZSIsImdldENoZWNrZWRBbGxLZXlzIiwiaGFsZkNoZWNrZWRLZXlzIiwiZ2V0Q2hlY2tlZEFsbE5vZGVzIiwiY2hlY2tlZEtleXNBbGwiLCJ0cmVlUHJvcHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJuZXdNZW51RGF0YXMiLCJ0cmVlRGF0YSIsIm9wZW5LZXlzIiwiX2V4Y2x1ZGVkMiIsImNoZWNrUHJvcGFnYXRpb24iLCJjaGVja1N0cmljdGx5Iiwic2hvd0ljb24iLCJsYXp5bG9hZCIsImxvYWREYXRhIiwiX29uTG9hZERhdGEiLCJvbkNoZWNrRm4iLCJvbkNoZWNrIiwiZSIsInNldFN0YXRlIiwib25TZWxlY3RGbiIsIm9uU2VsZWN0Iiwic2VsZWN0ZWRLZXlzIiwibm9kZUluZm8iLCJzZWxlY3ROb2RlIiwic2VsZWN0ZWQiLCJzZWxlY3RlZE5vZGVzIiwiZXhwYW5kZWRLZXlzIiwiX1NwaW4iLCJzcGlubmluZyIsImxvYWRpbmciLCJjbGFzc05hbWUiLCJlZGl0YWJsZSIsInNlYXJjaGFibGUiLCJ0cmVlSW5zdGFuY2UiLCJoYW5kbGVBZGRNb2R1bGUiLCJoYW5kbGVFZGl0TW9kdWxlIiwiaGFuZGxlRGVsZXRlTW9kdWxlIiwiQXJyYXkiLCJpc0FycmF5IiwicmVmIiwiY2hlY2thYmxlIiwicmVuZGVyVHJlZU5vZGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL3RyZWUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgVHJlZSwgVHJlZVByb3BzLCBTcGluLCBUcmVlTm9kZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFRyZWVQYW5lbCwge1xyXG4gIElUcmVlUGFuZWxQcm9wcyxcclxuICBUcmVlQ29tbW9uUHJvcHMsXHJcbn0gZnJvbSBcIi4uL2NvbW1vbi9UcmVlUGFuZWxcIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBSY1RyZWUgZnJvbSBcInJjLXRyZWVcIjtcclxuaW1wb3J0IHsgRGF0YU5vZGUsIEV2ZW50RGF0YU5vZGUgfSBmcm9tIFwicmMtdHJlZS9saWIvaW50ZXJmYWNlXCI7XHJcbmV4cG9ydCB7IFN0b3JlLCBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IFRyZWVTZWFyY2ggZnJvbSBcIi4vVHJlZVNlYXJjaFwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuY29uc3QgeyBUcmVlTm9kZSB9ID0gVHJlZTtcclxuLy8gaW1wb3J0IFRyZWVOb2RlIGZyb20gXCIuL05zY1RyZWVOb2RlXCI7XHJcbnR5cGUgTnNjRGF0YU5vZGVQcm9wcyA9IERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmOiBhbnkgfSB9O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOc2NUcmVlUHJvcHMgZXh0ZW5kcyBJVHJlZVBhbmVsUHJvcHMge1xyXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcclxuICB0cmVlRGF0YT86IGFueVtdO1xyXG4gIHNlYXJjaGFibGU/OiBib29sZWFuO1xyXG4gIG5vZGVQcm9wcz86IFRyZWVOb2RlUHJvcHM7XHJcbn1cclxuXHJcbmNsYXNzIE5zY1RyZWUgZXh0ZW5kcyBUcmVlUGFuZWw8TnNjVHJlZVByb3BzICYgVHJlZUNvbW1vblByb3BzPiB7XHJcbiAgbnNjVHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxSY1RyZWUgJiBUcmVlUHJvcHM+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnJlbmRlclRlbXBsYXRlID0gdGhpcy5yZW5kZXJUZW1wbGF0ZS5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogeyBzdG9yZToge30gfSA9IHsgc3RvcmU6IHt9IH07XHJcblxyXG4gIF9kYXRhVG9DaGVja2VkS2V5cyhtb2RlbERhdGEpOiBhbnkge1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzID0geyBjaGVja2VkOiBbXSwgaGFsZkNoZWNrZWQ6IFtdIH07XHJcbiAgICB1dGlscy5mb3JFYWNoVHJlZShtb2RlbERhdGEsIGZ1bmN0aW9uIChub2RlKSB7XHJcbiAgICAgIGlmIChub2RlLmNoZWNrZWQgPT0gdHJ1ZSkge1xyXG4gICAgICAgIGNoZWNrZWRLZXlzLmNoZWNrZWQucHVzaChub2RlLmF0dHJpYnV0ZS5rZXkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjaGVja2VkS2V5cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOagkeaQnOe0olxyXG4gICAqL1xyXG4gIC8vIGhhbmRsZVNlYXJjaCA9ICh2YWx1ZSkgPT4ge1xyXG4gIC8vICAgdGhpcy5zZXRTdGF0ZSh7IHNlYXJjaFRleHQ6IHZhbHVlIH0pO1xyXG4gIC8vIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPlumAieS4reiKgueCuUlE5pWw57uEXHJcbiAgICogQHJldHVybiBTdHJpbmdbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRLZXlzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQ7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrnlr7nosaHmlbDnu4RcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWROb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGtleUVudGl0aWVzIH0gPSB0aGlzLm5zY1RyZWVSZWYuY3VycmVudC5zdGF0ZTtcclxuICAgIGxldCBub2RlcyA9IFtdIGFzIE5zY0RhdGFOb2RlUHJvcHNbXTtcclxuICAgIGNoZWNrZWRLZXlzLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIC8vIG5vZGVzLnB1c2goa2V5RW50aXRpZXNba2V5XS5ub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgICBjb25zdCBub2RlID0ga2V5RW50aXRpZXNba2V5XS5ub2RlIGFzIE5zY0RhdGFOb2RlUHJvcHM7XHJcbiAgICAgIG5vZGVzLnB1c2gobm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5SUTvvIzljIXlkKvljYrpgInkuK3oioLngrlJRFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkQWxsS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blhajpg6jpgInkuK3oioLngrlOb2Rl5a+56LGh77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5Tm9kZeWvueixoVxyXG4gICAqIEByZXR1cm4gbm9kZVtdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbE5vZGVzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cywgaGFsZkNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID1cclxuICAgICAgdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgY2hlY2tlZEtleXNBbGwgPSBjaGVja2VkS2V5cy5jb25jYXQoaGFsZkNoZWNrZWRLZXlzKTtcclxuICAgIGxldCBub2RlcyA9IFtdO1xyXG4gICAgY2hlY2tlZEtleXNBbGwubWFwKChrZXkpID0+IHtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8vIOa3u+WKoOaooeWdl1xyXG4gIGhhbmRsZUFkZE1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVBZGQgPSB0aGlzLnByb3BzLmhhbmRsZUFkZDtcclxuICAgIGhhbmRsZUFkZCAmJiBoYW5kbGVBZGQobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgaGFuZGxlRWRpdE1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVFZGl0ID0gdGhpcy5wcm9wcy5oYW5kbGVFZGl0O1xyXG4gICAgaGFuZGxlRWRpdCAmJiBoYW5kbGVFZGl0KG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZURlbGV0ZU1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVEZWxldGUgPSB0aGlzLnByb3BzLmhhbmRsZURlbGV0ZTtcclxuICAgIGhhbmRsZURlbGV0ZSAmJiBoYW5kbGVEZWxldGUobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgX29uTG9hZERhdGEgPSAodHJlZU5vZGU6IEV2ZW50RGF0YU5vZGUgJiB7IHByb3BzOiB7IGRhdGFyZWYgfSB9KSA9PlxyXG4gICAgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgY29uc3QgX3RoaXMgPSB0aGlzLFxyXG4gICAgICAgIG5vZGUgPSB0cmVlTm9kZS5wcm9wcy5kYXRhcmVmO1xyXG4gICAgICB0aGlzLnN0b3JlLmxhenlMb2FkKG5vZGUsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXNvbHZlKG5vZGUpO1xyXG4gICAgICAgIF90aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIHJlbmRlclRlbXBsYXRlKHRyZWVQcm9wcyA9IHt9IGFzIElUcmVlUGFuZWxQcm9wcywgbmV3TWVudURhdGFzID0gW10pIHtcclxuICAgIGNvbnN0IHsgdHJlZURhdGEsIG9wZW5LZXlzLCAuLi5wcm9wcyB9ID0gdHJlZVByb3BzO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHByb3BzLmNoZWNrUHJvcGFnYXRpb24pIHtcclxuICAgICAgcHJvcHMuY2hlY2tTdHJpY3RseSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuc2hvd0ljb24gPT0gbnVsbCkge1xyXG4gICAgICBwcm9wcy5zaG93SWNvbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHsgbGF6eWxvYWQgfSA9IHRoaXMuc3RvcmUuY29uZmlnO1xyXG4gICAgaWYgKGxhenlsb2FkKSB7XHJcbiAgICAgIHByb3BzLmxvYWREYXRhID0gdGhpcy5fb25Mb2FkRGF0YTtcclxuICAgIH1cclxuICAgIGNvbnN0IG9uQ2hlY2tGbiA9IHByb3BzLm9uQ2hlY2s7XHJcbiAgICBwcm9wcy5vbkNoZWNrID0gZnVuY3Rpb24gKGNoZWNrZWRLZXlzLCBlKSB7XHJcbiAgICAgIF90aGlzLnNldFN0YXRlKHsgY2hlY2tlZEtleXM6IGNoZWNrZWRLZXlzIH0pO1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvbkNoZWNrRm4sIF90aGlzLCBbY2hlY2tlZEtleXMsIGVdKTtcclxuICAgIH07XHJcbiAgICBjb25zdCBvblNlbGVjdEZuID0gcHJvcHMub25TZWxlY3Q7XHJcbiAgICBwcm9wcy5vblNlbGVjdCA9IChzZWxlY3RlZEtleXMsIG5vZGVJbmZvKSA9PiB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uU2VsZWN0Rm4sIF90aGlzLCBbc2VsZWN0ZWRLZXlzLCBub2RlSW5mb10pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBzZWxlY3ROb2RlOiBub2RlSW5mby5zZWxlY3RlZCA/IG5vZGVJbmZvLnNlbGVjdGVkTm9kZXNbMF0gOiBudWxsLFxyXG4gICAgICAgIHNlbGVjdGVkS2V5cyxcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChvcGVuS2V5cykge1xyXG4gICAgICBwcm9wcy5leHBhbmRlZEtleXMgPSBvcGVuS2V5cztcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxTcGluIHNwaW5uaW5nPXt0aGlzLnN0YXRlLmxvYWRpbmd9PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJuc2MtdHJlZS1ib3hcIl19PlxyXG4gICAgICAgICAgeyhfdGhpcy5wcm9wcy5lZGl0YWJsZSB8fCBfdGhpcy5wcm9wcy5zZWFyY2hhYmxlKSAmJiAoXHJcbiAgICAgICAgICAgIDxUcmVlU2VhcmNoXHJcbiAgICAgICAgICAgICAgdHJlZUluc3RhbmNlPXt0aGlzfVxyXG4gICAgICAgICAgICAgIGhhbmRsZUFkZE1vZHVsZT17dGhpcy5oYW5kbGVBZGRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRWRpdE1vZHVsZT17dGhpcy5oYW5kbGVFZGl0TW9kdWxlfVxyXG4gICAgICAgICAgICAgIGhhbmRsZURlbGV0ZU1vZHVsZT17dGhpcy5oYW5kbGVEZWxldGVNb2R1bGV9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge0FycmF5LmlzQXJyYXkobmV3TWVudURhdGFzKSAmJiBuZXdNZW51RGF0YXMubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICAgIDxUcmVlIHJlZj17dGhpcy5uc2NUcmVlUmVmfSBjaGVja2FibGUgey4uLnByb3BzfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJUcmVlTm9kZXMobmV3TWVudURhdGFzLCBwcm9wcy5yZW5kZXJUcmVlTm9kZSl9XHJcbiAgICAgICAgICAgIDwvVHJlZT5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvU3Bpbj5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJUcmVlTm9kZXMgPSAoZGF0YSwgcmVuZGVyRm4pID0+IHtcclxuICAgIGNvbnN0IG5vZGVQcm9wcyA9IHRoaXMucHJvcHMubm9kZVByb3BzIHx8IHt9O1xyXG4gICAgY29uc3QgeyBrZXk6IG5vZGVLZXksIC4uLnJlc3ROb2RlUHJvcHMgfSA9IG5vZGVQcm9wcztcclxuICAgIGNvbnN0IG5vZGVzID0gZGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHByb3BzID0geyBkYXRhcmVmOiBpdGVtIH0gYXMgVHJlZU5vZGVQcm9wcztcclxuICAgICAgaXRlbS5jb25maWcuZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUgPT09IFwia2V5XCIgJiYgbm9kZUtleSkge1xyXG4gICAgICAgICAgcHJvcHMua2V5ID0gaXRlbVtub2RlS2V5XTtcclxuICAgICAgICAgIGl0ZW0ua2V5ID0gaXRlbVtub2RlS2V5XTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHNbZmllbGQubmFtZV0gPSBpdGVtW2ZpZWxkLm5hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJvcHMsIHJlc3ROb2RlUHJvcHMpO1xyXG4gICAgICBpZiAocmVuZGVyRm4pIHtcclxuICAgICAgICBwcm9wcyA9IHV0aWxzLmNhbGxiYWNrKHJlbmRlckZuLCB0aGlzLCBbcHJvcHMsIGl0ZW1dKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHRpdGxlTm9kZSA9IG51bGw7XHJcbiAgICAgIGlmICh0eXBlb2YgaXRlbS50aXRsZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uYXR0cmlidXRlLnN1YnRpdGxlKSB7XHJcbiAgICAgICAgICB0aXRsZU5vZGUgPSAoXHJcbiAgICAgICAgICAgIDxzcGFuIHRpdGxlPXtpdGVtLnRpdGxlICsgXCLvvIhcIiArIGl0ZW0uYXR0cmlidXRlLnN1YnRpdGxlICsgXCLvvIlcIn0+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0udGl0bGV9PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogXCJyZ2JhKDAsMCwwLC40NSlcIiB9fVxyXG4gICAgICAgICAgICAgID57YO+8iCR7aXRlbS5hdHRyaWJ1dGUuc3VidGl0bGV977yJYH08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRpdGxlTm9kZSA9IDxzcGFuIHRpdGxlPXtpdGVtLnRpdGxlfT57aXRlbS50aXRsZX08L3NwYW4+O1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aXRsZU5vZGUgPSBpdGVtLnRpdGxlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPFRyZWVOb2RlXHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAga2V5PXtpdGVtLmF0dHJpYnV0ZS5rZXl9XHJcbiAgICAgICAgICAgIHRpdGxlPXt0aXRsZU5vZGV9XHJcbiAgICAgICAgICAgIGljb249e3RoaXMucHJvcHMuaWNvbn1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyVHJlZU5vZGVzKGl0ZW0uY2hpbGROb2RlcywgcmVuZGVyRm4pfVxyXG4gICAgICAgICAgPC9UcmVlTm9kZT5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxUcmVlTm9kZVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAga2V5PXtpdGVtLmF0dHJpYnV0ZS5rZXl9XHJcbiAgICAgICAgICB0aXRsZT17dGl0bGVOb2RlfVxyXG4gICAgICAgICAgaWNvbj17dGhpcy5wcm9wcy5pY29ufVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAg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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","TreePanel","utils","Store","StoreConfigType","TreeSearch","styles","TreeNode","_Tree","NscTree","constructor","props","_defineProperty","createRef","node","handleAdd","handleEdit","handleDelete","treeNode","Promise","resolve","_this","dataref","store","lazyLoad","forceUpdate","data","renderFn","nodeProps","key","nodeKey","restNodeProps","_objectWithoutProperties","_excluded","nodes","map","item","config","fields","forEach","field","name","Object","assign","callback","titleNode","title","attribute","subtitle","createElement","style","color","concat","childNodes","_extends","icon","renderTreeNodes","renderTemplate","bind","_dataToCheckedKeys","modelData","checkedKeys","checked","halfChecked","forEachTree","push","getCheckedKeys","nscTreeRef","current","getCheckedNodes","keyEntities","state","getCheckedAllKeys","halfCheckedKeys","getCheckedAllNodes","checkedKeysAll","treeProps","arguments","length","undefined","newMenuDatas","treeData","openKeys","_excluded2","checkPropagation","checkStrictly","showIcon","lazyload","loadData","_onLoadData","onCheckFn","onCheck","e","setState","onSelectFn","onSelect","selectedKeys","nodeInfo","selectNode","selected","selectedNodes","expandedKeys","_Spin","spinning","loading","className","editable","searchable","treeInstance","handleAddModule","handleEditModule","handleDeleteModule","Array","isArray","ref","checkable","renderTreeNode"],"sources":["../../../src/components/base/tree/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { Tree, TreeProps, Spin, TreeNodeProps } from \"antd\";\r\nimport TreePanel, {\r\n ITreePanelProps,\r\n TreeCommonProps,\r\n} from \"../common/TreePanel\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport RcTree from \"rc-tree\";\r\nimport { DataNode, EventDataNode } from \"rc-tree/lib/interface\";\r\nexport { Store, StoreConfigType } from \"@bj-nsc/msn\";\r\nimport TreeSearch from \"./TreeSearch\";\r\nimport styles from \"./index.less\";\r\nconst { TreeNode } = Tree;\r\n// import TreeNode from \"./NscTreeNode\";\r\ntype NscDataNodeProps = DataNode & { props: { dataref: any } };\r\n\r\nexport interface NscTreeProps extends ITreePanelProps {\r\n editable?: boolean;\r\n treeData?: any[];\r\n searchable?: boolean;\r\n nodeProps?: TreeNodeProps;\r\n}\r\n\r\nclass NscTree extends TreePanel<NscTreeProps & TreeCommonProps> {\r\n nscTreeRef = React.createRef<RcTree & TreeProps>();\r\n\r\n constructor(props) {\r\n super(props);\r\n this.renderTemplate = this.renderTemplate.bind(this);\r\n }\r\n\r\n static defaultProps: { store: {} } = { store: {} };\r\n\r\n _dataToCheckedKeys(modelData): any {\r\n let checkedKeys = { checked: [], halfChecked: [] };\r\n utils.forEachTree(modelData, function (node) {\r\n if (node.checked == true) {\r\n checkedKeys.checked.push(node.attribute.key);\r\n }\r\n });\r\n return checkedKeys;\r\n }\r\n\r\n /**\r\n * 树搜索\r\n */\r\n // handleSearch = (value) => {\r\n // this.setState({ searchText: value });\r\n // };\r\n\r\n /**\r\n * 获取选中节点ID数组\r\n * @return String[]\r\n */\r\n getCheckedKeys() {\r\n const { checkedKeys } = this.nscTreeRef.current;\r\n return checkedKeys;\r\n }\r\n\r\n /**\r\n * 获取选中节点对象数组\r\n * @return node[]\r\n */\r\n getCheckedNodes() {\r\n const { checkedKeys, keyEntities } = this.nscTreeRef.current.state;\r\n let nodes = [] as NscDataNodeProps[];\r\n checkedKeys.map((key) => {\r\n // nodes.push(keyEntities[key].node.props.dataref);\r\n const node = keyEntities[key].node as NscDataNodeProps;\r\n nodes.push(node.props.dataref);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * 获取全部选中节点ID,包含半选中节点ID\r\n * @return String[]\r\n */\r\n getCheckedAllKeys() {\r\n const { checkedKeys, halfCheckedKeys } = this.nscTreeRef.current.state;\r\n return checkedKeys.concat(halfCheckedKeys);\r\n }\r\n\r\n /**\r\n * 获取全部选中节点Node对象,包含半选中节点Node对象\r\n * @return node[]\r\n */\r\n getCheckedAllNodes() {\r\n const { checkedKeys, halfCheckedKeys, keyEntities } =\r\n this.nscTreeRef.current.state;\r\n let checkedKeysAll = checkedKeys.concat(halfCheckedKeys);\r\n let nodes = [];\r\n checkedKeysAll.map((key) => {\r\n const node = keyEntities[key].node as NscDataNodeProps;\r\n nodes.push(node.props.dataref);\r\n });\r\n return nodes;\r\n }\r\n\r\n // 添加模块\r\n handleAddModule = (node) => {\r\n const handleAdd = this.props.handleAdd;\r\n handleAdd && handleAdd(node);\r\n };\r\n\r\n handleEditModule = (node) => {\r\n const handleEdit = this.props.handleEdit;\r\n handleEdit && handleEdit(node);\r\n };\r\n\r\n handleDeleteModule = (node) => {\r\n const handleDelete = this.props.handleDelete;\r\n handleDelete && handleDelete(node);\r\n };\r\n\r\n _onLoadData = (treeNode: EventDataNode & { props: { dataref } }) =>\r\n new Promise<void>((resolve) => {\r\n const _this = this,\r\n node = treeNode.props.dataref;\r\n this.store.lazyLoad(node, function () {\r\n resolve(node);\r\n _this.forceUpdate();\r\n });\r\n });\r\n\r\n renderTemplate(treeProps = {} as ITreePanelProps, newMenuDatas = []) {\r\n const { treeData, openKeys, ...props } = treeProps;\r\n const _this = this;\r\n if (props.checkPropagation) {\r\n props.checkStrictly = true;\r\n }\r\n if (props.showIcon == null) {\r\n props.showIcon = true;\r\n }\r\n\r\n let { lazyload } = this.store.config;\r\n if (lazyload) {\r\n props.loadData = this._onLoadData;\r\n }\r\n const onCheckFn = props.onCheck;\r\n props.onCheck = function (checkedKeys, e) {\r\n _this.setState({ checkedKeys: checkedKeys });\r\n utils.callback(onCheckFn, _this, [checkedKeys, e]);\r\n };\r\n const onSelectFn = props.onSelect;\r\n props.onSelect = (selectedKeys, nodeInfo) => {\r\n utils.callback(onSelectFn, _this, [selectedKeys, nodeInfo]);\r\n this.setState({\r\n selectNode: nodeInfo.selected ? nodeInfo.selectedNodes[0] : null,\r\n selectedKeys,\r\n });\r\n };\r\n\r\n if (openKeys) {\r\n props.expandedKeys = openKeys;\r\n }\r\n return (\r\n <Spin spinning={this.state.loading}>\r\n <div className={styles[\"nsc-tree-box\"]}>\r\n {(_this.props.editable || _this.props.searchable) && (\r\n <TreeSearch\r\n treeInstance={this}\r\n handleAddModule={this.handleAddModule}\r\n handleEditModule={this.handleEditModule}\r\n handleDeleteModule={this.handleDeleteModule}\r\n />\r\n )}\r\n {Array.isArray(newMenuDatas) && newMenuDatas.length > 0 && (\r\n <Tree ref={this.nscTreeRef} checkable {...props}>\r\n {this.renderTreeNodes(newMenuDatas, props.renderTreeNode)}\r\n </Tree>\r\n )}\r\n </div>\r\n </Spin>\r\n );\r\n }\r\n\r\n renderTreeNodes = (data, renderFn) => {\r\n const nodeProps = this.props.nodeProps || {};\r\n const { key: nodeKey, ...restNodeProps } = nodeProps;\r\n const nodes = data.map((item) => {\r\n let props = { dataref: item } as TreeNodeProps;\r\n item.config.fields.forEach((field) => {\r\n if (field.name === \"key\" && nodeKey) {\r\n props.key = item[nodeKey];\r\n item.key = item[nodeKey];\r\n } else {\r\n props[field.name] = item[field.name];\r\n }\r\n });\r\n Object.assign(props, restNodeProps);\r\n if (renderFn) {\r\n props = utils.callback(renderFn, this, [props, item]);\r\n }\r\n\r\n let titleNode = null;\r\n if (typeof item.title == \"string\") {\r\n if (item.attribute.subtitle) {\r\n titleNode = (\r\n <span title={item.title + \"(\" + item.attribute.subtitle + \")\"}>\r\n <span>{item.title}</span>\r\n <span\r\n style={{ color: \"rgba(0,0,0,.45)\" }}\r\n >{`(${item.attribute.subtitle})`}</span>\r\n </span>\r\n );\r\n } else {\r\n titleNode = <span title={item.title}>{item.title}</span>;\r\n }\r\n } else {\r\n titleNode = item.title;\r\n }\r\n if (item.childNodes) {\r\n return (\r\n <TreeNode\r\n {...props}\r\n key={item.attribute.key}\r\n title={titleNode}\r\n icon={this.props.icon}\r\n >\r\n {this.renderTreeNodes(item.childNodes, renderFn)}\r\n </TreeNode>\r\n );\r\n }\r\n\r\n return (\r\n <TreeNode\r\n {...props}\r\n key={item.attribute.key}\r\n title={titleNode}\r\n icon={this.props.icon}\r\n />\r\n );\r\n });\r\n\r\n return nodes;\r\n };\r\n}\r\n\r\nexport default NscTree;\r\n"],"mappings":"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","ignoreList":[]}