UNPKG

ll-package

Version:

2 lines (1 loc) 2.27 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("../../../@babel/runtime/helpers/esm/extends.js"),l=require("vue"),P=require("../_util/classNames.js"),q=require("./ListItem.js"),N=require("../pagination/index.js"),c=require("../_util/vue-types/index.js"),h=require("../_util/type.js"),y={prefixCls:String,filteredRenderItems:c.default.array.def([]),selectedKeys:c.default.array,disabled:h.booleanType(),showRemove:h.booleanType(),pagination:c.default.any,onItemSelect:Function,onScroll:Function,onItemRemove:Function};function B(n){if(!n)return null;const a={pageSize:10,simple:!0,showSizeChanger:!1,showLessItems:!1};return typeof n=="object"?g.default(g.default({},a),n):a}const M=l.defineComponent({compatConfig:{MODE:3},name:"ListBody",inheritAttrs:!1,props:y,emits:["itemSelect","itemRemove","scroll"],setup(n,a){let{emit:r,expose:p}=a;const s=l.ref(1),S=e=>{const{selectedKeys:o}=n,d=o.indexOf(e.key)>=0;r("itemSelect",e.key,!d)},I=e=>{r("itemRemove",[e.key])},R=e=>{r("scroll",e)},t=l.computed(()=>B(n.pagination));l.watch([t,()=>n.filteredRenderItems],()=>{if(t.value){const e=Math.ceil(n.filteredRenderItems.length/t.value.pageSize);s.value=Math.min(s.value,e)}},{immediate:!0});const u=l.computed(()=>{const{filteredRenderItems:e}=n;let o=e;return t.value&&(o=e.slice((s.value-1)*t.value.pageSize,s.value*t.value.pageSize)),o}),b=e=>{s.value=e};return p({items:u}),()=>{const{prefixCls:e,filteredRenderItems:o,selectedKeys:d,disabled:m,showRemove:f}=n;let v=null;t.value&&(v=l.createVNode(N.default,{simple:t.value.simple,showSizeChanger:t.value.showSizeChanger,showLessItems:t.value.showLessItems,size:"small",disabled:m,class:`${e}-pagination`,total:o.length,pageSize:t.value.pageSize,current:s.value,onChange:b},null));const x=u.value.map(C=>{let{renderedEl:w,renderedText:k,item:i}=C;const{disabled:z}=i,L=d.indexOf(i.key)>=0;return l.createVNode(q.default,{disabled:m||z,key:i.key,item:i,renderedText:k,renderedEl:w,checked:L,prefixCls:e,onClick:S,onRemove:I,showRemove:f},null)});return l.createVNode(l.Fragment,null,[l.createVNode("ul",{class:P.default(`${e}-content`,{[`${e}-content-show-remove`]:f}),onScroll:R},[x]),v])}}}),T=M;exports.default=T;exports.transferListBodyProps=y;