giime 0.3.10 → 0.3.12
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.
- package/dist/index.css +66 -67
- package/es/components/index.mjs +1 -3
- package/es/components/index.mjs.map +1 -1
- package/es/components/src/base/configProvider/ConfigProvider.vue.d.ts +12 -12
- package/es/components/src/base/configProvider/ConfigProvider.vue2.mjs +6 -0
- package/es/components/src/base/configProvider/ConfigProvider.vue2.mjs.map +1 -1
- package/es/components/src/base/configProvider/configProvider.d.ts +11 -11
- package/es/components/src/base/configProvider/configProvider.mjs +4 -2
- package/es/components/src/base/configProvider/configProvider.mjs.map +1 -1
- package/es/components/src/base/configProvider/index.d.ts +24 -24
- package/es/components/src/base/configProvider/index.mjs +0 -1
- package/es/components/src/base/configProvider/index.mjs.map +1 -1
- package/es/components/src/base/datePicker/DatePicker.vue.d.ts +9 -3
- package/es/components/src/base/datePicker/datePicker.d.ts +15 -12
- package/es/components/src/base/datePicker/datePicker.mjs +5 -1
- package/es/components/src/base/datePicker/datePicker.mjs.map +1 -1
- package/es/components/src/base/datePicker/index.d.ts +19 -7
- package/es/components/src/base/header/Header.vue.d.ts +10 -8
- package/es/components/src/base/header/Header.vue2.mjs.map +1 -1
- package/es/components/src/base/header/header.d.ts +5 -2
- package/es/components/src/base/header/header.mjs +4 -7
- package/es/components/src/base/header/header.mjs.map +1 -1
- package/es/components/src/base/header/index.d.ts +22 -20
- package/es/components/src/base/header/index.mjs +1 -1
- package/es/components/src/base/index.mjs +1 -3
- package/es/components/src/base/index.mjs.map +1 -1
- package/es/components/src/base/main/Main.vue.d.ts +2 -8
- package/es/components/src/base/main/Main.vue2.mjs +5 -8
- package/es/components/src/base/main/Main.vue2.mjs.map +1 -1
- package/es/components/src/base/main/index.d.ts +6 -21
- package/es/components/src/base/main/index.mjs +0 -1
- package/es/components/src/base/main/index.mjs.map +1 -1
- package/es/components/src/base/upload/Upload.vue.d.ts +1 -1
- package/es/components/src/base/upload/index.d.ts +3 -3
- package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue.d.ts +2 -2
- package/es/components/src/composite/searchForm/searchFormItems/datePicker/index.d.ts +2 -2
- package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts +1 -1
- package/es/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
- package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
- package/es/components/src/composite/tablePro/TablePro.vue2.mjs +19 -2
- package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/index.d.ts +19 -0
- package/es/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue.d.ts +2 -0
- package/es/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue2.mjs +4 -2
- package/es/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/tableHeaderForm/index.d.ts +2 -0
- package/es/components/src/composite/tablePro/tablePro.d.ts +4 -0
- package/es/components/src/composite/tablePro/tablePro.mjs +5 -0
- package/es/components/src/composite/tablePro/tablePro.mjs.map +1 -1
- package/es/components/src/plugins/message/method.mjs +3 -0
- package/es/components/src/plugins/message/method.mjs.map +1 -1
- package/es/constants/key.d.ts +4 -0
- package/es/constants/key.mjs.map +1 -1
- package/es/giime/index.mjs +1 -3
- package/es/giime/index.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useGlobalConfig/index.d.ts +2 -2
- package/es/hooks/base/useGlobalConfig/index.mjs +11 -3
- package/es/hooks/base/useGlobalConfig/index.mjs.map +1 -1
- package/es/index.css +66 -67
- package/lib/components/index.js +0 -20
- package/lib/components/index.js.map +1 -1
- package/lib/components/src/base/configProvider/ConfigProvider.vue.d.ts +12 -12
- package/lib/components/src/base/configProvider/ConfigProvider.vue2.js +6 -0
- package/lib/components/src/base/configProvider/ConfigProvider.vue2.js.map +1 -1
- package/lib/components/src/base/configProvider/configProvider.d.ts +11 -11
- package/lib/components/src/base/configProvider/configProvider.js +4 -17
- package/lib/components/src/base/configProvider/configProvider.js.map +1 -1
- package/lib/components/src/base/configProvider/index.d.ts +24 -24
- package/lib/components/src/base/configProvider/index.js +0 -17
- package/lib/components/src/base/configProvider/index.js.map +1 -1
- package/lib/components/src/base/datePicker/DatePicker.vue.d.ts +9 -3
- package/lib/components/src/base/datePicker/datePicker.d.ts +15 -12
- package/lib/components/src/base/datePicker/datePicker.js +5 -1
- package/lib/components/src/base/datePicker/datePicker.js.map +1 -1
- package/lib/components/src/base/datePicker/index.d.ts +19 -7
- package/lib/components/src/base/header/Header.vue.d.ts +10 -8
- package/lib/components/src/base/header/Header.vue2.js.map +1 -1
- package/lib/components/src/base/header/header.d.ts +5 -2
- package/lib/components/src/base/header/header.js +3 -7
- package/lib/components/src/base/header/header.js.map +1 -1
- package/lib/components/src/base/header/index.d.ts +22 -20
- package/lib/components/src/base/header/index.js +0 -1
- package/lib/components/src/base/header/index.js.map +1 -1
- package/lib/components/src/base/index.js +0 -20
- package/lib/components/src/base/index.js.map +1 -1
- package/lib/components/src/base/main/Main.vue.d.ts +2 -8
- package/lib/components/src/base/main/Main.vue2.js +4 -7
- package/lib/components/src/base/main/Main.vue2.js.map +1 -1
- package/lib/components/src/base/main/index.d.ts +6 -21
- package/lib/components/src/base/main/index.js +0 -2
- package/lib/components/src/base/main/index.js.map +1 -1
- package/lib/components/src/base/upload/Upload.vue.d.ts +1 -1
- package/lib/components/src/base/upload/index.d.ts +3 -3
- package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue.d.ts +2 -2
- package/lib/components/src/composite/searchForm/searchFormItems/datePicker/index.d.ts +2 -2
- package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts +1 -1
- package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
- package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
- package/lib/components/src/composite/tablePro/TablePro.vue2.js +19 -2
- package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/index.d.ts +19 -0
- package/lib/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue.d.ts +2 -0
- package/lib/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue2.js +4 -2
- package/lib/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/tableHeaderForm/index.d.ts +2 -0
- package/lib/components/src/composite/tablePro/tablePro.d.ts +4 -0
- package/lib/components/src/composite/tablePro/tablePro.js +5 -0
- package/lib/components/src/composite/tablePro/tablePro.js.map +1 -1
- package/lib/components/src/plugins/message/method.js +3 -0
- package/lib/components/src/plugins/message/method.js.map +1 -1
- package/lib/constants/key.d.ts +4 -0
- package/lib/constants/key.js.map +1 -1
- package/lib/giime/index.js +0 -20
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useGlobalConfig/index.d.ts +2 -2
- package/lib/hooks/base/useGlobalConfig/index.js +11 -3
- package/lib/hooks/base/useGlobalConfig/index.js.map +1 -1
- package/lib/index.css +66 -67
- package/package.json +1 -1
- package/es/components/src/base/main/main.d.ts +0 -1
- package/es/components/src/base/main/main.mjs +0 -6
- package/es/components/src/base/main/main.mjs.map +0 -1
- package/lib/components/src/base/main/main.d.ts +0 -1
- package/lib/components/src/base/main/main.js +0 -8
- package/lib/components/src/base/main/main.js.map +0 -1
package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare const searchFormDatePickerProps: {
|
|
|
9
9
|
required: true;
|
|
10
10
|
};
|
|
11
11
|
type: {
|
|
12
|
-
type: PropType<
|
|
12
|
+
type: PropType<"date" | "daterange" | "month" | "year" | "months" | "years" | "dates" | "week" | "datetime" | "datetimerange" | "monthrange" | "yearrange">;
|
|
13
13
|
required: true;
|
|
14
14
|
};
|
|
15
15
|
shortcuts: {
|
|
@@ -45,6 +45,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
45
45
|
type: NumberConstructor;
|
|
46
46
|
default: number;
|
|
47
47
|
};
|
|
48
|
+
disabledResetWidth: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
48
52
|
tableId: {
|
|
49
53
|
type: StringConstructor;
|
|
50
54
|
};
|
|
@@ -369,6 +373,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
369
373
|
type: NumberConstructor;
|
|
370
374
|
default: number;
|
|
371
375
|
};
|
|
376
|
+
disabledResetWidth: {
|
|
377
|
+
type: BooleanConstructor;
|
|
378
|
+
default: boolean;
|
|
379
|
+
};
|
|
372
380
|
tableId: {
|
|
373
381
|
type: StringConstructor;
|
|
374
382
|
};
|
|
@@ -501,6 +509,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
501
509
|
operateFixed: boolean;
|
|
502
510
|
autoHeight: boolean;
|
|
503
511
|
heightOffset: number;
|
|
512
|
+
disabledResetWidth: boolean;
|
|
504
513
|
}, {}>, Readonly<{
|
|
505
514
|
default(data?: any): any[];
|
|
506
515
|
append?(data?: any): any[];
|
|
@@ -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-
|
|
9
|
+
var TablePro = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePro_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-da681c8c"], ["__file", "TablePro.vue"]]);
|
|
10
10
|
|
|
11
11
|
exports.default = TablePro;
|
|
12
12
|
//# sourceMappingURL=TablePro.vue.js.map
|
|
@@ -15,7 +15,7 @@ var tablePro = require('./tablePro.js');
|
|
|
15
15
|
var tableHelper = require('./tableHelper.js');
|
|
16
16
|
var tableColumnPro = require('./tableColumnPro/tableColumnPro.js');
|
|
17
17
|
|
|
18
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-
|
|
18
|
+
const _withScopeId = (n) => (vue.pushScopeId("data-v-da681c8c"), n = n(), vue.popScopeId(), n);
|
|
19
19
|
const _hoisted_1 = { class: "gm-text-center" };
|
|
20
20
|
const _hoisted_2 = {
|
|
21
21
|
key: 0,
|
|
@@ -127,6 +127,22 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
127
127
|
}
|
|
128
128
|
await vue.nextTick();
|
|
129
129
|
gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });
|
|
130
|
+
return resetWidthOnHeaderDrag();
|
|
131
|
+
};
|
|
132
|
+
const resetWidthOnHeaderDrag = () => {
|
|
133
|
+
if (props.disabledResetWidth) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (colPropsList.value.some((it) => it.isShow && !it.width)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const minWidthCols = colPropsList.value.filter(
|
|
140
|
+
// 是在展示中的列,并且不是操作列,并且设置了最小宽度
|
|
141
|
+
(it) => it.isShow === true && it.type !== "edit" && it.prop !== "edit" && (it["min-width"] || it.minWidth)
|
|
142
|
+
);
|
|
143
|
+
for (const item of minWidthCols) {
|
|
144
|
+
item.width = "";
|
|
145
|
+
}
|
|
130
146
|
};
|
|
131
147
|
const sortValue = vue.useModel(__props, "sortValue");
|
|
132
148
|
const handleSortChange = (sort) => {
|
|
@@ -285,7 +301,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
285
301
|
"onUpdate:colPropsList": _cache[4] || (_cache[4] = ($event) => colPropsList.value = $event),
|
|
286
302
|
colDefaultPropsList: colDefaultPropsList.value,
|
|
287
303
|
keyWord: props.page,
|
|
288
|
-
type: "HeaderList"
|
|
304
|
+
type: "HeaderList",
|
|
305
|
+
onUpdateColumns: resetWidthOnHeaderDrag
|
|
289
306
|
}, null, 8, ["isShowDrawer", "colPropsList", "colDefaultPropsList", "keyWord"]),
|
|
290
307
|
vue.createVNode(_component_gm_operate_button_form, {
|
|
291
308
|
ref_key: "gmCustomOperationsRef",
|
|
@@ -1 +1 @@
|
|
|
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=\"slots.append\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"55\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { useElementBounding, useWindowSize } from '@vueuse/core';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\n\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 - props.heightOffset)); // 高度 - 顶部距离 - 分页器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 append?(data?: any): any[];\r\n empty?(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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"}
|
|
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=\"slots.append\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"55\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n @updateColumns=\"resetWidthOnHeaderDrag\"\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\n\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 - props.heightOffset)); // 高度 - 顶部距离 - 分页器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 append?(data?: any): any[];\r\n empty?(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 return resetWidthOnHeaderDrag();\r\n};\r\n/**\r\n * 当表头拖动后,重新计算补充列宽度\r\n * 当全部列都设置了宽度,把设置过minWidth的列设置为补充列,补充表格剩余宽度\r\n */\r\nconst resetWidthOnHeaderDrag = () => {\r\n if (props.disabledResetWidth) {\r\n return;\r\n }\r\n // 当全部列都设置了宽度 才执行后续步骤\r\n if (colPropsList.value.some(it => it.isShow && !it.width)) {\r\n return;\r\n }\r\n const minWidthCols = colPropsList.value.filter(\r\n // 是在展示中的列,并且不是操作列,并且设置了最小宽度\r\n it => it.isShow === true && it.type !== 'edit' && it.prop !== 'edit' && ((it as any)['min-width'] || it.minWidth),\r\n );\r\n for (const item of minWidthCols) {\r\n item.width = '';\r\n }\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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"}
|
|
@@ -45,6 +45,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
45
45
|
type: NumberConstructor;
|
|
46
46
|
default: number;
|
|
47
47
|
};
|
|
48
|
+
disabledResetWidth: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
48
52
|
tableId: {
|
|
49
53
|
type: StringConstructor;
|
|
50
54
|
};
|
|
@@ -389,6 +393,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
389
393
|
type: NumberConstructor;
|
|
390
394
|
default: number;
|
|
391
395
|
};
|
|
396
|
+
disabledResetWidth: {
|
|
397
|
+
type: BooleanConstructor;
|
|
398
|
+
default: boolean;
|
|
399
|
+
};
|
|
392
400
|
tableId: {
|
|
393
401
|
type: StringConstructor;
|
|
394
402
|
};
|
|
@@ -521,6 +529,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
521
529
|
operateFixed: boolean;
|
|
522
530
|
autoHeight: boolean;
|
|
523
531
|
heightOffset: number;
|
|
532
|
+
disabledResetWidth: boolean;
|
|
524
533
|
}, true, {}, {}, {
|
|
525
534
|
P: {};
|
|
526
535
|
B: {};
|
|
@@ -573,6 +582,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
573
582
|
type: NumberConstructor;
|
|
574
583
|
default: number;
|
|
575
584
|
};
|
|
585
|
+
disabledResetWidth: {
|
|
586
|
+
type: BooleanConstructor;
|
|
587
|
+
default: boolean;
|
|
588
|
+
};
|
|
576
589
|
tableId: {
|
|
577
590
|
type: StringConstructor;
|
|
578
591
|
};
|
|
@@ -878,6 +891,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
878
891
|
operateFixed: boolean;
|
|
879
892
|
autoHeight: boolean;
|
|
880
893
|
heightOffset: number;
|
|
894
|
+
disabledResetWidth: boolean;
|
|
881
895
|
}>;
|
|
882
896
|
__isFragment?: undefined;
|
|
883
897
|
__isTeleport?: undefined;
|
|
@@ -927,6 +941,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
927
941
|
type: NumberConstructor;
|
|
928
942
|
default: number;
|
|
929
943
|
};
|
|
944
|
+
disabledResetWidth: {
|
|
945
|
+
type: BooleanConstructor;
|
|
946
|
+
default: boolean;
|
|
947
|
+
};
|
|
930
948
|
tableId: {
|
|
931
949
|
type: StringConstructor;
|
|
932
950
|
};
|
|
@@ -1252,6 +1270,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
1252
1270
|
operateFixed: boolean;
|
|
1253
1271
|
autoHeight: boolean;
|
|
1254
1272
|
heightOffset: number;
|
|
1273
|
+
disabledResetWidth: boolean;
|
|
1255
1274
|
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
1256
1275
|
$slots: Readonly<{
|
|
1257
1276
|
default(data?: any): any[];
|
|
@@ -28,6 +28,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
28
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
29
29
|
"update:isShowDrawer": (isShowDrawer: boolean) => void;
|
|
30
30
|
"update:colPropsList": (colPropsList: TableColumnProProps[]) => void;
|
|
31
|
+
updateColumns: () => void;
|
|
31
32
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
33
|
isShowDrawer: {
|
|
33
34
|
required: true;
|
|
@@ -52,6 +53,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
52
53
|
}>> & {
|
|
53
54
|
"onUpdate:isShowDrawer"?: ((isShowDrawer: boolean) => any) | undefined;
|
|
54
55
|
"onUpdate:colPropsList"?: ((colPropsList: TableColumnProProps[]) => any) | undefined;
|
|
56
|
+
onUpdateColumns?: (() => any) | undefined;
|
|
55
57
|
}, {
|
|
56
58
|
colDefaultPropsList: TableColumnProProps[];
|
|
57
59
|
}, {}>;
|
|
@@ -33,9 +33,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
33
33
|
},
|
|
34
34
|
"colPropsListModifiers": {}
|
|
35
35
|
}),
|
|
36
|
-
emits: ["update:isShowDrawer", "update:colPropsList"],
|
|
37
|
-
setup(__props, { expose: __expose }) {
|
|
36
|
+
emits: /* @__PURE__ */ vue.mergeModels(["updateColumns"], ["update:isShowDrawer", "update:colPropsList"]),
|
|
37
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
38
38
|
const props = __props;
|
|
39
|
+
const emit = __emit;
|
|
39
40
|
const isShowDrawer = vue.useModel(__props, "isShowDrawer");
|
|
40
41
|
const colPropsList = vue.useModel(__props, "colPropsList");
|
|
41
42
|
const customSettingsStore = index.useCustomSettingsStore();
|
|
@@ -97,6 +98,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
97
98
|
if (!options?.hiddenMessage) {
|
|
98
99
|
index$1.GmMessage.success("\u4FDD\u5B58\u6210\u529F");
|
|
99
100
|
}
|
|
101
|
+
emit("updateColumns");
|
|
100
102
|
} catch (e) {
|
|
101
103
|
console.error(e);
|
|
102
104
|
submitLoading.value = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeaderForm.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue"],"sourcesContent":["<template>\r\n <gm-drawer v-model=\"isShowDrawer\" title=\"自定义表头\" direction=\"rtl\" size=\"600px\" append-to-body destroy-on-close>\r\n <section\r\n class=\"drawer-alert gm-mb-4 gm-flex gm-items-center gm-justify-between gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-px-4 gm-text-sm gm-text-[#777]\"\r\n >\r\n <div class=\"gm-flex gm-items-center gm-py-3\">\r\n <gm-icon><InfoFilled /></gm-icon>\r\n <p class=\"gm-ml-2\">\r\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\r\n </p>\r\n </div>\r\n </section>\r\n <gm-table :data=\"clonedColPropsList\" :header-cell-style=\"{ background: '#F5F7FA', color: '#333' }\" style=\"width: 100%\">\r\n <gm-table-column align=\"left\" width=\"80\">\r\n <template #header>\r\n <gm-checkbox :model-value=\"checkedAll\" :indeterminate=\"isIndeterminate\" @change=\"handleCheckAllChange\" />\r\n </template>\r\n <template #default=\"{ row }: { row: TableColumnProProps }\">\r\n <gm-checkbox v-model=\"row.isShow\" :disabled=\"row.type === 'edit'\" />\r\n </template>\r\n </gm-table-column>\r\n <gm-table-column label=\"列名\" prop=\"label\">\r\n <template #default=\"{ row }: { row: TableColumnProProps }\">\r\n {{ row.type === 'edit' ? '操作' : row.label }}\r\n </template>\r\n </gm-table-column>\r\n <gm-table-column label=\"列宽\">\r\n <template #default=\"{ row }: { row: TableColumnProProps; $index: number }\">\r\n <gm-input v-model=\"row.width\" class=\"gm-w-[120px]\" placeholder=\"设置宽度\" clearable />\r\n </template>\r\n </gm-table-column>\r\n <gm-table-column label=\"固定\">\r\n <template #default=\"{ row }: { row: TableColumnProProps; $index: number }\">\r\n <div v-if=\"row.type !== 'edit'\">\r\n <gm-tooltip effect=\"dark\" content=\"固定在左侧\" placement=\"top\">\r\n <gm-icon\r\n class=\"gm-mr-2 gm-cursor-pointer\"\r\n :class=\"row.fixed === '' || row.fixed === true || row.fixed === 'left' ? 'gm-text-blue-500' : ''\"\r\n size=\"20\"\r\n @click=\"toggleFixedLeft(row)\"\r\n >\r\n <IceCreamRound />\r\n </gm-icon>\r\n </gm-tooltip>\r\n <gm-tooltip effect=\"dark\" content=\"固定在右侧\" placement=\"top\">\r\n <gm-icon\r\n class=\"-gm-scale-x-100 gm-cursor-pointer\"\r\n :class=\"row.fixed === 'right' ? 'gm-text-blue-500' : ''\"\r\n size=\"20\"\r\n @click=\"toggleFixedRight(row)\"\r\n >\r\n <IceCreamRound />\r\n </gm-icon>\r\n </gm-tooltip>\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n <template #footer>\r\n <div class=\"gm-flex gm-justify-between\">\r\n <div>\r\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\r\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\r\n </div>\r\n <div>\r\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\r\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"submitSettings()\">保存</gm-button>\r\n </div>\r\n </div>\r\n </template>\r\n </gm-drawer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, onMounted, ref, watch } from 'vue';\r\nimport { useCloned } from '@vueuse/core';\r\nimport { useCustomSettingsStore } from '@giime/hooks';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { isNil } from '@giime/utils/src/is';\r\nimport { IceCreamRound, InfoFilled } from '@element-plus/icons-vue';\r\nimport { tableHeaderFormProps } from './tableHeaderForm';\r\nimport type { CheckboxValueType } from 'element-plus';\r\nimport type { TableColumnProProps } from '../tableColumnPro/tableColumnPro';\r\n\r\ndefineOptions({\r\n name: 'GmTableHeaderForm',\r\n});\r\nconst props = defineProps(tableHeaderFormProps);\r\n\r\n/**抽屉显示 */\r\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\r\n required: true,\r\n});\r\n\r\n/**自定义按钮 props列表 */\r\nconst colPropsList = defineModel<TableColumnProProps[]>('colPropsList', {\r\n required: true,\r\n});\r\nconst customSettingsStore = useCustomSettingsStore();\r\n\r\n/**\r\n * 数据是否初始化完成\r\n */\r\nconst isInited = ref(false);\r\n/**内部克隆一份,当点击保存时 应用修改的内容 */\r\nconst { cloned: clonedColPropsList } = useCloned(colPropsList);\r\nconst defaultPropsList = computed(() => cloneDeep(props.colDefaultPropsList));\r\n// 重新打开弹窗时, 克隆一份新数据\r\nwatch(isShowDrawer, newValue => {\r\n if (newValue) {\r\n clonedColPropsList.value = cloneDeep(colPropsList.value);\r\n }\r\n});\r\nconst customSettingsValue = computed<TableColumnProProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\r\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\r\n\r\n// 更新选中数据\r\nconst updateColumns = () => {\r\n colPropsList.value = clonedColPropsList.value;\r\n};\r\n// 初始化数据\r\nconst initColumns = async () => {\r\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\r\n clonedColPropsList.value = defaultPropsList.value.map(it => {\r\n const findItem = clonedStore.value.find(v => v.prop === it.prop);\r\n if (findItem) {\r\n it.isShow = findItem.isShow;\r\n it.width = findItem.width;\r\n if (!isNil(findItem.fixed)) {\r\n it.fixed = findItem.fixed;\r\n }\r\n // it.type = findItem.type;\r\n }\r\n return it;\r\n });\r\n\r\n updateColumns();\r\n isInited.value = true;\r\n};\r\n\r\n// 已选中条数\r\nconst checkedNumber = computed(() => {\r\n return clonedColPropsList.value.filter(v => v.isShow).length;\r\n});\r\n// 全选\r\nconst checkedAll = computed(() => clonedColPropsList.value.filter(it => it.type !== 'edit').every(v => v.isShow));\r\n// 半选\r\nconst isIndeterminate = computed(() => !checkedAll.value && clonedColPropsList.value.filter(it => it.type !== 'edit').some(v => v.isShow));\r\n// 切换全选\r\nconst handleCheckAllChange = (val: CheckboxValueType) => {\r\n clonedColPropsList.value.forEach(v => {\r\n if (v.type !== 'edit') {\r\n v.isShow = Boolean(val);\r\n }\r\n });\r\n};\r\nconst submitLoading = ref(false);\r\n// 保存\r\nconst submitSettings = async (options?: { hiddenMessage?: boolean }) => {\r\n try {\r\n submitLoading.value = true;\r\n const { data } = await customSettingsStore.addCustomSettings({\r\n key_word: props.keyWord,\r\n value: JSON.stringify(clonedColPropsList.value),\r\n type: props.type,\r\n });\r\n submitLoading.value = false;\r\n if (data.code !== 0) {\r\n return;\r\n }\r\n // isShowDrawer.value = false;\r\n updateColumns();\r\n if (!options?.hiddenMessage) {\r\n GmMessage.success('保存成功');\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n submitLoading.value = false;\r\n }\r\n};\r\n/**同步远程设置 */\r\nconst onSyncRemote = async () => {\r\n try {\r\n submitLoading.value = true;\r\n await customSettingsStore.syncRemoteSetting({\r\n key_word: props.keyWord,\r\n type: props.type,\r\n });\r\n submitLoading.value = false;\r\n GmMessage.success('同步成功');\r\n } catch (e) {\r\n console.error(e);\r\n submitLoading.value = false;\r\n }\r\n};\r\n// 重置\r\nconst onReset = () => {\r\n clonedColPropsList.value = cloneDeep(props.colDefaultPropsList);\r\n};\r\n// 点击固定到左侧\r\nconst toggleFixedLeft = (row: TableColumnProProps) => {\r\n if (row.fixed === 'left' || row.fixed === true || row.fixed === '') {\r\n row.fixed = false;\r\n } else {\r\n row.fixed = 'left';\r\n }\r\n};\r\n// 点击固定到右侧\r\nconst toggleFixedRight = (row: TableColumnProProps) => {\r\n if (row.fixed === 'right') {\r\n row.fixed = false;\r\n } else {\r\n row.fixed = 'right';\r\n }\r\n};\r\nonMounted(() => {\r\n initColumns();\r\n});\r\ndefineExpose({\r\n isInited,\r\n submitSettings,\r\n});\r\n</script>\r\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","computed","cloneDeep","watch","isNil","GmMessage","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableHeaderForm.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableHeaderForm/TableHeaderForm.vue"],"sourcesContent":["<template>\r\n <gm-drawer v-model=\"isShowDrawer\" title=\"自定义表头\" direction=\"rtl\" size=\"600px\" append-to-body destroy-on-close>\r\n <section\r\n class=\"drawer-alert gm-mb-4 gm-flex gm-items-center gm-justify-between gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-px-4 gm-text-sm gm-text-[#777]\"\r\n >\r\n <div class=\"gm-flex gm-items-center gm-py-3\">\r\n <gm-icon><InfoFilled /></gm-icon>\r\n <p class=\"gm-ml-2\">\r\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\r\n </p>\r\n </div>\r\n </section>\r\n <gm-table :data=\"clonedColPropsList\" :header-cell-style=\"{ background: '#F5F7FA', color: '#333' }\" style=\"width: 100%\">\r\n <gm-table-column align=\"left\" width=\"80\">\r\n <template #header>\r\n <gm-checkbox :model-value=\"checkedAll\" :indeterminate=\"isIndeterminate\" @change=\"handleCheckAllChange\" />\r\n </template>\r\n <template #default=\"{ row }: { row: TableColumnProProps }\">\r\n <gm-checkbox v-model=\"row.isShow\" :disabled=\"row.type === 'edit'\" />\r\n </template>\r\n </gm-table-column>\r\n <gm-table-column label=\"列名\" prop=\"label\">\r\n <template #default=\"{ row }: { row: TableColumnProProps }\">\r\n {{ row.type === 'edit' ? '操作' : row.label }}\r\n </template>\r\n </gm-table-column>\r\n <gm-table-column label=\"列宽\">\r\n <template #default=\"{ row }: { row: TableColumnProProps; $index: number }\">\r\n <gm-input v-model=\"row.width\" class=\"gm-w-[120px]\" placeholder=\"设置宽度\" clearable />\r\n </template>\r\n </gm-table-column>\r\n <gm-table-column label=\"固定\">\r\n <template #default=\"{ row }: { row: TableColumnProProps; $index: number }\">\r\n <div v-if=\"row.type !== 'edit'\">\r\n <gm-tooltip effect=\"dark\" content=\"固定在左侧\" placement=\"top\">\r\n <gm-icon\r\n class=\"gm-mr-2 gm-cursor-pointer\"\r\n :class=\"row.fixed === '' || row.fixed === true || row.fixed === 'left' ? 'gm-text-blue-500' : ''\"\r\n size=\"20\"\r\n @click=\"toggleFixedLeft(row)\"\r\n >\r\n <IceCreamRound />\r\n </gm-icon>\r\n </gm-tooltip>\r\n <gm-tooltip effect=\"dark\" content=\"固定在右侧\" placement=\"top\">\r\n <gm-icon\r\n class=\"-gm-scale-x-100 gm-cursor-pointer\"\r\n :class=\"row.fixed === 'right' ? 'gm-text-blue-500' : ''\"\r\n size=\"20\"\r\n @click=\"toggleFixedRight(row)\"\r\n >\r\n <IceCreamRound />\r\n </gm-icon>\r\n </gm-tooltip>\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n <template #footer>\r\n <div class=\"gm-flex gm-justify-between\">\r\n <div>\r\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\r\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\r\n </div>\r\n <div>\r\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\r\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"submitSettings()\">保存</gm-button>\r\n </div>\r\n </div>\r\n </template>\r\n </gm-drawer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, onMounted, ref, watch } from 'vue';\r\nimport { useCloned } from '@vueuse/core';\r\nimport { useCustomSettingsStore } from '@giime/hooks';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { isNil } from '@giime/utils/src/is';\r\nimport { IceCreamRound, InfoFilled } from '@element-plus/icons-vue';\r\nimport { tableHeaderFormProps } from './tableHeaderForm';\r\nimport type { CheckboxValueType } from 'element-plus';\r\nimport type { TableColumnProProps } from '../tableColumnPro/tableColumnPro';\r\n\r\ndefineOptions({\r\n name: 'GmTableHeaderForm',\r\n});\r\n\r\nconst props = defineProps(tableHeaderFormProps);\r\nconst emit = defineEmits([\"updateColumns\"]);\r\n/**抽屉显示 */\r\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\r\n required: true,\r\n});\r\n\r\n/**自定义按钮 props列表 */\r\nconst colPropsList = defineModel<TableColumnProProps[]>('colPropsList', {\r\n required: true,\r\n});\r\nconst customSettingsStore = useCustomSettingsStore();\r\n\r\n/**\r\n * 数据是否初始化完成\r\n */\r\nconst isInited = ref(false);\r\n/**内部克隆一份,当点击保存时 应用修改的内容 */\r\nconst { cloned: clonedColPropsList } = useCloned(colPropsList);\r\nconst defaultPropsList = computed(() => cloneDeep(props.colDefaultPropsList));\r\n// 重新打开弹窗时, 克隆一份新数据\r\nwatch(isShowDrawer, newValue => {\r\n if (newValue) {\r\n clonedColPropsList.value = cloneDeep(colPropsList.value);\r\n }\r\n});\r\nconst customSettingsValue = computed<TableColumnProProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\r\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\r\n\r\n// 更新选中数据\r\nconst updateColumns = () => {\r\n colPropsList.value = clonedColPropsList.value;\r\n};\r\n// 初始化数据\r\nconst initColumns = async () => {\r\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\r\n clonedColPropsList.value = defaultPropsList.value.map(it => {\r\n const findItem = clonedStore.value.find(v => v.prop === it.prop);\r\n if (findItem) {\r\n it.isShow = findItem.isShow;\r\n it.width = findItem.width;\r\n if (!isNil(findItem.fixed)) {\r\n it.fixed = findItem.fixed;\r\n }\r\n // it.type = findItem.type;\r\n }\r\n return it;\r\n });\r\n\r\n updateColumns();\r\n isInited.value = true;\r\n};\r\n\r\n// 已选中条数\r\nconst checkedNumber = computed(() => {\r\n return clonedColPropsList.value.filter(v => v.isShow).length;\r\n});\r\n// 全选\r\nconst checkedAll = computed(() => clonedColPropsList.value.filter(it => it.type !== 'edit').every(v => v.isShow));\r\n// 半选\r\nconst isIndeterminate = computed(() => !checkedAll.value && clonedColPropsList.value.filter(it => it.type !== 'edit').some(v => v.isShow));\r\n// 切换全选\r\nconst handleCheckAllChange = (val: CheckboxValueType) => {\r\n clonedColPropsList.value.forEach(v => {\r\n if (v.type !== 'edit') {\r\n v.isShow = Boolean(val);\r\n }\r\n });\r\n};\r\nconst submitLoading = ref(false);\r\n// 保存\r\nconst submitSettings = async (options?: { hiddenMessage?: boolean }) => {\r\n try {\r\n submitLoading.value = true;\r\n const { data } = await customSettingsStore.addCustomSettings({\r\n key_word: props.keyWord,\r\n value: JSON.stringify(clonedColPropsList.value),\r\n type: props.type,\r\n });\r\n submitLoading.value = false;\r\n if (data.code !== 0) {\r\n return;\r\n }\r\n // isShowDrawer.value = false;\r\n updateColumns();\r\n if (!options?.hiddenMessage) {\r\n GmMessage.success('保存成功');\r\n }\r\n emit('updateColumns');\r\n } catch (e) {\r\n console.error(e);\r\n submitLoading.value = false;\r\n }\r\n};\r\n/**同步远程设置 */\r\nconst onSyncRemote = async () => {\r\n try {\r\n submitLoading.value = true;\r\n await customSettingsStore.syncRemoteSetting({\r\n key_word: props.keyWord,\r\n type: props.type,\r\n });\r\n submitLoading.value = false;\r\n GmMessage.success('同步成功');\r\n } catch (e) {\r\n console.error(e);\r\n submitLoading.value = false;\r\n }\r\n};\r\n// 重置\r\nconst onReset = () => {\r\n clonedColPropsList.value = cloneDeep(props.colDefaultPropsList);\r\n};\r\n// 点击固定到左侧\r\nconst toggleFixedLeft = (row: TableColumnProProps) => {\r\n if (row.fixed === 'left' || row.fixed === true || row.fixed === '') {\r\n row.fixed = false;\r\n } else {\r\n row.fixed = 'left';\r\n }\r\n};\r\n// 点击固定到右侧\r\nconst toggleFixedRight = (row: TableColumnProProps) => {\r\n if (row.fixed === 'right') {\r\n row.fixed = false;\r\n } else {\r\n row.fixed = 'right';\r\n }\r\n};\r\nonMounted(() => {\r\n initColumns();\r\n});\r\ndefineExpose({\r\n isInited,\r\n submitSettings,\r\n});\r\n</script>\r\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","computed","cloneDeep","watch","isNil","GmMessage","onMounted"],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare const GmTableHeaderForm: import("../../../../../utils").SFCWithIn
|
|
|
28
28
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
29
29
|
"update:isShowDrawer": (isShowDrawer: boolean) => void;
|
|
30
30
|
"update:colPropsList": (colPropsList: import("../index.js").TableColumnProProps[]) => void;
|
|
31
|
+
updateColumns: () => void;
|
|
31
32
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
33
|
isShowDrawer: {
|
|
33
34
|
required: true;
|
|
@@ -52,6 +53,7 @@ export declare const GmTableHeaderForm: import("../../../../../utils").SFCWithIn
|
|
|
52
53
|
}>> & {
|
|
53
54
|
"onUpdate:isShowDrawer"?: ((isShowDrawer: boolean) => any) | undefined;
|
|
54
55
|
"onUpdate:colPropsList"?: ((colPropsList: import("../index.js").TableColumnProProps[]) => any) | undefined;
|
|
56
|
+
onUpdateColumns?: (() => any) | undefined;
|
|
55
57
|
}, {
|
|
56
58
|
colDefaultPropsList: import("../index.js").TableColumnProProps[];
|
|
57
59
|
}, {}>> & Record<string, any>;
|
|
@@ -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 autoHeight: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 自动计算高度 需要抵消的高度值\r\n heightOffset: {\r\n type: Number,\r\n default: 0,\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,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;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: true,\r\n },\r\n // 自动计算高度 需要抵消的高度值\r\n heightOffset: {\r\n type: Number,\r\n default: 0,\r\n },\r\n // 是否禁用 把设置过minWidth的列设置为补充列\r\n disabledResetWidth: {\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,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGC,gBAAA;AACL;;;;;"}
|
|
@@ -6,6 +6,7 @@ var vue = require('vue');
|
|
|
6
6
|
var shared = require('@vue/shared');
|
|
7
7
|
require('../../../../utils/index.js');
|
|
8
8
|
var elementPlus = require('element-plus');
|
|
9
|
+
var index = require('../../../../hooks/base/useGlobalConfig/index.js');
|
|
9
10
|
var is = require('../../../../utils/src/is.js');
|
|
10
11
|
|
|
11
12
|
const messageTypes = ["success", "info", "warning", "error"];
|
|
@@ -15,9 +16,11 @@ const normalizeOptions = (params) => {
|
|
|
15
16
|
};
|
|
16
17
|
const message = (options = {}, context) => {
|
|
17
18
|
const normalized = normalizeOptions(options);
|
|
19
|
+
const messageGlobalConfig = index.useGlobalConfig("message") ?? {};
|
|
18
20
|
return elementPlus.ElMessage(
|
|
19
21
|
{
|
|
20
22
|
grouping: true,
|
|
23
|
+
plain: messageGlobalConfig.value?.plain,
|
|
21
24
|
// duration: 5 * 1000,
|
|
22
25
|
...normalized
|
|
23
26
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.js","sources":["../../../../../../../packages/components/src/plugins/message/method.ts"],"sourcesContent":["import { type AppContext, isVNode } from 'vue';\r\nimport { isFunction } from '@vue/shared';\r\nimport { isString } from '@giime/utils';\r\nimport { ElMessage } from 'element-plus';\r\nimport type { Message, MessageFn, MessageOptions, MessageParams, MessageParamsNormalized } from 'element-plus';\r\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const;\r\n\r\nconst normalizeOptions = (params?: MessageParams) => {\r\n const normalized: MessageOptions = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params;\r\n return normalized;\r\n};\r\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } = (options = {}, context) => {\r\n const normalized = normalizeOptions(options);\r\n
|
|
1
|
+
{"version":3,"file":"method.js","sources":["../../../../../../../packages/components/src/plugins/message/method.ts"],"sourcesContent":["import { type AppContext, isVNode } from 'vue';\r\nimport { isFunction } from '@vue/shared';\r\nimport { isString } from '@giime/utils';\r\nimport { ElMessage } from 'element-plus';\r\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\r\nimport type { Message, MessageFn, MessageOptions, MessageParams, MessageParamsNormalized } from 'element-plus';\r\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const;\r\n\r\nconst normalizeOptions = (params?: MessageParams) => {\r\n const normalized: MessageOptions = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params;\r\n return normalized;\r\n};\r\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } = (options = {}, context) => {\r\n const normalized = normalizeOptions(options);\r\n const messageGlobalConfig = useGlobalConfig('message') ?? {};\r\n return ElMessage(\r\n {\r\n grouping: true,\r\n plain: messageGlobalConfig.value?.plain,\r\n // duration: 5 * 1000,\r\n ...normalized,\r\n },\r\n context,\r\n );\r\n};\r\nmessage.closeAll = ElMessage.closeAll;\r\nmessage._context = ElMessage._context;\r\nmessageTypes.forEach(type => {\r\n message[type] = (options = {}, appContext) => {\r\n const normalized = normalizeOptions(options);\r\n return message({ ...(normalized as MessageParamsNormalized), type }, appContext);\r\n };\r\n});\r\nexport default message as Message;\r\n"],"names":["isString","isVNode","isFunction","useGlobalConfig","ElMessage"],"mappings":";;;;;;;;;;;AAMO,MAAM,YAAe,GAAA,CAAC,SAAW,EAAA,MAAA,EAAQ,WAAW,OAAO,EAAA;AAElE,MAAM,gBAAA,GAAmB,CAAC,MAA2B,KAAA;AACnD,EAAA,MAAM,UAA6B,GAAA,CAAC,MAAU,IAAAA,WAAA,CAAS,MAAM,CAAK,IAAAC,WAAA,CAAQ,MAAM,CAAA,IAAKC,kBAAW,MAAM,CAAA,GAAI,EAAE,OAAA,EAAS,QAAW,GAAA,MAAA,CAAA;AAChI,EAAO,OAAA,UAAA,CAAA;AACT,CAAA,CAAA;AACA,MAAM,OAA0E,GAAA,CAAC,OAAU,GAAA,IAAI,OAAY,KAAA;AACzG,EAAM,MAAA,UAAA,GAAa,iBAAiB,OAAO,CAAA,CAAA;AAC3C,EAAA,MAAM,mBAAsB,GAAAC,qBAAA,CAAgB,SAAS,CAAA,IAAK,EAAC,CAAA;AAC3D,EAAO,OAAAC,qBAAA;AAAA,IACL;AAAA,MACE,QAAU,EAAA,IAAA;AAAA,MACV,KAAA,EAAO,oBAAoB,KAAO,EAAA,KAAA;AAAA;AAAA,MAElC,GAAG,UAAA;AAAA,KACL;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF,EAAA;AACA,OAAA,CAAQ,WAAWA,qBAAU,CAAA,QAAA,CAAA;AAC7B,OAAA,CAAQ,WAAWA,qBAAU,CAAA,QAAA,CAAA;AAC7B,YAAA,CAAa,QAAQ,CAAQ,IAAA,KAAA;AAC3B,EAAA,OAAA,CAAQ,IAAI,CAAI,GAAA,CAAC,OAAU,GAAA,IAAI,UAAe,KAAA;AAC5C,IAAM,MAAA,UAAA,GAAa,iBAAiB,OAAO,CAAA,CAAA;AAC3C,IAAA,OAAO,QAAQ,EAAE,GAAI,UAAwC,EAAA,IAAA,IAAQ,UAAU,CAAA,CAAA;AAAA,GACjF,CAAA;AACF,CAAC,CAAA;;;;;"}
|
package/lib/constants/key.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export interface ConfigProviderContext {
|
|
|
7
7
|
router?: Router;
|
|
8
8
|
disabledLoginDialog?: boolean;
|
|
9
9
|
loginDialog?: ExtractPropTypes<typeof loginDialogProps>;
|
|
10
|
+
/**对消息进行配置 */
|
|
11
|
+
message?: {
|
|
12
|
+
plain?: boolean;
|
|
13
|
+
};
|
|
10
14
|
}
|
|
11
15
|
export declare const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>>;
|
|
12
16
|
export declare const INSTALLED_KEY: unique symbol;
|
package/lib/constants/key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\r\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\r\nimport type { ExtractPropTypes, InjectionKey, Ref } from 'vue';\r\nexport interface ConfigProviderContext {\r\n // 用户端环境变量\r\n env: ImportMetaEnv;\r\n // 用户端路由\r\n router?: Router;\r\n disabledLoginDialog?: boolean;\r\n loginDialog?: ExtractPropTypes<typeof loginDialogProps>;\r\n}\r\n\r\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\r\n\r\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\r\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\r\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"key.js","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\r\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\r\nimport type { ExtractPropTypes, InjectionKey, Ref } from 'vue';\r\nexport interface ConfigProviderContext {\r\n // 用户端环境变量\r\n env: ImportMetaEnv;\r\n // 用户端路由\r\n router?: Router;\r\n disabledLoginDialog?: boolean;\r\n loginDialog?: ExtractPropTypes<typeof loginDialogProps>;\r\n /**对消息进行配置 */\r\n message?: {\r\n plain?: boolean;\r\n };\r\n}\r\n\r\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\r\n\r\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\r\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\r\n"],"names":[],"mappings":";;AAgBO,MAAM,2BAAqE,MAAO,GAAA;AAE5E,MAAA,aAAA,GAAgB,OAAO,eAAe,EAAA;AACtC,MAAA,gBAAA,GAAgD,OAAO,kBAAkB;;;;;;"}
|
package/lib/giime/index.js
CHANGED
|
@@ -70,7 +70,6 @@ var index$n = require('../components/src/base/collapseItem/index.js');
|
|
|
70
70
|
var index$o = require('../components/src/base/collapseTransition/index.js');
|
|
71
71
|
var colorPicker = require('../components/src/base/colorPicker/colorPicker.js');
|
|
72
72
|
var index$p = require('../components/src/base/colorPicker/index.js');
|
|
73
|
-
var elementPlus = require('element-plus');
|
|
74
73
|
var configProvider = require('../components/src/base/configProvider/configProvider.js');
|
|
75
74
|
var index$q = require('../components/src/base/configProvider/index.js');
|
|
76
75
|
var container = require('../components/src/base/container/container.js');
|
|
@@ -81,7 +80,6 @@ var footer = require('../components/src/base/footer/footer.js');
|
|
|
81
80
|
var index$t = require('../components/src/base/footer/index.js');
|
|
82
81
|
var header = require('../components/src/base/header/header.js');
|
|
83
82
|
var index$u = require('../components/src/base/header/index.js');
|
|
84
|
-
var main = require('../components/src/base/main/main.js');
|
|
85
83
|
var index$v = require('../components/src/base/main/index.js');
|
|
86
84
|
var datePicker = require('../components/src/base/datePicker/datePicker.js');
|
|
87
85
|
var index$w = require('../components/src/base/datePicker/index.js');
|
|
@@ -430,22 +428,6 @@ exports.GmCollapseTransition = index$o.GmCollapseTransition;
|
|
|
430
428
|
exports.colorPickerEmits = colorPicker.colorPickerEmits;
|
|
431
429
|
exports.colorPickerProps = colorPicker.colorPickerProps;
|
|
432
430
|
exports.GmColorPicker = index$p.GmColorPicker;
|
|
433
|
-
Object.defineProperty(exports, "configProviderContextKey", {
|
|
434
|
-
enumerable: true,
|
|
435
|
-
get: function () { return elementPlus.configProviderContextKey; }
|
|
436
|
-
});
|
|
437
|
-
Object.defineProperty(exports, "provideGlobalConfig", {
|
|
438
|
-
enumerable: true,
|
|
439
|
-
get: function () { return elementPlus.provideGlobalConfig; }
|
|
440
|
-
});
|
|
441
|
-
Object.defineProperty(exports, "useGlobalComponentSettings", {
|
|
442
|
-
enumerable: true,
|
|
443
|
-
get: function () { return elementPlus.useGlobalComponentSettings; }
|
|
444
|
-
});
|
|
445
|
-
Object.defineProperty(exports, "useGlobalConfig", {
|
|
446
|
-
enumerable: true,
|
|
447
|
-
get: function () { return elementPlus.useGlobalConfig; }
|
|
448
|
-
});
|
|
449
431
|
exports.configProviderProps = configProvider.configProviderProps;
|
|
450
432
|
exports.GmConfigProvider = index$q.GmConfigProvider;
|
|
451
433
|
exports.containerProps = container.containerProps;
|
|
@@ -454,10 +436,8 @@ exports.asideProps = aside.asideProps;
|
|
|
454
436
|
exports.GmAside = index$s.GmAside;
|
|
455
437
|
exports.footerProps = footer.footerProps;
|
|
456
438
|
exports.GmFooter = index$t.GmFooter;
|
|
457
|
-
exports.headerEmits = header.headerEmits;
|
|
458
439
|
exports.headerProps = header.headerProps;
|
|
459
440
|
exports.GmHeader = index$u.GmHeader;
|
|
460
|
-
exports.mainProps = main.mainProps;
|
|
461
441
|
exports.GmMain = index$v.GmMain;
|
|
462
442
|
exports.datePickerEmits = datePicker.datePickerEmits;
|
|
463
443
|
exports.datePickerProps = datePicker.datePickerProps;
|
package/lib/giime/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\r\nimport './tailwind.css';\r\nexport * from '@giime/utils';\r\nexport * from '@giime/components';\r\nexport * from '@giime/hooks';\r\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\r\nexport const install = installer.install;\r\nexport const version = installer.version;\r\nexport default installer;\r\n"],"names":["installer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\r\nimport './tailwind.css';\r\nexport * from '@giime/utils';\r\nexport * from '@giime/components';\r\nexport * from '@giime/hooks';\r\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\r\nexport const install = installer.install;\r\nexport const version = installer.version;\r\nexport default installer;\r\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAUA,gBAAU,CAAA,QAAA;AAC1B,MAAM,UAAUA,gBAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.3.
|
|
1
|
+
export declare const version = "0.3.12";
|
package/lib/giime/version.js
CHANGED
package/lib/giime/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.3.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.3.12';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConfigProviderContext } from '../../../constants/key';
|
|
2
|
-
import type { App, Ref } from 'vue';
|
|
2
|
+
import type { App, MaybeRef, Ref } from 'vue';
|
|
3
3
|
export declare function useGlobalConfig<K extends keyof ConfigProviderContext, D extends ConfigProviderContext[K]>(key: K, defaultValue?: D): Ref<Exclude<ConfigProviderContext[K], undefined> | D>;
|
|
4
4
|
export declare function useGlobalConfig(): Ref<ConfigProviderContext>;
|
|
5
|
-
export declare const provideGlobalConfig: (config: ConfigProviderContext
|
|
5
|
+
export declare const provideGlobalConfig: (config: MaybeRef<Partial<ConfigProviderContext>>, app?: App, global?: boolean) => import("vue").ComputedRef<ConfigProviderContext> | undefined;
|
|
@@ -22,16 +22,24 @@ const provideGlobalConfig = (config, app, global = false) => {
|
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
const context = vue.computed(() => {
|
|
25
|
-
const cfg = vue.unref(config);
|
|
25
|
+
const cfg = vue.unref(config) ?? {};
|
|
26
26
|
if (!oldConfig?.value)
|
|
27
27
|
return cfg;
|
|
28
28
|
return mergeConfig(oldConfig.value, cfg);
|
|
29
29
|
});
|
|
30
|
-
|
|
30
|
+
if (app?.provide) {
|
|
31
|
+
app.provide(key.configProviderContextKey, context);
|
|
32
|
+
} else if (inSetup) {
|
|
33
|
+
vue.provide(key.configProviderContextKey, context);
|
|
34
|
+
}
|
|
31
35
|
if (global || !globalConfig.value) {
|
|
32
36
|
globalConfig.value = context.value;
|
|
33
37
|
}
|
|
34
|
-
|
|
38
|
+
if (app?.provide) {
|
|
39
|
+
app.provide(key.ImportMetaEnvKey, context.value.env);
|
|
40
|
+
} else if (inSetup) {
|
|
41
|
+
vue.provide(key.ImportMetaEnvKey, context.value.env);
|
|
42
|
+
}
|
|
35
43
|
return context;
|
|
36
44
|
};
|
|
37
45
|
const mergeConfig = (a, b) => {
|