plain-design 1.0.0-beta.33 → 1.0.0-beta.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. package/dist/plain-design.commonjs.min.js +18 -18
  2. package/dist/plain-design.min.css +1 -1
  3. package/dist/plain-design.min.js +18 -18
  4. package/dist/report.html +38 -38
  5. package/package.json +3 -2
  6. package/src/packages/components/Dropdown/dropdown.public.scss +10 -0
  7. package/src/packages/components/Dropdown/dropdown.utils.tsx +3 -1
  8. package/src/packages/components/Dropdown/index.tsx +2 -2
  9. package/src/packages/components/DropdownSeparator/index.tsx +8 -0
  10. package/src/packages/entry.tsx +1 -0
  11. package/src/pages/data/address.json +0 -39317
  12. package/src/pages/data/data-1.json +0 -754
  13. package/src/pages/data/data-2.json +0 -3006
  14. package/src/pages/data/data-200.json +0 -5206
  15. package/src/pages/data/data-2000.json +0 -51954
  16. package/src/pages/data/data-50.json +0 -2075
  17. package/src/pages/data/data.json +0 -30002
  18. package/src/pages/data/demo.json +0 -1702
  19. package/src/pages/data/mock.database.js +0 -43
  20. package/src/pages/data/mock.js +0 -141
  21. package/src/pages/data/tree.data.json +0 -87
  22. package/src/pages/env/config/local.js +0 -3
  23. package/src/pages/env/config/prod.js +0 -3
  24. package/src/pages/env/config/undefined.js +0 -1
  25. package/src/pages/env/env.d.ts +0 -4
  26. package/src/pages/env/index.ts +0 -1
  27. package/src/pages/history/createHistory.ts +0 -94
  28. package/src/pages/history/history.utils.ts +0 -64
  29. package/src/pages/index/App.tsx +0 -17
  30. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  31. package/src/pages/index/Demo/DemoRow.scss +0 -131
  32. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  33. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  34. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  35. package/src/pages/index/Demo/index.ts +0 -8
  36. package/src/pages/index/app.scss +0 -197
  37. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -56
  38. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  39. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  40. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  41. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  42. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  43. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  44. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  45. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  46. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  47. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  48. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  49. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  50. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  51. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  52. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  53. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  54. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  55. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  56. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  57. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  58. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  59. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  60. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  61. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  62. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  63. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  64. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  65. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  66. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  67. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  68. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  69. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  70. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  71. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  72. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  73. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -230
  74. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  75. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  76. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  77. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  78. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  79. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  80. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  81. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  82. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  83. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -463
  84. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  85. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  86. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  87. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  88. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  89. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  90. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  91. package/src/pages/index/components/normal/DemoLayout.tsx +0 -144
  92. package/src/pages/index/components/normal/DemoList.scss +0 -15
  93. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  94. package/src/pages/index/components/normal/DemoLoading.tsx +0 -86
  95. package/src/pages/index/components/normal/DemoNumber.tsx +0 -269
  96. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  97. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  98. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  99. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  100. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  101. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  102. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  103. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  104. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  105. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  106. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  107. package/src/pages/index/components/normal/DemoSortList.tsx +0 -70
  108. package/src/pages/index/components/normal/DemoStackCard.tsx +0 -356
  109. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  110. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  111. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  112. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  113. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  114. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  115. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  116. package/src/pages/index/components/normal/DemoTree.tsx +0 -1183
  117. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  118. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -464
  119. package/src/pages/index/components/service/DemoDialogService.tsx +0 -249
  120. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  121. package/src/pages/index/components/service/DemoImagePreviewer.tsx +0 -185
  122. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  123. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  124. package/src/pages/index/components/service/DemoPopupService.tsx +0 -325
  125. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  126. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  127. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  128. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  129. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  130. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  131. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  132. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -203
  133. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  134. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  135. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  136. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  137. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  138. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  139. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  140. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  141. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  142. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  143. package/src/pages/index/home/AppContent.tsx +0 -69
  144. package/src/pages/index/home/AppHead.tsx +0 -18
  145. package/src/pages/index/home/AppHome.tsx +0 -31
  146. package/src/pages/index/home/AppMenu.tsx +0 -38
  147. package/src/pages/index/home/menus.tsx +0 -220
  148. package/src/pages/index/home/plain-design.png +0 -0
  149. package/src/pages/index/main.tsx +0 -23
  150. package/src/pages/index/nav/$nav.ts +0 -41
  151. package/src/pages/index/pages.d.ts +0 -6
  152. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  153. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  154. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  155. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  156. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  157. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  158. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  159. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  160. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  161. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  162. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  163. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  164. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  165. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  166. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  167. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  168. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  169. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  170. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  171. package/src/pages/module/address.ts +0 -27
  172. package/src/pages/module/http.ts +0 -24
  173. package/src/pages/module/index.ts +0 -19
  174. package/src/pages/module/object.ts +0 -5
  175. package/src/pages/module/ov.tsx +0 -13
  176. package/src/pages/module/upload.ts +0 -9
  177. package/src/pages/module/useTableOption.ts +0 -28
@@ -1,293 +0,0 @@
1
- import {designPage, reactive, useRefs} from "plain-design-composition";
2
- import {$message, Button, ButtonGroup, Form, FormItem, Plc, PlcIndex, PlcInput, PlcNumber, PlcTime, PlcTimeRange, Table} from "../../../../packages";
3
- import data50 from "../../../data/data-50.json";
4
- import {iTableNode} from "../../../../packages/components/Table/table/utils/table.utils";
5
- import {DemoRow} from "../../Demo/DemoRow";
6
-
7
- export const demo1 = designPage(() => {
8
-
9
- const { refs, onRef } = useRefs({
10
- table: Table
11
- });
12
-
13
- const state = reactive({
14
- data: data50.slice(0, 5),
15
- editNodes: [] as iTableNode[],
16
-
17
- onDblClickRow(tableNode: iTableNode) {
18
- if (!tableNode.state.edit) {
19
- tableNode.enableEdit();
20
- state.editNodes.push(tableNode);
21
- }
22
- },
23
- saveEdit: async () => {
24
- const validates = (await Promise.all(state.editNodes.map(node => node.validate()))).filter(Boolean);
25
- if (validates.length > 0) {
26
- console.log(validates);
27
- const { validateResultData, node: { state: { index } } } = validates[0]!;
28
- $message.error(`第${index + 1}条记录校验不通过,${validateResultData[0].label}:${validateResultData[0].message}`);
29
- return;
30
- }
31
- // todo 网络保存逻辑
32
- state.editNodes.forEach(tableNode => tableNode.saveEdit(tableNode.state.editRow));
33
- state.editNodes.forEach(tableNode => tableNode.closeEdit());
34
- state.editNodes = [];
35
- },
36
- cancelEdit: () => {
37
- state.editNodes.forEach(tableNode => {
38
- tableNode.cancelEdit();
39
- });
40
- state.editNodes = [];
41
- },
42
- });
43
-
44
- return () => (
45
- <DemoRow title={'基本用法'}>
46
- <Form column={1}>
47
- <FormItem label="导出">
48
- <ButtonGroup style={{ margin: '4px 0' }}>
49
- <Button label="导出原始数据" onClick={() => console.log(refs.table!.methods.getSourceData())}/>
50
- <Button label="导出显示数据" onClick={() => refs.table!.methods.getShowData().then(val => console.log(val))}/>
51
- </ButtonGroup>
52
- </FormItem>
53
- <FormItem label={'编辑'}>
54
- <ButtonGroup disabled={state.editNodes.length === 0}>
55
- <Button onClick={state.saveEdit} label={'保存编辑'}/>
56
- <Button onClick={state.cancelEdit} label={'取消编辑'}/>
57
- </ButtonGroup>
58
- </FormItem>
59
- </Form>
60
- <Table
61
- data={state.data}
62
- onDblclickCell={state.onDblClickRow}
63
- ref={onRef.table}
64
- >
65
- <PlcIndex/>
66
- <Plc field="id" title="编号"/>
67
- <PlcInput field="name" title="文本框" required/>
68
- <PlcTime field="time" title="时间" required/>
69
- </Table>
70
- </DemoRow>
71
- );
72
- });
73
-
74
-
75
- export const demo2 = designPage(() => {
76
-
77
- const { refs, onRef } = useRefs({
78
- table: Table
79
- });
80
-
81
- const state = reactive({
82
- data: data50.slice(0, 5),
83
- editNodes: [] as iTableNode[],
84
-
85
- onDblClickRow(tableNode: iTableNode) {
86
- if (!tableNode.state.edit) {
87
- tableNode.enableEdit();
88
- state.editNodes.push(tableNode);
89
- }
90
- },
91
- saveEdit: async () => {
92
- const validates = (await Promise.all(state.editNodes.map(node => node.validate()))).filter(Boolean);
93
- if (validates.length > 0) {
94
- console.log(validates);
95
- const { validateResultData, node: { state: { index } } } = validates[0]!;
96
- $message.error(`第${index + 1}条记录校验不通过,${validateResultData[0].label}:${validateResultData[0].message}`);
97
- return;
98
- }
99
- // todo 网络保存逻辑
100
- state.editNodes.forEach(tableNode => tableNode.saveEdit(tableNode.state.editRow));
101
- state.editNodes.forEach(tableNode => tableNode.closeEdit());
102
- state.editNodes = [];
103
- },
104
- cancelEdit: () => {
105
- state.editNodes.forEach(tableNode => {
106
- tableNode.cancelEdit();
107
- });
108
- state.editNodes = [];
109
- },
110
- });
111
-
112
- return () => (
113
- <DemoRow title={'格式化'}>
114
- <Form column={1}>
115
- <FormItem label="导出">
116
- <ButtonGroup style={{ margin: '4px 0' }}>
117
- <Button label="导出原始数据" onClick={() => console.log(refs.table!.methods.getSourceData())}/>
118
- <Button label="导出显示数据" onClick={() => refs.table!.methods.getShowData().then(val => console.log(val))}/>
119
- </ButtonGroup>
120
- </FormItem>
121
- <FormItem label={'编辑'}>
122
- <ButtonGroup disabled={state.editNodes.length === 0}>
123
- <Button onClick={state.saveEdit} label={'保存编辑'}/>
124
- <Button onClick={state.cancelEdit} label={'取消编辑'}/>
125
- </ButtonGroup>
126
- </FormItem>
127
- </Form>
128
- <Table
129
- data={state.data}
130
- onDblclickCell={state.onDblClickRow}
131
- ref={onRef.table}
132
- >
133
- <PlcIndex/>
134
- <Plc field="id" title="编号"/>
135
- <PlcInput field="name" title="文本框" required/>
136
- <PlcTime field="time" title="时间" required/>
137
- <PlcTime field="time" title="时间(显示格式化)" required displayFormat="HH时mm分ss秒"/>
138
- <PlcTime field="timeNumber" title="时间(值格式化)" required valueFormat="hhmmss" displayFormat="HH时mm分ss秒"/>
139
- </Table>
140
- </DemoRow>
141
- );
142
- });
143
-
144
-
145
- export const demo3 = designPage(() => {
146
-
147
- const { refs, onRef } = useRefs({
148
- table: Table
149
- });
150
-
151
- const state = reactive({
152
- data: data50.slice(0, 5),
153
- editNodes: [] as iTableNode[],
154
-
155
- onDblClickRow(tableNode: iTableNode) {
156
- if (!tableNode.state.edit) {
157
- tableNode.enableEdit();
158
- state.editNodes.push(tableNode);
159
- }
160
- },
161
- saveEdit: async () => {
162
- const validates = (await Promise.all(state.editNodes.map(node => node.validate()))).filter(Boolean);
163
- if (validates.length > 0) {
164
- console.log(validates);
165
- const { validateResultData, node: { state: { index } } } = validates[0]!;
166
- $message.error(`第${index + 1}条记录校验不通过,${validateResultData[0].label}:${validateResultData[0].message}`);
167
- return;
168
- }
169
- // todo 网络保存逻辑
170
- state.editNodes.forEach(tableNode => tableNode.saveEdit(tableNode.state.editRow));
171
- state.editNodes.forEach(tableNode => tableNode.closeEdit());
172
- state.editNodes = [];
173
- },
174
- cancelEdit: () => {
175
- state.editNodes.forEach(tableNode => {
176
- tableNode.cancelEdit();
177
- });
178
- state.editNodes = [];
179
- },
180
- });
181
-
182
- return () => (
183
- <DemoRow title={'范围选择'}>
184
- <Form column={1}>
185
- <FormItem label="导出">
186
- <ButtonGroup style={{ margin: '4px 0' }}>
187
- <Button label="导出原始数据" onClick={() => console.log(refs.table!.methods.getSourceData())}/>
188
- <Button label="导出显示数据" onClick={() => refs.table!.methods.getShowData().then(val => console.log(val))}/>
189
- </ButtonGroup>
190
- </FormItem>
191
- <FormItem label={'编辑'}>
192
- <ButtonGroup disabled={state.editNodes.length === 0}>
193
- <Button onClick={state.saveEdit} label={'保存编辑'}/>
194
- <Button onClick={state.cancelEdit} label={'取消编辑'}/>
195
- </ButtonGroup>
196
- </FormItem>
197
- </Form>
198
- <Table
199
- data={state.data}
200
- onDblclickCell={state.onDblClickRow}
201
- ref={onRef.table}
202
- >
203
- <PlcIndex/>
204
- <Plc field="id" title="编号"/>
205
- <PlcInput field="name" title="文本框" required/>
206
- <PlcTimeRange
207
- startField="startTime"
208
- startTitle="开始时间"
209
- endField="endTime"
210
- endTitle="结束时间"
211
- startAttrs={{ required: true }}
212
- />
213
- <PlcNumber field="num" title="数字"/>
214
- </Table>
215
- </DemoRow>
216
- );
217
- });
218
-
219
-
220
- export const demo4 = designPage(() => {
221
-
222
- const { refs, onRef } = useRefs({
223
- table: Table
224
- });
225
-
226
- const state = reactive({
227
- data: data50.slice(0, 5),
228
- editNodes: [] as iTableNode[],
229
-
230
- onDblClickRow(tableNode: iTableNode) {
231
- if (!tableNode.state.edit) {
232
- tableNode.enableEdit();
233
- state.editNodes.push(tableNode);
234
- }
235
- },
236
- saveEdit: async () => {
237
- const validates = (await Promise.all(state.editNodes.map(node => node.validate()))).filter(Boolean);
238
- if (validates.length > 0) {
239
- console.log(validates);
240
- const { validateResultData, node: { state: { index } } } = validates[0]!;
241
- $message.error(`第${index + 1}条记录校验不通过,${validateResultData[0].label}:${validateResultData[0].message}`);
242
- return;
243
- }
244
- // todo 网络保存逻辑
245
- state.editNodes.forEach(tableNode => tableNode.saveEdit(tableNode.state.editRow));
246
- state.editNodes.forEach(tableNode => tableNode.closeEdit());
247
- state.editNodes = [];
248
- },
249
- cancelEdit: () => {
250
- state.editNodes.forEach(tableNode => {
251
- tableNode.cancelEdit();
252
- });
253
- state.editNodes = [];
254
- },
255
- });
256
-
257
- return () => (
258
- <DemoRow title={'范围选择格式化'}>
259
- <Form column={1}>
260
- <FormItem label="导出">
261
- <ButtonGroup style={{ margin: '4px 0' }}>
262
- <Button label="导出原始数据" onClick={() => console.log(refs.table!.methods.getSourceData())}/>
263
- <Button label="导出显示数据" onClick={() => refs.table!.methods.getShowData().then(val => console.log(val))}/>
264
- </ButtonGroup>
265
- </FormItem>
266
- <FormItem label={'编辑'}>
267
- <ButtonGroup disabled={state.editNodes.length === 0}>
268
- <Button onClick={state.saveEdit} label={'保存编辑'}/>
269
- <Button onClick={state.cancelEdit} label={'取消编辑'}/>
270
- </ButtonGroup>
271
- </FormItem>
272
- </Form>
273
- <Table
274
- data={state.data}
275
- onDblclickCell={state.onDblClickRow}
276
- ref={onRef.table}
277
- >
278
- <PlcIndex/>
279
- <Plc field="id" title="编号"/>
280
- <PlcInput field="name" title="文本框" required/>
281
- <PlcTimeRange
282
- startField="startTime"
283
- startTitle="开始时间"
284
- endField="endTime"
285
- endTitle="结束时间"
286
- displayFormat="HH时mm分ss秒"
287
- startAttrs={{ required: true }}
288
- />
289
- <PlcNumber field="num" title="数字"/>
290
- </Table>
291
- </DemoRow>
292
- );
293
- });
@@ -1,88 +0,0 @@
1
- import {designPage, reactive, useRefs} from "plain-design-composition";
2
- import data200 from '../../../data/data-200.json';
3
- import {iTableNode} from "../../../../packages/components/Table/table/utils/table.utils";
4
- import {$message, Button, ButtonGroup, Form, FormItem, Plc, PlcCheckbox, PlcColorPicker, PlcDate, PlcIndex, PlcInput, PlcNumber, PlcRate, PlcToggle, Table, Toggle} from "../../../../packages";
5
- import {DemoRow} from "../../Demo/DemoRow";
6
-
7
- export default designPage(() => {
8
-
9
- const { refs, onRef } = useRefs({
10
- table: Table
11
- });
12
-
13
- const state = reactive({
14
- data: data200,
15
- editNodes: [] as iTableNode[],
16
- virtualFlag: true,
17
-
18
- onDblClickRow(tableNode: iTableNode) {
19
- if (!tableNode.state.edit) {
20
- tableNode.enableEdit();
21
- state.editNodes.push(tableNode);
22
- }
23
- },
24
- saveEdit: async () => {
25
- const validates = (await Promise.all(state.editNodes.map(node => node.validate()))).filter(Boolean);
26
- if (validates.length > 0) {
27
- console.log(validates);
28
- const { validateResultData, node: { state: { index } } } = validates[0]!;
29
- $message.error(`第${index + 1}条记录校验不通过,${validateResultData[0].label}:${validateResultData[0].message}`);
30
- return;
31
- }
32
- // todo 网络保存逻辑
33
- state.editNodes.forEach(tableNode => tableNode.saveEdit(tableNode.state.editRow));
34
- state.editNodes.forEach(tableNode => tableNode.closeEdit());
35
- state.editNodes = [];
36
- },
37
- cancelEdit: () => {
38
- state.editNodes.forEach(tableNode => {
39
- tableNode.cancelEdit();
40
- });
41
- state.editNodes = [];
42
- },
43
- });
44
-
45
- return () => (
46
- <div>
47
- <DemoRow title={'基本用法'}>
48
- <Form column={1}>
49
- <FormItem label={'开启虚拟滚动'}>
50
- <Toggle v-model={state.virtualFlag}/>
51
- </FormItem>
52
- <FormItem label="导出">
53
- <ButtonGroup style={{ margin: '4px 0' }}>
54
- <Button label="导出原始数据" onClick={() => console.log(refs.table!.methods.getSourceData())}/>
55
- <Button label="导出显示数据" onClick={() => refs.table!.methods.getShowData().then(val => console.log(val))}/>
56
- </ButtonGroup>
57
- </FormItem>
58
- <FormItem label={'编辑'}>
59
- <ButtonGroup disabled={state.editNodes.length === 0}>
60
- <Button onClick={state.saveEdit} label={'保存编辑'}/>
61
- <Button onClick={state.cancelEdit} label={'取消编辑'}/>
62
- </ButtonGroup>
63
- </FormItem>
64
- </Form>
65
- </DemoRow>
66
- <DemoRow title={'行内编辑'}>
67
- <Table
68
- virtual={state.virtualFlag}
69
- data={state.data}
70
- onDblclickCell={state.onDblClickRow}
71
- ref={onRef.table}
72
- showRows={10}
73
- >
74
- <PlcIndex/>
75
- <Plc field="id" title="编号"/>
76
- <Plc field="name" title="普通文本列"/>
77
- <PlcInput field="name" title="文本框" required/>
78
- <PlcNumber field={'size'} title={'数字框'}/>
79
- <PlcDate field={'date'} title={'日期'}/>
80
- <PlcColorPicker field={'color'} title={'颜色'}/>
81
- <PlcRate field={'star'} title={'评分'}/>
82
- <PlcToggle field={'flag'} title={'开关'}/>
83
- <PlcCheckbox field={'flag'} title={'开关'}/>
84
- </Table>
85
- </DemoRow>
86
- </div>
87
- );
88
- });