giime 0.3.2 → 0.3.4

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 (36) hide show
  1. package/dist/index.css +27 -27
  2. package/es/components/src/composite/searchForm/SearchForm.vue.mjs +1 -1
  3. package/es/components/src/composite/searchForm/SearchForm.vue2.mjs +3 -4
  4. package/es/components/src/composite/searchForm/SearchForm.vue2.mjs.map +1 -1
  5. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
  6. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  7. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +96 -81
  8. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  9. package/es/components/src/composite/tablePro/index.d.ts +19 -0
  10. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue.mjs +1 -1
  11. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs.map +1 -1
  12. package/es/components/src/composite/tablePro/tablePro.d.ts +4 -0
  13. package/es/components/src/composite/tablePro/tablePro.mjs +4 -0
  14. package/es/components/src/composite/tablePro/tablePro.mjs.map +1 -1
  15. package/es/giime/version.d.ts +1 -1
  16. package/es/giime/version.mjs +1 -1
  17. package/es/giime/version.mjs.map +1 -1
  18. package/es/index.css +27 -27
  19. package/lib/components/src/composite/searchForm/SearchForm.vue.js +1 -1
  20. package/lib/components/src/composite/searchForm/SearchForm.vue2.js +2 -3
  21. package/lib/components/src/composite/searchForm/SearchForm.vue2.js.map +1 -1
  22. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
  23. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  24. package/lib/components/src/composite/tablePro/TablePro.vue2.js +95 -80
  25. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  26. package/lib/components/src/composite/tablePro/index.d.ts +19 -0
  27. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue.js +1 -1
  28. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js.map +1 -1
  29. package/lib/components/src/composite/tablePro/tablePro.d.ts +4 -0
  30. package/lib/components/src/composite/tablePro/tablePro.js +4 -0
  31. package/lib/components/src/composite/tablePro/tablePro.js.map +1 -1
  32. package/lib/giime/version.d.ts +1 -1
  33. package/lib/giime/version.js +1 -1
  34. package/lib/giime/version.js.map +1 -1
  35. package/lib/index.css +27 -27
  36. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -741,33 +741,10 @@ video {
741
741
  margin: 0;
742
742
  }
743
743
 
744
- [data-v-45d7b25a] .gmSearchForm .el-form-item {
744
+ [data-v-75032027] .gmSearchForm .el-form-item {
745
745
  margin-right: 0;
746
746
  margin-bottom: 4px;
747
747
  }
748
- [data-v-2f3b2b52] .gmTableNoBorder .el-table__body .el-table__cell {
749
- border-right: none;
750
- }
751
-
752
- [data-v-2f3b2b52] .gmTableNoBorder .el-table__inner-wrapper:before {
753
- height: 0;
754
- }
755
-
756
- [data-v-2f3b2b52] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
757
- height: 0;
758
- }
759
-
760
- [data-v-2f3b2b52] .gmTableNoBorder.el-table--border:after {
761
- height: 0;
762
- }
763
-
764
- [data-v-2f3b2b52] .gmTableNoBorder.el-table--border:before {
765
- height: 0;
766
- }
767
-
768
- [data-v-2f3b2b52] .gmTableNoBorder .el-table__border-left-patch {
769
- height: 0;
770
- }
771
748
  .gm-number-interval-single[data-v-47a13fd0] {
772
749
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
773
750
  box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
@@ -793,11 +770,34 @@ video {
793
770
  .gm-flex-justify-between[data-v-6829dac1] {
794
771
  justify-content: space-between;
795
772
  }
773
+ [data-v-c9e8b4e4] .gmTableNoBorder .el-table__body .el-table__cell {
774
+ border-right: none;
775
+ }
776
+
777
+ [data-v-c9e8b4e4] .gmTableNoBorder .el-table__inner-wrapper:before {
778
+ height: 0;
779
+ }
780
+
781
+ [data-v-c9e8b4e4] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
782
+ height: 0;
783
+ }
784
+
785
+ [data-v-c9e8b4e4] .gmTableNoBorder.el-table--border:after {
786
+ height: 0;
787
+ }
788
+
789
+ [data-v-c9e8b4e4] .gmTableNoBorder.el-table--border:before {
790
+ height: 0;
791
+ }
792
+
793
+ [data-v-c9e8b4e4] .gmTableNoBorder .el-table__border-left-patch {
794
+ height: 0;
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
  }
@@ -2,7 +2,7 @@ import _sfc_main from './SearchForm.vue2.mjs';
2
2
  import './SearchForm.vue3.mjs';
3
3
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- var SearchForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-45d7b25a"], ["__file", "SearchForm.vue"]]);
5
+ var SearchForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-75032027"], ["__file", "SearchForm.vue"]]);
6
6
 
7
7
  export { SearchForm as default };
8
8
  //# sourceMappingURL=SearchForm.vue.mjs.map
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, mergeModels, inject, useModel, provide, ref, computed, nextTick, resolveComponent, openBlock, createElementBlock, withDirectives, createVNode, withCtx, createElementVNode, normalizeClass, normalizeStyle, Fragment, renderList, createBlock, resolveDynamicComponent, mergeProps, renderSlot, unref, createTextVNode, toDisplayString, vShow } from 'vue';
2
- import { useElementVisibility, useElementSize } from '@vueuse/core';
2
+ import { useElementSize } from '@vueuse/core';
3
3
  import { TableCtxKey } from '../../../../constants/table.mjs';
4
4
  import { Search, Refresh, ArrowDown } from '@element-plus/icons-vue';
5
5
  import { searchFormProps, searchFormEmits, searchFormItemList } from './searchForm.mjs';
@@ -27,11 +27,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
27
27
  const emit = __emit;
28
28
  const queryDivRef = ref();
29
29
  const visibilityMarkRef = ref();
30
- const markIsVisibility = useElementVisibility(visibilityMarkRef);
31
- const { width: queryDivWidth } = useElementSize(queryDivRef);
30
+ const { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);
32
31
  const colsCount = computed(() => Math.floor(queryDivWidth.value / 269));
33
32
  const showMore = ref(true);
34
- const notShowShowMore = computed(() => showMore.value === false && markIsVisibility.value === true);
33
+ const notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);
35
34
  const searchButtonItemStyle = computed(() => {
36
35
  if (notShowShowMore.value) {
37
36
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"SearchForm.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\r\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\r\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\r\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\r\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\r\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\r\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\r\n </template>\r\n <slot />\r\n <gm-form-item :style=\"searchButtonItemStyle\">\r\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\r\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\r\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\r\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\r\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n </div>\r\n </gm-form-item>\r\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\r\n </div>\r\n </div>\r\n </gm-form>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, provide, ref } from 'vue';\r\nimport { useElementSize, useElementVisibility } from '@vueuse/core';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\r\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\r\nimport type { CSSProperties } from 'vue';\r\nimport type { FormInstance } from '../../base/form';\r\ndefineOptions({\r\n name: 'GmSearchForm',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\r\n\r\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\r\n\r\nprovide(queryParamsKey, queryParams);\r\n\r\nconst props = defineProps(searchFormProps);\r\nconst emit = defineEmits(searchFormEmits);\r\n\r\nconst queryDivRef = ref<HTMLDivElement>();\r\nconst visibilityMarkRef = ref<HTMLDivElement>();\r\nconst markIsVisibility = useElementVisibility(visibilityMarkRef);\r\n\r\nconst { width: queryDivWidth } = useElementSize(queryDivRef);\r\n// 列个数\r\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\r\nconst showMore = ref(true);\r\n// 当 showMore展开 为 false 时,标注为可见 则不显示展开按钮\r\nconst notShowShowMore = computed(() => showMore.value === false && markIsVisibility.value === true);\r\n\r\n/**搜索重置按钮组样式 */\r\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\r\n if (notShowShowMore.value) {\r\n return {};\r\n }\r\n return {\r\n gridColumn: colsCount.value,\r\n gridRow: showMore.value ? undefined : 1,\r\n };\r\n});\r\nconst handleShowMoreChange = async () => {\r\n showMore.value = !showMore.value;\r\n // 手动触发 scroll 事件\r\n const scrollEvent = new Event('resize');\r\n await nextTick();\r\n // 手动触发事件\r\n window.dispatchEvent(scrollEvent);\r\n};\r\n\r\n// 通过json渲染组件\r\nconst optionsList = computed(() => {\r\n return props.options.map(it => {\r\n const findComponent = searchFormItemList.find(item => item.type === it.type);\r\n if (findComponent) {\r\n it.component = findComponent.component;\r\n }\r\n return it;\r\n });\r\n});\r\n\r\nconst queryRef = ref<FormInstance>();\r\n\r\nconst handleQuery = (...args: any[]) => {\r\n emit('handleQuery', ...args);\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\nprovide(searchFormHandleQueryKey, handleQuery);\r\n\r\nconst resetQuery = () => {\r\n queryRef.value?.resetFields();\r\n emit('resetQuery');\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmSearchForm .el-form-item) {\r\n margin-right: 0;\r\n margin-bottom: 4px;\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"SearchForm.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\r\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\r\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\r\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\r\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\r\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\r\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\r\n </template>\r\n <slot />\r\n <gm-form-item :style=\"searchButtonItemStyle\">\r\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\r\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\r\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\r\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\r\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n </div>\r\n </gm-form-item>\r\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\r\n </div>\r\n </div>\r\n </gm-form>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, provide, ref } from 'vue';\r\nimport { useElementSize } from '@vueuse/core';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\r\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\r\nimport type { CSSProperties } from 'vue';\r\nimport type { FormInstance } from '../../base/form';\r\ndefineOptions({\r\n name: 'GmSearchForm',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\r\n\r\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\r\n\r\nprovide(queryParamsKey, queryParams);\r\n\r\nconst props = defineProps(searchFormProps);\r\nconst emit = defineEmits(searchFormEmits);\r\n\r\nconst queryDivRef = ref<HTMLDivElement>();\r\nconst visibilityMarkRef = ref<HTMLDivElement>();\r\n// const markIsVisibility = useElementVisibility(visibilityMarkRef);\r\n\r\nconst { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);\r\n// 列个数\r\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\r\nconst showMore = ref(true);\r\n// 当 showMore展开 且高度为60时,不显示展开按钮\r\nconst notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);\r\n\r\n/**搜索重置按钮组样式 */\r\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\r\n if (notShowShowMore.value) {\r\n return {};\r\n }\r\n return {\r\n gridColumn: colsCount.value,\r\n gridRow: showMore.value ? undefined : 1,\r\n };\r\n});\r\nconst handleShowMoreChange = async () => {\r\n showMore.value = !showMore.value;\r\n // 手动触发 scroll 事件\r\n const scrollEvent = new Event('resize');\r\n await nextTick();\r\n // 手动触发事件\r\n window.dispatchEvent(scrollEvent);\r\n};\r\n\r\n// 通过json渲染组件\r\nconst optionsList = computed(() => {\r\n return props.options.map(it => {\r\n const findComponent = searchFormItemList.find(item => item.type === it.type);\r\n if (findComponent) {\r\n it.component = findComponent.component;\r\n }\r\n return it;\r\n });\r\n});\r\n\r\nconst queryRef = ref<FormInstance>();\r\n\r\nconst handleQuery = (...args: any[]) => {\r\n emit('handleQuery', ...args);\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\nprovide(searchFormHandleQueryKey, handleQuery);\r\n\r\nconst resetQuery = () => {\r\n queryRef.value?.resetFields();\r\n emit('resetQuery');\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmSearchForm .el-form-item) {\r\n margin-right: 0;\r\n margin-bottom: 4px;\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
@@ -37,6 +37,10 @@ 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
  };
@@ -352,6 +356,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
352
356
  type: StringConstructor;
353
357
  required: true;
354
358
  };
359
+ autoHeight: {
360
+ type: BooleanConstructor;
361
+ default: boolean;
362
+ };
355
363
  tableId: {
356
364
  type: StringConstructor;
357
365
  };
@@ -484,6 +492,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
484
492
  customOperate: boolean;
485
493
  operateWidth: number;
486
494
  operateFixed: boolean;
495
+ autoHeight: boolean;
487
496
  }, {}>, Readonly<{
488
497
  default(data?: any): any[];
489
498
  }> & {
@@ -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-c9e8b4e4"], ["__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-c9e8b4e4"), 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: "50"
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=\"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 { 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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"}
@@ -37,6 +37,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
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
  };
@@ -372,6 +376,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
372
376
  type: StringConstructor;
373
377
  required: true;
374
378
  };
379
+ autoHeight: {
380
+ type: BooleanConstructor;
381
+ default: boolean;
382
+ };
375
383
  tableId: {
376
384
  type: StringConstructor;
377
385
  };
@@ -504,6 +512,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
504
512
  customOperate: boolean;
505
513
  operateWidth: number;
506
514
  operateFixed: boolean;
515
+ autoHeight: boolean;
507
516
  }, true, {}, {}, {
508
517
  P: {};
509
518
  B: {};
@@ -548,6 +557,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
548
557
  type: StringConstructor;
549
558
  required: true;
550
559
  };
560
+ autoHeight: {
561
+ type: BooleanConstructor;
562
+ default: boolean;
563
+ };
551
564
  tableId: {
552
565
  type: StringConstructor;
553
566
  };
@@ -853,6 +866,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
853
866
  customOperate: boolean;
854
867
  operateWidth: number;
855
868
  operateFixed: boolean;
869
+ autoHeight: boolean;
856
870
  }>;
857
871
  __isFragment?: undefined;
858
872
  __isTeleport?: undefined;
@@ -894,6 +908,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
894
908
  type: StringConstructor;
895
909
  required: true;
896
910
  };
911
+ autoHeight: {
912
+ type: BooleanConstructor;
913
+ default: boolean;
914
+ };
897
915
  tableId: {
898
916
  type: StringConstructor;
899
917
  };
@@ -1219,6 +1237,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
1219
1237
  customOperate: boolean;
1220
1238
  operateWidth: number;
1221
1239
  operateFixed: boolean;
1240
+ autoHeight: boolean;
1222
1241
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
1223
1242
  $slots: Readonly<{
1224
1243
  default(data?: any): any[];
@@ -2,7 +2,7 @@ import _sfc_main from './TablePagination.vue2.mjs';
2
2
  import './TablePagination.vue3.mjs';
3
3
  import _export_sfc from '../../../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- var TablePagination = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-20ed99a8"], ["__file", "TablePagination.vue"]]);
5
+ var TablePagination = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c628ba24"], ["__file", "TablePagination.vue"]]);
6
6
 
7
7
  export { TablePagination as default };
8
8
  //# sourceMappingURL=TablePagination.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TablePagination.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tablePagination/TablePagination.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ hidden: hidden }\" class=\"pagination-container gm-flex gm-justify-end\">\r\n <gm-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :background=\"background\"\r\n :layout=\"layout\"\r\n :page-sizes=\"pageSizes\"\r\n :pager-count=\"pagerCount\"\r\n :total=\"total\"\r\n :small=\"small\"\r\n @sizeChange=\"handleSizeChange\"\r\n @currentChange=\"handleCurrentChange\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject } from 'vue';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { tablePaginationProps } from './tablePagination';\r\n\r\ndefineOptions({\r\n name: 'GmTablePagination',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst props = defineProps(tablePaginationProps);\r\n\r\nconst emit = defineEmits(['update:page', 'update:limit', 'pagination']);\r\nconst currentPage = computed<number>({\r\n get() {\r\n return props.page;\r\n },\r\n set(val) {\r\n emit('update:page', val);\r\n },\r\n});\r\nconst pageSize = computed({\r\n get() {\r\n return props.limit;\r\n },\r\n set(val) {\r\n emit('update:limit', val);\r\n },\r\n});\r\nfunction handleSizeChange(val: any) {\r\n if (currentPage.value * val > props.total) {\r\n currentPage.value = 1;\r\n }\r\n emit('pagination', { page: currentPage.value, limit: val });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\nfunction handleCurrentChange(val: any) {\r\n emit('pagination', { page: val, limit: pageSize.value });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding: 32px 16px;\r\n}\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;AAyBA,IAAA,MAAM,QAAW,GAAA,MAAA,CAAO,WAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,MAAM,cAAc,QAAiB,CAAA;AAAA,MACnC,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,eAAe,GAAG,CAAA,CAAA;AAAA,OACzB;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAM,WAAW,QAAS,CAAA;AAAA,MACxB,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AACD,IAAA,SAAS,iBAAiB,GAAU,EAAA;AAClC,MAAA,IAAI,WAAY,CAAA,KAAA,GAAQ,GAAM,GAAA,KAAA,CAAM,KAAO,EAAA;AACzC,QAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC1D,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;AACA,IAAA,SAAS,oBAAoB,GAAU,EAAA;AACrC,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,KAAK,KAAO,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AACvD,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TablePagination.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tablePagination/TablePagination.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ hidden: hidden }\" class=\"pagination-container gm-flex gm-justify-end\">\r\n <gm-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :background=\"background\"\r\n :layout=\"layout\"\r\n :page-sizes=\"pageSizes\"\r\n :pager-count=\"pagerCount\"\r\n :total=\"total\"\r\n :small=\"small\"\r\n @sizeChange=\"handleSizeChange\"\r\n @currentChange=\"handleCurrentChange\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject } from 'vue';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { tablePaginationProps } from './tablePagination';\r\n\r\ndefineOptions({\r\n name: 'GmTablePagination',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst props = defineProps(tablePaginationProps);\r\n\r\nconst emit = defineEmits(['update:page', 'update:limit', 'pagination']);\r\nconst currentPage = computed<number>({\r\n get() {\r\n return props.page;\r\n },\r\n set(val) {\r\n emit('update:page', val);\r\n },\r\n});\r\nconst pageSize = computed({\r\n get() {\r\n return props.limit;\r\n },\r\n set(val) {\r\n emit('update:limit', val);\r\n },\r\n});\r\nfunction handleSizeChange(val: any) {\r\n if (currentPage.value * val > props.total) {\r\n currentPage.value = 1;\r\n }\r\n emit('pagination', { page: currentPage.value, limit: val });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\nfunction handleCurrentChange(val: any) {\r\n emit('pagination', { page: val, limit: pageSize.value });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding-top: 12px;\r\n}\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;AAyBA,IAAA,MAAM,QAAW,GAAA,MAAA,CAAO,WAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,MAAM,cAAc,QAAiB,CAAA;AAAA,MACnC,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,eAAe,GAAG,CAAA,CAAA;AAAA,OACzB;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAM,WAAW,QAAS,CAAA;AAAA,MACxB,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AACD,IAAA,SAAS,iBAAiB,GAAU,EAAA;AAClC,MAAA,IAAI,WAAY,CAAA,KAAA,GAAQ,GAAM,GAAA,KAAA,CAAM,KAAO,EAAA;AACzC,QAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC1D,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;AACA,IAAA,SAAS,oBAAoB,GAAU,EAAA;AACrC,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,KAAK,KAAO,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AACvD,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -34,6 +34,10 @@ export declare const tableProProps: {
34
34
  type: StringConstructor;
35
35
  required: true;
36
36
  };
37
+ autoHeight: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
37
41
  tableId: {
38
42
  type: StringConstructor;
39
43
  };
@@ -34,6 +34,10 @@ const tableProProps = {
34
34
  page: {
35
35
  type: String,
36
36
  required: true
37
+ },
38
+ autoHeight: {
39
+ type: Boolean,
40
+ default: false
37
41
  }
38
42
  };
39
43
  const tableProEmits = {