giime 0.3.3 → 0.3.5

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 (40) hide show
  1. package/dist/index.css +29 -29
  2. package/es/components/src/base/table/Table.vue.d.ts +8 -2
  3. package/es/components/src/base/table/index.d.ts +16 -4
  4. package/es/components/src/base/table/table.d.ts +4 -1
  5. package/es/components/src/base/table/table.mjs +4 -0
  6. package/es/components/src/base/table/table.mjs.map +1 -1
  7. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +17 -2
  8. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  9. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +96 -81
  10. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  11. package/es/components/src/composite/tablePro/index.d.ts +35 -4
  12. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue.mjs +1 -1
  13. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs.map +1 -1
  14. package/es/components/src/composite/tablePro/tablePro.d.ts +8 -1
  15. package/es/components/src/composite/tablePro/tablePro.mjs +4 -0
  16. package/es/components/src/composite/tablePro/tablePro.mjs.map +1 -1
  17. package/es/giime/version.d.ts +1 -1
  18. package/es/giime/version.mjs +1 -1
  19. package/es/giime/version.mjs.map +1 -1
  20. package/es/index.css +29 -29
  21. package/lib/components/src/base/table/Table.vue.d.ts +8 -2
  22. package/lib/components/src/base/table/index.d.ts +16 -4
  23. package/lib/components/src/base/table/table.d.ts +4 -1
  24. package/lib/components/src/base/table/table.js +4 -0
  25. package/lib/components/src/base/table/table.js.map +1 -1
  26. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +17 -2
  27. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  28. package/lib/components/src/composite/tablePro/TablePro.vue2.js +95 -80
  29. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  30. package/lib/components/src/composite/tablePro/index.d.ts +35 -4
  31. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue.js +1 -1
  32. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js.map +1 -1
  33. package/lib/components/src/composite/tablePro/tablePro.d.ts +8 -1
  34. package/lib/components/src/composite/tablePro/tablePro.js +4 -0
  35. package/lib/components/src/composite/tablePro/tablePro.js.map +1 -1
  36. package/lib/giime/version.d.ts +1 -1
  37. package/lib/giime/version.js +1 -1
  38. package/lib/giime/version.js.map +1 -1
  39. package/lib/index.css +29 -29
  40. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -741,29 +741,6 @@ video {
741
741
  margin: 0;
742
742
  }
743
743
 
744
- [data-v-2f3b2b52] .gmTableNoBorder .el-table__body .el-table__cell {
745
- border-right: none;
746
- }
747
-
748
- [data-v-2f3b2b52] .gmTableNoBorder .el-table__inner-wrapper:before {
749
- height: 0;
750
- }
751
-
752
- [data-v-2f3b2b52] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
753
- height: 0;
754
- }
755
-
756
- [data-v-2f3b2b52] .gmTableNoBorder.el-table--border:after {
757
- height: 0;
758
- }
759
-
760
- [data-v-2f3b2b52] .gmTableNoBorder.el-table--border:before {
761
- height: 0;
762
- }
763
-
764
- [data-v-2f3b2b52] .gmTableNoBorder .el-table__border-left-patch {
765
- height: 0;
766
- }
767
744
  .gm-number-interval-single[data-v-47a13fd0] {
768
745
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
769
746
  box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
@@ -782,6 +759,10 @@ video {
782
759
  .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
783
760
  display: flex;
784
761
  }
762
+ [data-v-75032027] .gmSearchForm .el-form-item {
763
+ margin-right: 0;
764
+ margin-bottom: 4px;
765
+ }
785
766
  .gm-flex-center[data-v-6829dac1] {
786
767
  align-items: center;
787
768
  }
@@ -789,15 +770,34 @@ video {
789
770
  .gm-flex-justify-between[data-v-6829dac1] {
790
771
  justify-content: space-between;
791
772
  }
792
- [data-v-75032027] .gmSearchForm .el-form-item {
793
- margin-right: 0;
794
- margin-bottom: 4px;
773
+ [data-v-80268d10] .gmTableNoBorder .el-table__body .el-table__cell {
774
+ border-right: none;
775
+ }
776
+
777
+ [data-v-80268d10] .gmTableNoBorder .el-table__inner-wrapper:before {
778
+ height: 0;
779
+ }
780
+
781
+ [data-v-80268d10] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
782
+ height: 0;
783
+ }
784
+
785
+ [data-v-80268d10] .gmTableNoBorder.el-table--border:after {
786
+ height: 0;
787
+ }
788
+
789
+ [data-v-80268d10] .gmTableNoBorder.el-table--border:before {
790
+ height: 0;
791
+ }
792
+
793
+ [data-v-80268d10] .gmTableNoBorder .el-table__border-left-patch {
794
+ height: 0;
795
795
  }
796
796
 
797
- .pagination-container[data-v-20ed99a8] {
797
+ .pagination-container[data-v-c628ba24] {
798
798
  background: #fff;
799
- padding: 32px 16px;
799
+ padding-top: 12px;
800
800
  }
801
- .pagination-container.hidden[data-v-20ed99a8] {
801
+ .pagination-container.hidden[data-v-c628ba24] {
802
802
  display: none;
803
803
  }
@@ -3,6 +3,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
3
  tableId: {
4
4
  type: StringConstructor;
5
5
  };
6
+ scrollbarAlwaysOn: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
6
10
  data: {
7
11
  type: import("vue").PropType<any[]>;
8
12
  default: () => never[];
@@ -87,7 +91,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
87
91
  type: import("vue").PropType<"fixed" | "auto">;
88
92
  default: string;
89
93
  };
90
- scrollbarAlwaysOn: BooleanConstructor;
91
94
  flexible: BooleanConstructor;
92
95
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
93
96
  }, {
@@ -677,6 +680,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
677
680
  tableId: {
678
681
  type: StringConstructor;
679
682
  };
683
+ scrollbarAlwaysOn: {
684
+ type: BooleanConstructor;
685
+ default: boolean;
686
+ };
680
687
  data: {
681
688
  type: import("vue").PropType<any[]>;
682
689
  default: () => never[];
@@ -761,7 +768,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
761
768
  type: import("vue").PropType<"fixed" | "auto">;
762
769
  default: string;
763
770
  };
764
- scrollbarAlwaysOn: BooleanConstructor;
765
771
  flexible: BooleanConstructor;
766
772
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
767
773
  }>> & {
@@ -6,6 +6,10 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
6
6
  tableId: {
7
7
  type: StringConstructor;
8
8
  };
9
+ scrollbarAlwaysOn: {
10
+ type: BooleanConstructor;
11
+ default: boolean;
12
+ };
9
13
  data: {
10
14
  type: import("vue").PropType<any[]>;
11
15
  default: () => never[];
@@ -90,7 +94,6 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
90
94
  type: import("vue").PropType<"fixed" | "auto">;
91
95
  default: string;
92
96
  };
93
- scrollbarAlwaysOn: BooleanConstructor;
94
97
  flexible: BooleanConstructor;
95
98
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
96
99
  }>> & {
@@ -699,6 +702,10 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
699
702
  tableId: {
700
703
  type: StringConstructor;
701
704
  };
705
+ scrollbarAlwaysOn: {
706
+ type: BooleanConstructor;
707
+ default: boolean;
708
+ };
702
709
  data: {
703
710
  type: import("vue").PropType<any[]>;
704
711
  default: () => never[];
@@ -783,7 +790,6 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
783
790
  type: import("vue").PropType<"fixed" | "auto">;
784
791
  default: string;
785
792
  };
786
- scrollbarAlwaysOn: BooleanConstructor;
787
793
  flexible: BooleanConstructor;
788
794
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
789
795
  }>> & {
@@ -837,6 +843,10 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
837
843
  tableId: {
838
844
  type: StringConstructor;
839
845
  };
846
+ scrollbarAlwaysOn: {
847
+ type: BooleanConstructor;
848
+ default: boolean;
849
+ };
840
850
  data: {
841
851
  type: import("vue").PropType<any[]>;
842
852
  default: () => never[];
@@ -921,7 +931,6 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
921
931
  type: import("vue").PropType<"fixed" | "auto">;
922
932
  default: string;
923
933
  };
924
- scrollbarAlwaysOn: BooleanConstructor;
925
934
  flexible: BooleanConstructor;
926
935
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
927
936
  }>> & {
@@ -1536,6 +1545,10 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
1536
1545
  tableId: {
1537
1546
  type: StringConstructor;
1538
1547
  };
1548
+ scrollbarAlwaysOn: {
1549
+ type: BooleanConstructor;
1550
+ default: boolean;
1551
+ };
1539
1552
  data: {
1540
1553
  type: import("vue").PropType<any[]>;
1541
1554
  default: () => never[];
@@ -1620,7 +1633,6 @@ export declare const GmTable: import("../../../../utils").SFCWithInstall<{
1620
1633
  type: import("vue").PropType<"fixed" | "auto">;
1621
1634
  default: string;
1622
1635
  };
1623
- scrollbarAlwaysOn: BooleanConstructor;
1624
1636
  flexible: BooleanConstructor;
1625
1637
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
1626
1638
  }>> & {
@@ -2,6 +2,10 @@ export declare const tableProps: {
2
2
  tableId: {
3
3
  type: StringConstructor;
4
4
  };
5
+ scrollbarAlwaysOn: {
6
+ type: BooleanConstructor;
7
+ default: boolean;
8
+ };
5
9
  data: {
6
10
  type: import("vue").PropType<any[]>;
7
11
  default: () => never[];
@@ -86,7 +90,6 @@ export declare const tableProps: {
86
90
  type: import("vue").PropType<"fixed" | "auto">;
87
91
  default: string;
88
92
  };
89
- scrollbarAlwaysOn: BooleanConstructor;
90
93
  flexible: BooleanConstructor;
91
94
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
92
95
  };
@@ -4,6 +4,10 @@ const tableProps = {
4
4
  ...elTableProps,
5
5
  tableId: {
6
6
  type: String
7
+ },
8
+ scrollbarAlwaysOn: {
9
+ type: Boolean,
10
+ default: true
7
11
  }
8
12
  };
9
13
  const elTableEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"table.mjs","sources":["../../../../../../../packages/components/src/base/table/table.ts"],"sourcesContent":["// import { TableProps as elTableProps } from 'element-plus';\r\n// import type { ExtractPropTypes } from 'vue';\r\nimport elTableProps from 'element-plus/es/components/table/src/table/defaults';\r\nexport const tableProps = {\r\n ...elTableProps,\r\n tableId: {\r\n type: String,\r\n },\r\n};\r\n\r\nexport const elTableEmits = {\r\n select: (...arg: any[]) => !!arg,\r\n 'select-all': (...arg: any[]) => !!arg,\r\n 'selection-change': (...arg: any[]) => !!arg,\r\n 'cell-mouse-enter': (...arg: any[]) => !!arg,\r\n 'cell-mouse-leave': (...arg: any[]) => !!arg,\r\n 'cell-click': (...arg: any[]) => !!arg,\r\n 'cell-dblclick': (...arg: any[]) => !!arg,\r\n 'cell-contextmenu': (...arg: any[]) => !!arg,\r\n 'row-click': (...arg: any[]) => !!arg,\r\n 'row-contextmenu': (...arg: any[]) => !!arg,\r\n 'row-dblclick': (...arg: any[]) => !!arg,\r\n 'header-click': (...arg: any[]) => !!arg,\r\n 'header-contextmenu': (...arg: any[]) => !!arg,\r\n 'sort-change': (...arg: any[]) => !!arg,\r\n 'filter-change': (...arg: any[]) => !!arg,\r\n 'current-change': (...arg: any[]) => !!arg,\r\n 'header-dragend': (...arg: any[]) => !!arg,\r\n 'expand-change': (...arg: any[]) => !!arg,\r\n};\r\n\r\nexport const tableEmits = {\r\n ...elTableEmits,\r\n // 自定义事件\r\n // submit: (value: any) => !!value,\r\n};\r\n"],"names":[],"mappings":";;AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,GAAG,YAAA;AAAA,EACH,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AAEO,MAAM,YAAe,GAAA;AAAA,EAC1B,MAAQ,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EAC7B,YAAc,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACnC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,YAAc,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACnC,eAAiB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACtC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,WAAa,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EAClC,iBAAmB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACxC,cAAgB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACrC,cAAgB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACrC,oBAAsB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EAC3C,aAAe,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACpC,eAAiB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACtC,gBAAkB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACvC,gBAAkB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACvC,eAAiB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AACxC,EAAA;AAEO,MAAM,UAAa,GAAA;AAAA,EACxB,GAAG,YAAA;AAAA;AAAA;AAGL;;;;"}
1
+ {"version":3,"file":"table.mjs","sources":["../../../../../../../packages/components/src/base/table/table.ts"],"sourcesContent":["// import { TableProps as elTableProps } from 'element-plus';\r\n// import type { ExtractPropTypes } from 'vue';\r\nimport elTableProps from 'element-plus/es/components/table/src/table/defaults';\r\nexport const tableProps = {\r\n ...elTableProps,\r\n tableId: {\r\n type: String,\r\n },\r\n scrollbarAlwaysOn: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n};\r\n\r\nexport const elTableEmits = {\r\n select: (...arg: any[]) => !!arg,\r\n 'select-all': (...arg: any[]) => !!arg,\r\n 'selection-change': (...arg: any[]) => !!arg,\r\n 'cell-mouse-enter': (...arg: any[]) => !!arg,\r\n 'cell-mouse-leave': (...arg: any[]) => !!arg,\r\n 'cell-click': (...arg: any[]) => !!arg,\r\n 'cell-dblclick': (...arg: any[]) => !!arg,\r\n 'cell-contextmenu': (...arg: any[]) => !!arg,\r\n 'row-click': (...arg: any[]) => !!arg,\r\n 'row-contextmenu': (...arg: any[]) => !!arg,\r\n 'row-dblclick': (...arg: any[]) => !!arg,\r\n 'header-click': (...arg: any[]) => !!arg,\r\n 'header-contextmenu': (...arg: any[]) => !!arg,\r\n 'sort-change': (...arg: any[]) => !!arg,\r\n 'filter-change': (...arg: any[]) => !!arg,\r\n 'current-change': (...arg: any[]) => !!arg,\r\n 'header-dragend': (...arg: any[]) => !!arg,\r\n 'expand-change': (...arg: any[]) => !!arg,\r\n};\r\n\r\nexport const tableEmits = {\r\n ...elTableEmits,\r\n // 自定义事件\r\n // submit: (value: any) => !!value,\r\n};\r\n"],"names":[],"mappings":";;AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,GAAG,YAAA;AAAA,EACH,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,YAAe,GAAA;AAAA,EAC1B,MAAQ,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EAC7B,YAAc,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACnC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,YAAc,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACnC,eAAiB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACtC,kBAAoB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACzC,WAAa,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EAClC,iBAAmB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACxC,cAAgB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACrC,cAAgB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACrC,oBAAsB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EAC3C,aAAe,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACpC,eAAiB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACtC,gBAAkB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACvC,gBAAkB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AAAA,EACvC,eAAiB,EAAA,CAAA,GAAI,GAAe,KAAA,CAAC,CAAC,GAAA;AACxC,EAAA;AAEO,MAAM,UAAa,GAAA;AAAA,EACxB,GAAG,YAAA;AAAA;AAAA;AAGL;;;;"}
@@ -37,9 +37,17 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
37
37
  type: StringConstructor;
38
38
  required: true;
39
39
  };
40
+ autoHeight: {
41
+ type: BooleanConstructor;
42
+ default: boolean;
43
+ };
40
44
  tableId: {
41
45
  type: StringConstructor;
42
46
  };
47
+ scrollbarAlwaysOn: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
43
51
  size: {
44
52
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
45
53
  readonly required: false;
@@ -119,7 +127,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
119
127
  type: import("vue").PropType<"fixed" | "auto">;
120
128
  default: string;
121
129
  };
122
- scrollbarAlwaysOn: BooleanConstructor;
123
130
  flexible: BooleanConstructor;
124
131
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
125
132
  }, {
@@ -352,9 +359,17 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
352
359
  type: StringConstructor;
353
360
  required: true;
354
361
  };
362
+ autoHeight: {
363
+ type: BooleanConstructor;
364
+ default: boolean;
365
+ };
355
366
  tableId: {
356
367
  type: StringConstructor;
357
368
  };
369
+ scrollbarAlwaysOn: {
370
+ type: BooleanConstructor;
371
+ default: boolean;
372
+ };
358
373
  size: {
359
374
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
360
375
  readonly required: false;
@@ -434,7 +449,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
434
449
  type: import("vue").PropType<"fixed" | "auto">;
435
450
  default: string;
436
451
  };
437
- scrollbarAlwaysOn: BooleanConstructor;
438
452
  flexible: BooleanConstructor;
439
453
  showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "appendTo" | "effect" | "placement" | "popperClass" | "popperOptions" | "hideAfter" | "transition" | "enterable" | "showAfter" | "showArrow">> | undefined>;
440
454
  }>> & {
@@ -484,6 +498,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
484
498
  customOperate: boolean;
485
499
  operateWidth: number;
486
500
  operateFixed: boolean;
501
+ autoHeight: boolean;
487
502
  }, {}>, Readonly<{
488
503
  default(data?: any): any[];
489
504
  }> & {
@@ -2,7 +2,7 @@ import _sfc_main from './TablePro.vue2.mjs';
2
2
  import './TablePro.vue3.mjs';
3
3
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- var TablePro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2f3b2b52"], ["__file", "TablePro.vue"]]);
5
+ var TablePro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-80268d10"], ["__file", "TablePro.vue"]]);
6
6
 
7
7
  export { TablePro as default };
8
8
  //# sourceMappingURL=TablePro.vue.mjs.map
@@ -1,8 +1,9 @@
1
- import { pushScopeId, popScopeId, defineComponent, mergeModels, inject, ref, useSlots, computed, nextTick, useModel, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, createBlock, mergeProps, toHandlers, unref, withCtx, createCommentVNode, createVNode, createTextVNode } from 'vue';
1
+ import { pushScopeId, popScopeId, defineComponent, mergeModels, inject, ref, computed, useSlots, nextTick, useModel, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, createBlock, mergeProps, toHandlers, unref, withCtx, createCommentVNode, createVNode, createTextVNode } from 'vue';
2
2
  import { hasOwn } from '../../../../utils/src/objects.mjs';
3
3
  import { getGmExports } from '../../../../utils/src/elementPlus/exports.mjs';
4
4
  import { getGmEvent } from '../../../../utils/src/elementPlus/event.mjs';
5
5
  import { TableCtxKey } from '../../../../constants/table.mjs';
6
+ import { useElementBounding, useWindowSize } from '@vueuse/core';
6
7
  import { operateButtonProps } from '../operateButton/operateButton.mjs';
7
8
  import TableOperateVNodeRenderer from './TableOperateVNodeRenderer.mjs';
8
9
  import TableColumnVNodeRenderer from './TableColumnVNodeRenderer.mjs';
@@ -10,7 +11,7 @@ import { tableProProps, tableProEmits } from './tablePro.mjs';
10
11
  import { getVnodesByGmName } from './tableHelper.mjs';
11
12
  import { TableColumnProName, tableColumnProProps } from './tableColumnPro/tableColumnPro.mjs';
12
13
 
13
- const _withScopeId = (n) => (pushScopeId("data-v-2f3b2b52"), n = n(), popScopeId(), n);
14
+ const _withScopeId = (n) => (pushScopeId("data-v-80268d10"), n = n(), popScopeId(), n);
14
15
  const _hoisted_1 = { class: "gm-text-center" };
15
16
  const _hoisted_2 = {
16
17
  key: 0,
@@ -29,6 +30,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
29
30
  setup(__props, { expose: __expose, emit: __emit }) {
30
31
  const tableCtx = inject(TableCtxKey);
31
32
  const props = __props;
33
+ const gmTableDivRef = ref();
34
+ const { top: divTop } = useElementBounding(gmTableDivRef);
35
+ const { height: windowHeight } = useWindowSize();
36
+ const tableMaxHeight = computed(() => Math.floor(windowHeight.value - divTop.value - 60));
32
37
  const GmTbaleRef = ref();
33
38
  if (tableCtx && tableCtx.tableId === props.page) {
34
39
  tableCtx.tableRef = GmTbaleRef;
@@ -165,85 +170,95 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
165
170
  Fragment,
166
171
  null,
167
172
  [
168
- createElementVNode("div", null, [
169
- gmTableHeaderRef.value?.isInited ? (openBlock(), createBlock(_component_gm_table, mergeProps({
170
- key: 0,
171
- ref_key: "GmTbaleRef",
172
- ref: GmTbaleRef
173
- }, props, {
174
- border: "",
175
- class: ["gmTablePro", [props.border ? "" : "gmTableNoBorder"]]
176
- }, toHandlers(unref(elEvents)), {
177
- onSelectionChange: _cache[2] || (_cache[2] = (value) => _ctx.$emit("selection-change", value)),
178
- onSortChange: handleSortChange,
179
- onHeaderDragend: headerDragend
180
- }), {
181
- default: withCtx(() => [
182
- createCommentVNode(' <template #empty>\r\n <gm-empty image="https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png" />\r\n </template> '),
183
- props.selection ? (openBlock(), createBlock(_component_gm_table_column, {
184
- key: 999999,
185
- type: "selection",
186
- width: "50"
187
- })) : createCommentVNode("v-if", true),
188
- createVNode(unref(TableColumnVNodeRenderer), {
189
- vnode: tableColumnVnode.value,
190
- propsList: colPropsList.value
191
- }, null, 8, ["vnode", "propsList"]),
192
- createCommentVNode(" \u64CD\u4F5C "),
193
- _ctx.customHeader || _ctx.customOperate ? (openBlock(), createBlock(_component_gm_table_column, {
194
- key: 1,
195
- prop: "gmEdit",
196
- "min-width": "100",
197
- width: editProps.value?.width,
198
- fixed: _ctx.operateFixed ? "right" : false
199
- }, {
200
- header: withCtx(() => [
201
- createElementVNode("div", _hoisted_1, [
202
- _ctx.customHeader ? (openBlock(), createBlock(_component_gm_button, {
203
- key: 0,
204
- type: "primary",
205
- link: "",
206
- size: "small",
207
- onClick: _cache[0] || (_cache[0] = ($event) => setTable("header"))
208
- }, {
209
- default: withCtx(() => [
210
- createTextVNode(" \u8868\u5934 ")
211
- ]),
212
- _: 1
213
- /* STABLE */
214
- })) : createCommentVNode("v-if", true),
215
- _ctx.customOperate ? (openBlock(), createBlock(_component_gm_button, {
216
- key: 1,
217
- type: "primary",
218
- link: "",
219
- size: "small",
220
- onClick: _cache[1] || (_cache[1] = ($event) => setTable("operate"))
221
- }, {
222
- default: withCtx(() => [
223
- createTextVNode(" \u64CD\u4F5C ")
224
- ]),
225
- _: 1
226
- /* STABLE */
227
- })) : createCommentVNode("v-if", true)
228
- ])
229
- ]),
230
- default: withCtx((slotValue) => [
231
- createCommentVNode(' <div\r\n v-if="\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n "\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList="customBtnPropsList"\r\n v-model:customDefaultPropsList="customDefaultPropsList"\r\n :tableOperateVnode="tableOperateVnode"\r\n :isInited="gmCustomOperationsRef?.isInited"\r\n :slotValue="slotValue"\r\n />\r\n </div> '),
232
- tableOperateVnode.value && tableOperateVnode.value.children && gmCustomOperationsRef.value && gmCustomOperationsRef.value.isInited && slotValue && slotValue.row && tableOperateVnode.value.children?.default(slotValue) && customBtnPropsList.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
233
- createVNode(unref(TableOperateVNodeRenderer), {
234
- vnode: tableOperateVnode.value.children?.default(slotValue),
235
- customPropsList: customBtnPropsList.value
236
- }, null, 8, ["vnode", "customPropsList"])
237
- ])) : createCommentVNode("v-if", true)
238
- ]),
239
- _: 1
240
- /* STABLE */
241
- }, 8, ["width", "fixed"])) : createCommentVNode("v-if", true)
242
- ]),
243
- _: 1
244
- /* STABLE */
245
- }, 16, ["class"])) : createCommentVNode("v-if", true)
246
- ]),
173
+ createElementVNode(
174
+ "div",
175
+ {
176
+ ref_key: "gmTableDivRef",
177
+ ref: gmTableDivRef
178
+ },
179
+ [
180
+ gmTableHeaderRef.value?.isInited ? (openBlock(), createBlock(_component_gm_table, mergeProps({
181
+ key: 0,
182
+ ref_key: "GmTbaleRef",
183
+ ref: GmTbaleRef
184
+ }, props, {
185
+ height: _ctx.autoHeight ? tableMaxHeight.value : _ctx.height,
186
+ border: "",
187
+ class: ["gmTablePro", [props.border ? "" : "gmTableNoBorder"]]
188
+ }, toHandlers(unref(elEvents)), {
189
+ onSelectionChange: _cache[2] || (_cache[2] = (value) => _ctx.$emit("selection-change", value)),
190
+ onSortChange: handleSortChange,
191
+ onHeaderDragend: headerDragend
192
+ }), {
193
+ default: withCtx(() => [
194
+ createCommentVNode(' <template #empty>\r\n <gm-empty image="https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png" />\r\n </template> '),
195
+ props.selection ? (openBlock(), createBlock(_component_gm_table_column, {
196
+ key: 999999,
197
+ type: "selection",
198
+ width: "55"
199
+ })) : createCommentVNode("v-if", true),
200
+ createVNode(unref(TableColumnVNodeRenderer), {
201
+ vnode: tableColumnVnode.value,
202
+ propsList: colPropsList.value
203
+ }, null, 8, ["vnode", "propsList"]),
204
+ createCommentVNode(" \u64CD\u4F5C "),
205
+ _ctx.customHeader || _ctx.customOperate ? (openBlock(), createBlock(_component_gm_table_column, {
206
+ key: 1,
207
+ prop: "gmEdit",
208
+ "min-width": "100",
209
+ width: editProps.value?.width,
210
+ fixed: _ctx.operateFixed ? "right" : false
211
+ }, {
212
+ header: withCtx(() => [
213
+ createElementVNode("div", _hoisted_1, [
214
+ _ctx.customHeader ? (openBlock(), createBlock(_component_gm_button, {
215
+ key: 0,
216
+ type: "primary",
217
+ link: "",
218
+ size: "small",
219
+ onClick: _cache[0] || (_cache[0] = ($event) => setTable("header"))
220
+ }, {
221
+ default: withCtx(() => [
222
+ createTextVNode(" \u8868\u5934 ")
223
+ ]),
224
+ _: 1
225
+ /* STABLE */
226
+ })) : createCommentVNode("v-if", true),
227
+ _ctx.customOperate ? (openBlock(), createBlock(_component_gm_button, {
228
+ key: 1,
229
+ type: "primary",
230
+ link: "",
231
+ size: "small",
232
+ onClick: _cache[1] || (_cache[1] = ($event) => setTable("operate"))
233
+ }, {
234
+ default: withCtx(() => [
235
+ createTextVNode(" \u64CD\u4F5C ")
236
+ ]),
237
+ _: 1
238
+ /* STABLE */
239
+ })) : createCommentVNode("v-if", true)
240
+ ])
241
+ ]),
242
+ default: withCtx((slotValue) => [
243
+ createCommentVNode(' <div\r\n v-if="\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n "\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList="customBtnPropsList"\r\n v-model:customDefaultPropsList="customDefaultPropsList"\r\n :tableOperateVnode="tableOperateVnode"\r\n :isInited="gmCustomOperationsRef?.isInited"\r\n :slotValue="slotValue"\r\n />\r\n </div> '),
244
+ tableOperateVnode.value && tableOperateVnode.value.children && gmCustomOperationsRef.value && gmCustomOperationsRef.value.isInited && slotValue && slotValue.row && tableOperateVnode.value.children?.default(slotValue) && customBtnPropsList.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
245
+ createVNode(unref(TableOperateVNodeRenderer), {
246
+ vnode: tableOperateVnode.value.children?.default(slotValue),
247
+ customPropsList: customBtnPropsList.value
248
+ }, null, 8, ["vnode", "customPropsList"])
249
+ ])) : createCommentVNode("v-if", true)
250
+ ]),
251
+ _: 1
252
+ /* STABLE */
253
+ }, 8, ["width", "fixed"])) : createCommentVNode("v-if", true)
254
+ ]),
255
+ _: 1
256
+ /* STABLE */
257
+ }, 16, ["height", "class"])) : createCommentVNode("v-if", true)
258
+ ],
259
+ 512
260
+ /* NEED_PATCH */
261
+ ),
247
262
  createVNode(_component_gm_table_header_form, {
248
263
  ref_key: "gmTableHeaderRef",
249
264
  ref: gmTableHeaderRef,
@@ -1 +1 @@
1
- {"version":3,"file":"TablePro.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div>\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\n\r\nconst GmTbaleRef = ref<TableInstance>();\r\nif (tableCtx && tableCtx.tableId === props.page) {\r\n tableCtx.tableRef = GmTbaleRef;\r\n}\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["_useSlots","_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"TablePro.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div ref=\"gmTableDivRef\">\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n :height=\"autoHeight ? tableMaxHeight : height\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"55\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { useElementBounding, useWindowSize } from '@vueuse/core';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\nconst gmTableDivRef = ref<HTMLDivElement>();\r\n// 用于计算table高度\r\nconst { top: divTop } = useElementBounding(gmTableDivRef);\r\nconst { height: windowHeight } = useWindowSize();\r\nconst tableMaxHeight = computed(() => Math.floor(windowHeight.value - divTop.value - 60)); // 高度 - 顶部距离 - 分页器116\r\nconst GmTbaleRef = ref<TableInstance>();\r\nif (tableCtx && tableCtx.tableId === props.page) {\r\n tableCtx.tableRef = GmTbaleRef;\r\n}\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["_useSlots","_useModel"],"mappings":"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"}