shineout 1.7.1 → 1.8.0-beta.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 (381) hide show
  1. package/css/DatePicker/utils.js +1 -1
  2. package/css/Form/Field.js +8 -4
  3. package/css/Form/Form.js +3 -0
  4. package/css/Form/Item.js +1 -1
  5. package/css/Form/index.d.ts +1 -0
  6. package/css/Form/inputable.js +1 -1
  7. package/css/Pagination/Jumper.js +3 -0
  8. package/css/index.d.ts +1 -1
  9. package/css/index.js +1 -1
  10. package/dist/shineout.js +24 -14
  11. package/dist/shineout.js.map +1 -1
  12. package/dist/shineout.min.js +1 -1
  13. package/es/Alert/index.js +127 -107
  14. package/es/Alert/styles/index.js +3 -4
  15. package/es/AnimationList/AbsoluteList.js +257 -193
  16. package/es/AnimationList/LazyList.js +120 -92
  17. package/es/AnimationList/List.js +43 -23
  18. package/es/AnimationList/index.js +19 -14
  19. package/es/AnimationList/styles/index.js +3 -4
  20. package/es/Breadcrumb/index.js +77 -69
  21. package/es/Breadcrumb/styles/index.js +3 -4
  22. package/es/Button/Button.js +91 -74
  23. package/es/Button/Group.js +42 -28
  24. package/es/Button/Once.js +39 -23
  25. package/es/Button/index.js +7 -10
  26. package/es/Button/styles/index.js +3 -4
  27. package/es/Card/Accordion.js +58 -45
  28. package/es/Card/Body.js +55 -42
  29. package/es/Card/Card.js +85 -79
  30. package/es/Card/Footer.js +38 -15
  31. package/es/Card/Header.js +52 -34
  32. package/es/Card/Submit.js +51 -33
  33. package/es/Card/context.js +22 -16
  34. package/es/Card/index.js +16 -19
  35. package/es/Card/styles/index.js +3 -4
  36. package/es/CardGroup/CardGroup.js +93 -69
  37. package/es/CardGroup/Item.js +61 -43
  38. package/es/CardGroup/context.js +12 -10
  39. package/es/CardGroup/index.js +7 -10
  40. package/es/CardGroup/styles/index.js +3 -4
  41. package/es/Carousel/Item.js +31 -17
  42. package/es/Carousel/index.js +156 -123
  43. package/es/Carousel/styles/index.js +3 -4
  44. package/es/Cascader/Cascader.js +397 -346
  45. package/es/Cascader/FilterList.js +185 -142
  46. package/es/Cascader/Input.js +102 -79
  47. package/es/Cascader/List.js +66 -41
  48. package/es/Cascader/Node.js +153 -110
  49. package/es/Cascader/Result.js +289 -232
  50. package/es/Cascader/filter.js +92 -61
  51. package/es/Cascader/index.js +13 -18
  52. package/es/Cascader/styles/index.js +3 -4
  53. package/es/Checkbox/CheckItem.js +168 -154
  54. package/es/Checkbox/Checkbox.js +2 -3
  55. package/es/Checkbox/Group.js +106 -85
  56. package/es/Checkbox/context.js +12 -10
  57. package/es/Checkbox/index.js +14 -21
  58. package/es/Checkbox/styles/index.js +3 -4
  59. package/es/DataList/BaseItem.js +39 -21
  60. package/es/DataList/Extra.js +33 -17
  61. package/es/DataList/List.js +166 -140
  62. package/es/DataList/Meta.js +109 -74
  63. package/es/DataList/Pagination.js +9 -10
  64. package/es/DataList/index.js +13 -19
  65. package/es/DataList/styles/index.js +3 -4
  66. package/es/DatePicker/Container.js +468 -449
  67. package/es/DatePicker/Day.js +265 -258
  68. package/es/DatePicker/Icon.js +34 -20
  69. package/es/DatePicker/Month.js +101 -79
  70. package/es/DatePicker/Picker.js +110 -83
  71. package/es/DatePicker/Quick.js +52 -39
  72. package/es/DatePicker/Range.js +241 -192
  73. package/es/DatePicker/Text.js +103 -91
  74. package/es/DatePicker/Time.js +165 -147
  75. package/es/DatePicker/TimeScroll.js +148 -116
  76. package/es/DatePicker/Year.js +74 -53
  77. package/es/DatePicker/index.js +16 -18
  78. package/es/DatePicker/paramUtils.js +92 -58
  79. package/es/DatePicker/styles/index.js +3 -4
  80. package/es/DatePicker/utils.js +189 -198
  81. package/es/DatePicker/value.js +139 -98
  82. package/es/Datum/Form.js +333 -282
  83. package/es/Datum/List.js +319 -201
  84. package/es/Datum/Tree.js +298 -239
  85. package/es/Datum/hoc.js +104 -69
  86. package/es/Datum/index.js +7 -8
  87. package/es/Datum/types.js +20 -25
  88. package/es/Divider/index.js +50 -32
  89. package/es/Divider/styles/index.js +3 -4
  90. package/es/Drawer/index.js +14 -9
  91. package/es/Dropdown/Item.js +56 -43
  92. package/es/Dropdown/index.js +273 -259
  93. package/es/Dropdown/styles/index.js +3 -4
  94. package/es/EditableArea/EditableArea.js +157 -136
  95. package/es/EditableArea/index.js +8 -15
  96. package/es/EditableArea/styles/index.js +3 -4
  97. package/es/Form/Block.js +83 -57
  98. package/es/Form/BlockField.js +32 -17
  99. package/es/Form/Field.js +59 -35
  100. package/es/Form/FieldError.js +27 -21
  101. package/es/Form/FieldSet.js +214 -156
  102. package/es/Form/Flow.js +51 -32
  103. package/es/Form/Form.js +181 -144
  104. package/es/Form/Item.js +181 -166
  105. package/es/Form/Loop.js +202 -146
  106. package/es/Form/formButton.js +58 -42
  107. package/es/Form/formContext.js +104 -95
  108. package/es/Form/index.d.ts +1 -0
  109. package/es/Form/index.js +40 -45
  110. package/es/Form/inputable.js +368 -292
  111. package/es/Form/mode.js +15 -9
  112. package/es/Form/styles/index.js +4 -5
  113. package/es/Gap/index.js +71 -47
  114. package/es/Gap/styles/index.js +3 -4
  115. package/es/Gap/support.js +11 -14
  116. package/es/Grid/index.js +88 -58
  117. package/es/Grid/utils.js +57 -58
  118. package/es/Icon/Icon.js +43 -42
  119. package/es/Icon/index.js +39 -22
  120. package/es/Icon/styles/index.js +3 -4
  121. package/es/Image/Gallery.js +128 -113
  122. package/es/Image/Group.js +60 -36
  123. package/es/Image/Image.js +227 -153
  124. package/es/Image/Magnify.js +123 -94
  125. package/es/Image/events.js +29 -26
  126. package/es/Image/index.js +6 -9
  127. package/es/Image/styles/index.js +3 -4
  128. package/es/Input/Group.js +17 -11
  129. package/es/Input/Input.js +158 -134
  130. package/es/Input/Number.js +199 -175
  131. package/es/Input/Password.js +54 -31
  132. package/es/Input/clear.js +41 -25
  133. package/es/Input/index.js +23 -35
  134. package/es/Input/styles/index.js +3 -4
  135. package/es/Lazyload/index.js +63 -42
  136. package/es/Lazyload/styles/index.js +3 -4
  137. package/es/Menu/Item.js +275 -236
  138. package/es/Menu/List.js +75 -67
  139. package/es/Menu/Root.js +372 -334
  140. package/es/Menu/context.js +18 -12
  141. package/es/Menu/index.js +3 -5
  142. package/es/Menu/styles/index.js +3 -4
  143. package/es/Message/Container.js +155 -119
  144. package/es/Message/index.js +42 -30
  145. package/es/Message/messager.js +29 -33
  146. package/es/Message/styles/index.js +3 -4
  147. package/es/Modal/Modal.js +80 -60
  148. package/es/Modal/Panel.js +258 -234
  149. package/es/Modal/context.js +15 -15
  150. package/es/Modal/events.js +213 -182
  151. package/es/Modal/index.js +12 -14
  152. package/es/Modal/styles/index.js +3 -4
  153. package/es/Pagination/Item.js +46 -32
  154. package/es/Pagination/Jumper.js +79 -66
  155. package/es/Pagination/Links.js +110 -82
  156. package/es/Pagination/Next.js +52 -31
  157. package/es/Pagination/PageSizeList.js +57 -40
  158. package/es/Pagination/Pagination.js +78 -54
  159. package/es/Pagination/Prev.js +49 -30
  160. package/es/Pagination/Simple.js +32 -18
  161. package/es/Pagination/index.js +68 -41
  162. package/es/Pagination/styles/index.js +3 -4
  163. package/es/Popover/Confirm.js +107 -64
  164. package/es/Popover/Panel.js +284 -231
  165. package/es/Popover/context.js +15 -12
  166. package/es/Popover/events.js +80 -86
  167. package/es/Popover/index.js +12 -14
  168. package/es/Popover/styles/index.js +3 -4
  169. package/es/Progress/Circle.js +70 -59
  170. package/es/Progress/Line.js +51 -39
  171. package/es/Progress/Popup.js +42 -24
  172. package/es/Progress/analyzeColor.js +18 -9
  173. package/es/Progress/index.js +13 -15
  174. package/es/Progress/styles/index.js +3 -4
  175. package/es/Radio/Group.js +105 -94
  176. package/es/Radio/Radio.js +2 -3
  177. package/es/Radio/index.js +15 -17
  178. package/es/Radio/styles/index.js +1 -1
  179. package/es/Rate/Rate.js +216 -167
  180. package/es/Rate/index.js +17 -10
  181. package/es/Rate/styles/index.js +3 -4
  182. package/es/Rule/convert.js +48 -57
  183. package/es/Rule/index.js +63 -40
  184. package/es/Rule/length.js +53 -38
  185. package/es/Rule/regExp.js +23 -14
  186. package/es/Rule/required.js +26 -18
  187. package/es/Rule/styles/index.js +1 -1
  188. package/es/Rule/type.js +26 -18
  189. package/es/Scroll/Bar.js +145 -117
  190. package/es/Scroll/Scroll.js +277 -217
  191. package/es/Scroll/context.js +20 -13
  192. package/es/Scroll/fixedLength.js +33 -24
  193. package/es/Scroll/index.js +89 -55
  194. package/es/Scroll/styles/index.js +3 -4
  195. package/es/Select/BoxList.js +218 -189
  196. package/es/Select/BoxOption.js +64 -38
  197. package/es/Select/FlexBox.js +107 -75
  198. package/es/Select/FlexResult.js +65 -49
  199. package/es/Select/Input.js +137 -113
  200. package/es/Select/More.js +124 -121
  201. package/es/Select/Option.js +73 -52
  202. package/es/Select/OptionList.js +236 -200
  203. package/es/Select/OptionTree.js +111 -96
  204. package/es/Select/Result.js +297 -271
  205. package/es/Select/Select.js +517 -491
  206. package/es/Select/filter.js +221 -148
  207. package/es/Select/group.js +74 -45
  208. package/es/Select/index.js +32 -31
  209. package/es/Select/styles/index.js +3 -4
  210. package/es/Slider/Container.js +145 -132
  211. package/es/Slider/Indicator.js +28 -13
  212. package/es/Slider/Slider.js +132 -103
  213. package/es/Slider/index.js +5 -8
  214. package/es/Slider/styles/index.js +3 -4
  215. package/es/Slider/utils.js +26 -30
  216. package/es/Spin/Multiple.js +153 -109
  217. package/es/Spin/Simple.js +33 -22
  218. package/es/Spin/Spin.js +29 -29
  219. package/es/Spin/index.js +66 -84
  220. package/es/Spin/styles/index.js +27 -30
  221. package/es/Sticky/context.js +12 -10
  222. package/es/Sticky/index.js +255 -194
  223. package/es/Sticky/styles/index.js +1 -1
  224. package/es/Switch/Switch.js +2 -3
  225. package/es/Switch/index.js +8 -14
  226. package/es/Table/Checkbox.js +68 -39
  227. package/es/Table/CheckboxAll.js +121 -64
  228. package/es/Table/Colgroup.js +72 -47
  229. package/es/Table/Expand.js +63 -43
  230. package/es/Table/SeperateTable.js +594 -444
  231. package/es/Table/SimpleTable.js +215 -136
  232. package/es/Table/Sorter.js +83 -62
  233. package/es/Table/Table.js +157 -157
  234. package/es/Table/Tbody.js +240 -176
  235. package/es/Table/Td.js +169 -130
  236. package/es/Table/Thead.js +206 -177
  237. package/es/Table/Tr.js +249 -205
  238. package/es/Table/TreeExpand.js +151 -116
  239. package/es/Table/context.js +15 -15
  240. package/es/Table/fixedAuto.js +82 -59
  241. package/es/Table/index.js +309 -228
  242. package/es/Table/resizable.js +89 -56
  243. package/es/Table/select.js +238 -215
  244. package/es/Table/styles/index.js +3 -4
  245. package/es/Tabs/Header.js +203 -160
  246. package/es/Tabs/Link.js +46 -28
  247. package/es/Tabs/Panel.js +49 -33
  248. package/es/Tabs/Tab.js +97 -79
  249. package/es/Tabs/Tabs.js +211 -177
  250. package/es/Tabs/Wrapper.js +37 -17
  251. package/es/Tabs/index.js +7 -10
  252. package/es/Tabs/styles/index.js +3 -4
  253. package/es/Tag/Input.js +70 -54
  254. package/es/Tag/Tag.js +198 -156
  255. package/es/Tag/index.js +5 -8
  256. package/es/Tag/styles/index.js +3 -4
  257. package/es/Textarea/Textarea.js +139 -118
  258. package/es/Textarea/index.js +10 -19
  259. package/es/Tooltip/Container.js +140 -127
  260. package/es/Tooltip/events.js +49 -55
  261. package/es/Tooltip/index.js +5 -8
  262. package/es/Tooltip/styles/index.js +3 -4
  263. package/es/Transfer/Card.js +212 -177
  264. package/es/Transfer/Transfer.js +160 -153
  265. package/es/Transfer/btns.js +97 -80
  266. package/es/Transfer/context.js +2 -3
  267. package/es/Transfer/filter.js +65 -35
  268. package/es/Transfer/index.js +9 -13
  269. package/es/Transfer/item.js +66 -41
  270. package/es/Transfer/select.js +15 -16
  271. package/es/Transfer/styles/index.js +3 -4
  272. package/es/Tree/Checkbox.js +72 -50
  273. package/es/Tree/Content.js +136 -95
  274. package/es/Tree/List.js +82 -53
  275. package/es/Tree/Node.js +237 -202
  276. package/es/Tree/Root.js +23 -19
  277. package/es/Tree/Tree.js +262 -197
  278. package/es/Tree/index.js +6 -9
  279. package/es/Tree/styles/index.js +3 -4
  280. package/es/Tree/toggle.js +89 -51
  281. package/es/TreeSelect/Input.js +73 -60
  282. package/es/TreeSelect/Result.js +213 -181
  283. package/es/TreeSelect/TreeSelect.js +327 -312
  284. package/es/TreeSelect/datum.js +56 -44
  285. package/es/TreeSelect/filter.js +134 -96
  286. package/es/TreeSelect/index.js +15 -23
  287. package/es/TreeSelect/styles/index.js +3 -4
  288. package/es/TreeSelect/tiled.js +143 -106
  289. package/es/Upload/Dragger.js +63 -39
  290. package/es/Upload/Drop.js +79 -57
  291. package/es/Upload/File.js +61 -48
  292. package/es/Upload/FileInput.js +53 -40
  293. package/es/Upload/Image.js +158 -115
  294. package/es/Upload/ImageFile.js +63 -43
  295. package/es/Upload/ImageResult.js +139 -114
  296. package/es/Upload/Progress.js +117 -105
  297. package/es/Upload/RemoveConfirm.js +58 -42
  298. package/es/Upload/Result.js +73 -58
  299. package/es/Upload/Upload.js +649 -490
  300. package/es/Upload/accept.js +33 -13
  301. package/es/Upload/context.js +12 -10
  302. package/es/Upload/index.js +16 -20
  303. package/es/Upload/request.js +48 -46
  304. package/es/Upload/styles/index.js +3 -4
  305. package/es/component.js +45 -24
  306. package/es/config.js +27 -19
  307. package/es/context/implementation.js +132 -94
  308. package/es/context/index.js +3 -4
  309. package/es/hoc/coin.js +118 -81
  310. package/es/hoc/config.js +31 -17
  311. package/es/hoc/delay.js +99 -55
  312. package/es/hoc/draggable.js +90 -80
  313. package/es/hoc/fetch.js +56 -33
  314. package/es/hoc/hidable.js +119 -98
  315. package/es/hoc/inputBorder.js +158 -158
  316. package/es/hoc/moveable.js +124 -96
  317. package/es/hoc/pagable.js +74 -55
  318. package/es/hoc/resizable.js +132 -100
  319. package/es/hoc/styles/index.js +7 -8
  320. package/es/hoc/trim.js +54 -32
  321. package/es/icons/Caret.js +14 -15
  322. package/es/icons/index.js +31 -85
  323. package/es/index.d.ts +1 -1
  324. package/es/index.js +58 -57
  325. package/es/locale/en_US.js +9 -30
  326. package/es/locale/index.js +13 -14
  327. package/es/locale/zh-CN.js +9 -17
  328. package/es/styles/expose.js +3 -4
  329. package/es/styles/index.js +1 -1
  330. package/es/utils/accept.js +15 -12
  331. package/es/utils/classname.js +23 -12
  332. package/es/utils/cleanProps.js +9 -21
  333. package/es/utils/clone.js +34 -27
  334. package/es/utils/color.js +310 -276
  335. package/es/utils/css-accessors.js +94 -45
  336. package/es/utils/dom/detect.js +29 -29
  337. package/es/utils/dom/document.js +23 -19
  338. package/es/utils/dom/element.js +139 -105
  339. package/es/utils/dom/getDataset.js +9 -9
  340. package/es/utils/dom/isDOMElement.js +3 -5
  341. package/es/utils/dom/normalizeWheel.js +32 -28
  342. package/es/utils/dom/popContainer.js +12 -13
  343. package/es/utils/dom/popover.js +79 -59
  344. package/es/utils/dom/ready.js +5 -6
  345. package/es/utils/dom/translate.js +10 -12
  346. package/es/utils/errors.js +47 -28
  347. package/es/utils/expose.js +97 -58
  348. package/es/utils/flat.js +122 -107
  349. package/es/utils/func.js +38 -20
  350. package/es/utils/hash.js +24 -20
  351. package/es/utils/index.js +24 -49
  352. package/es/utils/is.js +91 -70
  353. package/es/utils/lazyload.js +104 -86
  354. package/es/utils/notification.js +34 -20
  355. package/es/utils/numbers.js +61 -51
  356. package/es/utils/objects.js +221 -140
  357. package/es/utils/proptypes.js +21 -34
  358. package/es/utils/shallowEqual.js +46 -42
  359. package/es/utils/strings.js +50 -32
  360. package/es/utils/transform.js +24 -9
  361. package/es/utils/tree.js +78 -63
  362. package/es/utils/uid.js +14 -17
  363. package/es/utils/validate/index.js +71 -50
  364. package/es/utils/validate/isJson.js +7 -10
  365. package/es/utils/validate/nullable.js +10 -9
  366. package/es/utils/validate/range.js +22 -19
  367. package/es/utils/validate/rangeLength.js +19 -16
  368. package/es/utils/validate/regExp.js +10 -10
  369. package/es/utils/validate/required.js +11 -8
  370. package/es/utils/validate/type.js +56 -59
  371. package/es/utils/vars-inject.js +3420 -4248
  372. package/lib/DatePicker/utils.js +1 -1
  373. package/lib/Form/Field.js +8 -4
  374. package/lib/Form/Form.js +3 -0
  375. package/lib/Form/Item.js +1 -1
  376. package/lib/Form/index.d.ts +1 -0
  377. package/lib/Form/inputable.js +1 -1
  378. package/lib/Pagination/Jumper.js +3 -0
  379. package/lib/index.d.ts +1 -1
  380. package/lib/index.js +1 -1
  381. package/package.json +3 -2
package/es/Table/Tbody.js CHANGED
@@ -1,225 +1,291 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
- import immer from 'immer'
4
- import { PureComponent } from '../component'
5
- import { getProps } from '../utils/proptypes'
6
- import { compareColumns } from '../utils/shallowEqual'
7
- import { getKey } from '../utils/uid'
8
- import Tr from './Tr'
9
- import { tableClass } from './styles'
10
-
11
- export const RENDER_COL_GROUP_EVENT = 'RENDER_COL_GROUP_EVENT'
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
4
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
5
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
6
+ import React from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import immer from 'immer';
9
+ import { PureComponent } from '../component';
10
+ import { getProps } from '../utils/proptypes';
11
+ import { compareColumns } from '../utils/shallowEqual';
12
+ import { getKey } from '../utils/uid';
13
+ import Tr from './Tr';
14
+ import { tableClass } from './styles';
15
+ export var RENDER_COL_GROUP_EVENT = 'RENDER_COL_GROUP_EVENT';
12
16
 
13
17
  function ignoreBorderRight(rows) {
14
- rows.forEach(row => {
15
- const lastColumn = row[row.length - 1]
18
+ rows.forEach(function (row) {
19
+ var lastColumn = row[row.length - 1];
20
+
16
21
  if (lastColumn) {
17
- lastColumn.ignoreBorderRight = true
22
+ lastColumn.ignoreBorderRight = true;
18
23
  }
19
- })
24
+ });
20
25
  }
21
26
 
22
27
  function format(columns, data, nextRow, index, expandKeys) {
23
- const row = columns.map((col, i) => {
24
- const cell = { index, data, expandKeys }
25
- cell.colSpan = typeof col.colSpan === 'function' ? col.colSpan(data, index) : 1
26
- if (cell.colSpan < 1) cell.colSpan = 1
28
+ var row = columns.map(function (col, i) {
29
+ var cell = {
30
+ index: index,
31
+ data: data,
32
+ expandKeys: expandKeys
33
+ };
34
+ cell.colSpan = typeof col.colSpan === 'function' ? col.colSpan(data, index) : 1;
35
+ if (cell.colSpan < 1) cell.colSpan = 1;
36
+ var rowSpan = col.rowSpan;
27
37
 
28
- const { rowSpan } = col
29
38
  if (rowSpan && nextRow) {
30
39
  if (col.type !== 'checkbox') {
31
- cell.content = typeof col.render === 'string' ? data[col.render] : col.render(data, index)
40
+ cell.content = typeof col.render === 'string' ? data[col.render] : col.render(data, index);
32
41
  }
33
- const isEqual =
34
- rowSpan === true
35
- ? cell.content === nextRow[i].content
36
- : typeof rowSpan === 'function' && rowSpan(data, nextRow[i].data)
37
42
 
38
- const nextTd = nextRow[i]
43
+ var isEqual = rowSpan === true ? cell.content === nextRow[i].content : typeof rowSpan === 'function' && rowSpan(data, nextRow[i].data);
44
+ var nextTd = nextRow[i];
45
+
39
46
  if (isEqual && nextTd.colSpan === cell.colSpan) {
40
- cell.rowSpan = (nextTd.rowSpan || 1) + 1
41
- let j = cell.colSpan || 1
47
+ cell.rowSpan = (nextTd.rowSpan || 1) + 1;
48
+ var j = cell.colSpan || 1;
49
+
42
50
  while (j) {
43
- j -= 1
44
- nextRow[i + j] = null
51
+ j -= 1;
52
+ nextRow[i + j] = null;
45
53
  }
46
54
  }
47
55
  }
48
56
 
49
- return cell
50
- })
51
-
52
- return row
57
+ return cell;
58
+ });
59
+ return row;
53
60
  }
54
61
 
55
- class Tbody extends PureComponent {
56
- constructor(props) {
57
- super(props)
62
+ var Tbody =
63
+ /*#__PURE__*/
64
+ function (_PureComponent) {
65
+ _inheritsLoose(Tbody, _PureComponent);
58
66
 
59
- this.state = {
60
- expand: {},
61
- }
67
+ function Tbody(props) {
68
+ var _this;
62
69
 
63
- this.bodyRender = this.bodyRender.bind(this)
64
- this.bindBody = this.bindBody.bind(this)
65
- this.renderTr = this.renderTr.bind(this)
66
- this.handleExpand = this.handleExpand.bind(this)
67
- this.findExpandFunc = this.findExpandFunc.bind(this)
70
+ _this = _PureComponent.call(this, props) || this;
71
+ _this.state = {
72
+ expand: {}
73
+ };
74
+ _this.bodyRender = _this.bodyRender.bind(_assertThisInitialized(_assertThisInitialized(_this)));
75
+ _this.bindBody = _this.bindBody.bind(_assertThisInitialized(_assertThisInitialized(_this)));
76
+ _this.renderTr = _this.renderTr.bind(_assertThisInitialized(_assertThisInitialized(_this)));
77
+ _this.handleExpand = _this.handleExpand.bind(_assertThisInitialized(_assertThisInitialized(_this)));
78
+ _this.findExpandFunc = _this.findExpandFunc.bind(_assertThisInitialized(_assertThisInitialized(_this)));
79
+ return _this;
68
80
  }
69
81
 
70
- componentDidMount() {
71
- super.componentDidMount()
72
- this.bodyRender()
73
- }
82
+ var _proto = Tbody.prototype;
83
+
84
+ _proto.componentDidMount = function componentDidMount() {
85
+ _PureComponent.prototype.componentDidMount.call(this);
86
+
87
+ this.bodyRender();
88
+ };
89
+
90
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
91
+ var _this2 = this;
92
+
93
+ var _this$props = this.props,
94
+ onScrollTop = _this$props.onScrollTop,
95
+ data = _this$props.data;
96
+ if (onScrollTop && prevProps.data.length && data.length === 0) onScrollTop();
74
97
 
75
- componentDidUpdate(prevProps) {
76
- const { onScrollTop, data } = this.props
77
- if (onScrollTop && prevProps.data.length && data.length === 0) onScrollTop()
78
98
  if (this.props.resize || !this.colgroupSetted || !compareColumns(prevProps.columns, this.props.columns)) {
79
- setTimeout(() => {
80
- this.bodyRender()
81
- })
99
+ setTimeout(function () {
100
+ _this2.bodyRender();
101
+ });
82
102
  }
83
- }
103
+ };
104
+
105
+ _proto.bodyRender = function bodyRender() {
106
+ var _this$props2 = this.props,
107
+ onBodyRender = _this$props2.onBodyRender,
108
+ datum = _this$props2.datum;
109
+ if (!onBodyRender || !this.body) return;
110
+ datum.unsubscribe(RENDER_COL_GROUP_EVENT, this.bodyRender);
84
111
 
85
- bodyRender() {
86
- const { onBodyRender, datum } = this.props
87
- if (!onBodyRender || !this.body) return
88
- datum.unsubscribe(RENDER_COL_GROUP_EVENT, this.bodyRender)
89
112
  if (this.body.clientHeight === 0) {
90
- datum.subscribe(RENDER_COL_GROUP_EVENT, this.bodyRender)
91
- return
113
+ datum.subscribe(RENDER_COL_GROUP_EVENT, this.bodyRender);
114
+ return;
92
115
  }
93
- const tr = this.body.querySelector('tr')
94
- if (!tr) return
95
- this.colgroupSetted = true
96
- onBodyRender(tr.querySelectorAll('td'))
97
- }
98
116
 
99
- bindBody(el) {
100
- this.body = el
101
- }
117
+ var tr = this.body.querySelector('tr');
118
+ if (!tr) return;
119
+ this.colgroupSetted = true;
120
+ onBodyRender(tr.querySelectorAll('td'));
121
+ };
102
122
 
103
- handleExpand(key, render) {
104
- this.setState(
105
- immer(draft => {
106
- if (render) draft.expand[key] = render
107
- else delete draft.expand[key]
108
- })
109
- )
110
- }
123
+ _proto.bindBody = function bindBody(el) {
124
+ this.body = el;
125
+ };
126
+
127
+ _proto.handleExpand = function handleExpand(key, render) {
128
+ this.setState(immer(function (draft) {
129
+ if (render) draft.expand[key] = render;else delete draft.expand[key];
130
+ }));
131
+ };
132
+
133
+ _proto.findExpandFunc = function findExpandFunc(key, i) {
134
+ var _this$props3 = this.props,
135
+ columns = _this$props3.columns,
136
+ expandKeys = _this$props3.expandKeys,
137
+ data = _this$props3.data,
138
+ externalExpandRender = _this$props3.externalExpandRender,
139
+ index = _this$props3.index;
140
+ var expandableObj = columns.find(function (c) {
141
+ return c.type === 'expand' || c.type === 'row-expand';
142
+ });
143
+ var idx = i + index;
111
144
 
112
- findExpandFunc(key, i) {
113
- const { columns, expandKeys, data, externalExpandRender, index } = this.props
114
- const expandableObj = columns.find(c => c.type === 'expand' || c.type === 'row-expand')
115
- const idx = i + index
116
145
  if (expandKeys) {
117
- const expanded = expandKeys.find(k => k === key)
118
- if (externalExpandRender) return expanded !== undefined ? externalExpandRender(data[i], idx) : undefined
119
- const expandObj = expanded !== undefined ? expandableObj : {}
120
- return expandObj.render ? expandObj.render(data[i], idx) : undefined
146
+ var expanded = expandKeys.find(function (k) {
147
+ return k === key;
148
+ });
149
+ if (externalExpandRender) return expanded !== undefined ? externalExpandRender(data[i], idx) : undefined;
150
+ var expandObj = expanded !== undefined ? expandableObj : {};
151
+ return expandObj.render ? expandObj.render(data[i], idx) : undefined;
121
152
  }
153
+
122
154
  if (this.state.expand[key]) {
123
- if (externalExpandRender) return externalExpandRender(data[i], idx)
124
- return expandableObj.render ? expandableObj.render(data[i], idx) : undefined
155
+ if (externalExpandRender) return externalExpandRender(data[i], idx);
156
+ return expandableObj.render ? expandableObj.render(data[i], idx) : undefined;
125
157
  }
126
- return undefined
127
- }
128
158
 
129
- renderTr(row, i) {
130
- const { columns, keygen, data, sorter, index, expandKeys, colgroup, ...other } = this.props
159
+ return undefined;
160
+ };
161
+
162
+ _proto.renderTr = function renderTr(row, i) {
163
+ var _this$props4 = this.props,
164
+ columns = _this$props4.columns,
165
+ keygen = _this$props4.keygen,
166
+ data = _this$props4.data,
167
+ sorter = _this$props4.sorter,
168
+ index = _this$props4.index,
169
+ expandKeys = _this$props4.expandKeys,
170
+ colgroup = _this$props4.colgroup,
171
+ other = _objectWithoutPropertiesLoose(_this$props4, ["columns", "keygen", "data", "sorter", "index", "expandKeys", "colgroup"]);
172
+
173
+ var key = getKey(data[i], keygen, index + i);
131
174
 
132
- let key = getKey(data[i], keygen, index + i)
133
175
  if (this.keys[key]) {
134
- const converted = `${key}-${index + i}`
135
- console.warn(
136
- `Tr has same key: (${key}). Already converted with (${converted}), Please check the 'keygen' property.`
137
- )
138
- key = converted
176
+ var converted = key + "-" + (index + i);
177
+ console.warn("Tr has same key: (" + key + "). Already converted with (" + converted + "), Please check the 'keygen' property.");
178
+ key = converted;
139
179
  }
140
- this.keys[key] = true
141
- const originKey = key
180
+
181
+ this.keys[key] = true;
182
+ var originKey = key;
183
+
142
184
  if (sorter && sorter.order) {
143
- key = `${key}-${sorter.index}-${sorter.order}`
185
+ key = key + "-" + sorter.index + "-" + sorter.order;
144
186
  }
145
- return (
146
- <Tr
147
- {...other}
148
- index={i + index}
149
- key={key}
150
- originKey={originKey}
151
- data={row}
152
- rowData={data[i]}
153
- columns={columns}
154
- rowKey={key}
155
- onExpand={this.handleExpand}
156
- expandRender={this.findExpandFunc(originKey, i)}
157
- />
158
- )
159
- }
160
187
 
161
- renderPlaceholderTr() {
162
- const { columns, data } = this.props
163
- return (
164
- <tr className={tableClass('placeholder-tr')} key={`so-placeholder-${new Date().getTime()}`}>
165
- {columns.map((v, i) => {
166
- if (!v) return <td key={i} />
167
- if (v.minWidth) {
168
- return (
169
- <td key={i} style={{ padding: 0, border: 'none' }}>
170
- <div style={{ width: v.minWidth }}>
171
- {v.title && typeof v.title === 'function' ? v.title(data) : v.title}
172
- </div>
173
- </td>
174
- )
175
- }
176
- if (v.title) {
177
- return (
178
- <td key={i}>
179
- <div>{typeof v.title === 'function' ? v.title(data) : v.title}</div>
180
- </td>
181
- )
188
+ return React.createElement(Tr, _extends({}, other, {
189
+ index: i + index,
190
+ key: key,
191
+ originKey: originKey,
192
+ data: row,
193
+ rowData: data[i],
194
+ columns: columns,
195
+ rowKey: key,
196
+ onExpand: this.handleExpand,
197
+ expandRender: this.findExpandFunc(originKey, i)
198
+ }));
199
+ };
200
+
201
+ _proto.renderPlaceholderTr = function renderPlaceholderTr() {
202
+ var _this$props5 = this.props,
203
+ columns = _this$props5.columns,
204
+ data = _this$props5.data;
205
+ return React.createElement("tr", {
206
+ className: tableClass('placeholder-tr'),
207
+ key: "so-placeholder-" + new Date().getTime()
208
+ }, columns.map(function (v, i) {
209
+ if (!v) return React.createElement("td", {
210
+ key: i
211
+ });
212
+
213
+ if (v.minWidth) {
214
+ return React.createElement("td", {
215
+ key: i,
216
+ style: {
217
+ padding: 0,
218
+ border: 'none'
182
219
  }
183
- if (v.type === 'checkbox' || v.type === 'expand' || v.type === 'row-expand') {
184
- return <td key={i} className={tableClass('placeholder-checkbox')} />
220
+ }, React.createElement("div", {
221
+ style: {
222
+ width: v.minWidth
185
223
  }
186
- return <td key={i} />
187
- })}
188
- </tr>
189
- )
190
- }
224
+ }, v.title && typeof v.title === 'function' ? v.title(data) : v.title));
225
+ }
191
226
 
192
- renderTrs(rows) {
193
- const { columns, colgroup } = this.props
194
- const minWidthSup = columns.find(d => d.minWidth)
195
- const trs = rows.map(this.renderTr)
196
- if (!minWidthSup || colgroup) return trs
197
- return [this.renderPlaceholderTr()].concat(trs)
198
- }
227
+ if (v.title) {
228
+ return React.createElement("td", {
229
+ key: i
230
+ }, React.createElement("div", null, typeof v.title === 'function' ? v.title(data) : v.title));
231
+ }
232
+
233
+ if (v.type === 'checkbox' || v.type === 'expand' || v.type === 'row-expand') {
234
+ return React.createElement("td", {
235
+ key: i,
236
+ className: tableClass('placeholder-checkbox')
237
+ });
238
+ }
199
239
 
200
- render() {
201
- const { index, data, columns, expandKeys, bordered } = this.props
202
- const rows = []
203
- for (let i = data.length - 1; i >= 0; i--) {
204
- const d = data[i]
205
- rows.unshift(
206
- format(columns, d, rows[0], index + i, expandKeys).map(col => {
207
- delete col.content
208
- return col
209
- })
210
- )
240
+ return React.createElement("td", {
241
+ key: i
242
+ });
243
+ }));
244
+ };
245
+
246
+ _proto.renderTrs = function renderTrs(rows) {
247
+ var _this$props6 = this.props,
248
+ columns = _this$props6.columns,
249
+ colgroup = _this$props6.colgroup;
250
+ var minWidthSup = columns.find(function (d) {
251
+ return d.minWidth;
252
+ });
253
+ var trs = rows.map(this.renderTr);
254
+ if (!minWidthSup || colgroup) return trs;
255
+ return [this.renderPlaceholderTr()].concat(trs);
256
+ };
257
+
258
+ _proto.render = function render() {
259
+ var _this$props7 = this.props,
260
+ index = _this$props7.index,
261
+ data = _this$props7.data,
262
+ columns = _this$props7.columns,
263
+ expandKeys = _this$props7.expandKeys,
264
+ bordered = _this$props7.bordered;
265
+ var rows = [];
266
+
267
+ for (var i = data.length - 1; i >= 0; i--) {
268
+ var d = data[i];
269
+ rows.unshift(format(columns, d, rows[0], index + i, expandKeys).map(function (col) {
270
+ delete col.content;
271
+ return col;
272
+ }));
211
273
  }
212
274
 
213
275
  if (rows.length > 0 && bordered) {
214
- ignoreBorderRight(rows)
276
+ ignoreBorderRight(rows);
215
277
  }
216
- this.keys = {}
217
- return <tbody ref={this.bindBody}>{this.renderTrs(rows)}</tbody>
218
- }
219
- }
220
278
 
221
- Tbody.propTypes = {
222
- ...getProps(PropTypes, 'keygen'),
279
+ this.keys = {};
280
+ return React.createElement("tbody", {
281
+ ref: this.bindBody
282
+ }, this.renderTrs(rows));
283
+ };
284
+
285
+ return Tbody;
286
+ }(PureComponent);
287
+
288
+ Tbody.propTypes = _objectSpread({}, getProps(PropTypes, 'keygen'), {
223
289
  columns: PropTypes.array.isRequired,
224
290
  data: PropTypes.array.isRequired,
225
291
  index: PropTypes.number.isRequired,
@@ -228,11 +294,9 @@ Tbody.propTypes = {
228
294
  onBodyRender: PropTypes.func,
229
295
  values: PropTypes.object,
230
296
  bordered: PropTypes.bool,
231
- externalExpandRender: PropTypes.func,
232
- }
233
-
297
+ externalExpandRender: PropTypes.func
298
+ });
234
299
  Tbody.defaultProps = {
235
- onBodyRender: undefined,
236
- }
237
-
238
- export default Tbody
300
+ onBodyRender: undefined
301
+ };
302
+ export default Tbody;