vxe-table 4.23.8 → 4.23.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/all.esm.js +5683 -3798
  2. package/es/components.d.ts +1 -0
  3. package/es/components.js +2 -7
  4. package/es/grid/src/emits.js +1 -15
  5. package/es/grid/src/grid.js +397 -120
  6. package/es/index.esm.js +5 -3
  7. package/es/index.js +5 -3
  8. package/es/table/module/custom/hook.js +49 -42
  9. package/es/table/module/custom/panel.js +777 -527
  10. package/es/table/module/edit/hook.js +140 -62
  11. package/es/table/module/export/export-panel.js +399 -316
  12. package/es/table/module/export/hook.js +395 -337
  13. package/es/table/module/export/import-panel.js +152 -123
  14. package/es/table/module/filter/hook.js +16 -2
  15. package/es/table/module/filter/panel.js +146 -84
  16. package/es/table/module/keyboard/hook.js +8 -4
  17. package/es/table/module/menu/panel.js +197 -126
  18. package/es/table/render/index.js +151 -98
  19. package/es/table/src/body.js +355 -233
  20. package/es/table/src/cell.js +426 -269
  21. package/es/table/src/columnInfo.js +1 -0
  22. package/es/table/src/footer.js +144 -99
  23. package/es/table/src/group.js +7 -3
  24. package/es/table/src/header.js +229 -172
  25. package/es/table/src/table.js +1503 -1030
  26. package/es/table/src/util.js +15 -19
  27. package/es/toolbar/src/toolbar.js +132 -75
  28. package/es/ui/index.js +1 -1
  29. package/es/ui/src/dom.js +9 -6
  30. package/es/ui/src/log.js +1 -1
  31. package/es/ui/src/utils.d.ts +1 -1
  32. package/lib/components.js +2 -7
  33. package/lib/grid/src/emits.js +1 -15
  34. package/lib/grid/src/grid.js +397 -120
  35. package/lib/index.common.js +5 -3
  36. package/lib/index.js +5 -3
  37. package/lib/index.umd.js +5652 -3797
  38. package/lib/index.umd.min.js +3 -3
  39. package/lib/table/module/custom/hook.js +49 -42
  40. package/lib/table/module/custom/panel.js +777 -527
  41. package/lib/table/module/edit/hook.js +140 -62
  42. package/lib/table/module/export/export-panel.js +399 -316
  43. package/lib/table/module/export/hook.js +395 -337
  44. package/lib/table/module/export/import-panel.js +152 -123
  45. package/lib/table/module/filter/hook.js +16 -2
  46. package/lib/table/module/filter/panel.js +146 -84
  47. package/lib/table/module/keyboard/hook.js +8 -4
  48. package/lib/table/module/menu/panel.js +197 -126
  49. package/lib/table/render/index.js +151 -98
  50. package/lib/table/src/body.js +355 -233
  51. package/lib/table/src/cell.js +426 -269
  52. package/lib/table/src/columnInfo.js +1 -0
  53. package/lib/table/src/footer.js +144 -99
  54. package/lib/table/src/group.js +7 -3
  55. package/lib/table/src/header.js +229 -172
  56. package/lib/table/src/table.js +1471 -1029
  57. package/lib/table/src/util.js +15 -19
  58. package/lib/toolbar/src/toolbar.js +132 -75
  59. package/lib/ui/index.js +1 -1
  60. package/lib/ui/src/dom.js +9 -6
  61. package/lib/ui/src/log.js +1 -1
  62. package/package.json +2 -2
  63. package/packages/colgroup/index.ts +22 -22
  64. package/packages/column/index.ts +22 -22
  65. package/packages/components.ts +42 -44
  66. package/packages/grid/index.ts +18 -18
  67. package/packages/grid/src/emits.ts +5 -19
  68. package/packages/grid/src/grid.ts +2229 -1925
  69. package/packages/grid/src/props.ts +22 -23
  70. package/packages/index.ts +13 -11
  71. package/packages/locale/lang/fr-FR.ts +15 -15
  72. package/packages/locale/lang/it-IT.ts +4 -4
  73. package/packages/locale/lang/uk-UA.ts +1 -1
  74. package/packages/locale/lang/uz-UZ.ts +13 -13
  75. package/packages/locale/lang/zh-CN.ts +907 -907
  76. package/packages/table/index.ts +26 -26
  77. package/packages/table/module/custom/hook.ts +510 -503
  78. package/packages/table/module/custom/panel.ts +2002 -1743
  79. package/packages/table/module/edit/hook.ts +1224 -1131
  80. package/packages/table/module/export/export-panel.ts +697 -611
  81. package/packages/table/module/export/hook.ts +2160 -2059
  82. package/packages/table/module/export/import-panel.ts +319 -279
  83. package/packages/table/module/export/util.ts +25 -24
  84. package/packages/table/module/filter/hook.ts +519 -501
  85. package/packages/table/module/filter/panel.ts +368 -304
  86. package/packages/table/module/keyboard/hook.ts +498 -494
  87. package/packages/table/module/menu/hook.ts +330 -330
  88. package/packages/table/module/menu/panel.ts +272 -201
  89. package/packages/table/module/validator/hook.ts +653 -635
  90. package/packages/table/render/index.ts +1819 -1744
  91. package/packages/table/src/body.ts +1078 -955
  92. package/packages/table/src/cell.ts +1524 -1359
  93. package/packages/table/src/column.ts +192 -192
  94. package/packages/table/src/columnInfo.ts +232 -232
  95. package/packages/table/src/emits.ts +134 -134
  96. package/packages/table/src/footer.ts +425 -380
  97. package/packages/table/src/group.ts +67 -63
  98. package/packages/table/src/header.ts +642 -581
  99. package/packages/table/src/props.ts +336 -336
  100. package/packages/table/src/store.ts +14 -14
  101. package/packages/table/src/table.ts +16011 -15454
  102. package/packages/table/src/use/cell-view.ts +41 -44
  103. package/packages/table/src/use/index.ts +1 -1
  104. package/packages/table/src/util.ts +1206 -1216
  105. package/packages/toolbar/index.ts +18 -18
  106. package/packages/toolbar/src/toolbar.ts +768 -706
  107. package/packages/ui/index.ts +519 -520
  108. package/packages/ui/src/anime.ts +51 -52
  109. package/packages/ui/src/comp.ts +3 -3
  110. package/packages/ui/src/dom.ts +466 -463
  111. package/packages/ui/src/log.ts +19 -19
  112. package/packages/ui/src/utils.ts +66 -66
  113. package/packages/ui/src/vn.ts +55 -55
  114. package/packages/v-x-e-table/index.d.ts +3 -3
  115. package/packages/v-x-e-table/index.ts +3 -3
  116. package/types/all.d.ts +76 -76
  117. package/types/index.d.ts +4 -4
  118. /package/dist/{iconfont.1793007753347.ttf → iconfont.1793015256719.ttf} +0 -0
  119. /package/dist/{iconfont.1793007753347.woff → iconfont.1793015256719.woff} +0 -0
  120. /package/dist/{iconfont.1793007753347.woff2 → iconfont.1793015256719.woff2} +0 -0
  121. /package/es/{iconfont.1793007753347.ttf → iconfont.1793015256719.ttf} +0 -0
  122. /package/es/{iconfont.1793007753347.woff → iconfont.1793015256719.woff} +0 -0
  123. /package/es/{iconfont.1793007753347.woff2 → iconfont.1793015256719.woff2} +0 -0
  124. /package/lib/{iconfont.1793007753347.ttf → iconfont.1793015256719.ttf} +0 -0
  125. /package/lib/{iconfont.1793007753347.woff → iconfont.1793015256719.woff} +0 -0
  126. /package/lib/{iconfont.1793007753347.woff2 → iconfont.1793015256719.woff2} +0 -0
@@ -178,330 +178,413 @@ var export_panel_default = defineVxeComponent({
178
178
  const indeterminate = column.halfChecked;
179
179
  const isHtml = column.type === "html";
180
180
  colVNs.push(
181
- h("li", {
182
- key: column.id,
183
- class: ["vxe-table-export--panel-column-option", `level--${column.level}`, {
184
- "is--group": isColGroup,
185
- "is--checked": isChecked,
186
- "is--indeterminate": indeterminate,
187
- "is--disabled": column.disabled
188
- }],
189
- title: isHtml ? "" : colTitle,
190
- onClick: () => {
191
- if (!column.disabled) {
192
- changeOption(column);
181
+ h(
182
+ "li",
183
+ {
184
+ key: column.id,
185
+ class: [
186
+ "vxe-table-export--panel-column-option",
187
+ `level--${column.level}`,
188
+ {
189
+ "is--group": isColGroup,
190
+ "is--checked": isChecked,
191
+ "is--indeterminate": indeterminate,
192
+ "is--disabled": column.disabled
193
+ }
194
+ ],
195
+ title: isHtml ? "" : colTitle,
196
+ onClick: () => {
197
+ if (!column.disabled) {
198
+ changeOption(column);
199
+ }
193
200
  }
194
- }
195
- }, [
196
- h("span", {
197
- class: ["vxe-checkbox--icon", indeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
198
- }),
199
- isHtml ? h("span", {
200
- key: "1",
201
- class: "vxe-checkbox--label",
202
- innerHTML: colTitle
203
- }) : h("span", {
204
- key: "0",
205
- class: "vxe-checkbox--label"
206
- }, colTitle)
207
- ])
201
+ },
202
+ [
203
+ h("span", {
204
+ class: ["vxe-checkbox--icon", indeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
205
+ }),
206
+ isHtml ? h("span", {
207
+ key: "1",
208
+ class: "vxe-checkbox--label",
209
+ innerHTML: colTitle
210
+ }) : h(
211
+ "span",
212
+ {
213
+ key: "0",
214
+ class: "vxe-checkbox--label"
215
+ },
216
+ colTitle
217
+ )
218
+ ]
219
+ )
208
220
  );
209
221
  });
210
- return VxeUIModalComponent ? h(VxeUIModalComponent, {
211
- id: "VXE_EXPORT_MODAL",
212
- modelValue: storeData.visible,
213
- title: modelOptions.title || getI18n(isPrint ? "vxe.export.printTitle" : "vxe.export.expTitle"),
214
- className: "vxe-table-export-popup-wrapper",
215
- width: modelOptions.width || 660,
216
- height: modelOptions.height,
217
- minWidth: modelOptions.minWidth || 500,
218
- minHeight: modelOptions.minHeight || 400,
219
- mask: getDefaultConfig(modelOptions.mask, true),
220
- lockView: getDefaultConfig(modelOptions.lockView, true),
221
- showFooter: true,
222
- escClosable: true,
223
- maskClosable: true,
224
- position: modelOptions.position,
225
- fullscreen: modelOptions.fullscreen,
226
- remember: modelOptions.remember,
227
- showMinimize: modelOptions.showMinimize,
228
- showMaximize: getDefaultConfig(modelOptions.showMaximize, true),
229
- resize: getDefaultConfig(modelOptions.resize, true),
230
- loading: reactData.loading,
231
- "onUpdate:modelValue"(value) {
232
- storeData.visible = value;
222
+ return VxeUIModalComponent ? h(
223
+ VxeUIModalComponent,
224
+ {
225
+ id: "VXE_EXPORT_MODAL",
226
+ modelValue: storeData.visible,
227
+ title: modelOptions.title || getI18n(isPrint ? "vxe.export.printTitle" : "vxe.export.expTitle"),
228
+ className: "vxe-table-export-popup-wrapper",
229
+ width: modelOptions.width || 660,
230
+ height: modelOptions.height,
231
+ minWidth: modelOptions.minWidth || 500,
232
+ minHeight: modelOptions.minHeight || 400,
233
+ mask: getDefaultConfig(modelOptions.mask, true),
234
+ lockView: getDefaultConfig(modelOptions.lockView, true),
235
+ showFooter: true,
236
+ escClosable: true,
237
+ maskClosable: true,
238
+ position: modelOptions.position,
239
+ fullscreen: modelOptions.fullscreen,
240
+ remember: modelOptions.remember,
241
+ showMinimize: modelOptions.showMinimize,
242
+ showMaximize: getDefaultConfig(modelOptions.showMaximize, true),
243
+ resize: getDefaultConfig(modelOptions.resize, true),
244
+ loading: reactData.loading,
245
+ "onUpdate:modelValue"(value) {
246
+ storeData.visible = value;
247
+ },
248
+ onShow: showEvent
233
249
  },
234
- onShow: showEvent
235
- }, {
236
- default: () => {
237
- const params = {
238
- $table: $xeTable,
239
- $grid: $xeGrid,
240
- $gantt: $xeGantt,
241
- options: defaultOptions,
242
- columns,
243
- params: defaultOptions.params
244
- };
245
- const hasEmptyData = defaultOptions.mode === "empty";
246
- return h("div", {
247
- class: "vxe-table-export--panel"
248
- }, [
249
- topSlot ? h("div", {
250
- class: "vxe-table-export--panel-top"
251
- }, $xeTable.callSlot(topSlot, params)) : renderEmptyElement($xeTable),
252
- h("div", {
253
- class: "vxe-table-export--panel-body"
254
- }, defaultSlot ? $xeTable.callSlot(defaultSlot, params) : [
255
- h("table", {
256
- class: "vxe-table-export--panel-table",
257
- cellspacing: 0,
258
- cellpadding: 0,
259
- border: 0
260
- }, [
261
- h("tbody", [
262
- [
263
- isPrint || settingOptions.showFileName === false ? renderEmptyElement($xeTable) : h("tr", [
264
- h("td", getI18n("vxe.export.expName")),
265
- h("td", [
266
- VxeUIInputComponent ? h(VxeUIInputComponent, {
267
- ref: xInputFilename,
268
- modelValue: defaultOptions.filename,
269
- type: "text",
270
- clearable: true,
271
- placeholder: getI18n("vxe.export.expNamePlaceholder"),
272
- "onUpdate:modelValue"(value) {
273
- defaultOptions.filename = value;
274
- }
275
- }) : renderEmptyElement($xeTable)
276
- ])
277
- ]),
278
- isPrint || settingOptions.showType === false ? renderEmptyElement($xeTable) : h("tr", [
279
- h("td", getI18n("vxe.export.expType")),
280
- h("td", [
281
- VxeUISelectComponent ? h(VxeUISelectComponent, {
282
- modelValue: defaultOptions.type,
283
- options: storeData.typeList,
284
- "onUpdate:modelValue"(value) {
285
- defaultOptions.type = value;
286
- }
287
- }) : renderEmptyElement($xeTable)
288
- ])
289
- ]),
290
- (isPrint || showSheet) && settingOptions.showSheet !== false ? h("tr", [
291
- h("td", getI18n("vxe.export.expSheetName")),
292
- h("td", [
293
- VxeUIInputComponent ? h(VxeUIInputComponent, {
294
- ref: xInputSheetname,
295
- modelValue: defaultOptions.sheetName,
296
- type: "text",
297
- clearable: true,
298
- placeholder: getI18n("vxe.export.expSheetNamePlaceholder"),
299
- "onUpdate:modelValue"(value) {
300
- defaultOptions.sheetName = value;
301
- }
302
- }) : renderEmptyElement($xeTable)
303
- ])
304
- ]) : renderEmptyElement($xeTable),
305
- settingOptions.showMode === false ? renderEmptyElement($xeTable) : h("tr", [
306
- h("td", getI18n("vxe.export.expMode")),
307
- h("td", [
308
- VxeUISelectComponent ? h(VxeUISelectComponent, {
309
- modelValue: defaultOptions.mode,
310
- options: storeData.modeList.map((item) => {
311
- return {
312
- value: item.value,
313
- label: getI18n(item.label)
314
- };
315
- }),
316
- "onUpdate:modelValue"(value) {
317
- defaultOptions.mode = value;
318
- }
319
- }) : renderEmptyElement($xeTable)
320
- ])
321
- ]),
322
- settingOptions.showColumn === false ? renderEmptyElement($xeTable) : h("tr", [
323
- h("td", [getI18n("vxe.export.expColumn")]),
324
- h("td", [
325
- h("div", {
326
- class: "vxe-table-export--panel-column"
327
- }, [
328
- h("ul", {
329
- class: "vxe-table-export--panel-column-header"
330
- }, [
331
- h("li", {
332
- class: ["vxe-table-export--panel-column-option", {
333
- "is--checked": isAllChecked,
334
- "is--indeterminate": isAllIndeterminate
335
- }],
336
- title: getI18n("vxe.table.allTitle"),
337
- onClick: allColumnEvent
338
- }, [
339
- h("span", {
340
- class: ["vxe-checkbox--icon", isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
341
- }),
342
- h("span", {
343
- class: "vxe-checkbox--label"
344
- }, getI18n("vxe.export.expCurrentColumn"))
250
+ {
251
+ default: () => {
252
+ const params = {
253
+ $table: $xeTable,
254
+ $grid: $xeGrid,
255
+ $gantt: $xeGantt,
256
+ options: defaultOptions,
257
+ columns,
258
+ params: defaultOptions.params
259
+ };
260
+ const hasEmptyData = defaultOptions.mode === "empty";
261
+ return h(
262
+ "div",
263
+ {
264
+ class: "vxe-table-export--panel"
265
+ },
266
+ [
267
+ topSlot ? h(
268
+ "div",
269
+ {
270
+ class: "vxe-table-export--panel-top"
271
+ },
272
+ $xeTable.callSlot(topSlot, params)
273
+ ) : renderEmptyElement($xeTable),
274
+ h(
275
+ "div",
276
+ {
277
+ class: "vxe-table-export--panel-body"
278
+ },
279
+ defaultSlot ? $xeTable.callSlot(defaultSlot, params) : [
280
+ h(
281
+ "table",
282
+ {
283
+ class: "vxe-table-export--panel-table",
284
+ cellspacing: 0,
285
+ cellpadding: 0,
286
+ border: 0
287
+ },
288
+ [
289
+ h("tbody", [
290
+ [
291
+ isPrint || settingOptions.showFileName === false ? renderEmptyElement($xeTable) : h("tr", [
292
+ h("td", getI18n("vxe.export.expName")),
293
+ h("td", [
294
+ VxeUIInputComponent ? h(VxeUIInputComponent, {
295
+ ref: xInputFilename,
296
+ modelValue: defaultOptions.filename,
297
+ type: "text",
298
+ clearable: true,
299
+ placeholder: getI18n("vxe.export.expNamePlaceholder"),
300
+ "onUpdate:modelValue"(value) {
301
+ defaultOptions.filename = value;
302
+ }
303
+ }) : renderEmptyElement($xeTable)
304
+ ])
305
+ ]),
306
+ isPrint || settingOptions.showType === false ? renderEmptyElement($xeTable) : h("tr", [
307
+ h("td", getI18n("vxe.export.expType")),
308
+ h("td", [
309
+ VxeUISelectComponent ? h(VxeUISelectComponent, {
310
+ modelValue: defaultOptions.type,
311
+ options: storeData.typeList,
312
+ "onUpdate:modelValue"(value) {
313
+ defaultOptions.type = value;
314
+ }
315
+ }) : renderEmptyElement($xeTable)
316
+ ])
317
+ ]),
318
+ (isPrint || showSheet) && settingOptions.showSheet !== false ? h("tr", [
319
+ h("td", getI18n("vxe.export.expSheetName")),
320
+ h("td", [
321
+ VxeUIInputComponent ? h(VxeUIInputComponent, {
322
+ ref: xInputSheetname,
323
+ modelValue: defaultOptions.sheetName,
324
+ type: "text",
325
+ clearable: true,
326
+ placeholder: getI18n("vxe.export.expSheetNamePlaceholder"),
327
+ "onUpdate:modelValue"(value) {
328
+ defaultOptions.sheetName = value;
329
+ }
330
+ }) : renderEmptyElement($xeTable)
331
+ ])
332
+ ]) : renderEmptyElement($xeTable),
333
+ settingOptions.showMode === false ? renderEmptyElement($xeTable) : h("tr", [
334
+ h("td", getI18n("vxe.export.expMode")),
335
+ h("td", [
336
+ VxeUISelectComponent ? h(VxeUISelectComponent, {
337
+ modelValue: defaultOptions.mode,
338
+ options: storeData.modeList.map((item) => {
339
+ return {
340
+ value: item.value,
341
+ label: getI18n(item.label)
342
+ };
343
+ }),
344
+ "onUpdate:modelValue"(value) {
345
+ defaultOptions.mode = value;
346
+ }
347
+ }) : renderEmptyElement($xeTable)
348
+ ])
349
+ ]),
350
+ settingOptions.showColumn === false ? renderEmptyElement($xeTable) : h("tr", [
351
+ h("td", [getI18n("vxe.export.expColumn")]),
352
+ h("td", [
353
+ h(
354
+ "div",
355
+ {
356
+ class: "vxe-table-export--panel-column"
357
+ },
358
+ [
359
+ h(
360
+ "ul",
361
+ {
362
+ class: "vxe-table-export--panel-column-header"
363
+ },
364
+ [
365
+ h(
366
+ "li",
367
+ {
368
+ class: [
369
+ "vxe-table-export--panel-column-option",
370
+ {
371
+ "is--checked": isAllChecked,
372
+ "is--indeterminate": isAllIndeterminate
373
+ }
374
+ ],
375
+ title: getI18n("vxe.table.allTitle"),
376
+ onClick: allColumnEvent
377
+ },
378
+ [
379
+ h("span", {
380
+ class: ["vxe-checkbox--icon", isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
381
+ }),
382
+ h(
383
+ "span",
384
+ {
385
+ class: "vxe-checkbox--label"
386
+ },
387
+ getI18n("vxe.export.expCurrentColumn")
388
+ )
389
+ ]
390
+ )
391
+ ]
392
+ ),
393
+ h(
394
+ "ul",
395
+ {
396
+ class: "vxe-table-export--panel-column-body"
397
+ },
398
+ colVNs
399
+ )
400
+ ]
401
+ )
402
+ ])
403
+ ]),
404
+ isPrint && settingOptions.showWidthMode !== false ? h("tr", [
405
+ h("td", getI18n("vxe.export.widthMode")),
406
+ h("td", [
407
+ VxeUISelectComponent ? h(VxeUISelectComponent, {
408
+ modelValue: defaultOptions.widthMode,
409
+ options: colWidthModeOptions,
410
+ "onUpdate:modelValue"(value) {
411
+ defaultOptions.widthMode = value;
412
+ }
413
+ }) : renderEmptyElement($xeTable)
414
+ ])
415
+ ]) : renderEmptyElement($xeTable),
416
+ settingOptions.showParameter === false ? renderEmptyElement($xeTable) : h("tr", [
417
+ h("td", getI18n("vxe.export.expOpts")),
418
+ parameterSlot ? h("td", [
419
+ h(
420
+ "div",
421
+ {
422
+ class: "vxe-table-export--panel-option-row"
423
+ },
424
+ $xeTable.callSlot(parameterSlot, params)
425
+ )
426
+ ]) : h("td", [
427
+ h(
428
+ "div",
429
+ {
430
+ class: "vxe-table-export--panel-option-row"
431
+ },
432
+ VxeUICheckboxComponent ? [
433
+ h(VxeUICheckboxComponent, {
434
+ modelValue: hasEmptyData || isHeader,
435
+ disabled: hasEmptyData,
436
+ title: getI18n("vxe.export.expHeaderTitle"),
437
+ content: getI18n("vxe.export.expOptHeader"),
438
+ "onUpdate:modelValue"(value) {
439
+ defaultOptions.isHeader = value;
440
+ }
441
+ }),
442
+ h(VxeUICheckboxComponent, {
443
+ modelValue: defaultOptions.isFooter,
444
+ disabled: !storeData.hasFooter,
445
+ title: getI18n("vxe.export.expFooterTitle"),
446
+ content: getI18n("vxe.export.expOptFooter"),
447
+ "onUpdate:modelValue"(value) {
448
+ defaultOptions.isFooter = value;
449
+ }
450
+ }),
451
+ h(VxeUICheckboxComponent, {
452
+ modelValue: isHeader ? defaultOptions.isTitle : false,
453
+ disabled: !isHeader,
454
+ title: getI18n("vxe.export.expTitleTitle"),
455
+ content: getI18n("vxe.export.expOptTitle"),
456
+ "onUpdate:modelValue"(value) {
457
+ defaultOptions.isTitle = value;
458
+ }
459
+ }),
460
+ h(VxeUICheckboxComponent, {
461
+ modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
462
+ title: getI18n("vxe.export.expColgroupTitle"),
463
+ disabled: !isHeader || !hasColgroup || !supportMerge,
464
+ content: getI18n("vxe.export.expOptColgroup"),
465
+ "onUpdate:modelValue"(value) {
466
+ defaultOptions.isColgroup = value;
467
+ }
468
+ })
469
+ ] : []
470
+ ),
471
+ h(
472
+ "div",
473
+ {
474
+ class: "vxe-table-export--panel-option-row"
475
+ },
476
+ VxeUICheckboxComponent ? [
477
+ h(VxeUICheckboxComponent, {
478
+ modelValue: hasEmptyData ? false : defaultOptions.original,
479
+ disabled: hasEmptyData,
480
+ title: getI18n("vxe.export.expOriginalTitle"),
481
+ content: getI18n("vxe.export.expOptOriginal"),
482
+ "onUpdate:modelValue"(value) {
483
+ defaultOptions.original = value;
484
+ }
485
+ }),
486
+ h(VxeUICheckboxComponent, {
487
+ modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
488
+ title: getI18n("vxe.export.expMergeTitle"),
489
+ disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
490
+ content: getI18n("vxe.export.expOptMerge"),
491
+ "onUpdate:modelValue"(value) {
492
+ defaultOptions.isMerge = value;
493
+ }
494
+ }),
495
+ isPrint ? renderEmptyElement($xeTable) : h(VxeUICheckboxComponent, {
496
+ modelValue: supportStyle ? defaultOptions.useStyle : false,
497
+ disabled: !supportStyle,
498
+ title: getI18n("vxe.export.expUseStyleTitle"),
499
+ content: getI18n("vxe.export.expOptUseStyle"),
500
+ "onUpdate:modelValue"(value) {
501
+ defaultOptions.useStyle = value;
502
+ }
503
+ })
504
+ ] : []
505
+ ),
506
+ h(
507
+ "div",
508
+ {
509
+ class: "vxe-table-export--panel-option-row"
510
+ },
511
+ VxeUICheckboxComponent ? [
512
+ h(VxeUICheckboxComponent, {
513
+ modelValue: hasTree ? defaultOptions.isTreeAllExpanded : false,
514
+ disabled: hasEmptyData || !hasTree,
515
+ title: getI18n("vxe.export.expTreeAllExpandTitle"),
516
+ content: getI18n("vxe.export.expOptTreeAllExpand"),
517
+ "onUpdate:modelValue"(value) {
518
+ defaultOptions.isTreeAllExpanded = value;
519
+ }
520
+ }),
521
+ h(VxeUICheckboxComponent, {
522
+ modelValue: hasRowGroup ? defaultOptions.isRowGroupAllExpanded : false,
523
+ disabled: hasEmptyData || !hasRowGroup,
524
+ title: getI18n("vxe.export.expRowGroupAllExpandTitle"),
525
+ content: getI18n("vxe.export.expOptRowGroupAllExpand"),
526
+ "onUpdate:modelValue"(value) {
527
+ defaultOptions.isRowGroupAllExpanded = value;
528
+ }
529
+ })
530
+ ] : []
531
+ )
532
+ ])
345
533
  ])
346
- ]),
347
- h("ul", {
348
- class: "vxe-table-export--panel-column-body"
349
- }, colVNs)
534
+ ]
350
535
  ])
351
- ])
352
- ]),
353
- isPrint && settingOptions.showWidthMode !== false ? h("tr", [
354
- h("td", getI18n("vxe.export.widthMode")),
355
- h("td", [
356
- VxeUISelectComponent ? h(VxeUISelectComponent, {
357
- modelValue: defaultOptions.widthMode,
358
- options: colWidthModeOptions,
359
- "onUpdate:modelValue"(value) {
360
- defaultOptions.widthMode = value;
361
- }
362
- }) : renderEmptyElement($xeTable)
363
- ])
364
- ]) : renderEmptyElement($xeTable),
365
- settingOptions.showParameter === false ? renderEmptyElement($xeTable) : h("tr", [
366
- h("td", getI18n("vxe.export.expOpts")),
367
- parameterSlot ? h("td", [
368
- h("div", {
369
- class: "vxe-table-export--panel-option-row"
370
- }, $xeTable.callSlot(parameterSlot, params))
371
- ]) : h("td", [
372
- h("div", {
373
- class: "vxe-table-export--panel-option-row"
374
- }, VxeUICheckboxComponent ? [
375
- h(VxeUICheckboxComponent, {
376
- modelValue: hasEmptyData || isHeader,
377
- disabled: hasEmptyData,
378
- title: getI18n("vxe.export.expHeaderTitle"),
379
- content: getI18n("vxe.export.expOptHeader"),
380
- "onUpdate:modelValue"(value) {
381
- defaultOptions.isHeader = value;
382
- }
383
- }),
384
- h(VxeUICheckboxComponent, {
385
- modelValue: defaultOptions.isFooter,
386
- disabled: !storeData.hasFooter,
387
- title: getI18n("vxe.export.expFooterTitle"),
388
- content: getI18n("vxe.export.expOptFooter"),
389
- "onUpdate:modelValue"(value) {
390
- defaultOptions.isFooter = value;
391
- }
392
- }),
393
- h(VxeUICheckboxComponent, {
394
- modelValue: isHeader ? defaultOptions.isTitle : false,
395
- disabled: !isHeader,
396
- title: getI18n("vxe.export.expTitleTitle"),
397
- content: getI18n("vxe.export.expOptTitle"),
398
- "onUpdate:modelValue"(value) {
399
- defaultOptions.isTitle = value;
400
- }
401
- }),
402
- h(VxeUICheckboxComponent, {
403
- modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
404
- title: getI18n("vxe.export.expColgroupTitle"),
405
- disabled: !isHeader || !hasColgroup || !supportMerge,
406
- content: getI18n("vxe.export.expOptColgroup"),
407
- "onUpdate:modelValue"(value) {
408
- defaultOptions.isColgroup = value;
409
- }
410
- })
411
- ] : []),
412
- h("div", {
413
- class: "vxe-table-export--panel-option-row"
414
- }, VxeUICheckboxComponent ? [
415
- h(VxeUICheckboxComponent, {
416
- modelValue: hasEmptyData ? false : defaultOptions.original,
417
- disabled: hasEmptyData,
418
- title: getI18n("vxe.export.expOriginalTitle"),
419
- content: getI18n("vxe.export.expOptOriginal"),
420
- "onUpdate:modelValue"(value) {
421
- defaultOptions.original = value;
422
- }
423
- }),
424
- h(VxeUICheckboxComponent, {
425
- modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
426
- title: getI18n("vxe.export.expMergeTitle"),
427
- disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
428
- content: getI18n("vxe.export.expOptMerge"),
429
- "onUpdate:modelValue"(value) {
430
- defaultOptions.isMerge = value;
431
- }
432
- }),
433
- isPrint ? renderEmptyElement($xeTable) : h(VxeUICheckboxComponent, {
434
- modelValue: supportStyle ? defaultOptions.useStyle : false,
435
- disabled: !supportStyle,
436
- title: getI18n("vxe.export.expUseStyleTitle"),
437
- content: getI18n("vxe.export.expOptUseStyle"),
438
- "onUpdate:modelValue"(value) {
439
- defaultOptions.useStyle = value;
440
- }
441
- })
442
- ] : []),
443
- h("div", {
444
- class: "vxe-table-export--panel-option-row"
445
- }, VxeUICheckboxComponent ? [
446
- h(VxeUICheckboxComponent, {
447
- modelValue: hasTree ? defaultOptions.isTreeAllExpanded : false,
448
- disabled: hasEmptyData || !hasTree,
449
- title: getI18n("vxe.export.expTreeAllExpandTitle"),
450
- content: getI18n("vxe.export.expOptTreeAllExpand"),
451
- "onUpdate:modelValue"(value) {
452
- defaultOptions.isTreeAllExpanded = value;
453
- }
454
- }),
455
- h(VxeUICheckboxComponent, {
456
- modelValue: hasRowGroup ? defaultOptions.isRowGroupAllExpanded : false,
457
- disabled: hasEmptyData || !hasRowGroup,
458
- title: getI18n("vxe.export.expRowGroupAllExpandTitle"),
459
- content: getI18n("vxe.export.expOptRowGroupAllExpand"),
460
- "onUpdate:modelValue"(value) {
461
- defaultOptions.isRowGroupAllExpanded = value;
462
- }
463
- })
464
- ] : [])
465
- ])
466
- ])
536
+ ]
537
+ )
467
538
  ]
468
- ])
469
- ])
470
- ]),
471
- bottomSlot ? h("div", {
472
- class: "vxe-table-export--panel-bottom"
473
- }, $xeTable.callSlot(bottomSlot, params)) : renderEmptyElement($xeTable)
474
- ]);
475
- },
476
- footer() {
477
- const params = {
478
- $table: $xeTable,
479
- $grid: $xeGrid,
480
- $gantt: $xeGantt,
481
- options: defaultOptions,
482
- columns,
483
- params: defaultOptions.params
484
- };
485
- return h("div", {
486
- class: "vxe-table-export--panel-footer"
487
- }, footerSlot ? $xeTable.callSlot(footerSlot, params) : [
488
- h("div", {
489
- class: "vxe-table-export--panel-btns"
490
- }, [
491
- VxeUIButtonComponent ? h(VxeUIButtonComponent, {
492
- content: getI18n("vxe.export.expCancel"),
493
- onClick: cancelEvent
494
- }) : renderEmptyElement($xeTable),
495
- VxeUIButtonComponent ? h(VxeUIButtonComponent, {
496
- ref: xButtonConfirm,
497
- status: "primary",
498
- content: getI18n(isPrint ? "vxe.export.expPrint" : "vxe.export.expConfirm"),
499
- onClick: confirmEvent
500
- }) : renderEmptyElement($xeTable)
501
- ])
502
- ]);
539
+ ),
540
+ bottomSlot ? h(
541
+ "div",
542
+ {
543
+ class: "vxe-table-export--panel-bottom"
544
+ },
545
+ $xeTable.callSlot(bottomSlot, params)
546
+ ) : renderEmptyElement($xeTable)
547
+ ]
548
+ );
549
+ },
550
+ footer() {
551
+ const params = {
552
+ $table: $xeTable,
553
+ $grid: $xeGrid,
554
+ $gantt: $xeGantt,
555
+ options: defaultOptions,
556
+ columns,
557
+ params: defaultOptions.params
558
+ };
559
+ return h(
560
+ "div",
561
+ {
562
+ class: "vxe-table-export--panel-footer"
563
+ },
564
+ footerSlot ? $xeTable.callSlot(footerSlot, params) : [
565
+ h(
566
+ "div",
567
+ {
568
+ class: "vxe-table-export--panel-btns"
569
+ },
570
+ [
571
+ VxeUIButtonComponent ? h(VxeUIButtonComponent, {
572
+ content: getI18n("vxe.export.expCancel"),
573
+ onClick: cancelEvent
574
+ }) : renderEmptyElement($xeTable),
575
+ VxeUIButtonComponent ? h(VxeUIButtonComponent, {
576
+ ref: xButtonConfirm,
577
+ status: "primary",
578
+ content: getI18n(isPrint ? "vxe.export.expPrint" : "vxe.export.expConfirm"),
579
+ onClick: confirmEvent
580
+ }) : renderEmptyElement($xeTable)
581
+ ]
582
+ )
583
+ ]
584
+ );
585
+ }
503
586
  }
504
- }) : renderEmptyElement($xeTable);
587
+ ) : renderEmptyElement($xeTable);
505
588
  };
506
589
  nextTick(() => {
507
590
  if (!VxeUIModalComponent) {