rayyy-vue-table-components 1.2.19 → 1.2.21

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.
@@ -2,6 +2,8 @@ import type { App, DefineComponent, VNode } from 'vue'
2
2
  import type { TableColumnCtx } from 'element-plus'
3
3
  import type { SortChangValue, TableColumn } from './index'
4
4
 
5
+ // ==================== 表格相關組件類型 ====================
6
+
5
7
  // ==================== BaseTable 組件類型 ====================
6
8
 
7
9
  /** BaseTable 組件 Props 類型 */
@@ -47,6 +49,52 @@ export interface BaseTableInstance<T extends Record<string, unknown> = Record<st
47
49
  $emit: BaseTableEmits<T>
48
50
  }
49
51
 
52
+ // ==================== SortTable 組件類型 ====================
53
+
54
+ /** SortTable 組件 Props 類型 */
55
+ export interface SortTableProps<T extends Record<string, unknown> = Record<string, unknown>> {
56
+ /** 表格數據 */
57
+ data: T[]
58
+ /** 表格列配置 */
59
+ columns: import('./index').TableColumn<T>[]
60
+ /** 表格標題 */
61
+ tableTitle?: string
62
+ /** 是否顯示選擇列 */
63
+ showSelection?: boolean
64
+ /** 是否顯示加載狀態 */
65
+ loading?: boolean
66
+ /** 是否顯示匯總行 */
67
+ showSummary?: boolean
68
+ /** 是否顯示溢出提示 */
69
+ showOverFlowTooltip?: boolean
70
+ /** 匯總方法 */
71
+ summaryMethod?: (param: { columns: import('element-plus').TableColumnCtx<Record<string, unknown>>[]; data: T[] }) => (string | import('vue').VNode)[]
72
+ /** 行樣式類名 */
73
+ sortTableRowClassName?: (data: { row: T; rowIndex: number }) => string
74
+ }
75
+
76
+ /** SortTable 組件 Emits 類型 */
77
+ export interface SortTableEmits<T extends Record<string, unknown> = Record<string, unknown>> {
78
+ /** 打開轉移對話框事件 */
79
+ (e: 'open:transfer'): void
80
+ /** 更新選擇行事件 */
81
+ (e: 'update:selectRow', value: T[]): void
82
+ /** 單元格點擊事件 */
83
+ (e: 'click:cell', column: import('./index').TableColumn<T>, row: T): void
84
+ /** 列排序點擊事件 */
85
+ (e: 'click:columnSort', data: import('./index').SortChangValue<T>): void
86
+ }
87
+
88
+ /** SortTable 組件實例類型 */
89
+ export interface SortTableInstance<T extends Record<string, unknown> = Record<string, unknown>> {
90
+ /** 組件 Props */
91
+ $props: SortTableProps<T>
92
+ /** 組件 Emits */
93
+ $emit: SortTableEmits<T>
94
+ }
95
+
96
+ // ==================== 按鈕相關組件類型 ====================
97
+
50
98
  // ==================== BaseBtn 組件類型 ====================
51
99
 
52
100
  /** BaseBtn 組件 Props 類型 */
@@ -91,6 +139,32 @@ export interface BaseBtnInstance {
91
139
  $emit: BaseBtnEmits
92
140
  }
93
141
 
142
+ // ==================== FilterBtn 組件類型 ====================
143
+
144
+ /** FilterBtn 組件 Props 類型 */
145
+ export interface FilterBtnProps {
146
+ /** 徽章數值 */
147
+ badgeValue?: number
148
+ }
149
+
150
+ /** FilterBtn 組件 Emits 類型 */
151
+ export interface FilterBtnEmits {
152
+ /** 重置事件 */
153
+ (e: 'update:reset'): void
154
+ /** 提交事件 */
155
+ (e: 'update:submit'): void
156
+ }
157
+
158
+ /** FilterBtn 組件實例類型 */
159
+ export interface FilterBtnInstance {
160
+ /** 組件 Props */
161
+ $props: FilterBtnProps
162
+ /** 組件 Emits */
163
+ $emit: FilterBtnEmits
164
+ }
165
+
166
+ // ==================== 對話框相關組件類型 ====================
167
+
94
168
  // ==================== BaseDialog 組件類型 ====================
95
169
 
96
170
  /** BaseDialog 組件 Props 類型 */
@@ -131,6 +205,174 @@ export interface BaseDialogInstance {
131
205
  $emit: BaseDialogEmits
132
206
  }
133
207
 
208
+ // ==================== TransferDialog 組件類型 ====================
209
+
210
+ /** TransferDialog 組件 Props 類型 */
211
+ export interface TransferDialogProps<T = Record<string, unknown>> {
212
+ /** 是否顯示對話框 */
213
+ modelValue: boolean
214
+ /** 列配置值 */
215
+ columnsValue: import('./index').TableColumn<T>[]
216
+ /** 轉移對話框標題 */
217
+ transferTitle: string
218
+ }
219
+
220
+ /** TransferDialog 組件 Emits 類型 */
221
+ export interface TransferDialogEmits<T = Record<string, unknown>> {
222
+ /** 更新 modelValue */
223
+ (e: 'update:modelValue', value: boolean): void
224
+ /** 提交事件 */
225
+ (e: 'update:submit', data: import('./index').TableColumn<T>[]): void
226
+ }
227
+
228
+ /** TransferDialog 組件實例類型 */
229
+ export interface TransferDialogInstance<T = Record<string, unknown>> {
230
+ /** 組件 Props */
231
+ $props: TransferDialogProps<T>
232
+ /** 組件 Emits */
233
+ $emit: TransferDialogEmits<T>
234
+ }
235
+
236
+ // ==================== 表單相關組件類型 ====================
237
+
238
+ // ==================== BaseInput 組件類型 ====================
239
+
240
+ /** BaseInput 組件 Props 類型 */
241
+ export interface BaseInputProps {
242
+ /** 模型值 */
243
+ modelValue?: string | number | null
244
+ /** 佔位符 */
245
+ placeholder?: string
246
+ /** 輸入框類型 */
247
+ type?: string
248
+ /** 自定義 CSS 類名 */
249
+ class?: string | { [key: string]: boolean }
250
+ /** 是否顯示密碼切換 */
251
+ showPassword?: boolean
252
+ /** 是否禁用 */
253
+ disabled?: boolean
254
+ /** 是否只讀 */
255
+ readonly?: boolean
256
+ /** 最大長度 */
257
+ maxlength?: string | number
258
+ /** 自動完成 */
259
+ autocomplete?: string
260
+ /** 測試屬性 */
261
+ dataCy?: string
262
+ }
263
+
264
+ /** BaseInput 組件 Emits 類型 */
265
+ export interface BaseInputEmits {
266
+ /** 更新模型值事件 */
267
+ (e: 'update:modelValue', data: string | number | undefined | null): void
268
+ /** 清除值事件 */
269
+ (e: 'update:clearValue'): void
270
+ }
271
+
272
+ /** BaseInput 組件實例類型 */
273
+ export interface BaseInputInstance {
274
+ /** 組件 Props */
275
+ $props: BaseInputProps
276
+ /** 組件 Emits */
277
+ $emit: BaseInputEmits
278
+ }
279
+
280
+ // ==================== BaseForm 組件類型 ====================
281
+
282
+ /** BaseForm 組件 Props 類型 */
283
+ export interface BaseFormProps<T extends object = object> {
284
+ /** 模型值 */
285
+ modelValue?: T
286
+ /** 表單驗證規則 */
287
+ rules?: import('element-plus').FormRules
288
+ /** 標籤寬度 */
289
+ labelWidth?: string
290
+ /** 測試屬性 */
291
+ dataCy?: string
292
+ }
293
+
294
+ /** BaseForm 組件 Emits 類型 */
295
+ export interface BaseFormEmits {
296
+ /** 更新模型值事件 */
297
+ (e: 'update:modelValue', value: Record<string, unknown>): void
298
+ /** 提交事件 */
299
+ (e: 'submit'): void
300
+ /** 驗證事件 */
301
+ (e: 'validate', valid: boolean): void
302
+ }
303
+
304
+ /** BaseForm 組件實例類型 */
305
+ export interface BaseFormInstance {
306
+ /** 組件 Props */
307
+ $props: BaseFormProps
308
+ /** 組件 Emits */
309
+ $emit: BaseFormEmits
310
+ }
311
+
312
+ // ==================== BaseMultipleInput 組件類型 ====================
313
+
314
+ /** BaseMultipleInput 組件 Props 類型 */
315
+ export interface BaseMultipleInputProps {
316
+ /** 模型值(字符串數組) */
317
+ modelValue: string[]
318
+ /** 輸入框類型 */
319
+ type?: string
320
+ /** 驗證規則函數 */
321
+ validateRule?: (inputString: string) => boolean
322
+ /** 測試屬性 */
323
+ dataCy?: string
324
+ }
325
+
326
+ /** BaseMultipleInput 組件 Emits 類型 */
327
+ export interface BaseMultipleInputEmits {
328
+ /** 更新模型值事件 */
329
+ (e: 'update:modelValue', val: string[]): void
330
+ /** 輸入錯誤事件 */
331
+ (e: 'inputError'): void
332
+ }
333
+
334
+ /** BaseMultipleInput 組件實例類型 */
335
+ export interface BaseMultipleInputInstance {
336
+ /** 組件 Props */
337
+ $props: BaseMultipleInputProps
338
+ /** 組件 Emits */
339
+ $emit: BaseMultipleInputEmits
340
+ }
341
+
342
+ // ==================== 搜尋相關組件類型 ====================
343
+
344
+ // ==================== SearchBar 組件類型 ====================
345
+
346
+ /** SearchBar 組件 Props 類型 */
347
+ export interface SearchBarProps {
348
+ /** 是否顯示篩選功能 */
349
+ showFilter?: boolean
350
+ /** 是否顯示搜尋功能 */
351
+ showSearch?: boolean
352
+ /** 是否為完整輸入框 */
353
+ fullInput?: boolean
354
+ /** 徽章數值 */
355
+ badgeValue?: number
356
+ }
357
+
358
+ /** SearchBar 組件 Emits 類型 */
359
+ export interface SearchBarEmits {
360
+ /** 按下 Enter 鍵事件 */
361
+ (e: 'keydown:enter', data: string): void
362
+ /** 清除事件 */
363
+ (e: 'update:clear'): void
364
+ /** 重置篩選事件 */
365
+ (e: 'update:resetFilter'): void
366
+ }
367
+
368
+ /** SearchBar 組件實例類型 */
369
+ export interface SearchBarInstance {
370
+ /** 組件 Props */
371
+ $props: SearchBarProps
372
+ /** 組件 Emits */
373
+ $emit: SearchBarEmits
374
+ }
375
+
134
376
  // ==================== SearchableListPanel 組件類型 ====================
135
377
 
136
378
  /** SearchableListPanel 組件 Props 類型 */
@@ -187,34 +429,94 @@ export interface SearchableListPanelSlots {
187
429
  main: () => VNode[]
188
430
  }
189
431
 
190
- // ==================== BaseMultipleInput 組件類型 ====================
432
+ // ==================== 佈局相關組件類型 ====================
191
433
 
192
- /** BaseMultipleInput 組件 Props 類型 */
193
- export interface BaseMultipleInputProps {
194
- /** 模型值(字符串數組) */
195
- modelValue: string[]
196
- /** 輸入框類型 */
197
- type?: string
198
- /** 驗證規則函數 */
199
- validateRule?: (inputString: string) => boolean
200
- /** 測試屬性 */
201
- dataCy?: string
434
+ // ==================== FunctionHeader 組件類型 ====================
435
+
436
+ /** FunctionHeader 組件 Props 類型 */
437
+ export interface FunctionHeaderProps {
438
+ /** 標題 */
439
+ title?: string
440
+ /** 是否顯示返回按鈕 */
441
+ showBack?: boolean | string | object
442
+ /** 返回深度 */
443
+ depth?: number
202
444
  }
203
445
 
204
- /** BaseMultipleInput 組件 Emits 類型 */
205
- export interface BaseMultipleInputEmits {
206
- /** 更新模型值事件 */
207
- (e: 'update:modelValue', val: string[]): void
208
- /** 輸入錯誤事件 */
209
- (e: 'inputError'): void
446
+ /** FunctionHeader 組件 Emits 類型 */
447
+ export interface FunctionHeaderEmits {
448
+ /** 返回按鈕點擊事件 */
449
+ (e: 'back', payload: { path?: string; [key: string]: unknown }): void
210
450
  }
211
451
 
212
- /** BaseMultipleInput 組件實例類型 */
213
- export interface BaseMultipleInputInstance {
452
+ /** FunctionHeader 組件實例類型 */
453
+ export interface FunctionHeaderInstance {
214
454
  /** 組件 Props */
215
- $props: BaseMultipleInputProps
455
+ $props: FunctionHeaderProps
216
456
  /** 組件 Emits */
217
- $emit: BaseMultipleInputEmits
457
+ $emit: FunctionHeaderEmits
458
+ }
459
+
460
+ // ==================== MainPanel 組件類型 ====================
461
+
462
+ /** MainPanel 組件 Props 類型 */
463
+ export interface MainPanelProps {
464
+ /** 標題 */
465
+ title?: string
466
+ /** 是否顯示返回按鈕 */
467
+ showBack?: boolean | string | object
468
+ /** 返回深度 */
469
+ depth?: number
470
+ }
471
+
472
+ /** MainPanel 組件 Emits 類型 */
473
+ export interface MainPanelEmits {
474
+ /** 返回按鈕點擊事件 */
475
+ (e: 'back', payload: { path?: string; [key: string]: unknown }): void
476
+ }
477
+
478
+ /** MainPanel 組件實例類型 */
479
+ export interface MainPanelInstance {
480
+ /** 組件 Props */
481
+ $props: MainPanelProps
482
+ /** 組件 Emits */
483
+ $emit: MainPanelEmits
484
+ }
485
+
486
+ // ==================== 轉移相關組件類型 ====================
487
+
488
+ // ==================== TransferItem 組件類型 ====================
489
+
490
+ /** TransferItem 組件 Props 類型 */
491
+ export interface TransferItemProps<T = Record<string, unknown>> {
492
+ /** 對話框模態可見性 */
493
+ dialogModalVisible: boolean
494
+ /** 列配置值 */
495
+ columnsValue: import('./index').TableColumn<T>
496
+ /** 列索引 */
497
+ columnsIndex: number
498
+ /** 列長度 */
499
+ columnsLen: number
500
+ }
501
+
502
+ /** TransferItem 組件 Emits 類型 */
503
+ export interface TransferItemEmits {
504
+ /** 移到頂部事件 */
505
+ (e: 'update:toTop'): void
506
+ /** 移到上一個事件 */
507
+ (e: 'update:toPre'): void
508
+ /** 移到下一個事件 */
509
+ (e: 'update:toNext'): void
510
+ /** 移到底部事件 */
511
+ (e: 'update:toBottom'): void
512
+ }
513
+
514
+ /** TransferItem 組件實例類型 */
515
+ export interface TransferItemInstance {
516
+ /** 組件 Props */
517
+ $props: TransferItemProps
518
+ /** 組件 Emits */
519
+ $emit: TransferItemEmits
218
520
  }
219
521
 
220
522
  // ==================== 組件定義類型 ====================
@@ -228,12 +530,29 @@ export declare const BaseTable: DefineComponent<
228
530
  {},
229
531
  {},
230
532
  {},
533
+ {},
231
534
  BaseTableEmits<any>
232
535
  > & {
233
536
  /** 安裝方法 */
234
537
  install: (app: App) => void
235
538
  }
236
539
 
540
+ /** SortTable 組件定義 */
541
+ export declare const SortTable: DefineComponent<
542
+ SortTableProps<any>,
543
+ {},
544
+ {},
545
+ {},
546
+ {},
547
+ {},
548
+ {},
549
+ {},
550
+ SortTableEmits<any>
551
+ > & {
552
+ /** 安裝方法 */
553
+ install: (app: App) => void
554
+ }
555
+
237
556
  /** BaseBtn 組件定義 */
238
557
  export declare const BaseBtn: DefineComponent<
239
558
  BaseBtnProps,
@@ -243,12 +562,29 @@ export declare const BaseBtn: DefineComponent<
243
562
  {},
244
563
  {},
245
564
  {},
565
+ {},
246
566
  BaseBtnEmits
247
567
  > & {
248
568
  /** 安裝方法 */
249
569
  install: (app: App) => void
250
570
  }
251
571
 
572
+ /** FilterBtn 組件定義 */
573
+ export declare const FilterBtn: DefineComponent<
574
+ FilterBtnProps,
575
+ {},
576
+ {},
577
+ {},
578
+ {},
579
+ {},
580
+ {},
581
+ {},
582
+ FilterBtnEmits
583
+ > & {
584
+ /** 安裝方法 */
585
+ install: (app: App) => void
586
+ }
587
+
252
588
  /** BaseDialog 組件定義 */
253
589
  export declare const BaseDialog: DefineComponent<
254
590
  BaseDialogProps,
@@ -258,12 +594,93 @@ export declare const BaseDialog: DefineComponent<
258
594
  {},
259
595
  {},
260
596
  {},
597
+ {},
261
598
  BaseDialogEmits
262
599
  > & {
263
600
  /** 安裝方法 */
264
601
  install: (app: App) => void
265
602
  }
266
603
 
604
+ /** TransferDialog 組件定義 */
605
+ export declare const TransferDialog: DefineComponent<
606
+ TransferDialogProps<any>,
607
+ {},
608
+ {},
609
+ {},
610
+ {},
611
+ {},
612
+ {},
613
+ {},
614
+ TransferDialogEmits<any>
615
+ > & {
616
+ /** 安裝方法 */
617
+ install: (app: App) => void
618
+ }
619
+
620
+ /** BaseInput 組件定義 */
621
+ export declare const BaseInput: DefineComponent<
622
+ BaseInputProps,
623
+ {},
624
+ {},
625
+ {},
626
+ {},
627
+ {},
628
+ {},
629
+ {},
630
+ BaseInputEmits
631
+ > & {
632
+ /** 安裝方法 */
633
+ install: (app: App) => void
634
+ }
635
+
636
+ /** BaseForm 組件定義 */
637
+ export declare const BaseForm: DefineComponent<
638
+ BaseFormProps,
639
+ {},
640
+ {},
641
+ {},
642
+ {},
643
+ {},
644
+ {},
645
+ {},
646
+ BaseFormEmits
647
+ > & {
648
+ /** 安裝方法 */
649
+ install: (app: App) => void
650
+ }
651
+
652
+ /** BaseMultipleInput 組件定義 */
653
+ export declare const BaseMultipleInput: DefineComponent<
654
+ BaseMultipleInputProps,
655
+ {},
656
+ {},
657
+ {},
658
+ {},
659
+ {},
660
+ {},
661
+ {},
662
+ BaseMultipleInputEmits
663
+ > & {
664
+ /** 安裝方法 */
665
+ install: (app: App) => void
666
+ }
667
+
668
+ /** SearchBar 組件定義 */
669
+ export declare const SearchBar: DefineComponent<
670
+ SearchBarProps,
671
+ {},
672
+ {},
673
+ {},
674
+ {},
675
+ {},
676
+ {},
677
+ {},
678
+ SearchBarEmits
679
+ > & {
680
+ /** 安裝方法 */
681
+ install: (app: App) => void
682
+ }
683
+
267
684
  /** SearchableListPanel 組件定義 */
268
685
  export declare const SearchableListPanel: DefineComponent<
269
686
  SearchableListPanelProps,
@@ -273,22 +690,56 @@ export declare const SearchableListPanel: DefineComponent<
273
690
  {},
274
691
  {},
275
692
  SearchableListPanelSlots,
693
+ {},
276
694
  SearchableListPanelEmits
277
695
  > & {
278
696
  /** 安裝方法 */
279
697
  install: (app: App) => void
280
698
  }
281
699
 
282
- /** BaseMultipleInput 組件定義 */
283
- export declare const BaseMultipleInput: DefineComponent<
284
- BaseMultipleInputProps,
700
+ /** FunctionHeader 組件定義 */
701
+ export declare const FunctionHeader: DefineComponent<
702
+ FunctionHeaderProps,
285
703
  {},
286
704
  {},
287
705
  {},
288
706
  {},
289
707
  {},
290
708
  {},
291
- BaseMultipleInputEmits
709
+ {},
710
+ FunctionHeaderEmits
711
+ > & {
712
+ /** 安裝方法 */
713
+ install: (app: App) => void
714
+ }
715
+
716
+ /** MainPanel 組件定義 */
717
+ export declare const MainPanel: DefineComponent<
718
+ MainPanelProps,
719
+ {},
720
+ {},
721
+ {},
722
+ {},
723
+ {},
724
+ {},
725
+ {},
726
+ MainPanelEmits
727
+ > & {
728
+ /** 安裝方法 */
729
+ install: (app: App) => void
730
+ }
731
+
732
+ /** TransferItem 組件定義 */
733
+ export declare const TransferItem: DefineComponent<
734
+ TransferItemProps<any>,
735
+ {},
736
+ {},
737
+ {},
738
+ {},
739
+ {},
740
+ {},
741
+ {},
742
+ TransferItemEmits
292
743
  > & {
293
744
  /** 安裝方法 */
294
745
  install: (app: App) => void
@@ -310,14 +761,32 @@ export interface VueTableComponentsPlugin {
310
761
  install: (app: App, options?: PluginOptions) => void
311
762
  /** BaseTable 組件 */
312
763
  BaseTable: typeof BaseTable
764
+ /** SortTable 組件 */
765
+ SortTable: typeof SortTable
313
766
  /** BaseBtn 組件 */
314
767
  BaseBtn: typeof BaseBtn
768
+ /** FilterBtn 組件 */
769
+ FilterBtn: typeof FilterBtn
315
770
  /** BaseDialog 組件 */
316
771
  BaseDialog: typeof BaseDialog
317
- /** SearchableListPanel 組件 */
318
- SearchableListPanel: typeof SearchableListPanel
772
+ /** TransferDialog 組件 */
773
+ TransferDialog: typeof TransferDialog
774
+ /** BaseInput 組件 */
775
+ BaseInput: typeof BaseInput
776
+ /** BaseForm 組件 */
777
+ BaseForm: typeof BaseForm
319
778
  /** BaseMultipleInput 組件 */
320
779
  BaseMultipleInput: typeof BaseMultipleInput
780
+ /** SearchBar 組件 */
781
+ SearchBar: typeof SearchBar
782
+ /** SearchableListPanel 組件 */
783
+ SearchableListPanel: typeof SearchableListPanel
784
+ /** FunctionHeader 組件 */
785
+ FunctionHeader: typeof FunctionHeader
786
+ /** MainPanel 組件 */
787
+ MainPanel: typeof MainPanel
788
+ /** TransferItem 組件 */
789
+ TransferItem: typeof TransferItem
321
790
  }
322
791
 
323
792
  // ==================== 全局類型擴展 ====================
@@ -325,10 +794,18 @@ export interface VueTableComponentsPlugin {
325
794
  declare module '@vue/runtime-core' {
326
795
  export interface GlobalComponents {
327
796
  BaseTable: typeof BaseTable
797
+ SortTable: typeof SortTable
328
798
  BaseBtn: typeof BaseBtn
329
- BaseDialog: typeof BaseDialog
330
799
  FilterBtn: typeof FilterBtn
331
- SearchableListPanel: typeof SearchableListPanel
800
+ BaseDialog: typeof BaseDialog
801
+ TransferDialog: typeof TransferDialog
802
+ BaseInput: typeof BaseInput
803
+ BaseForm: typeof BaseForm
332
804
  BaseMultipleInput: typeof BaseMultipleInput
805
+ SearchBar: typeof SearchBar
806
+ SearchableListPanel: typeof SearchableListPanel
807
+ FunctionHeader: typeof FunctionHeader
808
+ MainPanel: typeof MainPanel
809
+ TransferItem: typeof TransferItem
333
810
  }
334
811
  }