Files
vxe-table/lib/v-x-e-table/src/renderer.min.js
xuliangzhan 2512d00802 update
2019-10-04 16:33:19 +08:00

1 line
4.1 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Renderer=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function getAttrs(e){var t=e.name,r=e.attrs;return"input"===t&&(r=Object.assign({type:"text"},r)),r}function isSyncCell(e,t,r){return"visible"===e.type||"cell"===r.$type}function defaultEditRender(e,t,r,n){var l=r.row,o=r.column,u=t.name,i=getAttrs(t),a=isSyncCell(t,r,n)?_tools.UtilTools.getCellValue(l,o):o.model.value;return[e(u,{class:"vxe-default-".concat(u),attrs:i,domProps:{value:a},on:getEvents(t,r,n)})]}function getEvents(r,n,l){var e=r.name,t=r.events,o=n.$table,u=n.row,i=n.column,a=i.model,d=_defineProperty({},"select"===e?"change":"input",function(e){var t=e.target.value;isSyncCell(r,n,l)?_tools.UtilTools.setCellValue(u,i,t):(a.update=!0,a.value=t,o.updateStatus(n,t))});return t&&_xeUtils.default.assign(d,_xeUtils.default.objectMap(t,function(e){return function(){e.apply(null,[n].concat.apply(n,arguments))}})),d}function renderOptgroups(r,n,l,o){var e=n.optionGroups,t=n.optionGroupProps,u=void 0===t?{}:t,i=u.options||"options",a=u.label||"label";return e.map(function(e,t){return r("optgroup",{domProps:{label:e[a]},key:t},renderOptions(r,e[i],n,l,o))})}function renderOptions(r,e,t,n,l){var o=t.optionProps,u=void 0===o?{}:o,i=n.row,a=n.column,d=u.label||"label",s=u.value||"value",p=isSyncCell(t,n,l)?_tools.UtilTools.getCellValue(i,a):a.model.value;return e.map(function(e,t){return r("option",{domProps:{selected:e[s]===p},key:t},e[d])})}function getFilterEvents(t,e,r,n){var l=r.column,o=e.events,u=_defineProperty({},"select"===name?"change":"input",function(e){t.data=e.target.value,handleConfirmFilter(n,l,!!t.data,t)});return o&&_xeUtils.default.assign(u,_xeUtils.default.objectMap(o,function(e){return function(){e.apply(null,[r].concat.apply(r,arguments))}})),u}function defaultFilterRender(t,r,n,l){var e=n.column,o=r.name,u=getAttrs(r);return e.filters.map(function(e){return t(o,{class:"vxe-default-".concat(o),attrs:u,domProps:{value:e.data},on:getFilterEvents(e,r,n,l)})})}function handleConfirmFilter(e,t,r,n){e[t.filterMultiple?"changeMultipleOption":"changeRadioOption"]({},r,n)}function defaultFilterMethod(e){var t=e.option,r=e.row,n=e.column,l=t.data;return _xeUtils.default.get(r,n.property)==l}function renderSelectEdit(e,t,r,n){return[e("select",{class:"vxe-default-select",on:getEvents(t,r,n)},t.optionGroups?renderOptgroups(e,t,r,n):renderOptions(e,t.options,t,r,n))]}var renderMap={input:{autofocus:"input",renderEdit:defaultEditRender,renderDefault:defaultEditRender,renderFilter:defaultFilterRender,filterMethod:defaultFilterMethod},textarea:{autofocus:"textarea",renderEdit:defaultEditRender,renderDefault:defaultEditRender,renderFilter:defaultFilterRender,filterMethod:defaultFilterMethod},select:{renderEdit:renderSelectEdit,renderDefault:renderSelectEdit,renderCell:function(e,t,r,n){var l,o=t.options,u=t.optionGroups,i=t.optionProps,a=void 0===i?{}:i,d=t.optionGroupProps,s=void 0===d?{}:d,p=r.row,f=r.column,c=_xeUtils.default.get(p,f.property),v=a.label||"label",g=a.value||"value";if(u){for(var m=s.options||"options",x=0;x<u.length&&!(l=u[x][m].find(function(e){return e[g]===c}));x++);return l?l[v]:c}return(l=o.find(function(e){return e[g]===c}))?l[v]:c},renderFilter:function(t,r,n,l){var e=n.column,o=r.attrs;return e.filters.map(function(e){return t("select",{class:"vxe-default-select",attrs:o,on:getFilterEvents(e,r,n,l)},r.optionGroups?renderOptgroups(t,r,n):renderOptions(t,r.options,r,n))})},filterMethod:defaultFilterMethod}},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(e,t){if(e&&t){var r=renderMap[e];r?Object.assign(r,t):renderMap[e]=t}return Renderer},delete:function(e){return delete renderMap[e],Renderer}},_default=exports.Renderer=Renderer;exports.default=_default;