@gmfe/table-x 2.14.20 → 2.14.24

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 (44) hide show
  1. package/README.md +13 -13
  2. package/package.json +4 -4
  3. package/src/base/index.js +142 -142
  4. package/src/base/td.js +56 -56
  5. package/src/base/th.js +48 -48
  6. package/src/base/thead.js +26 -26
  7. package/src/base/tr.js +53 -53
  8. package/src/base/virtualized.js +219 -219
  9. package/src/hoc/diy_table_x/components/diy_table_x_modal.js +135 -135
  10. package/src/hoc/diy_table_x/components/modal_list.js +78 -78
  11. package/src/hoc/diy_table_x/components/modal_selector.js +56 -56
  12. package/src/hoc/diy_table_x/index.js +196 -196
  13. package/src/hoc/edit_table_x.js +20 -20
  14. package/src/hoc/expand_table_x/index.js +140 -140
  15. package/src/hoc/expand_table_x/util.js +27 -27
  16. package/src/hoc/fixed_columns_table_x.js +29 -29
  17. package/src/hoc/select_table_x/cell.js +51 -51
  18. package/src/hoc/select_table_x/header.js +28 -28
  19. package/src/hoc/select_table_x/index.js +139 -139
  20. package/src/hoc/select_table_x/util.js +10 -10
  21. package/src/hoc/sortable_table_x.js +52 -52
  22. package/src/hoc/sub_table_x.js +44 -44
  23. package/src/index.js +53 -53
  24. package/src/index.less +515 -515
  25. package/src/stories/table_x.stories.js +324 -324
  26. package/src/stories/table_x_hoc.stories.js +427 -427
  27. package/src/stories/table_x_hoc_select_expand.stories.js +256 -256
  28. package/src/util/batch_action_bar.js +124 -124
  29. package/src/util/edit.js +83 -83
  30. package/src/util/index.js +191 -191
  31. package/src/util/operation.js +249 -249
  32. package/src/util/sort_header.js +49 -49
  33. package/src/variables.less +28 -28
  34. package/svg/business.svg +20 -20
  35. package/svg/check-detail.svg +18 -18
  36. package/svg/closeup.svg +20 -20
  37. package/svg/delete.svg +10 -10
  38. package/svg/edit-pen.svg +17 -17
  39. package/svg/empty.svg +27 -27
  40. package/svg/expand.svg +21 -21
  41. package/svg/pen.svg +12 -12
  42. package/svg/recover.svg +33 -33
  43. package/svg/remove.svg +1 -1
  44. package/svg/setting.svg +17 -17
@@ -1,256 +1,256 @@
1
- import React from 'react'
2
- import { storiesOf } from '@storybook/react'
3
- import { observable } from 'mobx'
4
- import {
5
- selectTableXHOC,
6
- expandTableXHOC,
7
- TableX,
8
- subTableXHOC,
9
- TableXVirtualized,
10
- TableXUtil
11
- } from '../index'
12
-
13
- const { BatchActionBar } = TableXUtil
14
-
15
- const initData = [
16
- {
17
- total_money: 111,
18
- id: 'T5991-JHD-2018-07-25-00027',
19
- sku_money: '2390.00',
20
- supplier_customer_id: 'LDP20180117',
21
- submit_time: '2018-07-25',
22
- status: 2,
23
- supplier_name: '',
24
- date_time: '2018-07-25',
25
- delta_money: 0,
26
- settle_supplier_id: 'T10953',
27
- address: null
28
- },
29
- {
30
- total_money: 176,
31
- id: 'T5991-JHD-2018-07-25-00026',
32
- sku_money: '176.00',
33
- supplier_customer_id: 'A2926',
34
- submit_time: '2018-07-26',
35
- status: 2,
36
- supplier_name: '段虎',
37
- date_time: '2018-07-25',
38
- delta_money: 0,
39
- settle_supplier_id: 'T14319',
40
- address: {
41
- value: 9,
42
- text: '西乡9'
43
- }
44
- },
45
- {
46
- total_money: 279,
47
- id: 'T5991-JHD-2018-07-25-00025',
48
- sku_money: '279.02',
49
- supplier_customer_id: 'sc215',
50
- submit_time: '2018-07-27',
51
- status: 2,
52
- supplier_name: '黑市桥蔬菜批发',
53
- date_time: '2018-07-25',
54
- delta_money: -2.0,
55
- settle_supplier_id: 'T13324',
56
- address: {
57
- value: 4,
58
- text: '宝安'
59
- }
60
- },
61
- {
62
- total_money: 176,
63
- id: 'T5991-JHD-2018-07-25-00024',
64
- sku_money: '279.02',
65
- supplier_customer_id: 'sc215',
66
- submit_time: '2018-07-27',
67
- status: 2,
68
- supplier_name: '黑市桥蔬菜批发',
69
- date_time: '2018-07-25',
70
- delta_money: -2.0,
71
- settle_supplier_id: 'T13324',
72
- address: {
73
- value: 4,
74
- text: '宝安'
75
- }
76
- }
77
- ]
78
-
79
- const columns = [
80
- // 获取索引
81
- {
82
- Header: '序号',
83
- accessor: 'index',
84
- Cell: ({ row }) => row.index + 1
85
- },
86
- // 常规用法
87
- {
88
- Header: '建单时间',
89
- accessor: 'submit_time'
90
- },
91
- // accessor 有点用法
92
- {
93
- Header: '地址',
94
- accessor: 'address.text',
95
- width: 200 // 定宽
96
- },
97
- // accessor 是 func,需要提供 id
98
- {
99
- Header: '供应商信息',
100
- accessor: data => data.supplier_name,
101
- id: 'supplier_name'
102
- },
103
- // 自定义整个单元格
104
- {
105
- Header: '入库金额',
106
- accessor: 'total_money',
107
- Cell: cellProps => {
108
- const { row } = cellProps
109
- return <div>{row.original.total_money}</div>
110
- }
111
- }
112
- ]
113
-
114
- const store = observable({
115
- data: initData.slice(),
116
- selected: [],
117
- setSelected(selected) {
118
- console.log(selected)
119
- this.selected = selected
120
- },
121
- expanded: { 2: true, 3: true },
122
- setExpanded(expanded) {
123
- console.log(expanded)
124
- this.expanded = expanded
125
- }
126
- })
127
-
128
- const SelectTableX = selectTableXHOC(TableX)
129
- const ExpandTableX = expandTableXHOC(TableX)
130
- const SelectExpandTableX = selectTableXHOC(expandTableXHOC(TableX))
131
- const SubSelectTableTableX = selectTableXHOC(subTableXHOC(TableXVirtualized))
132
-
133
- storiesOf('TableX|HOC select expand', module)
134
- .add('select', () => (
135
- <SelectTableX
136
- data={store.data.slice()}
137
- columns={columns}
138
- keyField='id'
139
- selected={store.selected}
140
- onSelect={selected => store.setSelected(selected)}
141
- />
142
- ))
143
- .add('select batchActionBar', () => (
144
- <div style={{ paddingTop: '100px' }}>
145
- <SelectTableX
146
- data={store.data.slice()}
147
- columns={columns}
148
- keyField='id'
149
- selected={store.selected}
150
- onSelect={selected => store.setSelected(selected)}
151
- batchActionBar={
152
- <BatchActionBar
153
- batchActions={[
154
- { name: '批量删除', type: 'delete' },
155
- { name: '批量修改', type: 'edit' },
156
- { name: '批量打印', type: 'business' }
157
- ]}
158
- />
159
- }
160
- />
161
- </div>
162
- ))
163
- .add('fixed select', () => (
164
- <SelectTableX
165
- data={store.data.slice()}
166
- columns={columns}
167
- keyField='id'
168
- selected={store.selected}
169
- onSelect={selected => store.setSelected(selected)}
170
- fixedSelect
171
- />
172
- ))
173
- .add('select radio', () => (
174
- <SelectTableX
175
- selectType='radio'
176
- data={store.data.slice()}
177
- columns={columns}
178
- keyField='id'
179
- selected={store.selected}
180
- onSelect={selected => store.setSelected(selected)}
181
- />
182
- ))
183
- .add('select isSelectorDisable', () => (
184
- <SelectTableX
185
- data={store.data.slice()}
186
- columns={columns}
187
- keyField='id'
188
- selected={store.selected}
189
- onSelect={selected => store.setSelected(selected)}
190
- isSelectorDisable={item => item.total_money === 176}
191
- />
192
- ))
193
- .add('调用方控制的 expand', () => (
194
- <ExpandTableX
195
- data={store.data.slice()}
196
- columns={columns}
197
- expanded={store.expanded}
198
- onExpand={obj => store.setExpanded(obj)}
199
- SubComponent={() => {
200
- return <div style={{ height: '50px' }}>这是是展开的</div>
201
- }}
202
- />
203
- ))
204
- .add('常规的 expand', () => (
205
- <ExpandTableX
206
- data={store.data.slice()}
207
- columns={columns}
208
- SubComponent={() => {
209
- return <div style={{ height: '50px' }}>这是是展开的</div>
210
- }}
211
- />
212
- ))
213
- .add('fixed expand', () => (
214
- <ExpandTableX
215
- data={store.data.slice()}
216
- columns={columns}
217
- SubComponent={() => {
218
- return <div>adsfa</div>
219
- }}
220
- fixedExpand
221
- />
222
- ))
223
- .add('expand select', () => (
224
- <SelectExpandTableX
225
- data={store.data.slice()}
226
- columns={columns}
227
- keyField='id'
228
- selected={store.selected}
229
- onSelect={selected => store.setSelected(selected)}
230
- SubComponent={() => {
231
- return <div>adsfa</div>
232
- }}
233
- />
234
- ))
235
- .add('expand select sub table', () => (
236
- <SelectExpandTableX
237
- data={store.data.slice()}
238
- columns={columns}
239
- keyField='id'
240
- selected={store.selected}
241
- onSelect={selected => store.setSelected(selected)}
242
- SubComponent={() => {
243
- return (
244
- <SubSelectTableTableX
245
- data={store.data.slice()}
246
- columns={columns}
247
- keyField='id'
248
- selected={store.selected}
249
- onSelect={selected => store.setSelected(selected)}
250
- virtualizedHeight={200}
251
- virtualizedItemSize={TableXUtil.TABLE_X.HEIGHT_TR}
252
- />
253
- )
254
- }}
255
- />
256
- ))
1
+ import React from 'react'
2
+ import { storiesOf } from '@storybook/react'
3
+ import { observable } from 'mobx'
4
+ import {
5
+ selectTableXHOC,
6
+ expandTableXHOC,
7
+ TableX,
8
+ subTableXHOC,
9
+ TableXVirtualized,
10
+ TableXUtil
11
+ } from '../index'
12
+
13
+ const { BatchActionBar } = TableXUtil
14
+
15
+ const initData = [
16
+ {
17
+ total_money: 111,
18
+ id: 'T5991-JHD-2018-07-25-00027',
19
+ sku_money: '2390.00',
20
+ supplier_customer_id: 'LDP20180117',
21
+ submit_time: '2018-07-25',
22
+ status: 2,
23
+ supplier_name: '',
24
+ date_time: '2018-07-25',
25
+ delta_money: 0,
26
+ settle_supplier_id: 'T10953',
27
+ address: null
28
+ },
29
+ {
30
+ total_money: 176,
31
+ id: 'T5991-JHD-2018-07-25-00026',
32
+ sku_money: '176.00',
33
+ supplier_customer_id: 'A2926',
34
+ submit_time: '2018-07-26',
35
+ status: 2,
36
+ supplier_name: '段虎',
37
+ date_time: '2018-07-25',
38
+ delta_money: 0,
39
+ settle_supplier_id: 'T14319',
40
+ address: {
41
+ value: 9,
42
+ text: '西乡9'
43
+ }
44
+ },
45
+ {
46
+ total_money: 279,
47
+ id: 'T5991-JHD-2018-07-25-00025',
48
+ sku_money: '279.02',
49
+ supplier_customer_id: 'sc215',
50
+ submit_time: '2018-07-27',
51
+ status: 2,
52
+ supplier_name: '黑市桥蔬菜批发',
53
+ date_time: '2018-07-25',
54
+ delta_money: -2.0,
55
+ settle_supplier_id: 'T13324',
56
+ address: {
57
+ value: 4,
58
+ text: '宝安'
59
+ }
60
+ },
61
+ {
62
+ total_money: 176,
63
+ id: 'T5991-JHD-2018-07-25-00024',
64
+ sku_money: '279.02',
65
+ supplier_customer_id: 'sc215',
66
+ submit_time: '2018-07-27',
67
+ status: 2,
68
+ supplier_name: '黑市桥蔬菜批发',
69
+ date_time: '2018-07-25',
70
+ delta_money: -2.0,
71
+ settle_supplier_id: 'T13324',
72
+ address: {
73
+ value: 4,
74
+ text: '宝安'
75
+ }
76
+ }
77
+ ]
78
+
79
+ const columns = [
80
+ // 获取索引
81
+ {
82
+ Header: '序号',
83
+ accessor: 'index',
84
+ Cell: ({ row }) => row.index + 1
85
+ },
86
+ // 常规用法
87
+ {
88
+ Header: '建单时间',
89
+ accessor: 'submit_time'
90
+ },
91
+ // accessor 有点用法
92
+ {
93
+ Header: '地址',
94
+ accessor: 'address.text',
95
+ width: 200 // 定宽
96
+ },
97
+ // accessor 是 func,需要提供 id
98
+ {
99
+ Header: '供应商信息',
100
+ accessor: data => data.supplier_name,
101
+ id: 'supplier_name'
102
+ },
103
+ // 自定义整个单元格
104
+ {
105
+ Header: '入库金额',
106
+ accessor: 'total_money',
107
+ Cell: cellProps => {
108
+ const { row } = cellProps
109
+ return <div>{row.original.total_money}</div>
110
+ }
111
+ }
112
+ ]
113
+
114
+ const store = observable({
115
+ data: initData.slice(),
116
+ selected: [],
117
+ setSelected(selected) {
118
+ console.log(selected)
119
+ this.selected = selected
120
+ },
121
+ expanded: { 2: true, 3: true },
122
+ setExpanded(expanded) {
123
+ console.log(expanded)
124
+ this.expanded = expanded
125
+ }
126
+ })
127
+
128
+ const SelectTableX = selectTableXHOC(TableX)
129
+ const ExpandTableX = expandTableXHOC(TableX)
130
+ const SelectExpandTableX = selectTableXHOC(expandTableXHOC(TableX))
131
+ const SubSelectTableTableX = selectTableXHOC(subTableXHOC(TableXVirtualized))
132
+
133
+ storiesOf('TableX|HOC select expand', module)
134
+ .add('select', () => (
135
+ <SelectTableX
136
+ data={store.data.slice()}
137
+ columns={columns}
138
+ keyField='id'
139
+ selected={store.selected}
140
+ onSelect={selected => store.setSelected(selected)}
141
+ />
142
+ ))
143
+ .add('select batchActionBar', () => (
144
+ <div style={{ paddingTop: '100px' }}>
145
+ <SelectTableX
146
+ data={store.data.slice()}
147
+ columns={columns}
148
+ keyField='id'
149
+ selected={store.selected}
150
+ onSelect={selected => store.setSelected(selected)}
151
+ batchActionBar={
152
+ <BatchActionBar
153
+ batchActions={[
154
+ { name: '批量删除', type: 'delete' },
155
+ { name: '批量修改', type: 'edit' },
156
+ { name: '批量打印', type: 'business' }
157
+ ]}
158
+ />
159
+ }
160
+ />
161
+ </div>
162
+ ))
163
+ .add('fixed select', () => (
164
+ <SelectTableX
165
+ data={store.data.slice()}
166
+ columns={columns}
167
+ keyField='id'
168
+ selected={store.selected}
169
+ onSelect={selected => store.setSelected(selected)}
170
+ fixedSelect
171
+ />
172
+ ))
173
+ .add('select radio', () => (
174
+ <SelectTableX
175
+ selectType='radio'
176
+ data={store.data.slice()}
177
+ columns={columns}
178
+ keyField='id'
179
+ selected={store.selected}
180
+ onSelect={selected => store.setSelected(selected)}
181
+ />
182
+ ))
183
+ .add('select isSelectorDisable', () => (
184
+ <SelectTableX
185
+ data={store.data.slice()}
186
+ columns={columns}
187
+ keyField='id'
188
+ selected={store.selected}
189
+ onSelect={selected => store.setSelected(selected)}
190
+ isSelectorDisable={item => item.total_money === 176}
191
+ />
192
+ ))
193
+ .add('调用方控制的 expand', () => (
194
+ <ExpandTableX
195
+ data={store.data.slice()}
196
+ columns={columns}
197
+ expanded={store.expanded}
198
+ onExpand={obj => store.setExpanded(obj)}
199
+ SubComponent={() => {
200
+ return <div style={{ height: '50px' }}>这是是展开的</div>
201
+ }}
202
+ />
203
+ ))
204
+ .add('常规的 expand', () => (
205
+ <ExpandTableX
206
+ data={store.data.slice()}
207
+ columns={columns}
208
+ SubComponent={() => {
209
+ return <div style={{ height: '50px' }}>这是是展开的</div>
210
+ }}
211
+ />
212
+ ))
213
+ .add('fixed expand', () => (
214
+ <ExpandTableX
215
+ data={store.data.slice()}
216
+ columns={columns}
217
+ SubComponent={() => {
218
+ return <div>adsfa</div>
219
+ }}
220
+ fixedExpand
221
+ />
222
+ ))
223
+ .add('expand select', () => (
224
+ <SelectExpandTableX
225
+ data={store.data.slice()}
226
+ columns={columns}
227
+ keyField='id'
228
+ selected={store.selected}
229
+ onSelect={selected => store.setSelected(selected)}
230
+ SubComponent={() => {
231
+ return <div>adsfa</div>
232
+ }}
233
+ />
234
+ ))
235
+ .add('expand select sub table', () => (
236
+ <SelectExpandTableX
237
+ data={store.data.slice()}
238
+ columns={columns}
239
+ keyField='id'
240
+ selected={store.selected}
241
+ onSelect={selected => store.setSelected(selected)}
242
+ SubComponent={() => {
243
+ return (
244
+ <SubSelectTableTableX
245
+ data={store.data.slice()}
246
+ columns={columns}
247
+ keyField='id'
248
+ selected={store.selected}
249
+ onSelect={selected => store.setSelected(selected)}
250
+ virtualizedHeight={200}
251
+ virtualizedItemSize={TableXUtil.TABLE_X.HEIGHT_TR}
252
+ />
253
+ )
254
+ }}
255
+ />
256
+ ))