芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/public_html/invoicer.pulsehost.co.uk/public/build/assets/BaseTable-DUkp6Ms8.js
import{ab as G,Z as J,r as T,o as i,c as s,b as c,J as f,t as u,p as P,K as y,a as w,N as k,O as C,H as N,f as F,k as L,z as K,X,a2 as A,l as p,w as Z,S as Q,m as U,P as $}from"./main-WS8l16KQ.js";function V(t,a){if(!a||t===null||typeof t!="object")return t;const[e,r]=a.split(/\.(.+)/);return V(t[e],r)}function ee(t,a){return a.reduce((e,r)=>(e[r]=t[r],e),{})}class te{constructor(a,e){this.data=a,this.columns=e}getValue(a){return V(this.data,a)}getColumn(a){return this.columns.find(e=>e.key===a)}getSortableValue(a){const e=this.getColumn(a).dataType;let r=this.getValue(a);if(r==null)return"";if(r instanceof String&&(r=r.toLowerCase()),e.startsWith("date")){const b=e.replace("date:","");return G(r,b).format("YYYYMMDDHHmmss")}return e==="numeric"?r:r.toString()}}class ae{constructor(a){const e=ee(a,["key","label","thClass","tdClass","sortBy","sortable","hidden","dataType"]);for(const r in e)this[r]=a[r];e.dataType||(this.dataType="string"),e.sortable===void 0&&(this.sortable=!0)}getFilterFieldName(){return this.filterOn||this.key}isSortable(){return this.sortable}getSortPredicate(a,e){const r=this.getSortFieldName(),l=e.find(g=>g.key===r).dataType;return l.startsWith("date")||l==="numeric"?(g,o)=>{const m=g.getSortableValue(r),v=o.getSortableValue(r);return a==="desc"?v
{const m=g.getSortableValue(r),v=o.getSortableValue(r);return a==="desc"?v.localeCompare(m):m.localeCompare(v)}}getSortFieldName(){return this.sortBy||this.key}}const ne={props:{pagination:{type:Object,default:()=>({})}},computed:{pages(){return this.pagination.totalPages===void 0?[]:this.pageLinks()},hasFirst(){return this.pagination.currentPage>=4||this.pagination.totalPages<10},hasLast(){return this.pagination.currentPage<=this.pagination.totalPages-3||this.pagination.totalPages<10},hasFirstEllipsis(){return this.pagination.currentPage>=4&&this.pagination.totalPages>=10},hasLastEllipsis(){return this.pagination.currentPage<=this.pagination.totalPages-3&&this.pagination.totalPages>=10},shouldShowPagination(){return this.pagination.totalPages===void 0||this.pagination.count===0?!1:this.pagination.totalPages>1}},methods:{isActive(t){return(this.pagination.currentPage||1)===t},pageClicked(t){t==="..."||t===this.pagination.currentPage||t>this.pagination.totalPages||t<1||this.$emit("pageChange",t)},pageLinks(){const t=[];let a=2,e=this.pagination.totalPages-1;this.pagination.totalPages>=10&&(a=Math.max(1,this.pagination.currentPage-2),e=Math.min(this.pagination.currentPage+2,this.pagination.totalPages));for(let r=a;r<=e;r++)t.push(r);return t}}},re={key:0,class:"flex items-center justify-between px-4 py-3 bg-white border-t border-gray-200 sm:px-6"},ie={class:"flex justify-between flex-1 sm:hidden"},se={class:"hidden sm:flex-1 sm:flex sm:items-center sm:justify-between"},le={class:"text-sm text-gray-700"},oe={key:0,class:"font-medium"},de={key:1,class:"font-medium"},ge={key:0},ue={key:1},ce={key:2,class:"font-medium"},fe={class:"relative z-0 inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"},he=c("span",{class:"sr-only"},"Previous",-1),ye={key:1,class:"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300"},me=["onClick"],pe={key:2,class:"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300"},be=c("span",{class:"sr-only"},"Next",-1);function ve(t,a,e,r,b,l){const g=T("BaseIcon");return l.shouldShowPagination?(i(),s("div",re,[c("div",ie,[c("a",{href:"#",class:f([{"disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400":e.pagination.currentPage===1},"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50"]),onClick:a[0]||(a[0]=o=>l.pageClicked(e.pagination.currentPage-1))},u(t.$t("general.pagination.previous")),3),c("a",{href:"#",class:f([{"disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400":e.pagination.currentPage===e.pagination.totalPages},"relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50"]),onClick:a[1]||(a[1]=o=>l.pageClicked(e.pagination.currentPage+1))},u(t.$t("general.pagination.next")),3)]),c("div",se,[c("div",null,[c("p",le,[P(u(t.$t("general.pagination.showing"))+" "+u(" ")+" ",1),e.pagination.limit&&e.pagination.currentPage?(i(),s("span",oe,u(e.pagination.currentPage*e.pagination.limit-(e.pagination.limit-1)),1)):y("",!0),P(" "+u(" ")+" "+u(t.$t("general.pagination.to"))+" "+u(" ")+" ",1),e.pagination.limit&&e.pagination.currentPage?(i(),s("span",de,[e.pagination.currentPage*e.pagination.limit<=e.pagination.totalCount?(i(),s("span",ge,u(e.pagination.currentPage*e.pagination.limit),1)):(i(),s("span",ue,u(e.pagination.totalCount),1))])):y("",!0),P(" "+u(" ")+" "+u(t.$t("general.pagination.of"))+" "+u(" ")+" ",1),e.pagination.totalCount?(i(),s("span",ce,u(e.pagination.totalCount),1)):y("",!0),P(" "+u(" ")+" "+u(t.$t("general.pagination.results")),1)])]),c("div",null,[c("nav",fe,[c("a",{href:"#",class:f([{"disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400":e.pagination.currentPage===1},"relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-l-md hover:bg-gray-50"]),onClick:a[2]||(a[2]=o=>l.pageClicked(e.pagination.currentPage-1))},[he,w(g,{name:"ChevronLeftIcon"})],2),l.hasFirst?(i(),s("a",{key:0,href:"#","aria-current":"page",class:f([{"z-10 bg-primary-50 border-primary-500 text-primary-600":l.isActive(1),"bg-white border-gray-300 text-gray-500 hover:bg-gray-50":!l.isActive(1)},"relative inline-flex items-center px-4 py-2 text-sm font-medium border"]),onClick:a[3]||(a[3]=o=>l.pageClicked(1))}," 1 ",2)):y("",!0),l.hasFirstEllipsis?(i(),s("span",ye," ... ")):y("",!0),(i(!0),s(k,null,C(l.pages,o=>(i(),s("a",{key:o,href:"#",class:f([{"z-10 bg-primary-50 border-primary-500 text-primary-600":l.isActive(o),"bg-white border-gray-300 text-gray-500 hover:bg-gray-50":!l.isActive(o),disabled:o==="..."},"relative items-center hidden px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 hover:bg-gray-50 md:inline-flex"]),onClick:m=>l.pageClicked(o)},u(o),11,me))),128)),l.hasLastEllipsis?(i(),s("span",pe," ... ")):y("",!0),l.hasLast?(i(),s("a",{key:3,href:"#","aria-current":"page",class:f([{"z-10 bg-primary-50 border-primary-500 text-primary-600":l.isActive(e.pagination.totalPages),"bg-white border-gray-300 text-gray-500 hover:bg-gray-50":!l.isActive(e.pagination.totalPages)},"relative inline-flex items-center px-4 py-2 text-sm font-medium border"]),onClick:a[4]||(a[4]=o=>l.pageClicked(e.pagination.totalPages))},u(e.pagination.totalPages),3)):y("",!0),c("a",{href:"#",class:f(["relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-r-md hover:bg-gray-50",{"disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400":e.pagination.currentPage===e.pagination.totalPages}]),onClick:a[5]||(a[5]=o=>l.pageClicked(e.pagination.currentPage+1))},[be,w(g,{name:"ChevronRightIcon"})],2)])])])])):y("",!0)}const xe=J(ne,[["render",ve]]),ke={class:"flex flex-col"},Ce={class:"-my-2 overflow-x-auto sm:-mx-6 lg:-mx-8 pb-4 lg:pb-0"},Pe={class:"inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8"},we={class:"relative overflow-hidden bg-white border-b border-gray-200 shadow sm:rounded-lg"},_e=["onClick"],Se={key:0,class:"asc-direction"},Te={key:1,class:"desc-direction"},Ne={key:0},Be={key:1},Fe={key:0,class:"absolute top-0 left-0 z-10 flex items-center justify-center w-full h-full bg-white bg-opacity-60"},Le={key:1,class:"text-center text-gray-500 pb-2 flex h-[160px] justify-center items-center flex-col"},Ae={class:"block mt-1"},Ie={__name:"BaseTable",props:{columns:{type:Array,required:!0},data:{type:[Array,Function],required:!0},sortBy:{type:String,default:""},sortOrder:{type:String,default:""},tableClass:{type:String,default:"min-w-full divide-y divide-gray-200"},theadClass:{type:String,default:"bg-gray-50"},tbodyClass:{type:String,default:""},noResultsMessage:{type:String,default:"No Results Found"},loading:{type:Boolean,default:!1},loadingType:{type:String,default:"placeholder",validator:function(t){return["placeholder","spinner"].indexOf(t)!==-1}},placeholderCount:{type:Number,default:3}},setup(t,{expose:a}){const e=t;let r=N([]),b=F(!1),l=N(e.columns.map(n=>new ae(n))),g=N({fieldName:"",order:""}),o=F("");const m=L(()=>Array.isArray(e.data)),v=L(()=>{if(!m.value||g.fieldName===""||l.length===0)return r.value;const n=I(g.fieldName);return n?[...r.value].sort(n.getSortPredicate(g.order,l)):r.value});function I(n){return l.find(d=>d.key===n)}function z(n){let d="whitespace-nowrap px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider";return n.defaultThClass&&(d=n.defaultThClass),n.sortable?d=`${d} cursor-pointer`:d=`${d} pointer-events-none`,n.thClass&&(d=`${d} ${n.thClass}`),d}function B(n){let d="px-6 py-4 text-sm text-gray-500 whitespace-nowrap";return n.defaultTdClass&&(d=n.defaultTdClass),n.tdClass&&(d=`${d} ${n.tdClass}`),d}function D(n){let d="w-full";return n.placeholderClass&&(d=`${d} ${n.placeholderClass}`),d}function E(){return o.value=null,e.data}async function M(){const n=o.value&&o.value.currentPage||1;b.value=!0;const d=await e.data({sort:g,page:n});return b.value=!1,o.value=d.pagination,d.data}function R(n){g.fieldName!==n.key?(g.fieldName=n.key,g.order="asc"):g.order=g.order==="asc"?"desc":"asc",m.value||(o.value&&(o.value.currentPage=1),_())}async function _(){const n=m.value?E():await M();r.value=n.map(d=>new te(d,l))}async function H(n){o.value.currentPage=n,await _()}async function Y(n=!1){o.value&&!n&&(o.value.currentPage=1),await _()}function q(n,d){return $.get(n,d)}return m.value&&K(()=>e.data,()=>{_()}),X(async()=>{await _()}),a({refresh:Y}),(n,d)=>{const O=T("base-content-placeholders-text"),W=T("base-content-placeholders"),j=T("BaseIcon");return i(),s("div",ke,[c("div",Ce,[c("div",Pe,[c("div",we,[A(n.$slots,"header"),c("table",{class:f(t.tableClass)},[c("thead",{class:f(t.theadClass)},[c("tr",null,[(i(!0),s(k,null,C(p(l),h=>(i(),s("th",{key:h.key,class:f([z(h),{"text-bold text-black":p(g).fieldName===h.key}]),onClick:x=>R(h)},[P(u(h.label)+" ",1),p(g).fieldName===h.key&&p(g).order==="asc"?(i(),s("span",Se," ↑ ")):y("",!0),p(g).fieldName===h.key&&p(g).order==="desc"?(i(),s("span",Te," ↓ ")):y("",!0)],10,_e))),128))])],2),t.loadingType==="placeholder"&&(t.loading||p(b))?(i(),s("tbody",Ne,[(i(!0),s(k,null,C(t.placeholderCount,h=>(i(),s("tr",{key:h,class:f(h%2===0?"bg-white":"bg-gray-50")},[(i(!0),s(k,null,C(t.columns,x=>(i(),s("td",{key:x.key,class:f(["",B(x)])},[w(W,{class:f(D(x)),rounded:!0},{default:Z(()=>[w(O,{class:"w-full h-6",lines:1})]),_:2},1032,["class"])],2))),128))],2))),128))])):(i(),s("tbody",Be,[(i(!0),s(k,null,C(v.value,(h,x)=>(i(),s("tr",{key:x,class:f(x%2===0?"bg-white":"bg-gray-50")},[(i(!0),s(k,null,C(t.columns,S=>(i(),s("td",{key:S.key,class:f(["",B(S)])},[A(n.$slots,"cell-"+S.key,{row:h},()=>[P(u(q(h.data,S.key)),1)])],2))),128))],2))),128))]))],2),t.loadingType==="spinner"&&(t.loading||p(b))?(i(),s("div",Fe,[w(Q,{class:"w-10 h-10 text-primary-500"})])):!t.loading&&!p(b)&&v.value&&v.value.length===0?(i(),s("div",Le,[w(j,{name:"ExclamationCircleIcon",class:"w-6 h-6 text-gray-400"}),c("span",Ae,u(n.$t("general.no_data_found")),1)])):y("",!0),p(o)?(i(),U(xe,{key:2,pagination:p(o),onPageChange:H},null,8,["pagination"])):y("",!0)])])])])}}};export{Ie as default};