vxe-table 4.5.1 → 4.5.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/README.en.md +4 -4
- package/README.md +4 -4
- package/README.zh-TW.md +4 -4
- package/es/edit/src/hook.js +176 -136
- package/es/icon/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/es/v-x-e-table/src/renderer.js +2 -2
- package/lib/edit/src/hook.js +207 -158
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +221 -174
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +2 -2
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/package.json +2 -2
- package/packages/edit/src/hook.ts +170 -131
- package/packages/v-x-e-table/src/renderer.ts +2 -2
- package/types/edit.d.ts +9 -0
- package/types/modal.d.ts +1 -1
- /package/es/icon/style/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
- /package/es/icon/style/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
- /package/es/icon/style/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
- /package/es/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
- /package/es/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
- /package/es/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
- /package/lib/icon/style/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
- /package/lib/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
- /package/lib/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
- /package/lib/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
package/lib/tools/log.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.warnLog = void 0;
|
|
|
9
9
|
var _conf = _interopRequireDefault(require("../v-x-e-table/src/conf"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
function getLog(message, params) {
|
|
12
|
-
return "[vxe-table v".concat("4.5.
|
|
12
|
+
return "[vxe-table v".concat("4.5.2", "] ").concat(_conf.default.i18n(message, params));
|
|
13
13
|
}
|
|
14
14
|
function outLog(type) {
|
|
15
15
|
return function (message, params) {
|
package/lib/tools/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errLog=void 0,exports.getLog=getLog,exports.warnLog=void 0;var _conf=_interopRequireDefault(require("../v-x-e-table/src/conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getLog(e,o){return"[vxe-table v".concat("4.5.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errLog=void 0,exports.getLog=getLog,exports.warnLog=void 0;var _conf=_interopRequireDefault(require("../v-x-e-table/src/conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getLog(e,o){return"[vxe-table v".concat("4.5.2","] ").concat(_conf.default.i18n(e,o))}function outLog(r){return function(e,o){e=getLog(e,o);return console[r](e),e}}var warnLog=outLog("warn"),errLog=(exports.warnLog=warnLog,outLog("error"));exports.errLog=errLog;
|
package/lib/v-x-e-table/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,t:!0,_t:!0,config:!0,v:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("./src/conf")),_interceptor=require("./src/interceptor"),_renderer=(Object.keys(_interceptor).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}})}),require("./src/renderer")),_commands=(Object.keys(_renderer).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}})}),require("./src/commands")),_menus=(Object.keys(_commands).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}})}),require("./src/menus")),_formats=(Object.keys(_menus).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}})}),require("./src/formats")),_validators=(Object.keys(_formats).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}})}),require("./src/validators")),_hooks=(Object.keys(_validators).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_validators[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _validators[e]}})}),require("./src/hooks")),_setup=(Object.keys(_hooks).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_hooks[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _hooks[e]}})}),require("./src/setup")),_utils=(Object.keys(_setup).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_setup[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _setup[e]}})}),require("../tools/utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var VXETableConfig=function(){function e(){}return Object.defineProperty(e.prototype,"zIndex",{get:function(){return(0,_utils.getLastZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextZIndex",{get:function(){return(0,_utils.nextZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"exportTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"importTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,2)},enumerable:!1,configurable:!0}),e}(),config=new VXETableConfig,v=(exports.config=config,"v4"),VXETable={v:exports.v=v,version:"4.5.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,t:!0,_t:!0,config:!0,v:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("./src/conf")),_interceptor=require("./src/interceptor"),_renderer=(Object.keys(_interceptor).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}})}),require("./src/renderer")),_commands=(Object.keys(_renderer).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}})}),require("./src/commands")),_menus=(Object.keys(_commands).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}})}),require("./src/menus")),_formats=(Object.keys(_menus).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}})}),require("./src/formats")),_validators=(Object.keys(_formats).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}})}),require("./src/validators")),_hooks=(Object.keys(_validators).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_validators[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _validators[e]}})}),require("./src/hooks")),_setup=(Object.keys(_hooks).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_hooks[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _hooks[e]}})}),require("./src/setup")),_utils=(Object.keys(_setup).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_setup[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _setup[e]}})}),require("../tools/utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var VXETableConfig=function(){function e(){}return Object.defineProperty(e.prototype,"zIndex",{get:function(){return(0,_utils.getLastZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextZIndex",{get:function(){return(0,_utils.nextZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"exportTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"importTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,2)},enumerable:!1,configurable:!0}),e}(),config=new VXETableConfig,v=(exports.config=config,"v4"),VXETable={v:exports.v=v,version:"4.5.2",setup:_setup.setup,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,validators:_validators.validators,menus:_menus.menus,hooks:_hooks.hooks,config:config,use:use,t:t,_t:_t},_default=exports.VXETable=VXETable;exports.default=_default;
|
|
@@ -194,8 +194,8 @@ function getComponentOns(renderOpts, params, modelFunc, changeFunc) {
|
|
|
194
194
|
args[_i] = arguments[_i];
|
|
195
195
|
}
|
|
196
196
|
if (process.env.NODE_ENV === 'development') {
|
|
197
|
-
if (!_xeUtils.default.isFunction(
|
|
198
|
-
(0, _log.errLog)('vxe.error.errFunc', [
|
|
197
|
+
if (!_xeUtils.default.isFunction(func)) {
|
|
198
|
+
(0, _log.errLog)('vxe.error.errFunc', [func]);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
func.apply(void 0, __spreadArray([params], args, false));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.renderer=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("./conf")),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_log=require("../../tools/log"),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__spreadArray=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||((r=r||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},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"$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 r=t.dateConfig,r=void 0===r?{}:r;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,_conf.default.i18n("vxe.input.date.labelFormat.".concat(t.type)))}function getComponentName(e){return"vxe-".concat(e.replace("$",""))}function getDefaultComponent(e){e=e.name;return(0,_vue.resolveComponent)(getComponentName(e))}function handleConfirmFilter(e,t,n){e.$panel.changeOption({},t,n)}function getNativeAttrs(e){var t=e.name,e=e.attrs;return e="input"===t?Object.assign({type:"text"},e):e}function getInputImmediateModel(e){var t=e.name,n=e.immediate,e=e.props;return n||("$input"===t?!(!(n=(e||{}).type)||"text"===n||"number"===n||"integer"===n||"float"===n):"input"!==t&&"textarea"!==t&&"$textarea"!==t)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,((r={})[componentDefaultModelProp]=n,r))}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,((r={})[componentDefaultModelProp]=n,r))}function getComponentFormItemProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,((r={})[componentDefaultModelProp]=n,r))}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,r,t,n){var o=e.events,a=getModelEvent(e),u=getChangeEvent(e),l=u===a,i={};return o&&_xeUtils.default.objectEach(o,function(n,e){i[(0,_vn.getOnName)(e)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];n.apply(void 0,__spreadArray([r],e,!1))}}),t&&(i[(0,_vn.getOnName)(a)]=function(e){t(e),l&&n&&n(e),o&&o[a]&&o[a](r,e)}),!l&&n&&(i[(0,_vn.getOnName)(u)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];n.apply(void 0,e),o&&o[u]&&o[u].apply(o,__spreadArray([r],e,!1))}),i}function getComponentOns(e,o,t,n){var r=e.events,a=getModelEvent(e),u=getChangeEvent(e),l={};return _xeUtils.default.objectEach(r,function(n,r){l[(0,_vn.getOnName)(r)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(r)||(0,_log.errLog)("vxe.error.errFunc",[r]),n.apply(void 0,__spreadArray([o],e,!1))}}),t&&(l[(0,_vn.getOnName)(a)]=function(e){t(e),r&&r[a]&&r[a](o,e)}),n&&(l[(0,_vn.getOnName)(u)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];n.apply(void 0,e),r&&r[u]&&r[u].apply(r,__spreadArray([o],e,!1))}),l}function getEditOns(e,t){var n=t.$table,r=t.row,o=t.column,a=e.name,u=o.model,l=isImmediateCell(e,t);return getComponentOns(e,t,function(e){l?(0,_util.setCellValue)(r,o,e):(u.update=!0,u.value=e)},function(e){l||"$input"!==a&&"$textarea"!==a?n.updateStatus(t):(e=e.value,u.update=!0,u.value=e,n.updateStatus(t,e))})}function getFilterOns(e,t,n){return getComponentOns(e,t,function(e){n.data=e},function(){handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getItemOns(e,t){var n=t.$form,r=t.data,o=t.property;return getComponentOns(e,t,function(e){_xeUtils.default.set(r,o,e)},function(){n.updateStatus(t)})}function getNativeEditOns(t,n){var r=n.$table,o=n.row,a=n.column,u=a.model;return getElementOns(t,n,function(e){e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(o,a,e):(u.update=!0,u.value=e)},function(e){e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,function(e){n.data=e.target.value},function(){handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeItemOns(e,t){var n=t.$form,r=t.data,o=t.property;return getElementOns(e,t,function(e){e=e.target.value;_xeUtils.default.set(r,o,e)},function(){n.updateStatus(t)})}function nativeEditRender(e,t){var n=t.row,r=t.column,o=e.name,n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(o,__assign(__assign(__assign({class:"vxe-default-".concat(o)},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function defaultEditRender(e,t){var n=t.row,r=t.column,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function defaultButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),__assign(__assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultButtonsEditRender(e,t){return e.children.map(function(e){return defaultButtonEditRender(e,t)[0]})}function renderNativeOptgroups(n,r,o){var e=n.optionGroups,t=n.optionGroupProps,t=void 0===t?{}:t,a=t.options||"options",u=t.label||"label";return e.map(function(e,t){return(0,_vue.h)("optgroup",{key:t,label:e[u]},o(e[a],n,r))})}function renderNativeOptions(e,t,n){var r=t.optionProps,r=void 0===r?{}:r,o=n.row,a=n.column,u=r.label||"label",l=r.value||"value",i=r.disabled||"disabled",s=isImmediateCell(t,n)?(0,_util.getCellValue)(o,a):a.model.value;return e.map(function(e,t){return(0,_vue.h)("option",{key:t,value:e[l],disabled:e[i],selected:e[l]==s},e[u])})}function nativeFilterRender(n,r){var e=r.column,o=n.name,a=getNativeAttrs(n);return e.filters.map(function(e,t){return(0,_vue.h)(o,__assign(__assign(__assign({key:t,class:"vxe-default-".concat(o)},a),{value:e.data}),getNativeFilterOns(n,r,e)))})}function defaultFilterRender(r,o){return o.column.filters.map(function(e,t){var n=e.data;return(0,_vue.h)(getDefaultComponent(r),__assign(__assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,o,e)))})}function handleFilterMethod(e){var t=e.option,n=e.row,e=e.column,t=t.data;return _xeUtils.default.get(n,e.property)==t}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",__assign(__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 n=t.row,r=t.column,o=e.options,a=e.optionProps,u=e.optionGroups,l=e.optionGroupProps,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getCellEditProps(e,t,n,{options:o,optionProps:a,optionGroups:u,optionGroupProps:l})),getEditOns(e,t)))]}function getSelectCellValue(e,t){var r,n=t.row,t=t.column,o=e.props,o=void 0===o?{}:o,a=e.options,u=e.optionGroups,l=e.optionProps,l=void 0===l?{}:l,e=e.optionGroupProps,i=void 0===e?{}:e,e=_xeUtils.default.get(n,t.property),s=l.label||"label",d=l.value||"value";return(0,_utils.isEmptyValue)(e)?"":_xeUtils.default.map(o.multiple?e:[e],u?function(t){for(var e=i.options||"options",n=0;n<u.length&&!(r=_xeUtils.default.find(u[n][e],function(e){return e[d]==t}));n++);return r?r[s]:t}:function(t){return(r=_xeUtils.default.find(a,function(e){return e[d]==t}))?r[s]:t}).join(", ")}function nativeItemRender(e,t){var n=t.data,r=t.property,o=e.name,a=getNativeAttrs(e),n=_xeUtils.default.get(n,r);return[(0,_vue.h)(o,__assign(__assign(__assign({class:"vxe-default-".concat(o)},a),{value:!a||"input"!==o||"submit"!==a.type&&"reset"!==a.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var n=t.data,r=t.property,n=_xeUtils.default.get(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function defaultButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),__assign(__assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function defaultButtonsItemRender(e,t){return e.children.map(function(e){return defaultButtonItemRender(e,t)[0]})}function renderNativeFormOptions(e,t,n){var r=n.data,n=n.property,t=t.optionProps,t=void 0===t?{}:t,o=t.label||"label",a=t.value||"value",u=t.disabled||"disabled",l=_xeUtils.default.get(r,n);return e.map(function(e,t){return(0,_vue.h)("option",{key:t,value:e[a],disabled:e[u],selected:e[a]==l},e[o])})}function handleExportSelectMethod(e){var t=e.row,n=e.column;return e.options.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function defaultFormItemRadioAndCheckboxRender(e,t){var n=e.name,r=e.options,o=e.optionProps,o=void 0===o?{}:o,a=t.data,u=t.property,l=o.label||"label",i=o.value||"value",s=o.disabled||"disabled",o=_xeUtils.default.get(a,u),d=getComponentName(n);return r?[(0,_vue.h)((0,_vue.resolveComponent)("".concat(d,"-group")),__assign(__assign({},getComponentFormItemProps(e,t,o)),getItemOns(e,t)),{default:function(){return r.map(function(e,t){return(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[i],content:e[l],disabled:e[s]})})}})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),__assign(__assign({},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}var renderMap={input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleFilterMethod,renderItemContent:nativeItemRender},textarea:{autofocus:"textarea",renderEdit:nativeEditRender,renderItemContent:nativeItemRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell:function(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter:function(n,r){return r.column.filters.map(function(e,t){return(0,_vue.h)("select",__assign(__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,renderItemContent:function(e,t){return[(0,_vue.h)("select",__assign(__assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]},cellExportMethod:handleExportSelectMethod},$input:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell:function(e,t){var n=e.props,r=void 0===n?{}:n,n=t.row,o=t.column,a=r.digits||_conf.default.input.digits,u=_xeUtils.default.get(n,o.property);if(u)switch(r.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,r);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,a),a)}return getCellLabelVNs(e,t,u)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod,renderItemContent:defaultItemRender},$textarea:{autofocus:".vxe-textarea--inner",renderItemContent:defaultItemRender},$button:{renderDefault:defaultButtonEditRender,renderItemContent:defaultButtonItemRender},$buttons:{renderDefault:defaultButtonsEditRender,renderItemContent:defaultButtonsItemRender},$select:{autofocus:".vxe-input--inner",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell:function(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter:function(r,o){var e=o.column,a=r.options,u=r.optionProps,l=r.optionGroups,i=r.optionGroupProps;return e.filters.map(function(e,t){var n=e.data;return(0,_vue.h)(getDefaultComponent(r),__assign(__assign({key:t},getCellEditFilterProps(r,o,n,{options:a,optionProps:u,optionGroups:l,optionGroupProps:i})),getFilterOns(r,o,e)))})},defaultFilterMethod:handleFilterMethod,renderItemContent:function(e,t){var n=t.data,r=t.property,o=e.options,a=e.optionProps,u=e.optionGroups,l=e.optionGroupProps,n=_xeUtils.default.get(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getComponentFormItemProps(e,t,n,{options:o,optionProps:a,optionGroups:u,optionGroupProps:l})),getItemOns(e,t)))]},cellExportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input",renderItemContent:defaultFormItemRadioAndCheckboxRender},$checkbox:{autofocus:".vxe-checkbox--input",renderItemContent:defaultFormItemRadioAndCheckboxRender},$switch:{autofocus:".vxe-switch--button",renderEdit:defaultEditRender,renderDefault:defaultEditRender,renderItemContent:defaultItemRender}},renderer={mixin:function(e){return _xeUtils.default.each(e,function(e,t){return renderer.add(t,e)}),renderer},get:function(e){return renderMap[e]||null},add:function(n,e){var r;return n&&e&&((r=renderMap[n])?("development"===process.env.NODE_ENV&&_xeUtils.default.each(e,function(e,t){_xeUtils.default.eqNull(r[t])||r[t]===e||(0,_log.warnLog)("vxe.error.coverProp",["Renderer.".concat(n),t])}),Object.assign(r,e)):renderMap[n]=e),renderer},delete:function(e){return delete renderMap[e],renderer}};exports.renderer=renderer;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.renderer=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("./conf")),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_log=require("../../tools/log"),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__spreadArray=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||((r=r||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},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"$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 r=t.dateConfig,r=void 0===r?{}:r;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,_conf.default.i18n("vxe.input.date.labelFormat.".concat(t.type)))}function getComponentName(e){return"vxe-".concat(e.replace("$",""))}function getDefaultComponent(e){e=e.name;return(0,_vue.resolveComponent)(getComponentName(e))}function handleConfirmFilter(e,t,n){e.$panel.changeOption({},t,n)}function getNativeAttrs(e){var t=e.name,e=e.attrs;return e="input"===t?Object.assign({type:"text"},e):e}function getInputImmediateModel(e){var t=e.name,n=e.immediate,e=e.props;return n||("$input"===t?!(!(n=(e||{}).type)||"text"===n||"number"===n||"integer"===n||"float"===n):"input"!==t&&"textarea"!==t&&"$textarea"!==t)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,((r={})[componentDefaultModelProp]=n,r))}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,((r={})[componentDefaultModelProp]=n,r))}function getComponentFormItemProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,((r={})[componentDefaultModelProp]=n,r))}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,r,t,n){var o=e.events,a=getModelEvent(e),u=getChangeEvent(e),l=u===a,i={};return o&&_xeUtils.default.objectEach(o,function(n,e){i[(0,_vn.getOnName)(e)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];n.apply(void 0,__spreadArray([r],e,!1))}}),t&&(i[(0,_vn.getOnName)(a)]=function(e){t(e),l&&n&&n(e),o&&o[a]&&o[a](r,e)}),!l&&n&&(i[(0,_vn.getOnName)(u)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];n.apply(void 0,e),o&&o[u]&&o[u].apply(o,__spreadArray([r],e,!1))}),i}function getComponentOns(e,r,t,n){var o=e.events,a=getModelEvent(e),u=getChangeEvent(e),l={};return _xeUtils.default.objectEach(o,function(n,e){l[(0,_vn.getOnName)(e)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(n)||(0,_log.errLog)("vxe.error.errFunc",[n]),n.apply(void 0,__spreadArray([r],e,!1))}}),t&&(l[(0,_vn.getOnName)(a)]=function(e){t(e),o&&o[a]&&o[a](r,e)}),n&&(l[(0,_vn.getOnName)(u)]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];n.apply(void 0,e),o&&o[u]&&o[u].apply(o,__spreadArray([r],e,!1))}),l}function getEditOns(e,t){var n=t.$table,r=t.row,o=t.column,a=e.name,u=o.model,l=isImmediateCell(e,t);return getComponentOns(e,t,function(e){l?(0,_util.setCellValue)(r,o,e):(u.update=!0,u.value=e)},function(e){l||"$input"!==a&&"$textarea"!==a?n.updateStatus(t):(e=e.value,u.update=!0,u.value=e,n.updateStatus(t,e))})}function getFilterOns(e,t,n){return getComponentOns(e,t,function(e){n.data=e},function(){handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getItemOns(e,t){var n=t.$form,r=t.data,o=t.property;return getComponentOns(e,t,function(e){_xeUtils.default.set(r,o,e)},function(){n.updateStatus(t)})}function getNativeEditOns(t,n){var r=n.$table,o=n.row,a=n.column,u=a.model;return getElementOns(t,n,function(e){e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(o,a,e):(u.update=!0,u.value=e)},function(e){e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,function(e){n.data=e.target.value},function(){handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeItemOns(e,t){var n=t.$form,r=t.data,o=t.property;return getElementOns(e,t,function(e){e=e.target.value;_xeUtils.default.set(r,o,e)},function(){n.updateStatus(t)})}function nativeEditRender(e,t){var n=t.row,r=t.column,o=e.name,n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(o,__assign(__assign(__assign({class:"vxe-default-".concat(o)},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function defaultEditRender(e,t){var n=t.row,r=t.column,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function defaultButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),__assign(__assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultButtonsEditRender(e,t){return e.children.map(function(e){return defaultButtonEditRender(e,t)[0]})}function renderNativeOptgroups(n,r,o){var e=n.optionGroups,t=n.optionGroupProps,t=void 0===t?{}:t,a=t.options||"options",u=t.label||"label";return e.map(function(e,t){return(0,_vue.h)("optgroup",{key:t,label:e[u]},o(e[a],n,r))})}function renderNativeOptions(e,t,n){var r=t.optionProps,r=void 0===r?{}:r,o=n.row,a=n.column,u=r.label||"label",l=r.value||"value",i=r.disabled||"disabled",s=isImmediateCell(t,n)?(0,_util.getCellValue)(o,a):a.model.value;return e.map(function(e,t){return(0,_vue.h)("option",{key:t,value:e[l],disabled:e[i],selected:e[l]==s},e[u])})}function nativeFilterRender(n,r){var e=r.column,o=n.name,a=getNativeAttrs(n);return e.filters.map(function(e,t){return(0,_vue.h)(o,__assign(__assign(__assign({key:t,class:"vxe-default-".concat(o)},a),{value:e.data}),getNativeFilterOns(n,r,e)))})}function defaultFilterRender(r,o){return o.column.filters.map(function(e,t){var n=e.data;return(0,_vue.h)(getDefaultComponent(r),__assign(__assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,o,e)))})}function handleFilterMethod(e){var t=e.option,n=e.row,e=e.column,t=t.data;return _xeUtils.default.get(n,e.property)==t}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",__assign(__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 n=t.row,r=t.column,o=e.options,a=e.optionProps,u=e.optionGroups,l=e.optionGroupProps,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getCellEditProps(e,t,n,{options:o,optionProps:a,optionGroups:u,optionGroupProps:l})),getEditOns(e,t)))]}function getSelectCellValue(e,t){var r,n=t.row,t=t.column,o=e.props,o=void 0===o?{}:o,a=e.options,u=e.optionGroups,l=e.optionProps,l=void 0===l?{}:l,e=e.optionGroupProps,i=void 0===e?{}:e,e=_xeUtils.default.get(n,t.property),s=l.label||"label",d=l.value||"value";return(0,_utils.isEmptyValue)(e)?"":_xeUtils.default.map(o.multiple?e:[e],u?function(t){for(var e=i.options||"options",n=0;n<u.length&&!(r=_xeUtils.default.find(u[n][e],function(e){return e[d]==t}));n++);return r?r[s]:t}:function(t){return(r=_xeUtils.default.find(a,function(e){return e[d]==t}))?r[s]:t}).join(", ")}function nativeItemRender(e,t){var n=t.data,r=t.property,o=e.name,a=getNativeAttrs(e),n=_xeUtils.default.get(n,r);return[(0,_vue.h)(o,__assign(__assign(__assign({class:"vxe-default-".concat(o)},a),{value:!a||"input"!==o||"submit"!==a.type&&"reset"!==a.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var n=t.data,r=t.property,n=_xeUtils.default.get(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function defaultButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),__assign(__assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function defaultButtonsItemRender(e,t){return e.children.map(function(e){return defaultButtonItemRender(e,t)[0]})}function renderNativeFormOptions(e,t,n){var r=n.data,n=n.property,t=t.optionProps,t=void 0===t?{}:t,o=t.label||"label",a=t.value||"value",u=t.disabled||"disabled",l=_xeUtils.default.get(r,n);return e.map(function(e,t){return(0,_vue.h)("option",{key:t,value:e[a],disabled:e[u],selected:e[a]==l},e[o])})}function handleExportSelectMethod(e){var t=e.row,n=e.column;return e.options.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function defaultFormItemRadioAndCheckboxRender(e,t){var n=e.name,r=e.options,o=e.optionProps,o=void 0===o?{}:o,a=t.data,u=t.property,l=o.label||"label",i=o.value||"value",s=o.disabled||"disabled",o=_xeUtils.default.get(a,u),d=getComponentName(n);return r?[(0,_vue.h)((0,_vue.resolveComponent)("".concat(d,"-group")),__assign(__assign({},getComponentFormItemProps(e,t,o)),getItemOns(e,t)),{default:function(){return r.map(function(e,t){return(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[i],content:e[l],disabled:e[s]})})}})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),__assign(__assign({},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}var renderMap={input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleFilterMethod,renderItemContent:nativeItemRender},textarea:{autofocus:"textarea",renderEdit:nativeEditRender,renderItemContent:nativeItemRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell:function(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter:function(n,r){return r.column.filters.map(function(e,t){return(0,_vue.h)("select",__assign(__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,renderItemContent:function(e,t){return[(0,_vue.h)("select",__assign(__assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]},cellExportMethod:handleExportSelectMethod},$input:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell:function(e,t){var n=e.props,r=void 0===n?{}:n,n=t.row,o=t.column,a=r.digits||_conf.default.input.digits,u=_xeUtils.default.get(n,o.property);if(u)switch(r.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,r);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,a),a)}return getCellLabelVNs(e,t,u)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod,renderItemContent:defaultItemRender},$textarea:{autofocus:".vxe-textarea--inner",renderItemContent:defaultItemRender},$button:{renderDefault:defaultButtonEditRender,renderItemContent:defaultButtonItemRender},$buttons:{renderDefault:defaultButtonsEditRender,renderItemContent:defaultButtonsItemRender},$select:{autofocus:".vxe-input--inner",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell:function(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter:function(r,o){var e=o.column,a=r.options,u=r.optionProps,l=r.optionGroups,i=r.optionGroupProps;return e.filters.map(function(e,t){var n=e.data;return(0,_vue.h)(getDefaultComponent(r),__assign(__assign({key:t},getCellEditFilterProps(r,o,n,{options:a,optionProps:u,optionGroups:l,optionGroupProps:i})),getFilterOns(r,o,e)))})},defaultFilterMethod:handleFilterMethod,renderItemContent:function(e,t){var n=t.data,r=t.property,o=e.options,a=e.optionProps,u=e.optionGroups,l=e.optionGroupProps,n=_xeUtils.default.get(n,r);return[(0,_vue.h)(getDefaultComponent(e),__assign(__assign({},getComponentFormItemProps(e,t,n,{options:o,optionProps:a,optionGroups:u,optionGroupProps:l})),getItemOns(e,t)))]},cellExportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input",renderItemContent:defaultFormItemRadioAndCheckboxRender},$checkbox:{autofocus:".vxe-checkbox--input",renderItemContent:defaultFormItemRadioAndCheckboxRender},$switch:{autofocus:".vxe-switch--button",renderEdit:defaultEditRender,renderDefault:defaultEditRender,renderItemContent:defaultItemRender}},renderer={mixin:function(e){return _xeUtils.default.each(e,function(e,t){return renderer.add(t,e)}),renderer},get:function(e){return renderMap[e]||null},add:function(n,e){var r;return n&&e&&((r=renderMap[n])?("development"===process.env.NODE_ENV&&_xeUtils.default.each(e,function(e,t){_xeUtils.default.eqNull(r[t])||r[t]===e||(0,_log.warnLog)("vxe.error.coverProp",["Renderer.".concat(n),t])}),Object.assign(r,e)):renderMap[n]=e),renderer},delete:function(e){return delete renderMap[e],renderer}};exports.renderer=renderer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.3",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式为低/零代码而设计...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"vue-i18n": "^9.1.7",
|
|
66
66
|
"vue-router": "^4.0.11",
|
|
67
67
|
"vuex": "^4.0.2",
|
|
68
|
-
"xe-utils": "^3.5.
|
|
68
|
+
"xe-utils": "^3.5.12"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"vue": "^3.2.28",
|
|
@@ -76,10 +76,15 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
76
76
|
const parentRest = fullAllDataRowIdData[getRowid($xetable, parentRow)]
|
|
77
77
|
const parentLevel = parentRest ? parentRest.level : 0
|
|
78
78
|
let parentChilds = parentRow[childrenField]
|
|
79
|
+
let mapChilds = parentRow[mapChildrenField]
|
|
79
80
|
if (!XEUtils.isArray(parentChilds)) {
|
|
80
81
|
parentChilds = parentRow[childrenField] = []
|
|
81
82
|
}
|
|
83
|
+
if (!XEUtils.isArray(mapChilds)) {
|
|
84
|
+
mapChilds = parentRow[childrenField] = []
|
|
85
|
+
}
|
|
82
86
|
parentChilds[funcName](item)
|
|
87
|
+
mapChilds[funcName](item)
|
|
83
88
|
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
|
|
84
89
|
fullDataRowIdData[rowid] = rest
|
|
85
90
|
fullAllDataRowIdData[rowid] = rest
|
|
@@ -98,151 +103,180 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
98
103
|
})
|
|
99
104
|
}
|
|
100
105
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
106
|
+
const handleInsertRowAt = (records: any, row: any, isInsertNextRow?: boolean) => {
|
|
107
|
+
const { treeConfig } = props
|
|
108
|
+
const { mergeList, editStore } = reactData
|
|
109
|
+
const { tableFullTreeData, afterFullData, tableFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData
|
|
110
|
+
const treeOpts = computeTreeOpts.value
|
|
111
|
+
const { transform, rowField, mapChildrenField } = treeOpts
|
|
112
|
+
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
113
|
+
if (!XEUtils.isArray(records)) {
|
|
114
|
+
records = [records]
|
|
115
|
+
}
|
|
116
|
+
const newRecords: any[] = $xetable.defineField(records.map((record: any) => Object.assign(treeConfig && transform ? { [mapChildrenField]: [], [childrenField]: [] } : {}, record)))
|
|
117
|
+
if (!row) {
|
|
118
|
+
// 如果为虚拟树
|
|
119
|
+
if (treeConfig && transform) {
|
|
120
|
+
insertTreeRow(newRecords, false)
|
|
121
|
+
} else {
|
|
122
|
+
afterFullData.unshift(...newRecords)
|
|
123
|
+
tableFullData.unshift(...newRecords)
|
|
124
|
+
// 刷新单元格合并
|
|
125
|
+
mergeList.forEach((mergeItem: any) => {
|
|
126
|
+
const { row: mergeRowIndex } = mergeItem
|
|
127
|
+
if (mergeRowIndex > 0) {
|
|
128
|
+
mergeItem.row = mergeRowIndex + newRecords.length
|
|
129
|
+
}
|
|
130
|
+
})
|
|
126
131
|
}
|
|
127
|
-
|
|
128
|
-
if (
|
|
132
|
+
} else {
|
|
133
|
+
if (row === -1) {
|
|
129
134
|
// 如果为虚拟树
|
|
130
135
|
if (treeConfig && transform) {
|
|
131
|
-
insertTreeRow(newRecords,
|
|
136
|
+
insertTreeRow(newRecords, true)
|
|
132
137
|
} else {
|
|
133
|
-
afterFullData.
|
|
134
|
-
tableFullData.
|
|
138
|
+
afterFullData.push(...newRecords)
|
|
139
|
+
tableFullData.push(...newRecords)
|
|
135
140
|
// 刷新单元格合并
|
|
136
141
|
mergeList.forEach((mergeItem: any) => {
|
|
137
|
-
const { row: mergeRowIndex } = mergeItem
|
|
138
|
-
if (mergeRowIndex >
|
|
139
|
-
mergeItem.
|
|
142
|
+
const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
|
|
143
|
+
if (mergeRowIndex + mergeRowspan > afterFullData.length) {
|
|
144
|
+
mergeItem.rowspan = mergeRowspan + newRecords.length
|
|
140
145
|
}
|
|
141
146
|
})
|
|
142
147
|
}
|
|
143
148
|
} else {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
if (
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
} else {
|
|
160
|
-
// 如果为虚拟树
|
|
161
|
-
if (treeConfig && transform) {
|
|
162
|
-
const matchObj = XEUtils.findTree(tableFullTreeData, item => row[rowField] === item[rowField], { children: mapChildrenField })
|
|
163
|
-
if (matchObj) {
|
|
164
|
-
const { parent: parentRow } = matchObj
|
|
165
|
-
const parentChilds = matchObj.items
|
|
166
|
-
const parentRest = fullAllDataRowIdData[getRowid($xetable, parentRow)]
|
|
167
|
-
const parentLevel = parentRest ? parentRest.level : 0
|
|
168
|
-
newRecords.forEach((item, i) => {
|
|
169
|
-
const rowid = getRowid($xetable, item)
|
|
170
|
-
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
171
|
-
if (item[treeOpts.parentField]) {
|
|
172
|
-
if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
|
|
173
|
-
errLog('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`])
|
|
174
|
-
}
|
|
149
|
+
// 如果为虚拟树
|
|
150
|
+
if (treeConfig && transform) {
|
|
151
|
+
const matchMapObj = XEUtils.findTree(tableFullTreeData, item => row[rowField] === item[rowField], { children: mapChildrenField })
|
|
152
|
+
if (matchMapObj) {
|
|
153
|
+
const { parent: parentRow } = matchMapObj
|
|
154
|
+
const parentMapChilds = parentRow ? parentRow[mapChildrenField] : tableFullTreeData
|
|
155
|
+
const parentRest = fullAllDataRowIdData[getRowid($xetable, parentRow)]
|
|
156
|
+
const parentLevel = parentRest ? parentRest.level : 0
|
|
157
|
+
newRecords.forEach((item, i) => {
|
|
158
|
+
const rowid = getRowid($xetable, item)
|
|
159
|
+
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
160
|
+
if (item[treeOpts.parentField]) {
|
|
161
|
+
if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
|
|
162
|
+
errLog('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`])
|
|
175
163
|
}
|
|
176
164
|
}
|
|
177
|
-
|
|
178
|
-
|
|
165
|
+
}
|
|
166
|
+
if (parentRow) {
|
|
167
|
+
item[treeOpts.parentField] = parentRow[rowField]
|
|
168
|
+
}
|
|
169
|
+
let targetIndex = matchMapObj.index + i
|
|
170
|
+
if (isInsertNextRow) {
|
|
171
|
+
targetIndex = targetIndex + 1
|
|
172
|
+
}
|
|
173
|
+
parentMapChilds.splice(targetIndex, 0, item)
|
|
174
|
+
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1 }
|
|
175
|
+
fullDataRowIdData[rowid] = rest
|
|
176
|
+
fullAllDataRowIdData[rowid] = rest
|
|
177
|
+
})
|
|
178
|
+
|
|
179
|
+
// 源
|
|
180
|
+
if (parentRow) {
|
|
181
|
+
const matchObj = XEUtils.findTree(tableFullTreeData, item => row[rowField] === item[rowField], { children: childrenField })
|
|
182
|
+
if (matchObj) {
|
|
183
|
+
const parentChilds = matchObj.items
|
|
184
|
+
let targetIndex = matchObj.index
|
|
185
|
+
if (isInsertNextRow) {
|
|
186
|
+
targetIndex = targetIndex + 1
|
|
179
187
|
}
|
|
180
|
-
parentChilds.splice(
|
|
181
|
-
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
|
|
182
|
-
fullDataRowIdData[rowid] = rest
|
|
183
|
-
fullAllDataRowIdData[rowid] = rest
|
|
184
|
-
})
|
|
185
|
-
} else {
|
|
186
|
-
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
187
|
-
warnLog('vxe.error.unableInsert')
|
|
188
|
+
parentChilds.splice(targetIndex, 0, ...newRecords)
|
|
188
189
|
}
|
|
189
|
-
insertTreeRow(newRecords, true)
|
|
190
190
|
}
|
|
191
191
|
} else {
|
|
192
|
-
if (
|
|
193
|
-
|
|
192
|
+
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
193
|
+
warnLog('vxe.error.unableInsert')
|
|
194
194
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
if (
|
|
205
|
-
|
|
195
|
+
insertTreeRow(newRecords, true)
|
|
196
|
+
}
|
|
197
|
+
} else {
|
|
198
|
+
if (treeConfig) {
|
|
199
|
+
throw new Error(getLog('vxe.error.noTree', ['insert']))
|
|
200
|
+
}
|
|
201
|
+
let afIndex = -1
|
|
202
|
+
// 如果是可视索引
|
|
203
|
+
if (XEUtils.isNumber(row)) {
|
|
204
|
+
if (row < afterFullData.length) {
|
|
205
|
+
afIndex = row
|
|
206
206
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
})
|
|
207
|
+
} else {
|
|
208
|
+
afIndex = $xetable.findRowIndexOf(afterFullData, row)
|
|
209
|
+
}
|
|
210
|
+
// 如果是插入指定行的下一行
|
|
211
|
+
if (isInsertNextRow) {
|
|
212
|
+
afIndex = Math.max(afterFullData.length, afIndex + 1)
|
|
213
|
+
}
|
|
214
|
+
if (afIndex === -1) {
|
|
215
|
+
throw new Error(errLog('vxe.error.unableInsert'))
|
|
218
216
|
}
|
|
217
|
+
afterFullData.splice(afIndex, 0, ...newRecords)
|
|
218
|
+
tableFullData.splice($xetable.findRowIndexOf(tableFullData, row), 0, ...newRecords)
|
|
219
|
+
// 刷新单元格合并
|
|
220
|
+
mergeList.forEach((mergeItem: any) => {
|
|
221
|
+
const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
|
|
222
|
+
if (mergeRowIndex > afIndex) {
|
|
223
|
+
mergeItem.row = mergeRowIndex + newRecords.length
|
|
224
|
+
} else if (mergeRowIndex + mergeRowspan > afIndex) {
|
|
225
|
+
mergeItem.rowspan = mergeRowspan + newRecords.length
|
|
226
|
+
}
|
|
227
|
+
})
|
|
219
228
|
}
|
|
220
229
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
230
|
+
}
|
|
231
|
+
const { insertMaps } = editStore
|
|
232
|
+
newRecords.forEach(newRow => {
|
|
233
|
+
const rowid = getRowid($xetable, newRow)
|
|
234
|
+
insertMaps[rowid] = newRow
|
|
235
|
+
})
|
|
236
|
+
$xetable.cacheRowMap()
|
|
237
|
+
$xetable.updateScrollYStatus()
|
|
238
|
+
$xetable.handleTableData(treeConfig && transform)
|
|
239
|
+
if (!(treeConfig && transform)) {
|
|
240
|
+
$xetable.updateAfterDataIndex()
|
|
241
|
+
}
|
|
242
|
+
$xetable.updateFooter()
|
|
243
|
+
$xetable.checkSelectionStatus()
|
|
244
|
+
if (reactData.scrollYLoad) {
|
|
245
|
+
$xetable.updateScrollYSpace()
|
|
246
|
+
}
|
|
247
|
+
return nextTick().then(() => {
|
|
248
|
+
$xetable.updateCellAreas()
|
|
249
|
+
return $xetable.recalculate()
|
|
250
|
+
}).then(() => {
|
|
251
|
+
return {
|
|
252
|
+
row: newRecords.length ? newRecords[newRecords.length - 1] : null,
|
|
253
|
+
rows: newRecords
|
|
236
254
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
255
|
+
})
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
editMethods = {
|
|
259
|
+
/**
|
|
260
|
+
* 往表格中插入临时数据
|
|
261
|
+
*
|
|
262
|
+
* @param {*} records
|
|
263
|
+
*/
|
|
264
|
+
insert (records: any) {
|
|
265
|
+
return handleInsertRowAt(records, null)
|
|
266
|
+
},
|
|
267
|
+
/**
|
|
268
|
+
* 往表格指定行中插入临时数据
|
|
269
|
+
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
|
|
270
|
+
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
271
|
+
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
|
|
272
|
+
* @param {Object/Array} records 新的数据
|
|
273
|
+
* @param {Row} row 指定行
|
|
274
|
+
*/
|
|
275
|
+
insertAt (records: any, row: any) {
|
|
276
|
+
return handleInsertRowAt(records, row)
|
|
277
|
+
},
|
|
278
|
+
insertNextAt (records: any, row: any) {
|
|
279
|
+
return handleInsertRowAt(records, row, true)
|
|
246
280
|
},
|
|
247
281
|
/**
|
|
248
282
|
* 删除指定行数据
|
|
@@ -256,10 +290,11 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
256
290
|
const { tableFullTreeData, afterFullData, tableFullData } = internalData
|
|
257
291
|
const checkboxOpts = computeCheckboxOpts.value
|
|
258
292
|
const treeOpts = computeTreeOpts.value
|
|
259
|
-
const { transform } = treeOpts
|
|
293
|
+
const { transform, mapChildrenField } = treeOpts
|
|
294
|
+
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
260
295
|
const { actived, removeMaps, insertMaps } = editStore
|
|
261
296
|
const { checkField } = checkboxOpts
|
|
262
|
-
let
|
|
297
|
+
let delList: any[] = []
|
|
263
298
|
if (!rows) {
|
|
264
299
|
rows = tableFullData
|
|
265
300
|
} else if (!XEUtils.isArray(rows)) {
|
|
@@ -285,7 +320,7 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
285
320
|
}
|
|
286
321
|
// 从数据源中移除
|
|
287
322
|
if (tableFullData === rows) {
|
|
288
|
-
rows =
|
|
323
|
+
rows = delList = tableFullData.slice(0)
|
|
289
324
|
internalData.tableFullData = []
|
|
290
325
|
internalData.afterFullData = []
|
|
291
326
|
$xetable.clearMergeCells()
|
|
@@ -294,10 +329,14 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
294
329
|
if (treeConfig && transform) {
|
|
295
330
|
rows.forEach((row: any) => {
|
|
296
331
|
const rowid = getRowid($xetable, row)
|
|
297
|
-
const
|
|
332
|
+
const matchMapObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid($xetable, item), { children: mapChildrenField })
|
|
333
|
+
if (matchMapObj) {
|
|
334
|
+
const rItems = matchMapObj.items.splice(matchMapObj.index, 1)
|
|
335
|
+
delList.push(rItems[0])
|
|
336
|
+
}
|
|
337
|
+
const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid($xetable, item), { children: childrenField })
|
|
298
338
|
if (matchObj) {
|
|
299
|
-
|
|
300
|
-
rest.push(rItems[0])
|
|
339
|
+
matchObj.items.splice(matchObj.index, 1)
|
|
301
340
|
}
|
|
302
341
|
const afIndex = $xetable.findRowIndexOf(afterFullData, row)
|
|
303
342
|
if (afIndex > -1) {
|
|
@@ -309,7 +348,7 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
309
348
|
const tfIndex = $xetable.findRowIndexOf(tableFullData, row)
|
|
310
349
|
if (tfIndex > -1) {
|
|
311
350
|
const rItems = tableFullData.splice(tfIndex, 1)
|
|
312
|
-
|
|
351
|
+
delList.push(rItems[0])
|
|
313
352
|
}
|
|
314
353
|
const afIndex = $xetable.findRowIndexOf(afterFullData, row)
|
|
315
354
|
if (afIndex > -1) {
|
|
@@ -352,7 +391,7 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
352
391
|
$xetable.updateCellAreas()
|
|
353
392
|
return $xetable.recalculate()
|
|
354
393
|
}).then(() => {
|
|
355
|
-
return { row:
|
|
394
|
+
return { row: delList.length ? delList[delList.length - 1] : null, rows: delList }
|
|
356
395
|
})
|
|
357
396
|
},
|
|
358
397
|
/**
|
|
@@ -167,8 +167,8 @@ function getComponentOns (renderOpts: any, params: any, modelFunc?: any, changeF
|
|
|
167
167
|
XEUtils.objectEach(events, (func, key: any) => {
|
|
168
168
|
ons[getOnName(key)] = function (...args: any[]) {
|
|
169
169
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
170
|
-
if (!XEUtils.isFunction(
|
|
171
|
-
errLog('vxe.error.errFunc', [
|
|
170
|
+
if (!XEUtils.isFunction(func)) {
|
|
171
|
+
errLog('vxe.error.errFunc', [func])
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
func(params, ...args)
|
package/types/edit.d.ts
CHANGED
|
@@ -27,6 +27,15 @@ export interface TableEditMethods<D = VxeTableDataRow> {
|
|
|
27
27
|
* @param {Row} row 指定行
|
|
28
28
|
*/
|
|
29
29
|
insertAt(records: any, row: any | -1 | null): Promise<{ row: D, rows: D[] }>
|
|
30
|
+
/**
|
|
31
|
+
* 往表格在指定行中的下一行插入临时数据
|
|
32
|
+
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
|
|
33
|
+
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
34
|
+
* 如果 row 为有效行则插入到该行的下一行位置,如果为树结构,则有插入到效的目标节点该行的下一行位置
|
|
35
|
+
* @param records records 新的数据
|
|
36
|
+
* @param row row 指定行
|
|
37
|
+
*/
|
|
38
|
+
insertNextAt(records: any, row: any | -1 | null): Promise<{ row: D, rows: D[] }>
|
|
30
39
|
/**
|
|
31
40
|
* 删除指定行数据,指定 row 或 [row, ...] 删除多条数据,如果为空则删除所有数据
|
|
32
41
|
* @param rows 指定行
|
package/types/modal.d.ts
CHANGED
|
@@ -122,7 +122,7 @@ export namespace VxeModalPropTypes {
|
|
|
122
122
|
export type Position = 'center' | ModalPosition
|
|
123
123
|
export type Title = string | number
|
|
124
124
|
export type Duration = number | string
|
|
125
|
-
export type Content = number | string
|
|
125
|
+
export type Content = number | string | null
|
|
126
126
|
/**
|
|
127
127
|
* 请使用 content
|
|
128
128
|
* @deprecated
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|