@gm-pc/tour 1.27.1-beta.0 → 1.27.2-beta.1

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.
package/src/stories.tsx CHANGED
@@ -1,310 +1,310 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
- import React, { Suspense, Fragment, useRef, useState, useEffect } from 'react'
4
- import { storiesOf } from '@storybook/react'
5
- import { observable } from 'mobx'
6
- import { selectTableXHOC, TableX, TableXUtil } from '@gm-pc/table-x'
7
-
8
- import { BoxTable, Flex, Button } from '@gm-pc/react'
9
- import Tour from './tour'
10
-
11
- const initData = [
12
- {
13
- total_money: 111,
14
- id: 'T5991-JHD-2018-07-25-00027',
15
- sku_money: '2390.00',
16
- supplier_customer_id: 'LDP20180117',
17
- submit_time: '2018-07-25',
18
- status: 2,
19
- supplier_name: '',
20
- date_time: '2018-07-25',
21
- delta_money: 0,
22
- settle_supplier_id: 'T10953',
23
- address: null,
24
- },
25
- {
26
- total_money: 176,
27
- id: 'T5991-JHD-2018-07-25-00026',
28
- sku_money: '176.00',
29
- supplier_customer_id: 'A2926',
30
- submit_time: '2018-07-26',
31
- status: 2,
32
- supplier_name: '段虎',
33
- date_time: '2018-07-25',
34
- delta_money: 0,
35
- settle_supplier_id: 'T14319',
36
- address: {
37
- value: 9,
38
- text: '西乡9',
39
- },
40
- },
41
- {
42
- total_money: 279,
43
- id: 'T5991-JHD-2018-07-25-00025',
44
- sku_money: '279.02',
45
- supplier_customer_id: 'sc215',
46
- submit_time: '2018-07-27',
47
- status: 2,
48
- supplier_name: '黑市桥蔬菜批发',
49
- date_time: '2018-07-25',
50
- delta_money: -2.0,
51
- settle_supplier_id: 'T13324',
52
- address: {
53
- value: 4,
54
- text: '宝安',
55
- },
56
- },
57
- {
58
- total_money: 176,
59
- id: 'T5991-JHD-2018-07-25-00024',
60
- sku_money: '279.02',
61
- supplier_customer_id: 'sc215',
62
- submit_time: '2018-07-27',
63
- status: 2,
64
- supplier_name: '黑市桥蔬菜批发',
65
- date_time: '2018-07-25',
66
- delta_money: -2.0,
67
- settle_supplier_id: 'T13324',
68
- address: {
69
- value: 4,
70
- text: '宝安',
71
- },
72
- },
73
- ]
74
-
75
- const columns = [
76
- // 获取索引
77
- {
78
- Header: '序号',
79
- accessor: 'index',
80
- Cell: ({ row }) => row.index + 1,
81
- },
82
- // 常规用法
83
- {
84
- Header: '建单时间',
85
- accessor: 'submit_time',
86
- },
87
- // accessor 有点用法
88
- {
89
- Header: '地址',
90
- accessor: 'address.text',
91
- width: 200, // 定宽
92
- },
93
- // accessor 是 func,需要提供 id
94
- {
95
- Header: '供应商信息',
96
- accessor: (data) => data.supplier_name,
97
- id: 'supplier_name',
98
- },
99
- // 自定义整个单元格
100
- {
101
- Header: '入库金额',
102
- accessor: 'total_money',
103
- Cell: (cellProps) => {
104
- const { row } = cellProps
105
- return <div>{row.original.total_money}</div>
106
- },
107
- },
108
- ]
109
-
110
- const store = observable({
111
- isTourOpen: true,
112
- isSelectAllPage: false,
113
- data: initData.slice(),
114
- selected: [],
115
- toggleIsSelectAllPage(bool) {
116
- this.isSelectAllPage = bool
117
- },
118
- setSelected(selected) {
119
- this.selected = selected
120
- },
121
- setOpen(bool) {
122
- this.isTourOpen = bool
123
- },
124
- })
125
-
126
- const SelectTableX = selectTableXHOC(TableX)
127
-
128
- storiesOf('Tour/Tour', module)
129
- .add('默认', () => {
130
- const [start, setStart] = useState(false)
131
- return (
132
- <BoxTable
133
- action={
134
- <>
135
- <Button
136
- className='btn-primary'
137
- data-id='button-test'
138
- onClick={() => {
139
- setStart(true)
140
- }}
141
- >
142
- 新建车间
143
- </Button>
144
- <div data-id='button-start'>{start && <Button>start</Button>}</div>
145
- </>
146
- }
147
- >
148
- <SelectTableX
149
- data={store.data.slice()}
150
- columns={columns}
151
- keyField='id'
152
- selected={store.selected}
153
- onSelect={(selected) => store.setSelected(selected)}
154
- batchActionBar={
155
- store.selected.length > 0 ? (
156
- <TableXUtil.BatchActionBar
157
- onClose={() => store.setSelected([])}
158
- toggleSelectAll={(bool) => store.toggleIsSelectAllPage(bool)}
159
- batchActions={[
160
- {
161
- name: <div className='func-test'>下达加工单</div>,
162
- onClick: () => {},
163
- },
164
- ]}
165
- count={store.isSelectAllPage ? null : store.selected.length}
166
- isSelectAll={store.isSelectAllPage}
167
- />
168
- ) : null
169
- }
170
- />
171
- <Suspense fallback={<Fragment />}>
172
- <Tour
173
- disableInteraction={false}
174
- steps={[
175
- {
176
- selector: '[data-id="button-test"]',
177
- observe: '[data-id="button-start"]',
178
- content: '测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试',
179
- },
180
- {
181
- selector: '.gm-table-x-tbody .gm-checkbox.gm-table-x-select',
182
- content:
183
- 'checkbox 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试',
184
- stepInteraction: true,
185
- actionAfter: async function (node) {
186
- if (node) {
187
- console.log(1111, node)
188
- node?.click()
189
- }
190
- },
191
- },
192
- {
193
- selector: '.func-test',
194
- content: (
195
- <div>
196
- func-test 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
197
- </div>
198
- ),
199
- },
200
- ]}
201
- isOpen={store.isTourOpen}
202
- rounded={3}
203
- onRequestClose={() => store.setOpen(false)}
204
- />
205
- </Suspense>
206
- </BoxTable>
207
- )
208
- })
209
- .add('自定义', () => {
210
- const tourRef = useRef(null)
211
- const [show, setShow] = useState(false)
212
- useEffect(() => {
213
- setTimeout(() => {
214
- handleShow()
215
- }, 1000)
216
- }, [])
217
-
218
- const handleShow = () => {
219
- setShow(true)
220
- tourRef.current.apiRecalculate()
221
- }
222
-
223
- const next = () => {
224
- tourRef.current.apiToNextStep()
225
- }
226
-
227
- const close = () => {
228
- tourRef.current.apiClose()
229
- }
230
-
231
- return (
232
- <BoxTable
233
- key='BoxTable'
234
- action={
235
- <Button className='btn-primary' data-id='button-test' onClick={() => {}}>
236
- 新建xxx
237
- </Button>
238
- }
239
- >
240
- {show ? <div className='gm-padding-15' /> : null}
241
- <SelectTableX
242
- data={store.data.slice()}
243
- columns={columns}
244
- keyField='id'
245
- selected={store.selected}
246
- onSelect={(selected) => store.setSelected(selected)}
247
- batchActionBar={
248
- store.selected.length > 0 ? (
249
- <TableXUtil.BatchActionBar
250
- onClose={() => store.setSelected([])}
251
- toggleSelectAll={(bool) => store.toggleIsSelectAllPage(bool)}
252
- batchActions={[
253
- {
254
- name: <div className='func-test'>下达加工单</div>,
255
- onClick: () => {},
256
- },
257
- ]}
258
- count={store.isSelectAllPage ? null : store.selected.length}
259
- isSelectAll={store.isSelectAllPage}
260
- />
261
- ) : null
262
- }
263
- />
264
- <Suspense fallback={<Fragment />}>
265
- <Tour
266
- ref={tourRef}
267
- disableButtons
268
- steps={[
269
- {
270
- selector: '.gm-table-x-tbody .gm-checkbox.gm-table-x-select',
271
- content: (
272
- <div>
273
- <div>测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
274
- <Flex justifyEnd className='gm-padding-top-10'>
275
- <Button type='primary' onClick={next}>
276
- 下一步
277
- </Button>
278
- </Flex>
279
- </div>
280
- ),
281
- actionAfter: async function (node) {
282
- if (node) {
283
- console.log(1111, node)
284
- node?.click()
285
- }
286
- },
287
- },
288
- {
289
- selector: '.func-test',
290
- content: (
291
- <div>
292
- <div>
293
- func-test 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
294
- </div>
295
- <Flex justifyEnd className='gm-padding-top-10'>
296
- <Button type='primary' onClick={close}>
297
- 知道了
298
- </Button>
299
- </Flex>
300
- </div>
301
- ),
302
- },
303
- ]}
304
- isOpen={store.isTourOpen}
305
- onRequestClose={() => store.setOpen(false)}
306
- />
307
- </Suspense>
308
- </BoxTable>
309
- )
310
- })
1
+ // @ts-nocheck
2
+ /* eslint-disable */
3
+ import React, { Suspense, Fragment, useRef, useState, useEffect } from 'react'
4
+ import { storiesOf } from '@storybook/react'
5
+ import { observable } from 'mobx'
6
+ import { selectTableXHOC, TableX, TableXUtil } from '@gm-pc/table-x'
7
+
8
+ import { BoxTable, Flex, Button } from '@gm-pc/react'
9
+ import Tour from './tour'
10
+
11
+ const initData = [
12
+ {
13
+ total_money: 111,
14
+ id: 'T5991-JHD-2018-07-25-00027',
15
+ sku_money: '2390.00',
16
+ supplier_customer_id: 'LDP20180117',
17
+ submit_time: '2018-07-25',
18
+ status: 2,
19
+ supplier_name: '',
20
+ date_time: '2018-07-25',
21
+ delta_money: 0,
22
+ settle_supplier_id: 'T10953',
23
+ address: null,
24
+ },
25
+ {
26
+ total_money: 176,
27
+ id: 'T5991-JHD-2018-07-25-00026',
28
+ sku_money: '176.00',
29
+ supplier_customer_id: 'A2926',
30
+ submit_time: '2018-07-26',
31
+ status: 2,
32
+ supplier_name: '段虎',
33
+ date_time: '2018-07-25',
34
+ delta_money: 0,
35
+ settle_supplier_id: 'T14319',
36
+ address: {
37
+ value: 9,
38
+ text: '西乡9',
39
+ },
40
+ },
41
+ {
42
+ total_money: 279,
43
+ id: 'T5991-JHD-2018-07-25-00025',
44
+ sku_money: '279.02',
45
+ supplier_customer_id: 'sc215',
46
+ submit_time: '2018-07-27',
47
+ status: 2,
48
+ supplier_name: '黑市桥蔬菜批发',
49
+ date_time: '2018-07-25',
50
+ delta_money: -2.0,
51
+ settle_supplier_id: 'T13324',
52
+ address: {
53
+ value: 4,
54
+ text: '宝安',
55
+ },
56
+ },
57
+ {
58
+ total_money: 176,
59
+ id: 'T5991-JHD-2018-07-25-00024',
60
+ sku_money: '279.02',
61
+ supplier_customer_id: 'sc215',
62
+ submit_time: '2018-07-27',
63
+ status: 2,
64
+ supplier_name: '黑市桥蔬菜批发',
65
+ date_time: '2018-07-25',
66
+ delta_money: -2.0,
67
+ settle_supplier_id: 'T13324',
68
+ address: {
69
+ value: 4,
70
+ text: '宝安',
71
+ },
72
+ },
73
+ ]
74
+
75
+ const columns = [
76
+ // 获取索引
77
+ {
78
+ Header: '序号',
79
+ accessor: 'index',
80
+ Cell: ({ row }) => row.index + 1,
81
+ },
82
+ // 常规用法
83
+ {
84
+ Header: '建单时间',
85
+ accessor: 'submit_time',
86
+ },
87
+ // accessor 有点用法
88
+ {
89
+ Header: '地址',
90
+ accessor: 'address.text',
91
+ width: 200, // 定宽
92
+ },
93
+ // accessor 是 func,需要提供 id
94
+ {
95
+ Header: '供应商信息',
96
+ accessor: (data) => data.supplier_name,
97
+ id: 'supplier_name',
98
+ },
99
+ // 自定义整个单元格
100
+ {
101
+ Header: '入库金额',
102
+ accessor: 'total_money',
103
+ Cell: (cellProps) => {
104
+ const { row } = cellProps
105
+ return <div>{row.original.total_money}</div>
106
+ },
107
+ },
108
+ ]
109
+
110
+ const store = observable({
111
+ isTourOpen: true,
112
+ isSelectAllPage: false,
113
+ data: initData.slice(),
114
+ selected: [],
115
+ toggleIsSelectAllPage(bool) {
116
+ this.isSelectAllPage = bool
117
+ },
118
+ setSelected(selected) {
119
+ this.selected = selected
120
+ },
121
+ setOpen(bool) {
122
+ this.isTourOpen = bool
123
+ },
124
+ })
125
+
126
+ const SelectTableX = selectTableXHOC(TableX)
127
+
128
+ storiesOf('Tour/Tour', module)
129
+ .add('默认', () => {
130
+ const [start, setStart] = useState(false)
131
+ return (
132
+ <BoxTable
133
+ action={
134
+ <>
135
+ <Button
136
+ className='btn-primary'
137
+ data-id='button-test'
138
+ onClick={() => {
139
+ setStart(true)
140
+ }}
141
+ >
142
+ 新建车间
143
+ </Button>
144
+ <div data-id='button-start'>{start && <Button>start</Button>}</div>
145
+ </>
146
+ }
147
+ >
148
+ <SelectTableX
149
+ data={store.data.slice()}
150
+ columns={columns}
151
+ keyField='id'
152
+ selected={store.selected}
153
+ onSelect={(selected) => store.setSelected(selected)}
154
+ batchActionBar={
155
+ store.selected.length > 0 ? (
156
+ <TableXUtil.BatchActionBar
157
+ onClose={() => store.setSelected([])}
158
+ toggleSelectAll={(bool) => store.toggleIsSelectAllPage(bool)}
159
+ batchActions={[
160
+ {
161
+ name: <div className='func-test'>下达加工单</div>,
162
+ onClick: () => {},
163
+ },
164
+ ]}
165
+ count={store.isSelectAllPage ? null : store.selected.length}
166
+ isSelectAll={store.isSelectAllPage}
167
+ />
168
+ ) : null
169
+ }
170
+ />
171
+ <Suspense fallback={<Fragment />}>
172
+ <Tour
173
+ disableInteraction={false}
174
+ steps={[
175
+ {
176
+ selector: '[data-id="button-test"]',
177
+ observe: '[data-id="button-start"]',
178
+ content: '测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试',
179
+ },
180
+ {
181
+ selector: '.gm-table-x-tbody .gm-checkbox.gm-table-x-select',
182
+ content:
183
+ 'checkbox 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试',
184
+ stepInteraction: true,
185
+ actionAfter: async function (node) {
186
+ if (node) {
187
+ console.log(1111, node)
188
+ node?.click()
189
+ }
190
+ },
191
+ },
192
+ {
193
+ selector: '.func-test',
194
+ content: (
195
+ <div>
196
+ func-test 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
197
+ </div>
198
+ ),
199
+ },
200
+ ]}
201
+ isOpen={store.isTourOpen}
202
+ rounded={3}
203
+ onRequestClose={() => store.setOpen(false)}
204
+ />
205
+ </Suspense>
206
+ </BoxTable>
207
+ )
208
+ })
209
+ .add('自定义', () => {
210
+ const tourRef = useRef(null)
211
+ const [show, setShow] = useState(false)
212
+ useEffect(() => {
213
+ setTimeout(() => {
214
+ handleShow()
215
+ }, 1000)
216
+ }, [])
217
+
218
+ const handleShow = () => {
219
+ setShow(true)
220
+ tourRef.current.apiRecalculate()
221
+ }
222
+
223
+ const next = () => {
224
+ tourRef.current.apiToNextStep()
225
+ }
226
+
227
+ const close = () => {
228
+ tourRef.current.apiClose()
229
+ }
230
+
231
+ return (
232
+ <BoxTable
233
+ key='BoxTable'
234
+ action={
235
+ <Button className='btn-primary' data-id='button-test' onClick={() => {}}>
236
+ 新建xxx
237
+ </Button>
238
+ }
239
+ >
240
+ {show ? <div className='gm-padding-15' /> : null}
241
+ <SelectTableX
242
+ data={store.data.slice()}
243
+ columns={columns}
244
+ keyField='id'
245
+ selected={store.selected}
246
+ onSelect={(selected) => store.setSelected(selected)}
247
+ batchActionBar={
248
+ store.selected.length > 0 ? (
249
+ <TableXUtil.BatchActionBar
250
+ onClose={() => store.setSelected([])}
251
+ toggleSelectAll={(bool) => store.toggleIsSelectAllPage(bool)}
252
+ batchActions={[
253
+ {
254
+ name: <div className='func-test'>下达加工单</div>,
255
+ onClick: () => {},
256
+ },
257
+ ]}
258
+ count={store.isSelectAllPage ? null : store.selected.length}
259
+ isSelectAll={store.isSelectAllPage}
260
+ />
261
+ ) : null
262
+ }
263
+ />
264
+ <Suspense fallback={<Fragment />}>
265
+ <Tour
266
+ ref={tourRef}
267
+ disableButtons
268
+ steps={[
269
+ {
270
+ selector: '.gm-table-x-tbody .gm-checkbox.gm-table-x-select',
271
+ content: (
272
+ <div>
273
+ <div>测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
274
+ <Flex justifyEnd className='gm-padding-top-10'>
275
+ <Button type='primary' onClick={next}>
276
+ 下一步
277
+ </Button>
278
+ </Flex>
279
+ </div>
280
+ ),
281
+ actionAfter: async function (node) {
282
+ if (node) {
283
+ console.log(1111, node)
284
+ node?.click()
285
+ }
286
+ },
287
+ },
288
+ {
289
+ selector: '.func-test',
290
+ content: (
291
+ <div>
292
+ <div>
293
+ func-test 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
294
+ </div>
295
+ <Flex justifyEnd className='gm-padding-top-10'>
296
+ <Button type='primary' onClick={close}>
297
+ 知道了
298
+ </Button>
299
+ </Flex>
300
+ </div>
301
+ ),
302
+ },
303
+ ]}
304
+ isOpen={store.isTourOpen}
305
+ onRequestClose={() => store.setOpen(false)}
306
+ />
307
+ </Suspense>
308
+ </BoxTable>
309
+ )
310
+ })