vxe-table 4.7.0 → 4.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components.js +3 -1
- package/es/grid/src/grid.js +3 -2
- package/es/index.esm.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +2 -2
- package/es/table/module/custom/panel.js +2 -1
- package/es/table/module/edit/hook.js +2 -1
- package/es/table/module/export/export-panel.js +2 -1
- package/es/table/module/export/hook.js +2 -1
- package/es/table/module/export/import-panel.js +2 -1
- package/es/table/module/filter/hook.js +2 -1
- package/es/table/module/filter/panel.js +2 -1
- package/es/table/module/keyboard/hook.js +2 -1
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +2 -1
- package/es/table/render/index.js +2 -1
- package/es/table/src/body.js +2 -1
- package/es/table/src/cell.js +2 -1
- package/es/table/src/columnInfo.js +2 -1
- package/es/table/src/props.js +2 -1
- package/es/table/src/table.js +16 -2
- package/es/table/style.css +4 -2
- package/es/table/style.min.css +1 -1
- package/es/toolbar/src/toolbar.js +3 -2
- package/es/ui/index.js +4 -2
- package/es/ui/src/utils.js +3 -3
- package/es/v-x-e-table/index.js +3 -0
- package/es/v-x-e-table/style.css +0 -0
- package/es/v-x-e-table/style.min.css +0 -0
- package/es/vxe-table/style.css +4 -2
- package/es/vxe-table/style.min.css +1 -1
- package/es/vxe-v-x-e-table/index.js +3 -0
- package/es/vxe-v-x-e-table/style.css +0 -0
- package/es/vxe-v-x-e-table/style.min.css +0 -0
- package/lib/components.js +10 -2
- package/lib/components.min.js +1 -1
- package/lib/grid/src/grid.js +40 -29
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.common.js +5 -5
- package/lib/index.umd.js +570 -437
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +27 -23
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +20 -13
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +35 -31
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +24 -18
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +12 -8
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/hook.js +7 -3
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +13 -8
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +4 -1
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +11 -5
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +13 -7
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +11 -5
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +7 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +26 -21
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +15 -10
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/props.js +27 -24
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +173 -146
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +4 -2
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/src/toolbar.js +48 -38
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +5 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/utils.js +2 -2
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/v-x-e-table/index.js +22 -0
- package/lib/v-x-e-table/index.min.js +1 -0
- package/lib/v-x-e-table/style/index.js +1 -0
- package/lib/v-x-e-table/style/style.css +0 -0
- package/lib/v-x-e-table/style/style.min.css +0 -0
- package/lib/vxe-table/style/style.css +4 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-v-x-e-table/index.js +22 -0
- package/lib/vxe-v-x-e-table/index.min.js +1 -0
- package/lib/vxe-v-x-e-table/style/index.js +1 -0
- package/lib/vxe-v-x-e-table/style/style.css +0 -0
- package/lib/vxe-v-x-e-table/style/style.min.css +0 -0
- package/package.json +2 -2
- package/packages/components.ts +4 -1
- package/packages/grid/src/grid.ts +5 -4
- package/packages/index.ts +2 -2
- package/packages/table/module/custom/hook.ts +2 -2
- package/packages/table/module/custom/panel.ts +4 -3
- package/packages/table/module/edit/hook.ts +3 -1
- package/packages/table/module/export/export-panel.ts +4 -3
- package/packages/table/module/export/hook.ts +3 -1
- package/packages/table/module/export/import-panel.ts +4 -3
- package/packages/table/module/filter/hook.ts +3 -1
- package/packages/table/module/filter/panel.ts +3 -1
- package/packages/table/module/keyboard/hook.ts +3 -1
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +3 -1
- package/packages/table/render/index.ts +4 -3
- package/packages/table/src/body.ts +4 -2
- package/packages/table/src/cell.ts +4 -2
- package/packages/table/src/columnInfo.ts +2 -1
- package/packages/table/src/props.ts +3 -1
- package/packages/table/src/table.ts +18 -4
- package/packages/toolbar/src/toolbar.ts +5 -4
- package/packages/ui/index.ts +3 -0
- package/packages/ui/src/utils.ts +3 -3
- package/packages/ui/src/vn.ts +2 -1
- package/packages/v-x-e-table/index.d.ts +4 -0
- package/packages/v-x-e-table/index.ts +4 -0
- package/styles/components/table.scss +5 -2
- package/styles/components/v-x-e-table.scss +0 -0
- package/styles/theme/base.scss +1 -0
- package/types/all.d.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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}}const tableValidatorMethodKeys=["fullValidate","validate","clearValidate"];
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,validators,hooks,log}=_vxePcUi.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}}const tableValidatorMethodKeys=["fullValidate","validate","clearValidate"];hooks.add("tableValidatorModule",{setupTable(p){const{props:f,reactData:m,internalData:h}=p,g=p.getRefMaps()["refValidTooltip"],{computeValidOpts:x,computeTreeOpts:_,computeEditOpts:u}=p.getComputeMaps();let w={},R={},U;const l=(e,u,i)=>{const d={},{editRules:t,treeConfig:l}=f,{afterFullData:c,visibleColumn:g}=h;var r=_.value,r=r.children||r.childrenField;const v=x.value;let a;!0===e?a=c:e&&(_xeUtils.default.isFunction(e)?u=e:a=_xeUtils.default.isArray(e)?e:[e]),a=a||(p.getInsertRecords?p.getInsertRecords().concat(p.getUpdateRecords()):[]);const o=[],s=(h._lastCallTime=Date.now(),U=!1,w.clearValidate(),{});if(t){const n=p.getColumns();e=r=>{if(i||!U){const e=[];n.forEach(l=>{!i&&U||!_xeUtils.default.has(t,l.property)||e.push(R.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:p.getRowIndex(r),row:r,columnIndex:p.getColumnIndex(l),column:l,field:l.property,$table:p};if(d[l.property]||(d[l.property]=[]),s[(0,_util.getRowid)(p,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},d[l.property].push(t),!i)return U=!0,Promise.reject(t)}))}),o.push(Promise.all(e))}};return l?_xeUtils.default.eachTree(a,e,{children:r}):a.forEach(e),Promise.all(o).then(()=>{const e=Object.keys(d);var t,l,r;return m.validErrorMaps=(t=s,"single"===x.value.msgMode?(l=t,(r=Object.keys(t)).length&&(l[r=r[0]]=t[r]),l):t),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(d[e[0]][0]);u&&u()})}).catch(n=>new Promise((e,t)=>{const l=()=>{(0,_vue.nextTick)(()=>{u?(u(d),e()):("obsolete"===getConfig().validToReject?t:e)(d)})};var r,i,a,o,s=()=>{var t;n.cell=p.getCell(n.row,n.column),(0,_dom.scrollToView)(n.cell),t=n,new Promise(e=>{!1===x.value.autoPos?(p.dispatchEvent("valid-error",t,null),e()):p.handleActived(t,{type:"valid-error",trigger:"call"}).then(()=>{e(R.showValidTooltip(t))})}).then(l)};!1===v.autoPos?l():(o=n.row,r=n.column,a=c.indexOf(o),i=g.indexOf(r),a=0<a?c[a-1]:o,o=0<i?g[i-1]:r,p.scrollToRow(a,o).then(s))}))}return m.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},V=(w={fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&log.warn("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),l(e,t,!0)},validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&log.warn("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),l(e,t)},clearValidate(e,t){var l=m["validErrorMaps"],r=g.value,i=x.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];const a=_xeUtils.default.isArray(t)?t:(t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));let o={};if(r&&r.reactData.visible&&r.close(),"single"===i.msgMode)m.validErrorMaps={};else{if(e.length&&a.length)o=Object.assign({},l),e.forEach(t=>{a.forEach(e=>{e=(0,_util.getRowid)(p,t)+":"+e.id;o[e]&&delete o[e]})});else if(e.length){const s=e.map(e=>""+(0,_util.getRowid)(p,e));_xeUtils.default.each(l,(e,t)=>{-1<s.indexOf(t.split(":")[0])&&(o[t]=e)})}else if(a.length){const n=a.map(e=>""+e.id);_xeUtils.default.each(l,(e,t)=>{-1<n.indexOf(t.split(":")[1])&&(o[t]=e)})}m.validErrorMaps=o}return(0,_vue.nextTick)()}},(e,t)=>{var{type:e,min:l,max:r,pattern:i}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&a<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(r)&&a>_xeUtils.default.toNumber(r)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(t))});return R={validCellRules(e,n,u,t){var l=f["editRules"],r=u["field"];const d=[],c=[];if(r&&l){const g=_xeUtils.default.get(l,r);if(g){const v=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(n,r):t;g.forEach(t=>{const{type:l,trigger:r,required:i,validator:a}=t;if("all"===e||!r||e===r)if(a){var o={cellValue:v,rule:t,rules:g,row:n,rowIndex:p.getRowIndex(n),column:u,columnIndex:p.getColumnIndex(u),field:u.field,$table:p,$grid:p.xegrid};let e;_xeUtils.default.isString(a)?(s=validators.get(a))?s.cellValidatorMethod?e=s.cellValidatorMethod(o):"development"===process.env.NODE_ENV&&log.warn("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&log.err("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?(U=!0,d.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(t)}))):e.catch&&c.push(e.catch(e=>{U=!0,d.push(new Rule({type:"custom",trigger:r,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var s="array"===l,o=_xeUtils.default.isArray(v);let e=!0;e=s||o?!o||!v.length:_xeUtils.default.isString(v)?(0,_utils.eqEmptyValue)(v.trim()):(0,_utils.eqEmptyValue)(v),(i?e||V(t,v):!e&&V(t,v))&&(U=!0,d.push(new Rule(t)))}})}}return Promise.all(c).then(()=>{var e;if(d.length)return e={rules:d,rule:d[0]},Promise.reject(e)})},hasCellRules(t,e,l){var r=f["editRules"],l=l["field"];return!(!l||!r)&&(r=_xeUtils.default.get(r,l))&&!!_xeUtils.default.find(r,e=>"all"===t||!e.trigger||t===e.trigger)},triggerValidate(t){var{editConfig:e,editRules:l}=f,r=m["editStore"],r=r["actived"];const i=u.value;var a=x.value;if(l&&"single"===a.msgMode&&(m.validErrorMaps={}),e&&l&&r.row){const{row:o,column:s,cell:n}=r.args;if(R.hasCellRules(t,o,s))return R.validCellRules(t,o,s).then(()=>{"row"===i.mode&&w.clearValidate(o,s)}).catch(({rule:e})=>{return e.trigger&&t!==e.trigger?Promise.resolve():(e={rule:e,row:o,column:s,cell:n},R.showValidTooltip(e),Promise.reject(e))})}return Promise.resolve()},showValidTooltip(e){var t=f["height"],{tableData:l,validStore:r,validErrorMaps:i}=m,{rule:a,row:o,column:s,cell:n}=e,u=x.value,d=g.value,c=a.content;return r.visible=!0,"single"===u.msgMode?m.validErrorMaps={[(0,_util.getRowid)(p,o)+":"+s.id]:{column:s,row:o,rule:a,content:c}}:m.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(p,o)+":"+s.id]:{column:s,row:o,rule:a,content:c}}),p.dispatchEvent("valid-error",e,null),d&&("tooltip"===u.message||"default"===u.message&&!t&&l.length<2)?d.open(n,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},w),R)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
|
|
@@ -7,6 +7,12 @@ var _util = require("../../table/src/util");
|
|
|
7
7
|
var _utils = require("../../ui/src/utils");
|
|
8
8
|
var _vn = require("../../ui/src/vn");
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
const {
|
|
11
|
+
getConfig,
|
|
12
|
+
renderer,
|
|
13
|
+
getI18n,
|
|
14
|
+
log
|
|
15
|
+
} = _vxePcUi.VxeUI;
|
|
10
16
|
const componentDefaultModelProp = 'modelValue';
|
|
11
17
|
const defaultCompProps = {
|
|
12
18
|
transfer: true
|
|
@@ -41,7 +47,7 @@ function getFormatDate(value, props, defaultFormat) {
|
|
|
41
47
|
return _xeUtils.default.toDateString(parseDate(value, props), dateConfig.labelFormat || defaultFormat);
|
|
42
48
|
}
|
|
43
49
|
function getLabelFormatDate(value, props) {
|
|
44
|
-
return getFormatDate(value, props,
|
|
50
|
+
return getFormatDate(value, props, getI18n(`vxe.input.date.labelFormat.${props.type}`));
|
|
45
51
|
}
|
|
46
52
|
/**
|
|
47
53
|
* 已废弃
|
|
@@ -188,7 +194,7 @@ function getComponentOns(renderOpts, params, modelFunc, changeFunc) {
|
|
|
188
194
|
ons[(0, _vn.getOnName)(key)] = function (...args) {
|
|
189
195
|
if (process.env.NODE_ENV === 'development') {
|
|
190
196
|
if (!_xeUtils.default.isFunction(func)) {
|
|
191
|
-
|
|
197
|
+
log.err('vxe.error.errFunc', [func]);
|
|
192
198
|
}
|
|
193
199
|
}
|
|
194
200
|
func(params, ...args);
|
|
@@ -527,7 +533,7 @@ function handleExportSelectMethod(params) {
|
|
|
527
533
|
/**
|
|
528
534
|
* 表格 - 渲染器
|
|
529
535
|
*/
|
|
530
|
-
|
|
536
|
+
renderer.mixin({
|
|
531
537
|
input: {
|
|
532
538
|
autofocus: 'input',
|
|
533
539
|
renderEdit: nativeEditRender,
|
|
@@ -571,7 +577,7 @@ _vxePcUi.renderer.mixin({
|
|
|
571
577
|
row,
|
|
572
578
|
column
|
|
573
579
|
} = params;
|
|
574
|
-
const digits = props.digits || ((_a =
|
|
580
|
+
const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
|
|
575
581
|
let cellValue = _xeUtils.default.get(row, column.property);
|
|
576
582
|
if (cellValue) {
|
|
577
583
|
switch (props.type) {
|
|
@@ -663,7 +669,7 @@ _vxePcUi.renderer.mixin({
|
|
|
663
669
|
row,
|
|
664
670
|
column
|
|
665
671
|
} = params;
|
|
666
|
-
const digits = props.digits || ((_a =
|
|
672
|
+
const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
|
|
667
673
|
let cellValue = _xeUtils.default.get(row, column.property);
|
|
668
674
|
if (cellValue) {
|
|
669
675
|
switch (props.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,n){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,(0,_vxePcUi.getI18n)("vxe.input.date.labelFormat."+t.type))}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,n){e=e.$panel;e.changeOption({},t,n)}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getInputImmediateModel(e){var{name:e,immediate:t,props:n}=e;return t||("VxeInput"===e||"$input"===e?(t=(n||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,n){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(n,1))]}function getElementOns(e,n,t,r){const o=e["events"],l=getModelEvent(e),i=getChangeEvent(e),a=i===l,u={};return o&&_xeUtils.default.objectEach(o,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(l)]=function(e){t(e),a&&r&&r(e),o&&o[l]&&o[l](n,e)}),!a&&r&&(u[(0,_vn.getOnName)(i)]=function(...e){r(...e),o&&o[i]&&o[i](n,...e)}),u}function getComponentOns(e,n,t,r){const o=e["events"],l=getModelEvent(e),i=getChangeEvent(e),a={};return _xeUtils.default.objectEach(o,(t,e)=>{a[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||_vxePcUi.log.err("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(a[(0,_vn.getOnName)(l)]=function(e){t(e),o&&o[l]&&o[l](n,e)}),r&&(a[(0,_vn.getOnName)(i)]=function(...e){r(...e),o&&o[i]&&o[i](n,...e)}),a}function getEditOns(e,t){const{$table:n,row:r,column:o}=t,l=e["name"],i=o["model"],a=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a?(0,_util.setCellValue)(r,o,e):(i.update=!0,i.value=e)},e=>{!a&&["VxeInput","VxeTextarea","$input","$textarea"].includes(l)?(e=e.value,i.update=!0,i.value=e,n.updateStatus(t,e)):n.updateStatus(t)})}function getFilterOns(e,t,n){return getComponentOns(e,t,e=>{n.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeEditOns(t,n){const{$table:r,row:o,column:l}=n,i=l["model"];return getElementOns(t,n,e=>{e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(o,l,e):(i.update=!0,i.value=e)},e=>{e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,e=>{n.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function nativeEditRender(e,t){var{row:n,column:r}=t,o=e["name"],n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(o,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+o},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function defaultCellRender(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:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),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(n,r,o){var{optionGroups:e,optionGroupProps:t={}}=n;const l=t.options||"options",i=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[i]},o(e[l],n,r)))}function renderNativeOptions(e,t,n){var{optionProps:r={}}=t,{row:o,column:l}=n;const i=r.label||"label",a=r.value||"value",u=r.disabled||"disabled",s=isImmediateCell(t,n)?(0,_util.getCellValue)(o,l):l.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[a],disabled:e[u],selected:e[a]==s},e[i]))}function nativeFilterRender(n,r){var e=r["column"];const o=n["name"],l=getNativeAttrs(n);return e.filters.map((e,t)=>(0,_vue.h)(o,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+o},l),{value:e.data}),getNativeFilterOns(n,r,e))))}function defaultFilterRender(r,o){var e=o["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,o,e)))})}function oldFilterRender(r,o){var e=o["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,o,e)))})}function handleFilterMethod({option:e,row:t,column:n}){e=e.data;return _xeUtils.default.get(t,n.property)==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:n,column:r}=t,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:n,column:r}=t,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:n}){const{props:r={},options:o,optionGroups:l,optionProps:i={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,n.property);let u;const s=i.label||"label",d=i.value||"value";return(0,_utils.isEmptyValue)(e)?"":_xeUtils.default.map(r.multiple?e:[e],l?t=>{var n=a.options||"options";for(let e=0;e<l.length&&!(u=_xeUtils.default.find(l[e][n],e=>e[d]==t));e++);return u?u[s]:t}:t=>(u=_xeUtils.default.find(o,e=>e[d]==t))?u[s]:t).join(", ")}function handleExportSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}_vxePcUi.renderer.mixin({input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleFilterMethod},textarea:{autofocus:"textarea",renderEdit:nativeEditRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(n,r){var e=r["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(n)),getNativeFilterOns(n,r,e)),n.optionGroups?renderNativeOptgroups(n,r,renderNativeOptions):renderNativeOptions(n.options,n,r)))},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeInput:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:o,column:l}=t,i=r.digits||(null==(n=(0,_vxePcUi.getConfig)().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(o,l.property);if(a)switch(r.type){case"date":case"week":case"month":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeTextarea:{autofocus:".vxe-textarea--inner"},VxeButton:{renderDefault:defaultCellRender},VxeButtonGroup:{renderDefault:defaultCellRender},VxeSelect:{autofocus:".vxe-input--inner",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,o){var e=o["column"];const{options:l,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,o,n,{options:l,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,o,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeRadio:{autofocus:".vxe-radio--input"},VxeRadioGroup:{autofocus:".vxe-radio--input"},VxeCheckbox:{autofocus:".vxe-checkbox--input"},VxeCheckboxGroup:{autofocus:".vxe-checkbox--input"},VxeSwitch:{autofocus:".vxe-switch--button",renderEdit:defaultEditRender,renderDefault:defaultEditRender},$input:{autofocus:".vxe-input--inner",renderEdit:oldEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:o,column:l}=t,i=r.digits||(null==(n=(0,_vxePcUi.getConfig)().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(o,l.property);if(a)switch(r.type){case"date":case"week":case"month":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:oldEditRender,renderFilter:oldFilterRender,defaultFilterMethod:handleFilterMethod},$textarea:{autofocus:".vxe-textarea--inner"},$button:{renderDefault:oldButtonEditRender},$buttons:{renderDefault:oldButtonsEditRender},$select:{autofocus:".vxe-input--inner",renderEdit:oldSelectEditRender,renderDefault:oldSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,o){var e=o["column"];const{options:l,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,o,n,{options:l,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,o,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input"},$checkbox:{autofocus:".vxe-checkbox--input"},$switch:{autofocus:".vxe-switch--button",renderEdit:oldEditRender,renderDefault:oldEditRender}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n,log}=_vxePcUi.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,n){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}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,n){e=e.$panel;e.changeOption({},t,n)}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getInputImmediateModel(e){var{name:e,immediate:t,props:n}=e;return t||("VxeInput"===e||"$input"===e?(t=(n||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,n){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(n,1))]}function getElementOns(e,n,t,r){const o=e["events"],l=getModelEvent(e),i=getChangeEvent(e),a=i===l,u={};return o&&_xeUtils.default.objectEach(o,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(l)]=function(e){t(e),a&&r&&r(e),o&&o[l]&&o[l](n,e)}),!a&&r&&(u[(0,_vn.getOnName)(i)]=function(...e){r(...e),o&&o[i]&&o[i](n,...e)}),u}function getComponentOns(e,n,t,r){const o=e["events"],l=getModelEvent(e),i=getChangeEvent(e),a={};return _xeUtils.default.objectEach(o,(t,e)=>{a[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||log.err("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(a[(0,_vn.getOnName)(l)]=function(e){t(e),o&&o[l]&&o[l](n,e)}),r&&(a[(0,_vn.getOnName)(i)]=function(...e){r(...e),o&&o[i]&&o[i](n,...e)}),a}function getEditOns(e,t){const{$table:n,row:r,column:o}=t,l=e["name"],i=o["model"],a=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a?(0,_util.setCellValue)(r,o,e):(i.update=!0,i.value=e)},e=>{!a&&["VxeInput","VxeTextarea","$input","$textarea"].includes(l)?(e=e.value,i.update=!0,i.value=e,n.updateStatus(t,e)):n.updateStatus(t)})}function getFilterOns(e,t,n){return getComponentOns(e,t,e=>{n.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeEditOns(t,n){const{$table:r,row:o,column:l}=n,i=l["model"];return getElementOns(t,n,e=>{e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(o,l,e):(i.update=!0,i.value=e)},e=>{e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,e=>{n.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function nativeEditRender(e,t){var{row:n,column:r}=t,o=e["name"],n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(o,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+o},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function defaultCellRender(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:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),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(n,r,o){var{optionGroups:e,optionGroupProps:t={}}=n;const l=t.options||"options",i=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[i]},o(e[l],n,r)))}function renderNativeOptions(e,t,n){var{optionProps:r={}}=t,{row:o,column:l}=n;const i=r.label||"label",a=r.value||"value",u=r.disabled||"disabled",s=isImmediateCell(t,n)?(0,_util.getCellValue)(o,l):l.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[a],disabled:e[u],selected:e[a]==s},e[i]))}function nativeFilterRender(n,r){var e=r["column"];const o=n["name"],l=getNativeAttrs(n);return e.filters.map((e,t)=>(0,_vue.h)(o,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+o},l),{value:e.data}),getNativeFilterOns(n,r,e))))}function defaultFilterRender(r,o){var e=o["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,o,e)))})}function oldFilterRender(r,o){var e=o["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,o,e)))})}function handleFilterMethod({option:e,row:t,column:n}){e=e.data;return _xeUtils.default.get(t,n.property)==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:n,column:r}=t,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:n,column:r}=t,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:o,optionProps:l,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:n}){const{props:r={},options:o,optionGroups:l,optionProps:i={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,n.property);let u;const s=i.label||"label",d=i.value||"value";return(0,_utils.isEmptyValue)(e)?"":_xeUtils.default.map(r.multiple?e:[e],l?t=>{var n=a.options||"options";for(let e=0;e<l.length&&!(u=_xeUtils.default.find(l[e][n],e=>e[d]==t));e++);return u?u[s]:t}:t=>(u=_xeUtils.default.find(o,e=>e[d]==t))?u[s]:t).join(", ")}function handleExportSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}renderer.mixin({input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleFilterMethod},textarea:{autofocus:"textarea",renderEdit:nativeEditRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(n,r){var e=r["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(n)),getNativeFilterOns(n,r,e)),n.optionGroups?renderNativeOptgroups(n,r,renderNativeOptions):renderNativeOptions(n.options,n,r)))},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeInput:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:o,column:l}=t,i=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(o,l.property);if(a)switch(r.type){case"date":case"week":case"month":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeTextarea:{autofocus:".vxe-textarea--inner"},VxeButton:{renderDefault:defaultCellRender},VxeButtonGroup:{renderDefault:defaultCellRender},VxeSelect:{autofocus:".vxe-input--inner",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,o){var e=o["column"];const{options:l,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,o,n,{options:l,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,o,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeRadio:{autofocus:".vxe-radio--input"},VxeRadioGroup:{autofocus:".vxe-radio--input"},VxeCheckbox:{autofocus:".vxe-checkbox--input"},VxeCheckboxGroup:{autofocus:".vxe-checkbox--input"},VxeSwitch:{autofocus:".vxe-switch--button",renderEdit:defaultEditRender,renderDefault:defaultEditRender},$input:{autofocus:".vxe-input--inner",renderEdit:oldEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:o,column:l}=t,i=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(o,l.property);if(a)switch(r.type){case"date":case"week":case"month":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:oldEditRender,renderFilter:oldFilterRender,defaultFilterMethod:handleFilterMethod},$textarea:{autofocus:".vxe-textarea--inner"},$button:{renderDefault:oldButtonEditRender},$buttons:{renderDefault:oldButtonsEditRender},$select:{autofocus:".vxe-input--inner",renderEdit:oldSelectEditRender,renderDefault:oldSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,o){var e=o["column"];const{options:l,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,o,n,{options:l,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,o,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input"},$checkbox:{autofocus:".vxe-checkbox--input"},$switch:{autofocus:".vxe-switch--button",renderEdit:oldEditRender,renderDefault:oldEditRender}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -12,6 +12,10 @@ var _dom = require("../../ui/src/dom");
|
|
|
12
12
|
var _utils = require("../../ui/src/utils");
|
|
13
13
|
var _vn = require("../../ui/src/vn");
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const {
|
|
16
|
+
getI18n,
|
|
17
|
+
renderer
|
|
18
|
+
} = _vxePcUi.VxeUI;
|
|
15
19
|
const renderType = 'body';
|
|
16
20
|
const lineOffsetSizes = {
|
|
17
21
|
mini: 3,
|
|
@@ -214,7 +218,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
214
218
|
height: rowHeight
|
|
215
219
|
} = rowOpts;
|
|
216
220
|
const renderOpts = editRender || cellRender;
|
|
217
|
-
const compConf = renderOpts ?
|
|
221
|
+
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
218
222
|
const compCellClassName = compConf ? compConf.cellClassName : '';
|
|
219
223
|
const compCellStyle = compConf ? compConf.cellStyle : '';
|
|
220
224
|
const showAllTip = tooltipOpts.showAll;
|
|
@@ -953,14 +957,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
953
957
|
$grid: $xeTable.xegrid
|
|
954
958
|
});
|
|
955
959
|
} else {
|
|
956
|
-
const compConf = emptyOpts.name ?
|
|
960
|
+
const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
|
|
957
961
|
const renderTableEmptyView = compConf ? compConf.renderTableEmptyView || compConf.renderEmpty : null;
|
|
958
962
|
if (renderTableEmptyView) {
|
|
959
963
|
emptyContent = (0, _vn.getSlotVNs)(renderTableEmptyView(emptyOpts, {
|
|
960
964
|
$table: $xeTable
|
|
961
965
|
}));
|
|
962
966
|
} else {
|
|
963
|
-
emptyContent = tableProps.emptyText ||
|
|
967
|
+
emptyContent = tableProps.emptyText || getI18n('vxe.table.emptyText');
|
|
964
968
|
}
|
|
965
969
|
}
|
|
966
970
|
return (0, _vue.h)('div', Object.assign({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-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}}const renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){const ae=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:w,props:se,context:y,reactData:ie,internalData:ne}=ae,{refTableHeader:_,refTableBody:b,refTableFooter:q,refTableLeftBody:T,refTableRightBody:S,refValidTooltip:j}=ae.getRefMaps(),{computeEditOpts:ce,computeMouseOpts:B,computeSYOpts:ue,computeEmptyOpts:Y,computeKeyboardOpts:N,computeTooltipOpts:he,computeRadioOpts:e,computeExpandOpts:F,computeTreeOpts:d,computeCheckboxOpts:de,computeValidOpts:xe,computeRowOpts:ve,computeColumnOpts:ge}=ae.getComputeMaps(),C=(0,_vue.ref)(),O=(0,_vue.ref)(),L=(0,_vue.ref)(),R=(0,_vue.ref)(),H=(0,_vue.ref)(),$=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},pe=()=>{var e=se["delayHover"],{lastScrollTime:l,_isResize:t}=ie;return!!(t||l&&Date.now()<l+e)},p=(e,l)=>{let t=1;if(e){var o=d.value,r=e[o.children||o.childrenField];if(r&&ae.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=p(r[e],l)}return t},me=e=>{var{row:l,column:t}=e,o=ne["afterFullData"],r=se["treeConfig"],a=d.value,{slots:t,treeNode:s}=t,i=ne["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(ae,l)];let n=0,c=0,u=[];return i&&(n=i.level,c=i._index,u=i.items),t&&t.line?ae.callSlot(t.line,e):(i=ae.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=p(l[t-1],e)),ie.rowHeight*o-(t?1:12-v())})(e,u,c)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},A=(e,l,t,o,r,a,s,i,n,c,U,q)=>{var{columnKey:j,height:u,showOverflow:d,cellClassName:B,cellStyle:v,align:p,spanMethod:h,mouseConfig:Y,editConfig:N,editRules:x,tooltipConfig:P}=se,{tableData:W,overflowX:g,scrollYLoad:F,currentColumn:A,mergeList:m,editStore:f,isAllOverflow:V,validErrorMaps:w}=ie,X=ne["afterFullData"],y=xe.value,K=de.value,_=ce.value,b=he.value,T=ve.value,S=ue.value,z=ge.value,{type:G,cellRender:J,editRender:C,align:O,showOverflow:L,className:Q,treeNode:Z,slots:ee}=n,f=f["actived"],S=S["rHeight"],T=T["height"],R=C||J,R=R?_vxePcUi.renderer.get(R.name):null,le=R?R.cellClassName:"",R=R?R.cellStyle:"";const H=b.showAll;var b=ae.getColumnIndex(n),te=ae.getVTColumnIndex(n),oe=(0,_utils.isEnableConf)(C);let $=t?n.fixed!==t:n.fixed&&g;g=_xeUtils.default.isUndefined(L)||_xeUtils.default.isNull(L)?d:L;let M="ellipsis"===g;const E="title"===g,D=!0===g||"tooltip"===g;let I=E||D||M,re;L={},g=O||p,O=w[l+":"+n.id],p=x&&y.showMessage&&("default"===y.message?u||1<W.length:"inline"===y.message),w={colid:n.id};const k={$table:ae,$grid:ae.xegrid,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:i,column:n,columnIndex:b,$columnIndex:c,_columnIndex:te,fixed:t,type:renderType,isHidden:$,level:o,visibleData:X,data:W,items:q};if(F&&!I&&(M=I=!0),(E||D||H||P)&&(L.onMouseenter=e=>{pe()||(E?(0,_dom.updateCellTitle)(e.currentTarget,n):(D||H)&&ae.triggerBodyTooltipEvent(e,k),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(D||H||P)&&(L.onMouseleave=e=>{pe()||((D||H)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(K.range||Y)&&(L.onMousedown=e=>{ae.triggerCellMousedownEvent(e,k)}),L.onClick=e=>{ae.triggerCellClickEvent(e,k)},L.onDblclick=e=>{ae.triggerCellDblclickEvent(e,k)},m.length){x=(0,_util.mergeBodyMethod)(m,i,te);if(x){var{rowspan:u,colspan:e}=x;if(!u||!e)return null;1<u&&(w.rowspan=u),1<e&&(w.colspan=e)}}else if(h){var{rowspan:l=1,colspan:a=1}=h(k)||{};if(!l||!a)return null;1<l&&(w.rowspan=l),1<a&&(w.colspan=a)}!($=$&&m&&(1<w.colspan||1<w.rowspan)?!1:$)&&N&&(C||J)&&(_.showStatus||_.showUpdateStatus)&&(re=ae.isUpdateByRow(r,n.field));s=[];return $&&d&&V?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":E,"c--tooltip":D,"c--ellipsis":M}],style:{maxHeight:I&&(S||T)?`${S||T}px`:""}})):(s.push(...me(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":E,"c--tooltip":D,"c--ellipsis":M}],style:{maxHeight:I&&(S||T)?`${S||T}px`:""},title:E?ae.getCellLabel(r,n):null},n.renderCell(k))),p&&O&&(b=O.rule,t=ee?ee.valid:null,o=Object.assign(Object.assign({},k),O),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-hint",(0,_dom.getPropClass)(y.className,o)],style:b&&b.maxWidth?{width:b.maxWidth+"px"}:null},t?ae.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)])))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",n.id,{["col--"+g]:g,["col--"+G]:G,"col--last":c===U.length-1,"col--tree-node":Z,"col--edit":oe,"col--ellipsis":I,"fixed--hidden":$,"col--dirty":re,"col--active":N&&oe&&f.row===r&&(f.column===n||"row"===_.mode),"col--valid-error":!!O,"col--current":A===n},(0,_dom.getPropClass)(le,k),(0,_dom.getPropClass)(Q,k),(0,_dom.getPropClass)(B,k)],key:j||z.useKey?n.id:c},w),{style:Object.assign({height:I&&(S||T)?`${S||T}px`:""},_xeUtils.default.isFunction(R)?R(k):R,_xeUtils.default.isFunction(v)?v(k):v)}),L),s)},W=(x,g,m)=>{const{stripe:f,rowKey:w,highlightHoverRow:y,rowClassName:_,rowStyle:b,showOverflow:T,editConfig:S,treeConfig:C}=se,{hasFixedColumn:O,treeExpandedMaps:L,scrollYLoad:R,rowExpandedMaps:H,expandColumn:$,selectRadioRow:M,pendingRowMaps:E,pendingRowList:D}=ie,I=ne["fullAllDataRowIdData"],k=de.value,U=e.value,q=d.value,j=ce.value,B=ve.value,Y=q["transform"],N=q.children||q.childrenField,P=[];return g.forEach((t,o)=>{var e={};let r;r=ae.getRowIndex(t),(B.isHover||y)&&(e.onMouseenter=e=>{pe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{pe()||ae.clearHoverRow()});const a=(0,_util.getRowid)(ae,t);var l=I[a];let s=0,i=-1,n=0;l&&(s=l.level,i=l.seq,n=l._index);var c,u,l={$table:ae,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=$&&!!H[a];let v=!1,p=[],h=!1;S&&(h=ae.isInsertByRow(t)),!C||R||Y||(p=t[N],v=p&&0<p.length&&!!L[a]),P.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--row",C?"row--level-"+s:"",{"row--stripe":f&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":h,"is--expand-row":d,"is--expand-tree":v,"row--new":h&&(j.showStatus||j.showInsertStatus),"row--radio":U.highlight&&ae.eqRow(M,t),"row--checked":k.highlight&&ae.isCheckedByCheckboxRow(t),"row--pending":D.length&&!!E[a]},(0,_dom.getPropClass)(_,l)],rowid:a,style:b?_xeUtils.default.isFunction(b)?b(l):b:null,key:w||B.useKey||C?a:o},e),m.map((e,l)=>A(i,a,x,s,t,r,o,n,e,l,m,g)))),d&&(l=F.value["height"],d={},c=(l&&(d.height=l+"px"),C&&(d.paddingLeft=s*q.indent+30+"px"),$)["showOverflow"],c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?T:c,u={$table:ae,seq:i,column:$,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},P.push((0,_vue.h)("tr",Object.assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:b?_xeUtils.default.isFunction(b)?b(u):b:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!O,"col--ellipsis":c},colspan:m.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[$.renderData(u)])])]))),v&&P.push(...W(x,p,m))}),P};let r;const E=(e,l,t,o)=>{(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(()=>{(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o),ie.lastScrollTime=Date.now()},300))},o=e=>{var l=f["fixedType"],t=se["highlightHoverRow"],{scrollXLoad:o,scrollYLoad:r}=ie,{elemStore:a,lastScrollTop:s,lastScrollLeft:i}=ne,n=ve.value,c=_.value,u=b.value,d=q.value,v=T.value,p=S.value,h=j.value,x=C.value,c=c?c.$el:null,d=d?d.$el:null,u=u.$el,v=v?v.$el:null,p=p?p.$el:null,g=a["main-body-ySpace"],g=g?g.value:null,a=a["main-body-xSpace"],a=a?a.value:null,g=(r&&g?g:u).clientHeight,a=(o&&a?a:u).clientWidth;let m=x.scrollTop;x=u.scrollLeft,i=x!==i,s=m!==s;ne.lastScrollTop=m,ne.lastScrollLeft=x,ie.lastScrollTime=Date.now(),(n.isHover||t)&&ae.clearHoverRow(),v&&"left"===l?(m=v.scrollTop,E(0,m,u,p)):p&&"right"===l?(m=p.scrollTop,E(0,m,u,v)):(i&&(c&&(c.scrollLeft=u.scrollLeft),d)&&(d.scrollLeft=u.scrollLeft),(v||p)&&(ae.checkScrolling(),s)&&E(0,m,v,p)),o&&i&&ae.triggerScrollXEvent(e),r&&s&&ae.triggerScrollYEvent(e),i&&h&&h.reactData.visible&&h.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:m,scrollLeft:x,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:g,bodyWidth:a,isX:i,isY:s},e)};let m,D=0,I=0,k=0,U=!1;const h=(r,a,e,s,i)=>{var l=ne["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ie,n=b.value,c=T.value,u=S.value;const d=c?c.$el:null,v=u?u.$el:null,p=n.$el;c=l["main-body-ySpace"],u=c?c.value:null,n=l["main-body-xSpace"],c=n?n.value:null;const h=(o&&u?u:p).clientHeight,x=(t&&c?c:p).clientWidth;l=U===a?Math.max(0,D-k):0;U=a,D=Math.abs(a?e-l:e+l),I=0,k=0,clearTimeout(m);const g=()=>{var e,l,t,o;k<D&&(e=f["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(k+=I)>D&&(I-=k-D),p),o=o+I*(a?-1:1),p.scrollTop=o,d&&(d.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(g,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:h,bodyWidth:x,isX:s,isY:i},r))};g()},P=e=>{var{deltaY:l,deltaX:t}=e,o=se["highlightHoverRow"],r=ie["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ne,i=ve.value,n=b.value,c=C.value,n=n.$el,u=l<0;(u?c.scrollTop<=0:c.scrollTop>=c.scrollHeight-c.clientHeight)||(c=c.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=c!==a)&&(e.preventDefault(),ne.lastScrollTop=c,ne.lastScrollLeft=n,ie.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),h(e,u,l,t,s),r)&&ae.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`,t=C.value;l[e+"wrapper"]=C,l[e+"table"]=O,l[e+"colgroup"]=L,l[e+"list"]=R,l[e+"xSpace"]=H,l[e+"ySpace"]=$,l[e+"emptyBlock"]=M,t&&(t.onscroll=o,t._onscroll=o)})}),(0,_vue.onBeforeUnmount)(()=>{var e=C.value;clearTimeout(m),e&&(e._onscroll=null,e.onscroll=null)}),(0,_vue.onUnmounted)(()=>{var e=f["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=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()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=f;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=se,{tableData:i,mergeList:n,scrollYLoad:c,isAllOverflow:u}=ie,d=ne["visibleColumn"],v=y["slots"],p=ue.value,h=Y.value,x=N.value,g=B.value;l&&(t=ie.expandColumn||!(c||r&&u)||n.length||a||o&&x.isMerge?d:e);let m;c=v?v.empty:null;return m=c?ae.callSlot(c,{$table:ae,$grid:ae.xegrid}):(u=(r=h.name?_vxePcUi.renderer.get(h.name):null)?r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(u(h,{$table:ae})):se.emptyText||(0,_vxePcUi.getI18n)("vxe.table.emptyText"),(0,_vue.h)("div",Object.assign({ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:w},"wheel"===p.mode?{onWheel:P}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--body",xid:w,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tbody",{ref:R},W(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&g.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},g.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ae.triggerCellExtendMousedownEvent(e,{$table:ae,fixed:l,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},m)])])}}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-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}}const{getI18n,renderer}=_vxePcUi.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){const ae=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:w,props:se,context:y,reactData:ie,internalData:ne}=ae,{refTableHeader:_,refTableBody:b,refTableFooter:q,refTableLeftBody:T,refTableRightBody:S,refValidTooltip:j}=ae.getRefMaps(),{computeEditOpts:ce,computeMouseOpts:B,computeSYOpts:ue,computeEmptyOpts:Y,computeKeyboardOpts:N,computeTooltipOpts:he,computeRadioOpts:e,computeExpandOpts:P,computeTreeOpts:d,computeCheckboxOpts:de,computeValidOpts:xe,computeRowOpts:ve,computeColumnOpts:ge}=ae.getComputeMaps(),C=(0,_vue.ref)(),O=(0,_vue.ref)(),L=(0,_vue.ref)(),R=(0,_vue.ref)(),H=(0,_vue.ref)(),$=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},pe=()=>{var e=se["delayHover"],{lastScrollTime:l,_isResize:t}=ie;return!!(t||l&&Date.now()<l+e)},p=(e,l)=>{let t=1;if(e){var o=d.value,r=e[o.children||o.childrenField];if(r&&ae.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=p(r[e],l)}return t},me=e=>{var{row:l,column:t}=e,o=ne["afterFullData"],r=se["treeConfig"],a=d.value,{slots:t,treeNode:s}=t,i=ne["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(ae,l)];let n=0,c=0,u=[];return i&&(n=i.level,c=i._index,u=i.items),t&&t.line?ae.callSlot(t.line,e):(i=ae.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=p(l[t-1],e)),ie.rowHeight*o-(t?1:12-v())})(e,u,c)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},V=(e,l,t,o,r,a,s,i,n,c,U,q)=>{var{columnKey:j,height:u,showOverflow:d,cellClassName:B,cellStyle:v,align:p,spanMethod:h,mouseConfig:Y,editConfig:N,editRules:x,tooltipConfig:W}=se,{tableData:F,overflowX:g,scrollYLoad:P,currentColumn:V,mergeList:m,editStore:f,isAllOverflow:A,validErrorMaps:w}=ie,X=ne["afterFullData"],y=xe.value,K=de.value,_=ce.value,b=he.value,T=ve.value,S=ue.value,z=ge.value,{type:G,cellRender:J,editRender:C,align:O,showOverflow:L,className:Q,treeNode:Z,slots:ee}=n,f=f["actived"],S=S["rHeight"],T=T["height"],R=C||J,R=R?renderer.get(R.name):null,le=R?R.cellClassName:"",R=R?R.cellStyle:"";const H=b.showAll;var b=ae.getColumnIndex(n),te=ae.getVTColumnIndex(n),oe=(0,_utils.isEnableConf)(C);let $=t?n.fixed!==t:n.fixed&&g;g=_xeUtils.default.isUndefined(L)||_xeUtils.default.isNull(L)?d:L;let M="ellipsis"===g;const E="title"===g,I=!0===g||"tooltip"===g;let D=E||I||M,re;L={},g=O||p,O=w[l+":"+n.id],p=x&&y.showMessage&&("default"===y.message?u||1<F.length:"inline"===y.message),w={colid:n.id};const k={$table:ae,$grid:ae.xegrid,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:i,column:n,columnIndex:b,$columnIndex:c,_columnIndex:te,fixed:t,type:renderType,isHidden:$,level:o,visibleData:X,data:F,items:q};if(P&&!D&&(M=D=!0),(E||I||H||W)&&(L.onMouseenter=e=>{pe()||(E?(0,_dom.updateCellTitle)(e.currentTarget,n):(I||H)&&ae.triggerBodyTooltipEvent(e,k),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(I||H||W)&&(L.onMouseleave=e=>{pe()||((I||H)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(K.range||Y)&&(L.onMousedown=e=>{ae.triggerCellMousedownEvent(e,k)}),L.onClick=e=>{ae.triggerCellClickEvent(e,k)},L.onDblclick=e=>{ae.triggerCellDblclickEvent(e,k)},m.length){x=(0,_util.mergeBodyMethod)(m,i,te);if(x){var{rowspan:u,colspan:e}=x;if(!u||!e)return null;1<u&&(w.rowspan=u),1<e&&(w.colspan=e)}}else if(h){var{rowspan:l=1,colspan:a=1}=h(k)||{};if(!l||!a)return null;1<l&&(w.rowspan=l),1<a&&(w.colspan=a)}!($=$&&m&&(1<w.colspan||1<w.rowspan)?!1:$)&&N&&(C||J)&&(_.showStatus||_.showUpdateStatus)&&(re=ae.isUpdateByRow(r,n.field));s=[];return $&&d&&A?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":E,"c--tooltip":I,"c--ellipsis":M}],style:{maxHeight:D&&(S||T)?`${S||T}px`:""}})):(s.push(...me(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":E,"c--tooltip":I,"c--ellipsis":M}],style:{maxHeight:D&&(S||T)?`${S||T}px`:""},title:E?ae.getCellLabel(r,n):null},n.renderCell(k))),p&&O&&(b=O.rule,t=ee?ee.valid:null,o=Object.assign(Object.assign({},k),O),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-hint",(0,_dom.getPropClass)(y.className,o)],style:b&&b.maxWidth?{width:b.maxWidth+"px"}:null},t?ae.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)])))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",n.id,{["col--"+g]:g,["col--"+G]:G,"col--last":c===U.length-1,"col--tree-node":Z,"col--edit":oe,"col--ellipsis":D,"fixed--hidden":$,"col--dirty":re,"col--active":N&&oe&&f.row===r&&(f.column===n||"row"===_.mode),"col--valid-error":!!O,"col--current":V===n},(0,_dom.getPropClass)(le,k),(0,_dom.getPropClass)(Q,k),(0,_dom.getPropClass)(B,k)],key:j||z.useKey?n.id:c},w),{style:Object.assign({height:D&&(S||T)?`${S||T}px`:""},_xeUtils.default.isFunction(R)?R(k):R,_xeUtils.default.isFunction(v)?v(k):v)}),L),s)},F=(x,g,m)=>{const{stripe:f,rowKey:w,highlightHoverRow:y,rowClassName:_,rowStyle:b,showOverflow:T,editConfig:S,treeConfig:C}=se,{hasFixedColumn:O,treeExpandedMaps:L,scrollYLoad:R,rowExpandedMaps:H,expandColumn:$,selectRadioRow:M,pendingRowMaps:E,pendingRowList:I}=ie,D=ne["fullAllDataRowIdData"],k=de.value,U=e.value,q=d.value,j=ce.value,B=ve.value,Y=q["transform"],N=q.children||q.childrenField,W=[];return g.forEach((t,o)=>{var e={};let r;r=ae.getRowIndex(t),(B.isHover||y)&&(e.onMouseenter=e=>{pe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{pe()||ae.clearHoverRow()});const a=(0,_util.getRowid)(ae,t);var l=D[a];let s=0,i=-1,n=0;l&&(s=l.level,i=l.seq,n=l._index);var c,u,l={$table:ae,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=$&&!!H[a];let v=!1,p=[],h=!1;S&&(h=ae.isInsertByRow(t)),!C||R||Y||(p=t[N],v=p&&0<p.length&&!!L[a]),W.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--row",C?"row--level-"+s:"",{"row--stripe":f&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":h,"is--expand-row":d,"is--expand-tree":v,"row--new":h&&(j.showStatus||j.showInsertStatus),"row--radio":U.highlight&&ae.eqRow(M,t),"row--checked":k.highlight&&ae.isCheckedByCheckboxRow(t),"row--pending":I.length&&!!E[a]},(0,_dom.getPropClass)(_,l)],rowid:a,style:b?_xeUtils.default.isFunction(b)?b(l):b:null,key:w||B.useKey||C?a:o},e),m.map((e,l)=>V(i,a,x,s,t,r,o,n,e,l,m,g)))),d&&(l=P.value["height"],d={},c=(l&&(d.height=l+"px"),C&&(d.paddingLeft=s*q.indent+30+"px"),$)["showOverflow"],c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?T:c,u={$table:ae,seq:i,column:$,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},W.push((0,_vue.h)("tr",Object.assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:b?_xeUtils.default.isFunction(b)?b(u):b:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!O,"col--ellipsis":c},colspan:m.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[$.renderData(u)])])]))),v&&W.push(...F(x,p,m))}),W};let r;const E=(e,l,t,o)=>{(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(()=>{(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o),ie.lastScrollTime=Date.now()},300))},o=e=>{var l=f["fixedType"],t=se["highlightHoverRow"],{scrollXLoad:o,scrollYLoad:r}=ie,{elemStore:a,lastScrollTop:s,lastScrollLeft:i}=ne,n=ve.value,c=_.value,u=b.value,d=q.value,v=T.value,p=S.value,h=j.value,x=C.value,c=c?c.$el:null,d=d?d.$el:null,u=u.$el,v=v?v.$el:null,p=p?p.$el:null,g=a["main-body-ySpace"],g=g?g.value:null,a=a["main-body-xSpace"],a=a?a.value:null,g=(r&&g?g:u).clientHeight,a=(o&&a?a:u).clientWidth;let m=x.scrollTop;x=u.scrollLeft,i=x!==i,s=m!==s;ne.lastScrollTop=m,ne.lastScrollLeft=x,ie.lastScrollTime=Date.now(),(n.isHover||t)&&ae.clearHoverRow(),v&&"left"===l?(m=v.scrollTop,E(0,m,u,p)):p&&"right"===l?(m=p.scrollTop,E(0,m,u,v)):(i&&(c&&(c.scrollLeft=u.scrollLeft),d)&&(d.scrollLeft=u.scrollLeft),(v||p)&&(ae.checkScrolling(),s)&&E(0,m,v,p)),o&&i&&ae.triggerScrollXEvent(e),r&&s&&ae.triggerScrollYEvent(e),i&&h&&h.reactData.visible&&h.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:m,scrollLeft:x,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:g,bodyWidth:a,isX:i,isY:s},e)};let m,I=0,D=0,k=0,U=!1;const h=(r,a,e,s,i)=>{var l=ne["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ie,n=b.value,c=T.value,u=S.value;const d=c?c.$el:null,v=u?u.$el:null,p=n.$el;c=l["main-body-ySpace"],u=c?c.value:null,n=l["main-body-xSpace"],c=n?n.value:null;const h=(o&&u?u:p).clientHeight,x=(t&&c?c:p).clientWidth;l=U===a?Math.max(0,I-k):0;U=a,I=Math.abs(a?e-l:e+l),D=0,k=0,clearTimeout(m);const g=()=>{var e,l,t,o;k<I&&(e=f["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(D=Math.max(5,Math.floor(1.5*D)),(k+=D)>I&&(D-=k-I),p),o=o+D*(a?-1:1),p.scrollTop=o,d&&(d.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(g,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:h,bodyWidth:x,isX:s,isY:i},r))};g()},W=e=>{var{deltaY:l,deltaX:t}=e,o=se["highlightHoverRow"],r=ie["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ne,i=ve.value,n=b.value,c=C.value,n=n.$el,u=l<0;(u?c.scrollTop<=0:c.scrollTop>=c.scrollHeight-c.clientHeight)||(c=c.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=c!==a)&&(e.preventDefault(),ne.lastScrollTop=c,ne.lastScrollLeft=n,ie.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),h(e,u,l,t,s),r)&&ae.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`,t=C.value;l[e+"wrapper"]=C,l[e+"table"]=O,l[e+"colgroup"]=L,l[e+"list"]=R,l[e+"xSpace"]=H,l[e+"ySpace"]=$,l[e+"emptyBlock"]=M,t&&(t.onscroll=o,t._onscroll=o)})}),(0,_vue.onBeforeUnmount)(()=>{var e=C.value;clearTimeout(m),e&&(e._onscroll=null,e.onscroll=null)}),(0,_vue.onUnmounted)(()=>{var e=f["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=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()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=f;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=se,{tableData:i,mergeList:n,scrollYLoad:c,isAllOverflow:u}=ie,d=ne["visibleColumn"],v=y["slots"],p=ue.value,h=Y.value,x=N.value,g=B.value;l&&(t=ie.expandColumn||!(c||r&&u)||n.length||a||o&&x.isMerge?d:e);let m;c=v?v.empty:null;return m=c?ae.callSlot(c,{$table:ae,$grid:ae.xegrid}):(u=(r=h.name?renderer.get(h.name):null)?r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(u(h,{$table:ae})):se.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",Object.assign({ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:w},"wheel"===p.mode?{onWheel:W}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--body",xid:w,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tbody",{ref:R},F(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&g.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},g.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ae.triggerCellExtendMousedownEvent(e,{$table:ae,fixed:l,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},m)])])}}});
|
package/lib/table/src/cell.js
CHANGED
|
@@ -12,6 +12,11 @@ var _dom = require("../../ui/src/dom");
|
|
|
12
12
|
var _util = require("./util");
|
|
13
13
|
var _vn = require("../../ui/src/vn");
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const {
|
|
16
|
+
getI18n,
|
|
17
|
+
getIcon,
|
|
18
|
+
renderer
|
|
19
|
+
} = _vxePcUi.VxeUI;
|
|
15
20
|
function renderTitlePrefixIcon(params) {
|
|
16
21
|
const {
|
|
17
22
|
$table,
|
|
@@ -19,7 +24,7 @@ function renderTitlePrefixIcon(params) {
|
|
|
19
24
|
} = params;
|
|
20
25
|
const titlePrefix = column.titlePrefix || column.titleHelp;
|
|
21
26
|
return titlePrefix ? [(0, _vue.h)('i', {
|
|
22
|
-
class: ['vxe-cell-title-prefix-icon', titlePrefix.icon ||
|
|
27
|
+
class: ['vxe-cell-title-prefix-icon', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
|
|
23
28
|
onMouseenter(evnt) {
|
|
24
29
|
$table.triggerHeaderTitleEvent(evnt, titlePrefix, params);
|
|
25
30
|
},
|
|
@@ -35,7 +40,7 @@ function renderTitleSuffixIcon(params) {
|
|
|
35
40
|
} = params;
|
|
36
41
|
const titleSuffix = column.titleSuffix;
|
|
37
42
|
return titleSuffix ? [(0, _vue.h)('i', {
|
|
38
|
-
class: ['vxe-cell-title-suffix-icon', titleSuffix.icon ||
|
|
43
|
+
class: ['vxe-cell-title-suffix-icon', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
|
|
39
44
|
onMouseenter(evnt) {
|
|
40
45
|
$table.triggerHeaderTitleEvent(evnt, titleSuffix, params);
|
|
41
46
|
},
|
|
@@ -117,7 +122,7 @@ function getFooterContent(params) {
|
|
|
117
122
|
return $table.callSlot(footerSlot, params);
|
|
118
123
|
}
|
|
119
124
|
if (renderOpts) {
|
|
120
|
-
const compConf =
|
|
125
|
+
const compConf = renderer.get(renderOpts.name);
|
|
121
126
|
if (compConf && compConf.renderFooter) {
|
|
122
127
|
return (0, _vn.getSlotVNs)(compConf.renderFooter(renderOpts, params));
|
|
123
128
|
}
|
|
@@ -222,7 +227,7 @@ const Cell = exports.Cell = {
|
|
|
222
227
|
return renderTitleContent(params, $table.callSlot(headerSlot, params));
|
|
223
228
|
}
|
|
224
229
|
if (renderOpts) {
|
|
225
|
-
const compConf =
|
|
230
|
+
const compConf = renderer.get(renderOpts.name);
|
|
226
231
|
if (compConf && compConf.renderHeader) {
|
|
227
232
|
return renderTitleContent(params, (0, _vn.getSlotVNs)(compConf.renderHeader(renderOpts, params)));
|
|
228
233
|
}
|
|
@@ -250,7 +255,7 @@ const Cell = exports.Cell = {
|
|
|
250
255
|
}
|
|
251
256
|
if (renderOpts) {
|
|
252
257
|
const funName = editRender ? 'renderCell' : 'renderDefault';
|
|
253
|
-
const compConf =
|
|
258
|
+
const compConf = renderer.get(renderOpts.name);
|
|
254
259
|
const compFn = compConf ? compConf[funName] : null;
|
|
255
260
|
if (compFn) {
|
|
256
261
|
return (0, _vn.getSlotVNs)(compFn(renderOpts, Object.assign({
|
|
@@ -347,7 +352,7 @@ const Cell = exports.Cell = {
|
|
|
347
352
|
}, [showIcon && (rowChilds && rowChilds.length || hasLazyChilds) ? [(0, _vue.h)('div', Object.assign({
|
|
348
353
|
class: 'vxe-tree--btn-wrapper'
|
|
349
354
|
}, ons), [(0, _vue.h)('i', {
|
|
350
|
-
class: ['vxe-tree--node-btn', isLazyLoaded ? iconLoaded ||
|
|
355
|
+
class: ['vxe-tree--node-btn', isLazyLoaded ? iconLoaded || getIcon().TABLE_TREE_LOADED : isAceived ? iconOpen || getIcon().TABLE_TREE_OPEN : iconClose || getIcon().TABLE_TREE_CLOSE]
|
|
351
356
|
})])] : null, (0, _vue.h)('div', {
|
|
352
357
|
class: 'vxe-tree-cell'
|
|
353
358
|
}, cellVNodes)])];
|
|
@@ -475,7 +480,7 @@ const Cell = exports.Cell = {
|
|
|
475
480
|
const radioVNs = [];
|
|
476
481
|
if (isVisible) {
|
|
477
482
|
radioVNs.push((0, _vue.h)('span', {
|
|
478
|
-
class: ['vxe-radio--icon', isChecked ?
|
|
483
|
+
class: ['vxe-radio--icon', isChecked ? getIcon().TABLE_RADIO_CHECKED : getIcon().TABLE_RADIO_UNCHECKED]
|
|
479
484
|
}));
|
|
480
485
|
}
|
|
481
486
|
if (defaultSlot || labelField) {
|
|
@@ -551,9 +556,9 @@ const Cell = exports.Cell = {
|
|
|
551
556
|
'is--disabled': isAllCheckboxDisabled,
|
|
552
557
|
'is--indeterminate': isAllCheckboxIndeterminate
|
|
553
558
|
}],
|
|
554
|
-
title:
|
|
559
|
+
title: getI18n('vxe.table.allTitle')
|
|
555
560
|
}, ons), [(0, _vue.h)('span', {
|
|
556
|
-
class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ?
|
|
561
|
+
class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
557
562
|
})].concat(titleSlot || headerTitle ? [(0, _vue.h)('span', {
|
|
558
563
|
class: 'vxe-checkbox--label'
|
|
559
564
|
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : headerTitle)] : []))]);
|
|
@@ -629,7 +634,7 @@ const Cell = exports.Cell = {
|
|
|
629
634
|
const checkVNs = [];
|
|
630
635
|
if (isVisible) {
|
|
631
636
|
checkVNs.push((0, _vue.h)('span', {
|
|
632
|
-
class: ['vxe-checkbox--icon', indeterminate ?
|
|
637
|
+
class: ['vxe-checkbox--icon', indeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
633
638
|
}));
|
|
634
639
|
}
|
|
635
640
|
if (defaultSlot || labelField) {
|
|
@@ -721,7 +726,7 @@ const Cell = exports.Cell = {
|
|
|
721
726
|
const checkVNs = [];
|
|
722
727
|
if (isVisible) {
|
|
723
728
|
checkVNs.push((0, _vue.h)('span', {
|
|
724
|
-
class: ['vxe-checkbox--icon', isIndeterminate ?
|
|
729
|
+
class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
725
730
|
}));
|
|
726
731
|
if (defaultSlot || labelField) {
|
|
727
732
|
checkVNs.push((0, _vue.h)('span', {
|
|
@@ -797,7 +802,7 @@ const Cell = exports.Cell = {
|
|
|
797
802
|
$table.triggerRowExpandEvent(evnt, params);
|
|
798
803
|
}
|
|
799
804
|
}, [(0, _vue.h)('i', {
|
|
800
|
-
class: ['vxe-table--expand-btn', isLazyLoaded ? iconLoaded ||
|
|
805
|
+
class: ['vxe-table--expand-btn', isLazyLoaded ? iconLoaded || getIcon().TABLE_EXPAND_LOADED : isAceived ? iconOpen || getIcon().TABLE_EXPAND_OPEN : iconClose || getIcon().TABLE_EXPAND_CLOSE]
|
|
801
806
|
})]) : null, defaultSlot || labelField ? (0, _vue.h)('span', {
|
|
802
807
|
class: 'vxe-table--expand-label'
|
|
803
808
|
}, defaultSlot ? $table.callSlot(defaultSlot, params) : _xeUtils.default.get(row, labelField)) : null];
|
|
@@ -816,7 +821,7 @@ const Cell = exports.Cell = {
|
|
|
816
821
|
return $table.callSlot(contentSlot, params);
|
|
817
822
|
}
|
|
818
823
|
if (contentRender) {
|
|
819
|
-
const compConf =
|
|
824
|
+
const compConf = renderer.get(contentRender.name);
|
|
820
825
|
if (compConf && compConf.renderExpand) {
|
|
821
826
|
return (0, _vn.getSlotVNs)(compConf.renderExpand(contentRender, params));
|
|
822
827
|
}
|
|
@@ -880,19 +885,19 @@ const Cell = exports.Cell = {
|
|
|
880
885
|
return [(0, _vue.h)('span', {
|
|
881
886
|
class: ['vxe-cell--sort', `vxe-cell--sort-${iconLayout}-layout`]
|
|
882
887
|
}, [(0, _vue.h)('i', {
|
|
883
|
-
class: ['vxe-sort--asc-btn', iconAsc ||
|
|
888
|
+
class: ['vxe-sort--asc-btn', iconAsc || getIcon().TABLE_SORT_ASC, {
|
|
884
889
|
'sort--active': order === 'asc'
|
|
885
890
|
}],
|
|
886
|
-
title:
|
|
891
|
+
title: getI18n('vxe.table.sortAsc'),
|
|
887
892
|
onClick(evnt) {
|
|
888
893
|
evnt.stopPropagation();
|
|
889
894
|
$table.triggerSortEvent(evnt, column, 'asc');
|
|
890
895
|
}
|
|
891
896
|
}), (0, _vue.h)('i', {
|
|
892
|
-
class: ['vxe-sort--desc-btn', iconDesc ||
|
|
897
|
+
class: ['vxe-sort--desc-btn', iconDesc || getIcon().TABLE_SORT_DESC, {
|
|
893
898
|
'sort--active': order === 'desc'
|
|
894
899
|
}],
|
|
895
|
-
title:
|
|
900
|
+
title: getI18n('vxe.table.sortDesc'),
|
|
896
901
|
onClick(evnt) {
|
|
897
902
|
evnt.stopPropagation();
|
|
898
903
|
$table.triggerSortEvent(evnt, column, 'desc');
|
|
@@ -933,8 +938,8 @@ const Cell = exports.Cell = {
|
|
|
933
938
|
'is--active': filterStore.visible && filterStore.column === column
|
|
934
939
|
}]
|
|
935
940
|
}, [(0, _vue.h)('i', {
|
|
936
|
-
class: ['vxe-filter--btn', hasFilter ? iconMatch ||
|
|
937
|
-
title:
|
|
941
|
+
class: ['vxe-filter--btn', hasFilter ? iconMatch || getIcon().TABLE_FILTER_MATCH : iconNone || getIcon().TABLE_FILTER_NONE],
|
|
942
|
+
title: getI18n('vxe.table.filter'),
|
|
938
943
|
onClick(evnt) {
|
|
939
944
|
if ($table.triggerFilterEvent) {
|
|
940
945
|
$table.triggerFilterEvent(evnt, params.column, params);
|
|
@@ -976,7 +981,7 @@ const Cell = exports.Cell = {
|
|
|
976
981
|
return ((0, _utils.isEnableConf)(editConfig) ? [isRequired && editOpts.showAsterisk ? (0, _vue.h)('i', {
|
|
977
982
|
class: 'vxe-cell--required-icon'
|
|
978
983
|
}) : null, (0, _utils.isEnableConf)(editRender) && editOpts.showIcon ? (0, _vue.h)('i', {
|
|
979
|
-
class: ['vxe-cell--edit-icon', editOpts.icon ||
|
|
984
|
+
class: ['vxe-cell--edit-icon', editOpts.icon || getIcon().TABLE_EDIT]
|
|
980
985
|
}) : null] : []).concat(Cell.renderDefaultHeader(params)).concat(sortable ? Cell.renderSortIcon(params) : []).concat(filters ? Cell.renderFilterIcon(params) : []);
|
|
981
986
|
},
|
|
982
987
|
// 行格编辑模式
|
|
@@ -1037,7 +1042,7 @@ const Cell = exports.Cell = {
|
|
|
1037
1042
|
} = column;
|
|
1038
1043
|
const defaultSlot = slots ? slots.default : null;
|
|
1039
1044
|
const editSlot = slots ? slots.edit : null;
|
|
1040
|
-
const compConf =
|
|
1045
|
+
const compConf = renderer.get(editRender.name);
|
|
1041
1046
|
if (isEdit) {
|
|
1042
1047
|
if (editSlot) {
|
|
1043
1048
|
return $table.callSlot(editSlot, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function renderTitlePrefixIcon(l){const{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||(0,_vxePcUi.getIcon)().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleSuffixIcon(l){const{$table:r,column:e}=l,t=e.titleSuffix;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||(0,_vxePcUi.getIcon)().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleContent(l,e){const{$table:r,column:t}=l,{props:n,reactData:a}=r;var o=r.getComputeMaps()["computeTooltipOpts"],i=n["showHeaderOverflow"],{type:c,showHeaderOverflow:d}=t;const s=o.value.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?i:d;const u="title"===o,C=!0===o||"tooltip"===o;i={};return(u||C||s)&&(i.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,t):(C||s)&&r.triggerHeaderTooltipEvent(e,l))}),(C||s)&&(i.onMouseleave=e=>{a._isResize||(C||s)&&r.handleTargetLeaveEvent(e)}),["html"===c&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},i)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},i),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:i,cellRender:c}=r,i=i||c,c=o?o.footer:null;if(c)return l.callSlot(c,e);if(i){o=_vxePcUi.renderer.get(i.name);if(o&&o.renderFooter)return(0,_vn.getSlotVNs)(o.renderFooter(i,e))}return _xeUtils.default.isArray(n)?[(0,_utils.formatText)(n[t],1)]:[(0,_utils.formatText)(_xeUtils.default.get(a,r.field),1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}const Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,filters:n,editRender:a,treeNode:o}=l,i=e["props"],c=i["editConfig"],{computeEditOpts:i,computeCheckboxOpts:d}=e.getComputeMaps(),s=d.value,u=i.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=s.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:c&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=_vxePcUi.renderer.get(n.name);if(t&&t.renderHeader)return renderTitleContent(e,(0,_vn.getSlotVNs)(t.renderHeader(n,e)))}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderTitlePrefixIcon(e).concat(Cell.renderHeaderTitle(e)).concat(renderTitleSuffixIcon(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return l.callSlot(n,e);if(o){var n=a?"renderCell":"renderDefault",i=_vxePcUi.renderer.get(o.name),i=i?i[n]:null;if(i)return(0,_vn.getSlotVNs)(i(o,Object.assign({$type:a?"edit":"cell"},e)))}n=l.getCellLabel(r,t),i=a?a.placeholder:"";return[(0,_vue.h)("span",{class:"vxe-cell--label"},a&&(0,_utils.eqEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(i),1))]:(0,_utils.formatText)(n,1))]},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:r,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:o}=n,a=a.value,{row:i,column:c,level:d}=l,c=c["slots"],{indent:s,lazy:u,trigger:C,iconLoaded:v,showIcon:_,iconOpen:p,iconClose:x}=a,g=a.children||a.childrenField,a=a.hasChild||a.hasChildField,g=i[g],c=c?c.icon:null;let h=!1,E=!1,b=!1;var T={};return c?r.callSlot(c,l):(t||(c=(0,_util.getRowid)(r,i),E=!!n[c],u&&(b=!!o[c],h=i[a])),C&&"default"!==C||(T.onClick=e=>{e.stopPropagation(),r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":E}],style:{paddingLeft:d*s+"px"}},[_&&(g&&g.length||h)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",b?v||(0,_vxePcUi.getIcon)().TABLE_TREE_LOADED:E?p||(0,_vxePcUi.getIcon)().TABLE_TREE_OPEN:x||(0,_vxePcUi.getIcon)().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r["slots"],t=t?t.header:null;return renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))},renderSeqCell(e){var{$table:l,column:r}=e,t=l["props"],t=t["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,r=r["slots"],r=r?r.default:null;return r?l.callSlot(r,e):(l=e["seq"],r=n.seqMethod,[(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1)])},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r["slots"],n=t?t.header:null,t=t?t.title:null;return renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))])},renderRadioCell(l){const{$table:r,column:e,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeRadioOpts"],n=n["selectRadioRow"],o=e["slots"],{labelField:a,checkMethod:i,visibleMethod:c}=a.value,d=l["row"],s=o?o.default:null,o=o?o.radio:null,n=r.eqRow(d,n);const u=!c||c({row:d});let C=!!i,v;t||(v={onClick(e){!C&&u&&(e.stopPropagation(),r.triggerRadioRowEvent(e,l))}},i&&(C=!i({row:d})));c=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?r.callSlot(o,c):(i=[],u&&i.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?(0,_vxePcUi.getIcon)().TABLE_RADIO_CHECKED:(0,_vxePcUi.getIcon)().TABLE_RADIO_UNCHECKED]})),(s||a)&&i.push((0,_vue.h)("span",{class:"vxe-radio--label"},s?r.callSlot(s,c):_xeUtils.default.get(d,a))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),i)])},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:r,isHidden:t}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:i,isIndeterminate:c}=n,d=a.value;var n=r["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,s=r.getTitle();let u;t||(u={onClick(e){d||(e.stopPropagation(),l.triggerCheckAllEvent(e,!i))}});e=Object.assign(Object.assign({},e),{checked:i,disabled:d,indeterminate:c});return a?renderTitleContent(e,l.callSlot(a,e)):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderTitleContent(e,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":i,"is--disabled":d,"is--indeterminate":c}],title:(0,_vxePcUi.getI18n)("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",c?(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_INDETERMINATE:i?(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_CHECKED:(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_UNCHECKED]})].concat(n||s?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)]:[]))]):renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)])},renderCheckboxCell(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:i}=o,c=r.getComputeMaps()["computeCheckboxOpts"],{labelField:c,checkMethod:d,visibleMethod:s}=c.value,u=t["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,_=!1;const p=!s||s({row:e});let x=!!d,g;n||(s=(0,_util.getRowid)(r,e),_=!!o[s],g={onClick(e){!x&&p&&(e.stopPropagation(),r.triggerCheckRowEvent(e,l,!_))}},d&&(x=!d({row:e})),a&&(v=!!i[s]));o=Object.assign(Object.assign({},l),{checked:_,disabled:x,visible:p,indeterminate:v});return u?r.callSlot(u,o):(d=[],p&&d.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_INDETERMINATE:_?(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_CHECKED:(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_UNCHECKED]})),(C||c)&&d.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,c))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":x,"is--indeterminate":v,"is--hidden":!p}]},g),d)])},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],o=o["treeIndeterminateMaps"],i=r.getComputeMaps()["computeCheckboxOpts"],i=i.value,{labelField:c,checkField:d,checkMethod:s,visibleMethod:u}=i,i=i.indeterminateField||i.halfField,C=t["slots"],v=C?C.default:null,C=C?C.checkbox:null;let _=!1,p=!1;const x=!u||u({row:e});let g=!!s,h;n||(u=(0,_util.getRowid)(r,e),p=_xeUtils.default.get(e,d),h={onClick(e){!g&&x&&(e.stopPropagation(),r.triggerCheckRowEvent(e,l,!p))}},s&&(g=!s({row:e})),a&&(_=!!o[u]));d=Object.assign(Object.assign({},l),{checked:p,disabled:g,visible:x,indeterminate:_});return C?r.callSlot(C,d):(s=[],x&&(s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",_?(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_INDETERMINATE:p?(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_CHECKED:(0,_vxePcUi.getIcon)().TABLE_CHECKBOX_UNCHECKED]})),v||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,d):_xeUtils.default.get(e,c))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":g,"is--indeterminate":i&&!p?e[i]:_,"is--hidden":!x}]},h),s)])},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:r,isHidden:e,row:t,column:n}=l;var a=r["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,i=r.getComputeMaps()["computeExpandOpts"],{lazy:i,labelField:c,iconLoaded:d,showIcon:s,iconOpen:u,iconClose:C,visibleMethod:v}=i.value,_=n["slots"],p=_?_.default:null,_=_?_.icon:null;let x=!1,g=!1;return _?r.callSlot(_,l):(e||(_=(0,_util.getRowid)(r,t),x=!!a[_],i&&(g=!!o[_])),[!s||v&&!v(l)?null:(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":x}],onClick(e){e.stopPropagation(),r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",g?d||(0,_vxePcUi.getIcon)().TABLE_EXPAND_LOADED:x?u||(0,_vxePcUi.getIcon)().TABLE_EXPAND_OPEN:C||(0,_vxePcUi.getIcon)().TABLE_EXPAND_CLOSE]})]),p||c?(0,_vue.h)("span",{class:"vxe-table--expand-label"},p?r.callSlot(p,l):_xeUtils.default.get(t,c)):null])},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=_vxePcUi.renderer.get(t.name);if(l&&l.renderExpand)return(0,_vn.getSlotVNs)(l.renderExpand(t,e))}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r["slots"],r=r?r.default:null;return r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})]},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon(e){const{$table:l,column:r}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:t,iconAsc:n,iconDesc:a}=e.value,o=r["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${t}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||(0,_vxePcUi.getIcon)().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:(0,_vxePcUi.getI18n)("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||(0,_vxePcUi.getIcon)().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:(0,_vxePcUi.getI18n)("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon(l){const{$table:r,column:e,hasFilter:t}=l;var n=r["reactData"],n=n["filterStore"],a=r.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:i}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?i||(0,_vxePcUi.getIcon)().TABLE_FILTER_MATCH:o||(0,_vxePcUi.getIcon)().TABLE_FILTER_NONE],title:(0,_vxePcUi.getI18n)("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:r}=e,t=l["props"],l=l.getComputeMaps()["computeEditOpts"],{editConfig:t,editRules:n}=t,l=l.value,{sortable:a,filters:o,editRender:i}=r;let c=!1;return n&&(n=_xeUtils.default.get(n,r.field))&&(c=n.some(e=>e.required)),((0,_utils.isEnableConf)(t)?[c&&l.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(i)&&l.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",l.icon||(0,_vxePcUi.getIcon)().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(a?Cell.renderSortIcon(e):[]).concat(o?Cell.renderFilterIcon(e):[])},renderRowEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,i=_vxePcUi.renderer.get(n.name);return l?t?r.callSlot(t,e):i&&i.renderEdit?(0,_vn.getSlotVNs)(i.renderEdit(n,Object.assign({$type:"edit"},e))):[]:o?r.callSlot(o,e):a?[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(e))]:Cell.renderDefaultCell(e)}};var _default=exports.default=Cell;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer}=_vxePcUi.VxeUI;function renderTitlePrefixIcon(l){const{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleSuffixIcon(l){const{$table:r,column:e}=l,t=e.titleSuffix;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleContent(l,e){const{$table:r,column:t}=l,{props:n,reactData:a}=r;var o=r.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:i,showHeaderOverflow:c}=t;const s=o.value.showAll;o=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?d:c;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||s)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,t):(C||s)&&r.triggerHeaderTooltipEvent(e,l))}),(C||s)&&(d.onMouseleave=e=>{a._isResize||(C||s)&&r.handleTargetLeaveEvent(e)}),["html"===i&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:i}=r,d=d||i,i=o?o.footer:null;if(i)return l.callSlot(i,e);if(d){o=renderer.get(d.name);if(o&&o.renderFooter)return(0,_vn.getSlotVNs)(o.renderFooter(d,e))}return _xeUtils.default.isArray(n)?[(0,_utils.formatText)(n[t],1)]:[(0,_utils.formatText)(_xeUtils.default.get(a,r.field),1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}const Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,filters:n,editRender:a,treeNode:o}=l,d=e["props"],i=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:c}=e.getComputeMaps(),s=c.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=s.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:i&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t&&t.renderHeader)return renderTitleContent(e,(0,_vn.getSlotVNs)(t.renderHeader(n,e)))}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderTitlePrefixIcon(e).concat(Cell.renderHeaderTitle(e)).concat(renderTitleSuffixIcon(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return l.callSlot(n,e);if(o){var n=a?"renderCell":"renderDefault",d=renderer.get(o.name),d=d?d[n]:null;if(d)return(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e)))}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return[(0,_vue.h)("span",{class:"vxe-cell--label"},a&&(0,_utils.eqEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1))]:(0,_utils.formatText)(n,1))]},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:r,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:o}=n,a=a.value,{row:d,column:i,level:c}=l,i=i["slots"],{indent:s,lazy:u,trigger:C,iconLoaded:v,showIcon:p,iconOpen:g,iconClose:_}=a,h=a.children||a.childrenField,a=a.hasChild||a.hasChildField,h=d[h],i=i?i.icon:null;let x=!1,E=!1,b=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,d),E=!!n[i],u&&(b=!!o[i],x=d[a])),C&&"default"!==C||(T.onClick=e=>{e.stopPropagation(),r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":E}],style:{paddingLeft:c*s+"px"}},[p&&(h&&h.length||x)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",b?v||getIcon().TABLE_TREE_LOADED:E?g||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r["slots"],t=t?t.header:null;return renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))},renderSeqCell(e){var{$table:l,column:r}=e,t=l["props"],t=t["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,r=r["slots"],r=r?r.default:null;return r?l.callSlot(r,e):(l=e["seq"],r=n.seqMethod,[(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1)])},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r["slots"],n=t?t.header:null,t=t?t.title:null;return renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))])},renderRadioCell(l){const{$table:r,column:e,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeRadioOpts"],n=n["selectRadioRow"],o=e["slots"],{labelField:a,checkMethod:d,visibleMethod:i}=a.value,c=l["row"],s=o?o.default:null,o=o?o.radio:null,n=r.eqRow(c,n);const u=!i||i({row:c});let C=!!d,v;t||(v={onClick(e){!C&&u&&(e.stopPropagation(),r.triggerRadioRowEvent(e,l))}},d&&(C=!d({row:c})));i=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?r.callSlot(o,i):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(s||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},s?r.callSlot(s,i):_xeUtils.default.get(c,a))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)])},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:r,isHidden:t}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:i}=n,c=a.value;var n=r["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,s=r.getTitle();let u;t||(u={onClick(e){c||(e.stopPropagation(),l.triggerCheckAllEvent(e,!d))}});e=Object.assign(Object.assign({},e),{checked:d,disabled:c,indeterminate:i});return a?renderTitleContent(e,l.callSlot(a,e)):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderTitleContent(e,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":c,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||s?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)]:[]))]):renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)])},renderCheckboxCell(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,i=r.getComputeMaps()["computeCheckboxOpts"],{labelField:i,checkMethod:c,visibleMethod:s}=i.value,u=t["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const g=!s||s({row:e});let _=!!c,h;n||(s=(0,_util.getRowid)(r,e),p=!!o[s],h={onClick(e){!_&&g&&(e.stopPropagation(),r.triggerCheckRowEvent(e,l,!p))}},c&&(_=!c({row:e})),a&&(v=!!d[s]));o=Object.assign(Object.assign({},l),{checked:p,disabled:_,visible:g,indeterminate:v});return u?r.callSlot(u,o):(c=[],g&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||i)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,i))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":_,"is--indeterminate":v,"is--hidden":!g}]},h),c)])},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=r.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:i,checkField:c,checkMethod:s,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1;const _=!u||u({row:e});let h=!!s,x;n||(u=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,c),x={onClick(e){!h&&_&&(e.stopPropagation(),r.triggerCheckRowEvent(e,l,!g))}},s&&(h=!s({row:e})),a&&(p=!!o[u]));c=Object.assign(Object.assign({},l),{checked:g,disabled:h,visible:_,indeterminate:p});return C?r.callSlot(C,c):(s=[],_&&(s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||i)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,c):_xeUtils.default.get(e,i))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":h,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!_}]},x),s)])},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:r,isHidden:e,row:t,column:n}=l;var a=r["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=r.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:i,iconLoaded:c,showIcon:s,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],g=p?p.default:null,p=p?p.icon:null;let _=!1,h=!1;return p?r.callSlot(p,l):(e||(p=(0,_util.getRowid)(r,t),_=!!a[p],d&&(h=!!o[p])),[!s||v&&!v(l)?null:(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onClick(e){e.stopPropagation(),r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",h?c||getIcon().TABLE_EXPAND_LOADED:_?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,i)):null])},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l&&l.renderExpand)return(0,_vn.getSlotVNs)(l.renderExpand(t,e))}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r["slots"],r=r?r.default:null;return r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})]},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon(e){const{$table:l,column:r}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:t,iconAsc:n,iconDesc:a}=e.value,o=r["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${t}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon(l){const{$table:r,column:e,hasFilter:t}=l;var n=r["reactData"],n=n["filterStore"],a=r.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:r}=e,t=l["props"],l=l.getComputeMaps()["computeEditOpts"],{editConfig:t,editRules:n}=t,l=l.value,{sortable:a,filters:o,editRender:d}=r;let i=!1;return n&&(n=_xeUtils.default.get(n,r.field))&&(i=n.some(e=>e.required)),((0,_utils.isEnableConf)(t)?[i&&l.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(d)&&l.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",l.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(a?Cell.renderSortIcon(e):[]).concat(o?Cell.renderFilterIcon(e):[])},renderRowEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name);return l?t?r.callSlot(t,e):d&&d.renderEdit?(0,_vn.getSlotVNs)(d.renderEdit(n,Object.assign({$type:"edit"},e))):[]:o?r.callSlot(o,e):a?[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(e))]:Cell.renderDefaultCell(e)}};var _default=exports.default=Cell;
|
|
@@ -9,6 +9,11 @@ var _vxePcUi = require("vxe-pc-ui");
|
|
|
9
9
|
var _util = require("./util");
|
|
10
10
|
var _utils = require("../../ui/src/utils");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
const {
|
|
13
|
+
getI18n,
|
|
14
|
+
formats,
|
|
15
|
+
log
|
|
16
|
+
} = _vxePcUi.VxeUI;
|
|
12
17
|
class ColumnInfo {
|
|
13
18
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
14
19
|
constructor($xeTable, _vm, {
|
|
@@ -23,16 +28,16 @@ class ColumnInfo {
|
|
|
23
28
|
if (process.env.NODE_ENV === 'development') {
|
|
24
29
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
25
30
|
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
26
|
-
|
|
31
|
+
log.warn('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
|
|
27
32
|
}
|
|
28
33
|
if (_xeUtils.default.isBoolean(_vm.cellRender) || _vm.cellRender && !_xeUtils.default.isObject(_vm.cellRender)) {
|
|
29
|
-
|
|
34
|
+
log.warn('vxe.error.errProp', [`column.cell-render=${_vm.cellRender}`, 'column.cell-render={}']);
|
|
30
35
|
}
|
|
31
36
|
if (_xeUtils.default.isBoolean(_vm.editRender) || _vm.editRender && !_xeUtils.default.isObject(_vm.editRender)) {
|
|
32
|
-
|
|
37
|
+
log.warn('vxe.error.errProp', [`column.edit-render=${_vm.editRender}`, 'column.edit-render={}']);
|
|
33
38
|
}
|
|
34
39
|
if (_vm.cellRender && _vm.editRender) {
|
|
35
|
-
|
|
40
|
+
log.warn('vxe.error.errConflicts', ['column.cell-render', 'column.edit-render']);
|
|
36
41
|
}
|
|
37
42
|
if (_vm.type === 'expand') {
|
|
38
43
|
const {
|
|
@@ -46,19 +51,19 @@ class ColumnInfo {
|
|
|
46
51
|
} = $xeTable.getComputeMaps();
|
|
47
52
|
const treeOpts = computeTreeOpts.value;
|
|
48
53
|
if (treeConfig && (treeOpts.showLine || treeOpts.line)) {
|
|
49
|
-
|
|
54
|
+
log.err('vxe.error.errConflicts', ['tree-config.showLine', 'column.type=expand']);
|
|
50
55
|
}
|
|
51
56
|
}
|
|
52
57
|
if (formatter) {
|
|
53
58
|
if (_xeUtils.default.isString(formatter)) {
|
|
54
|
-
const gFormatOpts =
|
|
59
|
+
const gFormatOpts = formats.get(formatter) || _xeUtils.default[formatter];
|
|
55
60
|
if (!gFormatOpts || !_xeUtils.default.isFunction(gFormatOpts.cellFormatMethod)) {
|
|
56
|
-
|
|
61
|
+
log.err('vxe.error.notFormats', [formatter]);
|
|
57
62
|
}
|
|
58
63
|
} else if (_xeUtils.default.isArray(formatter)) {
|
|
59
|
-
const gFormatOpts =
|
|
64
|
+
const gFormatOpts = formats.get(formatter[0]) || _xeUtils.default[formatter[0]];
|
|
60
65
|
if (!gFormatOpts || !_xeUtils.default.isFunction(gFormatOpts.cellFormatMethod)) {
|
|
61
|
-
|
|
66
|
+
log.err('vxe.error.notFormats', [formatter[0]]);
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
}
|
|
@@ -156,7 +161,7 @@ class ColumnInfo {
|
|
|
156
161
|
}
|
|
157
162
|
}
|
|
158
163
|
getTitle() {
|
|
159
|
-
return (0, _utils.getFuncText)(this.title || (this.type === 'seq' ?
|
|
164
|
+
return (0, _utils.getFuncText)(this.title || (this.type === 'seq' ? getI18n('vxe.table.seqTitle') : ''));
|
|
160
165
|
}
|
|
161
166
|
getKey() {
|
|
162
167
|
return this.field || (this.type ? `type=${this.type}` : null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,formats,log}=_vxePcUi.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d,n=e.xegrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&log.warn("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&log.warn("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&log.warn("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&log.warn("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&(d=e["props"],d=d["treeConfig"],e=e.getComputeMaps()["computeTreeOpts"],e=e.value,d)&&(e.showLine||e.line)&&log.err("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s)&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.cellFormatMethod)||log.err("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(e=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(e.cellFormatMethod)||log.err("vxe.error.notFormats",[s[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:s,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,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:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderWidth:0,renderHeight:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(d=n.getComputeMaps()["computeProxyOpts"],(e=d.value).beforeColumn)&&e.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){return this.field||(this.type?"type="+this.type:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|