vxe-table 3.19.39 → 3.20.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.css +1 -1
- package/es/index.esm.js +2 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +6 -4
- package/es/table/module/custom/panel.js +806 -799
- package/es/table/module/edit/mixin.js +43 -31
- package/es/table/module/export/export-panel.js +511 -458
- package/es/table/module/export/import-panel.js +224 -192
- package/es/table/module/keyboard/mixin.js +2 -2
- package/es/table/module/menu/panel.js +165 -161
- package/es/table/module/validator/mixin.js +255 -236
- package/es/table/src/body.js +2 -1
- package/es/table/src/cell.js +2 -2
- package/es/table/src/methods.js +33 -43
- package/es/table/src/table.js +13 -249
- package/es/table/src/util.js +242 -0
- package/es/table/style.css +23 -50
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +2 -2
- package/es/ui/src/dom.js +22 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +23 -50
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.common.js +2 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +3640 -4790
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +6 -4
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +693 -685
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/mixin.js +47 -31
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +450 -384
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +200 -159
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -2
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/panel.js +119 -114
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/module/validator/mixin.js +271 -259
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/body.js +2 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +2 -2
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +33 -45
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +12 -248
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +243 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +23 -50
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +22 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +2 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/vxe-colgroup/index.js +2 -1
- package/lib/vxe-colgroup/index.min.js +1 -1
- package/lib/vxe-column/index.js +2 -1
- package/lib/vxe-column/index.min.js +1 -1
- package/lib/vxe-grid/index.js +2 -1
- package/lib/vxe-grid/index.min.js +1 -1
- package/lib/vxe-table/index.js +2 -1
- package/lib/vxe-table/index.min.js +1 -1
- package/lib/vxe-table/style/style.css +23 -50
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-toolbar/index.js +2 -1
- package/lib/vxe-toolbar/index.min.js +1 -1
- package/lib/vxe-ui/index.js +2 -1
- package/lib/vxe-ui/index.min.js +1 -1
- package/lib/vxe-v-x-e-table/index.js +2 -1
- package/lib/vxe-v-x-e-table/index.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/module/custom/mixin.ts +7 -4
- package/packages/table/module/custom/panel.ts +846 -839
- package/packages/table/module/edit/mixin.ts +55 -35
- package/packages/table/module/export/export-panel.ts +545 -469
- package/packages/table/module/export/import-panel.ts +245 -202
- package/packages/table/module/filter/panel.ts +4 -18
- package/packages/table/module/keyboard/mixin.ts +2 -2
- package/packages/table/module/menu/panel.ts +171 -163
- package/packages/table/module/validator/mixin.ts +279 -240
- package/packages/table/src/body.ts +2 -1
- package/packages/table/src/cell.ts +2 -2
- package/packages/table/src/methods.ts +43 -45
- package/packages/table/src/table.ts +14 -260
- package/packages/table/src/util.ts +254 -0
- package/packages/ui/index.ts +1 -1
- package/packages/ui/src/dom.ts +22 -0
- package/styles/components/table.scss +5 -2
- package/styles/theme/base.scss +2 -1
- /package/es/{iconfont.1767145426781.ttf → iconfont.1767492234857.ttf} +0 -0
- /package/es/{iconfont.1767145426781.woff → iconfont.1767492234857.woff} +0 -0
- /package/es/{iconfont.1767145426781.woff2 → iconfont.1767492234857.woff2} +0 -0
- /package/lib/{iconfont.1767145426781.ttf → iconfont.1767492234857.ttf} +0 -0
- /package/lib/{iconfont.1767145426781.woff → iconfont.1767492234857.woff} +0 -0
- /package/lib/{iconfont.1767145426781.woff2 → iconfont.1767492234857.woff2} +0 -0
|
@@ -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,renderEmptyElement}=_ui.VxeUI;var _default=exports.default={name:"VxeTableExportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:Object,storeData:Object
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../../ui/src/comp"),_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=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null}},data(){return{reactData:{isAll:!1,isIndeterminate:!1,loading:!1}}},computed:Object.assign(Object.assign({},{}),{computeCheckedAll(){var e=this.storeData;return e.columns.every(e=>e.checked)},computeShowSheet(){var e=this.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)},computeSupportMerge(){var{storeData:e,defaultOptions:t}=this;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))},computeSupportStyle(){var e=this.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}}),created(){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),l=_ui.VxeUI.getComponent("VxeSelect"),o=_ui.VxeUI.getComponent("VxeInput"),r=_ui.VxeUI.getComponent("VxeCheckbox");this.$nextTick(()=>{e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),t||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),l||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"]),o||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),r||(0,_log.errLog)("vxe.error.reqComp",["vxe-checkbox"])})},methods:{changeOption(e){let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),this.handleOptionCheck(e),this.checkStatus()},handleOptionCheck(t){var e=this.storeData,e=_xeUtils.default.findTree(e.columns,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.halfChecked=!e.checked&&e.children.some(e=>e.checked||e.halfChecked),this.handleOptionCheck(e))},checkStatus(){var e=this.reactData,t=this.storeData,t=t.columns;e.isAll=t.every(e=>e.disabled||e.checked),e.isIndeterminate=!e.isAll&&t.some(e=>!e.disabled&&(e.checked||e.halfChecked))},allColumnEvent(){var e=this,t=e.reactData,l=e.storeData;let o=!t.isAll;_xeUtils.default.eachTree(l.columns,e=>{e.disabled||(e.checked=o,e.halfChecked=!1)}),t.isAll=o,e.checkStatus()},showEvent(){let t=this;t.$nextTick(()=>{var e=t.$refs.filename||t.$refs.sheetname||t.$refs.confirmBtn;e&&e.focus()}),t.checkStatus()},getExportOption(){var e=this,{storeData:t,defaultOptions:l}=e,{hasMerge:t,columns:o}=t,r=e.computeCheckedAll,e=e.computeSupportMerge,o=_xeUtils.default.searchTree(o,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},l,{columns:o,isMerge:!!(t&&e&&r)&&l.isMerge})},cancelEvent(){var e=this.storeData;e.visible=!1},confirmEvent(){var e=this.storeData;e.isPrint?this.printEvent():this.exportEvent()},printEvent(){var e=this.$xeTable,t=this.storeData;t.visible=!1,e.print(Object.assign({},e.printOpts,this.getExportOption()))},exportEvent(){let e=this.reactData;var t=this.$xeTable;let l=this.storeData;var o=t.exportOpts;e.loading=!0,t.exportData(Object.assign({},o,this.getExportOption())).then(()=>{e.loading=!1,l.visible=!1}).catch(()=>{e.loading=!1})},renderVN(a){let i=this;var e=i,t=i.reactData;let l=i.$xeTable,o=l.$xeGrid,r=l.$xeGantt,{defaultOptions:n,storeData:p}=e,{isAll:s,isIndeterminate:x}=t,{hasTree:c,hasMerge:d,isPrint:u,hasColgroup:v,columns:h}=p,m=n.isHeader,g=[],b=i.computeCheckedAll,E=i.computeShowSheet,C=i.computeSupportMerge,f=i.computeSupportStyle;e=n.slots||{};let k=e.top,I=e.bottom,O=e.default,_=e.footer,T=e.parameter;return _xeUtils.default.eachTree(h,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,r=e.halfChecked,n="html"===e.type;g.push(a("li",{class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":r,"is--disabled":e.disabled}],attrs:{title:t},on:{click:()=>{e.disabled||i.changeOption(e)}}},[a("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),n?a("span",{key:"1",class:"vxe-checkbox--label",domProps:{innerHTML:t}}):a("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),a("vxe-modal",{ref:"modal",props:{id:"VXE_EXPORT_MODAL",value:p.visible,title:getI18n(u?"vxe.export.printTitle":"vxe.export.expTitle"),width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:t.loading},on:{input(e){p.visible=e},show:i.showEvent},scopedSlots:{default(){var e={$table:l,$grid:o,$gantt:r,options:n,columns:h,params:n.params},t="empty"===n.mode;return a("div",{class:"vxe-table-export--panel"},[k?a("div",{class:"vxe-table-export--panel-top"},l.callSlot(k,e,a)):renderEmptyElement(l),a("div",{class:"vxe-table-export--panel-body"},O?l.callSlot(O,e,a):[a("table",{attrs:{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0}},[a("tbody",[[u?renderEmptyElement(l):a("tr",[a("td",getI18n("vxe.export.expName")),a("td",[a("vxe-input",{ref:"filename",props:{value:n.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder")},on:{modelValue(e){n.filename=e}}})])]),u?renderEmptyElement(l):a("tr",[a("td",getI18n("vxe.export.expType")),a("td",[a("vxe-select",{props:{value:n.type,options:p.typeList},on:{modelValue(e){n.type=e}}})])]),u||E?a("tr",[a("td",getI18n("vxe.export.expSheetName")),a("td",[a("vxe-input",{ref:"sheetname",props:{value:n.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder")},on:{modelValue(e){n.sheetName=e}}})])]):renderEmptyElement(l),a("tr",[a("td",getI18n("vxe.export.expMode")),a("td",[a("vxe-select",{props:{value:n.mode,options:p.modeList},on:{modelValue(e){n.mode=e}}})])]),a("tr",[a("td",[getI18n("vxe.export.expColumn")]),a("td",[a("div",{class:"vxe-table-export--panel-column"},[a("ul",{class:"vxe-table-export--panel-column-header"},[a("li",{class:["vxe-table-export--panel-column-option",{"is--checked":s,"is--indeterminate":x}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:i.allColumnEvent}},[a("span",{class:["vxe-checkbox--icon",x?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),a("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),a("ul",{class:"vxe-table-export--panel-column-body"},g)])])]),a("tr",[a("td",getI18n("vxe.export.expOpts")),T?a("td",[a("div",{class:"vxe-table-export--panel-option-row"},l.callSlot(T,e,a))]):a("td",[a("div",{class:"vxe-table-export--panel-option-row"},[a("vxe-checkbox",{props:{value:t||m,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader")},on:{input(e){n.isHeader=e}}}),a("vxe-checkbox",{props:{value:!!m&&n.isTitle,disabled:!m,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle")},on:{input(e){n.isTitle=e}}}),a("vxe-checkbox",{props:{value:!!(m&&v&&C)&&n.isColgroup,disabled:!m||!v||!C,title:getI18n("vxe.export.expColgroupTitle"),content:getI18n("vxe.export.expOptColgroup")},on:{input(e){n.isColgroup=e}}})]),a("div",{class:"vxe-table-export--panel-option-row"},[a("vxe-checkbox",{props:{value:!t&&n.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal")},on:{input(e){n.original=e}}}),a("vxe-checkbox",{props:{value:!!(d&&C&&b)&&n.isMerge,disabled:t||!d||!C||!b,title:getI18n("vxe.export.expMergeTitle"),content:getI18n("vxe.export.expOptMerge")},on:{input(e){n.isMerge=e}}}),u?renderEmptyElement(l):a("vxe-checkbox",{props:{value:!!f&&n.useStyle,disabled:!f,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle")},on:{input(e){n.useStyle=e}}}),a("vxe-checkbox",{props:{value:!!c&&n.isAllExpand,disabled:t||!c,title:getI18n("vxe.export.expAllExpandTitle"),content:getI18n("vxe.export.expOptAllExpand")},on:{input(e){n.isAllExpand=e}}})]),a("div",{class:"vxe-table-export--panel-option-row"},[a("vxe-checkbox",{props:{value:n.isFooter,disabled:!p.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter")},on:{input(e){n.isFooter=e}}})])])])]])])]),I?a("div",{class:"vxe-table-export--panel-bottom"},l.callSlot(I,e,a)):renderEmptyElement(l)])},footer(){var e={$table:l,$grid:o,$gantt:r,options:n,columns:h,params:n.params};return a("div",{class:"vxe-table-export--panel-footer"},_?l.callSlot(_,e,a):[a("div",{class:"vxe-table-export--panel-btns"},[a("vxe-button",{props:{content:getI18n("vxe.export.expCancel")},on:{click:i.cancelEvent}}),a("vxe-button",{ref:"confirmBtn",props:{status:"primary",content:getI18n(u?"vxe.export.expPrint":"vxe.export.expConfirm")},on:{click:i.confirmEvent}})])])}}})}},render(e){return this.renderVN(e)}});
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _comp = require("../../../ui/src/comp");
|
|
7
8
|
var _ui = require("../../../ui");
|
|
8
9
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
9
10
|
var _utils = require("../../../ui/src/utils");
|
|
@@ -15,16 +16,18 @@ const {
|
|
|
15
16
|
globalMixins,
|
|
16
17
|
renderEmptyElement
|
|
17
18
|
} = _ui.VxeUI;
|
|
18
|
-
var _default = exports.default = {
|
|
19
|
+
var _default = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
|
|
19
20
|
name: 'VxeTableImportPanel',
|
|
20
21
|
mixins: [globalMixins.sizeMixin],
|
|
21
22
|
props: {
|
|
22
|
-
defaultOptions:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
defaultOptions: {
|
|
24
|
+
type: Object,
|
|
25
|
+
default: () => ({})
|
|
26
|
+
},
|
|
27
|
+
storeData: {
|
|
28
|
+
type: Object,
|
|
29
|
+
default: () => ({})
|
|
30
|
+
}
|
|
28
31
|
},
|
|
29
32
|
inject: {
|
|
30
33
|
$xeTable: {
|
|
@@ -32,32 +35,47 @@ var _default = exports.default = {
|
|
|
32
35
|
}
|
|
33
36
|
},
|
|
34
37
|
data() {
|
|
35
|
-
|
|
38
|
+
const reactData = {
|
|
36
39
|
loading: false
|
|
37
40
|
};
|
|
41
|
+
return {
|
|
42
|
+
reactData
|
|
43
|
+
};
|
|
38
44
|
},
|
|
39
|
-
computed: {
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
computed: Object.assign(Object.assign({}, {}), {
|
|
46
|
+
computeSelectName() {
|
|
47
|
+
const $xeImportPanel = this;
|
|
48
|
+
const props = $xeImportPanel;
|
|
49
|
+
const {
|
|
50
|
+
storeData
|
|
51
|
+
} = props;
|
|
52
|
+
return `${storeData.filename}.${storeData.type}`;
|
|
42
53
|
},
|
|
43
|
-
|
|
44
|
-
|
|
54
|
+
computeHasFile() {
|
|
55
|
+
const $xeImportPanel = this;
|
|
56
|
+
const props = $xeImportPanel;
|
|
57
|
+
const {
|
|
58
|
+
storeData
|
|
59
|
+
} = props;
|
|
60
|
+
return storeData.file && storeData.type;
|
|
45
61
|
},
|
|
46
|
-
|
|
62
|
+
computeParseTypeLabel() {
|
|
63
|
+
const $xeImportPanel = this;
|
|
64
|
+
const props = $xeImportPanel;
|
|
47
65
|
const {
|
|
48
66
|
storeData
|
|
49
|
-
} =
|
|
67
|
+
} = props;
|
|
50
68
|
const {
|
|
51
69
|
type,
|
|
52
70
|
typeList
|
|
53
71
|
} = storeData;
|
|
54
72
|
if (type) {
|
|
55
73
|
const selectItem = _xeUtils.default.find(typeList, item => type === item.value);
|
|
56
|
-
return selectItem ? selectItem.label : '*.*'
|
|
74
|
+
return `${selectItem ? selectItem.label : '*.*'}`;
|
|
57
75
|
}
|
|
58
76
|
return `*.${typeList.map(item => item.value).join(', *.')}`;
|
|
59
77
|
}
|
|
60
|
-
},
|
|
78
|
+
}),
|
|
61
79
|
created() {
|
|
62
80
|
const $xeTableImportPanel = this;
|
|
63
81
|
const VxeUIModalComponent = _ui.VxeUI.getComponent('VxeModal');
|
|
@@ -75,131 +93,6 @@ var _default = exports.default = {
|
|
|
75
93
|
}
|
|
76
94
|
});
|
|
77
95
|
},
|
|
78
|
-
render(h) {
|
|
79
|
-
const $xeTable = this.$parent;
|
|
80
|
-
const $xeGrid = $xeTable.$xeGrid;
|
|
81
|
-
const $xeGantt = $xeTable.$xeGantt;
|
|
82
|
-
const {
|
|
83
|
-
hasFile,
|
|
84
|
-
loading,
|
|
85
|
-
parseTypeLabel,
|
|
86
|
-
defaultOptions,
|
|
87
|
-
storeData,
|
|
88
|
-
selectName
|
|
89
|
-
} = this;
|
|
90
|
-
const slots = defaultOptions.slots || {};
|
|
91
|
-
const topSlot = slots.top;
|
|
92
|
-
const bottomSlot = slots.bottom;
|
|
93
|
-
const defaultSlot = slots.default;
|
|
94
|
-
const footerSlot = slots.footer;
|
|
95
|
-
return h('vxe-modal', {
|
|
96
|
-
ref: 'modal',
|
|
97
|
-
props: {
|
|
98
|
-
id: 'VXE_IMPORT_MODAL',
|
|
99
|
-
value: storeData.visible,
|
|
100
|
-
title: getI18n('vxe.import.impTitle'),
|
|
101
|
-
width: 540,
|
|
102
|
-
minWidth: 360,
|
|
103
|
-
minHeight: 240,
|
|
104
|
-
mask: true,
|
|
105
|
-
lockView: true,
|
|
106
|
-
showFooter: true,
|
|
107
|
-
escClosable: true,
|
|
108
|
-
maskClosable: true,
|
|
109
|
-
showMaximize: true,
|
|
110
|
-
resize: true,
|
|
111
|
-
loading
|
|
112
|
-
},
|
|
113
|
-
on: {
|
|
114
|
-
input(value) {
|
|
115
|
-
storeData.visible = value;
|
|
116
|
-
},
|
|
117
|
-
show: this.showEvent
|
|
118
|
-
},
|
|
119
|
-
scopedSlots: {
|
|
120
|
-
default: () => {
|
|
121
|
-
const params = {
|
|
122
|
-
$table: $xeTable,
|
|
123
|
-
$grid: $xeGrid,
|
|
124
|
-
$gantt: $xeGantt,
|
|
125
|
-
options: defaultOptions,
|
|
126
|
-
params: defaultOptions.params
|
|
127
|
-
};
|
|
128
|
-
return h('div', {
|
|
129
|
-
class: 'vxe-table-export--panel'
|
|
130
|
-
}, [topSlot ? h('div', {
|
|
131
|
-
class: 'vxe-table-export--panel-top'
|
|
132
|
-
}, $xeTable.callSlot(topSlot, params, h)) : renderEmptyElement(this), h('div', {
|
|
133
|
-
class: 'vxe-table-export--panel-body'
|
|
134
|
-
}, defaultSlot ? $xeTable.callSlot(defaultSlot, params, h) : [h('table', {
|
|
135
|
-
class: 'vxe-table-export--panel-table',
|
|
136
|
-
attrs: {
|
|
137
|
-
cellspacing: 0,
|
|
138
|
-
cellpadding: 0,
|
|
139
|
-
border: 0
|
|
140
|
-
}
|
|
141
|
-
}, [h('tbody', [h('tr', [h('td', getI18n('vxe.import.impFile')), h('td', [hasFile ? h('div', {
|
|
142
|
-
class: 'vxe-table-export--selected--file',
|
|
143
|
-
attrs: {
|
|
144
|
-
title: selectName
|
|
145
|
-
}
|
|
146
|
-
}, [h('span', selectName), h('i', {
|
|
147
|
-
class: getIcon().INPUT_CLEAR,
|
|
148
|
-
on: {
|
|
149
|
-
click: this.clearFileEvent
|
|
150
|
-
}
|
|
151
|
-
})]) : h('button', {
|
|
152
|
-
ref: 'fileBtn',
|
|
153
|
-
class: 'vxe-table-export--select--file',
|
|
154
|
-
attrs: {
|
|
155
|
-
type: 'button'
|
|
156
|
-
},
|
|
157
|
-
on: {
|
|
158
|
-
click: this.selectFileEvent
|
|
159
|
-
}
|
|
160
|
-
}, 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', {
|
|
161
|
-
props: {
|
|
162
|
-
value: defaultOptions.mode,
|
|
163
|
-
options: storeData.modeList
|
|
164
|
-
},
|
|
165
|
-
on: {
|
|
166
|
-
modelValue(value) {
|
|
167
|
-
defaultOptions.mode = value;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
})])])])])]), bottomSlot ? h('div', {
|
|
171
|
-
class: 'vxe-table-export--panel-bottom'
|
|
172
|
-
}, $xeTable.callSlot(bottomSlot, params, h)) : renderEmptyElement(this)]);
|
|
173
|
-
},
|
|
174
|
-
footer: () => {
|
|
175
|
-
const params = {
|
|
176
|
-
$table: $xeTable,
|
|
177
|
-
$grid: $xeGrid,
|
|
178
|
-
$gantt: $xeGantt,
|
|
179
|
-
options: defaultOptions,
|
|
180
|
-
params: defaultOptions.params
|
|
181
|
-
};
|
|
182
|
-
return h('div', {
|
|
183
|
-
class: 'vxe-table-export--panel-footer'
|
|
184
|
-
}, footerSlot ? $xeTable.callSlot(footerSlot, params, h) : [h('div', {
|
|
185
|
-
class: 'vxe-table-export--panel-btns'
|
|
186
|
-
}, [h('vxe-button', {
|
|
187
|
-
on: {
|
|
188
|
-
click: this.cancelEvent
|
|
189
|
-
}
|
|
190
|
-
}, getI18n('vxe.import.impCancel')), h('vxe-button', {
|
|
191
|
-
props: {
|
|
192
|
-
status: 'primary',
|
|
193
|
-
disabled: !hasFile || loading
|
|
194
|
-
},
|
|
195
|
-
on: {
|
|
196
|
-
click: this.importEvent
|
|
197
|
-
}
|
|
198
|
-
}, getI18n('vxe.import.impConfirm'))])]);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
},
|
|
203
96
|
methods: {
|
|
204
97
|
clearFileEvent() {
|
|
205
98
|
Object.assign(this.storeData, {
|
|
@@ -209,39 +102,187 @@ var _default = exports.default = {
|
|
|
209
102
|
});
|
|
210
103
|
},
|
|
211
104
|
selectFileEvent() {
|
|
212
|
-
const $
|
|
213
|
-
|
|
105
|
+
const $xeImportPanel = this;
|
|
106
|
+
const props = $xeImportPanel;
|
|
107
|
+
const $xeTable = $xeImportPanel.$xeTable;
|
|
108
|
+
const {
|
|
109
|
+
storeData,
|
|
110
|
+
defaultOptions
|
|
111
|
+
} = props;
|
|
112
|
+
$xeTable.readFile(defaultOptions).then(params => {
|
|
214
113
|
const {
|
|
215
114
|
file
|
|
216
115
|
} = params;
|
|
217
|
-
Object.assign(
|
|
116
|
+
Object.assign(storeData, (0, _utils.parseFile)(file), {
|
|
218
117
|
file
|
|
219
118
|
});
|
|
220
|
-
}).catch(
|
|
119
|
+
}).catch(() => {});
|
|
221
120
|
},
|
|
222
121
|
showEvent() {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
} = this;
|
|
227
|
-
const targetElem = $refs.fileBtn;
|
|
122
|
+
const $xeImportPanel = this;
|
|
123
|
+
$xeImportPanel.$nextTick(() => {
|
|
124
|
+
const targetElem = $xeImportPanel.$refs.fileBtn;
|
|
228
125
|
if (targetElem) {
|
|
229
126
|
targetElem.focus();
|
|
230
127
|
}
|
|
231
128
|
});
|
|
232
129
|
},
|
|
233
130
|
cancelEvent() {
|
|
234
|
-
|
|
131
|
+
const $xeImportPanel = this;
|
|
132
|
+
const props = $xeImportPanel;
|
|
133
|
+
const {
|
|
134
|
+
storeData
|
|
135
|
+
} = props;
|
|
136
|
+
storeData.visible = false;
|
|
235
137
|
},
|
|
236
138
|
importEvent() {
|
|
237
|
-
const $
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
139
|
+
const $xeImportPanel = this;
|
|
140
|
+
const props = $xeImportPanel;
|
|
141
|
+
const reactData = $xeImportPanel.reactData;
|
|
142
|
+
const $xeTable = $xeImportPanel.$xeTable;
|
|
143
|
+
const {
|
|
144
|
+
storeData,
|
|
145
|
+
defaultOptions
|
|
146
|
+
} = props;
|
|
147
|
+
const importOpts = $xeTable.computeImportOpts;
|
|
148
|
+
reactData.loading = true;
|
|
149
|
+
$xeTable.importByFile(storeData.file, Object.assign({}, importOpts, defaultOptions)).then(() => {
|
|
150
|
+
reactData.loading = false;
|
|
151
|
+
storeData.visible = false;
|
|
242
152
|
}).catch(() => {
|
|
243
|
-
|
|
153
|
+
reactData.loading = false;
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
renderVN(h) {
|
|
157
|
+
const $xeImportPanel = this;
|
|
158
|
+
const props = $xeImportPanel;
|
|
159
|
+
const reactData = $xeImportPanel.reactData;
|
|
160
|
+
const $xeTable = $xeImportPanel.$xeTable;
|
|
161
|
+
const $xeGrid = $xeTable.$xeGrid;
|
|
162
|
+
const $xeGantt = $xeTable.$xeGantt;
|
|
163
|
+
const {
|
|
164
|
+
defaultOptions,
|
|
165
|
+
storeData
|
|
166
|
+
} = props;
|
|
167
|
+
const selectName = $xeImportPanel.computeSelectName;
|
|
168
|
+
const hasFile = $xeImportPanel.computeHasFile;
|
|
169
|
+
const parseTypeLabel = $xeImportPanel.computeParseTypeLabel;
|
|
170
|
+
const slots = defaultOptions.slots || {};
|
|
171
|
+
const topSlot = slots.top;
|
|
172
|
+
const bottomSlot = slots.bottom;
|
|
173
|
+
const defaultSlot = slots.default;
|
|
174
|
+
const footerSlot = slots.footer;
|
|
175
|
+
return h('vxe-modal', {
|
|
176
|
+
ref: 'modal',
|
|
177
|
+
props: {
|
|
178
|
+
id: 'VXE_IMPORT_MODAL',
|
|
179
|
+
value: storeData.visible,
|
|
180
|
+
title: getI18n('vxe.import.impTitle'),
|
|
181
|
+
width: 540,
|
|
182
|
+
minWidth: 360,
|
|
183
|
+
minHeight: 240,
|
|
184
|
+
mask: true,
|
|
185
|
+
lockView: true,
|
|
186
|
+
showFooter: true,
|
|
187
|
+
escClosable: true,
|
|
188
|
+
maskClosable: true,
|
|
189
|
+
showMaximize: true,
|
|
190
|
+
resize: true,
|
|
191
|
+
loading: reactData.loading
|
|
192
|
+
},
|
|
193
|
+
on: {
|
|
194
|
+
input(value) {
|
|
195
|
+
storeData.visible = value;
|
|
196
|
+
},
|
|
197
|
+
show: $xeImportPanel.showEvent
|
|
198
|
+
},
|
|
199
|
+
scopedSlots: {
|
|
200
|
+
default: () => {
|
|
201
|
+
const params = {
|
|
202
|
+
$table: $xeTable,
|
|
203
|
+
$grid: $xeGrid,
|
|
204
|
+
$gantt: $xeGantt,
|
|
205
|
+
options: defaultOptions,
|
|
206
|
+
params: defaultOptions.params
|
|
207
|
+
};
|
|
208
|
+
return h('div', {
|
|
209
|
+
class: 'vxe-table-export--panel'
|
|
210
|
+
}, [topSlot ? h('div', {
|
|
211
|
+
class: 'vxe-table-export--panel-top'
|
|
212
|
+
}, $xeTable.callSlot(topSlot, params, h)) : renderEmptyElement($xeTable), h('div', {
|
|
213
|
+
class: 'vxe-table-export--panel-body'
|
|
214
|
+
}, defaultSlot ? $xeTable.callSlot(defaultSlot, params, h) : [h('table', {
|
|
215
|
+
class: 'vxe-table-export--panel-table',
|
|
216
|
+
attrs: {
|
|
217
|
+
cellspacing: 0,
|
|
218
|
+
cellpadding: 0,
|
|
219
|
+
border: 0
|
|
220
|
+
}
|
|
221
|
+
}, [h('tbody', [h('tr', [h('td', getI18n('vxe.import.impFile')), h('td', [hasFile ? h('div', {
|
|
222
|
+
class: 'vxe-table-export--selected--file',
|
|
223
|
+
attrs: {
|
|
224
|
+
title: selectName
|
|
225
|
+
}
|
|
226
|
+
}, [h('span', selectName), h('i', {
|
|
227
|
+
class: getIcon().INPUT_CLEAR,
|
|
228
|
+
on: {
|
|
229
|
+
click: $xeImportPanel.clearFileEvent
|
|
230
|
+
}
|
|
231
|
+
})]) : h('button', {
|
|
232
|
+
ref: 'fileBtn',
|
|
233
|
+
class: 'vxe-table-export--select--file',
|
|
234
|
+
attrs: {
|
|
235
|
+
type: 'button'
|
|
236
|
+
},
|
|
237
|
+
on: {
|
|
238
|
+
click: $xeImportPanel.selectFileEvent
|
|
239
|
+
}
|
|
240
|
+
}, 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', {
|
|
241
|
+
props: {
|
|
242
|
+
value: defaultOptions.mode,
|
|
243
|
+
options: storeData.modeList
|
|
244
|
+
},
|
|
245
|
+
on: {
|
|
246
|
+
modelValue(value) {
|
|
247
|
+
defaultOptions.mode = value;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
})])])])])]), bottomSlot ? h('div', {
|
|
251
|
+
class: 'vxe-table-export--panel-bottom'
|
|
252
|
+
}, $xeTable.callSlot(bottomSlot, params, h)) : renderEmptyElement($xeTable)]);
|
|
253
|
+
},
|
|
254
|
+
footer: () => {
|
|
255
|
+
const params = {
|
|
256
|
+
$table: $xeTable,
|
|
257
|
+
$grid: $xeGrid,
|
|
258
|
+
$gantt: $xeGantt,
|
|
259
|
+
options: defaultOptions,
|
|
260
|
+
params: defaultOptions.params
|
|
261
|
+
};
|
|
262
|
+
return h('div', {
|
|
263
|
+
class: 'vxe-table-export--panel-footer'
|
|
264
|
+
}, footerSlot ? $xeTable.callSlot(footerSlot, params, h) : [h('div', {
|
|
265
|
+
class: 'vxe-table-export--panel-btns'
|
|
266
|
+
}, [h('vxe-button', {
|
|
267
|
+
on: {
|
|
268
|
+
click: $xeImportPanel.cancelEvent
|
|
269
|
+
}
|
|
270
|
+
}, getI18n('vxe.import.impCancel')), h('vxe-button', {
|
|
271
|
+
props: {
|
|
272
|
+
status: 'primary',
|
|
273
|
+
disabled: !hasFile || reactData.loading
|
|
274
|
+
},
|
|
275
|
+
on: {
|
|
276
|
+
click: $xeImportPanel.importEvent
|
|
277
|
+
}
|
|
278
|
+
}, getI18n('vxe.import.impConfirm'))])]);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
244
281
|
});
|
|
245
282
|
}
|
|
283
|
+
},
|
|
284
|
+
render(h) {
|
|
285
|
+
return this.renderVN(h);
|
|
246
286
|
}
|
|
247
|
-
};
|
|
287
|
+
});
|
|
288
|
+
/* define-vxe-component end */
|
|
@@ -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,renderEmptyElement}=_ui.VxeUI;var _default=exports.default={name:"VxeTableImportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:Object,storeData:Object
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../../ui/src/comp"),_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=(0,_comp.defineVxeComponent)({name:"VxeTableImportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null}},data(){return{reactData:{loading:!1}}},computed:Object.assign(Object.assign({},{}),{computeSelectName(){var e=this.storeData;return e.filename+"."+e.type},computeHasFile(){var e=this.storeData;return e.file&&e.type},computeParseTypeLabel(){var e=this.storeData;let{type:t,typeList:l}=e;return t?""+((e=_xeUtils.default.find(l,e=>t===e.value))?e.label:"*.*"):"*."+l.map(e=>e.value).join(", *.")}}),created(){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),l=_ui.VxeUI.getComponent("VxeSelect");this.$nextTick(()=>{e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),t||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),l||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"])})},methods:{clearFileEvent(){Object.assign(this.storeData,{filename:"",sheetName:"",type:""})},selectFileEvent(){var e=this.$xeTable;let{storeData:t,defaultOptions:l}=this;e.readFile(l).then(e=>{e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(()=>{})},showEvent(){let t=this;t.$nextTick(()=>{var e=t.$refs.fileBtn;e&&e.focus()})},cancelEvent(){var e=this.storeData;e.visible=!1},importEvent(){var e=this;let t=e.reactData;var l=e.$xeTable;let{storeData:a,defaultOptions:o}=e;e=l.computeImportOpts;t.loading=!0,l.importByFile(a.file,Object.assign({},e,o)).then(()=>{t.loading=!1,a.visible=!1}).catch(()=>{t.loading=!1})},renderVN(t){let l=this;var e=l;let a=l.reactData,o=l.$xeTable,i=o.$xeGrid,r=o.$xeGantt,{defaultOptions:s,storeData:n}=e,p=l.computeSelectName,c=l.computeHasFile,d=l.computeParseTypeLabel;e=s.slots||{};let m=e.top,u=e.bottom,v=e.default,x=e.footer;return t("vxe-modal",{ref:"modal",props:{id:"VXE_IMPORT_MODAL",value:n.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:a.loading},on:{input(e){n.visible=e},show:l.showEvent},scopedSlots:{default:()=>{var e={$table:o,$grid:i,$gantt:r,options:s,params:s.params};return t("div",{class:"vxe-table-export--panel"},[m?t("div",{class:"vxe-table-export--panel-top"},o.callSlot(m,e,t)):renderEmptyElement(o),t("div",{class:"vxe-table-export--panel-body"},v?o.callSlot(v,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",[c?t("div",{class:"vxe-table-export--selected--file",attrs:{title:p}},[t("span",p),t("i",{class:getIcon().INPUT_CLEAR,on:{click:l.clearFileEvent}})]):t("button",{ref:"fileBtn",class:"vxe-table-export--select--file",attrs:{type:"button"},on:{click:l.selectFileEvent}},getI18n("vxe.import.impSelect"))])]),t("tr",[t("td",getI18n("vxe.import.impType")),t("td",d)]),t("tr",[t("td",getI18n("vxe.import.impMode")),t("td",[t("vxe-select",{props:{value:s.mode,options:n.modeList},on:{modelValue(e){s.mode=e}}})])])])])]),u?t("div",{class:"vxe-table-export--panel-bottom"},o.callSlot(u,e,t)):renderEmptyElement(o)])},footer:()=>{var e={$table:o,$grid:i,$gantt:r,options:s,params:s.params};return t("div",{class:"vxe-table-export--panel-footer"},x?o.callSlot(x,e,t):[t("div",{class:"vxe-table-export--panel-btns"},[t("vxe-button",{on:{click:l.cancelEvent}},getI18n("vxe.import.impCancel")),t("vxe-button",{props:{status:"primary",disabled:!c||a.loading},on:{click:l.importEvent}},getI18n("vxe.import.impConfirm"))])])}}})}},render(e){return this.renderVN(e)}});
|
|
@@ -535,8 +535,8 @@ var _default = exports.default = {
|
|
|
535
535
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
536
536
|
const mouseOpts = $xeTable.computeMouseOpts;
|
|
537
537
|
const editOpts = $xeTable.computeEditOpts;
|
|
538
|
-
if (mouseConfig && mouseOpts.area && $xeTable.
|
|
539
|
-
return $xeTable.
|
|
538
|
+
if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaModnEvent) {
|
|
539
|
+
return $xeTable.triggerClAreaModnEvent(evnt, params);
|
|
540
540
|
} else {
|
|
541
541
|
if (checkboxConfig && checkboxOpts.range) {
|
|
542
542
|
handleCheckboxRangeEvent($xeTable, evnt, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getCheckboxRangeRows(t,e,l,o,r,n,u){var i=t.showOverflow,{fullAllDataRowIdData:c,isResizeCellHeight:s}=t,d=t.computeRowOpts,h=t.computeCellOpts,g=t.computeDefaultRowHeight,l=l.row;let a=0,m=[],C=0;var p=0<u,w=t.scrollYLoad,v=t.afterFullData;if(C=p?n+u:r.height-n+Math.abs(u),w){r=t.getVTRowIndex(l);if(!(s||h.height||d.height)&&i)m=p?v.slice(r,r+Math.ceil(C/g)):v.slice(r-Math.floor(C/g),r+1);else if(p)for(let e=r;e<v.length;e++){var f=v[e],x=c[t.getRowid(f)]||{};if(a+=x.resizeHeight||h.height||d.height||x.height||g,m.push(f),a>C)return m}else for(let e=r;0<=e;e--){var R=v[e],b=c[t.getRowid(R)]||{};if(a+=b.resizeHeight||h.height||d.height||b.height||g,m.push(R),a>C)return m}}else for(var I=p?"next":"previous";o&&a<C;){var E=t.getRowNode(o);E&&(m.push(E.item),a+=o.offsetHeight,o=o[I+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,u){var{afterFullData:i,visibleColumn:c}=e;let s=Object.assign({},l);var l=e.getVTRowIndex(s.row),d=e.getVTColumnIndex(s.column);return t.preventDefault(),r&&0<l?(s.rowIndex=l-1,s.row=i[s.rowIndex]):u&&l<i.length-1?(s.rowIndex=l+1,s.row=i[s.rowIndex]):o&&d?(s.columnIndex=d-1,s.column=c[s.columnIndex]):n&&d<c.length-1&&(s.columnIndex=d+1,s.column=c[s.columnIndex]),e.scrollToRow(s.row,s.column).then(()=>{s.cell=e.getCellElement(s.row,s.column),e.handleSelected(s,t)}),s}function handleCheckboxRangeEvent(S,e,M){var t=S.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=M;if("checkbox"===r.type){let T=l;if(o&&"left"===r.fixed?T=o:t&&"right"===r.fixed&&(T=t),T){l=T.getBoundingClientRect();let t=S.$refs.refElem,i=e.clientX,c=e.clientY,s=T.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=S.getCheckboxRecords(),g=[],a=1,m=e.clientY-l.y+T.scrollTop,C=e.clientX-l.x+T.scrollLeft,p=T.scrollTop,u=d.offsetHeight,w=d.getBoundingClientRect(),v=c-w.y,f=null,x=!1,R=1,b=(e,t)=>{S.dispatchEvent("checkbox-range-"+e,{records:()=>S.getCheckboxRecords(),reserves:()=>S.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-c+(T.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=m,u=C;l<a?(n+=l)<a&&(n=a,o=m):o=Math.min(o,T.scrollHeight-m-a),t<a?(u+=t,r>C&&(u=a,r=C)):r=Math.min(r,T.clientWidth-C-a),s.style.height=o+"px",s.style.width=r+"px",s.style.left=u+"px",s.style.top=n+"px",s.style.display="block";t=getCheckboxRangeRows(S,e,M,d,w,v,l<a?-o:o);10<o&&t.length!==g.length&&(l=(0,_dom.hasControlKey)(e),g=t,l?t.forEach(e=>{S.handleBatchSelectRows([e],-1===h.indexOf(e))}):(S.setAllCheckboxRow(!1),S.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},E=()=>{clearTimeout(f),f=null},O=n=>{E(),f=setTimeout(()=>{var e,t,l,o,r;f&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=T,r=Math.ceil(50*R/u),x?t+l<o?(S.scrollTo(e,t+r),O(n),I(n)):E():t?(S.scrollTo(e,t-r),O(n),I(n)):E())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(T).boundingTop;t<l?(x=!1,R=l-t,f||O(e)):t>l+T.clientHeight?(x=!0,R=t-l-T.clientHeight,f||O(e)):f&&E(),I(e)},document.onmouseup=e=>{E(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:u}=o,i=o.computeEditOpts,c=o.computeRowOpts,s=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let g,a,m,C=Object.assign({},e);var e=o.getVTRowIndex(C.row),p=o.getVTColumnIndex(C.column),t=(l.preventDefault(),t?p<=0?0<e&&(a=e-1,g=n[a],m=u.length-1):m=p-1:p>=u.length-1?e<n.length-1&&(a=e+1,g=n[a],m=0):m=p+1,u[m]);t&&(g?(C.rowIndex=a,C.row=g):C.rowIndex=e,C.columnIndex=m,C.column=t,C.cell=o.getCellElement(C.row,C.column),c.isCurrent&&s.isFollowSelected&&o.triggerCurrentRowEvent(l,C),d.isCurrent&&h.isFollowSelected&&o.triggerCurrentColumnEvent(l,C),r?"click"!==i.trigger&&"dblclick"!==i.trigger||("row"===i.mode?o.handleEdit(C,l):o.scrollToRow(C.row,C.column).then(()=>{o.handleSelected(C,l)})):o.scrollToRow(C.row,C.column).then(()=>{o.handleSelected(C,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,u=o,r=r.treeConfig;let i=n.currentRow;var n=u.afterFullData,u=o.computeTreeOpts,u=u.children||u.childrenField;let c;if(i?r?({index:r,items:u}=_xeUtils.default.findTree(n,e=>e===i,{children:u}),e&&0<r?c=u[r-1]:t&&r<u.length-1&&(c=u[r+1])):(u=o.getVTRowIndex(i),e&&0<u?c=n[u-1]:t&&u<n.length-1&&(c=n[u+1])):c=n[0],c){l.preventDefault();let e={$table:o,row:c,rowIndex:o.getRowIndex(c),$rowIndex:o.getVMRowIndex(c)};o.scrollToRow(c).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let u=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?u=n[r-1]:t&&r<n.length-1&&(u=n[r+1])):u=n[0],u){l.preventDefault();let e={$table:o,column:u,columnIndex:o.getColumnIndex(u),$columnIndex:o.getVMColumnIndex(u)};o.scrollToColumn(u).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var u=this,{highlightCurrentRow:i,highlightCurrentColumn:c}=u,s=u.computeRowOpts,d=u.computeCurrentRowOpts,h=u.computeColumnOpts,g=u.computeCurrentColumnOpts,e=handleMoveSelected(u,n,e,t,l,o,r);(s.isCurrent||i)&&(d.isFollowSelected?u.triggerCurrentRowEvent(n,e):(l||r)&&(s.isCurrent||i)&&u.moveCurrentRow(l,r,n)),(h.isCurrent||c)&&(g.isFollowSelected?u.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||c)&&u.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var u=this,{highlightCurrentRow:i,highlightCurrentColumn:c}=u,s=u.computeRowOpts,d=u.computeCurrentRowOpts,h=u.computeColumnOpts,g=u.computeCurrentColumnOpts,e=handleMoveSelected(u,n,e,t,l,o,r);(s.isCurrent||i)&&d.isFollowSelected&&u.triggerCurrentRowEvent(n,e),(h.isCurrent||c)&&g.isFollowSelected&&u.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var l=this,{editConfig:o,checkboxConfig:r,mouseConfig:n}=l,u=l.computeCheckboxOpts,i=l.computeMouseOpts,c=l.computeEditOpts;if(n&&i.area&&l.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getCheckboxRangeRows(t,e,l,o,r,n,u){var i=t.showOverflow,{fullAllDataRowIdData:c,isResizeCellHeight:s}=t,d=t.computeRowOpts,h=t.computeCellOpts,g=t.computeDefaultRowHeight,l=l.row;let a=0,m=[],C=0;var p=0<u,w=t.scrollYLoad,v=t.afterFullData;if(C=p?n+u:r.height-n+Math.abs(u),w){r=t.getVTRowIndex(l);if(!(s||h.height||d.height)&&i)m=p?v.slice(r,r+Math.ceil(C/g)):v.slice(r-Math.floor(C/g),r+1);else if(p)for(let e=r;e<v.length;e++){var f=v[e],x=c[t.getRowid(f)]||{};if(a+=x.resizeHeight||h.height||d.height||x.height||g,m.push(f),a>C)return m}else for(let e=r;0<=e;e--){var R=v[e],b=c[t.getRowid(R)]||{};if(a+=b.resizeHeight||h.height||d.height||b.height||g,m.push(R),a>C)return m}}else for(var I=p?"next":"previous";o&&a<C;){var E=t.getRowNode(o);E&&(m.push(E.item),a+=o.offsetHeight,o=o[I+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,u){var{afterFullData:i,visibleColumn:c}=e;let s=Object.assign({},l);var l=e.getVTRowIndex(s.row),d=e.getVTColumnIndex(s.column);return t.preventDefault(),r&&0<l?(s.rowIndex=l-1,s.row=i[s.rowIndex]):u&&l<i.length-1?(s.rowIndex=l+1,s.row=i[s.rowIndex]):o&&d?(s.columnIndex=d-1,s.column=c[s.columnIndex]):n&&d<c.length-1&&(s.columnIndex=d+1,s.column=c[s.columnIndex]),e.scrollToRow(s.row,s.column).then(()=>{s.cell=e.getCellElement(s.row,s.column),e.handleSelected(s,t)}),s}function handleCheckboxRangeEvent(S,e,M){var t=S.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=M;if("checkbox"===r.type){let T=l;if(o&&"left"===r.fixed?T=o:t&&"right"===r.fixed&&(T=t),T){l=T.getBoundingClientRect();let t=S.$refs.refElem,i=e.clientX,c=e.clientY,s=T.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=S.getCheckboxRecords(),g=[],a=1,m=e.clientY-l.y+T.scrollTop,C=e.clientX-l.x+T.scrollLeft,p=T.scrollTop,u=d.offsetHeight,w=d.getBoundingClientRect(),v=c-w.y,f=null,x=!1,R=1,b=(e,t)=>{S.dispatchEvent("checkbox-range-"+e,{records:()=>S.getCheckboxRecords(),reserves:()=>S.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-c+(T.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=m,u=C;l<a?(n+=l)<a&&(n=a,o=m):o=Math.min(o,T.scrollHeight-m-a),t<a?(u+=t,r>C&&(u=a,r=C)):r=Math.min(r,T.clientWidth-C-a),s.style.height=o+"px",s.style.width=r+"px",s.style.left=u+"px",s.style.top=n+"px",s.style.display="block";t=getCheckboxRangeRows(S,e,M,d,w,v,l<a?-o:o);10<o&&t.length!==g.length&&(l=(0,_dom.hasControlKey)(e),g=t,l?t.forEach(e=>{S.handleBatchSelectRows([e],-1===h.indexOf(e))}):(S.setAllCheckboxRow(!1),S.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},E=()=>{clearTimeout(f),f=null},O=n=>{E(),f=setTimeout(()=>{var e,t,l,o,r;f&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=T,r=Math.ceil(50*R/u),x?t+l<o?(S.scrollTo(e,t+r),O(n),I(n)):E():t?(S.scrollTo(e,t-r),O(n),I(n)):E())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(T).boundingTop;t<l?(x=!1,R=l-t,f||O(e)):t>l+T.clientHeight?(x=!0,R=t-l-T.clientHeight,f||O(e)):f&&E(),I(e)},document.onmouseup=e=>{E(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:u}=o,i=o.computeEditOpts,c=o.computeRowOpts,s=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let g,a,m,C=Object.assign({},e);var e=o.getVTRowIndex(C.row),p=o.getVTColumnIndex(C.column),t=(l.preventDefault(),t?p<=0?0<e&&(a=e-1,g=n[a],m=u.length-1):m=p-1:p>=u.length-1?e<n.length-1&&(a=e+1,g=n[a],m=0):m=p+1,u[m]);t&&(g?(C.rowIndex=a,C.row=g):C.rowIndex=e,C.columnIndex=m,C.column=t,C.cell=o.getCellElement(C.row,C.column),c.isCurrent&&s.isFollowSelected&&o.triggerCurrentRowEvent(l,C),d.isCurrent&&h.isFollowSelected&&o.triggerCurrentColumnEvent(l,C),r?"click"!==i.trigger&&"dblclick"!==i.trigger||("row"===i.mode?o.handleEdit(C,l):o.scrollToRow(C.row,C.column).then(()=>{o.handleSelected(C,l)})):o.scrollToRow(C.row,C.column).then(()=>{o.handleSelected(C,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,u=o,r=r.treeConfig;let i=n.currentRow;var n=u.afterFullData,u=o.computeTreeOpts,u=u.children||u.childrenField;let c;if(i?r?({index:r,items:u}=_xeUtils.default.findTree(n,e=>e===i,{children:u}),e&&0<r?c=u[r-1]:t&&r<u.length-1&&(c=u[r+1])):(u=o.getVTRowIndex(i),e&&0<u?c=n[u-1]:t&&u<n.length-1&&(c=n[u+1])):c=n[0],c){l.preventDefault();let e={$table:o,row:c,rowIndex:o.getRowIndex(c),$rowIndex:o.getVMRowIndex(c)};o.scrollToRow(c).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let u=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?u=n[r-1]:t&&r<n.length-1&&(u=n[r+1])):u=n[0],u){l.preventDefault();let e={$table:o,column:u,columnIndex:o.getColumnIndex(u),$columnIndex:o.getVMColumnIndex(u)};o.scrollToColumn(u).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var u=this,{highlightCurrentRow:i,highlightCurrentColumn:c}=u,s=u.computeRowOpts,d=u.computeCurrentRowOpts,h=u.computeColumnOpts,g=u.computeCurrentColumnOpts,e=handleMoveSelected(u,n,e,t,l,o,r);(s.isCurrent||i)&&(d.isFollowSelected?u.triggerCurrentRowEvent(n,e):(l||r)&&(s.isCurrent||i)&&u.moveCurrentRow(l,r,n)),(h.isCurrent||c)&&(g.isFollowSelected?u.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||c)&&u.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var u=this,{highlightCurrentRow:i,highlightCurrentColumn:c}=u,s=u.computeRowOpts,d=u.computeCurrentRowOpts,h=u.computeColumnOpts,g=u.computeCurrentColumnOpts,e=handleMoveSelected(u,n,e,t,l,o,r);(s.isCurrent||i)&&d.isFollowSelected&&u.triggerCurrentRowEvent(n,e),(h.isCurrent||c)&&g.isFollowSelected&&u.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var l=this,{editConfig:o,checkboxConfig:r,mouseConfig:n}=l,u=l.computeCheckboxOpts,i=l.computeMouseOpts,c=l.computeEditOpts;if(n&&i.area&&l.triggerClAreaModnEvent)return l.triggerClAreaModnEvent(e,t);r&&u.range&&handleCheckboxRangeEvent(l,e,t),n&&i.selected&&(o&&"cell"!==c.mode||l.handleSelected(t,e))}}};
|