vxe-table 3.18.3 → 3.18.5
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/style.css +1 -1
- package/es/table/render/index.js +4 -3
- package/es/table/src/header.js +25 -0
- package/es/table/src/methods.js +17 -5
- package/es/table/src/table.js +6 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/vn.js +9 -4
- package/lib/index.umd.js +70 -21
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +6 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/header.js +29 -0
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +18 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +6 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/vn.js +9 -4
- package/lib/ui/src/vn.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/render/index.ts +27 -26
- package/packages/table/src/header.ts +28 -0
- package/packages/table/src/methods.ts +17 -5
- package/packages/table/src/table.ts +9 -7
- package/packages/ui/src/vn.ts +10 -4
- /package/es/{iconfont.1756629700380.ttf → iconfont.1756865980627.ttf} +0 -0
- /package/es/{iconfont.1756629700380.woff → iconfont.1756865980627.woff} +0 -0
- /package/es/{iconfont.1756629700380.woff2 → iconfont.1756865980627.woff2} +0 -0
- /package/lib/{iconfont.1756629700380.ttf → iconfont.1756865980627.ttf} +0 -0
- /package/lib/{iconfont.1756629700380.woff → iconfont.1756865980627.woff} +0 -0
- /package/lib/{iconfont.1756629700380.woff2 → iconfont.1756865980627.woff2} +0 -0
|
@@ -350,7 +350,7 @@ function nativeEditRender(h, renderOpts, params) {
|
|
|
350
350
|
name
|
|
351
351
|
} = renderOpts;
|
|
352
352
|
const cellValue = isImmediateCell(renderOpts, params) ? (0, _util.getCellValue)(row, column) : column.model.value;
|
|
353
|
-
return [h(name
|
|
353
|
+
return [h(`${name}`, {
|
|
354
354
|
class: `vxe-default-${name}`,
|
|
355
355
|
attrs: getNativeAttrs(renderOpts),
|
|
356
356
|
domProps: {
|
|
@@ -433,7 +433,10 @@ function oldButtonEditRender(h, renderOpts, params) {
|
|
|
433
433
|
* @deprecated
|
|
434
434
|
*/
|
|
435
435
|
function oldButtonsEditRender(h, renderOpts, params) {
|
|
436
|
-
|
|
436
|
+
const {
|
|
437
|
+
children
|
|
438
|
+
} = renderOpts;
|
|
439
|
+
return children ? children.map(childRenderOpts => oldButtonEditRender(h, childRenderOpts, params)[0]) : [];
|
|
437
440
|
}
|
|
438
441
|
function renderNativeOptgroups(h, renderOpts, params, renderOptionsMethods) {
|
|
439
442
|
const {
|
|
@@ -495,7 +498,7 @@ function nativeFilterRender(h, renderOpts, params) {
|
|
|
495
498
|
} = renderOpts;
|
|
496
499
|
const attrs = getNativeAttrs(renderOpts);
|
|
497
500
|
return column.filters.map((option, oIndex) => {
|
|
498
|
-
return h(name
|
|
501
|
+
return h(`${name}`, {
|
|
499
502
|
key: oIndex,
|
|
500
503
|
class: `vxe-default-${name}`,
|
|
501
504
|
attrs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return getComponent(e)||e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t,r){let n=e.events,a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d}=t||{},s={};return _xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(s[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),r?Object.assign(s,r):s}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,a=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,a=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(a,{class:"vxe-default-"+a,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function checkboxEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxGroupEditRender(e,t,l){var r=t.options,{row:n,column:a}=l,n=(0,_util.getCellValue)(n,a);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,a){var{optionGroups:e,optionGroupProps:t={}}=r;let o=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},a(l,e[o],r,n))):[]}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:a,column:o}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(a,o):o.model.value;return e?e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u])):[]}function nativeFilterRender(l,r,n){var e=n.column;let a=r.name,o=getNativeAttrs(r);return e.filters.map((e,t)=>l(a,{key:t,class:"vxe-default-"+a,attrs:o,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function oldFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=o.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",a=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,{props:n={},showNegativeStatus:a}=t,{row:o,column:u}=l,i=n.type;let d=_xeUtils.default.get(o,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(o=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,r),r),u||(d=_xeUtils.default.toNumber(d)),a&&d<0&&(s=!0)):"amount"===i?(r=handleDefaultValue(n.autoFill,o.autoFill,!0),u=handleDefaultValue(n.digits,o.digits,2),i=handleDefaultValue(n.showCurrency,o.showCurrency,!1),d=_xeUtils.default.toNumber(d),a&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),r||([u,r]=d.split("."),r&&(r=r.replace(/0+$/,""),d=r?[u,".",r].join(""):u)),i&&(d=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):a&&_xeUtils.default.toNumber(d)<0&&(s=!0)),getCellLabelVNs(e,t,l,d,s?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l,o=getConfig().input||{},u=r.digits||o.digits||2;let i=_xeUtils.default.get(n,a.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,a=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===a){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return o||([r,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[r,".",o].join(""):r)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l;let o=_xeUtils.default.get(n,a.field);return getCellLabelVNs(e,t,l,o=o&&"time"!==r.type?getLabelFormatDate(o,r):o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){let{startField:r,endField:n}=t,{$table:a,row:o,column:u}=l,i=u.model;var d=(0,_util.getCellValue)(o,u),s={},p={};return r&&n&&(s.startValue=_xeUtils.default.get(o,r),s.endValue=_xeUtils.default.get(o,n),p["update:startValue"]=e=>{r&&_xeUtils.default.set(o,r,e)},p["update:endValue"]=e=>{n&&_xeUtils.default.set(o,n,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,d,s),on:getComponentOns(t,l,{model(e){i.update=!0,i.value=e,(0,_util.setCellValue)(o,u,e)},change(){a.updateStatus(l)},blur(){a.handleCellRuleUpdateStatus("blur",l)}},p)})]},renderTableCell(e,t,l){var{startField:r,endField:n}=t,{row:a,column:o}=l;let u="",i="",d=(r&&n?(u=_xeUtils.default.get(a,r),i=_xeUtils.default.get(a,n)):(r=_xeUtils.default.get(a,o.field))&&(i=(_xeUtils.default.isArray(r)?(u=r[0],r):(n=(""+r).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,l,d=u&&i?u+" ~ "+i:d)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:a,column:o}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(a,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return getComponent(e)||e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t,r){let n=e.events,a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d}=t||{},s={};return _xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(s[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),r?Object.assign(s,r):s}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,a=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,a=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(""+a,{class:"vxe-default-"+a,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function checkboxEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxGroupEditRender(e,t,l){var r=t.options,{row:n,column:a}=l,n=(0,_util.getCellValue)(n,a);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){e=e.children;return e?e.map(e=>oldButtonEditRender(t,e,l)[0]):[]}function renderNativeOptgroups(l,r,n,a){var{optionGroups:e,optionGroupProps:t={}}=r;let o=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},a(l,e[o],r,n))):[]}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:a,column:o}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(a,o):o.model.value;return e?e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u])):[]}function nativeFilterRender(l,r,n){var e=n.column;let a=r.name,o=getNativeAttrs(r);return e.filters.map((e,t)=>l(""+a,{key:t,class:"vxe-default-"+a,attrs:o,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function oldFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=o.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",a=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,{props:n={},showNegativeStatus:a}=t,{row:o,column:u}=l,i=n.type;let d=_xeUtils.default.get(o,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(o=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,r),r),u||(d=_xeUtils.default.toNumber(d)),a&&d<0&&(s=!0)):"amount"===i?(r=handleDefaultValue(n.autoFill,o.autoFill,!0),u=handleDefaultValue(n.digits,o.digits,2),i=handleDefaultValue(n.showCurrency,o.showCurrency,!1),d=_xeUtils.default.toNumber(d),a&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),r||([u,r]=d.split("."),r&&(r=r.replace(/0+$/,""),d=r?[u,".",r].join(""):u)),i&&(d=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):a&&_xeUtils.default.toNumber(d)<0&&(s=!0)),getCellLabelVNs(e,t,l,d,s?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l,o=getConfig().input||{},u=r.digits||o.digits||2;let i=_xeUtils.default.get(n,a.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,a=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===a){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return o||([r,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[r,".",o].join(""):r)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l;let o=_xeUtils.default.get(n,a.field);return getCellLabelVNs(e,t,l,o=o&&"time"!==r.type?getLabelFormatDate(o,r):o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){let{startField:r,endField:n}=t,{$table:a,row:o,column:u}=l,i=u.model;var d=(0,_util.getCellValue)(o,u),s={},p={};return r&&n&&(s.startValue=_xeUtils.default.get(o,r),s.endValue=_xeUtils.default.get(o,n),p["update:startValue"]=e=>{r&&_xeUtils.default.set(o,r,e)},p["update:endValue"]=e=>{n&&_xeUtils.default.set(o,n,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,d,s),on:getComponentOns(t,l,{model(e){i.update=!0,i.value=e,(0,_util.setCellValue)(o,u,e)},change(){a.updateStatus(l)},blur(){a.handleCellRuleUpdateStatus("blur",l)}},p)})]},renderTableCell(e,t,l){var{startField:r,endField:n}=t,{row:a,column:o}=l;let u="",i="",d=(r&&n?(u=_xeUtils.default.get(a,r),i=_xeUtils.default.get(a,n)):(r=_xeUtils.default.get(a,o.field))&&(i=(_xeUtils.default.isArray(r)?(u=r[0],r):(n=(""+r).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,l,d=u&&i?u+" ~ "+i:d)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:a,column:o}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(a,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -14,6 +14,24 @@ const {
|
|
|
14
14
|
renderEmptyElement
|
|
15
15
|
} = _ui.VxeUI;
|
|
16
16
|
const cellType = 'header';
|
|
17
|
+
function getColumnFirstChild(column) {
|
|
18
|
+
const {
|
|
19
|
+
children
|
|
20
|
+
} = column;
|
|
21
|
+
if (children && children.length) {
|
|
22
|
+
return getColumnFirstChild(children[0]);
|
|
23
|
+
}
|
|
24
|
+
return column;
|
|
25
|
+
}
|
|
26
|
+
function getColumnLastChild(column) {
|
|
27
|
+
const {
|
|
28
|
+
children
|
|
29
|
+
} = column;
|
|
30
|
+
if (children && children.length) {
|
|
31
|
+
return getColumnLastChild(children[children.length - 1]);
|
|
32
|
+
}
|
|
33
|
+
return column;
|
|
34
|
+
}
|
|
17
35
|
function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, cols) {
|
|
18
36
|
const props = _vm;
|
|
19
37
|
const $xeTable = _vm.$parent;
|
|
@@ -180,6 +198,17 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, co
|
|
|
180
198
|
} else {
|
|
181
199
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
182
200
|
}
|
|
201
|
+
if (isColGroup && !isLastRow) {
|
|
202
|
+
const firstCol = getColumnFirstChild(column);
|
|
203
|
+
const lastCol = getColumnLastChild(column);
|
|
204
|
+
if (firstCol && lastCol && firstCol.id !== lastCol.id) {
|
|
205
|
+
const firstColRest = fullColumnIdData[firstCol.id];
|
|
206
|
+
const lastColRest = fullColumnIdData[lastCol.id];
|
|
207
|
+
if (firstColRest && lastColRest) {
|
|
208
|
+
tcStyle.width = `${lastColRest.oLeft - firstColRest.oLeft + lastCol.renderWidth}px`;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
183
212
|
return h('th', {
|
|
184
213
|
class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
185
214
|
[`col--${headAlign}`]: headAlign,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header";function renderRows(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header";function getColumnFirstChild(e){var l=e.children;return l&&l.length?getColumnFirstChild(l[0]):e}function getColumnLastChild(e){var l=e.children;return l&&l.length?getColumnLastChild(l[l.length-1]):e}function renderRows(T,e,R,I,l,O,k){let z=e.$parent,L=z.$xeGrid,M=z.$xeGantt;var r=z,a=z,t=z;let U=e.fixedType,{resizable:F,columnKey:A,showCustomHeader:X,headerCellClassName:G,headerCellStyle:q,showHeaderOverflow:N,headerAlign:W,align:B,mouseConfig:V}=r,{currentColumn:K,dragCol:P,scrollXLoad:j,scrollYLoad:Y,overflowX:J,mergeHeadFlag:de,tableColumn:ne}=a,{fullColumnIdData:Q,scrollXStore:Z,mergeHeaderList:oe,mergeHeaderCellMaps:se}=t,ue=z.computeVirtualXOpts,ee=z.computeColumnOpts,le=z.computeColumnDragOpts,ce=z.computeCellOpts;e=z.computeDefaultRowHeight;let re=z.computeHeaderCellOpts,ae=(0,_util.getCalcHeight)(re.height)||e,{disabledMethod:te,isCrossDrag:pe,isPeerDrag:he}=le,ie=O===l.length-1;return k.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:i,filters:d,headerClassName:n,editRender:o,cellRender:s}=e,u=e.id,c=Q[u]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=J&&!o&&(U?e.fixed!==U:!!e.fixed),h=(_xeUtils.default.isBoolean(re.padding)?re:ce).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?N:a,t=t||(s?s.tableHeaderCellAlign:"")||W||i||(s?s.tableCellAlign:"")||B,i="ellipsis"===a,s="title"===a,a=!0===a||"tooltip"===a,m=s||a||i;let f=!1,g=null;d&&(g=d[0],f=d.some(e=>e.checked));var v=c.index,c=X?l:c._index;let x={$table:z,$grid:L,$gantt:M,$rowIndex:O,column:e,columnIndex:v,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:U,type:cellType,isHidden:p,hasFilter:f};v={colid:u};let C=!1;if(X||(v.colspan=1<e.colSpan?e.colSpan:null,v.rowspan=1<e.rowSpan?e.rowSpan:null),de&&oe.length&&(X||ie)){var b=se[O+":"+(X?l:c)];if(b){var{rowspan:b,colspan:w}=b;if(!b||!w)return null;1<b&&(C=!0,v.rowspan=b),1<w&&(C=!0,v.colspan=w)}}b={click:e=>z.triggerHeaderCellClickEvent(e,x),dblclick:e=>z.triggerHeaderCellDblclickEvent(e,x)},w=ee.drag&&"cell"===le.trigger;let H=!1;w&&(H=!(!te||!te(x))),(V||w)&&(b.mousedown=e=>z.triggerHeaderCellMousedownEvent(e,x)),ee.drag&&(b.dragstart=z.handleHeaderCellDragDragstartEvent,b.dragend=z.handleHeaderCellDragDragendEvent,b.dragover=z.handleHeaderCellDragDragoverEvent,w)&&(b.mouseup=z.handleHeaderCellDragMouseupEvent);var w=l===k.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||F,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let $=!1;!I||!J||R||C||P&&P.id===u||j&&10<ne.length&&!e.fixed&&!ue.immediate&&(c<Z.visibleStartIndex-Z.preloadSize||c>Z.visibleEndIndex+Z.preloadSize)&&($=!0);var E,S,D,c={};return m?c.height=ae+"px":c.minHeight=ae+"px",o&&!ie&&(S=getColumnFirstChild(e),E=getColumnLastChild(e),S)&&E&&S.id!==E.id&&(S=Q[S.id],D=Q[E.id],S)&&D&&(c.width=D.oLeft-S.oLeft+E.renderWidth+"px"),T("th",{class:["vxe-table--column vxe-header--column",u,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+r]:r,"col--last":w,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":m,"fixed--width":!_,"is--padding":h,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":f,"is--drag-active":ee.drag&&!e.fixed&&!H&&(pe||he||!e.parentId),"is--drag-disabled":ee.drag&&H,"col--current":K===e},(0,_utils.getClass)(n,x),(0,_utils.getClass)(G,x)],attrs:v,style:q?_xeUtils.default.isFunction(q)?q(x):q:void 0,on:b,key:X?""+u+l:A||j||Y||ee.useKey||ee.drag||o?u:l},[T("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":a,"c--ellipsis":i}],style:c},$||I&&p?[]:[T("div",{attrs:{colid:u},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(T,x))]),p||!y||X&&!ie?renderEmptyElement(z):T("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>z.handleColResizeMousedownEvent(e,U,x),dblclick:e=>z.handleColResizeDblclickEvent(e,x)}})])})}function renderHeads(a,t,i,d,n){let o=t.$parent;var e=o;let s=t.fixedType,{headerRowClassName:u,headerRowStyle:c}=e;return n.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:s,type:cellType};return a("tr",{key:l,class:["vxe-header--row",u?_xeUtils.default.isFunction(u)?u(r):u:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0},renderRows(a,t,i,d,n,l,e))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null},render(r){let l=this.$parent;var e=l,a=l,t=l,i=l.xID;let{fixedType:d,fixedColumn:n,tableColumn:o}=this;var s=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,isColLoading:h,overflowX:m,scrollXLoad:f,dragCol:g}=a,{visibleColumn:t,fullColumnIdData:v}=t,x=l.computeMouseOpts;let C=s,b=o,w=!1;return a?b=t:(f&&u&&(c||p||(w=!0)),w&&(h||!d&&m)||(b=t),d&&w&&(b=n||[]),C=[b]),d||a||f&&g&&2<b.length&&(s=v[g.id])&&(u=s._index,c=b[0],p=b[b.length-1],h=v[c.id],m=v[p.id],h)&&m&&(t=h._index,f=m._index,u<t?(b=[g].concat(b),C=[[g].concat(C[0])].concat(C.slice(1))):f<u&&(b=b.concat([g]),C=[C[0].concat([g])].concat(C.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:w?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},b.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,w,C))]),e&&x.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])},methods:{uploadColumn(){var e=this.$parent,l=e.showCustomHeader,{collectColumn:r,visibleColumn:a}=e,t=this.tableGroupColumn,i=e.isGroup;let d=i?(0,_util.convertHeaderColumnToRows)(t):[],n=[];l&&1<d.length&&(n=(0,_util.convertHeaderToGridRows)(d),d=n),this.headerColumn=d,e.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:r,visibleColumn:a},null)}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -10123,12 +10123,22 @@ const Methods = {
|
|
|
10123
10123
|
} = rowDragOpts;
|
|
10124
10124
|
if (isCrossTableDrag && crossTableDragRowObj && !tableData.length) {
|
|
10125
10125
|
const {
|
|
10126
|
-
$oldTable
|
|
10126
|
+
$oldTable,
|
|
10127
|
+
$newTable
|
|
10127
10128
|
} = crossTableDragRowObj;
|
|
10128
|
-
if ($oldTable
|
|
10129
|
-
|
|
10130
|
-
|
|
10131
|
-
|
|
10129
|
+
if ($oldTable) {
|
|
10130
|
+
const oldTableReactData = $oldTable;
|
|
10131
|
+
if ($oldTable.xID !== $xeTable.xID) {
|
|
10132
|
+
if ($newTable && $newTable.xID !== $xeTable.xID) {
|
|
10133
|
+
$newTable.hideCrossTableRowDropClearStatus();
|
|
10134
|
+
}
|
|
10135
|
+
evnt.preventDefault();
|
|
10136
|
+
$oldTable.hideCrossTableRowDropClearStatus();
|
|
10137
|
+
crossTableDragRowObj.$newTable = $xeTable;
|
|
10138
|
+
internalData.prevDragRow = null;
|
|
10139
|
+
reactData.dragTipText = oldTableReactData.dragTipText;
|
|
10140
|
+
showDropTip($xeTable, evnt, evnt.currentTarget, null, true, '');
|
|
10141
|
+
}
|
|
10132
10142
|
}
|
|
10133
10143
|
}
|
|
10134
10144
|
},
|
|
@@ -10411,6 +10421,9 @@ const Methods = {
|
|
|
10411
10421
|
oldTableReactData.isCrossDragRow = false;
|
|
10412
10422
|
crossTableDragRowObj.$newTable = null;
|
|
10413
10423
|
} else if (!treeConfig || isCrossDrag) {
|
|
10424
|
+
if ($newTable && $newTable.xID !== $xeTable.xID) {
|
|
10425
|
+
$newTable.hideCrossTableRowDropClearStatus();
|
|
10426
|
+
}
|
|
10414
10427
|
$oldTable.hideCrossTableRowDropClearStatus();
|
|
10415
10428
|
oldTableReactData.isCrossDragRow = true;
|
|
10416
10429
|
reactData.dragTipText = oldTableReactData.dragTipText;
|