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,507 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {Button, Dialog, Icon, Input} from "../../../../packages";
3
- import {DemoRow} from "../../Demo/DemoRow";
4
- import {delay} from "plain-utils/utils/delay";
5
-
6
- export const demo1 = designPage(() => {
7
- const state = reactive({ show: false });
8
- return () => (
9
- <>
10
- <DemoRow title="基本用法">
11
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
12
- <Dialog v-model={state.show} minWidth="300">
13
- <div>桃花坞里桃花庵;</div>
14
- <div>桃花庵里桃花仙;</div>
15
- <div>桃花仙人种桃树;</div>
16
- <div>又摘桃花换酒钱;</div>
17
- </Dialog>
18
- </DemoRow>
19
- </>
20
- );
21
- });
22
- export const demo2 = designPage(() => {
23
- const state = reactive({
24
- show: false,
25
- show1: false,
26
- show2: false,
27
- });
28
- return () => (
29
- <>
30
- <DemoRow title="弹框尺寸">
31
- <Button label="设置宽高400*300" onClick={() => state.show = !state.show}/>
32
- <Dialog v-model={state.show} height={300} width={400} title="内容可编辑">
33
- <div contentEditable={true}>
34
- 桃花坞里桃花庵;
35
- 桃花庵里桃花仙;
36
- 桃花仙人种桃树;
37
- 又摘桃花换酒钱;
38
- 桃花坞里桃花庵;
39
- 桃花庵里桃花仙;
40
- 桃花仙人种桃树;
41
- 又摘桃花换酒钱;
42
- 桃花坞里桃花庵;
43
- 桃花庵里桃花仙;
44
- 桃花仙人种桃树;
45
- 又摘桃花换酒钱;
46
- 桃花坞里桃花庵;
47
- 桃花庵里桃花仙;
48
- 桃花仙人种桃树;
49
- 又摘桃花换酒钱;
50
- 桃花坞里桃花庵;
51
- 桃花庵里桃花仙;
52
- 桃花仙人种桃树;
53
- 又摘桃花换酒钱;
54
- </div>
55
- </Dialog>
56
-
57
- <Button label="设置最小宽高400*300" onClick={() => state.show1 = !state.show1}/>
58
- <Dialog v-model={state.show1} minHeight={300} minWidth={400} title="内容可编辑">
59
- <div contentEditable={true}>
60
- <div>桃花坞里桃花庵;</div>
61
- <div>桃花庵里桃花仙;</div>
62
- <div>桃花仙人种桃树;</div>
63
- <div>又摘桃花换酒钱;</div>
64
- </div>
65
- </Dialog>
66
-
67
- <Button label="设置最大宽高400*300" onClick={() => state.show2 = !state.show2}/>
68
- <Dialog v-model={state.show2} maxHeight={300} maxWidth={400} title="内容可编辑">
69
- <div contentEditable={true}>
70
- 桃花坞里桃花庵;
71
- 桃花庵里桃花仙;
72
- 桃花仙人种桃树;
73
- 又摘桃花换酒钱;
74
- 桃花坞里桃花庵;
75
- 桃花庵里桃花仙;
76
- 桃花仙人种桃树;
77
- 又摘桃花换酒钱;
78
- 桃花坞里桃花庵;
79
- 桃花庵里桃花仙;
80
- 桃花仙人种桃树;
81
- 又摘桃花换酒钱;
82
- 桃花坞里桃花庵;
83
- 桃花庵里桃花仙;
84
- 桃花仙人种桃树;
85
- 又摘桃花换酒钱;
86
- 桃花坞里桃花庵;
87
- 桃花庵里桃花仙;
88
- 桃花仙人种桃树;
89
- 又摘桃花换酒钱;
90
- </div>
91
- </Dialog>
92
- </DemoRow>
93
- </>
94
- );
95
- });
96
-
97
- export const demo3 = designPage(() => {
98
- const state = reactive({
99
- show: false,
100
- show2: false,
101
- show3: false,
102
- });
103
- return () => (
104
- <>
105
- <DemoRow title="操作按钮">
106
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
107
- <Dialog v-model={state.show} minWidth="300" confirmButton cancelButton onConfirm={() => console.log('confirm')} onCancel={() => console.log('cancel')}>
108
- <div>桃花坞里桃花庵;</div>
109
- <div>桃花庵里桃花仙;</div>
110
- <div>桃花仙人种桃树;</div>
111
- <div>又摘桃花换酒钱;</div>
112
- </Dialog>
113
-
114
- <Button label="居中" onClick={() => state.show2 = !state.show2}/>
115
- <Dialog v-model={state.show2} minWidth="300" confirmButton cancelButton headAlign="center" contentAlign="center" footAlign="center" onConfirm={() => console.log('confirm')} onCancel={() => console.log('cancel')}>
116
- <div>桃花坞里桃花庵;</div>
117
- <div>桃花庵里桃花仙;</div>
118
- <div>桃花仙人种桃树;</div>
119
- <div>又摘桃花换酒钱;</div>
120
- </Dialog>
121
-
122
- <Button label="额外按钮" onClick={() => state.show3 = !state.show3}/>
123
- <Dialog v-model={state.show3} minWidth="300" confirmButton cancelButton headAlign="center" contentAlign="center" footAlign="center" onConfirm={() => console.log('confirm')} onCancel={() => console.log('cancel')}>
124
- {{
125
- default: () => <>
126
- <div>桃花坞里桃花庵;</div>
127
- <div>桃花庵里桃花仙;</div>
128
- <div>桃花仙人种桃树;</div>
129
- <div>又摘桃花换酒钱;</div>
130
- </>,
131
- foot: () => <>
132
- <Button label="自定义按钮" style={{ order: 5, }}/>
133
- </>
134
- }}
135
- </Dialog>
136
- </DemoRow>
137
- </>
138
- );
139
- });
140
-
141
- export const demo4 = designPage(() => {
142
- const state = reactive({ show: false });
143
- return () => (
144
- <>
145
- <DemoRow title="去掉内容内边距">
146
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
147
- <Dialog v-model={state.show} noContentPadding minWidth="300">
148
- <div>桃花坞里桃花庵;</div>
149
- <div>桃花庵里桃花仙;</div>
150
- <div>桃花仙人种桃树;</div>
151
- <div>又摘桃花换酒钱;</div>
152
- </Dialog>
153
- </DemoRow>
154
- </>
155
- );
156
- });
157
- export const demo5 = designPage(() => {
158
- const state = reactive({ show: false, show2: false });
159
- return () => (
160
- <>
161
- <DemoRow title="自定义标题">
162
- <Button label="自定义标题栏" onClick={() => state.show = !state.show}/>
163
- <Dialog v-model={state.show} minWidth="300">
164
- {{
165
- default: () => <>
166
- <div>桃花坞里桃花庵;</div>
167
- <div>桃花庵里桃花仙;</div>
168
- <div>桃花仙人种桃树;</div>
169
- <div>又摘桃花换酒钱;</div>
170
- </>,
171
- head: () => <>
172
- <Icon icon="pi-info-circle-fill" style={{ marginRight: '4px' }}/>
173
- <span>系统提示</span>
174
- </>
175
- }}
176
- </Dialog>
177
-
178
- <Button label="无标题栏" onClick={() => state.show2 = !state.show2}/>
179
- <Dialog v-model={state.show2} minWidth="300" noHead contentAlign="center">
180
- <div>桃花坞里桃花庵;</div>
181
- <div>桃花庵里桃花仙;</div>
182
- <div>桃花仙人种桃树;</div>
183
- <div>又摘桃花换酒钱;</div>
184
- </Dialog>
185
- </DemoRow>
186
- </>
187
- );
188
- });
189
-
190
-
191
- export const demo6 = designPage(() => {
192
- const state = reactive({ show: false });
193
- return () => (
194
- <>
195
- <DemoRow title="去掉关闭按钮">
196
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
197
- <Dialog v-model={state.show} minWidth="300" noClose>
198
- {{
199
- default: () => <>
200
- <div>桃花坞里桃花庵;</div>
201
- <div>桃花庵里桃花仙;</div>
202
- <div>桃花仙人种桃树;</div>
203
- <div>又摘桃花换酒钱;</div>
204
- </>,
205
- head: () => <>
206
- <Icon icon="pi-info-circle-fill" style={{ marginRight: '4px' }}/>
207
- <span>系统提示</span>
208
- </>
209
- }}
210
- </Dialog>
211
- </DemoRow>
212
- </>
213
- );
214
- });
215
-
216
-
217
- export const demo7 = designPage(() => {
218
- const state = reactive({ show: false });
219
- return () => (
220
- <>
221
- <DemoRow title="全屏弹框">
222
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
223
- <Dialog v-model={state.show} fullscreen>
224
- <div>桃花坞里桃花庵;</div>
225
- <div>桃花庵里桃花仙;</div>
226
- <div>桃花仙人种桃树;</div>
227
- <div>又摘桃花换酒钱;</div>
228
- </Dialog>
229
- </DemoRow>
230
- </>
231
- );
232
- });
233
- export const demo8 = designPage(() => {
234
- const state = reactive({ show: false });
235
- return () => (
236
- <>
237
- <DemoRow title="无遮罩">
238
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
239
- <Dialog v-model={state.show} noMask minWidth={300}>
240
- <div>桃花坞里桃花庵;</div>
241
- <div>桃花庵里桃花仙;</div>
242
- <div>桃花仙人种桃树;</div>
243
- <div>又摘桃花换酒钱;</div>
244
- </Dialog>
245
- </DemoRow>
246
- </>
247
- );
248
- });
249
-
250
- export const demo9 = designPage(() => {
251
- const state = reactive({ show: false });
252
- return () => (
253
- <>
254
- <DemoRow title="继承属性">
255
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
256
- <Dialog v-model={state.show} noMask minWidth={300} className="my-dialog" data-id="hello">
257
- <div>桃花坞里桃花庵;</div>
258
- <div>桃花庵里桃花仙;</div>
259
- <div>桃花仙人种桃树;</div>
260
- <div>又摘桃花换酒钱;</div>
261
- </Dialog>
262
- </DemoRow>
263
- </>
264
- );
265
- });
266
- export const demo10 = designPage(() => {
267
- const state = reactive({ show: false, open: false });
268
- return () => (
269
- <>
270
- <DemoRow title="绑定open">
271
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
272
- <Button label={state.open ? 'open' : 'close'}/>
273
- <Dialog
274
- v-model={state.show}
275
- v-model:open={state.open}
276
- minWidth={300} className="my-dialog" data-id="hello">
277
- <div>桃花坞里桃花庵;</div>
278
- <div>桃花庵里桃花仙;</div>
279
- <div>桃花仙人种桃树;</div>
280
- <div>又摘桃花换酒钱;</div>
281
- </Dialog>
282
- </DemoRow>
283
- </>
284
- );
285
- });
286
-
287
-
288
- export const demo10_1 = designPage(() => {
289
- const state = reactive({ show1: false, show2: false });
290
- return () => (
291
- <>
292
- <DemoRow title="关闭按钮类型">
293
- <Button label="square" onClick={() => state.show1 = !state.show1}/>
294
- <Dialog v-model={state.show1} minWidth={300} closeType="square">
295
- <div>桃花坞里桃花庵;</div>
296
- <div>桃花庵里桃花仙;</div>
297
- <div>桃花仙人种桃树;</div>
298
- <div>又摘桃花换酒钱;</div>
299
- </Dialog>
300
-
301
- <Button label="triangle" onClick={() => state.show2 = !state.show2}/>
302
- <Dialog v-model={state.show2} minWidth={300} closeType="triangle">
303
- <div>桃花坞里桃花庵;</div>
304
- <div>桃花庵里桃花仙;</div>
305
- <div>桃花仙人种桃树;</div>
306
- <div>又摘桃花换酒钱;</div>
307
- </Dialog>
308
- </DemoRow>
309
- </>
310
- );
311
- });
312
-
313
- export const demo11 = designPage(() => {
314
- const state = reactive({ show: false, show2: false, show3: false, });
315
- return () => (
316
- <>
317
- <DemoRow title="关闭时销毁内容实例">
318
- <p>比如弹框内是一个带查询表单的数据表格,查询表单的查询参数有数据表格组件自己管理。</p>
319
- <p>关闭时销毁会导致每次打开,数据表格的查询参数都会重置</p>
320
- <p>不销毁则,每次打开状态停留在上次关闭的状态</p>
321
- <Button label="关闭时销毁内容实例" onClick={() => state.show = !state.show}/>
322
- <Dialog
323
- v-model={state.show}
324
- destroyOnClose
325
- minWidth={300}
326
- >
327
- <Input modelValue="hello world"/>
328
- </Dialog>
329
- <Button label="关闭时不销毁内容实例(默认)" onClick={() => state.show2 = !state.show2}/>
330
- <Dialog
331
- v-model={state.show2}
332
- minWidth={300}
333
- >
334
- <Input modelValue="hello world2"/>
335
- </Dialog>
336
-
337
- <Button label="立即初始化弹框内容(SEO)" onClick={() => state.show3 = !state.show3}/>
338
- <Dialog
339
- v-model={state.show3}
340
- minWidth={300}
341
- className="my-dialog-1"
342
- data-id="my-dialog-1"
343
- initialize
344
- >
345
- <Input modelValue="hello world2"/>
346
- </Dialog>
347
- </DemoRow>
348
- </>
349
- );
350
- });
351
-
352
- export const demo12 = designPage(() => {
353
- const state = reactive({ show: false, loading: false });
354
- return () => (
355
- <>
356
- <DemoRow title="加载状态">
357
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
358
- <Dialog v-model={state.show} minWidth="300" loading={state.loading} footAlign="center" headAlign="center" contentAlign="center">
359
- {{
360
- default: () => <>
361
- <div>桃花坞里桃花庵;</div>
362
- <div>桃花庵里桃花仙;</div>
363
- <div>桃花仙人种桃树;</div>
364
- <div>又摘桃花换酒钱;</div>
365
- </>,
366
- foot: () => (
367
- <Button label="open loading 3s" mode="fill" asyncHandler={async () => {
368
- state.loading = true;
369
- await delay(3000);
370
- state.loading = false;
371
- }}/>
372
- ),
373
- }}
374
- </Dialog>
375
- </DemoRow>
376
- </>
377
- );
378
- });
379
- export const demo13 = designPage(() => {
380
- const state = reactive({
381
- show: false,
382
- text: ''
383
- });
384
-
385
- const handleConfirm = async (close: () => void) => {
386
- await delay(2000);
387
- if (!state.text) {
388
- const msg = '请输入文本!';
389
- alert(msg);
390
- throw new Error(msg);
391
- }
392
- };
393
-
394
- return () => (
395
- <>
396
- <DemoRow title="异步确认">
397
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
398
- <Dialog v-model={state.show} minWidth="300" handleConfirm={handleConfirm} confirmButton cancelButton>
399
- <Input v-model={state.text}/>
400
- </Dialog>
401
- </DemoRow>
402
- </>
403
- );
404
- });
405
-
406
- export const demo14 = designPage(() => {
407
- const state = reactive({ show: false, show2: false });
408
- return () => (
409
- <>
410
- <DemoRow title="多个弹框">
411
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
412
- <Dialog v-model={state.show} minWidth="300">
413
- <Button label="打开弹框" onClick={() => state.show2 = !state.show2}/>
414
- </Dialog>
415
- <Dialog v-model={state.show2} minWidth="300">
416
- <div>桃花坞里桃花庵;</div>
417
- <div>桃花庵里桃花仙;</div>
418
- <div>桃花仙人种桃树;</div>
419
- <div>又摘桃花换酒钱;</div>
420
- </Dialog>
421
- </DemoRow>
422
- </>
423
- );
424
- });
425
-
426
-
427
- export const demo15 = designPage(() => {
428
- const state = reactive({ show: false, text: '' });
429
-
430
- const handleConfirm = async (close: () => void) => {
431
- await delay(2000);
432
- if (!state.text) {
433
- const msg = '请输入文本!';
434
- alert(msg);
435
- throw new Error(msg);
436
- }
437
- };
438
-
439
- const handleCancel = async (close: () => void) => {
440
- await delay(2000);
441
- if (!state.text) {
442
- if (!confirm('确定要取消吗?')) {
443
- return Promise.reject('stop cancel!');
444
- }
445
- }
446
- };
447
-
448
- return () => (
449
- <>
450
- <DemoRow title="完全控制确认以及取消动作">
451
- <p>用户可以通过enter按键触发确定以及esc按键触发取消动作,所以要完全控制用户的行为,仅仅去掉确认按钮、取消按钮、关闭按钮是不够的。</p>
452
- <p>需要在handleConfirm以及handleCancel中处理,如果不允许关闭,请返回Promise.reject或者抛出异常</p>
453
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
454
- <Dialog v-model={state.show} minWidth="300" handleConfirm={handleConfirm} handleCancel={handleCancel} confirmButton cancelButton>
455
- <Input v-model={state.text}/>
456
- </Dialog>
457
- </DemoRow>
458
- </>
459
- );
460
- });
461
-
462
-
463
- export const demo16 = designPage(() => {
464
- const state = reactive({ val: {} as any });
465
- return () => (
466
- <>
467
- <DemoRow title="弹框位置">
468
- <p>类似于抽屉组件Drawer</p>
469
- {['top', 'left', 'right', 'bottom'].map(position => (
470
- <Button key={position} label={position.toUpperCase()} onClick={() => state.val[position] = !state.val[position]}/>
471
- ))}
472
- {(['top', 'left', 'right', 'bottom'] as const).map(position => (
473
- <Dialog key={position} v-model={state.val[position]} width={position === 'left' || position == 'right' ? 300 : undefined} position={position} confirmButton cancelButton>
474
- {{
475
- default: () => <>
476
- <div>桃花坞里桃花庵;</div>
477
- <div>桃花庵里桃花仙;</div>
478
- <div>桃花仙人种桃树;</div>
479
- <div>又摘桃花换酒钱;</div>
480
- </>,
481
- foot: () => <>
482
- <Button label="external" style={{ order: 5 }}/>
483
- </>
484
- }}
485
- </Dialog>
486
- ))}
487
- </DemoRow>
488
- </>
489
- );
490
- });
491
-
492
- export const demo17 = designPage(() => {
493
- const state = reactive({ show: false });
494
- return () => (
495
- <>
496
- <DemoRow title="可拖拽弹框">
497
- <Button label="打开弹框" onClick={() => state.show = !state.show}/>
498
- <Dialog v-model={state.show} minWidth="300" movable>
499
- <div>桃花坞里桃花庵;</div>
500
- <div>桃花庵里桃花仙;</div>
501
- <div>桃花仙人种桃树;</div>
502
- <div>又摘桃花换酒钱;</div>
503
- </Dialog>
504
- </DemoRow>
505
- </>
506
- );
507
- });