@gmfe/table-x 2.14.21-beta.1 → 2.14.26-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE.md +4 -0
  2. package/README.md +13 -13
  3. package/package.json +4 -4
  4. package/src/base/index.js +142 -142
  5. package/src/base/td.js +56 -56
  6. package/src/base/th.js +48 -48
  7. package/src/base/thead.js +26 -26
  8. package/src/base/tr.js +53 -53
  9. package/src/base/virtualized.js +219 -219
  10. package/src/hoc/diy_table_x/components/diy_table_x_modal.js +135 -135
  11. package/src/hoc/diy_table_x/components/modal_list.js +78 -78
  12. package/src/hoc/diy_table_x/components/modal_selector.js +56 -56
  13. package/src/hoc/diy_table_x/index.js +196 -196
  14. package/src/hoc/edit_table_x.js +20 -20
  15. package/src/hoc/expand_table_x/index.js +140 -140
  16. package/src/hoc/expand_table_x/util.js +27 -27
  17. package/src/hoc/fixed_columns_table_x.js +29 -29
  18. package/src/hoc/select_table_x/cell.js +51 -51
  19. package/src/hoc/select_table_x/header.js +28 -28
  20. package/src/hoc/select_table_x/index.js +139 -139
  21. package/src/hoc/select_table_x/util.js +10 -10
  22. package/src/hoc/sortable_table_x.js +52 -52
  23. package/src/hoc/sub_table_x.js +44 -44
  24. package/src/index.js +53 -53
  25. package/src/index.less +515 -515
  26. package/src/stories/table_x.stories.js +324 -324
  27. package/src/stories/table_x_hoc.stories.js +427 -427
  28. package/src/stories/table_x_hoc_select_expand.stories.js +256 -256
  29. package/src/util/batch_action_bar.js +124 -124
  30. package/src/util/edit.js +83 -83
  31. package/src/util/index.js +191 -191
  32. package/src/util/operation.js +249 -249
  33. package/src/util/sort_header.js +49 -49
  34. package/src/variables.less +28 -28
  35. package/svg/business.svg +20 -20
  36. package/svg/check-detail.svg +18 -18
  37. package/svg/closeup.svg +20 -20
  38. package/svg/delete.svg +10 -10
  39. package/svg/edit-pen.svg +17 -17
  40. package/svg/empty.svg +27 -27
  41. package/svg/expand.svg +21 -21
  42. package/svg/pen.svg +12 -12
  43. package/svg/recover.svg +33 -33
  44. package/svg/remove.svg +1 -1
  45. 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
+ ))