UNPKG

vxe-table-select-area

Version:

一个基于 vxe-table 的可区域选中复制、粘贴的组件

1 lines 14 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.renderer=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_utils=_interopRequireWildcard(require("../../tools/utils")),_log=require("../../tools/log");function _getRequireWildcardCache(e){var t,n;return"function"!=typeof WeakMap?null:(t=new WeakMap,n=new WeakMap,(_getRequireWildcardCache=function(e){return e?n:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var n,r,o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&((r=a?Object.getOwnPropertyDescriptor(e,n):null)&&(r.get||r.set)?Object.defineProperty(o,n,r):o[n]=e[n]);return o.default=e,t&&t.set(e,o),o}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"===_typeof(e)?e:String(e)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var defaultCompProps={transfer:!0},componentDefaultModelProp="value";function isEmptyValue(e){return null==e||""===e}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 getDefaultComponentName(e){e=e.name;return"vxe-".concat(e.replace("$",""))}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 isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellEditProps(e,t,n,r){t=t.$table.vSize;return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},t?{size:t}:{},defaultCompProps,r,e.props,_defineProperty({},componentDefaultModelProp,n))}function getFilterProps(e,t,n,r){t=t.$table.vSize;return _xeUtils.default.assign(t?{size:t}:{},defaultCompProps,r,e.props,_defineProperty({},componentDefaultModelProp,n))}function getItemProps(e,t,n,r){t=t.$form.vSize;return _xeUtils.default.assign(t?{size:t}:{},defaultCompProps,r,e.props,_defineProperty({},componentDefaultModelProp,n))}function getCellLabelVNs(e,t,n,r){t=t.placeholder;return[e("span",{class:"vxe-cell--label"},t&&isEmptyValue(r)?[e("span",{class:"vxe-cell--placeholder"},_utils.default.formatText((0,_utils.getFuncText)(t),1))]:_utils.default.formatText(r,1))]}function getNativeOns(e,o){var e=e.nativeEvents,t={};return _xeUtils.default.objectEach(e,function(r,e){t[e]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t}function getOns(e,o,t,r){var n=e.name,a=e.events,i="input",u=getChangeEvent(e),l=u===i,d={};return _xeUtils.default.objectEach(a,function(r,e){d[e]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(d[i]=function(e){t("$input"===n||"$textarea"===n?e.value:e),a&&a[i]&&a[i](o,e),l&&r&&r(e)}),!l&&r&&(d[u]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),a&&a[u]&&a[u].apply(a,[o].concat(t))}),d}function getEditOns(e,t){var n=t.$table,r=t.row,o=t.column,a=e.name,i=o.model,u=isImmediateCell(e,t);return getOns(e,t,function(e){u?_utils.default.setCellValue(r,o,e):(i.update=!0,i.value=e)},function(e){u||"$input"!==a&&"$textarea"!==a?n.updateStatus(t):n.updateStatus(t,e.value)})}function getFilterOns(e,t,n){return getOns(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 getOns(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,i=a.model;return getOns(t,n,function(e){e=e.target.value;isImmediateCell(t,n)?_utils.default.setCellValue(o,a,e):(i.update=!0,i.value=e)},function(e){e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getOns(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 getOns(e,t,function(e){e=e.target.value;_xeUtils.default.set(r,o,e)},function(){n.updateStatus(t)})}function nativeEditRender(e,t,n){var r=n.row,o=n.column,a=t.name,i=getNativeAttrs(t),r=isImmediateCell(t,n)?_utils.default.getCellValue(r,o):o.model.value;return[e(a,{class:"vxe-default-".concat(a),attrs:i,domProps:{value:r},on:getNativeEditOns(t,n)})]}function defaultEditRender(e,t,n){var r=n.row,o=n.column,r=_utils.default.getCellValue(r,o);return[e(getDefaultComponentName(t),{props:getCellEditProps(t,n,r),on:getEditOns(t,n),nativeOn:getNativeOns(t,n)})]}function defaultButtonEditRender(e,t,n){return[e("vxe-button",{props:getCellEditProps(t,n),on:getOns(t,n),nativeOn:getNativeOns(t,n)})]}function defaultButtonsEditRender(t,e,n){return e.children.map(function(e){return defaultButtonEditRender(t,e,n)[0]})}function renderNativeOptgroups(n,r,o,a){var e=r.optionGroups,t=r.optionGroupProps,t=void 0===t?{}:t,i=t.options||"options",u=t.label||"label";return e.map(function(e,t){return n("optgroup",{key:t,domProps:{label:e[u]}},a(n,e[i],r,o))})}function renderNativeOptions(n,e,t,r){var o=t.optionProps,o=void 0===o?{}:o,a=r.row,i=r.column,u=o.label||"label",l=o.value||"value",d=o.disabled||"disabled",s=isImmediateCell(t,r)?_utils.default.getCellValue(a,i):i.model.value;return e.map(function(e,t){return n("option",{key:t,attrs:{value:e[l],disabled:e[d]},domProps:{selected:e[l]==s}},e[u])})}function nativeFilterRender(n,r,o){var e=o.column,a=r.name,i=getNativeAttrs(r);return e.filters.map(function(e,t){return n(a,{key:t,class:"vxe-default-".concat(a),attrs:i,domProps:{value:e.data},on:getNativeFilterOns(r,o,e)})})}function defaultFilterRender(r,o,a){return a.column.filters.map(function(e,t){var n=e.data;return r(getDefaultComponentName(o),{key:t,props:getFilterProps(o,o,n),on:getFilterOns(o,a,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,n){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,n)},t.optionGroups?renderNativeOptgroups(e,t,n,renderNativeOptions):renderNativeOptions(e,t.options,t,n))]}function defaultSelectEditRender(e,t,n){var r=n.row,o=n.column,a=t.options,i=t.optionProps,u=t.optionGroups,l=t.optionGroupProps,r=_utils.default.getCellValue(r,o);return[e(getDefaultComponentName(t),{props:getCellEditProps(t,n,r,{options:a,optionProps:i,optionGroups:u,optionGroupProps:l}),on:getEditOns(t,n)})]}function getSelectCellValue(e,t){var r,n=t.row,t=t.column,o=e.props,o=void 0===o?{}:o,a=e.options,i=e.optionGroups,u=e.optionProps,u=void 0===u?{}:u,e=e.optionGroupProps,l=void 0===e?{}:e,e=_xeUtils.default.get(n,t.property),d=u.label||"label",s=u.value||"value";return isEmptyValue(e)?null:_xeUtils.default.map(o.multiple?e:[e],i?function(t){for(var e=l.options||"options",n=0;n<i.length&&!(r=_xeUtils.default.find(i[n][e],function(e){return e[s]==t}));n++);return r?r[d]:t}:function(t){return(r=_xeUtils.default.find(a,function(e){return e[s]==t}))?r[d]:t}).join(", ")}function nativeItemRender(e,t,n){var r=n.data,o=n.property,a=t.name,i=getNativeAttrs(t),r=_xeUtils.default.get(r,o);return[e(a,{class:"vxe-default-".concat(a),attrs:i,domProps:!i||"input"!==a||"submit"!==i.type&&"reset"!==i.type?{value:r}:null,on:getNativeItemOns(t,n)})]}function defaultItemRender(e,t,n){var r=n.data,o=n.property,r=_xeUtils.default.get(r,o);return[e(getDefaultComponentName(t),{props:getItemProps(t,n,r),on:getItemOns(t,n),nativeOn:getNativeOns(t,n)})]}function defaultButtonItemRender(e,t,n){return[e("vxe-button",{props:getItemProps(t,n),on:getOns(t,n),nativeOn:getNativeOns(t,n)})]}function defaultButtonsItemRender(t,e,n){return e.children.map(function(e){return defaultButtonItemRender(t,e,n)[0]})}function renderNativeFormOptions(n,e,t,r){var o=r.data,r=r.property,t=t.optionProps,t=void 0===t?{}:t,a=t.label||"label",i=t.value||"value",u=t.disabled||"disabled",l=_xeUtils.default.get(o,r);return e.map(function(e,t){return n("option",{key:t,attrs:{value:e[i],disabled:e[u]},domProps:{selected:e[i]==l}},e[a])})}function handleExportSelectMethod(e){var t=e.row,n=e.column;return e.options.original?_utils.default.getCellValue(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function defaultFormItemRadioAndCheckboxRender(n,e,t){var r=e.options,o=e.optionProps,o=void 0===o?{}:o,a=t.data,i=t.property,u=o.label||"label",l=o.value||"value",d=o.disabled||"disabled",o=_xeUtils.default.get(a,i),s=getDefaultComponentName(e);return r?[n("".concat(s,"-group"),{props:getItemProps(e,t,o),on:getItemOns(e,t),nativeOn:getNativeOns(e,t)},r.map(function(e,t){return n(s,{key:t,props:{label:e[l],content:e[u],disabled:e[d]}})}))]:[n(s,{props:getItemProps(e,t,o),on:getItemOns(e,t),nativeOn:getNativeOns(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,n){return getCellLabelVNs(e,t,n,getSelectCellValue(t,n))},renderFilter:function(n,r,o){return o.column.filters.map(function(e,t){return n("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,o,e)},r.optionGroups?renderNativeOptgroups(n,r,o,renderNativeOptions):renderNativeOptions(n,r.options,r,o))})},defaultFilterMethod:handleFilterMethod,renderItemContent:function(e,t,n){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeItemOns(t,n)},t.optionGroups?renderNativeOptgroups(e,t,n,renderNativeFormOptions):renderNativeFormOptions(e,t.options,t,n))]},cellExportMethod:handleExportSelectMethod},$input:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell:function(e,t,n){var r=t.props,o=void 0===r?{}:r,r=n.row,a=n.column,i=o.digits||_conf.default.input.digits,u=_xeUtils.default.get(r,a.property);if(u)switch(o.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,o);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,i),i)}return getCellLabelVNs(e,t,n,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,n){return getCellLabelVNs(e,t,n,getSelectCellValue(t,n))},renderFilter:function(r,o,a){var e=a.column,i=o.options,u=o.optionProps,l=o.optionGroups,d=o.optionGroupProps,s=getNativeOns(o,a);return e.filters.map(function(e,t){var n=e.data;return r(getDefaultComponentName(o),{key:t,props:getFilterProps(o,a,n,{options:i,optionProps:u,optionGroups:l,optionGroupProps:d}),on:getFilterOns(o,a,e),nativeOn:s})})},defaultFilterMethod:handleFilterMethod,renderItemContent:function(e,t,n){var r=n.data,o=n.property,a=t.options,i=t.optionProps,u=t.optionGroups,l=t.optionGroupProps,r=_xeUtils.default.get(r,o);return[e(getDefaultComponentName(t),{props:getItemProps(t,n,r,{options:a,optionProps:i,optionGroups:u,optionGroupProps:l}),on:getItemOns(t,n),nativeOn:getNativeOns(t,n)})]},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;