giime 0.2.3 → 0.3.1
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 +45 -36
- package/es/api/basic/controller/Common/postCommonV1CountryList.mjs.map +1 -1
- package/es/api/basic/controller/Common/postCommonV1CurrencyList.mjs.map +1 -1
- package/es/api/basic/controller/Common/postCommonV1ExchangeRateList.mjs.map +1 -1
- package/es/api/basic/controller/Common/postCommonV1SystemList.mjs.map +1 -1
- package/es/api/basic/controller/Common/usePostCommonV1CountryList.mjs.map +1 -1
- package/es/api/basic/controller/Common/usePostCommonV1CurrencyList.mjs.map +1 -1
- package/es/api/basic/controller/Common/usePostCommonV1ExchangeRateList.mjs.map +1 -1
- package/es/api/basic/controller/Common/usePostCommonV1SystemList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/postUserCenterV1AreaList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/postUserCenterV1EmployeeList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/postUserCenterV1MenuList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/postUserCenterV1OrgList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/postUserCenterV1OrgTreeList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/postUserCenterV1RoleList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/usePostUserCenterV1AreaList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/usePostUserCenterV1EmployeeList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/usePostUserCenterV1MenuList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/usePostUserCenterV1OrgList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/usePostUserCenterV1OrgTreeList.mjs.map +1 -1
- package/es/api/basic/controller/UserCenter/usePostUserCenterV1RoleList.mjs.map +1 -1
- package/es/components/index.mjs +2 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/src/base/table/Table.vue.d.ts +6 -0
- package/es/components/src/base/table/Table.vue2.mjs +7 -2
- package/es/components/src/base/table/Table.vue2.mjs.map +1 -1
- package/es/components/src/base/table/index.d.ts +12 -0
- package/es/components/src/base/table/table.d.ts +3 -0
- package/es/components/src/base/table/table.mjs +4 -1
- package/es/components/src/base/table/table.mjs.map +1 -1
- package/es/components/src/base/tableV2/TableV2.vue.d.ts +6 -0
- package/es/components/src/base/tableV2/TableV2.vue2.mjs +7 -2
- package/es/components/src/base/tableV2/TableV2.vue2.mjs.map +1 -1
- package/es/components/src/base/tableV2/index.d.ts +12 -0
- package/es/components/src/base/tableV2/tableV2.d.ts +3 -0
- package/es/components/src/base/tableV2/tableV2.mjs +4 -1
- package/es/components/src/base/tableV2/tableV2.mjs.map +1 -1
- package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs +50 -37
- package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs.map +1 -1
- package/es/components/src/composite/index.mjs +2 -0
- package/es/components/src/composite/index.mjs.map +1 -1
- package/es/components/src/composite/searchForm/SearchForm.vue.mjs +1 -1
- package/es/components/src/composite/searchForm/SearchForm.vue2.mjs +7 -1
- package/es/components/src/composite/searchForm/SearchForm.vue2.mjs.map +1 -1
- package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +3 -3
- package/es/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +3 -3
- package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.d.ts +3 -1
- package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.mjs.map +1 -1
- package/es/components/src/composite/tablePro/TablePro.vue.d.ts +6 -0
- package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
- package/es/components/src/composite/tablePro/TablePro.vue2.mjs +8 -3
- package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/index.d.ts +13 -0
- package/es/components/src/composite/tablePro/index.mjs +2 -0
- package/es/components/src/composite/tablePro/index.mjs.map +1 -1
- package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue.d.ts +19 -0
- package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue.mjs +7 -0
- package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue.mjs.map +1 -0
- package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue2.mjs +25 -0
- package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue2.mjs.map +1 -0
- package/es/components/src/composite/tablePro/tableCtx/index.d.ts +41 -0
- package/es/components/src/composite/tablePro/tableCtx/index.mjs +9 -0
- package/es/components/src/composite/tablePro/tableCtx/index.mjs.map +1 -0
- package/es/components/src/composite/tablePro/tableCtx/tableCtx.d.ts +9 -0
- package/es/components/src/composite/tablePro/tableCtx/tableCtx.mjs +12 -0
- package/es/components/src/composite/tablePro/tableCtx/tableCtx.mjs.map +1 -0
- package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue.mjs +1 -1
- package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs +7 -1
- package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/tablePro.d.ts +3 -0
- package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs +5 -1
- package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs.map +1 -1
- package/es/constants/table.d.ts +8 -0
- package/es/constants/table.mjs +4 -0
- package/es/constants/table.mjs.map +1 -0
- package/es/giime/component.mjs +2 -0
- package/es/giime/component.mjs.map +1 -1
- package/es/giime/index.mjs +2 -0
- 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/index.css +45 -36
- package/global.d.ts +4 -2
- package/lib/api/basic/controller/Common/postCommonV1CountryList.js.map +1 -1
- package/lib/api/basic/controller/Common/postCommonV1CurrencyList.js.map +1 -1
- package/lib/api/basic/controller/Common/postCommonV1ExchangeRateList.js.map +1 -1
- package/lib/api/basic/controller/Common/postCommonV1SystemList.js.map +1 -1
- package/lib/api/basic/controller/Common/usePostCommonV1CountryList.js.map +1 -1
- package/lib/api/basic/controller/Common/usePostCommonV1CurrencyList.js.map +1 -1
- package/lib/api/basic/controller/Common/usePostCommonV1ExchangeRateList.js.map +1 -1
- package/lib/api/basic/controller/Common/usePostCommonV1SystemList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/postUserCenterV1AreaList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/postUserCenterV1EmployeeList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/postUserCenterV1MenuList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/postUserCenterV1OrgList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/postUserCenterV1OrgTreeList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/postUserCenterV1RoleList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/usePostUserCenterV1AreaList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/usePostUserCenterV1EmployeeList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/usePostUserCenterV1MenuList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/usePostUserCenterV1OrgList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/usePostUserCenterV1OrgTreeList.js.map +1 -1
- package/lib/api/basic/controller/UserCenter/usePostUserCenterV1RoleList.js.map +1 -1
- package/lib/components/index.js +28 -24
- package/lib/components/index.js.map +1 -1
- package/lib/components/src/base/table/Table.vue.d.ts +6 -0
- package/lib/components/src/base/table/Table.vue2.js +6 -1
- package/lib/components/src/base/table/Table.vue2.js.map +1 -1
- package/lib/components/src/base/table/index.d.ts +12 -0
- package/lib/components/src/base/table/table.d.ts +3 -0
- package/lib/components/src/base/table/table.js +4 -1
- package/lib/components/src/base/table/table.js.map +1 -1
- package/lib/components/src/base/tableV2/TableV2.vue.d.ts +6 -0
- package/lib/components/src/base/tableV2/TableV2.vue2.js +6 -1
- package/lib/components/src/base/tableV2/TableV2.vue2.js.map +1 -1
- package/lib/components/src/base/tableV2/index.d.ts +12 -0
- package/lib/components/src/base/tableV2/tableV2.d.ts +3 -0
- package/lib/components/src/base/tableV2/tableV2.js +4 -1
- package/lib/components/src/base/tableV2/tableV2.js.map +1 -1
- package/lib/components/src/composite/importDialog/ImportDialog.vue2.js +48 -35
- package/lib/components/src/composite/importDialog/ImportDialog.vue2.js.map +1 -1
- package/lib/components/src/composite/index.js +14 -10
- package/lib/components/src/composite/index.js.map +1 -1
- package/lib/components/src/composite/searchForm/SearchForm.vue.js +1 -1
- package/lib/components/src/composite/searchForm/SearchForm.vue2.js +6 -0
- package/lib/components/src/composite/searchForm/SearchForm.vue2.js.map +1 -1
- package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +3 -3
- package/lib/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +3 -3
- package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.d.ts +3 -1
- package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.js.map +1 -1
- package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +6 -0
- package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
- package/lib/components/src/composite/tablePro/TablePro.vue2.js +7 -2
- package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/index.d.ts +13 -0
- package/lib/components/src/composite/tablePro/index.js +4 -0
- package/lib/components/src/composite/tablePro/index.js.map +1 -1
- package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue.d.ts +19 -0
- package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue.js +11 -0
- package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue.js.map +1 -0
- package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue2.js +29 -0
- package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue2.js.map +1 -0
- package/lib/components/src/composite/tablePro/tableCtx/index.d.ts +41 -0
- package/lib/components/src/composite/tablePro/tableCtx/index.js +15 -0
- package/lib/components/src/composite/tablePro/tableCtx/index.js.map +1 -0
- package/lib/components/src/composite/tablePro/tableCtx/tableCtx.d.ts +9 -0
- package/lib/components/src/composite/tablePro/tableCtx/tableCtx.js +14 -0
- package/lib/components/src/composite/tablePro/tableCtx/tableCtx.js.map +1 -0
- package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue.js +1 -1
- package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js +6 -0
- package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/tablePro.d.ts +3 -0
- package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js +4 -0
- package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js.map +1 -1
- package/lib/constants/table.d.ts +8 -0
- package/lib/constants/table.js +6 -0
- package/lib/constants/table.js.map +1 -0
- package/lib/giime/component.js +10 -8
- package/lib/giime/component.js.map +1 -1
- package/lib/giime/index.js +68 -64
- 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/index.css +45 -36
- package/package.json +1 -1
package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchFormCascader.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.ts"],"sourcesContent":["import { searchFormCommonProps } from '../common';\r\nimport type { PropType } from 'vue';\r\nexport interface SearchFormCascaderPropsOption extends Record<string, any> {\r\n label?: any;\r\n value?: any;\r\n children?: SearchFormCascaderPropsOption[];\r\n}\r\nexport interface SearchFormCascaderPropsProps {\r\n multiple?: boolean;\r\n value?: string;\r\n label?: string;\r\n children?: string;\r\n}\r\nexport const searchFormCascaderProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n cascaderProps: {\r\n type: Object as PropType<
|
|
1
|
+
{"version":3,"file":"searchFormCascader.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.ts"],"sourcesContent":["import { searchFormCommonProps } from '../common';\r\nimport type { CascaderProps } from 'element-plus';\r\nimport type { PropType } from 'vue';\r\nexport interface SearchFormCascaderPropsOption extends Record<string, any> {\r\n label?: any;\r\n value?: any;\r\n children?: SearchFormCascaderPropsOption[];\r\n}\r\nexport interface SearchFormCascaderPropsProps {\r\n multiple?: boolean;\r\n value?: string;\r\n label?: string;\r\n children?: string;\r\n checkStrictly?: boolean;\r\n}\r\nexport const searchFormCascaderProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n cascaderProps: {\r\n type: Object as PropType<CascaderProps>, // 配置选项\r\n default: () => ({}),\r\n },\r\n options: {\r\n type: Array as PropType<SearchFormCascaderPropsOption[]>,\r\n default: () => [],\r\n },\r\n};\r\n\r\nexport const searchFormCascaderEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormCascaderName = 'GmSearchFormCascader';\r\n"],"names":["searchFormCommonProps"],"mappings":";;;;AAeO,MAAM,uBAA0B,GAAA;AAAA,EACrC,GAAGA,4BAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AACF,EAAA;AAEO,MAAM,uBAA0B,GAAA;AAAA,EACrC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,sBAAyB,GAAA;;;;;;"}
|
|
@@ -37,6 +37,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
37
37
|
type: StringConstructor;
|
|
38
38
|
required: true;
|
|
39
39
|
};
|
|
40
|
+
tableId: {
|
|
41
|
+
type: StringConstructor;
|
|
42
|
+
};
|
|
40
43
|
size: {
|
|
41
44
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
42
45
|
readonly required: false;
|
|
@@ -349,6 +352,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
349
352
|
type: StringConstructor;
|
|
350
353
|
required: true;
|
|
351
354
|
};
|
|
355
|
+
tableId: {
|
|
356
|
+
type: StringConstructor;
|
|
357
|
+
};
|
|
352
358
|
size: {
|
|
353
359
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
354
360
|
readonly required: false;
|
|
@@ -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-2f3b2b52"], ["__file", "TablePro.vue"]]);
|
|
10
10
|
|
|
11
11
|
exports.default = TablePro;
|
|
12
12
|
//# sourceMappingURL=TablePro.vue.js.map
|
|
@@ -6,6 +6,7 @@ var vue = require('vue');
|
|
|
6
6
|
var objects = require('../../../../utils/src/objects.js');
|
|
7
7
|
var exports$1 = require('../../../../utils/src/elementPlus/exports.js');
|
|
8
8
|
var event = require('../../../../utils/src/elementPlus/event.js');
|
|
9
|
+
var table = require('../../../../constants/table.js');
|
|
9
10
|
var operateButton = require('../operateButton/operateButton.js');
|
|
10
11
|
var TableOperateVNodeRenderer = require('./TableOperateVNodeRenderer.js');
|
|
11
12
|
var TableColumnVNodeRenderer = require('./TableColumnVNodeRenderer.js');
|
|
@@ -13,7 +14,7 @@ var tablePro = require('./tablePro.js');
|
|
|
13
14
|
var tableHelper = require('./tableHelper.js');
|
|
14
15
|
var tableColumnPro = require('./tableColumnPro/tableColumnPro.js');
|
|
15
16
|
|
|
16
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-
|
|
17
|
+
const _withScopeId = (n) => (vue.pushScopeId("data-v-2f3b2b52"), n = n(), vue.popScopeId(), n);
|
|
17
18
|
const _hoisted_1 = { class: "gm-text-center" };
|
|
18
19
|
const _hoisted_2 = {
|
|
19
20
|
key: 0,
|
|
@@ -30,7 +31,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
30
31
|
}),
|
|
31
32
|
emits: /* @__PURE__ */ vue.mergeModels(tablePro.tableProEmits, ["update:sortValue"]),
|
|
32
33
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
34
|
+
const tableCtx = vue.inject(table.TableCtxKey);
|
|
35
|
+
const props = __props;
|
|
33
36
|
const GmTbaleRef = vue.ref();
|
|
37
|
+
if (tableCtx && tableCtx.tableId === props.page) {
|
|
38
|
+
tableCtx.tableRef = GmTbaleRef;
|
|
39
|
+
}
|
|
34
40
|
const gmCustomOperationsRef = vue.ref();
|
|
35
41
|
const gmTableHeaderRef = vue.ref();
|
|
36
42
|
const emit = __emit;
|
|
@@ -38,7 +44,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
44
|
const resendEvent = { ...tablePro.tableProEmits };
|
|
39
45
|
notResendEvents.forEach((it) => Reflect.deleteProperty(resendEvent, it));
|
|
40
46
|
const elEvents = event.getGmEvent(resendEvent, emit);
|
|
41
|
-
const props = __props;
|
|
42
47
|
const slots = vue.useSlots();
|
|
43
48
|
const tableColumnVnode = vue.computed(() => {
|
|
44
49
|
const vNodes = slots.default?.() || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePro.vue2.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div>\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, 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 { 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 GmTbaleRef = ref<TableInstance>();\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 props = defineProps(tableProProps);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["ref","tableProEmits","getGmEvent","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel","getGmExports"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TablePro.vue2.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div>\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\n\r\nconst GmTbaleRef = ref<TableInstance>();\r\nif (tableCtx && tableCtx.tableId === props.page) {\r\n tableCtx.tableRef = GmTbaleRef;\r\n}\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["inject","TableCtxKey","ref","tableProEmits","getGmEvent","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel","getGmExports"],"mappings":"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"}
|
|
@@ -37,6 +37,9 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
37
37
|
type: StringConstructor;
|
|
38
38
|
required: true;
|
|
39
39
|
};
|
|
40
|
+
tableId: {
|
|
41
|
+
type: StringConstructor;
|
|
42
|
+
};
|
|
40
43
|
size: {
|
|
41
44
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
42
45
|
readonly required: false;
|
|
@@ -369,6 +372,9 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
369
372
|
type: StringConstructor;
|
|
370
373
|
required: true;
|
|
371
374
|
};
|
|
375
|
+
tableId: {
|
|
376
|
+
type: StringConstructor;
|
|
377
|
+
};
|
|
372
378
|
size: {
|
|
373
379
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
374
380
|
readonly required: false;
|
|
@@ -542,6 +548,9 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
542
548
|
type: StringConstructor;
|
|
543
549
|
required: true;
|
|
544
550
|
};
|
|
551
|
+
tableId: {
|
|
552
|
+
type: StringConstructor;
|
|
553
|
+
};
|
|
545
554
|
size: {
|
|
546
555
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
547
556
|
readonly required: false;
|
|
@@ -885,6 +894,9 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
885
894
|
type: StringConstructor;
|
|
886
895
|
required: true;
|
|
887
896
|
};
|
|
897
|
+
tableId: {
|
|
898
|
+
type: StringConstructor;
|
|
899
|
+
};
|
|
888
900
|
size: {
|
|
889
901
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
890
902
|
readonly required: false;
|
|
@@ -1220,4 +1232,5 @@ export * from './tableColumnPro';
|
|
|
1220
1232
|
export * from './tableHeaderForm';
|
|
1221
1233
|
export * from './tablePagination';
|
|
1222
1234
|
export * from './tableToolbar';
|
|
1235
|
+
export * from './tableCtx';
|
|
1223
1236
|
export default GmTablePro;
|
|
@@ -9,11 +9,13 @@ var index = require('./tableColumnPro/index.js');
|
|
|
9
9
|
var index$1 = require('./tableHeaderForm/index.js');
|
|
10
10
|
var index$2 = require('./tablePagination/index.js');
|
|
11
11
|
var index$3 = require('./tableToolbar/index.js');
|
|
12
|
+
var index$4 = require('./tableCtx/index.js');
|
|
12
13
|
var install = require('../../../../utils/src/vue/install.js');
|
|
13
14
|
var tableColumnPro = require('./tableColumnPro/tableColumnPro.js');
|
|
14
15
|
var tableHeaderForm = require('./tableHeaderForm/tableHeaderForm.js');
|
|
15
16
|
var tablePagination = require('./tablePagination/tablePagination.js');
|
|
16
17
|
var tableToolbar = require('./tableToolbar/tableToolbar.js');
|
|
18
|
+
var tableCtx = require('./tableCtx/tableCtx.js');
|
|
17
19
|
|
|
18
20
|
const GmTablePro = install.withInstall(TablePro.default);
|
|
19
21
|
|
|
@@ -23,12 +25,14 @@ exports.GmTableColumnPro = index.GmTableColumnPro;
|
|
|
23
25
|
exports.GmTableHeaderForm = index$1.GmTableHeaderForm;
|
|
24
26
|
exports.GmTablePagination = index$2.GmTablePagination;
|
|
25
27
|
exports.GmTableToolbar = index$3.GmTableToolbar;
|
|
28
|
+
exports.GmTableCtx = index$4.GmTableCtx;
|
|
26
29
|
exports.TableColumnProName = tableColumnPro.TableColumnProName;
|
|
27
30
|
exports.tableColumnProProps = tableColumnPro.tableColumnProProps;
|
|
28
31
|
exports.tableHeaderFormProps = tableHeaderForm.tableHeaderFormProps;
|
|
29
32
|
exports.tablePaginationProps = tablePagination.tablePaginationProps;
|
|
30
33
|
exports.tableToolbarEmits = tableToolbar.tableToolbarEmits;
|
|
31
34
|
exports.tableToolbarProps = tableToolbar.tableToolbarProps;
|
|
35
|
+
exports.tableCtxProps = tableCtx.tableCtxProps;
|
|
32
36
|
exports.GmTablePro = GmTablePro;
|
|
33
37
|
exports.default = GmTablePro;
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../packages/components/src/composite/tablePro/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport TablePro from './TablePro.vue';\r\n\r\nexport const GmTablePro = withInstall(TablePro);\r\nexport type GmTableProInstance = InstanceType<typeof TablePro>;\r\nexport * from './tablePro';\r\nexport * from './tableColumnPro';\r\nexport * from './tableHeaderForm';\r\nexport * from './tablePagination';\r\nexport * from './tableToolbar';\r\nexport default GmTablePro;\r\n"],"names":["withInstall","TablePro"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../packages/components/src/composite/tablePro/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport TablePro from './TablePro.vue';\r\n\r\nexport const GmTablePro = withInstall(TablePro);\r\nexport type GmTableProInstance = InstanceType<typeof TablePro>;\r\nexport * from './tablePro';\r\nexport * from './tableColumnPro';\r\nexport * from './tableHeaderForm';\r\nexport * from './tablePagination';\r\nexport * from './tableToolbar';\r\nexport * from './tableCtx';\r\nexport default GmTablePro;\r\n"],"names":["withInstall","TablePro"],"mappings":";;;;;;;;;;;;;;;;;;;AAGa,MAAA,UAAA,GAAaA,oBAAYC,gBAAQ;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
|
+
tableId: {
|
|
3
|
+
type: StringConstructor;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
|
+
tableId: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
}>>, {}, {}>, {
|
|
12
|
+
default?(_: {}): any;
|
|
13
|
+
}>;
|
|
14
|
+
export default _default;
|
|
15
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var TableCtx_vue_vue_type_script_setup_true_lang = require('./TableCtx.vue2.js');
|
|
6
|
+
var _pluginVue_exportHelper = require('../../../../../_virtual/_plugin-vue_export-helper.js');
|
|
7
|
+
|
|
8
|
+
var TableCtx = /* @__PURE__ */ _pluginVue_exportHelper.default(TableCtx_vue_vue_type_script_setup_true_lang.default, [["__file", "TableCtx.vue"]]);
|
|
9
|
+
|
|
10
|
+
exports.default = TableCtx;
|
|
11
|
+
//# sourceMappingURL=TableCtx.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableCtx.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var table = require('../../../../../constants/table.js');
|
|
7
|
+
var tableCtx = require('./tableCtx.js');
|
|
8
|
+
|
|
9
|
+
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
10
|
+
...{
|
|
11
|
+
name: "GmTableCtx"
|
|
12
|
+
},
|
|
13
|
+
__name: "TableCtx",
|
|
14
|
+
props: tableCtx.tableCtxProps,
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
vue.provide(table.TableCtxKey, {
|
|
18
|
+
tableId: props.tableId
|
|
19
|
+
});
|
|
20
|
+
return (_ctx, _cache) => {
|
|
21
|
+
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
22
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
23
|
+
]);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
exports.default = _sfc_main;
|
|
29
|
+
//# sourceMappingURL=TableCtx.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableCtx.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableCtx/TableCtx.vue"],"sourcesContent":["<template>\r\n <div>\r\n <slot />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { provide } from 'vue';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { tableCtxProps } from './tableCtx';\r\ndefineOptions({\r\n name: 'GmTableCtx',\r\n});\r\nconst props = defineProps(tableCtxProps);\r\nprovide(TableCtxKey, {\r\n tableId: props.tableId,\r\n});\r\n</script>\r\n"],"names":["provide","TableCtxKey"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAAA,WAAA,CAAQC,iBAAa,EAAA;AAAA,MACnB,SAAS,KAAM,CAAA,OAAA;AAAA,KAChB,CAAA,CAAA;;;;;;;;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import TableCtx from './TableCtx.vue';
|
|
2
|
+
export declare const GmTableCtx: import("../../../../../utils").SFCWithInstall<{
|
|
3
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
|
|
4
|
+
tableId: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
+
tableId: {
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
required: true;
|
|
12
|
+
};
|
|
13
|
+
}>>, {}, true, {}, {}, {
|
|
14
|
+
P: {};
|
|
15
|
+
B: {};
|
|
16
|
+
D: {};
|
|
17
|
+
C: {};
|
|
18
|
+
M: {};
|
|
19
|
+
Defaults: {};
|
|
20
|
+
}, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
tableId: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
}>>, {}, {}, {}, {}, {}>;
|
|
26
|
+
__isFragment?: undefined;
|
|
27
|
+
__isTeleport?: undefined;
|
|
28
|
+
__isSuspense?: undefined;
|
|
29
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
30
|
+
tableId: {
|
|
31
|
+
type: StringConstructor;
|
|
32
|
+
required: true;
|
|
33
|
+
};
|
|
34
|
+
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
35
|
+
$slots: {
|
|
36
|
+
default?(_: {}): any;
|
|
37
|
+
};
|
|
38
|
+
})> & Record<string, any>;
|
|
39
|
+
export type TableCtxInstance = InstanceType<typeof TableCtx>;
|
|
40
|
+
export * from './tableCtx';
|
|
41
|
+
export default GmTableCtx;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
require('../../../../../utils/index.js');
|
|
6
|
+
var TableCtx = require('./TableCtx.vue.js');
|
|
7
|
+
var tableCtx = require('./tableCtx.js');
|
|
8
|
+
var install = require('../../../../../utils/src/vue/install.js');
|
|
9
|
+
|
|
10
|
+
const GmTableCtx = install.withInstall(TableCtx.default);
|
|
11
|
+
|
|
12
|
+
exports.tableCtxProps = tableCtx.tableCtxProps;
|
|
13
|
+
exports.GmTableCtx = GmTableCtx;
|
|
14
|
+
exports.default = GmTableCtx;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableCtx/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport TableCtx from './TableCtx.vue';\r\n\r\nexport const GmTableCtx = withInstall(TableCtx);\r\nexport type TableCtxInstance = InstanceType<typeof TableCtx>;\r\nexport * from './tableCtx';\r\nexport default GmTableCtx;\r\n"],"names":["withInstall","TableCtx"],"mappings":";;;;;;;;;AAGa,MAAA,UAAA,GAAaA,oBAAYC,gBAAQ;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableCtx.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableCtx/tableCtx.ts"],"sourcesContent":["export const tableCtxProps = {\r\n /**\r\n * 表格唯一id\r\n */\r\n tableId: {\r\n type: String,\r\n required: true as const,\r\n },\r\n};\r\n"],"names":[],"mappings":";;AAAO,MAAM,aAAgB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI3B,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AACF;;;;"}
|
|
@@ -6,7 +6,7 @@ var TablePagination_vue_vue_type_script_setup_true_lang = require('./TablePagina
|
|
|
6
6
|
require('./TablePagination.vue3.js');
|
|
7
7
|
var _pluginVue_exportHelper = require('../../../../../_virtual/_plugin-vue_export-helper.js');
|
|
8
8
|
|
|
9
|
-
var TablePagination = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePagination_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-
|
|
9
|
+
var TablePagination = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePagination_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-20ed99a8"], ["__file", "TablePagination.vue"]]);
|
|
10
10
|
|
|
11
11
|
exports.default = TablePagination;
|
|
12
12
|
//# sourceMappingURL=TablePagination.vue.js.map
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
var table = require('../../../../../constants/table.js');
|
|
6
7
|
var tablePagination = require('./tablePagination.js');
|
|
7
8
|
|
|
8
9
|
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -13,6 +14,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
13
14
|
props: tablePagination.tablePaginationProps,
|
|
14
15
|
emits: ["update:page", "update:limit", "pagination"],
|
|
15
16
|
setup(__props, { emit: __emit }) {
|
|
17
|
+
const tableCtx = vue.inject(table.TableCtxKey, {});
|
|
16
18
|
const props = __props;
|
|
17
19
|
const emit = __emit;
|
|
18
20
|
const currentPage = vue.computed({
|
|
@@ -36,9 +38,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
36
38
|
currentPage.value = 1;
|
|
37
39
|
}
|
|
38
40
|
emit("pagination", { page: currentPage.value, limit: val });
|
|
41
|
+
tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
|
|
42
|
+
tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
|
|
39
43
|
}
|
|
40
44
|
function handleCurrentChange(val) {
|
|
41
45
|
emit("pagination", { page: val, limit: pageSize.value });
|
|
46
|
+
tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
|
|
47
|
+
tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
|
|
42
48
|
}
|
|
43
49
|
return (_ctx, _cache) => {
|
|
44
50
|
const _component_gm_pagination = vue.resolveComponent("gm-pagination");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePagination.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tablePagination/TablePagination.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ hidden: hidden }\" class=\"pagination-container gm-flex gm-justify-end\">\r\n <gm-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :background=\"background\"\r\n :layout=\"layout\"\r\n :page-sizes=\"pageSizes\"\r\n :pager-count=\"pagerCount\"\r\n :total=\"total\"\r\n :small=\"small\"\r\n @sizeChange=\"handleSizeChange\"\r\n @currentChange=\"handleCurrentChange\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport { tablePaginationProps } from './tablePagination';\r\n\r\ndefineOptions({\r\n name: 'GmTablePagination',\r\n});\r\nconst props = defineProps(tablePaginationProps);\r\n\r\nconst emit = defineEmits(['update:page', 'update:limit', 'pagination']);\r\nconst currentPage = computed<number>({\r\n get() {\r\n return props.page;\r\n },\r\n set(val) {\r\n emit('update:page', val);\r\n },\r\n});\r\nconst pageSize = computed({\r\n get() {\r\n return props.limit;\r\n },\r\n set(val) {\r\n emit('update:limit', val);\r\n },\r\n});\r\nfunction handleSizeChange(val: any) {\r\n if (currentPage.value * val > props.total) {\r\n currentPage.value = 1;\r\n }\r\n emit('pagination', { page: currentPage.value, limit: val });\r\n}\r\nfunction handleCurrentChange(val: any) {\r\n emit('pagination', { page: val, limit: pageSize.value });\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding: 32px 16px;\r\n}\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n"],"names":["computed"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TablePagination.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tablePagination/TablePagination.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ hidden: hidden }\" class=\"pagination-container gm-flex gm-justify-end\">\r\n <gm-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :background=\"background\"\r\n :layout=\"layout\"\r\n :page-sizes=\"pageSizes\"\r\n :pager-count=\"pagerCount\"\r\n :total=\"total\"\r\n :small=\"small\"\r\n @sizeChange=\"handleSizeChange\"\r\n @currentChange=\"handleCurrentChange\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject } from 'vue';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { tablePaginationProps } from './tablePagination';\r\n\r\ndefineOptions({\r\n name: 'GmTablePagination',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst props = defineProps(tablePaginationProps);\r\n\r\nconst emit = defineEmits(['update:page', 'update:limit', 'pagination']);\r\nconst currentPage = computed<number>({\r\n get() {\r\n return props.page;\r\n },\r\n set(val) {\r\n emit('update:page', val);\r\n },\r\n});\r\nconst pageSize = computed({\r\n get() {\r\n return props.limit;\r\n },\r\n set(val) {\r\n emit('update:limit', val);\r\n },\r\n});\r\nfunction handleSizeChange(val: any) {\r\n if (currentPage.value * val > props.total) {\r\n currentPage.value = 1;\r\n }\r\n emit('pagination', { page: currentPage.value, limit: val });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\nfunction handleCurrentChange(val: any) {\r\n emit('pagination', { page: val, limit: pageSize.value });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding: 32px 16px;\r\n}\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n"],"names":["inject","TableCtxKey","computed"],"mappings":";;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,QAAW,GAAAA,UAAA,CAAOC,iBAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,MAAM,cAAcC,YAAiB,CAAA;AAAA,MACnC,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,eAAe,GAAG,CAAA,CAAA;AAAA,OACzB;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAM,WAAWA,YAAS,CAAA;AAAA,MACxB,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AACD,IAAA,SAAS,iBAAiB,GAAU,EAAA;AAClC,MAAA,IAAI,WAAY,CAAA,KAAA,GAAQ,GAAM,GAAA,KAAA,CAAM,KAAO,EAAA;AACzC,QAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC1D,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;AACA,IAAA,SAAS,oBAAoB,GAAU,EAAA;AACrC,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,KAAK,KAAO,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AACvD,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -34,6 +34,9 @@ export declare const tableProProps: {
|
|
|
34
34
|
type: StringConstructor;
|
|
35
35
|
required: true;
|
|
36
36
|
};
|
|
37
|
+
tableId: {
|
|
38
|
+
type: StringConstructor;
|
|
39
|
+
};
|
|
37
40
|
size: {
|
|
38
41
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
39
42
|
readonly required: false;
|
|
@@ -9,6 +9,7 @@ var index$1 = require('../../../plugins/message/index.js');
|
|
|
9
9
|
var objects = require('../../../../../utils/src/objects.js');
|
|
10
10
|
var general = require('../../../../../utils/src/general.js');
|
|
11
11
|
var is = require('../../../../../utils/src/is.js');
|
|
12
|
+
var table = require('../../../../../constants/table.js');
|
|
12
13
|
var iconsVue = require('@element-plus/icons-vue');
|
|
13
14
|
var tableToolbar = require('./tableToolbar.js');
|
|
14
15
|
|
|
@@ -34,6 +35,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
34
35
|
}),
|
|
35
36
|
emits: /* @__PURE__ */ vue.mergeModels(tableToolbar.tableToolbarEmits, ["update:showSearch", "update:queryParams"]),
|
|
36
37
|
setup(__props, { emit: __emit }) {
|
|
38
|
+
const tableCtx = vue.inject(table.TableCtxKey, {});
|
|
37
39
|
const props = __props;
|
|
38
40
|
const emit = __emit;
|
|
39
41
|
const showSearch = vue.useModel(__props, "showSearch");
|
|
@@ -58,6 +60,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
emit("getList");
|
|
63
|
+
tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
|
|
64
|
+
tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
|
|
61
65
|
};
|
|
62
66
|
const submitLoading = vue.ref(false);
|
|
63
67
|
const addSettings = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableToolbar.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/TableToolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nconst customSettingType = 'quickQueryList'\n</script>\n<template>\r\n <div>\r\n <gm-row :gutter=\"10\" style=\"margin-right: 0\">\r\n <gm-col v-if=\"isNumber(total)\" :span=\"1.5\" class=\"gm-text-[14px] gm-leading-[32px]\">\r\n <span>共 {{ total }} 条</span>\r\n </gm-col>\r\n <gm-col v-if=\"isNumber(selectedCount)\" :span=\"2.5\" class=\"gm-mr-2 gm-text-[14px] gm-leading-[32px]\">\r\n <span\r\n >已选择<span class=\"gm-inline-block gm-min-w-[20px] gm-text-center\">{{ selectedCount }}</span\r\n >项</span\r\n >\r\n </gm-col>\r\n <slot />\r\n <!-- <right-toolbar v-model:showSearch=\"showSearch\" @queryTable=\"emits('getList')\" /> -->\r\n <div class=\"gm-ml-auto\">\r\n <div class=\"gm-flex\">\r\n <gm-button plain class=\"gm-mr-2 gm-block\" @click.stop=\"openSaveSearchDialog()\">保存查询</gm-button>\r\n <gm-dropdown trigger=\"click\" class=\"gm-mr-3 hover:gm-outline-none\">\r\n <gm-button plain type=\"\">\r\n 快捷查询<gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n <template #dropdown>\r\n <gm-dropdown-menu class=\"gm-min-w-[200px]\">\r\n <div v-if=\"customSettingsValue.length === 0\" class=\"gm-my-5 gm-text-center gm-text-base gm-font-bold gm-text-gray-700\">暂无数据</div>\r\n <gm-dropdown-item\r\n v-for=\"item in customSettingsValue\"\r\n :key=\"item.uuid\"\r\n class=\"gm-group gm-flex gm-justify-between\"\r\n @click=\"applySettings(item)\"\r\n >\r\n <span> {{ item.name }} </span>\r\n <gm-icon class=\"gm-hidden hover:gm-text-red-500 group-hover:gm-block\" @click.stop=\"deleteSettins(item)\"> <Delete /> </gm-icon>\r\n </gm-dropdown-item>\r\n <div class=\"gm-m-2\">\r\n <!-- <gm-button :loading=\"submitLoading\" size=\"small\" type=\"\" @click=\"onClear\">清空</gm-button> -->\r\n <gm-button :loading=\"syncLoading\" size=\"small\" type=\"success\" @click=\"onSyncRemote\">同步</gm-button>\r\n </div>\r\n </gm-dropdown-menu>\r\n </template>\r\n </gm-dropdown>\r\n <gm-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\">\r\n <gm-button circle plain :icon=\"Search\" @click=\"toggleSearch()\" />\r\n </gm-tooltip>\r\n <gm-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\r\n <gm-button circle plain :icon=\"Refresh\" @click=\"refresh()\" />\r\n </gm-tooltip>\r\n </div>\r\n <GmDialogForm\r\n v-model=\"saveSearchVisible\"\r\n :formData=\"searchform\"\r\n :loading=\"submitLoading\"\r\n :rules=\"rules\"\r\n title=\"保存当前查询\"\r\n labelWidth=\"auto\"\r\n @submit=\"addSettings\"\r\n >\r\n <gm-form-item-module\r\n v-model=\"searchform.name\"\r\n field=\"name\"\r\n label=\"查询名称\"\r\n type=\"GmInput\"\r\n :props=\"{ placeholder: '请输入', maxlength: '15', showWordLimit: true }\"\r\n />\r\n </GmDialogForm>\r\n </div>\r\n </gm-row>\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, onMounted, ref } from 'vue';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { useCustomSettingsStore } from '@giime/hooks/store/useCustomSettings';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { remove } from '@giime/utils/src/general';\r\nimport { isNumber } from '@giime/utils/src/is';\r\nimport { ArrowDown, Delete, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { tableToolbarEmits, tableToolbarProps } from './tableToolbar';\r\n\r\ndefineOptions({\r\n name: 'GmTableToolbar',\r\n});\r\nconst props = defineProps(tableToolbarProps);\r\nconst emit = defineEmits(tableToolbarEmits);\r\n\r\nconst showSearch = defineModel<boolean>('showSearch', { required: true });\r\nconst queryParams = defineModel<any>('queryParams');\r\n\r\nconst customSettingsStore = useCustomSettingsStore();\r\ninterface TableToolbarSettings {\r\n uuid: string;\r\n name: string;\r\n value: Record<string, any>;\r\n}\r\nconst customSettingsValue = computed<TableToolbarSettings[]>(() => customSettingsStore.customSettings[props.tableId]?.[customSettingType] || []);\r\n\r\nconst saveSearchVisible = ref(false);\r\nconst searchform = ref({\r\n name: '',\r\n});\r\nconst rules = {\r\n name: [{ required: true, message: '查询名称不能为空', trigger: 'blur' }],\r\n};\r\n// 打开保存dialog\r\nconst openSaveSearchDialog = () => {\r\n saveSearchVisible.value = true;\r\n searchform.value.name = '';\r\n};\r\n// 应用设置\r\nconst applySettings = (item: TableToolbarSettings) => {\r\n for (const key in item.value) {\r\n if (hasOwn(item.value, key) && hasOwn(queryParams.value, key)) {\r\n queryParams.value[key] = item.value[key];\r\n }\r\n }\r\n emit('getList');\r\n};\r\nconst submitLoading = ref(false);\r\n// 添加设置\r\nconst addSettings = () => {\r\n const params = JSON.stringify([{ uuid: uuidv4(), name: searchform.value.name, value: queryParams.value }, ...customSettingsValue.value]);\r\n return submitSettings(params);\r\n};\r\n// 删除设置\r\nconst deleteSettins = (item: TableToolbarSettings) => {\r\n remove(customSettingsValue.value, item);\r\n return submitSettings(JSON.stringify(customSettingsValue.value));\r\n};\r\n\r\n// const onClear = () => {\r\n// return submitSettings(JSON.stringify([]));\r\n// };\r\nconst syncLoading = ref(false);\r\n/**同步远程设置 */\r\nconst onSyncRemote = async () => {\r\n try {\r\n syncLoading.value = true;\r\n await customSettingsStore.syncRemoteSetting({\r\n key_word: props.tableId,\r\n type: customSettingType,\r\n });\r\n syncLoading.value = false;\r\n GmMessage.success('同步成功');\r\n } catch (e) {\r\n console.error(e);\r\n syncLoading.value = false;\r\n }\r\n};\r\n// 保存\r\nconst submitSettings = async (value: string) => {\r\n try {\r\n submitLoading.value = true;\r\n const { data } = await customSettingsStore.addCustomSettings({\r\n key_word: props.tableId,\r\n value,\r\n type: customSettingType,\r\n });\r\n submitLoading.value = false;\r\n if (data.code !== 0) {\r\n return;\r\n }\r\n GmMessage.success('操作成功');\r\n saveSearchVisible.value = false;\r\n } catch (e) {\r\n console.error(e);\r\n submitLoading.value = false;\r\n }\r\n};\r\n// 搜索\r\nfunction toggleSearch() {\r\n showSearch.value = !showSearch.value;\r\n}\r\n// 刷新\r\nfunction refresh() {\r\n emit('getList');\r\n}\r\nonMounted(async () => {\r\n await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });\r\n});\r\n</script>\r\n"],"names":["_useModel","useCustomSettingsStore","computed","ref","hasOwn","uuidv4","remove","GmMessage","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableToolbar.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/TableToolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nconst customSettingType = 'quickQueryList'\n</script>\n<template>\r\n <div>\r\n <gm-row :gutter=\"10\" style=\"margin-right: 0\">\r\n <gm-col v-if=\"isNumber(total)\" :span=\"1.5\" class=\"gm-text-[14px] gm-leading-[32px]\">\r\n <span>共 {{ total }} 条</span>\r\n </gm-col>\r\n <gm-col v-if=\"isNumber(selectedCount)\" :span=\"2.5\" class=\"gm-mr-2 gm-text-[14px] gm-leading-[32px]\">\r\n <span\r\n >已选择<span class=\"gm-inline-block gm-min-w-[20px] gm-text-center\">{{ selectedCount }}</span\r\n >项</span\r\n >\r\n </gm-col>\r\n <slot />\r\n <!-- <right-toolbar v-model:showSearch=\"showSearch\" @queryTable=\"emits('getList')\" /> -->\r\n <div class=\"gm-ml-auto\">\r\n <div class=\"gm-flex\">\r\n <gm-button plain class=\"gm-mr-2 gm-block\" @click.stop=\"openSaveSearchDialog()\">保存查询</gm-button>\r\n <gm-dropdown trigger=\"click\" class=\"gm-mr-3 hover:gm-outline-none\">\r\n <gm-button plain type=\"\">\r\n 快捷查询<gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n <template #dropdown>\r\n <gm-dropdown-menu class=\"gm-min-w-[200px]\">\r\n <div v-if=\"customSettingsValue.length === 0\" class=\"gm-my-5 gm-text-center gm-text-base gm-font-bold gm-text-gray-700\">暂无数据</div>\r\n <gm-dropdown-item\r\n v-for=\"item in customSettingsValue\"\r\n :key=\"item.uuid\"\r\n class=\"gm-group gm-flex gm-justify-between\"\r\n @click=\"applySettings(item)\"\r\n >\r\n <span> {{ item.name }} </span>\r\n <gm-icon class=\"gm-hidden hover:gm-text-red-500 group-hover:gm-block\" @click.stop=\"deleteSettins(item)\"> <Delete /> </gm-icon>\r\n </gm-dropdown-item>\r\n <div class=\"gm-m-2\">\r\n <!-- <gm-button :loading=\"submitLoading\" size=\"small\" type=\"\" @click=\"onClear\">清空</gm-button> -->\r\n <gm-button :loading=\"syncLoading\" size=\"small\" type=\"success\" @click=\"onSyncRemote\">同步</gm-button>\r\n </div>\r\n </gm-dropdown-menu>\r\n </template>\r\n </gm-dropdown>\r\n <gm-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\">\r\n <gm-button circle plain :icon=\"Search\" @click=\"toggleSearch()\" />\r\n </gm-tooltip>\r\n <gm-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\r\n <gm-button circle plain :icon=\"Refresh\" @click=\"refresh()\" />\r\n </gm-tooltip>\r\n </div>\r\n <GmDialogForm\r\n v-model=\"saveSearchVisible\"\r\n :formData=\"searchform\"\r\n :loading=\"submitLoading\"\r\n :rules=\"rules\"\r\n title=\"保存当前查询\"\r\n labelWidth=\"auto\"\r\n @submit=\"addSettings\"\r\n >\r\n <gm-form-item-module\r\n v-model=\"searchform.name\"\r\n field=\"name\"\r\n label=\"查询名称\"\r\n type=\"GmInput\"\r\n :props=\"{ placeholder: '请输入', maxlength: '15', showWordLimit: true }\"\r\n />\r\n </GmDialogForm>\r\n </div>\r\n </gm-row>\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, inject, onMounted, ref } from 'vue';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { useCustomSettingsStore } from '@giime/hooks/store/useCustomSettings';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { remove } from '@giime/utils/src/general';\r\nimport { isNumber } from '@giime/utils/src/is';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { ArrowDown, Delete, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { tableToolbarEmits, tableToolbarProps } from './tableToolbar';\r\n\r\ndefineOptions({\r\n name: 'GmTableToolbar',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst props = defineProps(tableToolbarProps);\r\nconst emit = defineEmits(tableToolbarEmits);\r\n\r\nconst showSearch = defineModel<boolean>('showSearch', { required: true });\r\nconst queryParams = defineModel<any>('queryParams');\r\n\r\nconst customSettingsStore = useCustomSettingsStore();\r\ninterface TableToolbarSettings {\r\n uuid: string;\r\n name: string;\r\n value: Record<string, any>;\r\n}\r\nconst customSettingsValue = computed<TableToolbarSettings[]>(() => customSettingsStore.customSettings[props.tableId]?.[customSettingType] || []);\r\n\r\nconst saveSearchVisible = ref(false);\r\nconst searchform = ref({\r\n name: '',\r\n});\r\nconst rules = {\r\n name: [{ required: true, message: '查询名称不能为空', trigger: 'blur' }],\r\n};\r\n// 打开保存dialog\r\nconst openSaveSearchDialog = () => {\r\n saveSearchVisible.value = true;\r\n searchform.value.name = '';\r\n};\r\n// 应用设置\r\nconst applySettings = (item: TableToolbarSettings) => {\r\n for (const key in item.value) {\r\n if (hasOwn(item.value, key) && hasOwn(queryParams.value, key)) {\r\n queryParams.value[key] = item.value[key];\r\n }\r\n }\r\n emit('getList');\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\nconst submitLoading = ref(false);\r\n// 添加设置\r\nconst addSettings = () => {\r\n const params = JSON.stringify([{ uuid: uuidv4(), name: searchform.value.name, value: queryParams.value }, ...customSettingsValue.value]);\r\n return submitSettings(params);\r\n};\r\n// 删除设置\r\nconst deleteSettins = (item: TableToolbarSettings) => {\r\n remove(customSettingsValue.value, item);\r\n return submitSettings(JSON.stringify(customSettingsValue.value));\r\n};\r\n\r\n// const onClear = () => {\r\n// return submitSettings(JSON.stringify([]));\r\n// };\r\nconst syncLoading = ref(false);\r\n/**同步远程设置 */\r\nconst onSyncRemote = async () => {\r\n try {\r\n syncLoading.value = true;\r\n await customSettingsStore.syncRemoteSetting({\r\n key_word: props.tableId,\r\n type: customSettingType,\r\n });\r\n syncLoading.value = false;\r\n GmMessage.success('同步成功');\r\n } catch (e) {\r\n console.error(e);\r\n syncLoading.value = false;\r\n }\r\n};\r\n// 保存\r\nconst submitSettings = async (value: string) => {\r\n try {\r\n submitLoading.value = true;\r\n const { data } = await customSettingsStore.addCustomSettings({\r\n key_word: props.tableId,\r\n value,\r\n type: customSettingType,\r\n });\r\n submitLoading.value = false;\r\n if (data.code !== 0) {\r\n return;\r\n }\r\n GmMessage.success('操作成功');\r\n saveSearchVisible.value = false;\r\n } catch (e) {\r\n console.error(e);\r\n submitLoading.value = false;\r\n }\r\n};\r\n// 搜索\r\nfunction toggleSearch() {\r\n showSearch.value = !showSearch.value;\r\n}\r\n// 刷新\r\nfunction refresh() {\r\n emit('getList');\r\n}\r\nonMounted(async () => {\r\n await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });\r\n});\r\n</script>\r\n"],"names":["inject","TableCtxKey","_useModel","useCustomSettingsStore","computed","ref","hasOwn","uuidv4","remove","GmMessage","onMounted"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { InjectionKey, Ref } from 'vue';
|
|
2
|
+
import type { TableInstance, TableV2Instance } from 'element-plus';
|
|
3
|
+
export interface TableCtxInjection {
|
|
4
|
+
tableId?: string;
|
|
5
|
+
tableRef?: Ref<TableInstance | undefined>;
|
|
6
|
+
tableV2Ref?: Ref<TableV2Instance | undefined>;
|
|
7
|
+
}
|
|
8
|
+
export declare const TableCtxKey: InjectionKey<TableCtxInjection>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../packages/constants/table.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\r\nimport type { TableInstance, TableV2Instance } from 'element-plus';\r\nexport interface TableCtxInjection {\r\n tableId?: string;\r\n tableRef?: Ref<TableInstance | undefined>;\r\n tableV2Ref?: Ref<TableV2Instance | undefined>;\r\n}\r\nexport const TableCtxKey: InjectionKey<TableCtxInjection> = Symbol('TableCtxKey');\r\n"],"names":[],"mappings":";;AAOa,MAAA,WAAA,GAA+C,OAAO,aAAa;;;;"}
|