vxe-table 3.10.0-beta.2 → 3.10.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/locale/lang/en-US.js +1 -0
- package/es/locale/lang/es-ES.js +1 -0
- package/es/locale/lang/hu-HU.js +1 -0
- package/es/locale/lang/ja-JP.js +1 -0
- package/es/locale/lang/ko-KR.js +1 -0
- package/es/locale/lang/pt-BR.js +1 -0
- package/es/locale/lang/ru-RU.js +1 -0
- package/es/locale/lang/uk-UA.js +1 -0
- package/es/locale/lang/vi-VN.js +1 -0
- package/es/locale/lang/zh-CHT.js +1 -0
- package/es/locale/lang/zh-CN.js +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/export/export-panel.js +325 -258
- package/es/table/module/export/import-panel.js +138 -81
- package/es/table/module/export/mixin.js +14 -0
- package/es/table/src/body.js +1 -1
- package/es/table/src/methods.js +10 -3
- package/es/table/style.css +48 -47
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +48 -47
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.umd.js +368 -243
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +1 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +1 -0
- package/lib/locale/lang/es-ES.js +1 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +1 -0
- package/lib/locale/lang/hu-HU.js +1 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +1 -0
- package/lib/locale/lang/ja-JP.js +1 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +1 -0
- package/lib/locale/lang/ko-KR.js +1 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +1 -0
- package/lib/locale/lang/pt-BR.js +1 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +1 -0
- package/lib/locale/lang/ru-RU.js +1 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +1 -0
- package/lib/locale/lang/uk-UA.js +1 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +1 -0
- package/lib/locale/lang/vi-VN.js +1 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +1 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +1 -0
- package/lib/locale/lang/zh-CN.js +1 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/export/export-panel.js +239 -185
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +99 -52
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +14 -0
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/body.js +1 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +12 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/style/style.css +48 -47
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +48 -47
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/en-US.ts +1 -0
- package/packages/locale/lang/es-ES.ts +1 -0
- package/packages/locale/lang/hu-HU.ts +1 -0
- package/packages/locale/lang/ja-JP.ts +1 -0
- package/packages/locale/lang/ko-KR.ts +1 -0
- package/packages/locale/lang/pt-BR.ts +1 -0
- package/packages/locale/lang/ru-RU.ts +1 -0
- package/packages/locale/lang/uk-UA.ts +1 -0
- package/packages/locale/lang/vi-VN.ts +1 -0
- package/packages/locale/lang/zh-CHT.ts +1 -0
- package/packages/locale/lang/zh-CN.ts +1 -0
- package/packages/table/module/export/export-panel.ts +323 -253
- package/packages/table/module/export/import-panel.ts +141 -79
- package/packages/table/module/export/mixin.ts +15 -0
- package/packages/table/src/body.ts +1 -1
- package/packages/table/src/methods.ts +11 -3
- package/styles/components/table-module/export.scss +17 -14
- /package/es/{iconfont.1730365807487.ttf → iconfont.1730454529299.ttf} +0 -0
- /package/es/{iconfont.1730365807487.woff → iconfont.1730454529299.woff} +0 -0
- /package/es/{iconfont.1730365807487.woff2 → iconfont.1730454529299.woff2} +0 -0
- /package/lib/{iconfont.1730365807487.ttf → iconfont.1730454529299.ttf} +0 -0
- /package/lib/{iconfont.1730365807487.woff → iconfont.1730454529299.woff} +0 -0
- /package/lib/{iconfont.1730365807487.woff2 → iconfont.1730454529299.woff2} +0 -0
|
@@ -12,7 +12,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
12
12
|
const {
|
|
13
13
|
getI18n,
|
|
14
14
|
getIcon,
|
|
15
|
-
globalMixins
|
|
15
|
+
globalMixins,
|
|
16
|
+
renderEmptyElement
|
|
16
17
|
} = _ui.VxeUI;
|
|
17
18
|
var _default = exports.default = {
|
|
18
19
|
name: 'VxeTableImportPanel',
|
|
@@ -25,6 +26,11 @@ var _default = exports.default = {
|
|
|
25
26
|
// VxeModal,
|
|
26
27
|
// VxeRadio
|
|
27
28
|
},
|
|
29
|
+
inject: {
|
|
30
|
+
$xeTable: {
|
|
31
|
+
default: null
|
|
32
|
+
}
|
|
33
|
+
},
|
|
28
34
|
data() {
|
|
29
35
|
return {
|
|
30
36
|
loading: false
|
|
@@ -72,6 +78,8 @@ var _default = exports.default = {
|
|
|
72
78
|
}
|
|
73
79
|
},
|
|
74
80
|
render(h) {
|
|
81
|
+
const $xeTable = this.$xeTable;
|
|
82
|
+
const importOpts = $xeTable.importOpts;
|
|
75
83
|
const {
|
|
76
84
|
hasFile,
|
|
77
85
|
parseTypeLabel,
|
|
@@ -79,17 +87,27 @@ var _default = exports.default = {
|
|
|
79
87
|
storeData,
|
|
80
88
|
selectName
|
|
81
89
|
} = this;
|
|
90
|
+
const slots = importOpts.slots || {};
|
|
91
|
+
const topSlot = slots.top;
|
|
92
|
+
const bottomSlot = slots.bottom;
|
|
93
|
+
const defaultSlot = slots.default;
|
|
94
|
+
const footerSlot = slots.footer;
|
|
82
95
|
return h('vxe-modal', {
|
|
83
96
|
ref: 'modal',
|
|
84
97
|
props: {
|
|
98
|
+
id: 'VXE_IMPORT_MODAL',
|
|
85
99
|
value: storeData.visible,
|
|
86
100
|
title: getI18n('vxe.import.impTitle'),
|
|
87
101
|
width: 540,
|
|
102
|
+
minWidth: 360,
|
|
103
|
+
minHeight: 240,
|
|
88
104
|
mask: true,
|
|
89
105
|
lockView: true,
|
|
90
|
-
showFooter:
|
|
106
|
+
showFooter: true,
|
|
91
107
|
escClosable: true,
|
|
92
108
|
maskClosable: true,
|
|
109
|
+
showMaximize: true,
|
|
110
|
+
resize: true,
|
|
93
111
|
loading: this.loading
|
|
94
112
|
},
|
|
95
113
|
on: {
|
|
@@ -97,59 +115,88 @@ var _default = exports.default = {
|
|
|
97
115
|
storeData.visible = value;
|
|
98
116
|
},
|
|
99
117
|
show: this.showEvent
|
|
100
|
-
}
|
|
101
|
-
}, [h('div', {
|
|
102
|
-
class: 'vxe-export--panel'
|
|
103
|
-
}, [h('table', {
|
|
104
|
-
attrs: {
|
|
105
|
-
cellspacing: 0,
|
|
106
|
-
cellpadding: 0,
|
|
107
|
-
border: 0
|
|
108
|
-
}
|
|
109
|
-
}, [h('tbody', [h('tr', [h('td', getI18n('vxe.import.impFile')), h('td', [hasFile ? h('div', {
|
|
110
|
-
class: 'vxe-import-selected--file',
|
|
111
|
-
attrs: {
|
|
112
|
-
title: selectName
|
|
113
|
-
}
|
|
114
|
-
}, [h('span', selectName), h('i', {
|
|
115
|
-
class: getIcon().INPUT_CLEAR,
|
|
116
|
-
on: {
|
|
117
|
-
click: this.clearFileEvent
|
|
118
|
-
}
|
|
119
|
-
})]) : h('button', {
|
|
120
|
-
ref: 'fileBtn',
|
|
121
|
-
class: 'vxe-import-select--file',
|
|
122
|
-
attrs: {
|
|
123
|
-
type: 'button'
|
|
124
|
-
},
|
|
125
|
-
on: {
|
|
126
|
-
click: this.selectFileEvent
|
|
127
|
-
}
|
|
128
|
-
}, getI18n('vxe.import.impSelect'))])]), h('tr', [h('td', getI18n('vxe.import.impType')), h('td', parseTypeLabel)]), h('tr', [h('td', getI18n('vxe.import.impMode')), h('td', [h('vxe-select', {
|
|
129
|
-
props: {
|
|
130
|
-
value: defaultOptions.mode,
|
|
131
|
-
options: storeData.modeList
|
|
132
118
|
},
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
119
|
+
scopedSlots: {
|
|
120
|
+
default: () => {
|
|
121
|
+
const params = {
|
|
122
|
+
$table: $xeTable,
|
|
123
|
+
$grid: $xeTable.xegrid,
|
|
124
|
+
options: importOpts,
|
|
125
|
+
params: importOpts.params
|
|
126
|
+
};
|
|
127
|
+
return h('div', {
|
|
128
|
+
class: 'vxe-table-export--panel'
|
|
129
|
+
}, [topSlot ? h('div', {
|
|
130
|
+
class: 'vxe-table-export--panel-top'
|
|
131
|
+
}, $xeTable.callSlot(topSlot, params, h)) : renderEmptyElement(this), h('div', {
|
|
132
|
+
class: 'vxe-table-export--panel-body'
|
|
133
|
+
}, defaultSlot ? $xeTable.callSlot(defaultSlot, params, h) : [h('table', {
|
|
134
|
+
class: 'vxe-table-export--panel-table',
|
|
135
|
+
attrs: {
|
|
136
|
+
cellspacing: 0,
|
|
137
|
+
cellpadding: 0,
|
|
138
|
+
border: 0
|
|
139
|
+
}
|
|
140
|
+
}, [h('tbody', [h('tr', [h('td', getI18n('vxe.import.impFile')), h('td', [hasFile ? h('div', {
|
|
141
|
+
class: 'vxe-table-export--selected--file',
|
|
142
|
+
attrs: {
|
|
143
|
+
title: selectName
|
|
144
|
+
}
|
|
145
|
+
}, [h('span', selectName), h('i', {
|
|
146
|
+
class: getIcon().INPUT_CLEAR,
|
|
147
|
+
on: {
|
|
148
|
+
click: this.clearFileEvent
|
|
149
|
+
}
|
|
150
|
+
})]) : h('button', {
|
|
151
|
+
ref: 'fileBtn',
|
|
152
|
+
class: 'vxe-table-export--select--file',
|
|
153
|
+
attrs: {
|
|
154
|
+
type: 'button'
|
|
155
|
+
},
|
|
156
|
+
on: {
|
|
157
|
+
click: this.selectFileEvent
|
|
158
|
+
}
|
|
159
|
+
}, getI18n('vxe.import.impSelect'))])]), h('tr', [h('td', getI18n('vxe.import.impType')), h('td', parseTypeLabel)]), h('tr', [h('td', getI18n('vxe.import.impMode')), h('td', [h('vxe-select', {
|
|
160
|
+
props: {
|
|
161
|
+
value: defaultOptions.mode,
|
|
162
|
+
options: storeData.modeList
|
|
163
|
+
},
|
|
164
|
+
on: {
|
|
165
|
+
input(value) {
|
|
166
|
+
defaultOptions.mode = value;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
})])])])])]), bottomSlot ? h('div', {
|
|
170
|
+
class: 'vxe-table-export--panel-bottom'
|
|
171
|
+
}, $xeTable.callSlot(bottomSlot, params, h)) : renderEmptyElement(this)]);
|
|
172
|
+
},
|
|
173
|
+
footer: () => {
|
|
174
|
+
const params = {
|
|
175
|
+
$table: $xeTable,
|
|
176
|
+
$grid: $xeTable.xegrid,
|
|
177
|
+
options: importOpts,
|
|
178
|
+
params: importOpts.params
|
|
179
|
+
};
|
|
180
|
+
return h('div', {
|
|
181
|
+
class: 'vxe-table-export--panel-footer'
|
|
182
|
+
}, footerSlot ? $xeTable.callSlot(footerSlot, params, h) : [h('div', {
|
|
183
|
+
class: 'vxe-table-export--panel-btns'
|
|
184
|
+
}, [h('vxe-button', {
|
|
185
|
+
on: {
|
|
186
|
+
click: this.cancelEvent
|
|
187
|
+
}
|
|
188
|
+
}, getI18n('vxe.import.impCancel')), h('vxe-button', {
|
|
189
|
+
props: {
|
|
190
|
+
status: 'primary',
|
|
191
|
+
disabled: !hasFile
|
|
192
|
+
},
|
|
193
|
+
on: {
|
|
194
|
+
click: this.importEvent
|
|
195
|
+
}
|
|
196
|
+
}, getI18n('vxe.import.impConfirm'))])]);
|
|
136
197
|
}
|
|
137
198
|
}
|
|
138
|
-
})
|
|
139
|
-
class: 'vxe-export--panel-btns'
|
|
140
|
-
}, [h('vxe-button', {
|
|
141
|
-
on: {
|
|
142
|
-
click: this.cancelEvent
|
|
143
|
-
}
|
|
144
|
-
}, getI18n('vxe.import.impCancel')), h('vxe-button', {
|
|
145
|
-
props: {
|
|
146
|
-
status: 'primary',
|
|
147
|
-
disabled: !hasFile
|
|
148
|
-
},
|
|
149
|
-
on: {
|
|
150
|
-
click: this.importEvent
|
|
151
|
-
}
|
|
152
|
-
}, getI18n('vxe.import.impConfirm'))])])]);
|
|
199
|
+
});
|
|
153
200
|
},
|
|
154
201
|
methods: {
|
|
155
202
|
clearFileEvent() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,globalMixins}=_ui.VxeUI;var _default=exports.default={name:"VxeTableImportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:Object,storeData:Object},components:{},data(){return{loading:!1}},computed:{selectName(){return this.storeData.filename+"."+this.storeData.type},hasFile(){return this.storeData.file&&this.storeData.type},parseTypeLabel(){var e=this.storeData;let{type:t,typeList:i}=e;return t?(e=_xeUtils.default.find(i,e=>t===e.value))?e.label:"*.*":"*."+i.map(e=>e.value).join(", *.")}},created(){if("development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),i=_ui.VxeUI.getComponent("VxeSelect");this.$nextTick(()=>{e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),t||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),i||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"])})}},render(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,globalMixins,renderEmptyElement}=_ui.VxeUI;var _default=exports.default={name:"VxeTableImportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:Object,storeData:Object},components:{},inject:{$xeTable:{default:null}},data(){return{loading:!1}},computed:{selectName(){return this.storeData.filename+"."+this.storeData.type},hasFile(){return this.storeData.file&&this.storeData.type},parseTypeLabel(){var e=this.storeData;let{type:t,typeList:i}=e;return t?(e=_xeUtils.default.find(i,e=>t===e.value))?e.label:"*.*":"*."+i.map(e=>e.value).join(", *.")}},created(){if("development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),i=_ui.VxeUI.getComponent("VxeSelect");this.$nextTick(()=>{e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),t||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),i||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"])})}},render(t){let i=this.$xeTable,l=i.importOpts,{hasFile:a,parseTypeLabel:s,defaultOptions:o,storeData:r,selectName:n}=this;var e=l.slots||{};let p=e.top,d=e.bottom,c=e.default,m=e.footer;return t("vxe-modal",{ref:"modal",props:{id:"VXE_IMPORT_MODAL",value:r.visible,title:getI18n("vxe.import.impTitle"),width:540,minWidth:360,minHeight:240,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:this.loading},on:{input(e){r.visible=e},show:this.showEvent},scopedSlots:{default:()=>{var e={$table:i,$grid:i.xegrid,options:l,params:l.params};return t("div",{class:"vxe-table-export--panel"},[p?t("div",{class:"vxe-table-export--panel-top"},i.callSlot(p,e,t)):renderEmptyElement(this),t("div",{class:"vxe-table-export--panel-body"},c?i.callSlot(c,e,t):[t("table",{class:"vxe-table-export--panel-table",attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",[t("tr",[t("td",getI18n("vxe.import.impFile")),t("td",[a?t("div",{class:"vxe-table-export--selected--file",attrs:{title:n}},[t("span",n),t("i",{class:getIcon().INPUT_CLEAR,on:{click:this.clearFileEvent}})]):t("button",{ref:"fileBtn",class:"vxe-table-export--select--file",attrs:{type:"button"},on:{click:this.selectFileEvent}},getI18n("vxe.import.impSelect"))])]),t("tr",[t("td",getI18n("vxe.import.impType")),t("td",s)]),t("tr",[t("td",getI18n("vxe.import.impMode")),t("td",[t("vxe-select",{props:{value:o.mode,options:r.modeList},on:{input(e){o.mode=e}}})])])])])]),d?t("div",{class:"vxe-table-export--panel-bottom"},i.callSlot(d,e,t)):renderEmptyElement(this)])},footer:()=>{var e={$table:i,$grid:i.xegrid,options:l,params:l.params};return t("div",{class:"vxe-table-export--panel-footer"},m?i.callSlot(m,e,t):[t("div",{class:"vxe-table-export--panel-btns"},[t("vxe-button",{on:{click:this.cancelEvent}},getI18n("vxe.import.impCancel")),t("vxe-button",{props:{status:"primary",disabled:!a},on:{click:this.importEvent}},getI18n("vxe.import.impConfirm"))])])}}})},methods:{clearFileEvent(){Object.assign(this.storeData,{filename:"",sheetName:"",type:""})},selectFileEvent(){this.$parent.readFile(this.defaultOptions).then(e=>{e=e.file;Object.assign(this.storeData,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},showEvent(){this.$nextTick(()=>{var e=this.$refs,e=e.fileBtn;e&&e.focus()})},cancelEvent(){this.storeData.visible=!1},importEvent(){var e=this.$parent;this.loading=!0,e.importByFile(this.storeData.file,Object.assign({},e.importOpts,this.defaultOptions)).then(()=>{this.loading=!1,this.storeData.visible=!1}).catch(()=>{this.loading=!1})}}};
|
|
@@ -1056,6 +1056,12 @@ function handleFileImport($xetable, file, opts) {
|
|
|
1056
1056
|
return Promise.reject(e);
|
|
1057
1057
|
});
|
|
1058
1058
|
}
|
|
1059
|
+
function handleCloseExport() {
|
|
1060
|
+
if (_ui.VxeUI.modal) {
|
|
1061
|
+
return _ui.VxeUI.modal.close('VXE_EXPORT_MODAL');
|
|
1062
|
+
}
|
|
1063
|
+
return Promise.resolve();
|
|
1064
|
+
}
|
|
1059
1065
|
/**
|
|
1060
1066
|
* 读取本地文件
|
|
1061
1067
|
* @param {*} options 参数
|
|
@@ -1646,6 +1652,12 @@ var _default = exports.default = {
|
|
|
1646
1652
|
};
|
|
1647
1653
|
});
|
|
1648
1654
|
},
|
|
1655
|
+
_closeImport() {
|
|
1656
|
+
if (_ui.VxeUI.modal) {
|
|
1657
|
+
return _ui.VxeUI.modal.close('VXE_IMPORT_MODAL');
|
|
1658
|
+
}
|
|
1659
|
+
return Promise.resolve();
|
|
1660
|
+
},
|
|
1649
1661
|
_openImport(options) {
|
|
1650
1662
|
const {
|
|
1651
1663
|
importOpts
|
|
@@ -1704,6 +1716,7 @@ var _default = exports.default = {
|
|
|
1704
1716
|
}
|
|
1705
1717
|
this.initStore.import = true;
|
|
1706
1718
|
},
|
|
1719
|
+
_closeExport: handleCloseExport,
|
|
1707
1720
|
_openExport(options) {
|
|
1708
1721
|
const {
|
|
1709
1722
|
exportOpts
|
|
@@ -1715,6 +1728,7 @@ var _default = exports.default = {
|
|
|
1715
1728
|
}
|
|
1716
1729
|
return handleExportAndPrint(this, Object.assign({}, exportOpts, options));
|
|
1717
1730
|
},
|
|
1731
|
+
_closePrint: handleCloseExport,
|
|
1718
1732
|
_openPrint(options) {
|
|
1719
1733
|
const {
|
|
1720
1734
|
printOpts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.handlePrint=handlePrint,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,printFrame,csvBOM="\ufeff",enterSymbol="\r\n";function createFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function hasTreeChildren(e,t){e=e.treeOpts,e=e.children||e.childrenField;return t[e]&&0<t[e].length}function getSeq(e,t,l,r,o,a){var i=e.seqOpts.seqMethod||o.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function getLabelData(c,p,u,e){let{isAllExpand:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:g,columnOpts:f}=c;var r=l.children||l.childrenField;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||f.exportMethod)l=o({$table:c,row:d,column:e,options:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===m?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=g.labelField?_xeUtils.default.get(d,g.labelField):"",i._checkboxDisabled=g.checkMethod&&!g.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._radioDisabled=h.checkMethod&&!h.checkMethod({row:d});break;default:p.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(d,e))&&(l=a.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:r}),o}return e.map((i,n)=>{let s={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)l=o({$table:c,row:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===m?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=g.labelField?_xeUtils.default.get(i,g.labelField):"",s._checkboxDisabled=g.checkMethod&&!g.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._radioDisabled=h.checkMethod&&!h.checkMethod({row:i});break;default:p.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&(l=a.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getLabelData(e,t,l,o=r?o.filter((e,t)=>r({row:e,$rowIndex:t})):o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.columnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.original?l.property:l.getTitle())||""}function getFooterCellValue(e,t,l,r){var o=e.columnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,r,e,t){let o=csvBOM;return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),o}function toTxt(l,r,e,t){let o="";return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),o}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;return o=e.scrollXLoad||e.scrollYLoad?o||!0:o}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:r,treeOpts:a,isAllSelected:s,isIndeterminate:o,headerAlign:p,align:u,footerAlign:i,showOverflow:m,showHeaderOverflow:h,mergeList:g}=d,{print:f,isHeader:x,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let C=[`<table class="${["vxe-table","border--"+toTableBorder(l),f?"is--print":"",x?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];x&&(C.push("<thead>"),b&&!$?y.forEach(e=>{C.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):C.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),C.push("</thead>")),t.length&&(C.push("<tbody>"),r?t.forEach(o=>{C.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",m)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{C.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=s[e.id];let o=1,a=1;if(_&&g.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(g,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),C.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(C.push("<tfoot>"),t.forEach(o=>{C.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),C.push("</tfoot>"));t=!s&&o?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return C.push("</table>",t),f?C.join(""):(0,_util2.createHtmlPage)(n,C.join(""))}function toXML(l,r,e,t){let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function saveLocalFile(e){var{filename:l,type:r,content:t}=e,l=l+"."+r;if(window.Blob){r=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(r,l);else{let e=URL.createObjectURL(r),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});saveLocalFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let{remote:o,columns:a,colgroups:i,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(o){var e={options:r,$table:l,$grid:l.$xegrid};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:a,colgroups:i,datas:e},()=>downloadFile(l,r,getContent(l,r,a,e))))}}).then(e=>(clearColumnConvert(a),r.print||t&&t({status:!0,options:r,$table:l,$grid:l.$xegrid}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),r.print||t&&t({status:!1,options:r,$table:l,$grid:l.$xegrid});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let r={},o=Date.now();t.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,r))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),r))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]};switch(r.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[s.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(o,a,i){var e=o.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),o._importResolve=null,o._importReject=null},r=e=>{l(e),o._importResolve=null,o._importReject=null};if(o._importResolve=e,o._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:o})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):o.preventEvent(null,"event.import",{file:a,options:t,columns:o.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),r({status:!1})},e.onload=e=>{handleImport(o,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:o})}).catch(e=>(t&&t({status:!1,options:i,$table:o}),Promise.reject(e))):(!1!==i.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),status:"error"})),Promise.reject({status:!1}))}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((o,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var r=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(i,r)){l=r;break}}l?(!1!==s.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),a({status:!1,files:t,file:e})):o({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function removePrintFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removePrintFrame)}function handlePrint(e,t,l){var r=t.beforePrintMethod,r=(r&&(l=r({content:l,options:t,$table:e})||""),l=(0,_util2.createHtmlPage)(t,l),(0,_util2.getExportBlobByContent)(l,t));_dom.browse.msie?(removePrintFrame(),printFrame=createFrame(),appendPrintFrame(),printFrame.contentDocument.write(l),printFrame.contentDocument.execCommand("print")):(printFrame||((printFrame=createFrame()).onload=e=>{e.target.src&&(e.target.contentWindow.onafterprint=afterPrintEvent,e.target.contentWindow.print())}),appendPrintFrame(),printFrame.src=URL.createObjectURL(r))}function handleExportAndPrint(e,t,l){let{$xegrid:r,initStore:o,customOpts:a,collectColumn:i,footerTableData:n,treeConfig:s,mergeList:d,isGroup:c,exportParams:p,exportOpts:u}=e;var m=r?r.proxyOpts:{},h=e.getCheckboxRecords(),g=!!n.length,f=s,x=!f&&d.length,m=Object.assign({message:!0,isHeader:!0,current:"current",modes:["current","selected"].concat(m.ajax&&m.ajax.queryAll?["all"]:[])},t),t=m.types||_xeUtils.default.keys(u._typeMaps),v=m.modes||[];let b=a.checkMethod;var _=i.slice(0);let y=m.columns;t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),v=v.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(_,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=y?y.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?r.id===t:e&&l?r.property===e&&r.type===l:e?r.property===e:!!l&&r.type===l)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!b&&!b({column:r}))}),Object.assign(e.exportStore,{columns:_,typeList:t,modeList:v,hasFooter:g,hasMerge:x,hasTree:f,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(p,{mode:h.length?"selected":"current"},m),v.some(e=>e.value===p.mode)||(p.mode=v[0].value),t.some(e=>e.value===p.type)||(p.type=t[0].value),o.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let{$xegrid:i,isGroup:t,tableGroupColumn:l,tableFullColumn:a,afterFullData:r,treeConfig:o,treeOpts:n,exportOpts:s}=this,d=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:c,columns:p,original:u,beforeExportMethod:m}=d;let h=[];p=p&&p.length?p:null;let g=d.columnFilterMethod,f=(p||(g=g||(u?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=p?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(p,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=this.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.property||e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.property===l&&e.type===t):l?r=this.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!g||g({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?l:a,(e,t)=>e.visible&&(!g||g({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||f.push(e)},{children:"childNodes"}),d.columns=f,d.colgroups=convertToRows(h),d.filename||(d.filename=getI18n(d.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),d.sheetName||(d.sheetName=document.title),!d.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(d.print||m&&m({options:d,$table:this,$grid:i}),!d.data)if(d.data=[],"selected"===c){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&o?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},n,{data:"_row"})):d.data=t}else if("all"===c){if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),i&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=i.proxyOpts;u=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||u||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),u){let t={$table:this,$grid:i,sort:i.sortData,filters:i.filterData,form:i.formData,target:u,options:d};return Promise.resolve((e||u)(t)).then(e=>(d.data=(r.list?_xeUtils.default.get(e,r.list):e)||[],l&&l(t),o&&o(Object.assign(Object.assign({},t),{response:e})),handleExport(this,d))).catch(e=>{a&&a(Object.assign(Object.assign({},t),{response:e}))})}}}else"current"===c&&(d.data=r);return handleExport(this,d)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:this}),readLocalFile(l).catch(e=>(o&&o({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let t=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});return t.sheetName||(t.sheetName=document.title),new Promise(e=>{t.content?e(handlePrint(this,t,t.content)):e(this.exportData(t).then(({content:e})=>handlePrint(this,t,e)))})},_getPrintHtml(e){var t=this.printOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_openExport(e){var t=this.exportOpts;return"development"!==process.env.NODE_ENV||this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_openPrint(e){var t=this.printOpts;return"development"!==process.env.NODE_ENV||this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.handlePrint=handlePrint,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,printFrame,csvBOM="\ufeff",enterSymbol="\r\n";function createFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function hasTreeChildren(e,t){e=e.treeOpts,e=e.children||e.childrenField;return t[e]&&0<t[e].length}function getSeq(e,t,l,r,o,a){var i=e.seqOpts.seqMethod||o.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function getLabelData(c,p,u,e){let{isAllExpand:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:f,columnOpts:g}=c;var r=l.children||l.childrenField;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||g.exportMethod)l=o({$table:c,row:d,column:e,options:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===m?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._radioDisabled=h.checkMethod&&!h.checkMethod({row:d});break;default:p.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(d,e))&&(l=a.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:r}),o}return e.map((i,n)=>{let s={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)l=o({$table:c,row:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===m?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._radioDisabled=h.checkMethod&&!h.checkMethod({row:i});break;default:p.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&(l=a.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getLabelData(e,t,l,o=r?o.filter((e,t)=>r({row:e,$rowIndex:t})):o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.columnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.original?l.property:l.getTitle())||""}function getFooterCellValue(e,t,l,r){var o=e.columnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,r,e,t){let o=csvBOM;return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),o}function toTxt(l,r,e,t){let o="";return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),o}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;return o=e.scrollXLoad||e.scrollYLoad?o||!0:o}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:r,treeOpts:a,isAllSelected:s,isIndeterminate:o,headerAlign:p,align:u,footerAlign:i,showOverflow:m,showHeaderOverflow:h,mergeList:f}=d,{print:g,isHeader:x,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let E=[`<table class="${["vxe-table","border--"+toTableBorder(l),g?"is--print":"",x?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];x&&(E.push("<thead>"),b&&!$?y.forEach(e=>{E.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${g?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${g?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):E.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(o=>{E.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",m)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${g?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{E.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=s[e.id];let o=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(E.push("<tfoot>"),t.forEach(o=>{E.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!s&&o?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),g?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,r,e,t){let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function saveLocalFile(e){var{filename:l,type:r,content:t}=e,l=l+"."+r;if(window.Blob){r=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(r,l);else{let e=URL.createObjectURL(r),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});saveLocalFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let{remote:o,columns:a,colgroups:i,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(o){var e={options:r,$table:l,$grid:l.$xegrid};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:a,colgroups:i,datas:e},()=>downloadFile(l,r,getContent(l,r,a,e))))}}).then(e=>(clearColumnConvert(a),r.print||t&&t({status:!0,options:r,$table:l,$grid:l.$xegrid}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),r.print||t&&t({status:!1,options:r,$table:l,$grid:l.$xegrid});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let r={},o=Date.now();t.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,r))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),r))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]};switch(r.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[s.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(o,a,i){var e=o.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),o._importResolve=null,o._importReject=null},r=e=>{l(e),o._importResolve=null,o._importReject=null};if(o._importResolve=e,o._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:o})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):o.preventEvent(null,"event.import",{file:a,options:t,columns:o.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),r({status:!1})},e.onload=e=>{handleImport(o,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:o})}).catch(e=>(t&&t({status:!1,options:i,$table:o}),Promise.reject(e))):(!1!==i.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((o,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var r=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(i,r)){l=r;break}}l?(!1!==s.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),a({status:!1,files:t,file:e})):o({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function removePrintFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removePrintFrame)}function handlePrint(e,t,l){var r=t.beforePrintMethod,r=(r&&(l=r({content:l,options:t,$table:e})||""),l=(0,_util2.createHtmlPage)(t,l),(0,_util2.getExportBlobByContent)(l,t));_dom.browse.msie?(removePrintFrame(),printFrame=createFrame(),appendPrintFrame(),printFrame.contentDocument.write(l),printFrame.contentDocument.execCommand("print")):(printFrame||((printFrame=createFrame()).onload=e=>{e.target.src&&(e.target.contentWindow.onafterprint=afterPrintEvent,e.target.contentWindow.print())}),appendPrintFrame(),printFrame.src=URL.createObjectURL(r))}function handleExportAndPrint(e,t,l){let{$xegrid:r,initStore:o,customOpts:a,collectColumn:i,footerTableData:n,treeConfig:s,mergeList:d,isGroup:c,exportParams:p,exportOpts:u}=e;var m=r?r.proxyOpts:{},h=e.getCheckboxRecords(),f=!!n.length,g=s,x=!g&&d.length,m=Object.assign({message:!0,isHeader:!0,current:"current",modes:["current","selected"].concat(m.ajax&&m.ajax.queryAll?["all"]:[])},t),t=m.types||_xeUtils.default.keys(u._typeMaps),v=m.modes||[];let b=a.checkMethod;var _=i.slice(0);let y=m.columns;t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),v=v.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(_,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=y?y.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?r.id===t:e&&l?r.property===e&&r.type===l:e?r.property===e:!!l&&r.type===l)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!b&&!b({column:r}))}),Object.assign(e.exportStore,{columns:_,typeList:t,modeList:v,hasFooter:f,hasMerge:x,hasTree:g,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(p,{mode:h.length?"selected":"current"},m),v.some(e=>e.value===p.mode)||(p.mode=v[0].value),t.some(e=>e.value===p.type)||(p.type=t[0].value),o.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let{$xegrid:i,isGroup:t,tableGroupColumn:l,tableFullColumn:a,afterFullData:r,treeConfig:o,treeOpts:n,exportOpts:s}=this,d=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:c,columns:p,original:u,beforeExportMethod:m}=d;let h=[];p=p&&p.length?p:null;let f=d.columnFilterMethod,g=(p||(f=f||(u?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=p?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(p,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=this.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.property||e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.property===l&&e.type===t):l?r=this.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?l:a,(e,t)=>e.visible&&(!f||f({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||g.push(e)},{children:"childNodes"}),d.columns=g,d.colgroups=convertToRows(h),d.filename||(d.filename=getI18n(d.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),d.sheetName||(d.sheetName=document.title),!d.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(d.print||m&&m({options:d,$table:this,$grid:i}),!d.data)if(d.data=[],"selected"===c){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&o?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},n,{data:"_row"})):d.data=t}else if("all"===c){if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),i&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=i.proxyOpts;u=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||u||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),u){let t={$table:this,$grid:i,sort:i.sortData,filters:i.filterData,form:i.formData,target:u,options:d};return Promise.resolve((e||u)(t)).then(e=>(d.data=(r.list?_xeUtils.default.get(e,r.list):e)||[],l&&l(t),o&&o(Object.assign(Object.assign({},t),{response:e})),handleExport(this,d))).catch(e=>{a&&a(Object.assign(Object.assign({},t),{response:e}))})}}}else"current"===c&&(d.data=r);return handleExport(this,d)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:this}),readLocalFile(l).catch(e=>(o&&o({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let t=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});return t.sheetName||(t.sheetName=document.title),new Promise(e=>{t.content?e(handlePrint(this,t,t.content)):e(this.exportData(t).then(({content:e})=>handlePrint(this,t,e)))})},_getPrintHtml(e){var t=this.printOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return"development"!==process.env.NODE_ENV||this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_closePrint:handleCloseExport,_openPrint(e){var t=this.printOpts;return"development"!==process.env.NODE_ENV||this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -328,7 +328,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
328
328
|
key: columnKey || columnOpts.useKey ? column.id : $columnIndex,
|
|
329
329
|
attrs,
|
|
330
330
|
style: Object.assign({
|
|
331
|
-
height: hasEllipsis && (scrollYRHeight || rowHeight) ? `${scrollYRHeight || rowHeight}px` : scrollYLoad ? `${rest.height ||
|
|
331
|
+
height: hasEllipsis && (scrollYRHeight || rowHeight) ? `${scrollYRHeight || rowHeight}px` : scrollYLoad ? `${rest.height || 24}px` : ''
|
|
332
332
|
}, _xeUtils.default.isFunction(compCellStyle) ? compCellStyle(params) : compCellStyle, _xeUtils.default.isFunction(cellStyle) ? cellStyle(params) : cellStyle),
|
|
333
333
|
on: tdOns
|
|
334
334
|
}, tdVNs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:i,treeOpts:a,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,h=[];return d&&(p=d.level,u=d._index,h=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(i[0],o),n&&c&&(a.showLine||a.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,h,u)}px`,left:p*a.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,D,l,t,r,o,s,i,a,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:N,afterFullData:u,tableData:V,height:h,columnKey:A,overflowX:g,sYOpts:v,scrollYLoad:F,highlightCurrentRow:W,showOverflow:P,isAllOverflow:j,align:z,currentColumn:X,cellClassName:K,cellStyle:x,mergeList:w,spanMethod:G,radioOpts:J,checkboxOpts:m,expandOpts:Q,treeOpts:Z,tooltipOpts:f,mouseConfig:ee,editConfig:y,editOpts:b,editRules:T,validOpts:S,editStore:_,tooltipConfig:le,rowOpts:te,columnOpts:re,validErrorMaps:C}=l,oe=l.computeCellOpts,{type:se,cellRender:ie,editRender:$,align:ae,showOverflow:O,className:ne,treeNode:de,slots:ce}=d,oe=oe.verticalAlign,_=_.actived,v=v.rHeight,L=te.height,R=$||ie,R=R?renderer.get(R.name):null,pe=R?R.tableCellClassName||R.cellClassName:"",ue=R?R.tableCellStyle||R.cellStyle:"";let E=f.showAll||f.enabled;var f=l.getColumnIndex(d),he=l.getVTColumnIndex(d),ge=(0,_utils.isEnableConf)($);let I=o?d.fixed!==o:d.fixed&&g;g=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?P:O,O="ellipsis"===g;let k="title"===g,Y=!0===g||"tooltip"===g;g=k||Y||O;let ve;var H={},N=N[r],ae=ae||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=T&&S.showMessage&&("default"===S.message?h||1<V.length:"inline"===S.message),C={colid:d.id};let xe=p["cell-mouseenter"],we=p["cell-mouseleave"];T=$&&y&&"dblclick"===b.trigger;let M={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:i,rowIndex:a,$rowIndex:n,_rowIndex:B,column:d,columnIndex:f,$columnIndex:c,_columnIndex:he,fixed:o,type:renderType,isHidden:I,level:s,visibleData:u,data:V,items:q};if((k||Y||E||xe||le)&&(H.mouseenter=e=>{isVMScrollProcess(l)||(k?(0,_dom.updateCellTitle)(e.currentTarget,d):(Y||E)&&l.triggerBodyTooltipEvent(e,M),xe&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(Y||E||we||le)&&(H.mouseleave=e=>{isVMScrollProcess(l)||((Y||E)&&l.handleTargetLeaveEvent(e),we&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(m.range||ee)&&(H.mousedown=e=>{l.triggerCellMousedownEvent(e,M)}),(te.isCurrent||W||p["cell-click"]||$&&y||"row"===Q.trigger||"cell"===Q.trigger||"row"===J.trigger||"radio"===d.type&&"cell"===J.trigger||"row"===m.trigger||"checkbox"===d.type&&"cell"===m.trigger||"row"===Z.trigger||d.treeNode&&"cell"===Z.trigger)&&(H.click=e=>{l.triggerCellClickEvent(e,M)}),(T||p["cell-dblclick"])&&(H.dblclick=e=>{l.triggerCellDblclickEvent(e,M)}),w.length){h=(0,_util.mergeBodyMethod)(w,B,he);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(G){var{rowspan:a=1,colspan:n=1}=G(M)||{};if(!a||!n)return null;1<a&&(C.rowspan=a),1<n&&(C.colspan=n)}!(I=I&&w&&(1<C.colspan||1<C.rowspan)?!1:I)&&y&&($||ie)&&(b.showStatus||b.showUpdateStatus)&&(ve=l.isUpdateByRow(i,d.field));f=[];return I&&P&&j?f.push(e("div",{class:["vxe-cell",{"c--title":k,"c--tooltip":Y,"c--ellipsis":O}],style:{maxHeight:g&&(v||L)?`${v||L}px`:""}})):(f.push(...renderLine(e,D,l,M),e("div",{class:["vxe-cell",{"c--title":k,"c--tooltip":Y,"c--ellipsis":O}],style:{maxHeight:g&&(v||L)?`${v||L}px`:""},attrs:{title:k?l.getCellLabel(i,d):null}},d.renderCell(e,M))),z&&R&&(o=R.rule,s=ce?ce.valid:null,u=Object.assign(Object.assign({},M),R),f.push(e("div",{class:["vxe-cell--valid-error-hint",(0,_utils.getClass)(S.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)])))),e("td",{class:["vxe-body--column",d.id,{["col--"+ae]:ae,["col--vertical-"+oe]:oe,["col--"+se]:se,"col--last":c===U.length-1,"col--tree-node":de,"col--edit":ge,"col--ellipsis":g,"fixed--hidden":I,"col--dirty":ve,"col--active":y&&ge&&_.row===i&&(_.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":X===d},(0,_utils.getClass)(pe,M),(0,_utils.getClass)(ne,M),(0,_utils.getClass)(K,M)],key:A||re.useKey?d.id:c,attrs:C,style:Object.assign({height:g&&(v||L)?`${v||L}px`:F?`${N.height||v||L}px`:""},_xeUtils.default.isFunction(ue)?ue(M):ue,_xeUtils.default.isFunction(x)?x(M):x),on:H},f)}function renderRows(x,w,m,f,y,b){let{stripe:T,rowKey:S,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:L,treeConfig:R,treeOpts:E,expandOpts:I,editOpts:k,treeExpandedMaps:Y,scrollYLoad:H,rowExpandedMaps:M,radioOpts:D,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:N,rowOpts:V,pendingRowList:A,pendingRowMaps:F}=m,W=E.children||E.childrenField,P=[];return y.forEach((t,r)=>{var e={};let o,s=m.getVTRowIndex(t),i=(o=m.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(m)||m.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(m)||m.clearHoverRow()}),(0,_util.getRowid)(m,t));var l=N[i];let a=l?l.level:0,n=l?l.seq:-1;var d,c,p,l={$table:m,seq:n,rowid:i,fixed:f,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},u=U&&!!M[i];let h=!1,g=[],v=!1;O&&(v=m.isInsertByRow(t)),!R||H||E.transform||(g=t[W],h=g&&g.length&&!!Y[i]),P.push(x("tr",{class:["vxe-body--row",R?"row--level-"+a:"",{"row--stripe":T&&(m.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":u,"is--expand-tree":h,"row--new":v&&(k.showStatus||k.showInsertStatus),"row--radio":D.highlight&&m.selectRadioRow===t,"row--checked":B.highlight&&m.isCheckedByCheckboxRow(t),"row--pending":A.length&&!!F[i]},C?_xeUtils.default.isFunction(C)?C(l):C:""],attrs:{rowid:i},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:S||V.useKey||R?i:r,on:e},b.map((e,l)=>renderColumn(x,w,m,n,i,f,a,t,o,r,s,e,l,b,y)))),u&&({height:l,padding:u}=I,d={},c=(l&&(d.height=l+"px"),R&&(d.paddingLeft=a*E.indent+30+"px"),U).showOverflow,c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?L:c,p={$table:m,seq:n,column:U,fixed:f,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},P.push(x("tr",{class:["vxe-body--expanded-row",{"is--padding":u}],key:"expand_"+i,style:$?_xeUtils.default.isFunction($)?$(p):$:null,on:e},[x("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":f&&!q,"col--ellipsis":c},attrs:{colspan:b.length}},[x("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[U.renderData(x,p)])])]))),h&&P.push(...renderRows(x,w,m,f,g,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let{_e:e,$parent:l,fixedColumn:r,fixedType:o}=this,{$scopedSlots:s,tId:i,tableData:a,tableColumn:n,visibleColumn:d,expandColumn:c,showOverflow:p,keyboardConfig:u,keyboardOpts:h,mergeList:g,spanMethod:v,scrollXLoad:x,scrollYLoad:w,isAllOverflow:m,emptyOpts:f,mouseConfig:y,mouseOpts:b,sYOpts:T}=l;o&&(n=c||!(x||w||p&&m)||g.length||v||u&&h.isMerge?d:r);let S;var _;return S=s.empty?s.empty.call(this,{$table:l},t):(_=(_=f.name?renderer.get(f.name):null)?_.renderTableEmpty||_.renderTableEmptyView||_.renderEmpty:null)?(0,_vn.getSlotVNs)(_.call(this,t,f,{$table:l})):l.emptyText||getI18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",o?`fixed-${o}--wrapper`:"body--wrapper"],attrs:{xid:i},on:Object.assign({scroll:this.scrollEvent},w&&"wheel"===T.mode?{wheel:this.wheelEvent}:null)},[o?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},n.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),t("tbody",{ref:"tbody"},renderRows(t,this,l,o,a,n))]),t("div",{class:"vxe-table--checkbox-range"}),y&&b.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},b.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:o,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,o?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},S)])])},methods:{scrollEvent(e){var{$el:l,$parent:t,fixedType:r}=this,{$refs:o,lastScrollTop:s,lastScrollLeft:i}=t,{tableHeader:a,tableBody:n,leftBody:d,rightBody:c,tableFooter:p}=o,a=a?a.$el:null,p=p?p.$el:null,n=n.$el,d=d?d.$el:null,c=c?c.$el:null,l=l.scrollTop,u=n.scrollLeft,i=u!==i,s=l!==s,h=o.refScrollXHandleElem,o=o.refScrollYHandleElem;o?o.scrollTop=l:s&&(t.lastScrollTop=l,t.lastScrollLeft=u,d&&"left"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(c,l)):c&&"right"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(d,l)):((0,_dom.setScrollTop)(d,l),(0,_dom.setScrollTop)(c,l)),t.handleScrollEvent(e,s,i,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u})),h?h.scrollLeft=u:i&&(t.lastScrollTop=l,t.lastScrollLeft=u,(0,_dom.setScrollLeft)(a,u),(0,_dom.setScrollLeft)(p,u),t.handleScrollEvent(e,s,i,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u}))},handleWheel(a,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:i}=l;let u=l.$el,h=s?s.$el:null,g=i?i.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],i=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,x=(o&&i?i:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,i;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:i,clientHeight:o,scrollHeight:s}=u,i=i+r*(n?-1:1),u.scrollTop=i,h&&(h.scrollTop=i),g&&(g.scrollTop=i),(n?i<s-o:0<=i)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:x,isX:d,isY:c},a))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:i,scrollYLoad:a,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||i)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),a)&&o.triggerScrollYEvent(e))}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:i,treeOpts:a,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,h=[];return d&&(p=d.level,u=d._index,h=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(i[0],o),n&&c&&(a.showLine||a.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,h,u)}px`,left:p*a.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,D,l,t,r,o,s,i,a,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:N,afterFullData:u,tableData:V,height:h,columnKey:A,overflowX:g,sYOpts:v,scrollYLoad:F,highlightCurrentRow:W,showOverflow:P,isAllOverflow:j,align:z,currentColumn:X,cellClassName:K,cellStyle:x,mergeList:w,spanMethod:G,radioOpts:J,checkboxOpts:m,expandOpts:Q,treeOpts:Z,tooltipOpts:f,mouseConfig:ee,editConfig:y,editOpts:b,editRules:T,validOpts:S,editStore:_,tooltipConfig:le,rowOpts:te,columnOpts:re,validErrorMaps:C}=l,oe=l.computeCellOpts,{type:se,cellRender:ie,editRender:$,align:ae,showOverflow:O,className:ne,treeNode:de,slots:ce}=d,oe=oe.verticalAlign,_=_.actived,v=v.rHeight,L=te.height,R=$||ie,R=R?renderer.get(R.name):null,pe=R?R.tableCellClassName||R.cellClassName:"",ue=R?R.tableCellStyle||R.cellStyle:"";let E=f.showAll||f.enabled;var f=l.getColumnIndex(d),he=l.getVTColumnIndex(d),ge=(0,_utils.isEnableConf)($);let I=o?d.fixed!==o:d.fixed&&g;g=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?P:O,O="ellipsis"===g;let k="title"===g,Y=!0===g||"tooltip"===g;g=k||Y||O;let ve;var H={},N=N[r],ae=ae||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=T&&S.showMessage&&("default"===S.message?h||1<V.length:"inline"===S.message),C={colid:d.id};let xe=p["cell-mouseenter"],we=p["cell-mouseleave"];T=$&&y&&"dblclick"===b.trigger;let M={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:i,rowIndex:a,$rowIndex:n,_rowIndex:B,column:d,columnIndex:f,$columnIndex:c,_columnIndex:he,fixed:o,type:renderType,isHidden:I,level:s,visibleData:u,data:V,items:q};if((k||Y||E||xe||le)&&(H.mouseenter=e=>{isVMScrollProcess(l)||(k?(0,_dom.updateCellTitle)(e.currentTarget,d):(Y||E)&&l.triggerBodyTooltipEvent(e,M),xe&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(Y||E||we||le)&&(H.mouseleave=e=>{isVMScrollProcess(l)||((Y||E)&&l.handleTargetLeaveEvent(e),we&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(m.range||ee)&&(H.mousedown=e=>{l.triggerCellMousedownEvent(e,M)}),(te.isCurrent||W||p["cell-click"]||$&&y||"row"===Q.trigger||"cell"===Q.trigger||"row"===J.trigger||"radio"===d.type&&"cell"===J.trigger||"row"===m.trigger||"checkbox"===d.type&&"cell"===m.trigger||"row"===Z.trigger||d.treeNode&&"cell"===Z.trigger)&&(H.click=e=>{l.triggerCellClickEvent(e,M)}),(T||p["cell-dblclick"])&&(H.dblclick=e=>{l.triggerCellDblclickEvent(e,M)}),w.length){h=(0,_util.mergeBodyMethod)(w,B,he);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(G){var{rowspan:a=1,colspan:n=1}=G(M)||{};if(!a||!n)return null;1<a&&(C.rowspan=a),1<n&&(C.colspan=n)}!(I=I&&w&&(1<C.colspan||1<C.rowspan)?!1:I)&&y&&($||ie)&&(b.showStatus||b.showUpdateStatus)&&(ve=l.isUpdateByRow(i,d.field));f=[];return I&&P&&j?f.push(e("div",{class:["vxe-cell",{"c--title":k,"c--tooltip":Y,"c--ellipsis":O}],style:{maxHeight:g&&(v||L)?`${v||L}px`:""}})):(f.push(...renderLine(e,D,l,M),e("div",{class:["vxe-cell",{"c--title":k,"c--tooltip":Y,"c--ellipsis":O}],style:{maxHeight:g&&(v||L)?`${v||L}px`:""},attrs:{title:k?l.getCellLabel(i,d):null}},d.renderCell(e,M))),z&&R&&(o=R.rule,s=ce?ce.valid:null,u=Object.assign(Object.assign({},M),R),f.push(e("div",{class:["vxe-cell--valid-error-hint",(0,_utils.getClass)(S.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)])))),e("td",{class:["vxe-body--column",d.id,{["col--"+ae]:ae,["col--vertical-"+oe]:oe,["col--"+se]:se,"col--last":c===U.length-1,"col--tree-node":de,"col--edit":ge,"col--ellipsis":g,"fixed--hidden":I,"col--dirty":ve,"col--active":y&&ge&&_.row===i&&(_.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":X===d},(0,_utils.getClass)(pe,M),(0,_utils.getClass)(ne,M),(0,_utils.getClass)(K,M)],key:A||re.useKey?d.id:c,attrs:C,style:Object.assign({height:g&&(v||L)?`${v||L}px`:F?`${N.height||24}px`:""},_xeUtils.default.isFunction(ue)?ue(M):ue,_xeUtils.default.isFunction(x)?x(M):x),on:H},f)}function renderRows(x,w,m,f,y,b){let{stripe:T,rowKey:S,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:L,treeConfig:R,treeOpts:E,expandOpts:I,editOpts:k,treeExpandedMaps:Y,scrollYLoad:H,rowExpandedMaps:M,radioOpts:D,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:N,rowOpts:V,pendingRowList:A,pendingRowMaps:F}=m,W=E.children||E.childrenField,P=[];return y.forEach((t,r)=>{var e={};let o,s=m.getVTRowIndex(t),i=(o=m.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(m)||m.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(m)||m.clearHoverRow()}),(0,_util.getRowid)(m,t));var l=N[i];let a=l?l.level:0,n=l?l.seq:-1;var d,c,p,l={$table:m,seq:n,rowid:i,fixed:f,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},u=U&&!!M[i];let h=!1,g=[],v=!1;O&&(v=m.isInsertByRow(t)),!R||H||E.transform||(g=t[W],h=g&&g.length&&!!Y[i]),P.push(x("tr",{class:["vxe-body--row",R?"row--level-"+a:"",{"row--stripe":T&&(m.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":u,"is--expand-tree":h,"row--new":v&&(k.showStatus||k.showInsertStatus),"row--radio":D.highlight&&m.selectRadioRow===t,"row--checked":B.highlight&&m.isCheckedByCheckboxRow(t),"row--pending":A.length&&!!F[i]},C?_xeUtils.default.isFunction(C)?C(l):C:""],attrs:{rowid:i},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:S||V.useKey||R?i:r,on:e},b.map((e,l)=>renderColumn(x,w,m,n,i,f,a,t,o,r,s,e,l,b,y)))),u&&({height:l,padding:u}=I,d={},c=(l&&(d.height=l+"px"),R&&(d.paddingLeft=a*E.indent+30+"px"),U).showOverflow,c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?L:c,p={$table:m,seq:n,column:U,fixed:f,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},P.push(x("tr",{class:["vxe-body--expanded-row",{"is--padding":u}],key:"expand_"+i,style:$?_xeUtils.default.isFunction($)?$(p):$:null,on:e},[x("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":f&&!q,"col--ellipsis":c},attrs:{colspan:b.length}},[x("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[U.renderData(x,p)])])]))),h&&P.push(...renderRows(x,w,m,f,g,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let{_e:e,$parent:l,fixedColumn:r,fixedType:o}=this,{$scopedSlots:s,tId:i,tableData:a,tableColumn:n,visibleColumn:d,expandColumn:c,showOverflow:p,keyboardConfig:u,keyboardOpts:h,mergeList:g,spanMethod:v,scrollXLoad:x,scrollYLoad:w,isAllOverflow:m,emptyOpts:f,mouseConfig:y,mouseOpts:b,sYOpts:T}=l;o&&(n=c||!(x||w||p&&m)||g.length||v||u&&h.isMerge?d:r);let S;var _;return S=s.empty?s.empty.call(this,{$table:l},t):(_=(_=f.name?renderer.get(f.name):null)?_.renderTableEmpty||_.renderTableEmptyView||_.renderEmpty:null)?(0,_vn.getSlotVNs)(_.call(this,t,f,{$table:l})):l.emptyText||getI18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",o?`fixed-${o}--wrapper`:"body--wrapper"],attrs:{xid:i},on:Object.assign({scroll:this.scrollEvent},w&&"wheel"===T.mode?{wheel:this.wheelEvent}:null)},[o?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},n.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),t("tbody",{ref:"tbody"},renderRows(t,this,l,o,a,n))]),t("div",{class:"vxe-table--checkbox-range"}),y&&b.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},b.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:o,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,o?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},S)])])},methods:{scrollEvent(e){var{$el:l,$parent:t,fixedType:r}=this,{$refs:o,lastScrollTop:s,lastScrollLeft:i}=t,{tableHeader:a,tableBody:n,leftBody:d,rightBody:c,tableFooter:p}=o,a=a?a.$el:null,p=p?p.$el:null,n=n.$el,d=d?d.$el:null,c=c?c.$el:null,l=l.scrollTop,u=n.scrollLeft,i=u!==i,s=l!==s,h=o.refScrollXHandleElem,o=o.refScrollYHandleElem;o?o.scrollTop=l:s&&(t.lastScrollTop=l,t.lastScrollLeft=u,d&&"left"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(c,l)):c&&"right"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(d,l)):((0,_dom.setScrollTop)(d,l),(0,_dom.setScrollTop)(c,l)),t.handleScrollEvent(e,s,i,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u})),h?h.scrollLeft=u:i&&(t.lastScrollTop=l,t.lastScrollLeft=u,(0,_dom.setScrollLeft)(a,u),(0,_dom.setScrollLeft)(p,u),t.handleScrollEvent(e,s,i,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u}))},handleWheel(a,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:i}=l;let u=l.$el,h=s?s.$el:null,g=i?i.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],i=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,x=(o&&i?i:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,i;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:i,clientHeight:o,scrollHeight:s}=u,i=i+r*(n?-1:1),u.scrollTop=i,h&&(h.scrollTop=i),g&&(g.scrollTop=i),(n?i<s-o:0<=i)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:x,isX:d,isY:c},a))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:i,scrollYLoad:a,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||i)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),a)&&o.triggerScrollYEvent(e))}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -6661,7 +6661,12 @@ const Methods = {
|
|
|
6661
6661
|
},
|
|
6662
6662
|
// 计算可视渲染相关数据
|
|
6663
6663
|
computeScrollLoad() {
|
|
6664
|
+
const $xeTable = this;
|
|
6665
|
+
const props = $xeTable;
|
|
6664
6666
|
return this.$nextTick().then(() => {
|
|
6667
|
+
const {
|
|
6668
|
+
showOverflow
|
|
6669
|
+
} = props;
|
|
6665
6670
|
const {
|
|
6666
6671
|
sYOpts,
|
|
6667
6672
|
sXOpts,
|
|
@@ -6675,7 +6680,9 @@ const Methods = {
|
|
|
6675
6680
|
const {
|
|
6676
6681
|
visibleSize: visibleXSize
|
|
6677
6682
|
} = handleVirtualXVisible(this);
|
|
6678
|
-
|
|
6683
|
+
// 动态列缓冲量
|
|
6684
|
+
const bufferSize = showOverflow ? 0 : 2;
|
|
6685
|
+
const offsetXSize = Math.max(bufferSize, sXOpts.oSize ? _xeUtils.default.toNumber(sXOpts.oSize) : _dom.browse.msie ? 10 : _dom.browse.edge ? 5 : 0);
|
|
6679
6686
|
scrollXStore.offsetSize = offsetXSize;
|
|
6680
6687
|
scrollXStore.visibleSize = visibleXSize;
|
|
6681
6688
|
scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
|
|
@@ -6692,7 +6699,9 @@ const Methods = {
|
|
|
6692
6699
|
visibleSize: visibleYSize
|
|
6693
6700
|
} = handleVirtualYVisible(this);
|
|
6694
6701
|
if (scrollYLoad) {
|
|
6695
|
-
|
|
6702
|
+
// 动态高缓冲量
|
|
6703
|
+
const bufferSize = showOverflow ? 0 : 2;
|
|
6704
|
+
const offsetYSize = Math.max(bufferSize, sYOpts.oSize ? _xeUtils.default.toNumber(sYOpts.oSize) : _dom.browse.edge ? 10 : 0);
|
|
6696
6705
|
scrollYStore.offsetSize = offsetYSize;
|
|
6697
6706
|
scrollYStore.visibleSize = visibleYSize;
|
|
6698
6707
|
scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
|
|
@@ -7228,7 +7237,7 @@ const Methods = {
|
|
|
7228
7237
|
}
|
|
7229
7238
|
};
|
|
7230
7239
|
// Module methods
|
|
7231
|
-
const funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,getPrintHtml,exportData,openImport,importData,saveFile,readFile,importByFile,print,openCustom,closeCustom'.split(',');
|
|
7240
|
+
const funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,closeExport,openPrint,closePrint,getPrintHtml,exportData,openImport,closeImport,importData,saveFile,readFile,importByFile,print,openCustom,closeCustom'.split(',');
|
|
7232
7241
|
funcs.forEach(name => {
|
|
7233
7242
|
Methods[name] = function (...args) {
|
|
7234
7243
|
if (process.env.NODE_ENV === 'development') {
|