@opentiny/vue-renderless 3.6.0 → 3.6.1-alpha.2

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 (482) hide show
  1. package/README.md +7 -26
  2. package/action-menu/index.js +15 -15
  3. package/action-menu/vue.js +17 -22
  4. package/action-sheet/index.js +53 -68
  5. package/action-sheet/vue.js +28 -54
  6. package/alert/index.js +10 -21
  7. package/alert/vue.js +19 -33
  8. package/amount/index.js +205 -308
  9. package/amount/vue.js +113 -187
  10. package/anchor/index.js +102 -173
  11. package/anchor/vue.js +26 -47
  12. package/area/index.js +93 -153
  13. package/area/vue.js +26 -62
  14. package/autocomplete/index.js +115 -157
  15. package/autocomplete/vue.js +84 -159
  16. package/autonavi-map/index.js +12 -22
  17. package/avatar/index.js +28 -31
  18. package/avatar/vue.js +16 -19
  19. package/badge/index.js +11 -15
  20. package/badge/vue.js +19 -27
  21. package/baidu-map/index.js +12 -22
  22. package/breadcrumb/index.js +8 -7
  23. package/breadcrumb/vue.js +15 -22
  24. package/breadcrumb-item/index.js +14 -26
  25. package/breadcrumb-item/vue.js +20 -28
  26. package/bulletin-board/index.js +19 -22
  27. package/bulletin-board/vue.js +26 -33
  28. package/button/index.js +14 -18
  29. package/button/vue.js +26 -38
  30. package/button-group/index.js +19 -24
  31. package/button-group/vue.js +32 -45
  32. package/calendar/index.js +168 -203
  33. package/calendar/vue.js +89 -100
  34. package/card-template/index.js +29 -37
  35. package/card-template/vue.js +18 -30
  36. package/carousel/index.js +125 -198
  37. package/carousel/vue.js +132 -188
  38. package/carousel-item/index.js +55 -80
  39. package/carousel-item/vue.js +42 -42
  40. package/cascader/index.js +329 -460
  41. package/cascader/vue.js +159 -319
  42. package/cascader-menu/index.js +32 -39
  43. package/cascader-menu/vue.js +21 -30
  44. package/cascader-node/index.js +41 -60
  45. package/cascader-node/vue.js +27 -59
  46. package/cascader-panel/index.js +229 -311
  47. package/cascader-panel/node.js +118 -190
  48. package/cascader-panel/store.js +49 -76
  49. package/cascader-panel/vue.js +125 -197
  50. package/chart-bar/index.js +129 -439
  51. package/chart-boxplot/index.js +78 -219
  52. package/chart-candle/index.js +134 -379
  53. package/chart-core/deps/constants.js +70 -49
  54. package/chart-core/deps/numerify.js +106 -147
  55. package/chart-core/deps/utils.js +118 -121
  56. package/chart-core/index.js +302 -469
  57. package/chart-core/modules/animation.js +7 -5
  58. package/chart-core/modules/extend.js +18 -19
  59. package/chart-core/modules/mark.js +7 -3
  60. package/chart-core/vue.js +81 -120
  61. package/chart-funnel/index.js +47 -126
  62. package/chart-gauge/index.js +54 -128
  63. package/chart-graph/index.js +22 -35
  64. package/chart-heatmap/index.js +116 -362
  65. package/chart-line/index.js +98 -289
  66. package/chart-liquidfill/index.js +35 -100
  67. package/chart-map/index.js +64 -217
  68. package/chart-pie/index.js +93 -274
  69. package/chart-radar/index.js +59 -135
  70. package/chart-sankey/index.js +51 -137
  71. package/chart-scatter/index.js +118 -313
  72. package/chart-sunburst/index.js +25 -33
  73. package/chart-tree/index.js +43 -85
  74. package/chart-waterfall/index.js +77 -210
  75. package/chart-wordcloud/index.js +36 -85
  76. package/checkbox/index.js +82 -133
  77. package/checkbox/vue.js +62 -132
  78. package/checkbox-button/index.js +60 -96
  79. package/checkbox-button/vue.js +53 -135
  80. package/checkbox-group/index.js +6 -11
  81. package/checkbox-group/vue.js +22 -27
  82. package/chunk-PKUHTIDK.js +37 -0
  83. package/col/index.js +89 -119
  84. package/col/vue.js +21 -31
  85. package/collapse/index.js +31 -40
  86. package/collapse/vue.js +24 -32
  87. package/collapse-item/index.js +22 -36
  88. package/collapse-item/vue.js +22 -42
  89. package/common/array.js +51 -56
  90. package/common/bigInt.js +187 -243
  91. package/common/browser.js +35 -31
  92. package/common/dataset/index.js +74 -110
  93. package/common/date.js +199 -201
  94. package/common/decimal.js +94 -142
  95. package/common/deps/ResizeObserver.js +188 -208
  96. package/common/deps/after-leave.js +12 -10
  97. package/common/deps/clickoutside.js +32 -36
  98. package/common/deps/date-util.js +139 -166
  99. package/common/deps/date.js +206 -241
  100. package/common/deps/debounce.js +8 -4
  101. package/common/deps/dom.js +75 -68
  102. package/common/deps/eSpaceCtrl.js +170 -153
  103. package/common/deps/fullscreen/apis.js +51 -65
  104. package/common/deps/fullscreen/screenfull.js +61 -45
  105. package/common/deps/letter-only.js +12 -8
  106. package/common/deps/memorize.js +100 -125
  107. package/common/deps/modal-queue.js +6 -2
  108. package/common/deps/number-only.js +13 -9
  109. package/common/deps/popper.js +280 -372
  110. package/common/deps/popup-manager.js +71 -75
  111. package/common/deps/repeat-click.js +14 -10
  112. package/common/deps/requestAnimationFrame.js +13 -13
  113. package/common/deps/resize-event.js +15 -10
  114. package/common/deps/scroll-into-view.js +13 -13
  115. package/common/deps/scrollbar-width.js +22 -18
  116. package/common/deps/throttle.js +15 -11
  117. package/common/deps/touch.js +24 -22
  118. package/common/deps/tree-model/node.js +374 -524
  119. package/common/deps/tree-model/tree-store.js +251 -352
  120. package/common/deps/tree-model/util.js +10 -4
  121. package/common/deps/upload-ajax.js +28 -24
  122. package/common/deps/vue-emitter.js +15 -11
  123. package/common/deps/vue-popper.js +181 -214
  124. package/common/deps/vue-popup.js +118 -168
  125. package/common/event.js +10 -9
  126. package/common/index.js +180 -194
  127. package/common/object.js +92 -91
  128. package/common/runtime.js +78 -51
  129. package/common/string.js +194 -266
  130. package/common/type.js +49 -51
  131. package/common/validate/index.js +8 -4
  132. package/common/validate/messages.js +64 -67
  133. package/common/validate/rules/enum.js +10 -6
  134. package/common/validate/rules/index.js +18 -14
  135. package/common/validate/rules/pattern.js +9 -5
  136. package/common/validate/rules/range.js +26 -39
  137. package/common/validate/rules/required.js +8 -10
  138. package/common/validate/rules/type.js +67 -79
  139. package/common/validate/rules/whitespace.js +8 -4
  140. package/common/validate/schema.js +159 -199
  141. package/common/validate/util.js +95 -82
  142. package/common/validate/validations/array.js +14 -17
  143. package/common/validate/validations/date.js +16 -20
  144. package/common/validate/validations/enum.js +14 -16
  145. package/common/validate/validations/float.js +13 -15
  146. package/common/validate/validations/index.js +28 -24
  147. package/common/validate/validations/integer.js +13 -15
  148. package/common/validate/validations/method.js +13 -15
  149. package/common/validate/validations/number.js +15 -17
  150. package/common/validate/validations/pattern.js +14 -16
  151. package/common/validate/validations/required.js +10 -14
  152. package/common/validate/validations/string.js +19 -15
  153. package/common/validate/validations/type.js +17 -13
  154. package/common/xss.js +202 -184
  155. package/company/index.js +34 -49
  156. package/company/vue.js +23 -29
  157. package/container/index.js +72 -98
  158. package/container/vue.js +36 -61
  159. package/country/index.js +33 -47
  160. package/country/vue.js +24 -29
  161. package/credit-card/index.js +72 -86
  162. package/credit-card/vue.js +49 -104
  163. package/credit-card-form/index.js +97 -129
  164. package/credit-card-form/vue.js +102 -133
  165. package/crop/index.js +175 -294
  166. package/crop/vue.js +132 -144
  167. package/currency/index.js +49 -67
  168. package/currency/vue.js +25 -34
  169. package/date-panel/index.js +384 -524
  170. package/date-panel/vue.js +178 -289
  171. package/date-picker/index.js +198 -260
  172. package/date-picker/vue.js +97 -155
  173. package/date-range/index.js +324 -435
  174. package/date-range/vue.js +154 -273
  175. package/date-table/index.js +279 -391
  176. package/date-table/vue.js +63 -139
  177. package/dept/index.js +196 -291
  178. package/dept/vue.js +74 -144
  179. package/detail-page/index.js +72 -131
  180. package/detail-page/vue.js +53 -128
  181. package/dialog-box/index.js +178 -248
  182. package/dialog-box/vue.js +111 -201
  183. package/drop-roles/index.js +44 -65
  184. package/drop-roles/vue.js +23 -31
  185. package/drop-times/index.js +21 -22
  186. package/drop-times/vue.js +19 -23
  187. package/dropdown/index.js +182 -253
  188. package/dropdown/vue.js +55 -101
  189. package/dropdown-item/index.js +113 -167
  190. package/dropdown-item/vue.js +73 -121
  191. package/dropdown-menu/index.js +85 -111
  192. package/dropdown-menu/vue.js +23 -36
  193. package/espace/index.js +86 -106
  194. package/espace/vue.js +26 -48
  195. package/exception/index.js +9 -12
  196. package/exception/vue.js +15 -22
  197. package/fall-menu/index.js +81 -110
  198. package/fall-menu/vue.js +32 -78
  199. package/file-upload/index.js +1081 -1713
  200. package/file-upload/vue.js +175 -417
  201. package/floatbar/index.js +8 -5
  202. package/floatbar/vue.js +13 -16
  203. package/form/index.js +124 -165
  204. package/form/vue.js +54 -66
  205. package/form-item/index.js +255 -328
  206. package/form-item/vue.js +97 -198
  207. package/fullscreen/index.js +95 -127
  208. package/fullscreen/vue.js +36 -72
  209. package/grid/core/index.js +7 -3
  210. package/grid/core/interceptor.js +28 -20
  211. package/grid/core/storeMap.js +11 -7
  212. package/grid/plugins/export.js +72 -95
  213. package/grid/plugins/exportExcel.js +244 -561
  214. package/grid/plugins/header.js +22 -21
  215. package/grid/plugins/resize.js +45 -62
  216. package/grid/static/array/arrayEach.js +7 -3
  217. package/grid/static/array/arrayIndexOf.js +7 -3
  218. package/grid/static/array/eachTree.js +17 -21
  219. package/grid/static/array/every.js +6 -2
  220. package/grid/static/array/filterTree.js +17 -12
  221. package/grid/static/array/find.js +7 -3
  222. package/grid/static/array/findTree.js +19 -30
  223. package/grid/static/array/helperCreateIterateHandle.js +31 -39
  224. package/grid/static/array/helperCreateTreeFunc.js +18 -16
  225. package/grid/static/array/includes.js +6 -4
  226. package/grid/static/array/lastArrayEach.js +7 -3
  227. package/grid/static/array/map.js +11 -10
  228. package/grid/static/array/mapTree.js +19 -23
  229. package/grid/static/array/slice.js +7 -3
  230. package/grid/static/array/sortBy.js +32 -34
  231. package/grid/static/array/sum.js +14 -13
  232. package/grid/static/array/toArray.js +6 -6
  233. package/grid/static/array/toTreeArray.js +13 -15
  234. package/grid/static/base/clear.js +18 -14
  235. package/grid/static/base/clone.js +11 -17
  236. package/grid/static/base/destructuring.js +14 -10
  237. package/grid/static/base/each.js +8 -4
  238. package/grid/static/base/eqNull.js +7 -5
  239. package/grid/static/base/findIndexOf.js +8 -4
  240. package/grid/static/base/get.js +21 -17
  241. package/grid/static/base/has.js +21 -20
  242. package/grid/static/base/hasOwnProp.js +5 -3
  243. package/grid/static/base/helperCreateGetObjects.js +13 -9
  244. package/grid/static/base/helperCreateInInObjectString.js +8 -4
  245. package/grid/static/base/helperCreateInTypeof.js +8 -5
  246. package/grid/static/base/helperCreateIndexOf.js +19 -18
  247. package/grid/static/base/helperCreateiterateIndexOf.js +20 -19
  248. package/grid/static/base/helperDefaultCompare.js +5 -1
  249. package/grid/static/base/helperDeleteProperty.js +7 -3
  250. package/grid/static/base/helperEqualCompare.js +27 -29
  251. package/grid/static/base/helperGetHGSKeys.js +5 -3
  252. package/grid/static/base/indexOf.js +7 -3
  253. package/grid/static/base/isArray.js +7 -3
  254. package/grid/static/base/isBoolean.js +5 -3
  255. package/grid/static/base/isDate.js +7 -3
  256. package/grid/static/base/isEmpty.js +7 -3
  257. package/grid/static/base/isEqual.js +10 -10
  258. package/grid/static/base/isFunction.js +5 -3
  259. package/grid/static/base/isNaN.js +6 -4
  260. package/grid/static/base/isNull.js +5 -3
  261. package/grid/static/base/isNumber.js +5 -3
  262. package/grid/static/base/isObject.js +5 -4
  263. package/grid/static/base/isPlainObject.js +6 -2
  264. package/grid/static/base/isRegExp.js +7 -3
  265. package/grid/static/base/isSet.js +6 -4
  266. package/grid/static/base/isString.js +5 -3
  267. package/grid/static/base/isUndefined.js +5 -3
  268. package/grid/static/base/keys.js +7 -3
  269. package/grid/static/base/lastEach.js +8 -4
  270. package/grid/static/base/remove.js +20 -20
  271. package/grid/static/base/set.js +22 -18
  272. package/grid/static/base/toJSONString.js +5 -3
  273. package/grid/static/base/toStringJSON.js +10 -5
  274. package/grid/static/base/uniqueId.js +6 -4
  275. package/grid/static/browse/browse.js +25 -22
  276. package/grid/static/function/property.js +6 -6
  277. package/grid/static/function/throttle.js +18 -14
  278. package/grid/static/index.js +111 -55
  279. package/grid/static/number/helperCreateToNumber.js +12 -10
  280. package/grid/static/number/toNumber.js +7 -3
  281. package/grid/static/object/assign.js +20 -20
  282. package/grid/static/object/extend.js +7 -3
  283. package/grid/static/object/lastObjectEach.js +9 -5
  284. package/grid/static/object/objectEach.js +8 -4
  285. package/grid/static/object/objectMap.js +11 -7
  286. package/grid/static/object/values.js +15 -7
  287. package/grid/static/static/staticDocument.js +7 -4
  288. package/grid/static/static/staticHGKeyRE.js +6 -2
  289. package/grid/static/static/staticParseInt.js +6 -2
  290. package/grid/static/static/staticStrUndefined.js +6 -2
  291. package/grid/static/static/staticWindow.js +7 -4
  292. package/grid/static/string/template.js +10 -8
  293. package/grid/static/string/toString.js +12 -8
  294. package/grid/utils/column.js +11 -14
  295. package/grid/utils/common.js +84 -102
  296. package/grid/utils/dom.js +104 -117
  297. package/grid/utils/event.js +23 -28
  298. package/grid/utils/index.js +8 -5
  299. package/hrapprover/index.js +80 -105
  300. package/hrapprover/vue.js +45 -90
  301. package/image/index.js +107 -175
  302. package/image/vue.js +56 -126
  303. package/image-viewer/index.js +328 -416
  304. package/image-viewer/vue.js +131 -206
  305. package/index-bar/index.js +42 -51
  306. package/index-bar/vue.js +53 -74
  307. package/index-bar-anchor/vue.js +14 -18
  308. package/input/index.js +232 -302
  309. package/input/vue.js +181 -284
  310. package/ip-address/index.js +168 -335
  311. package/ip-address/vue.js +95 -160
  312. package/layout/vue.js +7 -4
  313. package/link/index.js +9 -10
  314. package/link/vue.js +15 -23
  315. package/link-menu/index.js +86 -128
  316. package/link-menu/vue.js +55 -118
  317. package/list/index.js +12 -12
  318. package/list/vue.js +15 -15
  319. package/loading/index.js +22 -21
  320. package/loading/vue.js +15 -18
  321. package/locales/index.js +72 -104
  322. package/locales/vue.js +23 -41
  323. package/logon-user/index.js +14 -19
  324. package/logon-user/vue.js +17 -20
  325. package/logout/index.js +58 -96
  326. package/logout/vue.js +15 -19
  327. package/milestone/index.js +53 -76
  328. package/milestone/vue.js +28 -26
  329. package/mini-picker/index.js +155 -219
  330. package/mini-picker/vue.js +98 -118
  331. package/modal/index.js +386 -735
  332. package/modal/vue.js +81 -117
  333. package/month-range/index.js +108 -143
  334. package/month-range/vue.js +57 -85
  335. package/month-table/index.js +157 -202
  336. package/month-table/vue.js +42 -64
  337. package/multi-select/index.js +150 -214
  338. package/multi-select/vue.js +58 -102
  339. package/nav-menu/index.js +276 -410
  340. package/nav-menu/vue.js +110 -174
  341. package/notify/index.js +59 -81
  342. package/notify/vue.js +42 -57
  343. package/numeric/index.js +231 -363
  344. package/numeric/vue.js +78 -202
  345. package/option/index.js +44 -72
  346. package/option/vue.js +66 -179
  347. package/option-group/index.js +12 -17
  348. package/option-group/vue.js +25 -30
  349. package/package.json +32 -84
  350. package/pager-item/index.js +91 -103
  351. package/pager-item/vue.js +36 -48
  352. package/panel/index.js +22 -28
  353. package/panel/vue.js +17 -23
  354. package/picker/index.js +689 -963
  355. package/picker/timezone.js +1174 -974
  356. package/picker/vue.js +187 -389
  357. package/picker-column/index.js +182 -232
  358. package/picker-column/vue.js +71 -130
  359. package/pop-upload/index.js +162 -321
  360. package/pop-upload/vue.js +143 -273
  361. package/popeditor/index.js +528 -807
  362. package/popeditor/vue.js +165 -334
  363. package/popover/index.js +160 -219
  364. package/popover/vue.js +76 -162
  365. package/popup/index.js +90 -128
  366. package/popup/vue.js +39 -112
  367. package/progress/index.js +108 -171
  368. package/progress/vue.js +65 -115
  369. package/pull-refresh/index.js +118 -132
  370. package/pull-refresh/vue.js +38 -66
  371. package/radio/index.js +41 -77
  372. package/radio/vue.js +35 -92
  373. package/radio-button/index.js +35 -54
  374. package/radio-button/vue.js +28 -61
  375. package/radio-group/index.js +46 -48
  376. package/radio-group/vue.js +26 -30
  377. package/rate/index.js +158 -197
  378. package/rate/vue.js +90 -138
  379. package/roles/index.js +48 -77
  380. package/roles/vue.js +20 -32
  381. package/row/index.js +15 -16
  382. package/row/vue.js +20 -19
  383. package/scroll-text/index.js +17 -22
  384. package/scroll-text/vue.js +18 -27
  385. package/scrollbar/index.js +87 -115
  386. package/scrollbar/vue-bar.js +23 -46
  387. package/scrollbar/vue.js +25 -33
  388. package/search/index.js +67 -95
  389. package/search/vue.js +80 -100
  390. package/select/index.js +1094 -1584
  391. package/select/vue.js +342 -672
  392. package/select-dropdown/index.js +18 -23
  393. package/select-dropdown/vue.js +56 -112
  394. package/slide-bar/index.js +58 -85
  395. package/slide-bar/vue.js +21 -47
  396. package/slider/index.js +276 -373
  397. package/slider/vue.js +94 -144
  398. package/split/index.js +74 -123
  399. package/split/vue.js +63 -116
  400. package/steps/vue.js +8 -3
  401. package/switch/index.js +35 -43
  402. package/switch/vue.js +32 -58
  403. package/tab-bar/index.js +48 -46
  404. package/tab-bar/vue.js +14 -12
  405. package/tab-dropdown/index.js +11 -10
  406. package/tab-dropdown/vue.js +14 -11
  407. package/tab-item/index.js +20 -35
  408. package/tab-item/vue.js +22 -42
  409. package/tab-nav/index.js +194 -227
  410. package/tab-nav/vue.js +62 -83
  411. package/tabbar/index.js +23 -30
  412. package/tabbar/vue.js +22 -45
  413. package/tabbar-item/index.js +39 -51
  414. package/tabbar-item/vue.js +23 -48
  415. package/table/index.js +69 -103
  416. package/table/vue.js +37 -61
  417. package/tabs/index.js +125 -174
  418. package/tabs/vue.js +98 -143
  419. package/tag/index.js +13 -18
  420. package/tag/vue.js +11 -16
  421. package/tall-storage/index.js +87 -106
  422. package/tall-storage/vue-storage-box.js +14 -20
  423. package/tall-storage/vue.js +27 -35
  424. package/text-popup/index.js +48 -70
  425. package/text-popup/vue.js +27 -60
  426. package/time/index.js +71 -113
  427. package/time/vue.js +65 -108
  428. package/time-line/index.js +30 -56
  429. package/time-line/vue.js +23 -46
  430. package/time-panel/index.js +112 -175
  431. package/time-panel/scrollIntoView.js +12 -10
  432. package/time-panel/vue.js +64 -94
  433. package/time-range/index.js +123 -184
  434. package/time-range/vue.js +63 -115
  435. package/time-spinner/index.js +139 -179
  436. package/time-spinner/vue.js +72 -110
  437. package/toggle-menu/index.js +68 -98
  438. package/toggle-menu/vue.js +64 -54
  439. package/tooltip/index.js +127 -168
  440. package/tooltip/vue.js +81 -134
  441. package/top-box/index.js +46 -79
  442. package/top-box/vue.js +34 -62
  443. package/transfer/index.js +184 -263
  444. package/transfer/vue.js +65 -134
  445. package/transfer-panel/index.js +240 -329
  446. package/transfer-panel/vue.js +127 -232
  447. package/tree/index.js +422 -591
  448. package/tree/vue.js +163 -249
  449. package/tree-menu/index.js +97 -122
  450. package/tree-menu/vue.js +57 -39
  451. package/tree-node/index.js +180 -248
  452. package/tree-node/vue.js +107 -202
  453. package/upload/index.js +201 -276
  454. package/upload/vue.js +51 -82
  455. package/upload-dragger/index.js +38 -49
  456. package/upload-dragger/vue.js +16 -24
  457. package/upload-list/index.js +41 -50
  458. package/upload-list/vue.js +21 -27
  459. package/user/index.js +356 -510
  460. package/user/vue.js +50 -97
  461. package/user-account/index.js +16 -21
  462. package/user-account/vue.js +20 -23
  463. package/user-contact/index.js +11 -10
  464. package/user-contact/vue.js +15 -15
  465. package/user-head/index.js +69 -84
  466. package/user-head/vue.js +24 -45
  467. package/user-link/index.js +31 -41
  468. package/user-link/vue.js +23 -46
  469. package/wheel/index.js +136 -161
  470. package/wheel/vue.js +64 -95
  471. package/wizard/index.js +83 -102
  472. package/wizard/vue.js +19 -34
  473. package/year-table/index.js +31 -37
  474. package/year-table/vue.js +17 -21
  475. package/rich-text/clipboard.js +0 -77
  476. package/rich-text/index.js +0 -176
  477. package/rich-text/module/file-upload.js +0 -118
  478. package/rich-text/module/image-drop.js +0 -54
  479. package/rich-text/module/image-upload.js +0 -84
  480. package/rich-text/options.js +0 -187
  481. package/rich-text/table-module.js +0 -557
  482. package/rich-text/vue.js +0 -149
@@ -1,33 +1,29 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import { merge } from '@opentiny/vue-renderless/common/object';
4
- import { markNodeData, NODE_KEY } from '@opentiny/vue-renderless/common/deps/tree-model/util';
5
- import { indexOf } from '@opentiny/vue-renderless/common/array';
6
- import { hasOwn, typeOf } from '@opentiny/vue-renderless/common/type';
7
- import debounce from '@opentiny/vue-renderless/common/deps/debounce';
8
- var defaultChildrenKey = 'children';
9
- var getPropertyFromData = function getPropertyFromData(node, prop) {
10
- var props = node.store.props;
11
- var dataData = node.data || {};
12
- var config = props[prop];
13
- if (typeOf(config) === 'string') {
1
+ import "../../../chunk-PKUHTIDK.js";
2
+ import { merge } from "@opentiny/vue-renderless/common/object";
3
+ import { markNodeData, NODE_KEY } from "@opentiny/vue-renderless/common/deps/tree-model/util";
4
+ import { indexOf } from "@opentiny/vue-renderless/common/array";
5
+ import { hasOwn, typeOf } from "@opentiny/vue-renderless/common/type";
6
+ import debounce from "@opentiny/vue-renderless/common/deps/debounce";
7
+ const defaultChildrenKey = "children";
8
+ const getPropertyFromData = (node, prop) => {
9
+ const props = node.store.props;
10
+ const dataData = node.data || {};
11
+ const config = props[prop];
12
+ if (typeOf(config) === "string") {
14
13
  return dataData[config];
15
- } else if (typeOf(config) === 'function') {
14
+ } else if (typeOf(config) === "function") {
16
15
  return config(dataData, node);
17
- } else if (typeof config === 'undefined') {
18
- var dataProp = dataData[prop];
19
- return dataProp === undefined ? '' : dataProp;
16
+ } else if (typeof config === "undefined") {
17
+ const dataProp = dataData[prop];
18
+ return dataProp === void 0 ? "" : dataProp;
20
19
  }
21
20
  };
22
- export var getChildState = function getChildState(node) {
23
- var all = true;
24
- var none = true;
25
- var allWithoutDisable = true;
26
- for (var i = 0, len = node.length; i < len; i++) {
27
- var _node$i = node[i],
28
- checked = _node$i.checked,
29
- disabled = _node$i.disabled,
30
- indeterminate = _node$i.indeterminate;
21
+ const getChildState = (node) => {
22
+ let all = true;
23
+ let none = true;
24
+ let allWithoutDisable = true;
25
+ for (let i = 0, len = node.length; i < len; i++) {
26
+ const { checked, disabled, indeterminate } = node[i];
31
27
  if (checked !== true || indeterminate) {
32
28
  all = false;
33
29
  if (!disabled) {
@@ -38,62 +34,42 @@ export var getChildState = function getChildState(node) {
38
34
  none = false;
39
35
  }
40
36
  }
41
- var half = !all && !none;
42
- return {
43
- all: all,
44
- none: none,
45
- allWithoutDisable: allWithoutDisable,
46
- half: half
47
- };
37
+ const half = !all && !none;
38
+ return { all, none, allWithoutDisable, half };
48
39
  };
49
- var reInitChecked = function reInitChecked(node) {
50
- var childNodes = node.childNodes;
40
+ const reInitChecked = (node) => {
41
+ const childNodes = node.childNodes;
51
42
  if (childNodes.length === 0) {
52
43
  return;
53
44
  }
54
- var _getChildState = getChildState(childNodes),
55
- all = _getChildState.all,
56
- none = _getChildState.none,
57
- half = _getChildState.half;
45
+ const { all, none, half } = getChildState(childNodes);
58
46
  if (all) {
59
- Object.assign(node, {
60
- checked: true,
61
- indeterminate: false
62
- });
47
+ Object.assign(node, { checked: true, indeterminate: false });
63
48
  } else if (half) {
64
- Object.assign(node, {
65
- checked: false,
66
- indeterminate: true
67
- });
49
+ Object.assign(node, { checked: false, indeterminate: true });
68
50
  } else if (none) {
69
- Object.assign(node, {
70
- checked: false,
71
- indeterminate: false
72
- });
51
+ Object.assign(node, { checked: false, indeterminate: false });
73
52
  }
74
- var parent = node.parent;
53
+ const parent = node.parent;
75
54
  if (!parent || parent.level === 0) {
76
55
  return;
77
56
  }
78
57
  !node.store.checkStrictly && reInitChecked(parent);
79
58
  };
80
- var nodeIdSeed = 0;
81
- var lazyInitChecked = debounce(0, function (node) {
82
- return reInitChecked(node);
83
- });
84
- var Node = function () {
85
- function Node(options) {
86
- _classCallCheck(this, Node);
59
+ let nodeIdSeed = 0;
60
+ const lazyInitChecked = debounce(0, (node) => reInitChecked(node));
61
+ class Node {
62
+ constructor(options) {
87
63
  this.init(options);
88
- var store = this.store;
64
+ const store = this.store;
89
65
  if (!store) {
90
- throw new Error('[TINY-Tree][Node]store is required!');
66
+ throw new Error("[TINY-Tree][Node]store is required!");
91
67
  }
92
68
  store.registerNode(this);
93
- var props = store.props;
94
- if (props && typeof props.isLeaf !== 'undefined') {
95
- var isLeaf = getPropertyFromData(this, 'isLeaf');
96
- if (typeof isLeaf === 'boolean') {
69
+ const props = store.props;
70
+ if (props && typeof props.isLeaf !== "undefined") {
71
+ const isLeaf = getPropertyFromData(this, "isLeaf");
72
+ if (typeof isLeaf === "boolean") {
97
73
  this.isLeafByUser = isLeaf;
98
74
  }
99
75
  }
@@ -105,502 +81,376 @@ var Node = function () {
105
81
  return;
106
82
  }
107
83
  this.expandByDefaultKeys();
108
- var key = store.key,
109
- lazy = store.lazy,
110
- currentNodeKey = store.currentNodeKey;
111
- if (key && currentNodeKey !== undefined && this.key === currentNodeKey) {
84
+ const { key, lazy, currentNodeKey } = store;
85
+ if (key && currentNodeKey !== void 0 && this.key === currentNodeKey) {
112
86
  store.currentNode = this;
113
87
  store.currentNode.isCurrent = true;
114
88
  }
115
89
  lazy && store._initDefaultCheckedNode(this);
116
90
  this.updateLeafState();
117
91
  }
118
- _createClass(Node, [{
119
- key: "initExpandState",
120
- value: function initExpandState() {
121
- var store = this.store,
122
- data = this.data,
123
- level = this.level;
124
- if (store.lazy !== true && data) {
125
- this.setData(data);
126
- if (store.defaultExpandAll) {
127
- this.expanded = true;
128
- }
129
- } else if (level > 0 && store.lazy && store.defaultExpandAll) {
130
- this.expand();
92
+ initExpandState() {
93
+ const { store, data, level } = this;
94
+ if (store.lazy !== true && data) {
95
+ this.setData(data);
96
+ if (store.defaultExpandAll) {
97
+ this.expanded = true;
131
98
  }
99
+ } else if (level > 0 && store.lazy && store.defaultExpandAll) {
100
+ this.expand();
132
101
  }
133
- }, {
134
- key: "init",
135
- value: function init(options) {
136
- var _this = this;
137
- this.id = nodeIdSeed++;
138
- this.checked = false;
139
- this.indeterminate = false;
140
- this.expanded = false;
141
- this.visible = true;
142
- this.isCurrent = false;
143
- this.text = null;
144
- this.data = null;
145
- this.parent = null;
146
- Object.keys(options).forEach(function (key) {
147
- if (hasOwn.call(options, key)) {
148
- _this[key] = options[key];
149
- }
150
- });
151
- this.isLeaf = !!(this.data && this.data.isLeaf);
152
- this.loaded = false;
153
- this.loading = false;
154
- this.childNodes = [];
155
- this.level = 0;
156
- if (this.parent) {
157
- this.level = this.parent.level + 1;
102
+ }
103
+ init(options) {
104
+ this.id = nodeIdSeed++;
105
+ this.checked = false;
106
+ this.indeterminate = false;
107
+ this.expanded = false;
108
+ this.visible = true;
109
+ this.isCurrent = false;
110
+ this.text = null;
111
+ this.data = null;
112
+ this.parent = null;
113
+ Object.keys(options).forEach((key) => {
114
+ if (hasOwn.call(options, key)) {
115
+ this[key] = options[key];
158
116
  }
117
+ });
118
+ this.isLeaf = !!(this.data && this.data.isLeaf);
119
+ this.loaded = false;
120
+ this.loading = false;
121
+ this.childNodes = [];
122
+ this.level = 0;
123
+ if (this.parent) {
124
+ this.level = this.parent.level + 1;
159
125
  }
160
- }, {
161
- key: "expandByDefaultKeys",
162
- value: function expandByDefaultKeys() {
163
- var _this$store = this.store,
164
- defaultExpandedKeys = _this$store.defaultExpandedKeys,
165
- key = _this$store.key,
166
- autoExpandParent = _this$store.autoExpandParent;
167
- if (key && defaultExpandedKeys && ~defaultExpandedKeys.indexOf(this.key)) {
168
- this.expand(null, autoExpandParent);
169
- }
126
+ }
127
+ expandByDefaultKeys() {
128
+ const { defaultExpandedKeys, key, autoExpandParent } = this.store;
129
+ if (key && defaultExpandedKeys && ~defaultExpandedKeys.indexOf(this.key)) {
130
+ this.expand(null, autoExpandParent);
170
131
  }
171
- }, {
172
- key: "setData",
173
- value: function setData(data) {
174
- if (!Array.isArray(data)) {
175
- markNodeData(this, data);
176
- }
177
- this.data = data;
178
- this.childNodes = [];
179
- var children;
180
- if (this.level === 0 && this.data instanceof Array) {
181
- children = this.data;
182
- } else {
183
- children = getPropertyFromData(this, defaultChildrenKey) || [];
184
- }
185
- for (var i = 0, len = children.length; i < len; i++) {
186
- var _data = children[i];
187
- this.insertChild({
188
- data: _data
189
- });
190
- }
132
+ }
133
+ setData(data) {
134
+ if (!Array.isArray(data)) {
135
+ markNodeData(this, data);
136
+ }
137
+ this.data = data;
138
+ this.childNodes = [];
139
+ let children;
140
+ if (this.level === 0 && Array.isArray(this.data)) {
141
+ children = this.data;
142
+ } else {
143
+ children = getPropertyFromData(this, defaultChildrenKey) || [];
144
+ }
145
+ for (let i = 0, len = children.length; i < len; i++) {
146
+ const data2 = children[i];
147
+ this.insertChild({ data: data2 });
191
148
  }
192
- }, {
193
- key: "key",
194
- get: function get() {
195
- var store = this.store,
196
- data = this.data;
197
- var nodeKey = store.key;
198
- if (data) {
199
- return data[nodeKey];
200
- }
201
- return null;
149
+ }
150
+ get key() {
151
+ const { store, data } = this;
152
+ const nodeKey = store.key;
153
+ if (data) {
154
+ return data[nodeKey];
202
155
  }
203
- }, {
204
- key: "label",
205
- get: function get() {
206
- return getPropertyFromData(this, 'label');
207
- }
208
- }, {
209
- key: "disabled",
210
- get: function get() {
211
- return getPropertyFromData(this, 'disabled');
212
- }
213
- }, {
214
- key: "nextSibling",
215
- get: function get() {
216
- var parent = this.parent;
217
- if (parent) {
218
- var childNodes = parent.childNodes;
219
- var index = childNodes.indexOf(this);
220
- if (~index) {
221
- return childNodes[index + 1];
222
- }
156
+ return null;
157
+ }
158
+ get label() {
159
+ return getPropertyFromData(this, "label");
160
+ }
161
+ get disabled() {
162
+ return getPropertyFromData(this, "disabled");
163
+ }
164
+ get nextSibling() {
165
+ const parent = this.parent;
166
+ if (parent) {
167
+ const childNodes = parent.childNodes;
168
+ const index = childNodes.indexOf(this);
169
+ if (~index) {
170
+ return childNodes[index + 1];
223
171
  }
224
- return null;
225
172
  }
226
- }, {
227
- key: "previousSibling",
228
- get: function get() {
229
- var parent = this.parent;
230
- if (parent) {
231
- var childNodes = parent.childNodes;
232
- var index = childNodes.indexOf(this);
233
- if (~index) {
234
- return index > 0 ? childNodes[index - 1] : null;
235
- }
173
+ return null;
174
+ }
175
+ get previousSibling() {
176
+ const parent = this.parent;
177
+ if (parent) {
178
+ const childNodes = parent.childNodes;
179
+ const index = childNodes.indexOf(this);
180
+ if (~index) {
181
+ return index > 0 ? childNodes[index - 1] : null;
236
182
  }
237
- return null;
238
183
  }
239
- }, {
240
- key: "remove",
241
- value: function remove() {
242
- var parent = this.parent;
243
- parent && parent.removeChild(this);
244
- }
245
- }, {
246
- key: "contains",
247
- value: function contains(target) {
248
- var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
249
- var walkTree = function walkTree(parent) {
250
- var children = parent.childNodes || [];
251
- var isContain = false;
252
- for (var i = 0, len = children.length; i < len; i++) {
253
- var child = children[i];
254
- if (child === target || deep && walkTree(child)) {
255
- isContain = true;
256
- break;
257
- }
258
- }
259
- return isContain;
260
- };
261
- return walkTree(this);
262
- }
263
- }, {
264
- key: "insertChild",
265
- value: function insertChild(child, index, batch) {
266
- if (!child) {
267
- throw new Error('[TINY-Tree] insertChild error: child is required.');
268
- }
269
- var insertNode = function insertNode(_ref) {
270
- var arr = _ref.arr,
271
- index = _ref.index,
272
- item = _ref.item;
273
- if (typeof index === 'undefined' || index < 0) {
274
- arr.push(item);
275
- } else {
276
- arr.splice(index, 0, item);
277
- }
278
- };
279
- if (!(child instanceof Node)) {
280
- if (!batch) {
281
- var children = this.getChildren(true);
282
- if (!~children.indexOf(child.data)) {
283
- insertNode({
284
- arr: children,
285
- index: index,
286
- item: child.data
287
- });
288
- }
184
+ return null;
185
+ }
186
+ remove() {
187
+ const parent = this.parent;
188
+ parent && parent.removeChild(this);
189
+ }
190
+ contains(target, deep = true) {
191
+ const walkTree = (parent) => {
192
+ const children = parent.childNodes || [];
193
+ let isContain = false;
194
+ for (let i = 0, len = children.length; i < len; i++) {
195
+ const child = children[i];
196
+ if (child === target || deep && walkTree(child)) {
197
+ isContain = true;
198
+ break;
289
199
  }
290
- merge(child, {
291
- parent: this,
292
- store: this.store
293
- });
294
- child = new Node(child);
295
200
  }
296
- child.level = this.level + 1;
297
- insertNode({
298
- arr: this.childNodes,
299
- index: index,
300
- item: child
301
- });
302
- this.updateLeafState();
303
- }
304
- }, {
305
- key: "insertBefore",
306
- value: function insertBefore(child, beforeNode) {
307
- var index;
308
- if (beforeNode) {
309
- index = this.childNodes.indexOf(beforeNode);
310
- }
311
- this.insertChild(child, index);
312
- }
313
- }, {
314
- key: "insertAfter",
315
- value: function insertAfter(child, afterNode) {
316
- var index;
317
- if (afterNode) {
318
- index = this.childNodes.indexOf(afterNode);
319
- if (~index) {
320
- index += 1;
201
+ return isContain;
202
+ };
203
+ return walkTree(this);
204
+ }
205
+ insertChild(child, index, batch) {
206
+ if (!child) {
207
+ throw new Error("[TINY-Tree] insertChild error: child is required.");
208
+ }
209
+ const insertNode = ({ arr, index: index2, item }) => {
210
+ if (typeof index2 === "undefined" || index2 < 0) {
211
+ arr.push(item);
212
+ } else {
213
+ arr.splice(index2, 0, item);
214
+ }
215
+ };
216
+ if (!(child instanceof Node)) {
217
+ if (!batch) {
218
+ const children = this.getChildren(true);
219
+ if (!~children.indexOf(child.data)) {
220
+ insertNode({ arr: children, index, item: child.data });
321
221
  }
322
222
  }
323
- this.insertChild(child, index);
223
+ merge(child, { parent: this, store: this.store });
224
+ child = new Node(child);
225
+ }
226
+ child.level = this.level + 1;
227
+ insertNode({ arr: this.childNodes, index, item: child });
228
+ this.updateLeafState();
229
+ }
230
+ insertBefore(child, beforeNode) {
231
+ let index;
232
+ if (beforeNode) {
233
+ index = this.childNodes.indexOf(beforeNode);
324
234
  }
325
- }, {
326
- key: "removeChild",
327
- value: function removeChild(child) {
328
- var children = this.getChildren() || [];
329
- var index = children.indexOf(child.data);
235
+ this.insertChild(child, index);
236
+ }
237
+ insertAfter(child, afterNode) {
238
+ let index;
239
+ if (afterNode) {
240
+ index = this.childNodes.indexOf(afterNode);
330
241
  if (~index) {
331
- children.splice(index, 1);
242
+ index += 1;
332
243
  }
333
- index = this.childNodes.indexOf(child);
334
- if (~index) {
335
- this.store && this.store.deregisterNode(child);
336
- child.parent = null;
337
- this.childNodes.splice(index, 1);
244
+ }
245
+ this.insertChild(child, index);
246
+ }
247
+ removeChild(child) {
248
+ const children = this.getChildren() || [];
249
+ let index = children.indexOf(child.data);
250
+ if (~index) {
251
+ children.splice(index, 1);
252
+ }
253
+ index = this.childNodes.indexOf(child);
254
+ if (~index) {
255
+ this.store && this.store.deregisterNode(child);
256
+ child.parent = null;
257
+ this.childNodes.splice(index, 1);
258
+ }
259
+ this.updateLeafState();
260
+ }
261
+ removeChildByData(data) {
262
+ let removeNode = null;
263
+ for (let i = 0, len = this.childNodes.length; i < len; i++) {
264
+ const child = this.childNodes[i];
265
+ if (child.data === data) {
266
+ removeNode = child;
267
+ break;
338
268
  }
339
- this.updateLeafState();
340
- }
341
- }, {
342
- key: "removeChildByData",
343
- value: function removeChildByData(data) {
344
- var removeNode = null;
345
- for (var i = 0, len = this.childNodes.length; i < len; i++) {
346
- var child = this.childNodes[i];
347
- if (child.data === data) {
348
- removeNode = child;
349
- break;
269
+ }
270
+ removeNode && this.removeChild(removeNode);
271
+ }
272
+ expand(callback, expandParent) {
273
+ const expandNodes = () => {
274
+ if (expandParent) {
275
+ let parentNode = this.parent;
276
+ while (parentNode.level > 0) {
277
+ parentNode.expanded = true;
278
+ parentNode = parentNode.parent;
350
279
  }
351
280
  }
352
- removeNode && this.removeChild(removeNode);
353
- }
354
- }, {
355
- key: "expand",
356
- value: function expand(callback, expandParent) {
357
- var _this2 = this;
358
- var expandNodes = function expandNodes() {
359
- if (expandParent) {
360
- var parentNode = _this2.parent;
361
- while (parentNode.level > 0) {
362
- parentNode.expanded = true;
363
- parentNode = parentNode.parent;
281
+ this.expanded = true;
282
+ callback && callback();
283
+ };
284
+ if (this.shouldLoadData()) {
285
+ this.loadData((data) => {
286
+ if (Array.isArray(data)) {
287
+ if (this.checked) {
288
+ this.setChecked(true, true);
289
+ } else if (!this.store.checkStrictly) {
290
+ reInitChecked(this);
364
291
  }
292
+ expandNodes();
365
293
  }
366
- _this2.expanded = true;
367
- callback && callback();
368
- };
369
- if (this.shouldLoadData()) {
370
- this.loadData(function (data) {
371
- if (Array.isArray(data)) {
372
- if (_this2.checked) {
373
- _this2.setChecked(true, true);
374
- } else if (!_this2.store.checkStrictly) {
375
- reInitChecked(_this2);
376
- }
377
- expandNodes();
378
- }
379
- });
380
- } else {
381
- expandNodes();
382
- }
383
- }
384
- }, {
385
- key: "doCreateChildren",
386
- value: function doCreateChildren(array) {
387
- var _this3 = this;
388
- var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
389
- array.forEach(function (data) {
390
- _this3.insertChild(merge({
391
- data: data
392
- }, defaultProps), undefined, true);
393
294
  });
295
+ } else {
296
+ expandNodes();
394
297
  }
395
- }, {
396
- key: "collapse",
397
- value: function collapse() {
398
- this.expanded = false;
399
- }
400
- }, {
401
- key: "shouldLoadData",
402
- value: function shouldLoadData() {
403
- return this.store.lazy === true && this.store.load && !this.loaded;
404
- }
405
- }, {
406
- key: "updateLeafState",
407
- value: function updateLeafState() {
408
- var store = this.store,
409
- loaded = this.loaded,
410
- isLeafByUser = this.isLeafByUser;
411
- var lazy = store.lazy;
412
- if (lazy === true && loaded !== true && typeof isLeafByUser !== 'undefined') {
413
- this.isLeaf = isLeafByUser;
414
- return;
415
- }
416
- var childs = this.childNodes;
417
- if (!lazy || lazy === true && loaded === true) {
418
- this.isLeaf = !childs || childs.length === 0;
419
- return;
420
- }
421
- this.isLeaf = false;
422
- }
423
- }, {
424
- key: "getChildren",
425
- value: function getChildren() {
426
- var forceInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
427
- var level = this.level,
428
- data = this.data;
429
- if (level === 0) {
430
- return data;
431
- }
432
- if (!data) {
433
- return null;
434
- }
435
- var props = this.store.props;
436
- var childrenKey = defaultChildrenKey;
437
- if (props) {
438
- childrenKey = props.children || defaultChildrenKey;
439
- }
440
- if (data[childrenKey] === undefined) {
441
- data[childrenKey] = null;
442
- }
443
- if (forceInit && !data[childrenKey]) {
444
- data[childrenKey] = [];
445
- }
446
- return data[childrenKey];
447
- }
448
- }, {
449
- key: "setChecked",
450
- value: function setChecked(value, isDeepChecked, recursion, passValue) {
451
- this.checked = value === true;
452
- this.indeterminate = value === 'half';
453
- var _this$store2 = this.store,
454
- checkStrictly = _this$store2.checkStrictly,
455
- checkDescendants = _this$store2.checkDescendants;
456
- if (checkStrictly) {
457
- return;
458
- }
459
- var ret = this.setCheckedInner({
460
- checkDescendants: checkDescendants,
461
- value: value,
462
- isDeepChecked: isDeepChecked,
463
- passValue: passValue
464
- });
465
- var returnFlag = ret.returnFlag;
466
- passValue = ret.passValue;
467
- value = ret.value;
468
- if (returnFlag) {
469
- return;
470
- }
471
- var parentNode = this.parent;
472
- if (!parentNode || parentNode.level === 0) {
473
- return;
474
- }
475
- if (!recursion) {
476
- this.store.lazy ? lazyInitChecked(parentNode) : reInitChecked(parentNode);
477
- }
298
+ }
299
+ doCreateChildren(array, defaultProps = {}) {
300
+ array.forEach((data) => {
301
+ this.insertChild(merge({ data }, defaultProps), void 0, true);
302
+ });
303
+ }
304
+ collapse() {
305
+ this.expanded = false;
306
+ }
307
+ shouldLoadData() {
308
+ return this.store.lazy === true && this.store.load && !this.loaded;
309
+ }
310
+ updateLeafState() {
311
+ const { store, loaded, isLeafByUser } = this;
312
+ const lazy = store.lazy;
313
+ if (lazy === true && loaded !== true && typeof isLeafByUser !== "undefined") {
314
+ this.isLeaf = isLeafByUser;
315
+ return;
478
316
  }
479
- }, {
480
- key: "setCheckedInner",
481
- value: function setCheckedInner(_ref2) {
482
- var _this4 = this;
483
- var checkDescendants = _ref2.checkDescendants,
484
- value = _ref2.value,
485
- isDeepChecked = _ref2.isDeepChecked,
486
- passValue = _ref2.passValue;
487
- var returnFlag = false;
488
- if (this.shouldLoadData() && !checkDescendants) {
489
- return {
490
- value: value,
491
- passValue: passValue,
492
- returnFlag: returnFlag
493
- };
494
- }
495
- var _getChildState2 = getChildState(this.childNodes),
496
- all = _getChildState2.all,
497
- allWithoutDisable = _getChildState2.allWithoutDisable;
498
- if (!this.isLeaf && !all && allWithoutDisable) {
499
- this.checked = false;
500
- value = false;
501
- }
502
- var batchSetChecked = function batchSetChecked() {
503
- if (isDeepChecked) {
504
- var childNodes = _this4.childNodes;
505
- for (var i = 0, len = childNodes.length; i < len; i++) {
506
- var childNode = childNodes[i];
507
- passValue = passValue || value !== false;
508
- var isCheck = childNode.disabled ? childNode.checked : passValue;
509
- childNode.setChecked(isCheck, isDeepChecked, true, passValue);
510
- }
511
- var _getChildState3 = getChildState(childNodes),
512
- half = _getChildState3.half,
513
- _all = _getChildState3.all;
514
- if (!_all) {
515
- _this4.checked = _all;
516
- _this4.indeterminate = half;
517
- }
317
+ const childs = this.childNodes;
318
+ if (!lazy || lazy === true && loaded === true) {
319
+ this.isLeaf = !childs || childs.length === 0;
320
+ return;
321
+ }
322
+ this.isLeaf = false;
323
+ }
324
+ getChildren(forceInit = false) {
325
+ const { level, data } = this;
326
+ if (level === 0) {
327
+ return data;
328
+ }
329
+ if (!data) {
330
+ return null;
331
+ }
332
+ const props = this.store.props;
333
+ let childrenKey = defaultChildrenKey;
334
+ if (props) {
335
+ childrenKey = props.children || defaultChildrenKey;
336
+ }
337
+ if (data[childrenKey] === void 0) {
338
+ data[childrenKey] = null;
339
+ }
340
+ if (forceInit && !data[childrenKey]) {
341
+ data[childrenKey] = [];
342
+ }
343
+ return data[childrenKey];
344
+ }
345
+ setChecked(value, isDeepChecked, recursion, passValue) {
346
+ this.checked = value === true;
347
+ this.indeterminate = value === "half";
348
+ const { checkStrictly, checkDescendants } = this.store;
349
+ if (checkStrictly) {
350
+ return;
351
+ }
352
+ let ret = this.setCheckedInner({
353
+ checkDescendants,
354
+ value,
355
+ isDeepChecked,
356
+ passValue
357
+ });
358
+ let returnFlag = ret.returnFlag;
359
+ passValue = ret.passValue;
360
+ value = ret.value;
361
+ if (returnFlag) {
362
+ return;
363
+ }
364
+ const parentNode = this.parent;
365
+ if (!parentNode || parentNode.level === 0) {
366
+ return;
367
+ }
368
+ if (!recursion) {
369
+ this.store.lazy ? lazyInitChecked(parentNode) : reInitChecked(parentNode);
370
+ }
371
+ }
372
+ setCheckedInner({ checkDescendants, value, isDeepChecked, passValue }) {
373
+ let returnFlag = false;
374
+ if (this.shouldLoadData() && !checkDescendants) {
375
+ return { value, passValue, returnFlag };
376
+ }
377
+ const { all, allWithoutDisable } = getChildState(this.childNodes);
378
+ if (!this.isLeaf && !all && allWithoutDisable) {
379
+ this.checked = false;
380
+ value = false;
381
+ }
382
+ const batchSetChecked = () => {
383
+ if (isDeepChecked) {
384
+ const childNodes = this.childNodes;
385
+ for (let i = 0, len = childNodes.length; i < len; i++) {
386
+ const childNode = childNodes[i];
387
+ passValue = passValue || value !== false;
388
+ const isCheck = childNode.disabled ? childNode.checked : passValue;
389
+ childNode.setChecked(isCheck, isDeepChecked, true, passValue);
390
+ }
391
+ const { half, all: all2 } = getChildState(childNodes);
392
+ if (!all2) {
393
+ this.checked = all2;
394
+ this.indeterminate = half;
518
395
  }
519
- };
520
- if (this.shouldLoadData()) {
521
- var afterLoad = function afterLoad() {
522
- batchSetChecked();
523
- reInitChecked(_this4);
524
- };
525
- this.loadData(afterLoad, {
526
- checked: value !== false
527
- });
528
- returnFlag = true;
529
- } else {
530
- batchSetChecked();
531
396
  }
532
- return {
533
- value: value,
534
- passValue: passValue,
535
- returnFlag: returnFlag
397
+ };
398
+ if (this.shouldLoadData()) {
399
+ const afterLoad = () => {
400
+ batchSetChecked();
401
+ reInitChecked(this);
536
402
  };
403
+ this.loadData(afterLoad, { checked: value !== false });
404
+ returnFlag = true;
405
+ } else {
406
+ batchSetChecked();
537
407
  }
538
- }, {
539
- key: "updateChildren",
540
- value: function updateChildren() {
541
- var _this5 = this;
542
- var children = this.getChildren() || [];
543
- var oldChildren = this.childNodes.map(function (child) {
544
- return child.data;
545
- });
546
- var newChildrenMap = {};
547
- var newChildren = [];
548
- children.forEach(function (item, index) {
549
- var key = item[NODE_KEY];
550
- var isNodeExists = !!key && indexOf(oldChildren, key, function (item, data) {
551
- return item[NODE_KEY] === data;
552
- }) >= 0;
553
- if (isNodeExists) {
554
- newChildrenMap[key] = {
555
- index: index,
556
- data: item
557
- };
558
- } else {
559
- newChildren.push({
560
- index: index,
561
- data: item
562
- });
408
+ return { value, passValue, returnFlag };
409
+ }
410
+ updateChildren() {
411
+ const children = this.getChildren() || [];
412
+ const oldChildren = this.childNodes.map((child) => child.data);
413
+ const newChildrenMap = {};
414
+ const newChildren = [];
415
+ children.forEach((item, index) => {
416
+ const key = item[NODE_KEY];
417
+ const isNodeExists = !!key && indexOf(oldChildren, key, (item2, data) => item2[NODE_KEY] === data) >= 0;
418
+ if (isNodeExists) {
419
+ newChildrenMap[key] = { index, data: item };
420
+ } else {
421
+ newChildren.push({ index, data: item });
422
+ }
423
+ });
424
+ if (!this.store.lazy) {
425
+ oldChildren.forEach((item) => {
426
+ if (!newChildrenMap[item[NODE_KEY]]) {
427
+ this.removeChildByData(item);
563
428
  }
564
429
  });
565
- if (!this.store.lazy) {
566
- oldChildren.forEach(function (item) {
567
- if (!newChildrenMap[item[NODE_KEY]]) {
568
- _this5.removeChildByData(item);
569
- }
570
- });
571
- }
572
- newChildren.forEach(function (_ref3) {
573
- var data = _ref3.data,
574
- index = _ref3.index;
575
- _this5.insertChild({
576
- data: data
577
- }, index);
430
+ }
431
+ newChildren.forEach(({ data, index }) => {
432
+ this.insertChild({ data }, index);
433
+ });
434
+ this.updateLeafState();
435
+ }
436
+ loadData(callback, defaultProps = {}) {
437
+ const { lazy, load } = this.store;
438
+ if (lazy === true && load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {
439
+ this.loading = true;
440
+ this.store.load(this, (children) => {
441
+ this.loading = false;
442
+ this.loaded = true;
443
+ this.childNodes = [];
444
+ this.doCreateChildren(children, defaultProps);
445
+ this.updateLeafState();
446
+ callback && callback.call(this, children);
578
447
  });
579
- this.updateLeafState();
580
- }
581
- }, {
582
- key: "loadData",
583
- value: function loadData(callback) {
584
- var _this6 = this;
585
- var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
586
- var _this$store3 = this.store,
587
- lazy = _this$store3.lazy,
588
- load = _this$store3.load;
589
- if (lazy === true && load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {
590
- this.loading = true;
591
- this.store.load(this, function (children) {
592
- _this6.loading = false;
593
- _this6.loaded = true;
594
- _this6.childNodes = [];
595
- _this6.doCreateChildren(children, defaultProps);
596
- _this6.updateLeafState();
597
- callback && callback.call(_this6, children);
598
- });
599
- } else {
600
- callback && callback.call(this);
601
- }
448
+ } else {
449
+ callback && callback.call(this);
602
450
  }
603
- }]);
604
- return Node;
605
- }();
606
- export { Node as default };
451
+ }
452
+ }
453
+ export {
454
+ Node as default,
455
+ getChildState
456
+ };