giime 0.1.8 → 0.1.9

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 (46) hide show
  1. package/dist/index.css +39 -39
  2. package/es/components/src/composite/operateButton/OperateButton.vue.d.ts +15 -0
  3. package/es/components/src/composite/operateButton/OperateButton.vue2.mjs +4 -2
  4. package/es/components/src/composite/operateButton/OperateButton.vue2.mjs.map +1 -1
  5. package/es/components/src/composite/operateButton/index.d.ts +15 -0
  6. package/es/components/src/composite/operateButton/operateButton.d.ts +7 -1
  7. package/es/components/src/composite/operateButton/operateButton.mjs +7 -0
  8. package/es/components/src/composite/operateButton/operateButton.mjs.map +1 -1
  9. package/es/components/src/composite/tablePro/TableOperateVNodeRenderer.mjs +4 -2
  10. package/es/components/src/composite/tablePro/TableOperateVNodeRenderer.mjs.map +1 -1
  11. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +30 -30
  12. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  13. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +19 -38
  14. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  15. package/es/components/src/composite/tablePro/TableProEditSlot.vue.d.ts +49 -0
  16. package/es/components/src/composite/tablePro/TableProEditSlot.vue.mjs +7 -0
  17. package/es/components/src/composite/tablePro/TableProEditSlot.vue.mjs.map +1 -0
  18. package/es/components/src/composite/tablePro/TableProEditSlot.vue2.mjs +61 -0
  19. package/es/components/src/composite/tablePro/TableProEditSlot.vue2.mjs.map +1 -0
  20. package/es/giime/version.d.ts +1 -1
  21. package/es/giime/version.mjs +1 -1
  22. package/es/giime/version.mjs.map +1 -1
  23. package/es/index.css +39 -39
  24. package/lib/components/src/composite/operateButton/OperateButton.vue.d.ts +15 -0
  25. package/lib/components/src/composite/operateButton/OperateButton.vue2.js +4 -2
  26. package/lib/components/src/composite/operateButton/OperateButton.vue2.js.map +1 -1
  27. package/lib/components/src/composite/operateButton/index.d.ts +15 -0
  28. package/lib/components/src/composite/operateButton/operateButton.d.ts +7 -1
  29. package/lib/components/src/composite/operateButton/operateButton.js +7 -0
  30. package/lib/components/src/composite/operateButton/operateButton.js.map +1 -1
  31. package/lib/components/src/composite/tablePro/TableOperateVNodeRenderer.js +4 -2
  32. package/lib/components/src/composite/tablePro/TableOperateVNodeRenderer.js.map +1 -1
  33. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +30 -30
  34. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  35. package/lib/components/src/composite/tablePro/TablePro.vue2.js +19 -38
  36. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  37. package/lib/components/src/composite/tablePro/TableProEditSlot.vue.d.ts +49 -0
  38. package/lib/components/src/composite/tablePro/TableProEditSlot.vue.js +11 -0
  39. package/lib/components/src/composite/tablePro/TableProEditSlot.vue.js.map +1 -0
  40. package/lib/components/src/composite/tablePro/TableProEditSlot.vue2.js +65 -0
  41. package/lib/components/src/composite/tablePro/TableProEditSlot.vue2.js.map +1 -0
  42. package/lib/giime/version.d.ts +1 -1
  43. package/lib/giime/version.js +1 -1
  44. package/lib/giime/version.js.map +1 -1
  45. package/lib/index.css +39 -39
  46. package/package.json +1 -1
@@ -4,19 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var objects = require('../../../../utils/src/objects.js');
7
- var operateButton = require('../operateButton/operateButton.js');
8
- var TableOperateVNodeRenderer = require('./TableOperateVNodeRenderer.js');
7
+ var TableProEditSlot = require('./TableProEditSlot.vue.js');
9
8
  var TableColumnVNodeRenderer = require('./TableColumnVNodeRenderer.js');
10
9
  var tablePro = require('./tablePro.js');
11
10
  var tableHelper = require('./tableHelper.js');
12
11
  var tableColumnPro = require('./tableColumnPro/tableColumnPro.js');
13
12
 
14
- const _withScopeId = (n) => (vue.pushScopeId("data-v-e38c9d81"), n = n(), vue.popScopeId(), n);
13
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-0b3dd381"), n = n(), vue.popScopeId(), n);
15
14
  const _hoisted_1 = { class: "gm-text-center" };
16
- const _hoisted_2 = {
17
- key: 0,
18
- class: "gm-flex gm-flex-wrap gm-justify-center"
19
- };
20
15
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
16
  ...{
22
17
  name: "GmTablePro"
@@ -64,26 +59,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
64
59
  const nodes = vNodes.find((vNode) => vNode.props && vNode.props.type === "edit");
65
60
  return nodes;
66
61
  });
67
- const customDefaultPropsList = vue.computed(() => {
68
- const defaultVnodes = tableOperateVnode.value?.children?.default?.(tableOperateVnode.value?.ctx.scope);
69
- const children = tableHelper.getVnodesByGmName(defaultVnodes, "GmOperateButton");
70
- const btnProps = children.map((vNode) => vNode.props) ?? [];
71
- btnProps.forEach((it) => {
72
- for (const key in operateButton.operateButtonProps) {
73
- if (objects.hasOwn(it, key)) {
74
- continue;
75
- }
76
- if (objects.hasOwn(operateButton.operateButtonProps, key)) {
77
- const element = operateButton.operateButtonProps[key];
78
- if (objects.hasOwn(element, "default")) {
79
- Reflect.set(it, key, Reflect.get(element, "default"));
80
- }
81
- }
82
- }
83
- });
84
- return btnProps;
85
- });
86
- const customBtnPropsList = vue.ref(customDefaultPropsList.value);
62
+ const customDefaultPropsList = vue.ref([]);
63
+ const customBtnPropsList = vue.ref([]);
87
64
  const drawerHeaderVisible = vue.ref(false);
88
65
  const drawerOperateVisible = vue.ref(false);
89
66
  const setTable = (event) => {
@@ -145,7 +122,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
145
122
  }, props, {
146
123
  border: "",
147
124
  class: ["gmTablePro", [props.border ? "" : "gmTableNoBorder"]],
148
- onSelectionChange: _cache[2] || (_cache[2] = (value) => _ctx.$emit("selectionChange", value)),
125
+ onSelectionChange: _cache[4] || (_cache[4] = (value) => _ctx.$emit("selectionChange", value)),
149
126
  onSortChange: handleSortChange,
150
127
  onHeaderDragend: headerDragend
151
128
  }), {
@@ -199,13 +176,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
199
176
  ])
200
177
  ]),
201
178
  default: vue.withCtx((slotValue) => [
179
+ vue.createVNode(TableProEditSlot.default, {
180
+ customBtnPropsList: customBtnPropsList.value,
181
+ "onUpdate:customBtnPropsList": _cache[2] || (_cache[2] = ($event) => customBtnPropsList.value = $event),
182
+ customDefaultPropsList: customDefaultPropsList.value,
183
+ "onUpdate:customDefaultPropsList": _cache[3] || (_cache[3] = ($event) => customDefaultPropsList.value = $event),
184
+ tableOperateVnode: tableOperateVnode.value,
185
+ isInited: gmCustomOperationsRef.value?.isInited,
186
+ slotValue
187
+ }, null, 8, ["customBtnPropsList", "customDefaultPropsList", "tableOperateVnode", "isInited", "slotValue"]),
202
188
  vue.createCommentVNode(' <VNodeRenderer :vnode="customVNodes" /> '),
203
- tableOperateVnode.value && gmCustomOperationsRef.value && gmCustomOperationsRef.value.isInited ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
204
- vue.createVNode(vue.unref(TableOperateVNodeRenderer.default), {
205
- vnode: tableOperateVnode.value.children?.default(slotValue),
206
- customPropsList: customBtnPropsList.value
207
- }, null, 8, ["vnode", "customPropsList"])
208
- ])) : vue.createCommentVNode("v-if", true)
189
+ 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 class="gm-flex gm-flex-wrap gm-justify-center"\r\n >\r\n <TableOperateVNodeRenderer :vnode="tableOperateVnode.children?.default(slotValue)" :customPropsList="customBtnPropsList" />\r\n </div> ')
209
190
  ]),
210
191
  _: 1
211
192
  /* STABLE */
@@ -219,9 +200,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
219
200
  ref_key: "gmTableHeaderRef",
220
201
  ref: gmTableHeaderRef,
221
202
  isShowDrawer: drawerHeaderVisible.value,
222
- "onUpdate:isShowDrawer": _cache[3] || (_cache[3] = ($event) => drawerHeaderVisible.value = $event),
203
+ "onUpdate:isShowDrawer": _cache[5] || (_cache[5] = ($event) => drawerHeaderVisible.value = $event),
223
204
  colPropsList: colPropsList.value,
224
- "onUpdate:colPropsList": _cache[4] || (_cache[4] = ($event) => colPropsList.value = $event),
205
+ "onUpdate:colPropsList": _cache[6] || (_cache[6] = ($event) => colPropsList.value = $event),
225
206
  colDefaultPropsList: colDefaultPropsList.value,
226
207
  keyWord: props.page,
227
208
  type: "HeaderList"
@@ -230,9 +211,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
230
211
  ref_key: "gmCustomOperationsRef",
231
212
  ref: gmCustomOperationsRef,
232
213
  isShowDrawer: drawerOperateVisible.value,
233
- "onUpdate:isShowDrawer": _cache[5] || (_cache[5] = ($event) => drawerOperateVisible.value = $event),
214
+ "onUpdate:isShowDrawer": _cache[7] || (_cache[7] = ($event) => drawerOperateVisible.value = $event),
234
215
  customBtnPropsList: customBtnPropsList.value,
235
- "onUpdate:customBtnPropsList": _cache[6] || (_cache[6] = ($event) => customBtnPropsList.value = $event),
216
+ "onUpdate:customBtnPropsList": _cache[8] || (_cache[8] = ($event) => customBtnPropsList.value = $event),
236
217
  customDefaultPropsList: customDefaultPropsList.value,
237
218
  keyWord: props.page,
238
219
  type: "OperateList"
@@ -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 ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selectionChange', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <template v-if=\"gmTableHeaderRef?.isInited\">\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n </template>\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 <!-- <VNodeRenderer :vnode=\"customVNodes\" /> -->\r\n <div v-if=\"tableOperateVnode && gmCustomOperationsRef && gmCustomOperationsRef.isInited\" class=\"gm-flex gm-flex-wrap gm-justify-center\">\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, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\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 { 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 GmTbaleRef = ref<TableInstance>();\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\nconst props = defineProps(tableProProps);\r\n\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?.(tableOperateVnode.value?.ctx.scope);\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\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 return btnProps;\r\n});\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();\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<\r\n {\r\n field: string;\r\n order: 'asc' | 'desc';\r\n }[]\r\n>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value = [];\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('sortChange', sort);\r\n};\r\ndefineExpose({\r\n colPropsList,\r\n clearSort: () => GmTbaleRef.value?.clearSort(),\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":["ref","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel"],"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>\r\n <gm-table\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selectionChange', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <template v-if=\"gmTableHeaderRef?.isInited\">\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n </template>\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 <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 <!-- <VNodeRenderer :vnode=\"customVNodes\" /> -->\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, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\n// import { operateButtonProps } from '../operateButton/operateButton';\r\n// import 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 { 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 GmTbaleRef = ref<TableInstance>();\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\nconst props = defineProps(tableProProps);\r\n\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\n// const customDefaultPropsList = computed(() => {\r\n// const defaultVnodes = tableOperateVnode.value?.children?.default?.(tableOperateVnode.value?.ctx.scope);\r\n// const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n\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// return btnProps;\r\n// });\r\n\r\nconst customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>([]);\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();\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<\r\n {\r\n field: string;\r\n order: 'asc' | 'desc';\r\n }[]\r\n>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value = [];\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('sortChange', sort);\r\n};\r\ndefineExpose({\r\n colPropsList,\r\n clearSort: () => GmTbaleRef.value?.clearSort(),\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":["ref","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","nextTick","_useModel"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { OperateButtonProps } from '../operateButton/operateButton';
2
+ declare const _default: import("vue").DefineComponent<{
3
+ customBtnPropsList: {
4
+ required: true;
5
+ type: import("vue").PropType<OperateButtonProps[]>;
6
+ };
7
+ customDefaultPropsList: {
8
+ required: true;
9
+ type: import("vue").PropType<OperateButtonProps[]>;
10
+ };
11
+ tableOperateVnode: {
12
+ type: import("vue").PropType<any>;
13
+ required: true;
14
+ };
15
+ slotValue: {
16
+ type: import("vue").PropType<any>;
17
+ required: true;
18
+ };
19
+ isInited: {
20
+ type: import("vue").PropType<boolean>;
21
+ };
22
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ "update:customBtnPropsList": (customBtnPropsList: OperateButtonProps[]) => void;
24
+ "update:customDefaultPropsList": (customDefaultPropsList: OperateButtonProps[]) => void;
25
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
26
+ customBtnPropsList: {
27
+ required: true;
28
+ type: import("vue").PropType<OperateButtonProps[]>;
29
+ };
30
+ customDefaultPropsList: {
31
+ required: true;
32
+ type: import("vue").PropType<OperateButtonProps[]>;
33
+ };
34
+ tableOperateVnode: {
35
+ type: import("vue").PropType<any>;
36
+ required: true;
37
+ };
38
+ slotValue: {
39
+ type: import("vue").PropType<any>;
40
+ required: true;
41
+ };
42
+ isInited: {
43
+ type: import("vue").PropType<boolean>;
44
+ };
45
+ }>> & {
46
+ "onUpdate:customBtnPropsList"?: ((customBtnPropsList: OperateButtonProps[]) => any) | undefined;
47
+ "onUpdate:customDefaultPropsList"?: ((customDefaultPropsList: OperateButtonProps[]) => any) | undefined;
48
+ }, {}, {}>;
49
+ export default _default;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var TableProEditSlot_vue_vue_type_script_setup_true_lang = require('./TableProEditSlot.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
7
+
8
+ var TableProEditSlot = /* @__PURE__ */ _pluginVue_exportHelper.default(TableProEditSlot_vue_vue_type_script_setup_true_lang.default, [["__file", "TableProEditSlot.vue"]]);
9
+
10
+ exports.default = TableProEditSlot;
11
+ //# sourceMappingURL=TableProEditSlot.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableProEditSlot.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var objects = require('../../../../utils/src/objects.js');
7
+ var operateButton = require('../operateButton/operateButton.js');
8
+ var TableOperateVNodeRenderer = require('./TableOperateVNodeRenderer.js');
9
+ var tableHelper = require('./tableHelper.js');
10
+
11
+ const _hoisted_1 = {
12
+ key: 0,
13
+ class: "gm-flex gm-flex-wrap gm-justify-center"
14
+ };
15
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
+ __name: "TableProEditSlot",
17
+ props: /* @__PURE__ */ vue.mergeModels({
18
+ tableOperateVnode: { required: true },
19
+ slotValue: { required: true },
20
+ isInited: { type: Boolean, required: false }
21
+ }, {
22
+ "customBtnPropsList": { required: true },
23
+ "customBtnPropsListModifiers": {},
24
+ "customDefaultPropsList": { required: true },
25
+ "customDefaultPropsListModifiers": {}
26
+ }),
27
+ emits: ["update:customBtnPropsList", "update:customDefaultPropsList"],
28
+ setup(__props) {
29
+ const props = __props;
30
+ const customBtnPropsList = vue.useModel(__props, "customBtnPropsList");
31
+ const customDefaultPropsList = vue.useModel(__props, "customDefaultPropsList");
32
+ const getPropsList = () => {
33
+ const defaultVnodes = props.tableOperateVnode?.children?.default?.(props.slotValue);
34
+ const children = tableHelper.getVnodesByGmName(defaultVnodes, "GmOperateButton");
35
+ const btnProps = children.map((vNode) => vNode.props) ?? [];
36
+ btnProps.forEach((it) => {
37
+ for (const key in operateButton.operateButtonProps) {
38
+ if (objects.hasOwn(it, key)) {
39
+ continue;
40
+ }
41
+ if (objects.hasOwn(operateButton.operateButtonProps, key)) {
42
+ const element = operateButton.operateButtonProps[key];
43
+ if (objects.hasOwn(element, "default")) {
44
+ Reflect.set(it, key, Reflect.get(element, "default"));
45
+ }
46
+ }
47
+ }
48
+ });
49
+ return btnProps;
50
+ };
51
+ customDefaultPropsList.value = getPropsList();
52
+ customBtnPropsList.value = customDefaultPropsList.value;
53
+ return (_ctx, _cache) => {
54
+ return __props.tableOperateVnode && __props.tableOperateVnode.children && __props.isInited && __props.slotValue && customBtnPropsList.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
55
+ vue.createVNode(vue.unref(TableOperateVNodeRenderer.default), {
56
+ vnode: __props.tableOperateVnode.children?.default(__props.slotValue),
57
+ customPropsList: customBtnPropsList.value
58
+ }, null, 8, ["vnode", "customPropsList"])
59
+ ])) : vue.createCommentVNode("v-if", true);
60
+ };
61
+ }
62
+ });
63
+
64
+ exports.default = _sfc_main;
65
+ //# sourceMappingURL=TableProEditSlot.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableProEditSlot.vue2.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TableProEditSlot.vue"],"sourcesContent":["<template>\r\n <div\r\n v-if=\"tableOperateVnode && tableOperateVnode.children && isInited && slotValue && customBtnPropsList\"\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<script lang=\"ts\" setup>\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\n// 操作按钮组 当前原始vnode\r\nconst props = defineProps({\n tableOperateVnode: { required: true },\n slotValue: { required: true },\n isInited: { type: Boolean, required: false }\n});\r\nconst customBtnPropsList = defineModel<OperateButtonProps[]>('customBtnPropsList', { required: true });\r\nconst customDefaultPropsList = defineModel<OperateButtonProps[]>('customDefaultPropsList', { required: true });\r\n\r\nconst getPropsList = () => {\r\n const defaultVnodes = props.tableOperateVnode?.children?.default?.(props.slotValue);\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\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 return btnProps;\r\n};\r\ncustomDefaultPropsList.value = getPropsList();\r\ncustomBtnPropsList.value = customDefaultPropsList.value;\r\n</script>\r\n"],"names":["_useModel","getVnodesByGmName","operateButtonProps","hasOwn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAM,MAAA,kBAAA,GAAqBA,YAAiC,CAAA,OAAA,EAAC,oBAAwC,CAAA,CAAA;AACrG,IAAM,MAAA,sBAAA,GAAyBA,YAAkC,CAAA,OAAA,EAAA,wBAA4C,CAAA,CAAA;AAE7G,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,MAAM,gBAAgB,KAAM,CAAA,iBAAA,EAAmB,QAAU,EAAA,OAAA,GAAU,MAAM,SAAS,CAAA,CAAA;AAClF,MAAM,MAAA,QAAA,GAAWC,6BAAkB,CAAA,aAAA,EAAe,iBAAiB,CAAA,CAAA;AAEnE,MAAM,MAAA,QAAA,GAAiC,SAAS,GAAI,CAAA,CAAC,UAA0B,KAAM,CAAA,KAAK,KAAK,EAAC,CAAA;AAEhG,MAAA,QAAA,CAAS,QAAQ,CAAM,EAAA,KAAA;AACrB,QAAA,KAAA,MAAW,OAAOC,gCAAoB,EAAA;AAEpC,UAAI,IAAAC,cAAA,CAAO,EAAI,EAAA,GAAG,CAAG,EAAA;AACnB,YAAA,SAAA;AAAA,WACF;AACA,UAAI,IAAAA,cAAA,CAAOD,gCAAoB,EAAA,GAAG,CAAG,EAAA;AACnC,YAAM,MAAA,OAAA,GAAUA,iCAAmB,GAA+B,CAAA,CAAA;AAElE,YAAI,IAAAC,cAAA,CAAO,OAAS,EAAA,SAAS,CAAG,EAAA;AAC9B,cAAA,OAAA,CAAQ,IAAI,EAAI,EAAA,GAAA,EAAK,QAAQ,GAAI,CAAA,OAAA,EAAS,SAAS,CAAC,CAAA,CAAA;AAAA,aACtD;AAAA,WACF;AAAA,SACF;AAAA,OACD,CAAA,CAAA;AACD,MAAO,OAAA,QAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAA,sBAAA,CAAuB,QAAQ,YAAa,EAAA,CAAA;AAC5C,IAAA,kBAAA,CAAmB,QAAQ,sBAAuB,CAAA,KAAA,CAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.1.8";
1
+ export declare const version = "0.1.9";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.1.7";
3
+ const version = "0.1.9";
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.1.7';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.9';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
package/lib/index.css CHANGED
@@ -1,3 +1,42 @@
1
+
2
+ .gm-range-number .el-form-item[data-v-11c39847] {
3
+ margin: 0;
4
+ }
5
+
6
+ [data-v-512cf874] .gmSearchForm .el-form-item {
7
+ margin-right: 8px;
8
+ margin-bottom: 8px;
9
+ }
10
+ .gm-flex-center[data-v-d1c6dac0] {
11
+ align-items: center;
12
+ }
13
+
14
+ .gm-flex-justify-between[data-v-d1c6dac0] {
15
+ justify-content: space-between;
16
+ }
17
+ [data-v-0b3dd381] .gmTableNoBorder .el-table__body .el-table__cell {
18
+ border-right: none;
19
+ }
20
+
21
+ [data-v-0b3dd381] .gmTableNoBorder .el-table__inner-wrapper:before {
22
+ height: 0;
23
+ }
24
+
25
+ [data-v-0b3dd381] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
26
+ height: 0;
27
+ }
28
+
29
+ [data-v-0b3dd381] .gmTableNoBorder.el-table--border:after {
30
+ height: 0;
31
+ }
32
+
33
+ [data-v-0b3dd381] .gmTableNoBorder.el-table--border:before {
34
+ height: 0;
35
+ }
36
+
37
+ [data-v-0b3dd381] .gmTableNoBorder .el-table__border-left-patch {
38
+ height: 0;
39
+ }
1
40
  /*
2
41
  ! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
3
42
  *//*
@@ -688,45 +727,6 @@ video {
688
727
  display: block;
689
728
  }
690
729
 
691
- .gm-range-number .el-form-item[data-v-11c39847] {
692
- margin: 0;
693
- }
694
-
695
- .gm-flex-center[data-v-d1c6dac0] {
696
- align-items: center;
697
- }
698
-
699
- .gm-flex-justify-between[data-v-d1c6dac0] {
700
- justify-content: space-between;
701
- }
702
- [data-v-512cf874] .gmSearchForm .el-form-item {
703
- margin-right: 8px;
704
- margin-bottom: 8px;
705
- }
706
- [data-v-e38c9d81] .gmTableNoBorder .el-table__body .el-table__cell {
707
- border-right: none;
708
- }
709
-
710
- [data-v-e38c9d81] .gmTableNoBorder .el-table__inner-wrapper:before {
711
- height: 0;
712
- }
713
-
714
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
715
- height: 0;
716
- }
717
-
718
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:after {
719
- height: 0;
720
- }
721
-
722
- [data-v-e38c9d81] .gmTableNoBorder.el-table--border:before {
723
- height: 0;
724
- }
725
-
726
- [data-v-e38c9d81] .gmTableNoBorder .el-table__border-left-patch {
727
- height: 0;
728
- }
729
-
730
730
  .pagination-container[data-v-8a95ba6d] {
731
731
  background: #fff;
732
732
  padding: 32px 16px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",