giime 0.3.3 → 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 (30) hide show
  1. package/dist/index.css +28 -28
  2. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
  3. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  4. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +96 -81
  5. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  6. package/es/components/src/composite/tablePro/index.d.ts +19 -0
  7. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue.mjs +1 -1
  8. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs.map +1 -1
  9. package/es/components/src/composite/tablePro/tablePro.d.ts +4 -0
  10. package/es/components/src/composite/tablePro/tablePro.mjs +4 -0
  11. package/es/components/src/composite/tablePro/tablePro.mjs.map +1 -1
  12. package/es/giime/version.d.ts +1 -1
  13. package/es/giime/version.mjs +1 -1
  14. package/es/giime/version.mjs.map +1 -1
  15. package/es/index.css +28 -28
  16. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
  17. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  18. package/lib/components/src/composite/tablePro/TablePro.vue2.js +95 -80
  19. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  20. package/lib/components/src/composite/tablePro/index.d.ts +19 -0
  21. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue.js +1 -1
  22. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js.map +1 -1
  23. package/lib/components/src/composite/tablePro/tablePro.d.ts +4 -0
  24. package/lib/components/src/composite/tablePro/tablePro.js +4 -0
  25. package/lib/components/src/composite/tablePro/tablePro.js.map +1 -1
  26. package/lib/giime/version.d.ts +1 -1
  27. package/lib/giime/version.js +1 -1
  28. package/lib/giime/version.js.map +1 -1
  29. package/lib/index.css +28 -28
  30. package/package.json +1 -1
package/es/index.css CHANGED
@@ -741,28 +741,9 @@ 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;
744
+ [data-v-75032027] .gmSearchForm .el-form-item {
745
+ margin-right: 0;
746
+ margin-bottom: 4px;
766
747
  }
767
748
  .gm-number-interval-single[data-v-47a13fd0] {
768
749
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
@@ -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-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
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
  }
@@ -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
  }> & {
@@ -6,7 +6,7 @@ var TablePro_vue_vue_type_script_setup_true_lang = require('./TablePro.vue2.js')
6
6
  require('./TablePro.vue3.js');
7
7
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
8
8
 
9
- var TablePro = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePro_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-2f3b2b52"], ["__file", "TablePro.vue"]]);
9
+ var TablePro = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePro_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-c9e8b4e4"], ["__file", "TablePro.vue"]]);
10
10
 
11
11
  exports.default = TablePro;
12
12
  //# sourceMappingURL=TablePro.vue.js.map
@@ -7,6 +7,7 @@ var objects = require('../../../../utils/src/objects.js');
7
7
  var exports$1 = require('../../../../utils/src/elementPlus/exports.js');
8
8
  var event = require('../../../../utils/src/elementPlus/event.js');
9
9
  var table = require('../../../../constants/table.js');
10
+ var core = require('@vueuse/core');
10
11
  var operateButton = require('../operateButton/operateButton.js');
11
12
  var TableOperateVNodeRenderer = require('./TableOperateVNodeRenderer.js');
12
13
  var TableColumnVNodeRenderer = require('./TableColumnVNodeRenderer.js');
@@ -14,7 +15,7 @@ var tablePro = require('./tablePro.js');
14
15
  var tableHelper = require('./tableHelper.js');
15
16
  var tableColumnPro = require('./tableColumnPro/tableColumnPro.js');
16
17
 
17
- const _withScopeId = (n) => (vue.pushScopeId("data-v-2f3b2b52"), n = n(), vue.popScopeId(), n);
18
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-c9e8b4e4"), n = n(), vue.popScopeId(), n);
18
19
  const _hoisted_1 = { class: "gm-text-center" };
19
20
  const _hoisted_2 = {
20
21
  key: 0,
@@ -33,6 +34,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
33
34
  setup(__props, { expose: __expose, emit: __emit }) {
34
35
  const tableCtx = vue.inject(table.TableCtxKey);
35
36
  const props = __props;
37
+ const gmTableDivRef = vue.ref();
38
+ const { top: divTop } = core.useElementBounding(gmTableDivRef);
39
+ const { height: windowHeight } = core.useWindowSize();
40
+ const tableMaxHeight = vue.computed(() => Math.floor(windowHeight.value - divTop.value - 60));
36
41
  const GmTbaleRef = vue.ref();
37
42
  if (tableCtx && tableCtx.tableId === props.page) {
38
43
  tableCtx.tableRef = GmTbaleRef;
@@ -169,85 +174,95 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
169
174
  vue.Fragment,
170
175
  null,
171
176
  [
172
- vue.createElementVNode("div", null, [
173
- gmTableHeaderRef.value?.isInited ? (vue.openBlock(), vue.createBlock(_component_gm_table, vue.mergeProps({
174
- key: 0,
175
- ref_key: "GmTbaleRef",
176
- ref: GmTbaleRef
177
- }, props, {
178
- border: "",
179
- class: ["gmTablePro", [props.border ? "" : "gmTableNoBorder"]]
180
- }, vue.toHandlers(vue.unref(elEvents)), {
181
- onSelectionChange: _cache[2] || (_cache[2] = (value) => _ctx.$emit("selection-change", value)),
182
- onSortChange: handleSortChange,
183
- onHeaderDragend: headerDragend
184
- }), {
185
- default: vue.withCtx(() => [
186
- vue.createCommentVNode(' <template #empty>\r\n <gm-empty image="https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png" />\r\n </template> '),
187
- props.selection ? (vue.openBlock(), vue.createBlock(_component_gm_table_column, {
188
- key: 999999,
189
- type: "selection",
190
- width: "50"
191
- })) : vue.createCommentVNode("v-if", true),
192
- vue.createVNode(vue.unref(TableColumnVNodeRenderer.default), {
193
- vnode: tableColumnVnode.value,
194
- propsList: colPropsList.value
195
- }, null, 8, ["vnode", "propsList"]),
196
- vue.createCommentVNode(" \u64CD\u4F5C "),
197
- _ctx.customHeader || _ctx.customOperate ? (vue.openBlock(), vue.createBlock(_component_gm_table_column, {
198
- key: 1,
199
- prop: "gmEdit",
200
- "min-width": "100",
201
- width: editProps.value?.width,
202
- fixed: _ctx.operateFixed ? "right" : false
203
- }, {
204
- header: vue.withCtx(() => [
205
- vue.createElementVNode("div", _hoisted_1, [
206
- _ctx.customHeader ? (vue.openBlock(), vue.createBlock(_component_gm_button, {
207
- key: 0,
208
- type: "primary",
209
- link: "",
210
- size: "small",
211
- onClick: _cache[0] || (_cache[0] = ($event) => setTable("header"))
212
- }, {
213
- default: vue.withCtx(() => [
214
- vue.createTextVNode(" \u8868\u5934 ")
215
- ]),
216
- _: 1
217
- /* STABLE */
218
- })) : vue.createCommentVNode("v-if", true),
219
- _ctx.customOperate ? (vue.openBlock(), vue.createBlock(_component_gm_button, {
220
- key: 1,
221
- type: "primary",
222
- link: "",
223
- size: "small",
224
- onClick: _cache[1] || (_cache[1] = ($event) => setTable("operate"))
225
- }, {
226
- default: vue.withCtx(() => [
227
- vue.createTextVNode(" \u64CD\u4F5C ")
228
- ]),
229
- _: 1
230
- /* STABLE */
231
- })) : vue.createCommentVNode("v-if", true)
232
- ])
233
- ]),
234
- default: vue.withCtx((slotValue) => [
235
- vue.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> '),
236
- tableOperateVnode.value && tableOperateVnode.value.children && gmCustomOperationsRef.value && gmCustomOperationsRef.value.isInited && slotValue && slotValue.row && tableOperateVnode.value.children?.default(slotValue) && customBtnPropsList.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
237
- vue.createVNode(vue.unref(TableOperateVNodeRenderer.default), {
238
- vnode: tableOperateVnode.value.children?.default(slotValue),
239
- customPropsList: customBtnPropsList.value
240
- }, null, 8, ["vnode", "customPropsList"])
241
- ])) : vue.createCommentVNode("v-if", true)
242
- ]),
243
- _: 1
244
- /* STABLE */
245
- }, 8, ["width", "fixed"])) : vue.createCommentVNode("v-if", true)
246
- ]),
247
- _: 1
248
- /* STABLE */
249
- }, 16, ["class"])) : vue.createCommentVNode("v-if", true)
250
- ]),
177
+ vue.createElementVNode(
178
+ "div",
179
+ {
180
+ ref_key: "gmTableDivRef",
181
+ ref: gmTableDivRef
182
+ },
183
+ [
184
+ gmTableHeaderRef.value?.isInited ? (vue.openBlock(), vue.createBlock(_component_gm_table, vue.mergeProps({
185
+ key: 0,
186
+ ref_key: "GmTbaleRef",
187
+ ref: GmTbaleRef
188
+ }, props, {
189
+ height: _ctx.autoHeight ? tableMaxHeight.value : _ctx.height,
190
+ border: "",
191
+ class: ["gmTablePro", [props.border ? "" : "gmTableNoBorder"]]
192
+ }, vue.toHandlers(vue.unref(elEvents)), {
193
+ onSelectionChange: _cache[2] || (_cache[2] = (value) => _ctx.$emit("selection-change", value)),
194
+ onSortChange: handleSortChange,
195
+ onHeaderDragend: headerDragend
196
+ }), {
197
+ default: vue.withCtx(() => [
198
+ vue.createCommentVNode(' <template #empty>\r\n <gm-empty image="https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png" />\r\n </template> '),
199
+ props.selection ? (vue.openBlock(), vue.createBlock(_component_gm_table_column, {
200
+ key: 999999,
201
+ type: "selection",
202
+ width: "50"
203
+ })) : vue.createCommentVNode("v-if", true),
204
+ vue.createVNode(vue.unref(TableColumnVNodeRenderer.default), {
205
+ vnode: tableColumnVnode.value,
206
+ propsList: colPropsList.value
207
+ }, null, 8, ["vnode", "propsList"]),
208
+ vue.createCommentVNode(" \u64CD\u4F5C "),
209
+ _ctx.customHeader || _ctx.customOperate ? (vue.openBlock(), vue.createBlock(_component_gm_table_column, {
210
+ key: 1,
211
+ prop: "gmEdit",
212
+ "min-width": "100",
213
+ width: editProps.value?.width,
214
+ fixed: _ctx.operateFixed ? "right" : false
215
+ }, {
216
+ header: vue.withCtx(() => [
217
+ vue.createElementVNode("div", _hoisted_1, [
218
+ _ctx.customHeader ? (vue.openBlock(), vue.createBlock(_component_gm_button, {
219
+ key: 0,
220
+ type: "primary",
221
+ link: "",
222
+ size: "small",
223
+ onClick: _cache[0] || (_cache[0] = ($event) => setTable("header"))
224
+ }, {
225
+ default: vue.withCtx(() => [
226
+ vue.createTextVNode(" \u8868\u5934 ")
227
+ ]),
228
+ _: 1
229
+ /* STABLE */
230
+ })) : vue.createCommentVNode("v-if", true),
231
+ _ctx.customOperate ? (vue.openBlock(), vue.createBlock(_component_gm_button, {
232
+ key: 1,
233
+ type: "primary",
234
+ link: "",
235
+ size: "small",
236
+ onClick: _cache[1] || (_cache[1] = ($event) => setTable("operate"))
237
+ }, {
238
+ default: vue.withCtx(() => [
239
+ vue.createTextVNode(" \u64CD\u4F5C ")
240
+ ]),
241
+ _: 1
242
+ /* STABLE */
243
+ })) : vue.createCommentVNode("v-if", true)
244
+ ])
245
+ ]),
246
+ default: vue.withCtx((slotValue) => [
247
+ vue.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> '),
248
+ tableOperateVnode.value && tableOperateVnode.value.children && gmCustomOperationsRef.value && gmCustomOperationsRef.value.isInited && slotValue && slotValue.row && tableOperateVnode.value.children?.default(slotValue) && customBtnPropsList.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
249
+ vue.createVNode(vue.unref(TableOperateVNodeRenderer.default), {
250
+ vnode: tableOperateVnode.value.children?.default(slotValue),
251
+ customPropsList: customBtnPropsList.value
252
+ }, null, 8, ["vnode", "customPropsList"])
253
+ ])) : vue.createCommentVNode("v-if", true)
254
+ ]),
255
+ _: 1
256
+ /* STABLE */
257
+ }, 8, ["width", "fixed"])) : vue.createCommentVNode("v-if", true)
258
+ ]),
259
+ _: 1
260
+ /* STABLE */
261
+ }, 16, ["height", "class"])) : vue.createCommentVNode("v-if", true)
262
+ ],
263
+ 512
264
+ /* NEED_PATCH */
265
+ ),
251
266
  vue.createVNode(_component_gm_table_header_form, {
252
267
  ref_key: "gmTableHeaderRef",
253
268
  ref: gmTableHeaderRef,
@@ -1 +1 @@
1
- {"version":3,"file":"TablePro.vue2.js","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":["inject","TableCtxKey","ref","tableProEmits","getGmEvent","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel","getGmExports"],"mappings":"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"}
1
+ {"version":3,"file":"TablePro.vue2.js","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":["inject","TableCtxKey","ref","useElementBounding","useWindowSize","computed","tableProEmits","getGmEvent","_useSlots","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel","getGmExports"],"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[];
@@ -6,7 +6,7 @@ var TablePagination_vue_vue_type_script_setup_true_lang = require('./TablePagina
6
6
  require('./TablePagination.vue3.js');
7
7
  var _pluginVue_exportHelper = require('../../../../../_virtual/_plugin-vue_export-helper.js');
8
8
 
9
- var TablePagination = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePagination_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-20ed99a8"], ["__file", "TablePagination.vue"]]);
9
+ var TablePagination = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePagination_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-c628ba24"], ["__file", "TablePagination.vue"]]);
10
10
 
11
11
  exports.default = TablePagination;
12
12
  //# sourceMappingURL=TablePagination.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TablePagination.vue2.js","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":["inject","TableCtxKey","computed"],"mappings":";;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,QAAW,GAAAA,UAAA,CAAOC,iBAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,MAAM,cAAcC,YAAiB,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,WAAWA,YAAS,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.js","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":["inject","TableCtxKey","computed"],"mappings":";;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,QAAW,GAAAA,UAAA,CAAOC,iBAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,MAAM,cAAcC,YAAiB,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,WAAWA,YAAS,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
  };
@@ -36,6 +36,10 @@ const tableProProps = {
36
36
  page: {
37
37
  type: String,
38
38
  required: true
39
+ },
40
+ autoHeight: {
41
+ type: Boolean,
42
+ default: false
39
43
  }
40
44
  };
41
45
  const tableProEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"tablePro.js","sources":["../../../../../../../packages/components/src/composite/tablePro/tablePro.ts"],"sourcesContent":["import { tableEmits, tableProps } from '@giime/components/src/base';\r\n// import type { Sort } from 'element-plus';\r\n\r\nexport const tableProProps = {\r\n ...tableProps,\r\n\r\n headerCellStyle: {\r\n type: Object,\r\n default: () => ({ background: '#F5F7FA', color: '#333' }),\r\n },\r\n data: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n selection: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n customHeader: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n customOperate: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n operateWidth: {\r\n type: Number,\r\n default: 120,\r\n },\r\n operateFixed: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n page: {\r\n type: String,\r\n required: true as const,\r\n },\r\n};\r\n\r\nexport const tableProEmits = {\r\n ...tableEmits,\r\n};\r\nexport interface TableProSortValue {\r\n field: string;\r\n order: 'asc' | 'desc';\r\n}\r\n"],"names":["tableProps","tableEmits"],"mappings":";;;;;AAGO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGA,gBAAA;AAAA,EAEH,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,OAAO,EAAE,UAAY,EAAA,SAAA,EAAW,OAAO,MAAO,EAAA,CAAA;AAAA,GACzD;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AACF,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGC,gBAAA;AACL;;;;;"}
1
+ {"version":3,"file":"tablePro.js","sources":["../../../../../../../packages/components/src/composite/tablePro/tablePro.ts"],"sourcesContent":["import { tableEmits, tableProps } from '@giime/components/src/base';\r\n// import type { Sort } from 'element-plus';\r\n\r\nexport const tableProProps = {\r\n ...tableProps,\r\n\r\n headerCellStyle: {\r\n type: Object,\r\n default: () => ({ background: '#F5F7FA', color: '#333' }),\r\n },\r\n data: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n selection: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n customHeader: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n customOperate: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n operateWidth: {\r\n type: Number,\r\n default: 120,\r\n },\r\n operateFixed: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n page: {\r\n type: String,\r\n required: true as const,\r\n },\r\n autoHeight: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n};\r\n\r\nexport const tableProEmits = {\r\n ...tableEmits,\r\n};\r\nexport interface TableProSortValue {\r\n field: string;\r\n order: 'asc' | 'desc';\r\n}\r\n"],"names":["tableProps","tableEmits"],"mappings":";;;;;AAGO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGA,gBAAA;AAAA,EAEH,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,OAAO,EAAE,UAAY,EAAA,SAAA,EAAW,OAAO,MAAO,EAAA,CAAA;AAAA,GACzD;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGC,gBAAA;AACL;;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.3.3";
1
+ export declare const version = "0.3.4";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.3.3";
3
+ const version = "0.3.4";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.3.3';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.3.4';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}