vxe-table 4.12.0-beta.1 → 4.12.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +70 -75
- package/es/locale/lang/ar-EG.js +3 -0
- package/es/locale/lang/de-DE.js +3 -0
- package/es/locale/lang/en-US.js +3 -0
- package/es/locale/lang/es-ES.js +3 -0
- package/es/locale/lang/fr-FR.js +3 -0
- package/es/locale/lang/hu-HU.js +3 -0
- package/es/locale/lang/hy-AM.js +3 -0
- package/es/locale/lang/id-ID.js +3 -0
- package/es/locale/lang/it-IT.js +3 -0
- package/es/locale/lang/ja-JP.js +3 -0
- package/es/locale/lang/ko-KR.js +3 -0
- package/es/locale/lang/nb-NO.js +3 -0
- package/es/locale/lang/pt-BR.js +3 -0
- package/es/locale/lang/ru-RU.js +3 -0
- package/es/locale/lang/th-TH.js +3 -0
- package/es/locale/lang/ug-CN.js +3 -0
- package/es/locale/lang/uk-UA.js +3 -0
- package/es/locale/lang/vi-VN.js +3 -0
- package/es/locale/lang/zh-CHT.js +3 -0
- package/es/locale/lang/zh-CN.js +3 -0
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +19 -21
- package/es/table/module/export/export-panel.js +17 -19
- package/es/table/module/export/hook.js +5 -11
- package/es/table/module/export/import-panel.js +11 -13
- package/es/table/module/keyboard/hook.js +47 -4
- package/es/table/module/validator/hook.js +1 -3
- package/es/table/render/index.js +90 -61
- package/es/table/src/body.js +11 -6
- package/es/table/src/columnInfo.js +26 -28
- package/es/table/src/footer.js +7 -2
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +366 -187
- package/es/table/src/util.js +30 -3
- package/es/toolbar/src/toolbar.js +16 -24
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +67 -79
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +1274 -12216
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +3 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +3 -0
- package/lib/locale/lang/es-ES.js +3 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -0
- package/lib/locale/lang/fr-FR.js +3 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +3 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -0
- package/lib/locale/lang/hy-AM.js +3 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +3 -0
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +3 -0
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +3 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -0
- package/lib/locale/lang/ko-KR.js +3 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +3 -0
- package/lib/locale/lang/nb-NO.js +3 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +3 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -0
- package/lib/locale/lang/ru-RU.js +3 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +3 -0
- package/lib/locale/lang/th-TH.js +3 -0
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +3 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +3 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -0
- package/lib/locale/lang/vi-VN.js +3 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +3 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +3 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -0
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +21 -23
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/export-panel.js +17 -19
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +5 -11
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +11 -13
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +51 -4
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +1 -3
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +98 -66
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +10 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/columnInfo.js +30 -32
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +7 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +399 -185
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +35 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +16 -24
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +75 -81
- package/packages/locale/lang/ar-EG.ts +3 -0
- package/packages/locale/lang/de-DE.ts +3 -0
- package/packages/locale/lang/en-US.ts +3 -0
- package/packages/locale/lang/es-ES.ts +3 -0
- package/packages/locale/lang/fr-FR.ts +3 -0
- package/packages/locale/lang/hu-HU.ts +3 -0
- package/packages/locale/lang/hy-AM.ts +3 -0
- package/packages/locale/lang/id-ID.ts +3 -0
- package/packages/locale/lang/it-IT.ts +3 -0
- package/packages/locale/lang/ja-JP.ts +3 -0
- package/packages/locale/lang/ko-KR.ts +3 -0
- package/packages/locale/lang/nb-NO.ts +3 -0
- package/packages/locale/lang/pt-BR.ts +3 -0
- package/packages/locale/lang/ru-RU.ts +3 -0
- package/packages/locale/lang/th-TH.ts +3 -0
- package/packages/locale/lang/ug-CN.ts +3 -0
- package/packages/locale/lang/uk-UA.ts +3 -0
- package/packages/locale/lang/vi-VN.ts +3 -0
- package/packages/locale/lang/zh-CHT.ts +3 -0
- package/packages/locale/lang/zh-CN.ts +3 -0
- package/packages/table/module/custom/panel.ts +19 -21
- package/packages/table/module/export/export-panel.ts +17 -19
- package/packages/table/module/export/hook.ts +5 -11
- package/packages/table/module/export/import-panel.ts +11 -13
- package/packages/table/module/keyboard/hook.ts +47 -6
- package/packages/table/module/validator/hook.ts +1 -3
- package/packages/table/render/index.ts +89 -59
- package/packages/table/src/body.ts +10 -5
- package/packages/table/src/columnInfo.ts +26 -28
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +371 -185
- package/packages/table/src/util.ts +34 -3
- package/packages/toolbar/src/toolbar.ts +16 -24
- /package/es/{iconfont.1741051902838.ttf → iconfont.1741664494856.ttf} +0 -0
- /package/es/{iconfont.1741051902838.woff → iconfont.1741664494856.woff} +0 -0
- /package/es/{iconfont.1741051902838.woff2 → iconfont.1741664494856.woff2} +0 -0
- /package/lib/{iconfont.1741051902838.ttf → iconfont.1741664494856.ttf} +0 -0
- /package/lib/{iconfont.1741051902838.woff → iconfont.1741664494856.woff} +0 -0
- /package/lib/{iconfont.1741051902838.woff2 → iconfont.1741664494856.woff2} +0 -0
|
@@ -429,9 +429,7 @@ hooks.add('tableValidatorModule', {
|
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
431
|
} else {
|
|
432
|
-
|
|
433
|
-
(0, _log.errLog)('vxe.error.notValidators', [validator]);
|
|
434
|
-
}
|
|
432
|
+
(0, _log.errLog)('vxe.error.notValidators', [validator]);
|
|
435
433
|
}
|
|
436
434
|
} else {
|
|
437
435
|
customValid = validator(validParams);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(p){let{props:h,reactData:_,internalData:x}=p,g=p.getRefMaps().refValidTooltip,{computeValidOpts:w,computeTreeOpts:R,computeEditOpts:r}=p.getComputeMaps(),U={},V={},E,t=(e,t,
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(p){let{props:h,reactData:_,internalData:x}=p,g=p.getRefMaps().refValidTooltip,{computeValidOpts:w,computeTreeOpts:R,computeEditOpts:r}=p.getComputeMaps(),U={},V={},E,t=(e,t,u,a)=>{let s={},{editRules:o,treeConfig:r}=h,{editStore:l,pendingRowMaps:n}=_;var i=x.afterFullData;let d=l.removeMaps;var c=R.value,c=c.children||c.childrenField;let g=w.value,v,f=(!0===e?v=i:e&&(_xeUtils.default.isFunction(e)?u=e:v=_xeUtils.default.isArray(e)?e:[e]),v=v||(p.getInsertRecords?p.getInsertRecords().concat(p.getUpdateRecords()):[]),[]),m=(x._lastCallTime=Date.now(),E=!1,U.clearValidate(),{});if(o){let l=t&&t.length?t:p.getColumns();i=i=>{var e=(0,_util.getRowid)(p,i);if(!d[e]&&!n[e]&&(a||!E)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&E||!_xeUtils.default.has(o,r)||e.push(V.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:p.getRowIndex(i),row:i,columnIndex:p.getColumnIndex(t),column:t,field:r,$table:p};if(s[r]||(s[r]=[]),m[(0,_util.getRowid)(p,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},s[r].push(l),!a)return E=!0,Promise.reject(l)}))}),f.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(v,i,{children:c}):v.forEach(i),Promise.all(f).then(()=>{let e=Object.keys(s);var l,t,r;return _.validErrorMaps=(l=m,"single"===w.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(s[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(s),e()):("obsolete"===getConfig().validToReject?l:e)(s)})};var r,i=()=>{var l;a.cell=p.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===w.value.autoPos?(p.dispatchEvent("valid-error",l,null),e()):p.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(V.showValidTooltip(l))})}).then(t)};!1===g.autoPos?t():(r=a.row,p.scrollToRow(r,a.column).then(i))}))}return _.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},f=(U={fullValidate(e,l){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(l)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=_.validErrorMaps,t=g.value,i=w.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)_.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(p,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(p,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}_.validErrorMaps=u}return(0,_vue.nextTick)()}},(e,l)=>{var{type:e,min:t,max:r,pattern:i}=e,e="number"===e,a=e?_xeUtils.default.toNumber(l):_xeUtils.default.getSize(l);return!(!e||!isNaN(l))||!_xeUtils.default.eqNull(t)&&a<_xeUtils.default.toNumber(t)||!_xeUtils.default.eqNull(r)&&a>_xeUtils.default.toNumber(r)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(l))});return V={validCellRules(e,d,c,l){var t=h.editRules,r=c.field;let g=[],v=[];if(r&&t){let n=_xeUtils.default.get(t,r);if(n){let o=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(d,r):l;n.forEach(l=>{let{type:t,trigger:r,required:i,validator:a}=l;if("all"===e||!r||e===r)if(a){var u={cellValue:o,rule:l,rules:n,row:d,rowIndex:p.getRowIndex(d),column:c,columnIndex:p.getColumnIndex(c),field:c.field,$table:p,$grid:p.xegrid};let e;_xeUtils.default.isString(a)?(s=validators.get(a))?(s=s.tableCellValidatorMethod||s.cellValidatorMethod)?e=s(u):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(u),e&&(_xeUtils.default.isError(e)?(E=!0,g.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(l)}))):e.catch&&v.push(e.catch(e=>{E=!0,g.push(new Rule({type:"custom",trigger:r,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else{var s="array"===t,u=_xeUtils.default.isArray(o);let e=!0;e=s||u?!u||!o.length:_xeUtils.default.isString(o)?(0,_utils.eqEmptyValue)(o.trim()):(0,_utils.eqEmptyValue)(o),(i?e||f(l,o):!e&&f(l,o))&&(E=!0,g.push(new Rule(l)))}})}}return Promise.all(v).then(()=>{var e;if(g.length)return e={rules:g,rule:g[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=h.editRules,t=t.field;return!(!t||!r)&&(r=_xeUtils.default.get(r,t))&&!!_xeUtils.default.find(r,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=h,a=_.editStore,a=a.actived;let u=r.value;var t=w.value;if(l&&"single"===t.msgMode&&(_.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(V.hasCellRules(i,l,t))return V.validCellRules(i,l,t).then(()=>{"row"===u.mode&&U.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},V.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=h.height,{tableData:t,validStore:r,validErrorMaps:i}=_,{rule:a,row:u,column:s,cell:o}=e,n=w.value,d=g.value,c=a.content;return r.visible=!0,"single"===n.msgMode?_.validErrorMaps={[(0,_util.getRowid)(p,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}:_.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(p,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}),p.dispatchEvent("valid-error",e,null),d&&("tooltip"===n.message||"default"===n.message&&!l&&t.length<2)?d.open(o,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},U),V)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
|
|
@@ -192,10 +192,8 @@ function getComponentOns(renderOpts, params, eFns) {
|
|
|
192
192
|
const ons = {};
|
|
193
193
|
_xeUtils.default.objectEach(events, (func, key) => {
|
|
194
194
|
ons[(0, _vn.getOnName)(key)] = function (...args) {
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
(0, _log.errLog)('vxe.error.errFunc', [func]);
|
|
198
|
-
}
|
|
195
|
+
if (!_xeUtils.default.isFunction(func)) {
|
|
196
|
+
(0, _log.errLog)('vxe.error.errFunc', [func]);
|
|
199
197
|
}
|
|
200
198
|
func(params, ...args);
|
|
201
199
|
};
|
|
@@ -651,6 +649,69 @@ function handleExportTreeSelectMethod(params) {
|
|
|
651
649
|
} = params;
|
|
652
650
|
return options.original ? (0, _util.getCellValue)(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
|
|
653
651
|
}
|
|
652
|
+
function handleNumberCell(renderOpts, params) {
|
|
653
|
+
const {
|
|
654
|
+
props = {},
|
|
655
|
+
showNegativeStatus
|
|
656
|
+
} = renderOpts;
|
|
657
|
+
const {
|
|
658
|
+
row,
|
|
659
|
+
column
|
|
660
|
+
} = params;
|
|
661
|
+
const {
|
|
662
|
+
type
|
|
663
|
+
} = props;
|
|
664
|
+
let cellValue = _xeUtils.default.get(row, column.field);
|
|
665
|
+
let isNegative = false;
|
|
666
|
+
if (!(0, _utils.isEmptyValue)(cellValue)) {
|
|
667
|
+
const numberInputConfig = getConfig().numberInput || {};
|
|
668
|
+
if (type === 'float') {
|
|
669
|
+
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
670
|
+
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
|
|
671
|
+
cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
|
|
672
|
+
if (!autoFill) {
|
|
673
|
+
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
674
|
+
}
|
|
675
|
+
if (showNegativeStatus) {
|
|
676
|
+
if (cellValue < 0) {
|
|
677
|
+
isNegative = true;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
} else if (type === 'amount') {
|
|
681
|
+
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
682
|
+
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
|
|
683
|
+
const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
|
|
684
|
+
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
685
|
+
if (showNegativeStatus) {
|
|
686
|
+
if (cellValue < 0) {
|
|
687
|
+
isNegative = true;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
cellValue = _xeUtils.default.commafy(cellValue, {
|
|
691
|
+
digits
|
|
692
|
+
});
|
|
693
|
+
if (!autoFill) {
|
|
694
|
+
const [iStr, dStr] = cellValue.split('.');
|
|
695
|
+
if (dStr) {
|
|
696
|
+
const dRest = dStr.replace(/0+$/, '');
|
|
697
|
+
cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
if (showCurrency) {
|
|
701
|
+
cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
|
|
702
|
+
}
|
|
703
|
+
} else {
|
|
704
|
+
if (showNegativeStatus) {
|
|
705
|
+
if (_xeUtils.default.toNumber(cellValue) < 0) {
|
|
706
|
+
isNegative = true;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
return getCellLabelVNs(renderOpts, params, cellValue, isNegative ? {
|
|
712
|
+
class: 'is--negative'
|
|
713
|
+
} : {});
|
|
714
|
+
}
|
|
654
715
|
/**
|
|
655
716
|
* 表格 - 渲染器
|
|
656
717
|
*/
|
|
@@ -720,72 +781,22 @@ renderer.mixin({
|
|
|
720
781
|
renderTableFilter: defaultFilterRender,
|
|
721
782
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
722
783
|
},
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
const {
|
|
728
|
-
props = {},
|
|
729
|
-
showNegativeStatus
|
|
730
|
-
} = renderOpts;
|
|
784
|
+
FormatNumberInput: {
|
|
785
|
+
renderTableDefault: handleNumberCell,
|
|
786
|
+
tableFilterDefaultMethod: handleInputFilterMethod,
|
|
787
|
+
tableExportMethod(params) {
|
|
731
788
|
const {
|
|
732
789
|
row,
|
|
733
790
|
column
|
|
734
791
|
} = params;
|
|
735
|
-
const
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
744
|
-
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
|
|
745
|
-
cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
|
|
746
|
-
if (!autoFill) {
|
|
747
|
-
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
748
|
-
}
|
|
749
|
-
if (showNegativeStatus) {
|
|
750
|
-
if (cellValue < 0) {
|
|
751
|
-
isNegative = true;
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
} else if (type === 'amount') {
|
|
755
|
-
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
756
|
-
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
|
|
757
|
-
const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
|
|
758
|
-
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
759
|
-
if (showNegativeStatus) {
|
|
760
|
-
if (cellValue < 0) {
|
|
761
|
-
isNegative = true;
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
cellValue = _xeUtils.default.commafy(cellValue, {
|
|
765
|
-
digits
|
|
766
|
-
});
|
|
767
|
-
if (!autoFill) {
|
|
768
|
-
const [iStr, dStr] = cellValue.split('.');
|
|
769
|
-
if (dStr) {
|
|
770
|
-
const dRest = dStr.replace(/0+$/, '');
|
|
771
|
-
cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
|
|
772
|
-
}
|
|
773
|
-
}
|
|
774
|
-
if (showCurrency) {
|
|
775
|
-
cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
|
|
776
|
-
}
|
|
777
|
-
} else {
|
|
778
|
-
if (showNegativeStatus) {
|
|
779
|
-
if (_xeUtils.default.toNumber(cellValue) < 0) {
|
|
780
|
-
isNegative = true;
|
|
781
|
-
}
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
}
|
|
785
|
-
return getCellLabelVNs(renderOpts, params, cellValue, isNegative ? {
|
|
786
|
-
class: 'is--negative'
|
|
787
|
-
} : {});
|
|
788
|
-
},
|
|
792
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
793
|
+
return cellValue;
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
VxeNumberInput: {
|
|
797
|
+
tableAutoFocus: 'input',
|
|
798
|
+
renderTableEdit: defaultEditRender,
|
|
799
|
+
renderTableCell: handleNumberCell,
|
|
789
800
|
renderTableFooter(renderOpts, params) {
|
|
790
801
|
const {
|
|
791
802
|
props = {}
|
|
@@ -924,11 +935,22 @@ renderer.mixin({
|
|
|
924
935
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
925
936
|
tableExportMethod: handleExportSelectMethod
|
|
926
937
|
},
|
|
938
|
+
/**
|
|
939
|
+
* 已废弃,被 FormatSelect 替换
|
|
940
|
+
* @deprecated
|
|
941
|
+
*/
|
|
927
942
|
formatOption: {
|
|
928
943
|
renderTableDefault(renderOpts, params) {
|
|
929
944
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
930
945
|
}
|
|
931
946
|
},
|
|
947
|
+
FormatSelect: {
|
|
948
|
+
renderTableDefault(renderOpts, params) {
|
|
949
|
+
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
950
|
+
},
|
|
951
|
+
tableFilterDefaultMethod: handleFilterMethod,
|
|
952
|
+
tableExportMethod: handleExportSelectMethod
|
|
953
|
+
},
|
|
932
954
|
VxeTreeSelect: {
|
|
933
955
|
tableAutoFocus: 'input',
|
|
934
956
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
@@ -937,11 +959,21 @@ renderer.mixin({
|
|
|
937
959
|
},
|
|
938
960
|
tableExportMethod: handleExportTreeSelectMethod
|
|
939
961
|
},
|
|
962
|
+
/**
|
|
963
|
+
* 已废弃,被 FormatTreeSelect 替换
|
|
964
|
+
* @deprecated
|
|
965
|
+
*/
|
|
940
966
|
formatTree: {
|
|
941
967
|
renderTableDefault(renderOpts, params) {
|
|
942
968
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
943
969
|
}
|
|
944
970
|
},
|
|
971
|
+
FormatTreeSelect: {
|
|
972
|
+
renderTableDefault(renderOpts, params) {
|
|
973
|
+
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
974
|
+
},
|
|
975
|
+
tableExportMethod: handleExportTreeSelectMethod
|
|
976
|
+
},
|
|
945
977
|
VxeTableSelect: {
|
|
946
978
|
tableAutoFocus: 'input',
|
|
947
979
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})},renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -317,6 +317,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
317
317
|
tdOns.onDblclick = evnt => {
|
|
318
318
|
$xeTable.triggerCellDblclickEvent(evnt, cellParams);
|
|
319
319
|
};
|
|
320
|
+
let isMergeCell = false;
|
|
320
321
|
// 合并行或列
|
|
321
322
|
if (mergeList.length) {
|
|
322
323
|
const spanRest = (0, _util.mergeBodyMethod)(mergeList, _rowIndex, _columnIndex);
|
|
@@ -329,9 +330,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
329
330
|
return null;
|
|
330
331
|
}
|
|
331
332
|
if (rowspan > 1) {
|
|
333
|
+
isMergeCell = true;
|
|
332
334
|
tdAttrs.rowspan = rowspan;
|
|
333
335
|
}
|
|
334
336
|
if (colspan > 1) {
|
|
337
|
+
isMergeCell = true;
|
|
335
338
|
tdAttrs.colspan = colspan;
|
|
336
339
|
}
|
|
337
340
|
}
|
|
@@ -366,11 +369,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
366
369
|
const isLastColumn = $columnIndex === columns.length - 1;
|
|
367
370
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
368
371
|
let isVNPreEmptyStatus = false;
|
|
369
|
-
if (!
|
|
370
|
-
if (
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
372
|
+
if (!isMergeCell) {
|
|
373
|
+
if (!dragRow || (0, _util.getRowid)($xeTable, dragRow) !== rowid) {
|
|
374
|
+
if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
|
|
375
|
+
isVNPreEmptyStatus = true;
|
|
376
|
+
} else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
377
|
+
isVNPreEmptyStatus = true;
|
|
378
|
+
}
|
|
374
379
|
}
|
|
375
380
|
}
|
|
376
381
|
const tcStyle = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let ze=(0,_vue.inject)("$xeTable",{}),{xID:k,props:qe,context:z,reactData:Ae,internalData:$e}=ze,{computeEditOpts:Ue,computeMouseOpts:Le,computeAreaOpts:je,computeDefaultRowHeight:He,computeEmptyOpts:q,computeTooltipOpts:Ne,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Fe,computeCellOpts:Be,computeValidOpts:Pe,computeRowOpts:Ke,computeColumnOpts:Ve,computeRowDragOpts:Xe,computeColumnDragOpts:l,computeResizableOpts:We}=ze.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ye=()=>{var e=qe.delayHover,{lastScrollTime:l,isDragResize:t}=Ae;return!!(t||l&&Date.now()<l+e)},Ge=(e,l)=>{var{row:t,column:a}=e,o=$e.afterFullData,r=qe.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=$e.fullAllDataRowIdData;if(a&&a.line)return ze.callSlot(a.line,e);a=n[(0,_util.getRowid)(ze,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=ze.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(ze):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=$e.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=qe,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=Ae,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=$e,oe=Be.value,f=Pe.value,re=Fe.value,ie=Ue.value,se=Ne.value,{isAllColumnDrag:ne,isAllRowDrag:de}=We.value,y=Ke.value,C=Xe.value,ue=He.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Ve.value,ge=Le.value,xe=je.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=ze.getColumnIndex(i),I=ze.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:ze,$grid:ze.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1;if((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ye()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&ze.triggerBodyTooltipEvent(e,q),ze.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ye()||((z||Oe)&&ze.handleTargetLeaveEvent(e),ze.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{ze.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=ze.triggerCellMouseupEvent),w.onClick=e=>{ze.triggerCellClickEvent(e,q)},w.onDblclick=e=>{ze.triggerCellDblclickEvent(e,q)},Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(O.rowspan=_),1<v&&(O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=ze.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Te=!1;Y&&(0,_util.getRowid)(ze,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(Te=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Ge(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?ze.getCellLabel(a,i):null},Te?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?ze.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ke=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ke=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>ze.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>ze.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>ze.handleRowResizeMousedownEvent(e,q),onDblclick:e=>ze.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ke,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||Te,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=qe,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=Ae,j=$e.fullAllDataRowIdData,H=Fe.value,N=e.value,F=c.value,B=Ue.value,P=Ke.value,K=Ve.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=ze.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ye()||ze.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ye()||ze.clearHoverRow()}),(0,_util.getRowid)(ze,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:ze,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=ze.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=ze.handleRowDragDragstartEvent,e.onDragend=ze.handleRowDragDragendEvent,e.onDragover=ze.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&ze.eqRow(A,t),"row--checked":H.highlight&&ze.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:ze,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=$e.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=$e.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=qe,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=Ae,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=$e,y=Ke.value,C=q.value,R=Le.value,D=Xe.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(ze,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(ze,h)],r=b[(0,_util.getRowid)(ze,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?ze.callSlot(_,{$table:ze,$grid:ze.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:ze})):qe.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){ze.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(ze):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ze.triggerCellAreaExtendMousedownEvent&&ze.triggerCellAreaExtendMousedownEvent(e,{$table:ze,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(ze),t?renderEmptyElement(ze):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let qe=(0,_vue.inject)("$xeTable",{}),{xID:k,props:Ae,context:z,reactData:$e,internalData:Ue}=qe,{computeEditOpts:Le,computeMouseOpts:je,computeAreaOpts:He,computeDefaultRowHeight:Ne,computeEmptyOpts:q,computeTooltipOpts:Fe,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Be,computeCellOpts:Pe,computeValidOpts:Ke,computeRowOpts:Ve,computeColumnOpts:Xe,computeRowDragOpts:We,computeColumnDragOpts:l,computeResizableOpts:Ye}=qe.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ge=()=>{var e=Ae.delayHover,{lastScrollTime:l,isDragResize:t}=$e;return!!(t||l&&Date.now()<l+e)},Je=(e,l)=>{var{row:t,column:a}=e,o=Ue.afterFullData,r=Ae.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Ue.fullAllDataRowIdData;if(a&&a.line)return qe.callSlot(a.line,e);a=n[(0,_util.getRowid)(qe,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=qe.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(qe):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=Ue.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=Ae,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=$e,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=Ue,oe=Pe.value,f=Ke.value,re=Be.value,ie=Le.value,se=Fe.value,{isAllColumnDrag:ne,isAllRowDrag:de}=Ye.value,y=Ve.value,C=We.value,ue=Ne.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Xe.value,ge=je.value,xe=He.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=qe.getColumnIndex(i),I=qe.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:qe,$grid:qe.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1,Te=((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ge()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&qe.triggerBodyTooltipEvent(e,q),qe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ge()||((z||Oe)&&qe.handleTargetLeaveEvent(e),qe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{qe.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=qe.triggerCellMouseupEvent),w.onClick=e=>{qe.triggerCellClickEvent(e,q)},!(w.onDblclick=e=>{qe.triggerCellDblclickEvent(e,q)}));if(Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(Te=!0,O.rowspan=_),1<v&&(Te=!0,O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=qe.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let ke=!1;Te||Y&&(0,_util.getRowid)(qe,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(ke=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Je(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?qe.getCellLabel(a,i):null},ke?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?qe.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ze=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ze=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>qe.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>qe.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>qe.handleRowResizeMousedownEvent(e,q),onDblclick:e=>qe.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ze,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||ke,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=Ae,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=$e,j=Ue.fullAllDataRowIdData,H=Be.value,N=e.value,F=c.value,B=Le.value,P=Ve.value,K=Xe.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=qe.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ge()||qe.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ge()||qe.clearHoverRow()}),(0,_util.getRowid)(qe,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:qe,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=qe.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=qe.handleRowDragDragstartEvent,e.onDragend=qe.handleRowDragDragendEvent,e.onDragover=qe.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&qe.eqRow(A,t),"row--checked":H.highlight&&qe.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:qe,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ue.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ue.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=Ae,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=$e,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=Ue,y=Ve.value,C=q.value,R=je.value,D=We.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(qe,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(qe,h)],r=b[(0,_util.getRowid)(qe,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?qe.callSlot(_,{$table:qe,$grid:qe.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:qe})):Ae.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){qe.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(qe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){qe.triggerCellAreaExtendMousedownEvent&&qe.triggerCellAreaExtendMousedownEvent(e,{$table:qe,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(qe),t?renderEmptyElement(qe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
@@ -28,40 +28,38 @@ class ColumnInfo {
|
|
|
28
28
|
const {
|
|
29
29
|
props: tableProps
|
|
30
30
|
} = $xeTable;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
32
|
+
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
33
|
+
(0, _log.warnLog)('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
|
|
34
|
+
}
|
|
35
|
+
if (_xeUtils.default.isBoolean(_vm.cellRender) || _vm.cellRender && !_xeUtils.default.isObject(_vm.cellRender)) {
|
|
36
|
+
(0, _log.warnLog)('vxe.error.errProp', [`column.cell-render=${_vm.cellRender}`, 'column.cell-render={}']);
|
|
37
|
+
}
|
|
38
|
+
if (_xeUtils.default.isBoolean(_vm.editRender) || _vm.editRender && !_xeUtils.default.isObject(_vm.editRender)) {
|
|
39
|
+
(0, _log.warnLog)('vxe.error.errProp', [`column.edit-render=${_vm.editRender}`, 'column.edit-render={}']);
|
|
40
|
+
}
|
|
41
|
+
if (_vm.type === 'expand') {
|
|
42
|
+
const {
|
|
43
|
+
treeConfig
|
|
44
|
+
} = tableProps;
|
|
45
|
+
const {
|
|
46
|
+
computeTreeOpts
|
|
47
|
+
} = $xeTable.getComputeMaps();
|
|
48
|
+
const treeOpts = computeTreeOpts.value;
|
|
49
|
+
if (treeConfig && (treeOpts.showLine || treeOpts.line)) {
|
|
50
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['tree-config.showLine', 'column.type=expand']);
|
|
41
51
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} = $xeTable.getComputeMaps();
|
|
49
|
-
const treeOpts = computeTreeOpts.value;
|
|
50
|
-
if (treeConfig && (treeOpts.showLine || treeOpts.line)) {
|
|
51
|
-
(0, _log.errLog)('vxe.error.errConflicts', ['tree-config.showLine', 'column.type=expand']);
|
|
52
|
+
}
|
|
53
|
+
if (formatter) {
|
|
54
|
+
if (_xeUtils.default.isString(formatter)) {
|
|
55
|
+
const gFormatOpts = formats.get(formatter) || _xeUtils.default[formatter];
|
|
56
|
+
if (!gFormatOpts || !_xeUtils.default.isFunction(gFormatOpts.tableCellFormatMethod || gFormatOpts.cellFormatMethod)) {
|
|
57
|
+
(0, _log.errLog)('vxe.error.notFormats', [formatter]);
|
|
52
58
|
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (_xeUtils.default.
|
|
56
|
-
|
|
57
|
-
if (!gFormatOpts || !_xeUtils.default.isFunction(gFormatOpts.tableCellFormatMethod || gFormatOpts.cellFormatMethod)) {
|
|
58
|
-
(0, _log.errLog)('vxe.error.notFormats', [formatter]);
|
|
59
|
-
}
|
|
60
|
-
} else if (_xeUtils.default.isArray(formatter)) {
|
|
61
|
-
const gFormatOpts = formats.get(formatter[0]) || _xeUtils.default[formatter[0]];
|
|
62
|
-
if (!gFormatOpts || !_xeUtils.default.isFunction(gFormatOpts.tableCellFormatMethod || gFormatOpts.cellFormatMethod)) {
|
|
63
|
-
(0, _log.errLog)('vxe.error.notFormats', [formatter[0]]);
|
|
64
|
-
}
|
|
59
|
+
} else if (_xeUtils.default.isArray(formatter)) {
|
|
60
|
+
const gFormatOpts = formats.get(formatter[0]) || _xeUtils.default[formatter[0]];
|
|
61
|
+
if (!gFormatOpts || !_xeUtils.default.isFunction(gFormatOpts.tableCellFormatMethod || gFormatOpts.cellFormatMethod)) {
|
|
62
|
+
(0, _log.errLog)('vxe.error.notFormats', [formatter[0]]);
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.xegrid,n=r.formatter,s=!_xeUtils.default.isBoolean(r.visible)||r.visible,a=e.props,f=["seq","checkbox","radio","expand","html"];r.type&&-1===f.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,f.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(f=a.treeConfig,a=e.getComputeMaps().computeTreeOpts,e=a.value,f)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),n&&(_xeUtils.default.isString(n)?(a=formats.get(n)||_xeUtils.default[n])&&_xeUtils.default.isFunction(a.tableCellFormatMethod||a.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[n]):!_xeUtils.default.isArray(n)||(f=formats.get(n[0])||_xeUtils.default[n[0]])&&_xeUtils.default.isFunction(f.tableCellFormatMethod||f.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[n[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:n,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:s,halfVisible:!1,defaultVisible:s,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),d&&(e=d.getComputeMaps().computeProxyOpts,(a=e.value).beforeColumn)&&a.beforeColumn({$grid:d,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
package/lib/table/src/footer.js
CHANGED
|
@@ -195,6 +195,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
195
195
|
cell: evnt.currentTarget
|
|
196
196
|
}, cellParams), evnt);
|
|
197
197
|
};
|
|
198
|
+
let isMergeCell = false;
|
|
198
199
|
// 合并行或列
|
|
199
200
|
if (mergeFooterList.length) {
|
|
200
201
|
const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
|
|
@@ -207,9 +208,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
207
208
|
return null;
|
|
208
209
|
}
|
|
209
210
|
if (rowspan > 1) {
|
|
211
|
+
isMergeCell = true;
|
|
210
212
|
attrs.rowspan = rowspan;
|
|
211
213
|
}
|
|
212
214
|
if (colspan > 1) {
|
|
215
|
+
isMergeCell = true;
|
|
213
216
|
attrs.colspan = colspan;
|
|
214
217
|
}
|
|
215
218
|
}
|
|
@@ -232,8 +235,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
232
235
|
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
233
236
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
234
237
|
let isVNPreEmptyStatus = false;
|
|
235
|
-
if (
|
|
236
|
-
|
|
238
|
+
if (!isMergeCell) {
|
|
239
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
240
|
+
isVNPreEmptyStatus = true;
|
|
241
|
+
}
|
|
237
242
|
}
|
|
238
243
|
const tcStyle = {};
|
|
239
244
|
if (hasEllipsis) {
|