@aplus-frontend/ui
Version:
2 lines (1 loc) • 1.4 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../index.js");const n=require("lodash-unified"),q=require("vue"),F=require("./useKeepAliveFlag.js"),R=require("./useTableRefresh.js");function w(o){const r=q.ref(null),{isShowRowSelection:c=!0,clearSelectionOnRequest:d=!0,transformSearchFormValues:a,api:s,tableRefresh:f=!0,virtual:p,clearDataOnDeactivated:v=!0,...h}=o||{};let l=null;const u=()=>{r.value?.rowSelection?.clearAll()};R.useTableRefresh({...G(f),apTableRef:r});const i=()=>{r.value?.submitWith(!0)},S=()=>{r.value?.reset()},{isDeactivated:g}=F.useKeepAliveFlag({afterDeactivated:i}),m=async e=>{if(g()&&v)return{data:[],total:0};l=e.sort;const t=a?a(e):e;if(!s)throw new Error("api is not defined");const{records:A,total:b}=await s(t);return d&&u(),{data:A,total:b}};return[n.merge({scroll:{x:"100%",y:"100%"},columnResizable:!0,request:s?m:void 0,rowSelection:c?{fixed:"left",columnWidth:38}:void 0,ref(e){r.value=e},virtual:n.merge({oSize:20,y:20},p),card:!0},h),{reload:i,reset:S,getSearchFormValues:(e=!0)=>{const t=r.value?.getSearchFormValues(!!e)||{};return a?a(t):t},getApGridInstance:()=>r.value,getSearchFormValuesAndSorted:(e=!0)=>{const t=r.value?.getSearchFormValues(!!e)||{};return t.sort=l&&n.cloneDeep(l),a?a(t):t},clearSelection:u}]}function G(o){return o===!0?{}:o===!1?{refreshBefore:()=>!1}:o}exports.usePageListApGrid=w;