@aplus-frontend/ui
Version:
2 lines (1 loc) • 1.3 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-unified"),S=require("vue"),g=require("./useTableRefresh.js"),m=require("../../utils/warning.js");function v(s){return s===!0?{}:s===!1?{refreshBefore:()=>!1}:s}function T(s){const r=S.ref(null),{isShowRowSelection:i=!0,clearSelectionOnRequest:f=!0,transformSearchFormValues:a,api:o,tableRefresh:d=!1,...h}=s||{};let l=null;const u=()=>{r.value?.rowSelection?.clearAll()};g.useTableRefresh({...v(d),apTableRef:r});const b=async e=>{l=e.sort;const t=a?a(e):e;try{if(!o)throw new Error("api is not defined");const{records:n,total:p}=await o(t);return f&&u(),{data:n,total:p}}catch(n){return m.warning(!1,n),{data:[],total:0}}};return[c.merge({scroll:{x:"100%",y:"100%"},tableLayout:"fixed",columnResizable:!0,class:"ap-table--sticky",request:o?b:void 0,rowSelection:i?{mode:"internal",fixed:"left",columnWidth:50}:void 0,ref(e){r.value=e},card:!0},h),{reload:()=>{r.value?.submit()},reset:()=>{r.value?.reset()},getSearchFormValues:e=>{const t=r.value?.getSearchFormValues(e)||{};return a?a(t):t},getApTableInstance:()=>r.value,getSearchFormValuesAndSorted:e=>{const t=r.value?.getSearchFormValues(e)||{};return t.sort=l&&c.cloneDeep(l),a?a(t):t},clearSelection:u}]}exports.usePageListApTable=T;