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.
Files changed (41) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +4 -4
  3. package/README.zh-TW.md +4 -4
  4. package/es/edit/src/hook.js +176 -136
  5. package/es/icon/style.css +1 -1
  6. package/es/style.css +1 -1
  7. package/es/style.min.css +1 -1
  8. package/es/tools/log.js +1 -1
  9. package/es/v-x-e-table/index.js +1 -1
  10. package/es/v-x-e-table/src/renderer.js +2 -2
  11. package/lib/edit/src/hook.js +207 -158
  12. package/lib/edit/src/hook.min.js +1 -1
  13. package/lib/icon/style/style.css +1 -1
  14. package/lib/icon/style/style.min.css +1 -1
  15. package/lib/index.umd.js +221 -174
  16. package/lib/index.umd.min.js +1 -1
  17. package/lib/style.css +1 -1
  18. package/lib/style.min.css +1 -1
  19. package/lib/tools/log.js +1 -1
  20. package/lib/tools/log.min.js +1 -1
  21. package/lib/v-x-e-table/index.js +1 -1
  22. package/lib/v-x-e-table/index.min.js +1 -1
  23. package/lib/v-x-e-table/src/renderer.js +2 -2
  24. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  25. package/package.json +2 -2
  26. package/packages/edit/src/hook.ts +170 -131
  27. package/packages/v-x-e-table/src/renderer.ts +2 -2
  28. package/types/edit.d.ts +9 -0
  29. package/types/modal.d.ts +1 -1
  30. /package/es/icon/style/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
  31. /package/es/icon/style/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
  32. /package/es/icon/style/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
  33. /package/es/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
  34. /package/es/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
  35. /package/es/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
  36. /package/lib/icon/style/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
  37. /package/lib/icon/style/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
  38. /package/lib/icon/style/{iconfont.1692232054714.woff2 → iconfont.1692445281977.woff2} +0 -0
  39. /package/lib/{iconfont.1692232054714.ttf → iconfont.1692445281977.ttf} +0 -0
  40. /package/lib/{iconfont.1692232054714.woff → iconfont.1692445281977.woff} +0 -0
  41. /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.1", "] ").concat(_conf.default.i18n(message, params));
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) {
@@ -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","] ").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;
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;
@@ -193,7 +193,7 @@ var v = 'v4';
193
193
  exports.v = v;
194
194
  var VXETable = {
195
195
  v: v,
196
- version: "4.5.1",
196
+ version: "4.5.2",
197
197
  setup: _setup.setup,
198
198
  interceptor: _interceptor.interceptor,
199
199
  renderer: _renderer.renderer,
@@ -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",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;
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(key)) {
198
- (0, _log.errLog)('vxe.error.errFunc', [key]);
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.1",
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.11"
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
- editMethods = {
102
- /**
103
- * 往表格中插入临时数据
104
- *
105
- * @param {*} records
106
- */
107
- insert (records: any) {
108
- return editMethods.insertAt(records, null)
109
- },
110
- /**
111
- * 往表格指定行中插入临时数据
112
- * 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
113
- * 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
114
- * 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
115
- * @param {Object/Array} records 新的数据
116
- * @param {Row} row 指定行
117
- */
118
- insertAt (records: any, row: any) {
119
- const { treeConfig } = props
120
- const { mergeList, editStore } = reactData
121
- const { tableFullTreeData, afterFullData, tableFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData
122
- const treeOpts = computeTreeOpts.value
123
- const { transform, rowField, mapChildrenField } = treeOpts
124
- if (!XEUtils.isArray(records)) {
125
- records = [records]
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
- const newRecords: any[] = $xetable.defineField(records.map((record: any) => Object.assign({}, record)))
128
- if (!row) {
132
+ } else {
133
+ if (row === -1) {
129
134
  // 如果为虚拟树
130
135
  if (treeConfig && transform) {
131
- insertTreeRow(newRecords, false)
136
+ insertTreeRow(newRecords, true)
132
137
  } else {
133
- afterFullData.unshift(...newRecords)
134
- tableFullData.unshift(...newRecords)
138
+ afterFullData.push(...newRecords)
139
+ tableFullData.push(...newRecords)
135
140
  // 刷新单元格合并
136
141
  mergeList.forEach((mergeItem: any) => {
137
- const { row: mergeRowIndex } = mergeItem
138
- if (mergeRowIndex > 0) {
139
- mergeItem.row = mergeRowIndex + newRecords.length
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
- if (row === -1) {
145
- // 如果为虚拟树
146
- if (treeConfig && transform) {
147
- insertTreeRow(newRecords, true)
148
- } else {
149
- afterFullData.push(...newRecords)
150
- tableFullData.push(...newRecords)
151
- // 刷新单元格合并
152
- mergeList.forEach((mergeItem: any) => {
153
- const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
154
- if (mergeRowIndex + mergeRowspan > afterFullData.length) {
155
- mergeItem.rowspan = mergeRowspan + newRecords.length
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
- if (parentRow) {
178
- item[treeOpts.parentField] = parentRow[rowField]
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(matchObj.index + i, 0, item)
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 (treeConfig) {
193
- throw new Error(getLog('vxe.error.noTree', ['insert']))
192
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
193
+ warnLog('vxe.error.unableInsert')
194
194
  }
195
- let afIndex = -1
196
- // 如果是可视索引
197
- if (XEUtils.isNumber(row)) {
198
- if (row < afterFullData.length) {
199
- afIndex = row
200
- }
201
- } else {
202
- afIndex = $xetable.findRowIndexOf(afterFullData, row)
203
- }
204
- if (afIndex === -1) {
205
- throw new Error(errLog('vxe.error.unableInsert'))
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
- afterFullData.splice(afIndex, 0, ...newRecords)
208
- tableFullData.splice($xetable.findRowIndexOf(tableFullData, row), 0, ...newRecords)
209
- // 刷新单元格合并
210
- mergeList.forEach((mergeItem: any) => {
211
- const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
212
- if (mergeRowIndex > afIndex) {
213
- mergeItem.row = mergeRowIndex + newRecords.length
214
- } else if (mergeRowIndex + mergeRowspan > afIndex) {
215
- mergeItem.rowspan = mergeRowspan + newRecords.length
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
- const { insertMaps } = editStore
222
- newRecords.forEach(newRow => {
223
- const rowid = getRowid($xetable, newRow)
224
- insertMaps[rowid] = newRow
225
- })
226
- $xetable.cacheRowMap()
227
- $xetable.updateScrollYStatus()
228
- $xetable.handleTableData(treeConfig && transform)
229
- if (!(treeConfig && transform)) {
230
- $xetable.updateAfterDataIndex()
231
- }
232
- $xetable.updateFooter()
233
- $xetable.checkSelectionStatus()
234
- if (reactData.scrollYLoad) {
235
- $xetable.updateScrollYSpace()
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
- return nextTick().then(() => {
238
- $xetable.updateCellAreas()
239
- return $xetable.recalculate()
240
- }).then(() => {
241
- return {
242
- row: newRecords.length ? newRecords[newRecords.length - 1] : null,
243
- rows: newRecords
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 rest: any[] = []
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 = rest = tableFullData.slice(0)
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 matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid($xetable, item), treeOpts)
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
- const rItems = matchObj.items.splice(matchObj.index, 1)
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
- rest.push(rItems[0])
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: rest.length ? rest[rest.length - 1] : null, rows: rest }
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(key)) {
171
- errLog('vxe.error.errFunc', [key])
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