@whitesev/pops 3.0.0 → 3.0.2

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 (61) hide show
  1. package/dist/index.amd.js +1964 -719
  2. package/dist/index.amd.js.map +1 -1
  3. package/dist/index.amd.min.js +1 -1
  4. package/dist/index.amd.min.js.map +1 -1
  5. package/dist/index.cjs.js +1964 -719
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.cjs.min.js +1 -1
  8. package/dist/index.cjs.min.js.map +1 -1
  9. package/dist/index.esm.js +1964 -719
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.esm.min.js +1 -1
  12. package/dist/index.esm.min.js.map +1 -1
  13. package/dist/index.iife.js +1964 -719
  14. package/dist/index.iife.js.map +1 -1
  15. package/dist/index.iife.min.js +1 -1
  16. package/dist/index.iife.min.js.map +1 -1
  17. package/dist/index.system.js +1964 -719
  18. package/dist/index.system.js.map +1 -1
  19. package/dist/index.system.min.js +1 -1
  20. package/dist/index.system.min.js.map +1 -1
  21. package/dist/index.umd.js +1964 -719
  22. package/dist/index.umd.js.map +1 -1
  23. package/dist/index.umd.min.js +1 -1
  24. package/dist/index.umd.min.js.map +1 -1
  25. package/dist/types/src/Pops.d.ts +413 -22
  26. package/dist/types/src/PopsCSS.d.ts +3 -1
  27. package/dist/types/src/PopsIcon.d.ts +1 -1
  28. package/dist/types/src/components/panel/handlerComponents.d.ts +1103 -21
  29. package/dist/types/src/components/panel/index.d.ts +2 -2
  30. package/dist/types/src/components/panel/types/components-button.d.ts +1 -1
  31. package/dist/types/src/components/panel/types/components-container.d.ts +1 -1
  32. package/dist/types/src/components/panel/types/components-deepMenu.d.ts +1 -1
  33. package/dist/types/src/components/panel/types/components-input.d.ts +41 -16
  34. package/dist/types/src/components/panel/types/components-own.d.ts +3 -3
  35. package/dist/types/src/components/panel/types/components-select.d.ts +126 -30
  36. package/dist/types/src/components/panel/types/components-selectMultiple.d.ts +10 -15
  37. package/dist/types/src/components/panel/types/components-slider.d.ts +2 -3
  38. package/dist/types/src/components/panel/types/components-switch.d.ts +1 -1
  39. package/dist/types/src/components/panel/types/components-textarea.d.ts +1 -1
  40. package/dist/types/src/components/searchSuggestion/index.d.ts +3 -3
  41. package/dist/types/src/types/global.d.ts +3 -1
  42. package/package.json +8 -8
  43. package/src/PopsCSS.ts +4 -1
  44. package/src/components/panel/css/components-select.css +84 -0
  45. package/src/components/panel/defaultConfig.ts +473 -213
  46. package/src/components/panel/handlerComponents.ts +1504 -499
  47. package/src/components/panel/index.css +149 -14
  48. package/src/components/panel/types/components-button.ts +1 -1
  49. package/src/components/panel/types/components-container.ts +1 -1
  50. package/src/components/panel/types/components-deepMenu.ts +1 -1
  51. package/src/components/panel/types/components-input.ts +51 -16
  52. package/src/components/panel/types/components-own.ts +3 -3
  53. package/src/components/panel/types/components-select.ts +131 -32
  54. package/src/components/panel/types/components-selectMultiple.ts +11 -16
  55. package/src/components/panel/types/components-slider.ts +2 -3
  56. package/src/components/panel/types/components-switch.ts +1 -1
  57. package/src/components/panel/types/components-textarea.ts +1 -1
  58. package/src/components/rightClickMenu/index.css +1 -1
  59. package/src/components/searchSuggestion/index.ts +20 -65
  60. package/src/css/common.css +4 -4
  61. package/src/types/global.d.ts +3 -1
@@ -24,7 +24,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
24
24
  className: "forms-1",
25
25
  text: "区域设置",
26
26
  type: "container",
27
- attributes: {},
28
27
  views: [
29
28
  {
30
29
  className: "panel-switch",
@@ -32,11 +31,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
32
31
  type: "switch",
33
32
  disabled: false,
34
33
  description: "",
35
- afterAddToUListCallBack() {
36
- // TODO
37
- },
38
- props: {},
39
- attributes: {},
40
34
  getValue() {
41
35
  return true;
42
36
  },
@@ -49,17 +43,12 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
49
43
  text: "slider",
50
44
  type: "slider",
51
45
  description: "",
52
- afterAddToUListCallBack() {
53
- // TODO
54
- },
55
46
  disabled: false,
56
47
  getToolTipContent(value) {
57
48
  return String(value);
58
49
  },
59
50
  isShowHoverTip: true,
60
51
  step: 1,
61
- props: {},
62
- attributes: {},
63
52
  getValue() {
64
53
  return 50;
65
54
  },
@@ -76,11 +65,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
76
65
  description: "",
77
66
  disable: false,
78
67
  buttonIsRightIcon: false,
79
- props: {},
80
- afterAddToUListCallBack() {
81
- // TODO
82
- },
83
- attributes: {},
84
68
  buttonIcon: "view",
85
69
  buttonIconIsLoading: true,
86
70
  buttonType: "default",
@@ -93,8 +77,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
93
77
  className: "panel-button",
94
78
  text: "button",
95
79
  type: "button",
96
- props: {},
97
- attributes: {},
98
80
  buttonIcon: "eleme",
99
81
  buttonIconIsLoading: true,
100
82
  buttonType: "warning",
@@ -106,10 +88,7 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
106
88
  {
107
89
  className: "panel-button",
108
90
  text: "button",
109
- // @ts-ignore
110
- props: {},
111
91
  type: "button",
112
- attributes: {},
113
92
  buttonIcon: "chromeFilled",
114
93
  buttonIconIsLoading: true,
115
94
  buttonType: "danger",
@@ -122,9 +101,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
122
101
  className: "panel-button",
123
102
  text: "button",
124
103
  type: "button",
125
- attributes: {},
126
- // @ts-ignore
127
- props: {},
128
104
  buttonIcon: "upload",
129
105
  buttonIconIsLoading: false,
130
106
  buttonType: "info",
@@ -151,9 +127,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
151
127
  className: "panel-input",
152
128
  text: "input",
153
129
  type: "input",
154
- isNumber: false,
155
- props: {},
156
- attributes: {},
157
130
  getValue() {
158
131
  return "50";
159
132
  },
@@ -163,12 +136,32 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
163
136
  },
164
137
  placeholder: "请输入内容",
165
138
  },
139
+ {
140
+ className: "panel-input-number",
141
+ text: "input-number",
142
+ type: "input",
143
+ inputType: "number",
144
+ getValue() {
145
+ return "50";
146
+ },
147
+ callback(event, value, valueAsNumber) {
148
+ popsDOMUtils.preventEvent(event);
149
+ console.log("输入框内容改变:", valueAsNumber);
150
+ if (valueAsNumber! > 60) {
151
+ return {
152
+ valid: false,
153
+ message: "输入值不能大于60,当前:" + value,
154
+ };
155
+ }
156
+ },
157
+ placeholder: "请输入内容",
158
+ },
166
159
  {
167
160
  className: "panel-input-password",
168
161
  text: "input-password",
169
162
  type: "input",
170
- props: {},
171
- attributes: {},
163
+ inputType: "password",
164
+ placeholder: "请输入密码",
172
165
  getValue() {
173
166
  return "123456";
174
167
  },
@@ -176,211 +169,504 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
176
169
  popsDOMUtils.preventEvent(event);
177
170
  console.log("密码输入框内容改变:", value);
178
171
  },
179
- isPassword: true,
180
- placeholder: "请输入密码",
181
172
  },
182
173
  {
183
- className: "panel-textarea",
184
- text: "textarea",
185
- type: "textarea",
186
- props: {},
187
- attributes: {},
174
+ className: "panel-input-file",
175
+ text: "input-file",
176
+ type: "input",
177
+ inputType: "file",
188
178
  getValue() {
189
- return "50";
179
+ return "";
190
180
  },
191
181
  callback(event, value) {
192
182
  popsDOMUtils.preventEvent(event);
193
- console.log("textarea输入框内容改变:", value);
183
+ console.log("内容改变:", value);
194
184
  },
185
+ placeholder: "请输入密码",
186
+ },
187
+ {
188
+ className: "panel-input-date",
189
+ text: "input-date",
190
+ type: "input",
191
+ inputType: "date",
195
192
  placeholder: "请输入内容",
193
+ getValue() {
194
+ const date = new Date();
195
+ let hour = date.getHours().toString();
196
+ let minutes = date.getMinutes().toString();
197
+ if (hour.length === 1) {
198
+ hour = `0${hour}`;
199
+ }
200
+ if (minutes.length === 1) {
201
+ minutes = `0${minutes}`;
202
+ }
203
+ return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
204
+ },
205
+ callback(event, value, valueAsNumber, valueAsDate) {
206
+ popsDOMUtils.preventEvent(event);
207
+ console.log("输入框内容改变:", value, valueAsNumber, valueAsDate);
208
+ },
196
209
  },
197
210
  {
198
- className: "panel-select-disabled",
199
- text: "select-disabled",
200
- type: "select",
201
- disabled: true,
202
- props: {},
203
- attributes: {},
211
+ className: "panel-input-datetime-local",
212
+ text: "input-datetime-local",
213
+ type: "input",
214
+ inputType: "datetime-local",
204
215
  getValue() {
205
- return 50;
216
+ const date = new Date();
217
+ let hour = date.getHours().toString();
218
+ let minutes = date.getMinutes().toString();
219
+ if (hour.length === 1) {
220
+ hour = `0${hour}`;
221
+ }
222
+ if (minutes.length === 1) {
223
+ minutes = `0${minutes}`;
224
+ }
225
+ return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}T${hour}:${minutes}`;
206
226
  },
207
- callback(event, isSelectedValue, isSelectedText) {
208
- console.log(`select当前选项:${isSelectedValue},当前选项文本:${isSelectedText}`);
227
+ callback(event, value, valueAsNumber, valueAsDate) {
228
+ popsDOMUtils.preventEvent(event);
229
+ console.log("输入框内容改变:", value, valueAsNumber, valueAsDate);
209
230
  },
210
- data: [
211
- {
212
- value: "all",
213
- text: "所有",
214
- disable() {
215
- return false;
216
- },
217
- views: [],
218
- },
219
- {
220
- value: "text",
221
- text: "文本",
222
- disable() {
223
- return false;
224
- },
225
- views: [],
226
- },
227
- {
228
- value: "html",
229
- text: "超文本",
230
- disable() {
231
- return false;
232
- },
233
- views: [],
234
- },
235
- ],
231
+ placeholder: "请输入内容",
236
232
  },
237
233
  {
238
- className: "panel-select-multiple-disabled",
239
- type: "select-multiple",
240
- text: "select-multiple-disabled",
241
- disabled: true,
242
- props: {},
243
-
244
- attributes: {},
245
- placeholder: "请至少选择一个选项",
234
+ className: "panel-input-time",
235
+ text: "input-time",
236
+ type: "input",
237
+ inputType: "time",
246
238
  getValue() {
247
- return ["select-1", "select-2"];
239
+ return "11:30";
248
240
  },
249
- callback(selectInfo) {
250
- console.log(`select值改变,多选信息`, selectInfo);
241
+ callback(event, value, valueAsNumber, valueAsDate) {
242
+ popsDOMUtils.preventEvent(event);
243
+ console.log("输入框内容改变:", value, valueAsNumber, valueAsDate);
251
244
  },
252
- clickCallBack(event, isSelectedInfo) {
253
- console.log("点击", event, isSelectedInfo);
245
+ placeholder: "请输入内容",
246
+ },
247
+ {
248
+ className: "panel-input-month",
249
+ text: "input-month",
250
+ type: "input",
251
+ inputType: "month",
252
+ getValue() {
253
+ const date = new Date();
254
+ return `${date.getFullYear()}-${date.getMonth() + 1}`;
254
255
  },
255
- closeIconClickCallBack(event, data) {
256
- console.log("点击关闭图标的事件", data);
256
+ callback(event, value, valueAsNumber, valueAsDate) {
257
+ popsDOMUtils.preventEvent(event);
258
+ console.log("输入框内容改变:", value, valueAsNumber, valueAsDate);
257
259
  },
258
- data: [
259
- {
260
- value: "select-1",
261
- text: "单选1",
262
- isHTML: false,
263
- },
264
- {
265
- value: "select-2",
266
- text: "单选2",
267
- isHTML: false,
268
- },
269
- {
270
- value: "select-3",
271
- text: "单选3",
272
- isHTML: false,
273
- },
274
- {
275
- value: "select-4",
276
- text: "单选4",
277
- isHTML: false,
278
- },
279
- ],
260
+ placeholder: "请输入内容",
280
261
  },
281
262
  {
282
- className: "panel-select",
283
- text: "select",
284
- type: "select",
285
- props: {},
286
- attributes: {},
263
+ className: "panel-input-week",
264
+ text: "input-week",
265
+ type: "input",
266
+ inputType: "week",
287
267
  getValue() {
288
- return 50;
268
+ const date = new Date();
269
+ return `${date.getFullYear()}-W01`;
289
270
  },
290
- callback(event, isSelectedValue, isSelectedText) {
291
- console.log(`select当前选项:${isSelectedValue},当前选项文本:${isSelectedText}`);
271
+ callback(event, value, valueAsNumber, valueAsDate) {
272
+ popsDOMUtils.preventEvent(event);
273
+ console.log("输入框内容改变:", value, valueAsNumber, valueAsDate);
292
274
  },
293
- data: [
294
- {
295
- value: "all",
296
- text: "所有",
297
- disable() {
298
- return false;
299
- },
300
- views: [],
301
- },
302
- {
303
- value: "text",
304
- text: "文本",
305
- disable() {
306
- return false;
307
- },
308
- views: [],
309
- },
310
- {
311
- value: "html",
312
- text: "超文本",
313
- disable() {
314
- return false;
315
- },
316
- views: [],
317
- },
318
- ],
275
+ placeholder: "请输入内容",
319
276
  },
320
277
  {
321
- className: "panel-select-multiple",
322
- type: "select-multiple",
323
- text: "select-multiple",
324
- props: {},
325
-
326
- attributes: {},
327
- placeholder: "请至少选择一个选项",
278
+ className: "panel-input-search",
279
+ text: "input-search",
280
+ type: "input",
281
+ inputType: "search",
328
282
  getValue() {
329
- return ["select-1", "select-2"];
283
+ return "search test";
330
284
  },
331
- callback(selectInfo) {
332
- console.log(`select值改变,多选信息`, selectInfo);
285
+ callback(event, value) {
286
+ popsDOMUtils.preventEvent(event);
287
+ console.log("输入框内容改变:", value);
288
+ },
289
+ placeholder: "请输入内容",
290
+ },
291
+ {
292
+ className: "panel-input-color",
293
+ text: "input-color",
294
+ type: "input",
295
+ inputType: "color",
296
+ getValue() {
297
+ return "#ff0000";
298
+ },
299
+ callback(event, value) {
300
+ popsDOMUtils.preventEvent(event);
301
+ console.log("输入框内容改变:", value);
333
302
  },
334
- clickCallBack(event, isSelectedInfo) {
335
- console.log("点击", event, isSelectedInfo);
303
+ placeholder: "请输入内容",
304
+ },
305
+ {
306
+ className: "panel-input-email",
307
+ text: "input-email",
308
+ type: "input",
309
+ inputType: "email",
310
+ getValue() {
311
+ return "test@gmail.com";
336
312
  },
337
- closeIconClickCallBack(event, data) {
338
- console.log("点击关闭图标的事件", data);
313
+ callback(event, value) {
314
+ popsDOMUtils.preventEvent(event);
315
+ const $input = event.target as HTMLInputElement;
316
+ console.log("输入框内容改变:", value, $input.validity);
339
317
  },
340
- data: [
318
+ placeholder: "请输入内容",
319
+ },
320
+ {
321
+ className: "panel-input-tel",
322
+ text: "input-tel",
323
+ type: "input",
324
+ inputType: "tel",
325
+ getValue() {
326
+ return "11111111111";
327
+ },
328
+ callback(event, value) {
329
+ popsDOMUtils.preventEvent(event);
330
+ const $input = event.target as HTMLInputElement;
331
+ console.log("输入框内容改变:", value, $input.validity);
332
+ },
333
+ placeholder: "请输入内容",
334
+ },
335
+ {
336
+ className: "panel-input-url",
337
+ text: "input-url",
338
+ type: "input",
339
+ inputType: "url",
340
+ getValue() {
341
+ return "https://github.com/";
342
+ },
343
+ callback(event, value) {
344
+ popsDOMUtils.preventEvent(event);
345
+ const $input = event.target as HTMLInputElement;
346
+ console.log("输入框内容改变:", value, $input.validity);
347
+ },
348
+ placeholder: "请输入内容",
349
+ },
350
+ {
351
+ className: "panel-textarea",
352
+ text: "textarea",
353
+ type: "textarea",
354
+ getValue() {
355
+ return "50";
356
+ },
357
+ callback(event, value) {
358
+ popsDOMUtils.preventEvent(event);
359
+ console.log("textarea输入框内容改变:", value);
360
+ },
361
+ placeholder: "请输入内容",
362
+ },
363
+ {
364
+ type: "container",
365
+ text: "",
366
+ views: [
367
+ {
368
+ className: "panel-select-disabled",
369
+ text: "select-disabled",
370
+ type: "select",
371
+ disabled: true,
372
+ getValue() {
373
+ return "text";
374
+ },
375
+ callback(isSelectedInfo) {
376
+ if (isSelectedInfo == null) return;
377
+ console.log(`select当前选项:${isSelectedInfo.value},当前选项文本:${isSelectedInfo.text}`);
378
+ },
379
+ data: [
380
+ {
381
+ value: "all",
382
+ text: "所有",
383
+ disable() {
384
+ return false;
385
+ },
386
+ },
387
+ {
388
+ value: "text",
389
+ text: "文本",
390
+ disable() {
391
+ return false;
392
+ },
393
+ },
394
+ {
395
+ value: "html",
396
+ text: "超文本",
397
+ disable() {
398
+ return false;
399
+ },
400
+ },
401
+ ],
402
+ },
341
403
  {
342
- value: "select-1",
343
- text: "单选1",
344
- isHTML: false,
345
- disable(value, allSelectedInfo) {
346
- return allSelectedInfo.findIndex((it) => ["select-5"].includes(it.value)) !== -1;
404
+ className: "panel-select-multiple-disabled",
405
+ type: "select-multiple",
406
+ text: "select-multiple-disabled",
407
+ disabled: true,
408
+ placeholder: "请至少选择一个选项",
409
+ getValue() {
410
+ return ["select-1", "select-2"];
411
+ },
412
+ callback(selectInfo) {
413
+ console.log(`select值改变,多选信息`, selectInfo);
347
414
  },
415
+ clickCallBack(event, isSelectedInfo) {
416
+ console.log("点击", event, isSelectedInfo);
417
+ },
418
+ closeIconClickCallBack(event, data) {
419
+ console.log("点击关闭图标的事件", data);
420
+ },
421
+ data: [
422
+ {
423
+ value: "select-1",
424
+ text: "单选1",
425
+ isHTML: false,
426
+ },
427
+ {
428
+ value: "select-2",
429
+ text: "单选2",
430
+ isHTML: false,
431
+ },
432
+ {
433
+ value: "select-3",
434
+ text: "单选3",
435
+ isHTML: false,
436
+ },
437
+ {
438
+ value: "select-4",
439
+ text: "单选4",
440
+ isHTML: false,
441
+ },
442
+ ],
348
443
  },
349
444
  {
350
- value: "select-2",
351
- text: "单选2",
352
- isHTML: false,
353
- disable(value, allSelectedInfo) {
354
- return allSelectedInfo.findIndex((it) => ["select-5"].includes(it.value)) !== -1;
445
+ className: "panel-select-native",
446
+ text: "select-native",
447
+ type: "select",
448
+ mode: "native",
449
+ getValue() {
450
+ return "all";
451
+ },
452
+ callback(isSelectedInfo) {
453
+ if (isSelectedInfo == null) return;
454
+ console.log(`select当前选项:${isSelectedInfo.value},当前选项文本:${isSelectedInfo.text}`);
355
455
  },
456
+ data: [
457
+ {
458
+ value: "all",
459
+ text: "所有",
460
+ disable() {
461
+ return false;
462
+ },
463
+ },
464
+ {
465
+ value: "text",
466
+ text: "文本",
467
+ disable() {
468
+ return false;
469
+ },
470
+ },
471
+ {
472
+ value: "html",
473
+ text: "超文本",
474
+ disable() {
475
+ return false;
476
+ },
477
+ },
478
+ ],
356
479
  },
357
480
  {
358
- value: "select-3",
359
- text: "单选3",
360
- isHTML: false,
361
- disable(value, allSelectedInfo) {
362
- return allSelectedInfo.findIndex((it) => ["select-2", "select-5"].includes(it.value)) !== -1;
481
+ className: "panel-select-dialog",
482
+ text: "select-dialog",
483
+ type: "select",
484
+ mode: "dialog",
485
+ getValue() {
486
+ return window.localStorage.getItem("select-dialog-customInput") || "";
363
487
  },
488
+ callback(isSelectedInfo) {
489
+ if (isSelectedInfo == null) {
490
+ console.warn(`select当前选项为空`);
491
+ return;
492
+ }
493
+ if (isSelectedInfo.addCustomInput) {
494
+ if (isSelectedInfo.value === "") {
495
+ // 空值,不存储
496
+ if (isSelectedInfo.customInputStoreKey) {
497
+ console.log(`select删除自定义输入的值`);
498
+ window.localStorage.removeItem(isSelectedInfo.customInputStoreKey);
499
+ }
500
+ } else {
501
+ console.log(
502
+ `select当前自定义输入框内容:${isSelectedInfo.value},当前选项显示文本:${isSelectedInfo.text}`
503
+ );
504
+ if (isSelectedInfo.customInputStoreKey) {
505
+ window.localStorage.setItem(isSelectedInfo.customInputStoreKey!, isSelectedInfo.value);
506
+ }
507
+ }
508
+ } else {
509
+ console.log(`select当前选项:${isSelectedInfo.value},当前选项显示文本:${isSelectedInfo.text}`);
510
+ }
511
+ },
512
+ data: [
513
+ {
514
+ value: "all",
515
+ text: "所有",
516
+ disable() {
517
+ return false;
518
+ },
519
+ },
520
+ {
521
+ value: "text",
522
+ text: "文本",
523
+ disable(value, selectInfo) {
524
+ if (selectInfo?.value === "all") return true;
525
+ return false;
526
+ },
527
+ },
528
+ {
529
+ value: "html",
530
+ text: "超文本",
531
+ disable(value, selectInfo) {
532
+ if (selectInfo?.value === "all") return true;
533
+ return false;
534
+ },
535
+ },
536
+ {
537
+ value: "own",
538
+ text: "自定义",
539
+ disable(value, selectInfo) {
540
+ if (selectInfo?.value === "all") return true;
541
+ return false;
542
+ },
543
+ },
544
+ {
545
+ value: window.localStorage.getItem("select-dialog-customInput") || "",
546
+ text: window.localStorage.getItem("select-dialog-customInput") || "",
547
+ addCustomInput: true,
548
+ customInputStoreKey: "select-dialog-customInput",
549
+ onValid(dataOption) {
550
+ if (dataOption.value === "123") {
551
+ console.error("非规范值");
552
+ return {
553
+ valid: false,
554
+ message: "非规范值",
555
+ };
556
+ }
557
+ return {
558
+ valid: true,
559
+ };
560
+ },
561
+ },
562
+ ],
364
563
  },
365
564
  {
366
- value: "select-4",
367
- text: "单选4",
368
- isHTML: false,
369
- disable(value, allSelectedInfo) {
370
- return allSelectedInfo.findIndex((it) => ["select-3", "select-5"].includes(it.value)) !== -1;
565
+ className: "panel-select-horizontal",
566
+ text: "select-horizontal",
567
+ type: "select",
568
+ mode: "horizontal",
569
+ getValue() {
570
+ return "text";
371
571
  },
572
+ callback(isSelectedInfo) {
573
+ if (isSelectedInfo == null) return;
574
+ console.log(`select当前选项:${isSelectedInfo.value},当前选项文本:${isSelectedInfo.text}`);
575
+ },
576
+ data: [
577
+ {
578
+ value: "all",
579
+ text: "所有",
580
+ disable() {
581
+ return false;
582
+ },
583
+ },
584
+ {
585
+ value: "text",
586
+ text: "文本",
587
+ disable() {
588
+ return false;
589
+ },
590
+ },
591
+ {
592
+ value: "html",
593
+ text: "超文本",
594
+ disable() {
595
+ return false;
596
+ },
597
+ },
598
+ {
599
+ value: "own",
600
+ text: "自定义",
601
+ disable() {
602
+ return true;
603
+ },
604
+ },
605
+ ],
372
606
  },
373
607
  {
374
- value: "select-5",
375
- text(value, allSelectedInfo) {
376
- return allSelectedInfo.findIndex((it) => ["select-4"].includes(it.value)) !== -1
377
- ? "单选5-禁用"
378
- : "单选5";
608
+ className: "panel-select-multiple",
609
+ type: "select-multiple",
610
+ text: "select-multiple",
611
+ placeholder: "请至少选择一个选项",
612
+ getValue() {
613
+ return ["select-1", "select-2"];
379
614
  },
380
- isHTML: false,
381
- disable(value, allSelectedInfo) {
382
- return allSelectedInfo.findIndex((it) => ["select-4"].includes(it.value)) !== -1;
615
+ callback(selectInfo) {
616
+ console.log(`select值改变,多选信息`, selectInfo);
383
617
  },
618
+ clickCallBack(event, isSelectedInfo) {
619
+ console.log("点击", event, isSelectedInfo);
620
+ },
621
+ closeIconClickCallBack(event, data) {
622
+ console.log("点击关闭图标的事件", data);
623
+ },
624
+ data: [
625
+ {
626
+ value: "select-1",
627
+ text: "单选1",
628
+ isHTML: false,
629
+ disable(value, allSelectedInfo) {
630
+ return allSelectedInfo.findIndex((it) => ["select-5"].includes(it.value)) !== -1;
631
+ },
632
+ },
633
+ {
634
+ value: "select-2",
635
+ text: "单选2",
636
+ isHTML: false,
637
+ disable(value, allSelectedInfo) {
638
+ return allSelectedInfo.findIndex((it) => ["select-5"].includes(it.value)) !== -1;
639
+ },
640
+ },
641
+ {
642
+ value: "select-3",
643
+ text: "单选3",
644
+ isHTML: false,
645
+ disable(value, allSelectedInfo) {
646
+ return allSelectedInfo.findIndex((it) => ["select-2", "select-5"].includes(it.value)) !== -1;
647
+ },
648
+ },
649
+ {
650
+ value: "select-4",
651
+ text: "单选4",
652
+ isHTML: false,
653
+ disable(value, allSelectedInfo) {
654
+ return allSelectedInfo.findIndex((it) => ["select-3", "select-5"].includes(it.value)) !== -1;
655
+ },
656
+ },
657
+ {
658
+ value: "select-5",
659
+ text(value, allSelectedInfo) {
660
+ return allSelectedInfo.findIndex((it) => ["select-4"].includes(it.value)) !== -1
661
+ ? "单选5-禁用"
662
+ : "单选5";
663
+ },
664
+ isHTML: false,
665
+ disable(value, allSelectedInfo) {
666
+ return allSelectedInfo.findIndex((it) => ["select-4"].includes(it.value)) !== -1;
667
+ },
668
+ },
669
+ ],
384
670
  },
385
671
  ],
386
672
  },
@@ -406,16 +692,11 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
406
692
  className: "forms-1",
407
693
  text: "区域设置",
408
694
  type: "container",
409
- attributes: {},
410
- props: {},
411
695
  views: [
412
696
  {
413
697
  className: "panel-switch",
414
698
  text: "switch",
415
699
  type: "switch",
416
- // @ts-ignore
417
- props: {},
418
- attributes: {},
419
700
  getValue() {
420
701
  return true;
421
702
  },
@@ -426,10 +707,7 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
426
707
  {
427
708
  className: "panel-slider",
428
709
  text: "slider",
429
- // @ts-ignore
430
- props: {},
431
710
  type: "slider",
432
- attributes: {},
433
711
  getValue() {
434
712
  return 50;
435
713
  },
@@ -442,10 +720,7 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
442
720
  {
443
721
  className: "panel-button",
444
722
  text: "button",
445
- // @ts-ignore
446
- props: {},
447
723
  type: "button",
448
- attributes: {},
449
724
  buttonIcon: "eleme",
450
725
  buttonIconIsLoading: true,
451
726
  buttonType: "warning",
@@ -458,9 +733,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
458
733
  className: "panel-button",
459
734
  text: "button",
460
735
  type: "button",
461
- // @ts-ignore
462
- props: {},
463
- attributes: {},
464
736
  buttonIcon: "chromeFilled",
465
737
  buttonIconIsLoading: true,
466
738
  buttonType: "danger",
@@ -472,10 +744,7 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
472
744
  {
473
745
  className: "panel-button",
474
746
  text: "button",
475
- // @ts-ignore
476
- props: {},
477
747
  type: "button",
478
- attributes: {},
479
748
  buttonIcon: "upload",
480
749
  buttonIconIsLoading: false,
481
750
  buttonType: "info",
@@ -491,9 +760,7 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
491
760
  {
492
761
  type: "deepMenu",
493
762
  className: "panel-deepMenu2",
494
- attributes: {},
495
763
  //@ts-ignore
496
- props: {},
497
764
  text: "deepMenu2",
498
765
  description: "二级菜单",
499
766
  rightText: "自定义配置",
@@ -519,10 +786,7 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
519
786
  {
520
787
  className: "panel-switch",
521
788
  text: "switch",
522
- // @ts-ignore
523
- props: {},
524
789
  type: "switch",
525
- attributes: {},
526
790
  getValue() {
527
791
  return true;
528
792
  },
@@ -545,8 +809,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
545
809
  "data-value": "value",
546
810
  "data-value-2": "value2",
547
811
  },
548
- // @ts-ignore
549
- props: {},
550
812
  views: [],
551
813
  clickFirstCallback: function () {
552
814
  return false;
@@ -560,8 +822,6 @@ export const PopsPanelDefaultConfig = (): DeepRequired<PopsPanelConfig> => {
560
822
  "data-value": "value",
561
823
  "data-value-2": "value2",
562
824
  },
563
- // @ts-ignore
564
- props: {},
565
825
  views: [],
566
826
  clickFirstCallback: function () {
567
827
  return false;