import{S as L,L as M,C as V,I as T,B as N,a as D,l as F,h as _}from"./Loading-aa057cf2.js";import{s as R,E as $,a as C,u as w,w as Y}from"./xlsx-64a1f455.js";import{I as G}from"./logo-black-e64f52b7.js";import{y as Q,_ as S,r as u,o as r,c as i,f as m,L as U,M as j,a as s,h as v,g as l,b as h,t as P,k as b,N as A,O as q,P as z,Q as X,w as O}from"./index-6d9e3b55.js";const H=Q({name:"Pagination",components:{Icon:G,Select:L},props:{options:{type:Array,default:()=>[{}]},perPageOptions:{type:Array,default:()=>[{}]},enableText:{type:Boolean,default:!1},enableInput:{type:Boolean,default:!1},enableSelect:{type:Boolean,default:!1},enableSearch:{type:Boolean,default:!1},pageChanged:{type:Function},perPageChanged:{type:Function},current:{type:Number,default:1},total:{type:Number,default:0},perPage:{type:Number,default:10},pageRange:{type:Number,default:2},textBeforeInput:{type:String,default:"Go to page"},textAfterInput:{type:String,default:"Go"},paginationClass:{type:String,default:"default"},searchClasss:{type:String,default:"default"},wrapperClass:{type:String,default:"justify-between"}},data(){return{input:"",input2:null,input3:this.perPage??null}},methods:{hasFirst:function(){return this.rangeStart!==1},hasLast:function(){return this.rangeEnd1},hasNext:function(){return this.current0&&e<=this.totalPages&&this.$emit("page-changed",e),this.pageChanged&&this.pageChanged({currentPage:e})},changePerPage:function(e){e>0&&this.$emit("change-per-page",e)},customPerPageChange(e){this.perPageChanged({currentPerPage:e})}},computed:{pages:function(){for(var e=[],t=this.rangeStart;t<=this.rangeEnd;t++)e.push(t);return e},rangeStart:function(){var e=this.current-this.pageRange;return e>0?e:1},rangeEnd:function(){var e=this.current+this.pageRange;return e(z("data-v-fe20d3a3"),e=e(),X(),e),J={key:0,class:"flex items-center space-x-2 rtl:space-x-reverse"},K={key:1,class:"flex items-center"},W={class:"text-sm text-slate-500 inline-block ltr:ml-2 rtl:mr-2"},Z={key:1,class:"flex items-start space-x-4 rtl:space-x-reverse"},ee={class:"self-center text-slate-700"},te={key:0,class:"flex items-start gap-0 border border-slate-900 rounded p-0"},se=x(()=>s("span",{class:"self-center text-slate-100 bg-slate-900 px-2 py-2 border border-slate-300 rounded mr-[-3px]"},"per page ",-1)),ne={class:"text-xl leading-4 text-slate-900 dark:text-white rtl:rotate-180"},ae=["disabled"],oe={key:1,class:"text-sm inline-block rtl:-rotate-180"},re={key:0,class:""},le=x(()=>s("div",null,[s("span",null," 1 ")],-1)),ie=[le],pe={key:1,class:"text-slate-600 dark:text-slate-300"},de=["onClick"],ue={class:""},ce={key:2,class:"text-slate-600 dark:text-slate-300"},he={key:3,class:""},ge={class:"text-xl leading-4 text-slate-900 dark:text-white rtl:rotate-180"},fe=["disabled"],me={key:1,class:"text-sm rtl:-rotate-180 inline-block"};function ve(e,t,p,d,n,c){const g=u("Select"),o=u("Icon");return r(),i("div",{class:m(["md:flex md:space-y-0 space-y-5",e.wrapperClass])},[e.enableSearch?(r(),i("div",{key:0,class:m(["flex items-center space-x-4 rtl:space-x-reverse",e.searchClasss])},[e.enableSearch&&e.enableInput?(r(),i("div",J,[U(s("input",{"onUpdate:modelValue":t[0]||(t[0]=a=>e.input=a),class:"form-control w-9 overflow-auto h-9",type:"text",placeholder:"0"},null,512),[[j,e.input,void 0,{number:!0}]]),s("div",{onClick:t[1]||(t[1]=v(a=>e.changePage(e.input),["prevent"])),class:"flex-0 cursor-pointer text-sm h-9 w-9 bg-slate-900 text-white flex items-center justify-center rounded"}," Go ")])):l("",!0),e.enableSearch&&e.enableSelect?(r(),i("div",K,[h(g,{modelValue:e.input2,"onUpdate:modelValue":t[2]||(t[2]=a=>e.input2=a),modelModifiers:{number:!0},onChange:t[3]||(t[3]=a=>e.changePage(e.input2)),placeholder:"Go",classInput:" w-[60px] h-9 ",options:e.options},null,8,["modelValue","options"]),s("span",W," of "+P(e.perPage)+" entries",1)])):l("",!0)],2)):l("",!0),e.total>0?(r(),i("div",Z,[s("div",ee,"Records "+P(`${e.current*e.perPage-e.perPage+1} to ${e.current*e.perPagee.input3=a),modelModifiers:{number:!0},placeholder:"rows",onChange:t[5]||(t[5]=a=>e.changePerPage(e.input3)),classInput:" w-[60px] h-9 border-0",options:e.perPageOptions},null,8,["modelValue","options"])])):l("",!0)])):l("",!0),e.total>0?(r(),i("ul",{key:2,class:m(["pagination",e.paginationClass])},[s("li",ne,[s("button",{onClick:t[6]||(t[6]=v(a=>e.changePage(e.prevPage),["prevent"])),disabled:e.current===1,class:m(e.current===1?" opacity-50 cursor-not-allowed":"")},[e.enableText?l("",!0):(r(),b(o,{key:0,icon:"heroicons-outline:chevron-left"})),e.enableText?(r(),i("span",oe,"Previous")):l("",!0)],10,ae)]),e.hasFirst()?(r(),i("li",re,[s("button",{onClick:t[7]||(t[7]=v(a=>e.changePage(1),["prevent"]))},ie)])):l("",!0),e.hasFirst()?(r(),i("li",pe,"...")):l("",!0),(r(!0),i(A,null,q(e.pages,(a,y)=>(r(),i("li",{class:"",key:y},[s("button",{onClick:v(k=>e.changePage(a),["prevent"])},[s("div",{class:m([{active:e.current===a},""])},[s("span",ue,P(a),1)],2)],8,de)]))),128)),e.hasLast()?(r(),i("li",ce,"...")):l("",!0),e.hasLast()?(r(),i("li",he,[s("button",{onClick:t[8]||(t[8]=v(a=>e.changePage(e.totalPages),["prevent"]))},[s("div",null,[s("span",null,P(e.totalPages),1)])])])):l("",!0),s("li",ge,[s("button",{onClick:t[9]||(t[9]=v(a=>e.changePage(e.nextPage),["prevent"])),disabled:e.current===e.totalPages,class:m(e.current===e.totalPages?" opacity-50 cursor-not-allowed":"")},[e.enableText?l("",!0):(r(),b(o,{key:0,icon:"heroicons-outline:chevron-right"})),e.enableText?(r(),i("span",me,"Next")):l("",!0)],10,fe)])],2)):l("",!0)],2)}const ye=S(H,[["render",ve],["__scopeId","data-v-fe20d3a3"]]),Pe={components:{Layout:M,Card:V,Multiselect:R,InputGroup:T,Pagination:ye,Button:N,Loading:D},data(){return{eventOptions:null,companyOptions:null,state:{isEdit:!1,isLoading:!1,isMounted:!1,isResetError:!1,isSubmitted:!1,showModal:!1,isDeleting:!1},items:[],error:[],totalItems:0,columns:[{label:"#",field:"#",tdClass:"text-center w-[20px]",sortable:!1},{label:"Lastname",field:"lastname",tdClass:""},{label:"Firstname",field:"firstname"},{label:"Middlename",field:"middlename"},{label:"Company",field:"company",sortable:!1},{label:"Position",field:"position",sortable:!1},{label:"Date Registered",field:"registration_date",sortable:!1}],perPageOptions:[{value:"10",label:"10"},{value:"20",label:"20"},{value:"50",label:"50"},{value:"100",label:"100"}],searchQuery:"",serverOptions:{page:1,rowsPerPage:10,sortBy:"lastname",sortType:"asc",event:30,companies:[]},state:{isLoading:!1}}},watch:{serverOptions:{handler(){console.log(`perPage: ${this.serverOptions.rowsPerPage}`),this.fetchParticipants(),this.fetchCompanies()},deep:!0},searchQuery:F.debounce(function(){this.fetchParticipants()},800)},computed:{perPage:function(){return this.serverOptions.rowsPerPage},filteredEventOptions:function(){return this.eventOptions?this.eventOptions.filter(e=>[30,31,32,34,35].includes(e.value)):[]}},methods:{async fetchEvents(){await $.fetchRecords().then(e=>{console.log(e.data),e.status==200?(this.eventOptions=e.data.data.map(t=>({label:t.name,value:t.id})),console.log(this.events)):console.log(e)}).catch(e=>{console.error(e)})},async fetchParticipants(){this.state.isLoading=!0,await C.fetchRecords({event_id:this.serverOptions.event,companies:this.serverOptions.companies,keyword:this.searchQuery,page:this.serverOptions.page,per_page:this.serverOptions.rowsPerPage,sortBy:this.serverOptions.sortBy,sortType:this.serverOptions.sortType}).then(e=>{if(e.status==200){let t=e.data.data;this.items=t.map((p,d)=>({...p,company:p.company?p.company.name:null,position:p.position?p.position.name:null,registration_date:p.events&&p.events[0].pivot.registration_date?_(p.events[0].pivot.registration_date).format("MMM D, YYYY h:mma"):null,"#":(this.serverOptions.page-1)*this.serverOptions.rowsPerPage+(d+1)})),this.totalItems=e.data.total??0}}).finally(()=>{this.state.isLoading=!1})},async fetchCompanies(){await C.fetchCompanies(this.serverOptions.event).then(e=>{if(e.status==200){console.log(this.companyOptions);let t=e.data.filter(d=>d!==null),p=[];t.forEach(d=>{p[d.id]=d.name}),this.companyOptions=p.map((d,n)=>({label:d,value:n}))}})},handlePageChange(e){console.log(e),console.log(this.serverOptions.page),this.serverOptions.page!=e&&(this.serverOptions.page=e)},handlePerPageChange(e){this.serverOptions.rowsPerPage=e},onSortChange(e){console.log(e),e[0].type!="none"&&(this.serverOptions.sortBy=e[0].field,this.serverOptions.sortType=e[0].type)},confirmExport(){this.$swal.fire({title:"Are you sure you want to download these records?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(e=>{e.value&&this.exportToExcel()})},exportToExcel(){C.fetchRecords({event_id:this.serverOptions.event,companies:this.serverOptions.companies,keyword:this.searchQuery,sortBy:this.serverOptions.sortBy,sortType:this.serverOptions.sortType}).then(e=>{if(e.status==200){let t=e.data.data.map((o,a)=>({count:a+1,...o,company:o.company?o.company.name:null,position:o.position?o.position.name:null,registration_date:o.events&&o.events[0].pivot.registration_date?_(o.events[0].pivot.registration_date).format("YYYY-MM-DD h:mma"):null}));const p=[{header:"No.",key:"count"},{header:"Lastname",key:"lastname"},{header:"Firstname",key:"firstname"},{header:"Middlename",key:"middlename"},{header:"Company",key:"company"},{header:"Position",key:"position"},{header:"Date Registered",key:"registration_date"}],d=this.eventOptions.filter(o=>o.value==this.serverOptions.event).flatMap(o=>o.label).toString();console.log(d);const n=[p.map(o=>o.header)];t.forEach(o=>{const a=[];p.forEach(y=>{a.push(o[y.key])}),n.push(a)});const c=w.aoa_to_sheet(n),g=w.book_new();w.book_append_sheet(g,c,"Sheet1"),Y(g,`${d}.xlsx`)}})}},created(){this.fetchEvents(),this.fetchParticipants(),this.fetchCompanies()}},be={class:"w-full flex justify-end mb-2"},Ce={class:"grid gap-1 mb-2"},we={class:"grid lg:grid-cols-2 gap-3"},Oe={key:0,class:"flex gap-0 w-full border border-green-500 rounded"},ke=s("div",{class:"bg-green-500 text-white px-3 py-2 mr-[-2px]"},"Event",-1),_e={key:0,class:"flex gap-0 w-full border border-green-500 rounded"},Se=s("div",{class:"bg-green-500 text-white px-3 py-2 mr-[-2px]"},"Company",-1),xe={class:"py-4 px-3 flex justify-end"};function Be(e,t,p,d,n,c){const g=u("Button"),o=u("Multiselect"),a=u("InputGroup"),y=u("Loading"),k=u("Pagination"),B=u("vue-good-table"),E=u("Card"),I=u("Layout");return r(),b(I,null,{default:O(()=>[h(E,null,{default:O(()=>[s("div",be,[n.totalItems>0?(r(),b(g,{key:0,type:"button",class:"p-2 px-4 rounded border-green-500 bg-green-500 text-white float-end",onClick:c.confirmExport,icon:"ri:file-excel-2-line",text:"Download",title:"Export to XLS"},null,8,["onClick"])):l("",!0)]),s("header",Ce,[s("div",we,[c.filteredEventOptions?(r(),i("div",Oe,[ke,h(o,{modelValue:n.serverOptions.event,"onUpdate:modelValue":t[0]||(t[0]=f=>n.serverOptions.event=f),options:c.filteredEventOptions,searchable:!0},null,8,["modelValue","options"])])):l("",!0),s("div",null,[h(a,{modelValue:n.searchQuery,"onUpdate:modelValue":t[1]||(t[1]=f=>n.searchQuery=f),class:"w-full border border-green-500 focus:border-green-500 rounded",placeholder:"Search",type:"text",prependIcon:"heroicons-outline:search",merged:""},null,8,["modelValue"])])]),n.companyOptions?(r(),i("div",_e,[Se,h(o,{modelValue:n.serverOptions.companies,"onUpdate:modelValue":t[2]||(t[2]=f=>n.serverOptions.companies=f),options:n.companyOptions,searchable:!0,mode:"tags",closeOnSelect:!1},null,8,["modelValue","options"])])):l("",!0)]),s("section",null,[n.state.isLoading?(r(),b(y,{key:0,searching:!0,text:"Fetching records"})):l("",!0),h(B,{columns:n.columns,styleClass:"vgt-table bordered table-head lesspadding v-middle",mode:"remote",rows:n.items,search:!0,"sort-options":{enabled:!0},"pagination-options":{enabled:!0},onSortChange:c.onSortChange,"max-height":"600px"},{"pagination-bottom":O(f=>[s("div",xe,[h(k,{total:n.totalItems,current:n.serverOptions.page,"per-page":n.serverOptions.rowsPerPage,onPageChanged:c.handlePageChange,pageChanged:f.pageChanged,perPageChanged:n.serverOptions.rowsPerPage,enableSelect:"",perPageOptions:n.perPageOptions,onChangePerPage:c.handlePerPageChange},null,8,["total","current","per-page","onPageChanged","pageChanged","perPageChanged","perPageOptions","onChangePerPage"])])]),_:1},8,["columns","rows","onSortChange"])])]),_:1})]),_:1})}const Ve=S(Pe,[["render",Be]]);export{Ve as default};