vxe-table-ro-test
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...
1 lines • 1.94 kB
JavaScript
;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const tableCustomMethodKeys=["openCustom","closeCustom"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(s){const{reactData:u,internalData:l}=s,o=s.getComputeMaps()["computeCustomOpts"],i=s.getRefMaps()["refElem"],r=s.xegrid,n=()=>{var e=u["customStore"],t=i.value;let s=0;t&&(s=t.clientHeight-28),e.maxHeight=Math.max(4,s)},a=()=>{var{initStore:e,customStore:t}=u,s=l["collectColumn"];const o={},i={},r={};return _xeUtils.default.eachTree(s,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,o[t]=e.renderSortNumber,i[t]=e.fixed,r[t]=e.visible},{children:"children"}),t.oldSortMaps=o,t.oldFixedMaps=i,t.oldVisibleMaps=r,u.customColumnList=s.slice(0),t.visible=!0,e.custom=!0,m(),n(),(0,_vue.nextTick)().then(()=>n())},c=()=>{var e=u["customStore"],t=o.value;return e.visible&&(e.visible=!1,t.immediate||s.handleCustom()),(0,_vue.nextTick)()};var e={openCustom:a,closeCustom:c};const m=()=>{var e=u["customStore"],t=l["collectColumn"];const s=o.value["checkMethod"];e.isAll=t.every(e=>!!s&&!s({column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!s||s({column:e}))&&(e.renderVisible||e.halfVisible))},v=(e,t)=>{(r||s).dispatchEvent("custom",{type:e},t)};var t={checkCustomStatus:m,emitCustomEvent:v,triggerCustomEvent(e){var t=s.reactData["customStore"];t.visible?(c(),v("close",e)):(t.btnEl=e.target,a(),v("open",e))},customOpenEvent(e){var t=u["customStore"];t.visible||(t.activeBtn=!0,t.btnEl=e.target,s.openCustom(),s.emitCustomEvent("open",e))},customCloseEvent(e){var t=u["customStore"];t.visible&&(t.activeBtn=!1,s.closeCustom(),s.emitCustomEvent("close",e))}};return Object.assign(Object.assign({},e),t)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)}});