@jecloud/ui
Version:
JECloud UI库,基于ant-design-vue封装
1 lines • 2.78 kB
JavaScript
var e=this&&this.__assign||function(){return e=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var a in t=arguments[o])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},e.apply(this,arguments)},t=this&&this.__spreadArrays||function(){for(var e=0,t=0,o=arguments.length;t<o;t++)e+=arguments[t].length;var r=Array(e),a=0;for(t=0;t<o;t++)for(var n=arguments[t],i=0,l=n.length;i<l;i++,a++)r[a]=n[i];return r};import{withDirectives as o,createVNode as r,mergeProps as a,resolveDirective as n}from"vue";import{defineComponent as i,onBeforeMount as l,watch as s}from"vue";import{tableEmits as u,tableProps as p,tableSlots as f,panelSlots as d,panelProps as v}from"./table/index";import{Table as c}from"vxe-table";import g from"../../panel";import m,{usePager as b,pagerEmits as h,pagerProps as y}from"../../pager";import{useGrid as C}from"./hooks/use-grid";import{pick as x}from"@jecloud/utils";import{useProvideGrid as q}from"./context";import{useModelValue as j,useListeners as z}from"../../hooks";export default i({name:"JeGrid",components:{Table:c,Panel:g,Pager:m},inheritAttrs:!1,props:e(e(e(e({},p),v),y),{seqConfig:{type:Object,default:function(){return{startIndex:0}}},store:Object,autoLoad:Boolean,multiple:{type:Boolean,default:void 0}}),emits:t(u,h,["update:size","update:seqConfig"]),slots:t(f,d),setup:function(i,u){var p=u.slots,f=u.attrs,m=z({props:i,context:u}).fireListener,h=C({props:i,context:u}),y=h.$table,P=h.$panel,O=h.$plugin,S=h.tableCompEvents,$=h.tableCompProps,k=h.tableCompSlots,L=h.loading;y.seqConfig=j({props:i,context:u,key:"seqConfig"}),y.updateSeqConfig=function(e){var t=e.currentPage,o=e.pageSize;y.seqConfig.value={startIndex:(t-1)*o}},y.size=j({props:i,context:u,key:"size"}),s((function(){return y.size.value}),(function(){P.value.refreshLayout()})),q(y),l((function(){var e;(null===(e=i.store)||void 0===e?void 0:e.isStore)&&(i.store.setup(y),i.store.on("before-load",(function(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];return m.apply(void 0,t(["before-load"],e))})),i.store.on("load",(function(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];m.apply(void 0,t(["load"],e))})),i.store.autoLoad&&i.store.loadPage(1))}));var _=b(y).pagerSlot,w=function(){var e,t,o;return[null!==(t=null===(e=p.pager)||void 0===e?void 0:e.call(p,{$table:y}))&&void 0!==t?t:null==_?void 0:_({$table:y}),null===(o=p.bbar)||void 0===o?void 0:o.call(p,{$table:y})]};return function(){return r(g,a({class:{"je-grid":!0,"is--loading":L.value},ref:P},x(f,["style","class"]),x(i,Object.keys(v))),e(e({default:function(){return[o(r(c,a({ref:O},S,$.value,{size:y.size.value,height:"100%",width:"100%",style:i.bodyStyle,seqConfig:y.seqConfig.value}),k),[[n("loading"),L.value]])]}},x(p,d)),{bbar:w}))}}});