@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
@@ -1,12 +1,14 @@
1
+ import { popsUtils } from "../../utils/PopsUtils";
2
+ import { PopsTooltip } from "../tooltip";
1
3
  import type { PopsPanelButtonConfig } from "./types/components-button";
2
4
  import type { PopsPanelGeneralConfig, PopsPanelRightAsideContainerConfig } from "./types/components-common";
3
5
  import type { PopsPanelDeepViewConfig } from "./types/components-deepMenu";
4
6
  import type { PopsPanelContainerConfig } from "./types/components-container";
5
7
  import type { PopsPanelBottomContentConfig, PopsPanelContentConfig, PopsPanelConfig, PopsPanelViewConfig } from "./types";
6
- import type { PopsPanelInputConfig } from "./types/components-input";
8
+ import type { PopsPanelInputConfig, PopsPanelInputType } from "./types/components-input";
7
9
  import type { PopsPanelOwnConfig } from "./types/components-own";
8
- import type { PopsPanelSelectMultipleConfig } from "./types/components-selectMultiple";
9
- import type { PopsPanelSelectConfig } from "./types/components-select";
10
+ import type { PopsPanelSelectMultipleDataOption, PopsPanelSelectMultipleConfig } from "./types/components-selectMultiple";
11
+ import type { PopsPanelSelectConfig, PopsPanelSelectDataOption } from "./types/components-select";
10
12
  import type { PopsPanelSliderConfig } from "./types/components-slider";
11
13
  import type { PopsPanelSwitchConfig } from "./types/components-switch";
12
14
  import type { PopsPanelTextAreaConfig } from "./types/components-textarea";
@@ -116,7 +118,7 @@ export declare const PanelHandlerComponents: () => {
116
118
  * @param $bottomItem 底部<li>元素
117
119
  * @param bottomItemConfig 配置
118
120
  */
119
- setBottomItemClickEvent($bottomItem: HTMLElement, bottomItemConfig: PopsPanelBottomContentConfig): void;
121
+ onBottomItemClick($bottomItem: HTMLElement, bottomItemConfig: PopsPanelBottomContentConfig): void;
120
122
  /**
121
123
  * 创建左侧容器元素<li>
122
124
  * @param asideConfig 配置
@@ -127,66 +129,1146 @@ export declare const PanelHandlerComponents: () => {
127
129
  * 创建中间容器的元素<li>
128
130
  * @param viewConfig
129
131
  */
130
- createSectionContainerItem_switch(viewConfig: PopsPanelSwitchConfig): HTMLLIElement;
131
- /**
132
- * type ==> slider
133
- * 获取中间容器的元素<li>
134
- * @param viewConfig
135
- */
136
- createSectionContainerItem_slider(viewConfig: PopsPanelSliderConfig): HTMLLIElement;
132
+ createSectionContainerItem_switch(viewConfig: PopsPanelSwitchConfig): {
133
+ $el: HTMLLIElement;
134
+ handler: {
135
+ [Symbol.toStringTag]: string;
136
+ $data: {
137
+ value: boolean;
138
+ };
139
+ $ele: {
140
+ itemLeftTextContainer: HTMLElement | null;
141
+ switch: HTMLDivElement;
142
+ input: HTMLInputElement;
143
+ core: HTMLSpanElement;
144
+ };
145
+ init(): void;
146
+ /**
147
+ * 设置点击事件
148
+ */
149
+ onClick(): void;
150
+ /**
151
+ * 设置状态
152
+ */
153
+ setStatus(isChecked?: boolean): void;
154
+ /**
155
+ * 根据className来获取逆反值
156
+ */
157
+ getStatus(): boolean;
158
+ /**
159
+ * 禁用复选框
160
+ */
161
+ disable(): void;
162
+ /**
163
+ * 取消禁用复选框
164
+ */
165
+ notDisable(): void;
166
+ };
167
+ };
137
168
  /**
138
169
  * type ==> slider
139
170
  * 获取中间容器的元素<li>
140
171
  * @param viewConfig
141
172
  */
142
- createSectionContainerItem_slider_new(viewConfig: PopsPanelSliderConfig): HTMLLIElement;
173
+ createSectionContainerItem_slider(viewConfig: PopsPanelSliderConfig): {
174
+ $el: HTMLLIElement;
175
+ handler: {
176
+ [Symbol.toStringTag]: string;
177
+ /**
178
+ * 值
179
+ */
180
+ value: number;
181
+ /**
182
+ * 最小值
183
+ */
184
+ min: number;
185
+ /**
186
+ * 最大值
187
+ */
188
+ max: number;
189
+ /**
190
+ * 间隔
191
+ */
192
+ step: number;
193
+ $data: {
194
+ /**
195
+ * 是否正在移动
196
+ */
197
+ isMove: boolean;
198
+ /**
199
+ * 是否已初始化已拖拽的距离
200
+ */
201
+ isInitDragPosition: boolean;
202
+ /**
203
+ * 是否正在检测是否停止拖拽
204
+ */
205
+ isCheckingStopDragMove: boolean;
206
+ /**
207
+ * 总宽度(px)
208
+ */
209
+ totalWidth: number;
210
+ /**
211
+ * 每一块的间隔(px)
212
+ */
213
+ stepPx: number;
214
+ /**
215
+ * 已拖拽的距离(px)
216
+ */
217
+ dragWidth: number;
218
+ /**
219
+ * 已拖拽的百分比
220
+ */
221
+ dragPercent: number;
222
+ /**
223
+ * 每一次块的信息
224
+ * 例如:当最小值是2,最大值是10,step为2
225
+ * 那么生成[2,4,6,8,10] 共计5个
226
+ * 又获取到当前滑块总长度是200px
227
+ * 那么生成映射
228
+ * 2 => 0px~40px
229
+ * 4 => 40px~80px
230
+ * 6 => 80px~120px
231
+ * 8 => 120px~160px
232
+ * 10 => 160px~200px
233
+ */
234
+ stepBlockMap: Map<number, {
235
+ value: number;
236
+ px: number;
237
+ pxLeft: number;
238
+ pxRight: number;
239
+ percent: number;
240
+ }>;
241
+ tooltip: ReturnType<typeof PopsTooltip.init>;
242
+ };
243
+ $ele: {
244
+ itemLeftTextContainer: HTMLElement | null;
245
+ slider: HTMLElement;
246
+ runAway: HTMLElement;
247
+ bar: HTMLElement;
248
+ buttonWrapper: HTMLElement;
249
+ button: HTMLElement;
250
+ };
251
+ $interval: {
252
+ isCheck: boolean;
253
+ };
254
+ $tooltip: ReturnType<typeof popsUtils.AnyTouch>["prototype"];
255
+ init(): void;
256
+ /**
257
+ * 10s内循环获取slider的宽度等信息
258
+ * 获取到了就可以初始化left的值
259
+ * @param [checkStepTime=200] 每次检测的间隔时间
260
+ * @param [maxTime=10000] 最大的检测时间
261
+ */
262
+ intervalInit(checkStepTime?: number, maxTime?: number): void;
263
+ /**
264
+ * 把数据添加到元素上
265
+ */
266
+ initEleData(): void;
267
+ /**
268
+ * 初始化滑块的总长度的数据(px)
269
+ */
270
+ initTotalWidth(): void;
271
+ /**
272
+ * 初始化每一个块的具体数据信息
273
+ */
274
+ initStepMap(): void;
275
+ /**
276
+ * 初始化每一个块的具体数据信息(浮点)
277
+ */
278
+ initFloatStepMap(): void;
279
+ /**
280
+ * 初始化slider的默认起始left的百分比值
281
+ */
282
+ initSliderPosition(): void;
283
+ /**
284
+ * 判断数字是否是浮点数
285
+ * @param num
286
+ */
287
+ isFloat(num: number): boolean;
288
+ /**
289
+ * 值改变的回调
290
+ * @param event
291
+ * @param value
292
+ */
293
+ valueChangeCallBack(event: any, value: number): void;
294
+ /**
295
+ * 根据拖拽距离获取滑块应该在的区间和值
296
+ * @param dragX
297
+ */
298
+ getDragInfo(dragX: number): {
299
+ value: number;
300
+ px: number;
301
+ pxLeft: number;
302
+ pxRight: number;
303
+ percent: number;
304
+ } | undefined;
305
+ /**
306
+ * 获取滑块的当前脱拖拽占据的百分比
307
+ * @param dragWidth
308
+ */
309
+ getSliderPositonPercent(dragWidth: number): number;
310
+ /**
311
+ * 根据step格式化value
312
+ * @param num
313
+ */
314
+ formatValue(num: number): number;
315
+ /**
316
+ * 设置滑块的位置偏移(left)
317
+ * @param percent 百分比
318
+ */
319
+ setSliderPosition(percent: number): void;
320
+ /**
321
+ * 禁止拖拽
322
+ */
323
+ disableDrag(): void;
324
+ /**
325
+ * 允许拖拽
326
+ */
327
+ allowDrag(): void;
328
+ /**
329
+ * 判断当前滑块是否被禁用
330
+ */
331
+ isDisabledDrag(): boolean;
332
+ /**
333
+ * 判断当前滑块是否被禁用(配置中判断)
334
+ */
335
+ isDisabledDragWithConfig(): boolean;
336
+ /**
337
+ * 设置进度条点击定位的事件
338
+ */
339
+ onRunAwayClick(): void;
340
+ /**
341
+ * 拖拽开始的回调,如果返回false,禁止拖拽
342
+ */
343
+ dragStartCallBack(): boolean;
344
+ /**
345
+ * 拖拽中的回调
346
+ * @param event 事件
347
+ * @param dragX 当前拖拽的距离
348
+ * @param oldValue 旧的值
349
+ */
350
+ dragMoveCallBack(event: any, dragX: number, oldValue: number): void;
351
+ /**
352
+ * 拖拽结束的回调
353
+ */
354
+ dragEndCallBack(dragX: number): void;
355
+ /**
356
+ * 设置点击拖拽事件
357
+ */
358
+ setPanEvent(): void;
359
+ /**
360
+ * 显示悬浮的
361
+ */
362
+ showToolTip(): void;
363
+ /**
364
+ * 关闭悬浮的
365
+ */
366
+ closeToolTip(): void;
367
+ /**
368
+ * 检测在1000ms内,是否停止了拖拽
369
+ */
370
+ checkStopDragMove(): void;
371
+ /**
372
+ * 设置拖拽按钮的悬浮事件
373
+ */
374
+ setToolTipEvent(): void;
375
+ };
376
+ };
143
377
  /**
144
378
  * type ==> input
145
379
  * 获取中间容器的元素<li>
146
380
  * @param viewConfig
147
381
  */
148
- createSectionContainerItem_input(viewConfig: PopsPanelInputConfig): HTMLLIElement;
382
+ createSectionContainerItem_input(viewConfig: PopsPanelInputConfig): {
383
+ $el: HTMLLIElement;
384
+ handler: {
385
+ [Symbol.toStringTag]: string;
386
+ $el: {
387
+ itemLeftTextContainer: HTMLElement | null;
388
+ panelInput: HTMLDivElement;
389
+ panelInputInner: HTMLDivElement;
390
+ input: HTMLInputElement;
391
+ /** span.pops-panel-input__suffix */
392
+ suffix: HTMLSpanElement;
393
+ /** span.pops-panel-input__suffix-inner */
394
+ suffixInner: HTMLSpanElement;
395
+ /** i.pops-panel-icon */
396
+ icon: HTMLElement;
397
+ };
398
+ $data: {
399
+ value: string | number | Date;
400
+ /**
401
+ * inputType 为 password时使用该值
402
+ *
403
+ * 当前内容的可见性
404
+ */
405
+ isVisible: boolean;
406
+ };
407
+ init(): void;
408
+ /**
409
+ * 初始化$ele的配置
410
+ */
411
+ initEle(): void;
412
+ /**
413
+ * 校验输入框类型是否是字符串输入框类型
414
+ */
415
+ isTextInputType(): boolean;
416
+ /**
417
+ * 是否是时间输入框类型
418
+ */
419
+ isDateInputType(): boolean;
420
+ /**
421
+ * 是否是数字输入框类型
422
+ */
423
+ isNumberInputType(): boolean;
424
+ /**
425
+ * 禁用
426
+ */
427
+ disable(): void;
428
+ /**
429
+ * 取消禁用
430
+ */
431
+ notDisable(): void;
432
+ /**
433
+ * 判断是否已被禁用
434
+ */
435
+ isDisabled(): boolean;
436
+ /**
437
+ * 设置输入框内容
438
+ * @param value 值
439
+ */
440
+ setInputValue(value?: string | number | Date): void;
441
+ /**
442
+ * 设置input元素的type
443
+ * @param typeValue type值
444
+ */
445
+ setInputType(typeValue?: PopsPanelInputType): void;
446
+ /**
447
+ * 删除图标按钮
448
+ */
449
+ removeCircleIcon(): void;
450
+ /**
451
+ * 添加清空图标按钮
452
+ * @param svgHTML svg图标,默认为清空的图标
453
+ */
454
+ setCircleIcon(svgHTML?: string): void;
455
+ /**
456
+ * 隐藏图标容器
457
+ */
458
+ hideCircleIconWrapper(): void;
459
+ /**
460
+ * 显示图标容器
461
+ */
462
+ showCircleIconWrapper(): void;
463
+ /**
464
+ * 添加图标按钮的点击事件
465
+ */
466
+ onIconClick(): void;
467
+ /**
468
+ * 监听输入框内容改变
469
+ */
470
+ onValueChange(): void;
471
+ /**
472
+ * 主动触发输入框改变事件
473
+ */
474
+ triggerValueChange(): void;
475
+ /**
476
+ * 添加校验失败的提示信息
477
+ * @param msg 提示信息
478
+ */
479
+ addValidErrorMsg(msg?: string): void;
480
+ /**
481
+ * 移除校验失败的提示信息
482
+ */
483
+ removeValidErrorMsg(): void;
484
+ };
485
+ };
149
486
  /**
150
487
  * type ==> textarea
151
488
  * 获取中间容器的元素<li>
152
489
  * @param viewConfig
153
490
  */
154
- createSectionContainerItem_textarea(viewConfig: PopsPanelTextAreaConfig): HTMLLIElement;
491
+ createSectionContainerItem_textarea(viewConfig: PopsPanelTextAreaConfig): {
492
+ $el: HTMLLIElement;
493
+ handler: {
494
+ [Symbol.toStringTag]: string;
495
+ $ele: {
496
+ itemLeftTextContainer: HTMLElement | null;
497
+ panelTextarea: HTMLDivElement;
498
+ textarea: HTMLTextAreaElement;
499
+ };
500
+ $data: {
501
+ value: string;
502
+ };
503
+ init(): void;
504
+ disable(): void;
505
+ notDisable(): void;
506
+ isDisabled(): boolean;
507
+ setValue(value: string): void;
508
+ /**
509
+ * 监听选择内容改变
510
+ */
511
+ onValueChange(): void;
512
+ };
513
+ };
155
514
  /**
156
515
  * type ==> select
157
516
  * 获取中间容器的元素<li>
158
517
  * @param viewConfig
159
518
  */
160
- createSectionContainerItem_select(viewConfig: PopsPanelSelectConfig<any>): HTMLLIElement;
519
+ createSectionContainerItem_select(viewConfig: PopsPanelSelectConfig<any>): {
520
+ $el: HTMLLIElement;
521
+ handler: {
522
+ [Symbol.toStringTag]: string;
523
+ $el: {
524
+ itemLeftTextContainer: HTMLElement;
525
+ $container: HTMLElement;
526
+ $select: HTMLSelectElement;
527
+ };
528
+ $eleKey: {
529
+ disable: string;
530
+ value: string;
531
+ viewConfig: string;
532
+ };
533
+ $data: {
534
+ data: PopsPanelSelectDataOption<any>[];
535
+ defaultValue: any;
536
+ };
537
+ init(): void;
538
+ /**
539
+ * 给option元素设置属性
540
+ * @param $ele
541
+ * @param key
542
+ * @param value
543
+ */
544
+ setNodeValue($ele: HTMLElement, key: string, value: any): void;
545
+ /**
546
+ * 获取option元素上设置的属性
547
+ * @param $ele
548
+ * @param value
549
+ * @param key
550
+ */
551
+ getNodeValue($ele: HTMLElement, key: string): any;
552
+ /**
553
+ * 禁用选项
554
+ */
555
+ disable(): void;
556
+ /**
557
+ * 取消禁用
558
+ */
559
+ notDisable(): void;
560
+ /**
561
+ * 判断是否禁用
562
+ */
563
+ isDisabled(): boolean;
564
+ /**
565
+ * 初始化选项
566
+ */
567
+ initOption(): void;
568
+ /**
569
+ * 设置选项选中
570
+ * @param $option
571
+ */
572
+ setOptionSelected($option: HTMLOptionElement): void;
573
+ /**
574
+ * 检测所有option并设置禁用状态
575
+ */
576
+ setSelectOptionsDisableStatus(): void;
577
+ /**
578
+ * 设置禁用状态
579
+ * @param $option
580
+ */
581
+ setOptionDisableStatus($option: HTMLOptionElement): void;
582
+ /**
583
+ * 获取option上的信息
584
+ * @param $option
585
+ */
586
+ getSelectOptionInfo($option: HTMLOptionElement): {
587
+ value: any;
588
+ text: string;
589
+ views: NonNullable<IFunction<(PopsPanelViewConfig | PopsPanelContainerConfig)[]> | undefined>;
590
+ $option: HTMLOptionElement;
591
+ };
592
+ /**
593
+ * 监听选择内容改变
594
+ */
595
+ onValueChange(): void;
596
+ /**
597
+ * 监听点击事件
598
+ */
599
+ onClick(): void;
600
+ } | {
601
+ [Symbol.toStringTag]: string;
602
+ $el: {
603
+ $itemLeftContainer: HTMLElement;
604
+ /** 选择框容器 */
605
+ $container: HTMLElement;
606
+ /** 选择框包裹的容器 */
607
+ $wrapper: HTMLElement;
608
+ /** 内容区域 */
609
+ $section: HTMLElement;
610
+ /** 手动输入 */
611
+ $selectedInputWrapper: HTMLElement;
612
+ /** 灰色提示语 */
613
+ $selectedPlaceHolderWrapper: HTMLElement;
614
+ /** 下拉箭头区域 */
615
+ $suffix: HTMLElement;
616
+ /** 下拉箭头图标 */
617
+ $suffixIcon: HTMLElement;
618
+ /** 下拉列表弹窗的下拉列表容器 */
619
+ $selectDialogContainer: HTMLElement | null;
620
+ };
621
+ $data: {
622
+ /**
623
+ * 数据
624
+ */
625
+ data: PopsPanelSelectDataOption<any>[];
626
+ /**
627
+ * 默认值
628
+ */
629
+ defaultValue: any;
630
+ /**
631
+ * 选择的信息
632
+ */
633
+ selectedData: PopsPanelSelectDataOption<any> | undefined;
634
+ /**
635
+ * 是否验证通过
636
+ */
637
+ isValidSuccess: boolean;
638
+ /**
639
+ * 箭头旋转的属性
640
+ */
641
+ rotateKey: string;
642
+ };
643
+ /** 初始化 */
644
+ init(): void;
645
+ /** 初始化默认值 */
646
+ initDefault(): void;
647
+ /** 初始化$ele变量 */
648
+ initEl(): void;
649
+ /**
650
+ * 初始化提示文字
651
+ */
652
+ initPlaceHolder(): void;
653
+ /**
654
+ * 重新渲染外面的已选择项的文本
655
+ *
656
+ * 如果未选择,显示提示文字
657
+ */
658
+ renderSelectText(): void;
659
+ /**
660
+ * 禁用选项容器
661
+ */
662
+ disable(): void;
663
+ /**
664
+ * 取消禁用选项容器
665
+ */
666
+ cancleDisable(): void;
667
+ /**
668
+ * 判断当前是否已禁用选项容器
669
+ */
670
+ isDisabled(): boolean;
671
+ /**
672
+ * 设置选择列表的点击事件
673
+ *
674
+ * 点击显示选择列表的弹窗
675
+ */
676
+ onShowSelectDialogClick(): void;
677
+ /**
678
+ * 选中的值改变的回调
679
+ * @param data 当前的选中信息
680
+ */
681
+ onValueChangeCallback(data?: PopsPanelSelectDataOption<any>, isUpdateSelectItem?: boolean): void;
682
+ /**
683
+ * 更新选项弹窗内的所有选项元素的状态
684
+ *
685
+ * + 更新禁用状态
686
+ * + 更新选中状态
687
+ */
688
+ updateAllSelectItemStatus(): void;
689
+ /**
690
+ * 重置所有已选中的项以下状态
691
+ *
692
+ * + 更新选项显示的文字
693
+ * + 移除禁用状态
694
+ * + 移除选中状态
695
+ */
696
+ resetAllSelectedItemStatus(): void;
697
+ /**
698
+ * 设置选项元素选中
699
+ * @param $el 选项元素
700
+ */
701
+ setItemSelected($el: HTMLElement): void;
702
+ /**
703
+ * 移除选项元素选中
704
+ * @param $el 选项元素
705
+ */
706
+ removeItemSelected($el: HTMLElement): void;
707
+ /**
708
+ * 判断选项元素是否选中
709
+ * @param $el
710
+ */
711
+ isItemSelected($el: HTMLElement): boolean;
712
+ /**
713
+ * 获取项上存储的信息
714
+ * @param $el 选项元素
715
+ */
716
+ getItemDataOption($el: HTMLElement): PopsPanelSelectDataOption<any>;
717
+ /**
718
+ * 添加选中信息
719
+ * @param data 选择项的数据
720
+ * @param [triggerValueChangeCallBack=true] 主动触发值改变回调
721
+ */
722
+ addSelectedItemInfo(data: PopsPanelSelectDataOption<any>): void;
723
+ /**
724
+ * 移除选中信息
725
+ * @param data 选择项的数据
726
+ */
727
+ removeSelectedItemInfo(): void;
728
+ /**
729
+ * 更新选中信息
730
+ * @param data 数据
731
+ */
732
+ updateSelectedInfo(data?: PopsPanelSelectDataOption<any>): void;
733
+ /**
734
+ * 从保存的已选中的信息列表中移除目标信息
735
+ */
736
+ resetCurrentSelectedInfo(): void;
737
+ /**
738
+ * 获取所有选项的信息
739
+ * @param [onlySelected=true] 是否仅获取选中的项的信息
740
+ * + true (默认)仅获取选中项的信息
741
+ * + false 获取所有选择项的信息
742
+ */
743
+ getAllSelectItems(onlySelected?: boolean): {
744
+ /** 选项信息数据 */
745
+ data: PopsPanelSelectDataOption<any>;
746
+ /** 选项元素 */
747
+ $select: HTMLElement;
748
+ }[];
749
+ /**
750
+ * 创建一个选择项元素
751
+ * @param data 选择项的数据
752
+ */
753
+ createSelectItemElement(data: PopsPanelSelectDataOption<any>): HTMLLIElement;
754
+ /**
755
+ * 设置选择项的文字
756
+ * @param data 选择项的数据
757
+ * @param $select 选择项元素
758
+ */
759
+ setSelectItemText(data: PopsPanelSelectDataOption<any>, $select: HTMLElement): void;
760
+ /**
761
+ * 设置选择项禁用
762
+ * @param $select 选择项元素
763
+ */
764
+ setSelectItemDisabled($select: HTMLElement): void;
765
+ /**
766
+ * 移除选择项的禁用状态
767
+ * @param $select 选择项元素
768
+ */
769
+ removeSelectItemDisabled($select: HTMLElement): void;
770
+ /**
771
+ * 判断选择项是否禁用
772
+ * @param $select 选择项元素
773
+ */
774
+ isSelectItemDisabled($select: HTMLElement): string | true | null;
775
+ /**
776
+ * 设置选择项的点击事件
777
+ * @param data 该选择项的信息
778
+ * @param $select 该选择项元素
779
+ */
780
+ onSelectItemClick(data: PopsPanelSelectDataOption<any> | undefined, $select: HTMLElement): void;
781
+ /** 显示输入框 */
782
+ showInputWrapper(): void;
783
+ /** 隐藏输入框 */
784
+ hideInputWrapper(): void;
785
+ /** 显示palceholder */
786
+ showPlaceHolderWrapper(): void;
787
+ /** 隐藏palceholder */
788
+ hidePlaceHolderWrapper(): void;
789
+ } | {
790
+ [Symbol.toStringTag]: string;
791
+ $el: {
792
+ $itemLeftContainer: HTMLElement;
793
+ /** 选择框容器 */
794
+ $container: HTMLElement;
795
+ /** 选择框包裹的容器 */
796
+ $wrapper: HTMLElement;
797
+ };
798
+ $data: {
799
+ /**
800
+ * 数据
801
+ */
802
+ data: PopsPanelSelectDataOption<any>[];
803
+ /**
804
+ * 默认值
805
+ */
806
+ defaultValue: any;
807
+ /**
808
+ * 选择的信息
809
+ */
810
+ selectedData: PopsPanelSelectDataOption<any> | undefined;
811
+ /**
812
+ * 箭头旋转的属性
813
+ */
814
+ rotateKey: string;
815
+ };
816
+ /** 初始化 */
817
+ init(): void;
818
+ /** 初始化默认值 */
819
+ initDefault(): void;
820
+ /** 初始化$ele变量 */
821
+ initEl(): void;
822
+ /**
823
+ * 禁用选项容器
824
+ */
825
+ disable(): void;
826
+ /**
827
+ * 取消禁用选项容器
828
+ */
829
+ cancleDisable(): void;
830
+ /**
831
+ * 判断当前是否已禁用选项容器
832
+ */
833
+ isDisabled(): boolean;
834
+ /**
835
+ * 创建选择项
836
+ * @param data 数据
837
+ */
838
+ createSelectItemElement(data: PopsPanelSelectDataOption<any>): HTMLDivElement;
839
+ /**
840
+ * 设置选择项的文字
841
+ * @param data 选择项的数据
842
+ * @param $select 选择项元素
843
+ */
844
+ setSelectItemText(data: PopsPanelSelectDataOption<any>, $select: HTMLElement): void;
845
+ /**
846
+ * 设置选择项点击事件
847
+ */
848
+ onSelectItemClick(data: PopsPanelSelectDataOption<any> | undefined, $el: HTMLElement): void;
849
+ /**
850
+ * 选中的值改变的回调
851
+ * @param data 当前的选中信息
852
+ */
853
+ onValueChangeCallback(data?: PopsPanelSelectDataOption<any>, isUpdateSelectItem?: boolean): void;
854
+ /**
855
+ * 更新选项弹窗内的所有选项元素的状态
856
+ *
857
+ * + 更新禁用状态
858
+ * + 更新选中状态
859
+ */
860
+ updateAllSelectItemStatus(): void;
861
+ /**
862
+ * 重置所有已选中的项以下状态
863
+ *
864
+ * + 更新选项显示的文字
865
+ * + 移除禁用状态
866
+ * + 移除选中状态
867
+ */
868
+ resetAllSelectedItemStatus(): void;
869
+ /**
870
+ * 添加选中信息
871
+ * @param data 选择项的数据
872
+ * @param [triggerValueChangeCallBack=true] 主动触发值改变回调
873
+ */
874
+ addSelectedItemInfo(data: PopsPanelSelectDataOption<any>): void;
875
+ /**
876
+ * 移除选中信息
877
+ * @param data 选择项的数据
878
+ */
879
+ removeSelectedItemInfo(): void;
880
+ /**
881
+ * 更新选中信息
882
+ * @param data 数据
883
+ */
884
+ updateSelectedInfo(data?: PopsPanelSelectDataOption<any>): void;
885
+ /**
886
+ * 从保存的已选中的信息列表中移除目标信息
887
+ */
888
+ resetCurrentSelectedInfo(): void;
889
+ /**
890
+ * 设置选择项禁用
891
+ * @param $select 选择项元素
892
+ */
893
+ setSelectItemDisabled($select: HTMLElement): void;
894
+ /**
895
+ * 移除选择项的禁用状态
896
+ * @param $select 选择项元素
897
+ */
898
+ removeSelectItemDisabled($select: HTMLElement): void;
899
+ /**
900
+ * 判断选择项是否禁用
901
+ * @param $select 选择项元素
902
+ */
903
+ isSelectItemDisabled($select: HTMLElement): string | true | null;
904
+ /**
905
+ * 设置选择项选中
906
+ * @param $select 选择项元素(.select-item)
907
+ */
908
+ setItemSelected($select: HTMLElement): void;
909
+ /**
910
+ * 移除选择项选中
911
+ * @param $select 选择项元素(.select-item)
912
+ */
913
+ removeItemSelected($select: HTMLElement): void;
914
+ /**
915
+ * 判断选择项是否选中
916
+ * @param $select 选择项元素(.select-item)
917
+ */
918
+ isItemSelected($select: HTMLElement): boolean;
919
+ /**
920
+ * 获取所有选项的信息
921
+ * @param [onlySelected=true] 是否仅获取选中的项的信息
922
+ * + true (默认)仅获取选中项的信息
923
+ * + false 获取所有选择项的信息
924
+ */
925
+ getAllSelectItems(onlySelected?: boolean): {
926
+ /** 选项信息数据 */
927
+ data: PopsPanelSelectDataOption<any>;
928
+ /** 选项元素 */
929
+ $select: HTMLElement;
930
+ }[];
931
+ /**
932
+ * 获取项上存储的信息
933
+ * @param $el 选项元素
934
+ */
935
+ getItemDataOption($el: HTMLElement): PopsPanelSelectDataOption<any>;
936
+ } | undefined;
937
+ };
161
938
  /**
162
939
  * type ==> select-multiple
163
940
  * 获取中间容器的元素<li>
164
941
  * @param viewConfig
165
942
  */
166
- createSectionContainerItem_select_multiple(viewConfig: PopsPanelSelectMultipleConfig<any>): HTMLLIElement;
943
+ createSectionContainerItem_select_multiple(viewConfig: PopsPanelSelectMultipleConfig<any>): {
944
+ $el: HTMLLIElement;
945
+ handler: {
946
+ [Symbol.toStringTag]: string;
947
+ $el: {
948
+ /** 左侧文本容器 */
949
+ $itemLeftContainer: HTMLElement | null;
950
+ /** 选择框容器 */
951
+ $container: HTMLElement;
952
+ /** 选择框包裹的容器 */
953
+ $wrapper: HTMLElement;
954
+ /** 内容区域 */
955
+ $section: HTMLElement;
956
+ /** 手动输入 */
957
+ $selectedInputWrapper: HTMLElement;
958
+ /** 灰色提示语 */
959
+ $selectedPlaceHolderWrapper: HTMLElement;
960
+ /** 下拉箭头区域 */
961
+ $suffix: HTMLElement;
962
+ /** 下拉箭头图标 */
963
+ $suffixIcon: HTMLElement;
964
+ /** 下拉列表弹窗的下拉列表容器 */
965
+ $selectContainer: HTMLElement | null;
966
+ };
967
+ $data: {
968
+ /** 默认值 */
969
+ defaultValue: any[];
970
+ /**
971
+ * 已选择的信息
972
+ */
973
+ selectedDataList: PopsPanelSelectMultipleDataOption<any>[];
974
+ /**
975
+ * 箭头旋转的属性
976
+ */
977
+ rotateKey: string;
978
+ };
979
+ /** 初始化 */
980
+ init(): void;
981
+ /** 初始化默认值 */
982
+ initDefault(): void;
983
+ /** 初始化$el变量 */
984
+ inintEl(): void;
985
+ /**
986
+ * 初始化提示文字
987
+ */
988
+ initPlaceHolder(): void;
989
+ /**
990
+ * 初始化tag元素
991
+ */
992
+ initTagElement(): void;
993
+ /**
994
+ * 生成一个tag项
995
+ * @param data 配置
996
+ */
997
+ createTagItem(data: PopsPanelSelectMultipleDataOption<any>): {
998
+ $tag: HTMLDivElement;
999
+ $tagText: HTMLSpanElement;
1000
+ $closeIcon: HTMLElement;
1001
+ };
1002
+ /**
1003
+ * 添加选中项的tag元素
1004
+ * @param $tag 添加的元素
1005
+ */
1006
+ addTagItem($tag: HTMLElement): void;
1007
+ /**
1008
+ * 更新tag信息
1009
+ */
1010
+ updateTagItem(): void;
1011
+ /**
1012
+ * 选中的值改变的回调
1013
+ * @param selectedDataList 当前的选中信息
1014
+ */
1015
+ onValueChange(selectedDataList?: PopsPanelSelectMultipleDataOption<any>[]): void;
1016
+ /**
1017
+ * 更新选项弹窗内的所有选项元素的状态
1018
+ *
1019
+ * + 更新禁用状态
1020
+ * + 更新选中状态
1021
+ */
1022
+ updateAllSelectItems(): void;
1023
+ /**
1024
+ * 设置选项元素选中
1025
+ * @param $select 选项元素
1026
+ */
1027
+ setItemSelected($select: HTMLElement): void;
1028
+ /**
1029
+ * 移除选项元素选中
1030
+ * @param $select 选项元素
1031
+ */
1032
+ removeItemSelected($select: HTMLElement): void;
1033
+ /**
1034
+ * 判断选项元素是否选中
1035
+ * @param $select
1036
+ */
1037
+ isItemSelected($select: HTMLElement): boolean;
1038
+ /**
1039
+ * 添加选中信息
1040
+ * @param dataList 选择项列表的数据
1041
+ * @param $select 选项元素
1042
+ */
1043
+ addItemSelected(dataList: PopsPanelSelectMultipleDataOption<any>[], $select: HTMLElement): void;
1044
+ /**
1045
+ * 获取选中的项的信息
1046
+ * @param $select 选项元素
1047
+ */
1048
+ getSelectedItemInfo($select: HTMLElement): PopsPanelSelectMultipleDataOption<any>;
1049
+ /**
1050
+ * 移除选中信息
1051
+ * @param dataList 选择项的数据
1052
+ * @param $select 选项元素
1053
+ */
1054
+ removeSelectedItemInfo(dataList: PopsPanelSelectMultipleDataOption<any>[], $select: HTMLElement): void;
1055
+ /**
1056
+ * 获取所有选项的信息
1057
+ * @param [onlySelected=true] 是否仅获取选中的项的信息
1058
+ * + true (默认)仅获取选中项的信息
1059
+ * + false 获取所有选择项的信息
1060
+ */
1061
+ getAllSelectItemInfo(onlySelected?: boolean): {
1062
+ /** 选项信息数据 */
1063
+ data: PopsPanelSelectMultipleDataOption<any>;
1064
+ /** 选项元素 */
1065
+ $select: HTMLElement;
1066
+ }[];
1067
+ /**
1068
+ * 创建一个选择项元素
1069
+ * @param data 选择项的数据
1070
+ */
1071
+ createSelectItemElement(data: PopsPanelSelectMultipleDataOption<any>): HTMLLIElement;
1072
+ /**
1073
+ * 设置选择项的文字
1074
+ * @param data 选择项的数据
1075
+ * @param $select 选择项元素
1076
+ */
1077
+ setSelectItemText(data: PopsPanelSelectMultipleDataOption<any>, $select: HTMLElement): void;
1078
+ /**
1079
+ * 设置选择项的禁用状态
1080
+ * @param $select 选择项元素
1081
+ */
1082
+ disableSelectItem($select: HTMLElement): void;
1083
+ /**
1084
+ * 移除选择项的禁用状态
1085
+ * @param $select 选择项元素
1086
+ */
1087
+ cancleDisableSelectItem($select: HTMLElement): void;
1088
+ /**
1089
+ * 判断选择项是否禁用
1090
+ * @param $select 选择项元素
1091
+ */
1092
+ isSelectItemDisabled($select: HTMLElement): string | true | null;
1093
+ /**
1094
+ * 设置选择项的点击事件
1095
+ * @param dataList 选中的信息列表
1096
+ * @param $select 选择项元素
1097
+ */
1098
+ onSelectItemClick(dataList: PopsPanelSelectMultipleDataOption<any>[], $select: HTMLElement): void;
1099
+ /**
1100
+ * 设置下拉列表的点击事件
1101
+ *
1102
+ * 点击显示下拉列表弹窗
1103
+ */
1104
+ onShowSelectDialogClick(): void;
1105
+ /**
1106
+ * 设置关闭图标的点击事件
1107
+ * @param data 选中的信息
1108
+ */
1109
+ onSelectItemCloseIconClick(data: {
1110
+ /** 关闭图标的元素 */
1111
+ $closeIcon: HTMLElement;
1112
+ /** tag元素 */
1113
+ $tag: HTMLElement;
1114
+ /** 值 */
1115
+ value: PopsPanelSelectMultipleDataOption<any>["value"];
1116
+ /** 显示的文字 */
1117
+ text: PopsPanelSelectMultipleDataOption<any>["text"];
1118
+ }): void;
1119
+ /**
1120
+ * 检测tag是否为空
1121
+ *
1122
+ * 如果为空则显示placeholder
1123
+ */
1124
+ checkTagEmpty(): void;
1125
+ /**
1126
+ * 移除选中项元素
1127
+ */
1128
+ removeSelectedTagItem($tag: HTMLElement): void;
1129
+ /**
1130
+ * 从保存的已选中的信息列表中移除目标信息
1131
+ * @param data 需要移除的信息
1132
+ * @param [triggerValueChangeCallBack=true] 是否触发值改变的回调
1133
+ * + true (默认)触发值改变的回调
1134
+ * + false 不触发值改变的回调
1135
+ */
1136
+ removeSelectedInfo(data: PopsPanelSelectMultipleDataOption<any>, triggerValueChangeCallBack?: boolean): void;
1137
+ /** 显示输入框 */
1138
+ showInputWrapper(): void;
1139
+ /** 隐藏输入框 */
1140
+ hideInputWrapper(): void;
1141
+ /** 显示palceholder */
1142
+ showPlaceHolderWrapper(): void;
1143
+ /** 隐藏palceholder */
1144
+ hidePlaceHolderWrapper(): void;
1145
+ /** 设置隐藏section的前面的空白 */
1146
+ setSectionIsNear(): void;
1147
+ /** 取消设置隐藏section的前面的空白 */
1148
+ removeSectionIsNear(): void;
1149
+ /**
1150
+ * 禁用标签
1151
+ */
1152
+ disable(): void;
1153
+ /**
1154
+ * 判断是否被禁用
1155
+ */
1156
+ isDisabled(): boolean;
1157
+ /**
1158
+ * 取消禁用标签
1159
+ */
1160
+ cancleDisable(): void;
1161
+ };
1162
+ };
167
1163
  /**
168
1164
  * type ==> button
169
1165
  * 获取中间容器的元素<li>
170
1166
  * @param viewConfig
171
1167
  */
172
- createSectionContainerItem_button(viewConfig: PopsPanelButtonConfig): HTMLLIElement;
1168
+ createSectionContainerItem_button(viewConfig: PopsPanelButtonConfig): {
1169
+ $el: HTMLLIElement;
1170
+ handler: {
1171
+ [Symbol.toStringTag]: string;
1172
+ $ele: {
1173
+ panelButton: HTMLDivElement;
1174
+ button: HTMLDivElement;
1175
+ icon: HTMLDivElement;
1176
+ spanText: HTMLDivElement;
1177
+ };
1178
+ $data: {};
1179
+ init(): void;
1180
+ initButton(): void;
1181
+ disable(): void;
1182
+ notDisable(): void;
1183
+ /**
1184
+ * 隐藏icon图标
1185
+ */
1186
+ hideIcon(): void;
1187
+ /**
1188
+ * 显示icon图标
1189
+ */
1190
+ showIcon(): void;
1191
+ /**
1192
+ * 设置icon图标的svg
1193
+ */
1194
+ setIconSVG(svgHTML: string): void;
1195
+ /**
1196
+ * 设置icon图标是否旋转
1197
+ * @param status
1198
+ */
1199
+ setIconLoadingStatus(status: any): void;
1200
+ /**
1201
+ * 设置属性上是否存在icon图标
1202
+ */
1203
+ setHasIcon(value: any): void;
1204
+ /**
1205
+ * 设置按钮类型
1206
+ * @param typeValue
1207
+ */
1208
+ setButtonType(typeValue: string): void;
1209
+ /**
1210
+ * 添加按钮的图标在右边
1211
+ */
1212
+ setIconRight(): void;
1213
+ /**
1214
+ * (默认)添加按钮的图标在左边
1215
+ */
1216
+ setIconLeft(): void;
1217
+ /**
1218
+ * 设置按钮文本
1219
+ * @param text
1220
+ */
1221
+ setButtonText(text: string): void;
1222
+ /**
1223
+ * 设置按钮的点击事件
1224
+ */
1225
+ onButtonClick(): void;
1226
+ };
1227
+ };
173
1228
  /**
174
1229
  * type ==> deepMenu
175
1230
  * 获取深层容器的元素<li>
176
1231
  * @param viewConfig
177
1232
  */
178
- createSectionContainerItem_deepMenu(viewConfig: PopsPanelDeepViewConfig): HTMLLIElement;
1233
+ createSectionContainerItem_deepMenu(viewConfig: PopsPanelDeepViewConfig): {
1234
+ $el: HTMLLIElement;
1235
+ handler: {
1236
+ [Symbol.toStringTag]: string;
1237
+ $ele: {
1238
+ readonly parentSection: HTMLElement;
1239
+ };
1240
+ init(): void;
1241
+ /**
1242
+ * 生成配置每一项的元素
1243
+ * @param $container
1244
+ * @param formItemConfig
1245
+ */
1246
+ initContainerItem($container: HTMLElement, formItemConfig: PopsPanelViewConfig | PopsPanelContainerConfig): void;
1247
+ /**
1248
+ * 前往子菜单
1249
+ * @param event 点击事件
1250
+ * @param liElement 当前的<li>元素
1251
+ */
1252
+ gotoDeepMenu(event: Event, liElement: HTMLLIElement): Promise<void>;
1253
+ /** 设置项的点击事件 */
1254
+ onLiClick(): void;
1255
+ };
1256
+ };
179
1257
  /**
180
1258
  * type ===> own
181
1259
  * 获取中间容器的元素<li>
182
1260
  * @param viewConfig
183
1261
  */
184
- createSectionContainerItem_own(viewConfig: PopsPanelOwnConfig): HTMLLIElement;
1262
+ createSectionContainerItem_own(viewConfig: PopsPanelOwnConfig): {
1263
+ $el: HTMLLIElement;
1264
+ };
185
1265
  /**
186
1266
  * 获取中间容器的元素<li>
187
1267
  * @param viewConfig 视图配置
188
1268
  */
189
- createSectionContainerItem(viewConfig: PopsPanelViewConfig): HTMLLIElement | undefined;
1269
+ createSectionContainerItem(viewConfig: PopsPanelViewConfig): {
1270
+ $el: HTMLLIElement;
1271
+ } | undefined;
190
1272
  /**
191
1273
  * 生成配置项forms
192
1274
  * 生成配置每一项的元素
@@ -209,5 +1291,5 @@ export declare const PanelHandlerComponents: () => {
209
1291
  * @param $asideItem 左侧的容器<li>元素
210
1292
  * @param asideConfig 配置
211
1293
  */
212
- setAsideItemClickEvent($asideItem: HTMLElement, asideConfig: PopsPanelContentConfig): void;
1294
+ onAsideItemClick($asideItem: HTMLElement, asideConfig: PopsPanelContentConfig): void;
213
1295
  };