vxe-table 4.7.0 → 4.7.3
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/components.js +3 -1
- package/es/grid/src/grid.js +3 -2
- package/es/index.esm.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +2 -2
- package/es/table/module/custom/panel.js +2 -1
- package/es/table/module/edit/hook.js +2 -1
- package/es/table/module/export/export-panel.js +2 -1
- package/es/table/module/export/hook.js +2 -1
- package/es/table/module/export/import-panel.js +2 -1
- package/es/table/module/filter/hook.js +2 -1
- package/es/table/module/filter/panel.js +2 -1
- package/es/table/module/keyboard/hook.js +2 -1
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +2 -1
- package/es/table/render/index.js +2 -1
- package/es/table/src/body.js +2 -1
- package/es/table/src/cell.js +2 -1
- package/es/table/src/columnInfo.js +2 -1
- package/es/table/src/props.js +2 -1
- package/es/table/src/table.js +16 -2
- package/es/table/style.css +4 -2
- package/es/table/style.min.css +1 -1
- package/es/toolbar/src/toolbar.js +3 -2
- package/es/ui/index.js +4 -2
- package/es/ui/src/utils.js +3 -3
- package/es/v-x-e-table/index.js +3 -0
- package/es/v-x-e-table/style.css +0 -0
- package/es/v-x-e-table/style.min.css +0 -0
- package/es/vxe-table/style.css +4 -2
- package/es/vxe-table/style.min.css +1 -1
- package/es/vxe-v-x-e-table/index.js +3 -0
- package/es/vxe-v-x-e-table/style.css +0 -0
- package/es/vxe-v-x-e-table/style.min.css +0 -0
- package/lib/components.js +10 -2
- package/lib/components.min.js +1 -1
- package/lib/grid/src/grid.js +40 -29
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.common.js +5 -5
- package/lib/index.umd.js +570 -437
- 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/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +27 -23
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +20 -13
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +35 -31
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +24 -18
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +12 -8
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/hook.js +7 -3
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +13 -8
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +4 -1
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +11 -5
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +13 -7
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +11 -5
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +7 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +26 -21
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +15 -10
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/props.js +27 -24
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +173 -146
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +4 -2
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/src/toolbar.js +48 -38
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +5 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/utils.js +2 -2
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/v-x-e-table/index.js +22 -0
- package/lib/v-x-e-table/index.min.js +1 -0
- package/lib/v-x-e-table/style/index.js +1 -0
- package/lib/v-x-e-table/style/style.css +0 -0
- package/lib/v-x-e-table/style/style.min.css +0 -0
- package/lib/vxe-table/style/style.css +4 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-v-x-e-table/index.js +22 -0
- package/lib/vxe-v-x-e-table/index.min.js +1 -0
- package/lib/vxe-v-x-e-table/style/index.js +1 -0
- package/lib/vxe-v-x-e-table/style/style.css +0 -0
- package/lib/vxe-v-x-e-table/style/style.min.css +0 -0
- package/package.json +2 -2
- package/packages/components.ts +4 -1
- package/packages/grid/src/grid.ts +5 -4
- package/packages/index.ts +2 -2
- package/packages/table/module/custom/hook.ts +2 -2
- package/packages/table/module/custom/panel.ts +4 -3
- package/packages/table/module/edit/hook.ts +3 -1
- package/packages/table/module/export/export-panel.ts +4 -3
- package/packages/table/module/export/hook.ts +3 -1
- package/packages/table/module/export/import-panel.ts +4 -3
- package/packages/table/module/filter/hook.ts +3 -1
- package/packages/table/module/filter/panel.ts +3 -1
- package/packages/table/module/keyboard/hook.ts +3 -1
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +3 -1
- package/packages/table/render/index.ts +4 -3
- package/packages/table/src/body.ts +4 -2
- package/packages/table/src/cell.ts +4 -2
- package/packages/table/src/columnInfo.ts +2 -1
- package/packages/table/src/props.ts +3 -1
- package/packages/table/src/table.ts +18 -4
- package/packages/toolbar/src/toolbar.ts +5 -4
- package/packages/ui/index.ts +3 -0
- package/packages/ui/src/utils.ts +3 -3
- package/packages/ui/src/vn.ts +2 -1
- package/packages/v-x-e-table/index.d.ts +4 -0
- package/packages/v-x-e-table/index.ts +4 -0
- package/styles/components/table.scss +5 -2
- package/styles/components/v-x-e-table.scss +0 -0
- package/styles/theme/base.scss +1 -0
- package/types/all.d.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const 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;const 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};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const 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 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,r){t=t.split(enterSymbol);const o=[];let a=[];if(t.length){const i={},n=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(n);return i[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(n);return i[l]=replaceTxtCell(t,i),l})).split(r);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),i))}),o.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),i))}})}return{fields:a,rows:o}}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");const 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=>{const 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");const 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){const 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 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 checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];_vxePcUi.hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:U,internalData:y}=C,{computeTreeOpts:E,computePrintOpts:r,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:f,computeSeqOpts:a,computeRadioOpts:i,computeCheckboxOpts:n,computeColumnOpts:s}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),g=(e,t,l,r)=>{var o=a.value.seqMethod||l.seqMethod;return o?o({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:r}):C.getRowSeq(e)};function k(e,t){var l=s.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const b=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,o,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=i.value,h=n.value;var l=E.value;const m=s.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],v=new Map;return _xeUtils.default.eachTree(e,(i,n,e,s,t,l)=>{const d=i._row||i;var r,i=t&&t._row?t._row:t;if(a||!i||v.has(i)&&C.isTreeExpandByRow(i)){t=d,r=(r=E.value).children||r.childrenField;t=t[r]&&t[r].length;const i={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&o&&o.name&&(o=_vxePcUi.renderer.get(o.name))?o.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?s.map((e,t)=>t%2==0?Number(e)+1:".").join(""):g(d,n,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(d)),i._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=b(C.isCheckedByRadioRow(d)),i._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(d,e))&&(l=r.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),v.set(d,1),x.push(Object.assign(i,d))}},{children:t}),x}return e.map((i,n)=>{const s={_row:i};return o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&o&&o.name&&(o=_vxePcUi.renderer.get(o.name))?o.exportMethod:a)l=a({$table:C,row:i,column:e,options:c});else switch(e.type){case"seq":l="all"===p?n+1:g(i,n,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(i)),s._checkboxLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:i});break;case"radio":l=b(C.isCheckedByRadioRow(i)),s._radioLabel=u.labelField?_xeUtils.default.get(i,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:i});break;default:c.original?l=(0,_util.getCellValue)(i,e):(l=C.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(i,e))&&(l=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),s})},P=(e,t,l)=>{var r=s.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=_vxePcUi.renderer.get(o.name))?o.footerExportMethod:a)||r.footerExportMethod;o=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.toValueString(t[o])},p=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(k(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=U["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(P(l,t,e))).join(",")+enterSymbol})),r},u=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(k(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=U["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(P(l,t,e))).join(",")+enterSymbol})),r},j=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=U;return r=l||e?r||!0:r},h=(n,e,t)=>{const{id:d,border:l,treeConfig:r,headerAlign:s,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:o,mergeList:m}=U,i=E.value,{print:x,isHeader:v,isFooter:f,isColgroup:g,isMerge:b,colgroups:_,original:y}=n,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(w.push("<thead>"),g&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||c,l=j(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=k(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 ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||c,l=j(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=k(n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=j(t,"showOverflow",p)?["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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.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 ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`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 ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],r=s[e.id];let o=1,a=1;if(b&&m.length){var i=C.getVTRowIndex(s._row),n=C.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(m,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 ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`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 ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=U["footerTableData"],(t=getFooterData(n,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],r=P(n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!h&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(n,w.join(""))},m=(l,e,t)=>{let r=['<?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="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${k(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=U["footerTableData"],getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${P(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},M=i=>{const{remote:l,columns:n,colgroups:r,exportMethod:o,afterExportMethod:t}=i;return new Promise(e=>{if(l){var t={options:i,$table:C,$grid:w};e(o?o(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,r)})(i);e(C.preventEvent(null,"event.export",{options:i,columns:n,colgroups:r,datas:a},()=>{var e=i,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(i,n,a),{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_vxePcUi.VxeUI.saveFile&&_vxePcUi.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(n),i.print||t&&t({status:!0,options:i,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),i.print||t&&t({status:!1,options:i,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,i)=>{const{importMethod:n,afterImportMethod:t}=i,{type:s,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},r=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=r,window.FileReader){const d=Object.assign({mode:"insert"},i,{type:s,filename:c});var o;d.remote?n?Promise.resolve(n({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:o},()=>{var e=new FileReader;e.onerror=()=>{_vxePcUi.log.err("vxe.error.notType",[s]),r({status:!1})},e.onload=t=>{{var l=t.target.result,r=d;const{tableFullColumn:o,_importResolve:a,_importReject:i}=y;let e={fields:[],rows:[]};switch(r.type){case"csv":e=parseCsv(o,l);break;case"txt":e=parseTxt(o,l);break;case"html":e=parseHTML(o,l);break;case"xml":e=parseXML(o,l)}const{fields:n,rows:s}=e;checkImportData(o,n)?C.createData(s).then(e=>{let t;return t="insert"===r.mode?C.insert(e):C.reloadData(e),!1!==r.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.table.impSuccess",[s.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==r.message&&(_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&_vxePcUi.log.err("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:C})}).catch(e=>(t&&t({status:!1,options:i,$table:C}),Promise.reject(e))):(!1!==i.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.error.notType",[s]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=T,{initStore:a,mergeList:i,isGroup:n,footerTableData:s,exportStore:d,exportParams:c}=U,p=y["collectColumn"],u=$.value,h=f.value,m=C.getCheckboxRecords(),s=!!s.length,i=!l&&i.length,r=Object.assign({message:!0,isHeader:r,isFooter:o},e),o=r.types||_xeUtils.default.keys(u._typeMaps),e=r.modes;const x=h.checkMethod;u=p.slice(0);const v=r["columns"];h=o.map(e=>({value:e,label:"vxe.export.types."+e})),p=e.map(e=>({value:e,label:"vxe.export.modes."+e}));return _xeUtils.default.eachTree(u,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=v?v.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||!!x&&!x({column:r}))}),Object.assign(d,{columns:u,typeList:h,modeList:p,hasFooter:s,hasMerge:i,hasTree:l,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},r),-1===e.indexOf(c.mode)&&(c.mode=e[0]),-1===o.indexOf(c.type)&&(c.type=o[0]),a.export=!0,(0,_vue.nextTick)()},o={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:r}=U;const{tableFullColumn:a,afterFullData:o}=y;var i=$.value,n=E.value;const s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},i,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=s;let h=[];c=c&&c.length?c:null;let m=s.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(s._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const r=e.type,o=e.property||e.field;l?t=C.getColumnById(l):o&&r?t=a.find(e=>e.property===o&&e.type===r):o?t=C.getColumnByField(o):r&&(t=a.find(e=>e.type===r))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?r:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),s.columns=x,s.colgroups=convertToRows(h),s.filename||(s.filename=(0,_vxePcUi.getI18n)(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(i._typeMaps),e))return"development"===process.env.NODE_ENV&&_vxePcUi.log.err("vxe.error.notType",[e]),Promise.reject({status:!1});if(s.print||u&&u({options:s,$table:C,$grid:w}),!s.data)if(s.data=o,"selected"===d){const v=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?s.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(v,e),Object.assign({},n,{data:"_row"})):s.data=v}else if("all"===d&&("development"!==process.env.NODE_ENV||w||_vxePcUi.log.warn("vxe.error.errProp",["all","mode=current,selected"]),w)&&!s.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:f,afterQueryAll:g,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||_vxePcUi.log.warn("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:s};return Promise.resolve((f||l)(_)).catch(e=>e).then(e=>(s.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],g&&g(_),M(s)))}}return M(s)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:C}),_vxePcUi.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _vxePcUi.VxeUI.saveFile(e)},readFile(e){return _vxePcUi.VxeUI.readFile(e)},print(e){var t=r.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return l.sheetName||(l.sheetName=document.title),new Promise((e,t)=>{_vxePcUi.VxeUI.print?l.content?e(_vxePcUi.VxeUI.print({content:l.content})):e(o.exportData(l).then(({content:e})=>_vxePcUi.VxeUI.print({content:e}))):t({status:!1})})},openImport(e){var{treeConfig:t,importConfig:l}=T,{initStore:r,importStore:o,importParams:a}=U,i=d.value,e=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(i._typeMaps)},e,i),i=e["types"];!t?(l||_vxePcUi.log.err("vxe.error.reqProp",["import-config"]),t=i.map(e=>({value:e,label:"vxe.export.types."+e})),l=e.modes.map(e=>({value:e,label:"vxe.import.modes."+e})),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,e),r.import=!0):e.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value;"development"!==process.env.NODE_ENV||T.exportConfig||_vxePcUi.log.err("vxe.error.reqProp",["export-config"]),l(Object.assign({},t,e))},openPrint(e){var t=r.value;"development"!==process.env.NODE_ENV||T.printConfig||_vxePcUi.log.err("vxe.error.reqProp",["print-config"]),l(Object.assign({},t,e),!0)}};return o},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer,log}=_vxePcUi.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const 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;const 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};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const 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 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,r){t=t.split(enterSymbol);const o=[];let a=[];if(t.length){const n={},s=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(s);return n[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(s);return n[l]=replaceTxtCell(t,n),l})).split(r);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),n))}),o.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),n))}})}return{fields:a,rows:o}}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");const 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=>{const 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");const 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){const 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 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 checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:y}=C,{computeTreeOpts:k,computePrintOpts:r,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:g,computeSeqOpts:a,computeRadioOpts:n,computeCheckboxOpts:s,computeColumnOpts:i}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),f=(e,t,l,r)=>{var o=a.value.seqMethod||l.seqMethod;return o?o({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:r}):C.getRowSeq(e)};function U(e,t){var l=i.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const b=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,o,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=n.value,h=s.value;var l=k.value;const m=i.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],v=new Map;return _xeUtils.default.eachTree(e,(n,s,e,i,t,l)=>{const d=n._row||n;var r,n=t&&t._row?t._row:t;if(a||!n||v.has(n)&&C.isTreeExpandByRow(n)){t=d,r=(r=k.value).children||r.childrenField;t=t[r]&&t[r].length;const n={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?i.map((e,t)=>t%2==0?Number(e)+1:".").join(""):f(d,s,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(d)),n._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=b(C.isCheckedByRadioRow(d)),n._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",n._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(d,e))&&(l=r.innerText.trim()))}n[e.id]=_xeUtils.default.toValueString(l)}),v.set(d,1),x.push(Object.assign(n,d))}},{children:t}),x}return e.map((n,s)=>{const i={_row:n};return o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.exportMethod:a)l=a({$table:C,row:n,column:e,options:c});else switch(e.type){case"seq":l="all"===p?s+1:f(n,s,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(n)),i._checkboxLabel=h.labelField?_xeUtils.default.get(n,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:n});break;case"radio":l=b(C.isCheckedByRadioRow(n)),i._radioLabel=u.labelField?_xeUtils.default.get(n,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:n});break;default:c.original?l=(0,_util.getCellValue)(n,e):(l=C.getCellLabel(n,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(n,e))&&(l=r.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),i})},j=(e,t,l)=>{var r=i.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.footerExportMethod:a)||r.footerExportMethod;o=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.toValueString(t[o])},p=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(U(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(j(l,t,e))).join(",")+enterSymbol})),r},u=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(U(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(j(l,t,e))).join(",")+enterSymbol})),r},M=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=E;return r=l||e?r||!0:r},h=(s,e,t)=>{const{id:d,border:l,treeConfig:r,headerAlign:i,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:o,mergeList:m}=E,n=k.value,{print:x,isHeader:v,isFooter:g,isColgroup:f,isMerge:b,colgroups:_,original:y}=s,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(w.push("<thead>"),f&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||i||c,l=M(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=U(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var n=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${n}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${n}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||i||c,l=M(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=U(s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=M(t,"showOverflow",p)?["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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`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 ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(i=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=M(e,"showOverflow",p)?["col--ellipsis"]:[],r=i[e.id];let o=1,a=1;if(b&&m.length){var n=C.getVTRowIndex(i._row),s=C.getVTColumnIndex(e),n=(0,_util.mergeBodyMethod)(m,n,s);if(n){var{rowspan:s,colspan:n}=n;if(!s||!n)return"";1<s&&(o=s),1<n&&(a=n)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${i._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${i._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${i._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${i._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),g&&(t=E["footerTableData"],(t=getFooterData(s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=M(e,"showOverflow",p)?["col--ellipsis"]:[],r=j(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!h&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},m=(l,e,t)=>{let r=['<?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="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${U(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${j(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},I=n=>{const{remote:l,columns:s,colgroups:r,exportMethod:o,afterExportMethod:t}=n;return new Promise(e=>{if(l){var t={options:n,$table:C,$grid:w};e(o?o(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,r)})(n);e(C.preventEvent(null,"event.export",{options:n,columns:s,colgroups:r,datas:a},()=>{var e=n,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(n,s,a),{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_vxePcUi.VxeUI.saveFile&&_vxePcUi.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(s),n.print||t&&t({status:!0,options:n,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(s),n.print||t&&t({status:!1,options:n,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,n)=>{const{importMethod:s,afterImportMethod:t}=n,{type:i,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),i)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},r=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=r,window.FileReader){const d=Object.assign({mode:"insert"},n,{type:i,filename:c});var o;d.remote?s?Promise.resolve(s({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:o},()=>{var e=new FileReader;e.onerror=()=>{log.err("vxe.error.notType",[i]),r({status:!1})},e.onload=t=>{{var l=t.target.result,r=d;const{tableFullColumn:o,_importResolve:a,_importReject:n}=y;let e={fields:[],rows:[]};switch(r.type){case"csv":e=parseCsv(o,l);break;case"txt":e=parseTxt(o,l);break;case"html":e=parseHTML(o,l);break;case"xml":e=parseXML(o,l)}const{fields:s,rows:i}=e;checkImportData(o,s)?C.createData(i).then(e=>{let t;return t="insert"===r.mode?C.insert(e):C.reloadData(e),!1!==r.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[i.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==r.message&&(_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),n)&&n({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&log.err("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:C})}).catch(e=>(t&&t({status:!1,options:n,$table:C}),Promise.reject(e))):(!1!==n.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:getI18n("vxe.error.notType",[i]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=T,{initStore:a,mergeList:n,isGroup:s,footerTableData:i,exportStore:d,exportParams:c}=E,p=y["collectColumn"],u=$.value,h=g.value,m=C.getCheckboxRecords(),i=!!i.length,n=!l&&n.length,r=Object.assign({message:!0,isHeader:r,isFooter:o},e),o=r.types||_xeUtils.default.keys(u._typeMaps),e=r.modes;const x=h.checkMethod;u=p.slice(0);const v=r["columns"];h=o.map(e=>({value:e,label:"vxe.export.types."+e})),p=e.map(e=>({value:e,label:"vxe.export.modes."+e}));return _xeUtils.default.eachTree(u,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=v?v.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||!!x&&!x({column:r}))}),Object.assign(d,{columns:u,typeList:h,modeList:p,hasFooter:i,hasMerge:n,hasTree:l,isPrint:t,hasColgroup:s,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},r),-1===e.indexOf(c.mode)&&(c.mode=e[0]),-1===o.indexOf(c.type)&&(c.type=o[0]),a.export=!0,(0,_vue.nextTick)()},o={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:r}=E;const{tableFullColumn:a,afterFullData:o}=y;var n=$.value,s=k.value;const i=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},n,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=i;let h=[];c=c&&c.length?c:null;let m=i.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(i._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const r=e.type,o=e.property||e.field;l?t=C.getColumnById(l):o&&r?t=a.find(e=>e.property===o&&e.type===r):o?t=C.getColumnByField(o):r&&(t=a.find(e=>e.type===r))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?r:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),i.columns=x,i.colgroups=convertToRows(h),i.filename||(i.filename=getI18n(i.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),i.sheetName||(i.sheetName=document.title),!i.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),e))return"development"===process.env.NODE_ENV&&log.err("vxe.error.notType",[e]),Promise.reject({status:!1});if(i.print||u&&u({options:i,$table:C,$grid:w}),!i.data)if(i.data=o,"selected"===d){const v=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?i.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(v,e),Object.assign({},s,{data:"_row"})):i.data=v}else if("all"===d&&("development"!==process.env.NODE_ENV||w||log.warn("vxe.error.errProp",["all","mode=current,selected"]),w)&&!i.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:g,afterQueryAll:f,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||log.warn("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:i};return Promise.resolve((g||l)(_)).catch(e=>e).then(e=>(i.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],f&&f(_),I(i)))}}return I(i)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:C}),_vxePcUi.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _vxePcUi.VxeUI.saveFile(e)},readFile(e){return _vxePcUi.VxeUI.readFile(e)},print(e){var t=r.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return l.sheetName||(l.sheetName=document.title),new Promise((e,t)=>{_vxePcUi.VxeUI.print?l.content?e(_vxePcUi.VxeUI.print({content:l.content})):e(o.exportData(l).then(({content:e})=>_vxePcUi.VxeUI.print({content:e}))):t({status:!1})})},openImport(e){var{treeConfig:t,importConfig:l}=T,{initStore:r,importStore:o,importParams:a}=E,n=d.value,e=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(n._typeMaps)},e,n),n=e["types"];!t?(l||log.err("vxe.error.reqProp",["import-config"]),t=n.map(e=>({value:e,label:"vxe.export.types."+e})),l=e.modes.map(e=>({value:e,label:"vxe.import.modes."+e})),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,e),r.import=!0):e.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value;"development"!==process.env.NODE_ENV||T.exportConfig||log.err("vxe.error.reqProp",["export-config"]),l(Object.assign({},t,e))},openPrint(e){var t=r.value;"development"!==process.env.NODE_ENV||T.printConfig||log.err("vxe.error.reqProp",["print-config"]),l(Object.assign({},t,e),!0)}};return o},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
@@ -9,6 +9,10 @@ var _vxePcUi = require("vxe-pc-ui");
|
|
|
9
9
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
10
10
|
var _utils = require("../../../ui/src/utils");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
const {
|
|
13
|
+
getI18n,
|
|
14
|
+
getIcon
|
|
15
|
+
} = _vxePcUi.VxeUI;
|
|
12
16
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
13
17
|
name: 'VxeTableImportPanel',
|
|
14
18
|
props: {
|
|
@@ -46,7 +50,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
46
50
|
} = storeData;
|
|
47
51
|
if (type) {
|
|
48
52
|
const selectItem = _xeUtils.default.find(typeList, item => type === item.value);
|
|
49
|
-
return selectItem ?
|
|
53
|
+
return selectItem ? getI18n(selectItem.label) : '*.*';
|
|
50
54
|
}
|
|
51
55
|
return `*.${typeList.map(item => item.value).join(', *.')}`;
|
|
52
56
|
});
|
|
@@ -112,7 +116,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
112
116
|
const parseTypeLabel = computeParseTypeLabel.value;
|
|
113
117
|
return (0, _vue.h)((0, _vue.resolveComponent)('vxe-modal'), {
|
|
114
118
|
modelValue: storeData.visible,
|
|
115
|
-
title:
|
|
119
|
+
title: getI18n('vxe.import.impTitle'),
|
|
116
120
|
className: 'vxe-table-import-popup-wrapper',
|
|
117
121
|
width: 440,
|
|
118
122
|
mask: true,
|
|
@@ -133,17 +137,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
133
137
|
cellspacing: 0,
|
|
134
138
|
cellpadding: 0,
|
|
135
139
|
border: 0
|
|
136
|
-
}, [(0, _vue.h)('tbody', [(0, _vue.h)('tr', [(0, _vue.h)('td',
|
|
140
|
+
}, [(0, _vue.h)('tbody', [(0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.import.impFile')), (0, _vue.h)('td', [hasFile ? (0, _vue.h)('div', {
|
|
137
141
|
class: 'vxe-import-selected--file',
|
|
138
142
|
title: selectName
|
|
139
143
|
}, [(0, _vue.h)('span', selectName), (0, _vue.h)('i', {
|
|
140
|
-
class:
|
|
144
|
+
class: getIcon().INPUT_CLEAR,
|
|
141
145
|
onClick: clearFileEvent
|
|
142
146
|
})]) : (0, _vue.h)('button', {
|
|
143
147
|
ref: refFileBtn,
|
|
144
148
|
class: 'vxe-import-select--file',
|
|
145
149
|
onClick: selectFileEvent
|
|
146
|
-
},
|
|
150
|
+
}, getI18n('vxe.import.impSelect'))])]), (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.import.impType')), (0, _vue.h)('td', parseTypeLabel)]), (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.import.impOpts')), (0, _vue.h)('td', [(0, _vue.h)((0, _vue.resolveComponent)('vxe-radio-group'), {
|
|
147
151
|
modelValue: defaultOptions.mode,
|
|
148
152
|
'onUpdate:modelValue'(value) {
|
|
149
153
|
defaultOptions.mode = value;
|
|
@@ -151,17 +155,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
151
155
|
}, {
|
|
152
156
|
default: () => storeData.modeList.map(item => (0, _vue.h)((0, _vue.resolveComponent)('vxe-radio'), {
|
|
153
157
|
label: item.value,
|
|
154
|
-
content:
|
|
158
|
+
content: getI18n(item.label)
|
|
155
159
|
}))
|
|
156
160
|
})])])])]), (0, _vue.h)('div', {
|
|
157
161
|
class: 'vxe-export--panel-btns'
|
|
158
162
|
}, [(0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), {
|
|
159
|
-
content:
|
|
163
|
+
content: getI18n('vxe.import.impCancel'),
|
|
160
164
|
onClick: cancelEvent
|
|
161
165
|
}), (0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), {
|
|
162
166
|
status: 'primary',
|
|
163
167
|
disabled: !hasFile,
|
|
164
|
-
content:
|
|
168
|
+
content: getI18n('vxe.import.impConfirm'),
|
|
165
169
|
onClick: importEvent
|
|
166
170
|
})])]);
|
|
167
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_vxePcUi=require("vxe-pc-ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_vxePcUi=require("vxe-pc-ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_vxePcUi.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(i){const a=(0,_vue.inject)("$xeTable",{}),l=a.getComputeMaps()["computeImportOpts"],u=(0,_vue.reactive)({loading:!1}),n=(0,_vue.ref)(),r=(0,_vue.computed)(()=>{var e=i["storeData"];return e.filename+"."+e.type}),v=(0,_vue.computed)(()=>{var e=i["storeData"];return e.file&&e.type}),s=(0,_vue.computed)(()=>{var e=i["storeData"];const{type:t,typeList:o}=e;return t?(e=_xeUtils.default.find(o,e=>t===e.value))?getI18n(e.label):"*.*":"*."+o.map(e=>e.value).join(", *.")}),p=()=>{var e=i["storeData"];Object.assign(e,{filename:"",sheetName:"",type:""})},d=()=>{const{storeData:t,defaultOptions:e}=i;a.readFile(e).then(e=>{e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},c=()=>{(0,_vue.nextTick)(()=>{var e=n.value;e&&e.focus()})},m=()=>{var e=i["storeData"];e.visible=!1},_=()=>{const{storeData:e,defaultOptions:t}=i;var o=l.value;u.loading=!0,a.importByFile(e.file,Object.assign({},o,t)).then(()=>{u.loading=!1,e.visible=!1}).catch(()=>{u.loading=!1})};return()=>{const{defaultOptions:t,storeData:o}=i,e=r.value,a=v.value,l=s.value;return(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{modelValue:o.visible,title:getI18n("vxe.import.impTitle"),className:"vxe-table-import-popup-wrapper",width:440,mask:!0,lockView:!0,showFooter:!1,escClosable:!0,maskClosable:!0,loading:u.loading,"onUpdate:modelValue"(e){o.visible=e},onShow:c},{default:()=>(0,_vue.h)("div",{class:"vxe-export--panel"},[(0,_vue.h)("table",{cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impFile")),(0,_vue.h)("td",[a?(0,_vue.h)("div",{class:"vxe-import-selected--file",title:e},[(0,_vue.h)("span",e),(0,_vue.h)("i",{class:getIcon().INPUT_CLEAR,onClick:p})]):(0,_vue.h)("button",{ref:n,class:"vxe-import-select--file",onClick:d},getI18n("vxe.import.impSelect"))])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impType")),(0,_vue.h)("td",l)]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impOpts")),(0,_vue.h)("td",[(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.mode,"onUpdate:modelValue"(e){t.mode=e}},{default:()=>o.modeList.map(e=>(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio"),{label:e.value,content:getI18n(e.label)}))})])])])]),(0,_vue.h)("div",{class:"vxe-export--panel-btns"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:getI18n("vxe.import.impCancel"),onClick:m}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",disabled:!a,content:getI18n("vxe.import.impConfirm"),onClick:_})])])})}}});
|
|
@@ -6,8 +6,12 @@ var _vxePcUi = require("vxe-pc-ui");
|
|
|
6
6
|
var _util = require("../../src/util");
|
|
7
7
|
var _dom = require("../../../ui/src/dom");
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const {
|
|
10
|
+
renderer,
|
|
11
|
+
hooks
|
|
12
|
+
} = _vxePcUi.VxeUI;
|
|
9
13
|
const tableFilterMethodKeys = ['setFilter', 'clearFilter', 'getCheckedFilters'];
|
|
10
|
-
|
|
14
|
+
hooks.add('tableFilterModule', {
|
|
11
15
|
setupTable($xeTable) {
|
|
12
16
|
const {
|
|
13
17
|
props,
|
|
@@ -59,7 +63,7 @@ _vxePcUi.hooks.add('tableFilterModule', {
|
|
|
59
63
|
filterMultiple,
|
|
60
64
|
filterRender
|
|
61
65
|
} = column;
|
|
62
|
-
const compConf = filterRender ?
|
|
66
|
+
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
63
67
|
const filterRecoverMethod = column.filterRecoverMethod || (compConf ? compConf.filterRecoverMethod : null);
|
|
64
68
|
internalData._currFilterParams = params;
|
|
65
69
|
Object.assign(filterStore, {
|
|
@@ -154,7 +158,7 @@ _vxePcUi.hooks.add('tableFilterModule', {
|
|
|
154
158
|
filterRender
|
|
155
159
|
} = column;
|
|
156
160
|
if (filters) {
|
|
157
|
-
const compConf = filterRender ?
|
|
161
|
+
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
158
162
|
const filterResetMethod = column.filterResetMethod || (compConf ? compConf.filterResetMethod : null);
|
|
159
163
|
filters.forEach(item => {
|
|
160
164
|
item._checked = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,hooks}=_vxePcUi.VxeUI,tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"];hooks.add("tableFilterModule",{setupTable(m){const{props:d,reactData:g,internalData:s}=m,{refTableBody:F,refTableFilter:b}=m.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:p}=m.getComputeMaps(),o={checkFilterOptions(){var e=g["filterStore"];e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,u,t){const{initStore:l,filterStore:d}=g;if(d.column===u&&d.visible)d.visible=!1;else{const{target:h,pageX:p}=e,v=(0,_dom.getDomNode)()["visibleWidth"];var{filters:r,filterMultiple:i,filterRender:o}=u,o=o?renderer.get(o.name):null;const a=u.filterRecoverMethod||(o?o.filterRecoverMethod:null);s._currFilterParams=t,Object.assign(d,{multiple:i,options:r,column:u,style:null}),d.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||a&&a({option:e,column:u,$table:m})}),this.checkFilterOptions(),d.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var e=F.value.$el,t=b.value,t=t?t.$el:null;let l=0,r=0,i=null,o=null;t&&(l=t.offsetWidth,r=t.offsetHeight,i=t.querySelector(".vxe-table--filter-header"),o=t.querySelector(".vxe-table--filter-footer"));var t=l/2,a=e.clientWidth-l-10;let s,n;var c={top:h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8+"px"};let f=null;r>=e.clientHeight&&(f=Math.max(60,e.clientHeight-(o?o.offsetHeight:0)-(i?i.offsetHeight:0))),"left"===u.fixed?s=h.offsetLeft+h.offsetParent.offsetLeft-t:"right"===u.fixed?n=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-u.renderWidth-t:s=h.offsetLeft+h.offsetParent.offsetLeft-t-e.scrollLeft,s?(0<(e=p+l-t+10-v)&&(s-=e),c.left=Math.min(a,Math.max(10,s))+"px"):n&&(0<(e=p+l-t+10-v)&&(n+=e),c.right=Math.max(10,n)+"px"),d.style=c,d.maxHeight=f})}m.dispatchEvent("filter-visible",{column:u,field:u.field,property:u.field,filterList:m.getCheckedFilters(),visible:d.visible},e)},handleClearFilter(e){if(e){var{filters:t,filterRender:l}=e;if(t){l=l?renderer.get(l.name):null;const r=e.filterResetMethod||(l?l.filterResetMethod:null);t.forEach(e=>{e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:m})}}},confirmFilterEvent(e){var t=d["mouseConfig"];const{filterStore:l,scrollXLoad:r,scrollYLoad:i}=g;var o=h.value,a=p.value,s=l["column"],n=s["field"];const c=[],f=[];s.filters.forEach(e=>{e.checked&&(c.push(e.value),f.push(e.data))});var u=m.getCheckedFilters(),s={$table:m,$event:e,column:s,field:n,property:n,values:c,datas:f,filters:u,filterList:u};o.remote||(m.handleTableData(!0),m.checkSelectionStatus()),t&&a.area&&m.handleFilterEvent&&m.handleFilterEvent(e,s),m.dispatchEvent("filter-change",s,e),m.closeFilter(),m.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=g;if(r||e||i||t)return(r||e)&&m.updateScrollXSpace(),(i||t)&&m.updateScrollYSpace(),m.refreshScroll()}).then(()=>(m.updateCellAreas(),m.recalculate(!0))).then(()=>{setTimeout(()=>m.recalculate(),50)})}};return Object.assign(Object.assign({},{openFilter(e){const t=(0,_util.handleFieldOrColumn)(m,e);if(t&&t.filters){const l=s["elemStore"],r=t["fixed"];return m.scrollToColumn(t).then(()=>{var e=l[`${r||"main"}-header-wrapper`]||l["main-header-wrapper"],e=e?e.value:null;e&&(e=e.querySelector(`.vxe-header--column.${t.id} .vxe-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t){e=(0,_util.handleFieldOrColumn)(m,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),(0,_vue.nextTick)()},clearFilter(e){var t=g["filterStore"],l=s["tableFullColumn"],r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(m,e))&&o.handleClearFilter(i):l.forEach(o.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():m.updateData()},getCheckedFilters(){var e=s["tableFullColumn"];const o=[];return e.forEach(e=>{var{field:t,filters:l}=e;const r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&o.push({column:e,field:t,property:t,values:r,datas:i})}),o}}),o)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
|
|
@@ -9,6 +9,11 @@ var _vxePcUi = require("vxe-pc-ui");
|
|
|
9
9
|
var _utils = require("../../../ui/src/utils");
|
|
10
10
|
var _dom = require("../../../ui/src/dom");
|
|
11
11
|
var _vn = require("../../../ui/src/vn");
|
|
12
|
+
const {
|
|
13
|
+
getI18n,
|
|
14
|
+
getIcon,
|
|
15
|
+
renderer
|
|
16
|
+
} = _vxePcUi.VxeUI;
|
|
12
17
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
13
18
|
name: 'VxeTableFilterPanel',
|
|
14
19
|
props: {
|
|
@@ -151,15 +156,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
151
156
|
'is--checked': isAllChecked,
|
|
152
157
|
'is--indeterminate': isAllIndeterminate
|
|
153
158
|
}],
|
|
154
|
-
title:
|
|
159
|
+
title: getI18n(multiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
|
|
155
160
|
onClick: evnt => {
|
|
156
161
|
changeAllOption(evnt, !filterStore.isAllSelected);
|
|
157
162
|
}
|
|
158
163
|
}, (multiple ? [(0, _vue.h)('span', {
|
|
159
|
-
class: ['vxe-checkbox--icon', isAllIndeterminate ?
|
|
164
|
+
class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
160
165
|
})] : []).concat([(0, _vue.h)('span', {
|
|
161
166
|
class: 'vxe-checkbox--label'
|
|
162
|
-
},
|
|
167
|
+
}, getI18n('vxe.table.allFilter'))]))]), (0, _vue.h)('ul', {
|
|
163
168
|
class: 'vxe-table--filter-body',
|
|
164
169
|
style: maxHeight ? {
|
|
165
170
|
maxHeight: `${maxHeight}px`
|
|
@@ -176,7 +181,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
176
181
|
changeOption(evnt, !item._checked, item);
|
|
177
182
|
}
|
|
178
183
|
}, (multiple ? [(0, _vue.h)('span', {
|
|
179
|
-
class: ['vxe-checkbox--icon', isIndeterminate ?
|
|
184
|
+
class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
180
185
|
})] : []).concat([(0, _vue.h)('span', {
|
|
181
186
|
class: 'vxe-checkbox--label'
|
|
182
187
|
}, (0, _utils.formatText)(item.label, 1))]));
|
|
@@ -193,7 +198,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
193
198
|
const filterOpts = computeFilterOpts.value;
|
|
194
199
|
const hasCheckOption = computeHasCheckOption.value;
|
|
195
200
|
const filterRender = column.filterRender;
|
|
196
|
-
const compConf = filterRender ?
|
|
201
|
+
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
197
202
|
const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
|
|
198
203
|
return multiple && (!compConf || compConf.showFilterFooter !== false) ? [(0, _vue.h)('div', {
|
|
199
204
|
class: 'vxe-table--filter-footer'
|
|
@@ -203,9 +208,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
203
208
|
},
|
|
204
209
|
disabled: isDisabled,
|
|
205
210
|
onClick: confirmFilter
|
|
206
|
-
}, filterOpts.confirmButtonText ||
|
|
211
|
+
}, filterOpts.confirmButtonText || getI18n('vxe.table.confirmFilter')), (0, _vue.h)('button', {
|
|
207
212
|
onClick: resetFilter
|
|
208
|
-
}, filterOpts.resetButtonText ||
|
|
213
|
+
}, filterOpts.resetButtonText || getI18n('vxe.table.resetFilter'))])] : [];
|
|
209
214
|
};
|
|
210
215
|
const renderVN = () => {
|
|
211
216
|
const {
|
|
@@ -218,7 +223,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
218
223
|
column
|
|
219
224
|
} = filterStore;
|
|
220
225
|
const filterRender = column ? column.filterRender : null;
|
|
221
|
-
const compConf = filterRender ?
|
|
226
|
+
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
222
227
|
const filterClassName = compConf ? compConf.filterClassName : '';
|
|
223
228
|
const params = Object.assign({}, tableInternalData._currFilterParams, {
|
|
224
229
|
$panel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn"),_default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(o){const s=(0,_vue.inject)("$xeTable",{}),{reactData:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn");const{getI18n,getIcon,renderer}=_vxePcUi.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(o){const s=(0,_vue.inject)("$xeTable",{}),{reactData:c,internalData:u,getComputeMaps:e}=s,n=e()["computeFilterOpts"],v=(0,_vue.computed)(()=>{var e=o["filterStore"];return e&&e.options.some(e=>e.checked)}),d=e=>{var t=o["filterStore"];t.options.forEach(e=>{e.checked=e._checked}),s.confirmFilterEvent(e)},i=(e,t,l)=>{var r=o["filterStore"];r.options.forEach(e=>{e._checked=!1}),l._checked=t,s.checkFilterOptions(),d(e)},p=e=>{var t=o["filterStore"];s.handleClearFilter(t.column),s.confirmFilterEvent(e)},a=(e,t,l)=>{l._checked=t,s.checkFilterOptions()},_=(e,t,l)=>{var r=o["filterStore"];r.multiple?a(0,t,l):i(e,t,l)},h=(e,t)=>{var l,r=o["filterStore"];r.multiple?(l=t,(r=o.filterStore).options.forEach(e=>{e._checked=l,e.checked=l}),r.isAllSelected=l,r.isIndeterminate=!1):p(e)},m={changeRadioOption:i,changeMultipleOption:a,changeAllOption:h,changeOption:_,confirmFilter:d,resetFilter:p};return()=>{var e=o["filterStore"],t=c["initStore"],l=e["column"],l=l?l.filterRender:null,r=l?renderer.get(l.name):null,i=r?r.filterClassName:"",a=Object.assign({},u._currFilterParams,{$panel:m,$table:s});return(0,_vue.h)("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",(0,_dom.getPropClass)(i,a),{"is--animat":s.props.animat,"is--multiple":e.multiple,"is--active":e.visible}],style:e.style},t.filter&&e.visible?((e,t)=>{const l=o["filterStore"],{column:r,multiple:i,maxHeight:a}=l;var c=r["slots"],c=c?c.filter:null,n=Object.assign({},u._currFilterParams,{$panel:m,$table:s});return c?[(0,_vue.h)("div",{class:"vxe-table--filter-template"},s.callSlot(c,n))]:t&&t.renderFilter?[(0,_vue.h)("div",{class:"vxe-table--filter-template"},(0,_vn.getSlotVNs)(t.renderFilter(e,n)))]:(c=i?l.isAllSelected:!l.options.some(e=>e._checked),t=i&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":c,"is--indeterminate":t}],title:getI18n(i?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{h(e,!l.isAllSelected)}},(i?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:c?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:a?{maxHeight:a+"px"}:{}},l.options.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{_(e,!t._checked,t)}},(i?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(l,r).concat((()=>{var e=o["filterStore"],{column:t,multiple:l}=e,r=n.value,i=v.value,t=t.filterRender,t=t?renderer.get(t.name):null,i=!i&&!e.isAllSelected&&!e.isIndeterminate;return!l||t&&!1===t.showFilterFooter?[]:[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":i},disabled:i,onClick:d},r.confirmButtonText||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:p},r.resetButtonText||getI18n("vxe.table.resetFilter"))])]})()):[])}}});
|
|
@@ -4,6 +4,9 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
4
4
|
var _vxePcUi = require("vxe-pc-ui");
|
|
5
5
|
var _dom = require("../../../ui/src/dom");
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
+
const {
|
|
8
|
+
hooks
|
|
9
|
+
} = _vxePcUi.VxeUI;
|
|
7
10
|
function getTargetOffset(target, container) {
|
|
8
11
|
let offsetTop = 0;
|
|
9
12
|
let offsetLeft = 0;
|
|
@@ -28,7 +31,7 @@ function getTargetOffset(target, container) {
|
|
|
28
31
|
offsetLeft
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
|
-
|
|
34
|
+
hooks.add('tableKeyboardModule', {
|
|
32
35
|
setupTable($xeTable) {
|
|
33
36
|
const {
|
|
34
37
|
props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let o=0,l=0;var r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:o,offsetLeft:l}}
|
|
1
|
+
"use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const hooks=_vxePcUi.VxeUI["hooks"];function getTargetOffset(e,t){let o=0,l=0;var r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:o,offsetLeft:l}}hooks.add("tableKeyboardModule",{setupTable(k){const{props:g,reactData:y,internalData:E}=k,a=k.getRefMaps()["refElem"],{computeEditOpts:f,computeCheckboxOpts:s,computeMouseOpts:d,computeTreeOpts:u}=k.getComputeMaps();const i=(e,u)=>{var{column:t,cell:o}=u;if("checkbox"===t.type){const r=a.value;var l=E["elemStore"];const i=e.clientX,g=e.clientY;t=l[`${t.fixed||"main"}-body-wrapper`]||l["main-body-wrapper"];const f=t?t.value:null;if(f){const m=f.querySelector(".vxe-table--checkbox-range"),n=document.onmousemove,h=document.onmouseup,v=o.parentNode,p=k.getCheckboxRecords();let c=[];const x=1;l=getTargetOffset(e.target,f);const w=l.offsetTop+e.offsetY,b=l.offsetLeft+e.offsetX,C=f.scrollTop,T=v.offsetHeight;let a=null,s=!1,d=1;const R=(e,t)=>{k.dispatchEvent("checkbox-range-"+e,{records:k.getCheckboxRecords(),reserves:k.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:o}=e,t=t-i,o=o-g+(f.scrollTop-C);let l=Math.abs(o),r=Math.abs(t),n=w,a=b;o<x?(n+=o)<x&&(n=x,l=w):l=Math.min(l,f.scrollHeight-w-x),t<x?(a+=t,r>b&&(a=x,r=b)):r=Math.min(r,f.clientWidth-b-x),m.style.height=l+"px",m.style.width=r+"px",m.style.left=a+"px",m.style.top=n+"px",m.style.display="block";t=function(e,t,o){let l=0,r=[];var n=0<o,a=0<o?o:Math.abs(o)+t.offsetHeight,o=y["scrollYLoad"],{afterFullData:c,scrollYStore:s}=E;if(o){o=k.getVTRowIndex(e.row);r=n?c.slice(o,o+Math.ceil(a/s.rowHeight)):c.slice(o-Math.floor(a/s.rowHeight)+1,o+1)}else for(var d=n?"next":"previous";t&&l<a;){var u=k.getRowNode(t);u&&(r.push(u.item),l+=t.offsetHeight,t=t[d+"ElementSibling"])}return r}(u,v,o<x?-l:l);10<l&&t.length!==c.length&&(c=t,e.ctrlKey?t.forEach(e=>{k.handleSelectRow({row:e},-1===p.indexOf(e))}):(k.setAllCheckboxRow(!1),k.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},M=()=>{clearTimeout(a),a=null},_=n=>{M(),a=setTimeout(()=>{var e,t,o,l,r;a&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=f,r=Math.ceil(50*d/T),s?t+o<l?(k.scrollTo(e,t+r),_(n),I(n)):M():t?(k.scrollTo(e,t-r),_(n),I(n)):M())},50)};(0,_dom.addClass)(r,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e["clientY"],o=(0,_dom.getAbsolutePos)(f)["boundingTop"];t<o?(s=!1,d=o-t,a||_(e)):t>o+f.clientHeight?(s=!0,d=t-o-f.clientHeight,a||_(e)):a&&M(),I(e)},document.onmouseup=e=>{M(),(0,_dom.removeClass)(r,"drag--range"),m.removeAttribute("style"),document.onmousemove=n,document.onmouseup=h,R("end",e)},R("start",e)}}};return{moveTabSelected(e,t,o){var l=g["editConfig"],{afterFullData:r,visibleColumn:n}=E,a=f.value;let c,s,d;const u=Object.assign({},e);var e=k.getVTRowIndex(u.row),i=k.getVTColumnIndex(u.column),t=(o.preventDefault(),t?i<=0?0<e&&(s=e-1,c=r[s],d=n.length-1):d=i-1:i>=n.length-1?e<r.length-1&&(s=e+1,c=r[s],d=0):d=i+1,n[d]);t&&(c?(u.rowIndex=s,u.row=c):u.rowIndex=e,u.columnIndex=d,u.column=t,u.cell=k.getCell(u.row,u.column),l?"click"!==a.trigger&&"dblclick"!==a.trigger||("row"===a.mode?k.handleActived(u,o):k.scrollToRow(u.row,u.column).then(()=>k.handleSelected(u,o))):k.scrollToRow(u.row,u.column).then(()=>k.handleSelected(u,o)))},moveCurrentRow(e,t,o){var l=g["treeConfig"];const r=y["currentRow"];var n=E["afterFullData"],a=u.value,a=a.children||a.childrenField;let c;if(o.preventDefault(),r?l?({index:l,items:a}=_xeUtils.default.findTree(n,e=>e===r,{children:a}),e&&0<l?c=a[l-1]:t&&l<a.length-1&&(c=a[l+1])):(a=k.getVTRowIndex(r),e&&0<a?c=n[a-1]:t&&a<n.length-1&&(c=n[a+1])):c=n[0],c){const s={$table:k,row:c,rowIndex:k.getRowIndex(c),$rowIndex:k.getVMRowIndex(c)};k.scrollToRow(c).then(()=>k.triggerCurrentRowEvent(o,s))}},moveSelected(e,t,o,l,r,n){var{afterFullData:a,visibleColumn:c}=E;const s=Object.assign({},e);var e=k.getVTRowIndex(s.row),d=k.getVTColumnIndex(s.column);n.preventDefault(),o&&0<e?(s.rowIndex=e-1,s.row=a[s.rowIndex]):r&&e<a.length-1?(s.rowIndex=e+1,s.row=a[s.rowIndex]):t&&d?(s.columnIndex=d-1,s.column=c[s.columnIndex]):l&&d<c.length-1&&(s.columnIndex=d+1,s.column=c[s.columnIndex]),k.scrollToRow(s.row,s.column).then(()=>{s.cell=k.getCell(s.row,s.column),k.handleSelected(s,n)})},triggerHeaderCellMousedownEvent(e,t){var o,l=g["mouseConfig"],r=d.value;l&&r.area&&k.handleHeaderCellAreaEvent&&(l=e.currentTarget,r=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--sort").flag,o=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--filter").flag,k.handleHeaderCellAreaEvent(e,Object.assign({cell:l,triggerSort:r,triggerFilter:o},t))),k.focus(),k.closeMenu&&k.closeMenu()},triggerCellMousedownEvent(e,t){var o=e.currentTarget;t.cell=o,((e,t)=>{var{editConfig:o,checkboxConfig:l,mouseConfig:r}=g,n=s.value,a=d.value,c=f.value;if(r&&a.area&&k.handleCellAreaEvent)return k.handleCellAreaEvent(e,t);l&&n.range&&i(e,t),r&&a.selected&&(o&&"cell"!==c.mode||k.handleSelected(t,e))})(e,t),k.focus(),k.closeFilter(),k.closeMenu&&k.closeMenu()}}}});
|
|
@@ -6,8 +6,14 @@ var _vxePcUi = require("vxe-pc-ui");
|
|
|
6
6
|
var _dom = require("../../../ui/src/dom");
|
|
7
7
|
var _utils = require("../../../ui/src/utils");
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const {
|
|
10
|
+
menus,
|
|
11
|
+
hooks,
|
|
12
|
+
globalEvents,
|
|
13
|
+
GLOBAL_EVENT_KEYS
|
|
14
|
+
} = _vxePcUi.VxeUI;
|
|
9
15
|
const tableMenuMethodKeys = ['closeMenu'];
|
|
10
|
-
|
|
16
|
+
hooks.add('tableMenuModule', {
|
|
11
17
|
setupTable($xeTable) {
|
|
12
18
|
const {
|
|
13
19
|
xID,
|
|
@@ -149,7 +155,7 @@ _vxePcUi.hooks.add('tableMenuModule', {
|
|
|
149
155
|
ctxMenuStore.showChild = false;
|
|
150
156
|
ctxMenuStore.selectChild = null;
|
|
151
157
|
}
|
|
152
|
-
} else if (
|
|
158
|
+
} else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)) {
|
|
153
159
|
for (let len = selectIndex - 1; len >= 0; len--) {
|
|
154
160
|
if (menuList[len].visible !== false) {
|
|
155
161
|
selectItem = menuList[len];
|
|
@@ -157,7 +163,7 @@ _vxePcUi.hooks.add('tableMenuModule', {
|
|
|
157
163
|
}
|
|
158
164
|
}
|
|
159
165
|
ctxMenuStore[property] = selectItem || menuList[menuList.length - 1];
|
|
160
|
-
} else if (
|
|
166
|
+
} else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
|
|
161
167
|
for (let index = selectIndex + 1; index < menuList.length; index++) {
|
|
162
168
|
if (menuList[index].visible !== false) {
|
|
163
169
|
selectItem = menuList[index];
|
|
@@ -165,7 +171,7 @@ _vxePcUi.hooks.add('tableMenuModule', {
|
|
|
165
171
|
}
|
|
166
172
|
}
|
|
167
173
|
ctxMenuStore[property] = selectItem || menuList[0];
|
|
168
|
-
} else if (ctxMenuStore[property] && (
|
|
174
|
+
} else if (ctxMenuStore[property] && (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER) || globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR))) {
|
|
169
175
|
menuPrivateMethods.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
|
|
170
176
|
}
|
|
171
177
|
},
|
|
@@ -341,7 +347,7 @@ _vxePcUi.hooks.add('tableMenuModule', {
|
|
|
341
347
|
ctxMenuLinkEvent(evnt, menu) {
|
|
342
348
|
// 如果一级菜单有配置 code 则允许点击,否则不能点击
|
|
343
349
|
if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
|
|
344
|
-
const gMenuOpts =
|
|
350
|
+
const gMenuOpts = menus.get(menu.code);
|
|
345
351
|
const params = Object.assign({}, internalData._currMenuParams, {
|
|
346
352
|
menu,
|
|
347
353
|
$table: $xeTable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_vxePcUi.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){const{xID:m,props:p,reactData:x,internalData:M}=b,{refElem:E,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:u,computeMenuOpts:y}=b.getComputeMaps();let w,r={};const L=(t,e,l)=>{const v=x["ctxMenuStore"];var n=u.value,o=y.value,e=o[e];const i=o.visibleMethod;if(e){const{options:f,disabled:s}=e;s?t.preventDefault():n&&f&&f.length&&(l.options=f,b.preventEvent(t,"event.showMenu",l,()=>{if(!i||i(l)){t.preventDefault(),b.updateZindex();const{scrollTop:s,scrollLeft:u,visibleHeight:r,visibleWidth:a}=(0,_dom.getDomNode)();let o=t.clientY+s,i=t.clientX+u;const n=()=>{M._currMenuParams=l,Object.assign(v,{visible:!0,list:f,selected:null,selectChild:null,showChild:!1,style:{zIndex:M.tZindex,top:o+"px",left:i+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-r,n=n+l-a;-10<e&&(v.style.top=Math.max(s+2,o-t-2)+"px"),-10<n&&(v.style.left=Math.max(u+2,i-l-2)+"px")})},{keyboard:e,row:d,column:c}=l;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCell(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),o=e+s+Math.floor(l.offsetHeight/2),i=t+u+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(x.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},r={moveCtxMenu(e,t,l,n,o,i){let s;var u=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=u-1;0<=e;e--)if(!1!==i[e].visible){s=i[e];break}t[l]=s||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=u+1;e<i.length;e++)if(!1!==i[e].visible){s=i[e];break}t[l]=s||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&r.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=x,i=M["visibleColumn"],s=_.value,u=C.value,r=T.value,a=y.value,d=E.value,n=n["selected"],c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&u&&(0,_dom.getEventTargetNode)(t,u.getRefMaps().refElem.value).flag)return void t.preventDefault();if(M._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){u=b.getActiveCellArea();if(u&&u.row&&u.column)return o.row=u.row,o.column=u.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}s&&!(0,_dom.getEventTargetNode)(t,s.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){const a=e.currentTarget;var n=x["ctxMenuStore"];e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:s,visibleHeight:u,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(s+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>u-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=x["ctxMenuStore"];t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},M._currMenuParams,{menu:t,$table:b,$grid:b.xegrid,$event:e}),l&&l.menuMethod&&l.menuMethod(t,e),b.dispatchEvent("menu-click",t,e),w.closeMenu())}},Object.assign(Object.assign({},w),r)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)}});
|
|
@@ -7,6 +7,12 @@ var _utils = require("../../../ui/src/utils");
|
|
|
7
7
|
var _dom = require("../../../ui/src/dom");
|
|
8
8
|
var _util = require("../../src/util");
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
const {
|
|
11
|
+
getConfig,
|
|
12
|
+
validators,
|
|
13
|
+
hooks,
|
|
14
|
+
log
|
|
15
|
+
} = _vxePcUi.VxeUI;
|
|
10
16
|
/**
|
|
11
17
|
* 校验规则
|
|
12
18
|
*/
|
|
@@ -36,7 +42,7 @@ class Rule {
|
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
const tableValidatorMethodKeys = ['fullValidate', 'validate', 'clearValidate'];
|
|
39
|
-
|
|
45
|
+
hooks.add('tableValidatorModule', {
|
|
40
46
|
setupTable($xeTable) {
|
|
41
47
|
const {
|
|
42
48
|
props,
|
|
@@ -197,7 +203,7 @@ _vxePcUi.hooks.add('tableValidatorModule', {
|
|
|
197
203
|
cb(validRest);
|
|
198
204
|
resolve();
|
|
199
205
|
} else {
|
|
200
|
-
if (
|
|
206
|
+
if (getConfig().validToReject === 'obsolete') {
|
|
201
207
|
// 已废弃,校验失败将不会执行catch
|
|
202
208
|
reject(validRest);
|
|
203
209
|
} else {
|
|
@@ -245,7 +251,7 @@ _vxePcUi.hooks.add('tableValidatorModule', {
|
|
|
245
251
|
fullValidate(rows, cb) {
|
|
246
252
|
if (process.env.NODE_ENV === 'development') {
|
|
247
253
|
if (_xeUtils.default.isFunction(cb)) {
|
|
248
|
-
|
|
254
|
+
log.warn('vxe.error.notValidators', ['fullValidate(rows, callback)', 'fullValidate(rows)']);
|
|
249
255
|
}
|
|
250
256
|
}
|
|
251
257
|
return beginValidate(rows, cb, true);
|
|
@@ -256,7 +262,7 @@ _vxePcUi.hooks.add('tableValidatorModule', {
|
|
|
256
262
|
validate(rows, cb) {
|
|
257
263
|
if (process.env.NODE_ENV === 'development') {
|
|
258
264
|
if (_xeUtils.default.isFunction(cb)) {
|
|
259
|
-
|
|
265
|
+
log.warn('vxe.error.notValidators', ['validate(rows, callback)', 'validate(rows)']);
|
|
260
266
|
}
|
|
261
267
|
}
|
|
262
268
|
return beginValidate(rows, cb);
|
|
@@ -385,18 +391,18 @@ _vxePcUi.hooks.add('tableValidatorModule', {
|
|
|
385
391
|
};
|
|
386
392
|
let customValid;
|
|
387
393
|
if (_xeUtils.default.isString(validator)) {
|
|
388
|
-
const gvItem =
|
|
394
|
+
const gvItem = validators.get(validator);
|
|
389
395
|
if (gvItem) {
|
|
390
396
|
if (gvItem.cellValidatorMethod) {
|
|
391
397
|
customValid = gvItem.cellValidatorMethod(validParams);
|
|
392
398
|
} else {
|
|
393
399
|
if (process.env.NODE_ENV === 'development') {
|
|
394
|
-
|
|
400
|
+
log.warn('vxe.error.notValidators', [validator]);
|
|
395
401
|
}
|
|
396
402
|
}
|
|
397
403
|
} else {
|
|
398
404
|
if (process.env.NODE_ENV === 'development') {
|
|
399
|
-
|
|
405
|
+
log.err('vxe.error.notValidators', [validator]);
|
|
400
406
|
}
|
|
401
407
|
}
|
|
402
408
|
} else {
|