UNPKG

vxe-table-plugin-element

Version:

基于 vxe-table 的表格适配插件,用于兼容 element-ui 组件库

1 lines 13.3 kB
!function(e,t){"function"==typeof define&&define.amd?define("vxe-table-plugin-element",["exports","vue","xe-utils","dayjs"],t):"undefined"!=typeof exports?t(exports,require("vue"),require("xe-utils"),require("dayjs")):(t(t={},e.Vue,e.XEUtils,e.dayjs),e.VXETablePluginElement=t)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,p,m,n){function t(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){l(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function l(e,t,n){return(t=function(e){e=function(e,t){if("object"!=r(e)||!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"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"==r(e)?e:e+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e){return null==e||""===e}function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(){return"modelValue"}function u(e,t){return(0,n.default)(e).format(t)}function i(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,n.default)(e,t).date):e}function f(e,t,n){return e&&u(i(e,t),t.format||n)}function c(e,t,n,r){return m.default.map(e,function(e){return f(e,t,r)}).join(n)}function b(e,t,n,r){return(e=f(e,n,r))>=f(t[0],n,r)&&e<=f(t[1],n,r)}function h(e,t,n,r){return m.default.assign({},r,e.props,l({},a(),n))}function g(e,t,n,r){return m.default.assign({},r,e.props,l({},a(),n))}function y(e){return""+(v(e)?"":e)}function w(e,t,n){e=e.placeholder;return[(0,p.h)("span",{class:"vxe-cell--label"},e&&v(n)?[(0,p.h)("span",{class:"vxe-cell--placeholder"},y((void 0)._t(e)))]:y(n))]}function E(e,o,t,r){var l=e.events,n="update:modelValue",a=function(e){var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t}(e),u=a===n,i={};return m.default.objectEach(l,function(r,e){i[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&&(i[d(n)]=function(e){t(e),l&&l[n]&&l[n](o,e),u&&r&&r(e)}),!u&&r&&(i[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),l&&l[a]&&l[a].apply(l,[o].concat(t))}),i}function Y(e,t){var n=t.$table,r=t.row,o=t.column;return E(e,t,function(e){m.default.set(r,o.field,e)},function(){n.updateStatus(t)})}function C(e,t,n,r){return E(e,t,function(e){n.data=e},r)}function M(e,t){var n=t.$form,r=t.data,o=t.field;return E(e,t,function(e){m.default.set(r,o,e)},function(){n.updateStatus(t)})}function D(e,t){var n,r=e.options,o=void 0===r?[]:r,l=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,i=t.rowid,d=t.row,t=t.column,f=r.filterable,r=r.multiple,c=a.label||"label",p=a.value||"value",s=(void 0===e?{}:e).options||"options",a=m.default.get(d,t.field),e=t.id;if(f){d=u.internalData.fullAllDataRowIdData[i];if(d&&(n=(n=d.cellData)||(d.cellData={})),d&&n[e]&&n[e].value===a)return n[e].label}return v(a)?"":(t=m.default.map(r?a:[a],l?function(t){for(var e,n=0;n<l.length&&!(e=m.default.find(l[n][s],function(e){return e[p]===t}));n++);return e?e[c]:t}:function(t){var e=m.default.find(o,function(e){return e[p]===t});return e?e[c]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:t}),t)}function V(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,t=t.column,n=m.default.get(n,t.field),t=[];return function t(n,e,r,o){var l=r[n];e&&r.length>n&&m.default.each(e,function(e){e.value===l&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function A(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,t=t.column,r=n.rangeSeparator,o=void 0===r?"-":r,l=m.default.get(e,t.field);switch(n.type){case"week":l=f(l,n,"YYYYwWW");break;case"month":l=f(l,n,"YYYY-MM");break;case"year":l=f(l,n,"YYYY");break;case"dates":l=c(l,n,", ","YYYY-MM-DD");break;case"daterange":l=c(l,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":l=c(l,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":l=c(l,n," ".concat(o," "),"YYYY-MM");break;default:l=f(l,n,"YYYY-MM-DD")}return l}function G(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,t=t.column,r=n.isRange,o=n.format,l=void 0===o?"hh:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=m.default.get(e,t.field);return e&&r&&(e=m.default.map(e,function(e){return u(i(e,n),l)}).join(" ".concat(o," "))),u(i(e,n),l)}function P(a){return function(e,t){var n=t.row,r=t.column,o=e.name,l=e.attrs,n=m.default.get(n,r.field);return[(0,p.h)((0,p.resolveComponent)(o),s(s(s({},l),h(e,0,n,a)),Y(e,t)))]}}function N(e,t){var n=e.attrs;return[(0,p.h)((0,p.resolveComponent)("el-button"),s(s(s({},n),h(e,0,null)),E(e,t)),I(e.content))]}function R(e,t){e=e.children;return e?e.map(function(e){return N(e,t)[0]}):[]}function x(u){return function(r,o){var e=o.column,l=r.name,a=r.attrs;return[(0,p.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,p.h)((0,p.resolveComponent)(l),s(s(s({key:t},a),h(r,0,n,u)),C(r,o,e,function(){k(o,!!e.data,e)})))}))]}}function k(e,t,n){e.$panel.changeOption(null,t,n)}function X(e){var t=e.option,n=e.row,e=e.column,t=t.data,n=m.default.get(n,e.field);return-1<m.default.toValueString(n).indexOf(t)}function j(e){var t=e.option,n=e.row,e=e.column,t=t.data;return m.default.get(n,e.field)===t}function O(e,t){var n=t.label||"label",r=t.value||"value";return m.default.map(e,function(e,t){return(0,p.h)((0,p.resolveComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function I(e){return[y(e)]}function F(a){return function(e,t){var n=t.data,r=t.field,o=e.name,l=e.attrs,n=m.default.get(n,r);return[(0,p.h)((0,p.resolveComponent)(o),s(s(s({},l),g(e,0,n,a)),M(e,t)))]}}function q(e,t){var n=e.attrs,r=g(e,0,null);return[(0,p.h)((0,p.resolveComponent)("el-button"),s(s(s({},n),r),E(e,t)),{default:function(){return I(e.content||r.content)}})]}function $(e,t){e=e.children;return e?e.map(function(e){return q(e,t)[0]}):[]}function S(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?m.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function H(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,l=e.attrs,a=t.data,u=t.field,i=r.label||"label",d=r.value||"value",r=m.default.get(a,u);return[(0,p.h)((0,p.resolveComponent)("".concat(n,"Group")),s(s(s({},l),g(e,0,r)),M(e,t)),{default:function(){return o.map(function(e,t){return(0,p.h)((0,p.resolveComponent)(n),{key:t,label:e[d],disabled:e.disabled},{default:function(){return I(e[i])}})})}})]}}function _(e,t,n){for(var r,o=e.target;o&&o.nodeType&&o!==document;){if(n&&o.className&&o.className.split&&-1<o.className.split(" ").indexOf(n))r=o;else if(o===t)return{flag:!n||!!r,container:t,targetElem:r};o=o.parentNode}return{flag:!1}}function T(e){var e=e.$event,t=document.body;if(_(e,t,"el-autocomplete-suggestion").flag||_(e,t,"el-select-dropdown").flag||_(e,t,"el-cascader__dropdown").flag||_(e,t,"el-cascader-menus").flag||_(e,t,"el-time-panel").flag||_(e,t,"el-picker-panel").flag||_(e,t,"el-color-dropdown").flag)return!1}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginElement=void 0,m=t(m),n=t(n);var B=e.VXETablePluginElement={install:function(e){/^(4)\./.test(e.version)||/v4/i.test(e.v)||console.error("[vxe-table-plugin-element 4.x] Version vxe-table 4.x is required"),e.renderer.mixin({ElAutocomplete:{autofocus:"input.el-input__inner",renderDefault:P(),renderEdit:P(),renderFilter:x(),defaultFilterMethod:j,renderItemContent:F()},ElInput:{autofocus:"input.el-input__inner",renderDefault:P(),renderEdit:P(),renderFilter:x(),defaultFilterMethod:X,renderItemContent:F()},ElInputNumber:{autofocus:"input.el-input__inner",renderDefault:P(),renderEdit:P(),renderFilter:x(),defaultFilterMethod:X,renderItemContent:F()},ElSelect:{renderEdit:function(e,t){var n,r,o=e.options,l=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,i=t.row,d=t.column,f=e.attrs,i=h(e,0,m.default.get(i,d.field)),d=Y(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,p.h)((0,p.resolveComponent)("el-select"),s(s(s({},f),i),d),{default:function(){return m.default.map(a,function(e,t){return(0,p.h)((0,p.resolveComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return O(e[n],u)}})})}})]):[(0,p.h)((0,p.resolveComponent)("el-select"),s(s(s({},i),f),d),{default:function(){return O(l,u)}})]},renderCell:function(e,t){return w(e,0,D(e,t))},renderFilter:function(o,l){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,i=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",f=e.label||"label",e=l.column,c=o.attrs;return[(0,p.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=h(o,0,n);return(0,p.h)((0,p.resolveComponent)("el-select"),s(s(s({key:t},c),r),C(o,l,e,function(){k(l,r.multiple?e.data&&0<e.data.length:!m.default.eqNull(e.data),e)})),{default:function(){return m.default.map(u,function(e,t){return(0,p.h)((0,p.resolveComponent)("el-option-group"),{key:t,label:e[f]},{default:function(){return O(e[d],i)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=h(o,0,n);return(0,p.h)((0,p.resolveComponent)("el-select"),s(s(s({key:t},c),r),C(o,l,e,function(){k(l,r.multiple?e.data&&0<e.data.length:!m.default.eqNull(e.data),e)})),{default:function(){return O(a,i)}})}))]},defaultFilterMethod:function(e){var t=e.option,n=e.row,e=e.column,t=t.data,r=e.field,e=e.filterRender.props,e=void 0===e?{}:e,n=m.default.get(n,r);return e.multiple?m.default.isArray(n)?m.default.includeArrays(n,t):-1<t.indexOf(n):n==t},renderItemContent:function(e,t){var n,r,o=e.options,l=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,i=t.data,d=t.field,f=e.attrs,i=g(e,0,m.default.get(i,d)),d=M(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,p.h)((0,p.resolveComponent)("el-select"),s(s(s({},f),i),d),{default:function(){return m.default.map(a,function(e,t){return(0,p.h)((0,p.resolveComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return O(e[n],u)}})})}})]):[(0,p.h)((0,p.resolveComponent)("el-select"),s(s(s({},f),i),d),{default:function(){return O(l,u)}})]},exportMethod:S(D)},ElCascader:{renderEdit:P(),renderCell:function(e,t){return w(e,0,V(e,t))},renderItemContent:F(),exportMethod:S(V)},ElDatePicker:{renderEdit:P(),renderCell:function(e,t){return w(e,0,A(e,t))},renderFilter:function(r,o){var e=o.column,l=r.name,a=r.attrs;return[(0,p.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,p.h)((0,p.resolveComponent)(l),s(s(s({key:t},a),h(r,0,n)),C(r,o,e,function(){k(o,!!e.data,e)})))}))]},defaultFilterMethod:function(e){var t=e.option,n=e.row,e=e.column,r=t.data,t=e.filterRender.props,o=void 0===t?{}:t,l=m.default.get(n,e.field);if(r)switch(o.type){case"daterange":return b(l,r,o,"YYYY-MM-DD");case"datetimerange":return b(l,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return b(l,r,o,"YYYY-MM");default:return l===r}return!1},renderItemContent:F(),exportMethod:S(A)},ElTimePicker:{renderEdit:P(),renderCell:function(e,t){return w(e,0,G(e,t))},renderItemContent:F(),exportMethod:S(G)},ElTimeSelect:{renderEdit:P(),renderItemContent:F()},ElRate:{renderDefault:P(),renderEdit:P(),renderFilter:x(),defaultFilterMethod:j,renderItemContent:F()},ElSwitch:{renderDefault:P(),renderEdit:P(),renderFilter:function(r,o){var e=o.column,l=r.name,a=r.attrs;return[(0,p.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,p.h)((0,p.resolveComponent)(l),s(s(s({key:t},a),h(r,0,n)),C(r,o,e,function(){k(o,m.default.isBoolean(e.data),e)})))}))]},defaultFilterMethod:j,renderItemContent:F()},ElSlider:{renderDefault:P(),renderEdit:P(),renderFilter:x(),defaultFilterMethod:j,renderItemContent:F()},ElRadio:{renderItemContent:H()},ElCheckbox:{renderItemContent:H()},ElButton:{renderDefault:N,renderItemContent:q},ElButtons:{renderDefault:R,renderItemContent:$}}),e.interceptor.add("event.clearFilter",T),e.interceptor.add("event.clearEdit",T),e.interceptor.add("event.clearAreas",T),e.interceptor.add("event.clearActived",T)}};"undefined"!=typeof window&&window.VXETable&&window.VXETable.use&&window.VXETable.use(B),e.default=B});