1import{_ as I,D as E,X as U,b as R,r as b,o as s,c as r,a as i,t as c,d as w,w as _,h as k,F as y,l as x,g as p,e as v,f as m,n as g,p as W,i as z,j as V,q as Y}from"./app-346e2910.js";import{h as C}from"./moment-e9e012b5.js";import{T as j}from"./Typeahead-84f02835.js";import{w as N}from"./workshopTitlePlain-510ad0ba.js";import{d as q}from"./debounce-1dd43706.js";import{_ as L}from"./lodash-b5ace6a0.js";import{m as Z}from"./index-42957e6c.js";const Q={props:["workshopIndex","workshopMiniIndex","defaultWorkshop","user","setPayout","setWorkshop","setAffiliate"],emits:["update"],components:{Typeahead:j,Datepicker:E,Modal:U},data(){return{loadingOwedAmount:!1,defaultOwed:null,affiliateDueAmount:null,submitted:!1,errors:null,saved:!1,deleted:!1,saving:!1,deleting:!1,editMode:!1,workshopTitle:"",workshopQ:"",loadingWorkshopSuggestions:!1,selectedWorkshop:{id:null,title:"",semesters:[],mini:!1},workshopSuggestions:null,payout:{id:null,amount:null,type:"workshop",workshop_id:"",user_id:null,date:new Date,payment_method:"check",notes:"",notify_instructor:!0},semesterModalOpen:!1,semesterModalReadOnly:!1,loadingSemesterOptions:!1,savingSemesterAllocations:!1,semesterModalError:null,semesterEligible:!0,semesterIneligibleMessage:"",semesterRows:[],semesterPreviewRows:[],semesterPreviewLoading:!1}},methods:{workshopTitlePlain:N,handleWorkshopsTaProjection(e){return N(e.title)},handleWorkshopsTaFill(e){return N(e.title)},onSelectWorkshop(e){console.log("selected workshop",e),this.selectedWorkshop=e},onBlurWorkshopInput(){this.workshopQ||(this.payout&&(this.payout.workshop_id=null),this.selectedWorkshop={id:null,title:"",semesters:[],mini:!1})},amountDisabled(){return this.payout.id||this.isAffiliateMode?!1:!!(!this.payout.workshop_id||this.loadingOwedAmount)},async getWorkshopOwed(){if(this.payout.workshop_id){this.loadingOwedAmount=!0,this.defaultOwed=null;try{let{data:e}=await R.get("/api/payouts/summary-by-workshop",{params:{workshop:this.payout.workshop_id}});console.log(e),e.workshop_data&&(this.defaultOwed=e.workshop_data[0].owed,this.payout.amount=this.defaultOwed.toFixed(2))}catch(e){e.response&&e.response.data&&e.response.data.message&&alert(e.response.data.message),console.log(e)}this.loadingOwedAmount=!1}},formatLineBreaks(e){if(e&&e!=="")return e.replace(/\n/g,"<br />")},async finalizeDelete(){let e=`/api/payouts/${this.payout.id}`,o=this;try{let{data:n}=await R.delete(e);this.deleted=!0,this.$emit("update"),this.editMode=!1}catch(n){const u=document.getElementById("edit_payout_modal");u&&(u.scrollTop=0),window.scrollTo(0,0),n.response&&n.response.data&&(o.errors=n.response.data)}},deletePayout(){confirm(`Are you sure you want to delete Payout #${this.payout.id}? This cannot be undone`)&&this.finalizeDelete()},cancelEdit(){this.payout={...this.savedPayout},this.editMode=!1,this.refreshSemesterAllocationPreview()},showEditMode(){this.editMode=!0,this.savedPayout={...this.payout},this.payout.amount&&(this.payout.amount=parseFloat(this.payout.amount).toFixed(2)),this.setupWorkshopsTA(),this.refreshSemesterAllocationPreview()},savePayout(){let e=this.$refs.editForm.checkValidity();if(this.submitted=!0,!(!this.validAmount||!this.validPayee||!this.validDate)){if(!e)return this.$refs.editForm.classList.add("was-validated"),!1;this.payout.id?this.submitEditPayout():this.submitAddPayout()}},async submitEditPayout(){let e={...this.payout},o=`/api/payouts/${this.payout.id}`,n=this;this.saving=!0,this.errors=null,e.date=C(this.payout.date).format("YYYY-MM-DD"),this.isAffiliateMode?(e.type="affiliate",e.workshop_id=null,e.user_id=this.payout.user_id||this.setAffiliate&&this.setAffiliate.id):e.type="workshop";try{let{data:u}=await R.put(o,e);this.payout=u,this.payout.date=C(u.date).toDate(),this.saved=!0,this.$emit("update"),this.editMode=!1,this.refreshSemesterAllocationPreview()}catch(u){const t=document.getElementById("edit_payout_modal");t&&(t.scrollTop=0),window.scrollTo(0,0),u.response&&u.response.data&&(n.errors=u.response.data)}this.saving=!1},async submitAddPayout(){let e={...this.payout},o="/api/payouts",n=this;if(this.validAmount){this.saving=!0,this.errors=null,e.date=C(this.payout.date).format("YYYY-MM-DD"),this.isAffiliateMode?(e.type="affiliate",e.workshop_id=null,e.user_id=this.payout.user_id||this.setAffiliate&&this.setAffiliate.id):e.type="workshop";try{let{data:u}=await R.post(o,e);this.payout=u,this.payout.date=C(u.date).toDate(),this.saved=!0,this.$emit("update"),this.editMode=!1,this.refreshSemesterAllocationPreview()}catch(u){const t=document.getElementById("edit_payout_modal");t&&(t.scrollTop=0),window.scrollTo(0,0),u.response&&u.response.data&&(n.errors=u.response.data)}this.saving=!1}},async setupWorkshopsTA(){if(!this.isAffiliateMode&&!this.workshopSuggestions){if(this.workshopIndex){this.workshopSuggestions=Object.entries(this.workshopIndex).map(([e,o])=>({id:e,title:o,mini:!!(this.workshopMiniIndex&&this.workshopMiniIndex[e])}));return}this.loadingWorkshopSuggestions=!0;try{let{data:e}=await R.get("/api/workshops/options");this.workshopSuggestions=e.workshops}catch(e){alert("Something went wrong. Please refresh the page and try again."),console.log("err",e)}this.loadingWorkshopSuggestions=!1}},showAddPayout(){let e=new Date,o={id:null,amount:null,type:this.isAffiliateMode?"affiliate":"workshop",workshop_id:"",user_id:this.setAffiliate?this.setAffiliate.id:null,date:e,notes:"",payment_method:"check",notify_instructor:!0};if(!this.isAffiliateMode&&this.defaultWorkshop&&(o.workshop_id=this.defaultWorkshop),this.isAffiliateMode&&this.setAffiliate&&this.setAffiliate.due!=null&&(this.affiliateDueAmount=Number(this.setAffiliate.due),o.amount=this.affiliateDueAmount.toFixed(2)),this.payout=o,this.editMode=!0,!this.isAffiliateMode&&this.setWorkshop&&this.workshopSuggestions){const n=this.setWorkshop;this.$nextTick(()=>{const u=this.workshopSuggestions.find(t=>
1t.id==n);this.$refs.workshopSearchBox.selectItem(u)})}},openSemesterModal(e){this.semesterModalReadOnly=e,this.semesterModalError=null,this.semesterModalOpen=!0,this.loadSemesterAllocationOptions()},async fetchSemesterAllocationData(){if(!this.payout.workshop_id||!this.payout.date)return this.semesterPreviewRows=[],{eligible:!1,semesters:[],message:""};const e={workshop_id:this.payout.workshop_id,date:C(this.payout.date).format("YYYY-MM-DD")};this.payout.id&&(e.payout_id=this.payout.id);const{data:o}=await R.get("/api/payouts/semester-allocation-options",{params:e});if(!o.eligible)return this.semesterPreviewRows=[],{eligible:!1,semesters:[],message:o.message||"Semester allocation is not available."};const n=o.semesters||[];return this.semesterPreviewRows=n,{eligible:!0,semesters:n,message:""}},async refreshSemesterAllocationPreview(){if(!this.showSemesterAllocationUi||!this.payout.workshop_id||!this.payout.date){this.semesterPreviewRows=[],this.semesterPreviewLoading=!1;return}this.semesterPreviewLoading=!0;try{await this.fetchSemesterAllocationData()}catch{this.semesterPreviewRows=[]}this.semesterPreviewLoading=!1},async loadSemesterAllocationOptions(){if(!this.payout.workshop_id||!this.payout.date){this.semesterEligible=!1,this.semesterIneligibleMessage="Workshop and payout date are required.",this.semesterRows=[];return}this.loadingSemesterOptions=!0,this.semesterModalError=null;try{const e=await this.fetchSemesterAllocationData();e.eligible?(this.semesterEligible=!0,this.semesterRows=(e.semesters||[]).map(o=>{let n=o.current_amount!=null&&o.current_amount!==""?parseFloat(o.current_amount):0;return o.is_deficit_semester&&!isNaN(n)&&n>.009&&(n=-n),{...o,edit_amount:n}}),this.$nextTick(()=>{this.applySemesterAllocationAutoFill()})):(this.semesterEligible=!1,this.semesterIneligibleMessage=e.message||"Semester allocation is not available.",this.semesterRows=[])}catch(e){this.semesterEligible=!1,this.semesterRows=[],e.response&&e.response.status===403?this.semesterModalError="You do not have permission to manage semester allocation.":e.response&&e.response.data&&e.response.data.message?this.semesterModalError=e.response.data.message:this.semesterModalError="Could not load semester allocation data."}this.loadingSemesterOptions=!1},semesterRowHasNonZeroOwedForAutofill(e){const o=parseFloat(e.signed_payable!=null?e.signed_payable:e.payable);if(!isNaN(o)&&Math.abs(o)>.009)return!0;if(e.is_deficit_semester){const u=parseFloat(e.min_amount);return!isNaN(u)&&u<-.009}const n=parseFloat(e.max_amount);return!isNaN(n)&&n>.009},applySemesterAllocationAutoFill(){if(!this.semesterRows.length||this.semesterRows.some(u=>{const t=parseFloat(u.current_amount);return!isNaN(t)&&Math.abs(t)>.009}))return;const o=parseFloat(this.payout.amount);if(isNaN(o)||o<=0)return;const n=[...this.semesterRows].filter(u=>this.semesterRowHasNonZeroOwedForAutofill(u)).sort((u,t)=>String(u.registration_open||"").localeCompare(String(t.registration_open||"")));for(const u of n)this.applyMaxSemesterRowAmount(u)},maxRoomForSemesterRow(e){const o=parseFloat(this.payout.amount);if(isNaN(o))return 0;let n=0;for(const u of this.semesterRows){if(u.semester_id===e.semester_id)continue;const t=parseFloat(u.edit_amount);n+=isNaN(t)?0:t}return Math.round((o-n)*100)/100},effectiveMaxForSemesterRow(e){if(e.is_deficit_semester)return 0;const o=this.maxRoomForSemesterRow(e),n=parseFloat(e.max_amount),u=isNaN(n)?0:n;return Math.min(u,Math.max(0,o))},effectiveFillForDeficitSemesterRow(e){const o=this.maxRoomForSemesterRow(e),n=parseFloat(e.min_amount),u=isNaN(n)?0:n;if(u>=-.001)return 0;if(o>0){const t=Math.min(o,Math.abs(u));return-Math.round(t*100)/100}return Math.round(Math.min(0,Math.max(u,o))*100)/100},deficitSemesterInputMin(e){const o=parseFloat(e.min_amount);return isNaN(o)?0:o},deficitSemesterRowInputDisabled(e){if(!e.is_deficit_semester)return!1;const o=parseFloat(e.min_amount);return isNaN(o)||o>=-.001},semesterRowMaxButtonDisabled(e){return e.is_deficit_semester?this.deficitSemesterRowInputDisabled(e)?!0:this.effectiveFillForDeficitSemesterRow(e)>=-.001:this.effectiveMaxForSemesterRow(e)<=0},semesterMaxForPayoutColumnDisplay(e){if(!e.is_deficit_semester)return this.money(e.max_amount);const o=parseFloat(e.min_amount);return isNaN(o)||o>=-.009?this.money(0):`${this.money(o)} â ${this.money(0)}`},semesterRowHasAmount(e){const o=parseFloat(e.edit_amount);return!isNaN(o)&&Math.abs(o)>.009},clearSemesterRowAmount(e){e.edit_amount=0},applyMaxSemesterRowAmount(e){if(e.is_deficit_semester){const o=this.effectiveFillForDeficitSemesterRow(e);e.edit_amount=Math.round(o*100)/100}else{const o=this.effectiveMaxForSemesterRow(e);e.edit_amount=Math.round(o*100)/100}},async clearAllSemesterAllocations(){if(!(this.semesterModalReadOnly||!this.payout.id||!confirm("Remove all semester allocation amounts for this payout? You can add them again later from this screen."))){this.savingSemesterAllocations=!0,this.semesterModalError=null;try{await R.put(`/api/payouts/${this.payout.id}/semester-allocations`,{allocations:[]}),this.semesterModalOpen=!1,this.saved=!0,this.editMode=!1,await this.refreshSemesterAllocationPreview(),this.$emit("update")}catch(o){if(o.response&&o.response.data){const n=o.response.data;if(n.errors&&typeof n.errors=="object"){const u=Object.keys(n.errors)[0],t=u?n.errors[u]:null;this.semesterModalError=Array.isArray(t)?t[0]:"Could not clear semester allocation."}else typeof n.message=="string"?this.semesterModalError=n.message:this.semesterModalError="Could not clear semester allocation."}else this.semesterModalError="Could not clear semester allocation."}this.savingSemesterAllocations=!1}},async saveSemesterAllocations(){if(this.semesterModalReadOnly)return;if(!this.payout.id&&(!this.validAmount||!this.validWorkshop||!this.validDate)){alert("Enter amount, workshop, and date on the payout form before saving semester allocation.");return}const e=this.semesterModalRemainingFromPayout;if(Math.abs(e)>.009){e>0?alert(`Allocate the full payout amount before saving. Remaining: ${this.money(e)}.`):alert(`Total allocated exceeds the payout amount by ${this.money(-e)}. Reduce amounts before saving.`);return}const o=[];for(const n of this.semesterRows){const u=parseFloat(n.edit_amount);if(!(isNaN(u)||Math.abs(u)<1e-4)){if(n.is_deficit_semester){if(u>.009){alert(`Amount for ${n.semester_name} must be zero or negative (deficit semester).`);return}const t=parseFloat(n.min_amount);if(!isNaN(t)&&u<t-.009){alert(`Amount for ${n.semester_name} cannot be less than ${this.money(t)}.`);return}}else{if(u<-.009){alert(`Amount for ${n.semester_name} cannot be negative.`);return}const t=this.effectiveMaxForSemesterRow(n);if(u-t>.009){alert(`Amount for ${n.semester_name} cannot exceed ${this.money(t)} (the lower of the semester limit and this payoutâs remaining share).`);return}}o.push({semester_id:n.semester_id,amount:Math.round(u*100)/100})}}this.savingSemesterAllocations=!0,this.semesterModalError=null;try{if(!this.payout.id){const n={...this.payout};n.date=C(this.payout.date).format("YYYY-MM-DD");const{data:u}=await R.post("/api/payouts",n);this.payout=u,this.payout.date=C(u.date).toDate()}await R.put(`/api/payouts/${this.payout.id}/semester-allocations`,{allocations:o}),this.semesterModalOpen=!1,this.saved=!0,this.editMode=!1,await this.refreshSemesterAllocationPreview(),this.$emit("update")}catch(n){if(n.response&&n.response.data){const u=n.response.data;if(u.errors&&typeof u.errors=="object"){const t=Object.keys(u.errors)[0],l=t?u.errors[t]:null;this.semesterModalError=Array.isArray(l)?l[0]:"Could not save payout or semester allocation."}else if(typeof u.message=="string")this.semesterModalError=u.message;else if(u.semester_id)this.semesterModalError=JSON.stringify(u);else if(typeof u=="object"&&!Array.isArray(u)){const t=Object.keys(u)[0];this.semesterModalError=t?`${t}: ${Array.isArray(u[t])?u[t][0]:u[t]}`:"Could not save payout or semester allocation."}else this.semesterModalError="Could not save payout or semester allocation."}else this.semesterModalError="Could not save payout or semester allocation."}this.savingSemesterAllocations=!1}},computed:{canManageSemesterAllocations(){const e=this.user&&this.user.role_name;return e==="Administrator"||e==="Super Admin"},selectedWorkshopIsMini(){const e=this.payout&&this.payout.workshop_id;if(!e)return!1;if(this.selectedWorkshop&&this.selectedWorkshop.id==e)return!!this.selectedWorkshop.mini;if(this.workshopMiniIndex&&Object.prototype.hasOwnProperty.call(this.workshopMiniIndex,e))return!!this.workshopMiniIndex[e];if(this.workshopMiniIndex&&Object.prototype.hasOwnProperty.call(this.workshopMiniIndex,String(e)))return!!this.workshopMiniIndex[String(e)];const o=(this.workshopSuggestions||[]).find(n=>n.id==e);return!!(o&&o.mini)},showSemesterAllocationUi(){return this.canManageSemesterAllocations&&!this.isAffiliateMode&&!this.selectedWorkshopIsMini},isAffiliateMode(){return this.payout&&this.payout.type==="affiliate"||this.setPayout&&this.setPayout.type==="affiliate"?!0:!!this.setAffiliate},affiliateDisplayName(){return this.setAffiliate?this.setAffiliate.full_name||this.setAffiliate.email||"Affiliate":this.payout&&this.payout.user?this.payout.user.full_name_or_email||this.payout.user.email||"Affiliate":this.payout&&this.payout.payee_label?this.payout.payee_label:"Affiliate"},affiliateDueHint(){return this.affiliateDueAmount==null?"":`${this.money(this.affiliateDueAmount)} currently due.`},nonZeroSemesterAllocations(){return(this.semesterPreviewRows||[]).filter(e=>{const o=parseFloat(e.current_amount);return!isNaN(o)&&Math.abs(o)>.009})},semesterModalPayoutTotal(){const e=parseFloat(this.payout.amount);return isNaN(e)?0:e},semesterModalAllocatedTotal(){if(!this.semesterRows.length)return 0;const e=this.semesterRows.reduce((o,n)=>{const u=parseFloat(n.edit_amount);return o+(isNaN(u)?0:u)},0);return Math.round(e*100)/100},semesterModalRemainingFromPayout(){return Math.round((this.semesterModalPayoutTotal-this.semesterModalAllocatedTotal)*100)/100},semesterModalRemainingLargeClass(){const e=this.semesterModalRemainingFromPayout;return Math.abs(e)<=.009?"text-success-500":"text-danger-600"},semesterModalBarGreenPct(){const e=this.semesterModalPayoutTotal;if(e<=0)return 0;const o=Math.abs(this.semesterModalRemainingFromPayout);return Math.min(100,Math.max(0,(e-o)/e*100))},semesterModalBarRedPct(){const e=this.semesterModalPayoutTotal;if(e<=0)return 100;const o=Math.abs(this.semesterModalRemainingFromPayout);return Math.min(100,o/e*100)},semesterAllocationSaveAllowed(){const e=this.semesterModalRemainingFromPayout;return Math.abs(e)<=.009},validAmount(){return!this.submitted||this.payout.amount>0},validWorkshop(){return!this.submitted||!!this.payout.workshop_id}
1,validPayee(){return this.isAffiliateMode?!this.submitted||!!(this.payout.user_id||this.setAffiliate&&this.setAffiliate.id):this.validWorkshop},validDate(){return!this.submitted||!!this.payout.date},displayPayoutDate(){return this.payout&&this.payout.date?C(this.payout.date).format("MM/DD/YYYY"):""}},watch:{editMode(e){if(e&&!this.isAffiliateMode){let o=null;this.payout.workshop_id?o=this.payout.workshop_id:this.setWorkshop&&(o=this.setWorkshop),o&&this.$nextTick(()=>{if(!this.$refs.workshopSearchBox||!this.workshopSuggestions)return;const n=this.workshopSuggestions.find(u=>u.id==o);n&&this.$refs.workshopSearchBox.selectItem(n)})}},selectedWorkshop:{handler(e){this.isAffiliateMode||(this.payout.workshop_id=e.id,this.payout.id||q(this.getWorkshopOwed,200)())},deep:!0}},mounted(){this.setPayout?(this.payout={...this.setPayout},this.payout.type==="affiliate"&&this.setAffiliate&&this.setAffiliate.due!=null&&(this.affiliateDueAmount=Number(this.setAffiliate.due))):this.showAddPayout(),this.setupWorkshopsTA(),this.$nextTick(()=>{this.refreshSemesterAllocationPreview()})}},J={class:"edit-payout"},X={class:"mb-6"},G={key:0},K={key:1},$=i("p",{class:"mb-0 strong font-bold"},"Please correct the following errors and submit again:",-1),ee=["innerHTML"],te={key:1,class:"mb-0"},se={key:0,class:"mb-4"},oe={key:0,class:"text-sm text-dark-400 mt-1.5 mb-0"},re={key:1,class:"mb-4"},ie={key:0,class:"rounded bg-dark-50 border-2 t-border-color t-padding flex items-center justify-center text-dark-500"},le={class:"h-[26px]"},ae={class:"p-3 block text-start hover:bg-dark-50 rounded"},ne=["innerHTML"],de={id:"amount-input-group",class:"mb-4"},ue={class:"relative"},ce=i("div",{class:"absolute z-10 top-0 start-0 h-full w-8 flex justify-end items-center"},"$",-1),he={key:1,class:"text-sm text-dark-400 mt-1.5"},pe=i("span",{class:"fas fa-circle-notch fa-spin mr-1"},null,-1),me={key:2,class:"text-sm text-dark-400 mt-1.5"},fe={key:3,class:"text-sm text-dark-400 mt-1.5"},_e={key:2,class:"mb-4 flex items-center gap-2 text-sm text-dark-400"},ye=i("span",null,"Loading semester allocationâ¦",-1),be={key:3,class:"mb-4"},ke=i("p",{class:"pre-title mb-4"},"Semester allocation",-1),we={class:"overflow-x-auto -mx-1"},ge={class:"t-table text-sm w-full min-w-[280px]"},ve=i("thead",{class:"bg-dark-50"},[i("tr",null,[i("th",{class:"text-start py-2 px-2"},"Semester"),i("th",{class:"text-end py-2 px-2"},"Amount")])],-1),xe={class:"py-2 px-2"},Me={class:"text-end py-2 px-2"},Ae={key:4,class:"mb-4"},De=i("p",{class:"text-sm text-dark-400 mt-1.5 mb-0"}," Optional: record how much of this payout applies to each past semester. Saving semester allocation will also save a new payout if it has not been saved yet. ",-1),Pe={key:5,class:"text-sm text-dark-400 mb-4"},Se={class:"mb-4"},Te={class:"grid gap-2"},Fe={key:4,class:"view-payout"},Ce=i("p",{class:"pre-title"},"Amount",-1),Oe={class:"mb-4"},Re=i("p",{class:"pre-title"},"Date",-1),Ve={class:"mb-4"},He=i("p",{class:"pre-title"},"Type",-1),Le=i("p",{class:"mb-4"},"Affiliate",-1),Be=i("p",{class:"pre-title"},"Affiliate",-1),Ie={class:"mb-4"},Ne=i("p",{class:"pre-title"},"Workshop",-1),Ee=["innerHTML"],ze=i("p",{class:"pre-title"},"Payment Method",-1),Ue={class:"mb-4"},We={key:2},Ye=i("p",{class:"pre-title"},"Notes",-1),je=["innerHTML"],qe={key:3,class:"mb-4 flex items-center gap-2 text-sm text-dark-400"},Ze=i("span",null,"Loading semester allocationâ¦",-1),Qe={key:4,class:"mb-4"},Je=i("p",{class:"pre-title mb-2"},"Semester allocation",-1),Xe={class:"overflow-x-auto -mx-1"},Ge={class:"t-table text-sm w-full min-w-[280px]"},Ke=i("thead",{class:"bg-dark-50"},[i("tr",null,[i("th",{class:"text-start py-2 px-2"},"Semester"),i("th",{class:"text-end py-2 px-2"},"Amount")])],-1),$e={class:"py-2 px-2"},et={class:"text-end py-2 px-2"},tt={class:"grid gap-2"},st=i("h3",{class:"text-xl font-semibold mb-3 pe-8"},"Payout Semester Allocation",-1),ot={key:0,class:"text-sm text-dark-400 mb-3"},rt={key:1,class:"py-8 flex justify-center"},it={key:2},lt={key:0,class:"mb-5"},at={class:"text-center mb-3"},nt=i("p",{class:"text-sm text-dark-400 mb-1"},"Remaining to allocate",-1),dt=["aria-label"],ut={class:"flex justify-between gap-4 mt-3 text-sm"},ct={class:"text-start min-w-0"},ht=i("p",{class:"text-dark-400 mb-0.5"},"Allocated",-1),pt={class:"font-semibold tabular-nums text-base"},mt={class:"text-end min-w-0"},ft=i("p",{class:"text-dark-400 mb-0.5"},"Payout amount",-1),_t={class:"font-semibold tabular-nums text-base"},yt={class:"overflow-x-auto -mx-1"},bt={class:"t-table text-sm w-full min-w-[880px]"}
1,kt=i("thead",{class:"bg-dark-50"},[i("tr",null,[i("th",{class:"text-start py-2 px-2"},"Semester"),i("th",{class:"text-end py-2 px-2"},"Payable"),i("th",{class:"text-end py-2 px-2",title:"Signed semester payable (deficit semesters are negative). Stored allocations use the same sign."}," Allocation cap "),i("th",{class:"text-end py-2 px-2"},"Allocated (other payouts)"),i("th",{class:"text-end py-2 px-2"},"Max for this payout"),i("th",{class:"text-end py-2 px-2 min-w-[220px]"},"Amount")])],-1),wt={class:"py-2 px-2"},gt={key:0,class:"inline-block rounded bg-danger-100 text-danger-800 text-xs font-medium px-1.5 py-0.5 me-1 align-middle"},vt={key:1,class:"inline-block rounded bg-dark-100 text-dark-700 text-xs font-medium px-1.5 py-0.5 me-1 align-middle",title:"Registration opens on or after this payout date; shown because this semester has a balance due."},xt={class:"text-end py-2 px-2"},Mt={class:"text-end py-2 px-2"},At={class:"text-end py-2 px-2"},Dt={class:"text-end py-2 px-2"},Pt={class:"py-2 px-2"},St={key:0,class:"flex items-center justify-end gap-1.5 flex-nowrap"},Tt={key:1,class:"block text-end"},Ft={key:3,class:"text-dark-400 text-sm"},Ct={class:"flex flex-wrap justify-between items-center gap-2 mt-5 pt-4 border-t t-border-color"},Ot={class:"flex flex-wrap gap-2 ms-auto"};function Rt(e,o,n,u,t,l){const M=b("t-alert"),F=b("input-with-label"),O=b("t-label"),S=b("t-input"),f=b("loading"),T=b("Typeahead"),H=b("t-form-error"),A=b("t-button"),a=b("t-checkbox"),h=b("font-awesome-icon"),P=b("Modal");return s(),r("div",J,[i("h3",X,[t.payout.id?(s(),r("span",G,"Payout #"+c(t.payout.id),1)):(s(),r("span",K,"New Payout"))]),t.saved?(s(),w(M,{key:0,variant:"success",class:"mb-4"},{default:_(()=>[k(" The payout was saved successfully. ")]),_:1})):t.deleted?(s(),w(M,{key:1,variant:"success",class:"mb-4"},{default:_(()=>[k(" The payout was deleted successfully. ")]),_:1})):t.errors?(s(),w(M,{key:2,variant:"danger",class:"mb-4"},{default:_(()=>[$,t.errors.message?(s(),r("p",{key:0,innerHTML:t.errors.message},null,8,ee)):t.errors.length?(s(),r("ul",te,[(s(!0),r(y,null,x(t.errors,d=>(s(),r("li",null,c(d[0]),1))),256))])):p("",!0)]),_:1})):p("",!0),t.editMode&&n.user&&n.user.role_name&&n.user.role_name!="Instructor"?(s(),r("form",{key:3,onSubmit:o[7]||(o[7]=v((...d)=>l.savePayout&&l.savePayout(...d),["prevent"])),id:"edit-payout-form",novalidate:"novalidate",class:"needs-validation",ref:"editForm"},[m(F,{class:"mb-4",label:"Date",type:"date",placeholder:"MM/DD/YYYY",format:"MM/dd/yy",required:!0,modelValue:t.payout.date,"onUpdate:modelValue":o[0]||(o[0]=d=>t.payout.date=d),id:"payouts-date-start-select",error:l.validDate?"":"Date is required",info:"Enter the date the payout occurred."},null,8,["modelValue","error"]),l.isAffiliateMode?(s(),r("div",se,[m(O,null,{default:_(()=>[k("Affiliate")]),_:1}),m(S,{size:"sm",readonly:"","model-value":l.affiliateDisplayName},null,8,["model-value"]),l.affiliateDueHint?(s(),r("p",oe,c(l.affiliateDueHint),1)):p("",!0)])):(s(),r("div",re,[m(O,{for:"workshop-input"},{default:_(()=>[k("Workshop")]),_:1}),t.loadingWorkshopSuggestions?(s(),r("div",ie,[i("div",le,[m(f,{class:"dark"})])])):(s(),r(y,{key:1},[t.workshopSuggestions&&t.workshopSuggestions.length?(s(),w(T,{key:0,id:"workshop-input",ref:"workshopSearchBox",placeholder:"Start typing workshop title...",class:"rounded bg-white outline-none border-2 t-border-color t-padding block w-full text-dark-500 mx-auto placeholder:text-dark-300 focus:border-dark-200 focus:ring-dark-200 disabled:bg-dark-50",disabled:t.saving||t.deleting,items:t.workshopSuggestions,"min-input-length":2,itemProjection:l.handleWorkshopsTaProjection,itemFill:l.handleWorkshopsTaFill,onSelectItem:l.onSelectWorkshop,onOnBlur:l.onBlurWorkshopInput,modelValue:t.workshopQ,"onUpdate:modelValue":o[1]||(o[1]=d=>t.workshopQ=d)},{"list-item-text":_(d=>[i("span",ae,[i("span",{innerHTML:d.boldMatchText(l.workshopTitlePlain(d.item.title))},null,8,ne)])]),_:1},8,["disabled","items","itemProjection","itemFill","onSelectItem","onOnBlur","modelValue"])):p("",!0),l.validWorkshop?p("",!0):(s(),w(H,{key:1},{default:_(()=>[k("Workshop is required")]),_:1}))],64))])),i("div",de,[m(O,{for:"amount-input"},{default:_(()=>
1[k("Amount")]),_:1}),i("div",ue,[m(S,{disabled:l.amountDisabled(),id:"amount-input",modelValue:t.payout.amount,"onUpdate:modelValue":o[2]||(o[2]=d=>t.payout.amount=d),type:"number",required:"",step:".01",class:"ps-10",placeholder:"100.00"},null,8,["disabled","modelValue"]),ce]),l.validAmount?p("",!0):(s(),w(H,{key:0},{default:_(()=>[k("Amount is required")]),_:1})),t.loadingOwedAmount?(s(),r("p",he,[pe,k(" Calculating workshop amount owed ")])):!l.isAffiliateMode&&t.defaultOwed!=null?(s(),r("p",me,c(e.money(t.defaultOwed))+" is currently owed for this workshop. ",1)):l.isAffiliateMode&&t.affiliateDueAmount!=null?(s(),r("p",fe,c(e.money(t.affiliateDueAmount))+" is currently due for this affiliate. ",1)):p("",!0)]),m(F,{label:"Payment Method",type:"select",class:"mb-4",required:!0,modelValue:t.payout.payment_method,"onUpdate:modelValue":o[3]||(o[3]=d=>t.payout.payment_method=d),options:[{label:"Bank Transfer",value:"Bank Transfer"},{label:"Check",value:"check"}],id:"payment-method-select"},null,8,["modelValue"]),m(F,{label:"Notes",type:"textarea",class:"mb-4",id:"notes-input",info:"Reference notes with details about this payout",modelValue:t.payout.notes,"onUpdate:modelValue":o[4]||(o[4]=d=>t.payout.notes=d)},null,8,["modelValue"]),l.showSemesterAllocationUi&&t.payout.id&&t.semesterPreviewLoading?(s(),r("div",_e,[m(f,{class:"dark"}),ye])):l.showSemesterAllocationUi&&t.payout.id&&l.nonZeroSemesterAllocations.length?(s(),r("div",be,[ke,i("div",we,[i("table",ge,[ve,i("tbody",null,[(s(!0),r(y,null,x(l.nonZeroSemesterAllocations,d=>(s(),r("tr",{key:"edit-"+d.semester_id},[i("td",xe,c(d.semester_name),1),i("td",Me,c(e.money(d.current_amount)),1)]))),128))])])])])):p("",!0),l.showSemesterAllocationUi&&t.payout.workshop_id&&t.payout.date?(s(),r("div",Ae,[m(A,{type:"button",variant:"outline-secondary",size:"sm",disabled:t.saving||t.deleting,onClick:o[5]||(o[5]=v(d=>l.openSemesterModal(!1),["prevent"]))},{default:_(()=>[k(" Semester allocation⦠")]),_:1},8,["disabled"]),De])):l.showSemesterAllocationUi&&(!t.payout.workshop_id||!t.payout.date)?(s(),r("p",Pe," Select a workshop and date to assign semester allocation. ")):p("",!0),i("div",Se,[m(a,{id:"notify-instructor-checkbox",modelValue:t.payout.notify_instructor,"onUpdate:modelValue":o[6]||(o[6]=d=>t.payout.notify_instructor=d)},{default:_(()=>[l.isAffiliateMode?(s(),r(y,{key:0},[k(" Send an email notification to the affiliate about this payout ")],64)):(s(),r(y,{key:1},[k(" Send an email notification to the instructor(s) about this payout ")],64))]),_:1},8,["modelValue"])]),i("div",Te,[m(A,{disabled:t.saving||t.deleting||!l.validAmount||!l.validPayee||!l.validDate,loading:t.saving,onClick:v(l.savePayout,["prevent"]),variant:"primary"},{default:_(()=>[k(" Save ")]),_:1},8,["disabled","loading","onClick"]),t.payout.id?(s(),w(A,{key:0,onClick:v(l.cancelEdit,["prevent"]),variant:"outline-dark"},{default:_(()=>[k(" Cancel ")]),_:1},8,["onClick"])):p("",!0)])],544)):t.deleted?p("",!0):(s(),r("div",Fe,[Ce,i("p",Oe,c(e.money(t.payout.amount)),1),Re,i("p",Ve,c(l.displayPayoutDate),1),l.isAffiliateMode?(s(),r(y,{key:0},[He,Le,Be,i("p",Ie,c(l.affiliateDisplayName),1)],64)):(s(),r(y,{key:1},[Ne,i("p",{class:"mb-4",innerHTML:n.workshopIndex[t.payout.workshop_id]},null,8,Ee)],64)),ze,i("p",Ue,c(t.payout.payment_method),1),t.payout.notes?(s(),r("div",We,[Ye,i("p",{class:"mb-4",innerHTML:l.formatLineBreaks(t.payout.notes)},null,8,je)])):p("",!0),l.showSemesterAllocationUi&&t.payout.id&&t.semesterPreviewLoading?(s(),r("div",qe,[m(f,{class:"dark"}),Ze])):l.showSemesterAllocationUi&&t.payout.id&&l.nonZeroSemesterAllocations.length?(s(),r("div",Qe,[Je,i("div",Xe,[i("table",Ge,[Ke,i("tbody",null,[(s(!0),r(y,null,x(l.nonZeroSemesterAllocations,d=>(s(),r("tr",{key:"view-"+d.semester_id},[i("td",$e,c(d.semester_name),1),i("td",et,c(e.money(d.current_amount)),1)]))),128))])])])])):p("",!0),i("div",tt,[n.user&&n.user.role_name&&n.user.role_name!="Instructor"?(s(),w(A,{key:0,onClick:v(l.showEditMode,["prevent"]),variant:"outline-info"},{default:_(()=>[k(" Edit ")]),_:1},8,["onClick"])):p("",!0),n.user&&n.user.role_name&&n.user.role_name!="Instructor"?(s(),w(A,{key:1,disabled:t.deleting||t.deleting,loading:t.deleting,onClick:v(l.deletePayout,["prevent"]),variant:"danger"},{default:_(()=>[k(" Delete ")]),_:1},8,["disabled","loading","onClick"])):p("",!0)])])),m(P,{modelValue:t.semesterModalOpen,"onUpdate:modelValue":o[9]||(o[9]=d=>t.semesterModalOpen=d),"body-classes":"p-4 sm:p-6 w-full max-w-6xl","wrapper-classes":""},{default:_(()=>[st,t.semesterModalReadOnly?(s(),r("p",ot," Read-only view. Choose Edit on the payout, then use âSemester allocationâ¦â to make changes. ")):p("",!0),t.loadingSemesterOptions?(s(),r("div",rt,[m(f,{class:"dark"})])):(s(),r(y,{key:2},[t.semesterModalError?(s(),w(M,{key:0,variant:"danger",class:"mb-3"},{default:_(()=>[k(c(t.semesterModalError),1)]),_:1})):t.semesterEligible?t.semesterRows.length?(s(),r("div",it,[t.semesterModalReadOnly?p("",!0):(s(),r("div",lt,[i("div",at,[nt,i("p",{class:g(["text-3xl sm:text-4xl font-bold tabular-nums leading-tight",l.semesterModalRemainingLargeClass])},c(e.money(l.semesterModalRemainingFromPayout)),3)]),i("div",{class:"relative h-5 rounded-full overflow-hidden bg-danger-500 border-3 t-border-color",role:"img","aria-label":"Allocated "+l.semesterModalBarGreenPct.toFixed(0)+" percent, unallocated "+l.semesterModalBarRedPct.toFixed(0)+" percent"},[i("div",{class:"absolute inset-y-0 left-0 bg-success-500 transition-[width] duration-200 ease-out rounded-e-none",style:W({width:l.semesterModalBarGreenPct+"%"})},null,4)],8,dt),i("div",ut,[i("div",ct,[ht,i("p",pt,c(e.money(l.semesterModalAllocatedTotal)),1)]),i("div",mt,[ft,i("p",_t,c(e.money(l.semesterModalPayoutTotal)),1)])])])),i("div",yt,[i("table",bt,[kt,i("tbody",null,[(s(!0),r(y,null,x(t.semesterRows,d=>(s(),r("tr",{key:d.semester_id},[i("td",wt,[d.is_deficit_semester?(s(),r("span",gt,"Deficit")):p("",!0),d.opens_before_payout===!1?(s(),r("span",vt,"Future")):p("",!0),i("span",null,c(d.semester_name),1)]),i("td",xt,c(e.money(d.payable)),1),i("td",Mt,c(e.money(d.allocation_cap!=null?d.allocation_cap:d.payable)),1),i("td",At,c(e.money(d.allocated_from_other_payouts)),1),i("td",Dt,c(l.semesterMaxForPayoutColumnDisplay(d)),1),i("td",Pt,[t.semesterModalReadOnly?(s(),r("span",Tt,c(e.money(d.edit_amount||0)),1)):(s(),r("div",St,[d.is_deficit_semester?(s(),w(S,{key:1,type:"number",step:"0.01",min:l.deficitSemesterInputMin(d),max:"0",size:"sm",class:"text-end max-w-[6.5rem] shrink-0",modelValue:d.edit_amount,"onUpdate:modelValue":D=>d.edit_amount=D,modelModifiers:{number:!0},disabled:l.deficitSemesterRowInputDisabled(d)},null,8,["min","modelValue","onUpdate:modelValue","disabled"])):(s(),w(S,{key:0,t
1ype:"number",step:"0.01",min:"0",max:l.effectiveMaxForSemesterRow(d),size:"sm",class:"text-end max-w-[6.5rem] shrink-0",modelValue:d.edit_amount,"onUpdate:modelValue":D=>d.edit_amount=D,modelModifiers:{number:!0},disabled:l.effectiveMaxForSemesterRow(d)<=0},null,8,["max","modelValue","onUpdate:modelValue","disabled"])),m(A,{type:"button",size:"sm",variant:"outline-secondary",class:"shrink-0 px-2",title:"Clear amount",disabled:!l.semesterRowHasAmount(d),onClick:v(D=>l.clearSemesterRowAmount(d),["prevent"])},{default:_(()=>[m(h,{icon:"fa-solid fa-xmark"})]),_:2},1032,["disabled","onClick"]),m(A,{type:"button",size:"sm",variant:"outline-secondary",class:"shrink-0",title:"Fill the largest amount allowed for this row (toward deficit for negative semesters)",disabled:l.semesterRowMaxButtonDisabled(d),onClick:v(D=>l.applyMaxSemesterRowAmount(d),["prevent"])},{default:_(()=>[k(" Max ")]),_:2},1032,["disabled","onClick"])]))])]))),128))])])])])):(s(),r("p",Ft," No past semesters apply (registration must have opened before this payout date). ")):(s(),w(M,{key:1,variant:"warning",class:"mb-3"},{default:_(()=>[k(c(t.semesterIneligibleMessage),1)]),_:1}))],64)),i("div",Ct,[t.semesterEligible&&t.semesterRows.length&&!t.semesterModalReadOnly&&t.payout.id?(s(),w(A,{key:0,size:"sm",variant:"outline-danger",loading:t.savingSemesterAllocations,disabled:t.savingSemesterAllocations,onClick:v(l.clearAllSemesterAllocations,["prevent"])},{default:_(()=>[k(" Clear all allocations ")]),_:1},8,["loading","disabled","onClick"])):p("",!0),i("div",Ot,[m(A,{size:"sm",variant:"outline-dark",disabled:t.savingSemesterAllocations,onClick:o[8]||(o[8]=v(d=>t.semesterModalOpen=!1,["prevent"]))},{default:_(()=>
1[k(" Close ")]),_:1},8,["disabled"]),t.semesterEligible&&t.semesterRows.length&&!t.semesterModalReadOnly?(s(),w(A,{key:0,size:"sm",variant:"primary",loading:t.savingSemesterAllocations,disabled:t.savingSemesterAllocations||!l.semesterAllocationSaveAllowed,title:l.semesterAllocationSaveAllowed?"":"Allocate the full payout amount (remaining must be $0.00) before saving.",onClick:v(l.saveSemesterAllocations,["prevent"])},{default:_(()=>[k(" Save semester allocation ")]),_:1},8,["loading","disabled","title","onClick"])):p("",!0)])])]),_:1},8,["modelValue"])])}const Vt=I(Q,[["render",Rt],["__file","PayoutEditor.vue"]]),Ht={props:["data","workshopIndex","user","setFilters"],emits:["editPayout","updateFilters"],components:{Datepicker:E},data(){return{exportUrl:"/dashboard/payouts/log/export",overview:[],totals:{},preventReload:!1,loading:!0,errorMessage:"",successMessage:"",pagination:{data:[]},tableHeadings:{id:{label:"ID",sort:!0},date:{sort:!0},amount:{class:"text-right",sort:!0,currency:!0},type_label:{label:"Type",sort:!1},has_semester_allocations:{label:"Sem. alloc.",class:"text-center whitespace-nowrap"},payee_label:{label:"Payee"}},endDatePlaceholder:"Select Date",startDatePlaceholder:"Select Date",bulkAction:"",bulkActionItems:[],workshopOptions:[],typeOptions:[{label:"All types",value:""},{label:"Workshop",value:"workshop"},{label:"Affiliate",value:"affiliate"}],incurredByOptions:[{text:"All",value:""},{text:"Instructor",value:"Instructor"},{text:"GW",value:"GW"}],filters:{orderBy:"date",order:"desc",workshop:"",type:"",startDate:"",endDate:"",incurredBy:""}}},methods:{refetch(){this.fetchPayouts()},getOverviewValue(e){return e.value},getOverviewClass(e){const o=this.getOverviewValue(e);return e.key=="owed"?"":o>0?"text-success-500":"text-danger-500"},getQuarterName(e){return e?e.replace("_"," Q"):""},async finalizeBulkAction(){let e="/api/payouts/bulk",o=this,n={action:this.bulkAction,payouts:this.bulkActionItems};this.loading=!0;try{let{data:u}=await R.post(e,n);u.success?(this.successMessage=u.message,this.fetchPayouts()):(this.errorMessage=u.message,this.loading=!1)}catch(u){u.response&&u.response.data&&console.log(u.response.data),o.errorMessage="Error: "+u.response.data,this.loading=!1}this.bulkAction="",this.bulkActionItems=[]},doBulkAction(){this.bulkAction=="delete"&&!window.confirm("Are you sure you want to bulk delete the selected payouts? This cannot be undone.")||this.finalizeBulkAction()},updateOrder(e){this.filters.orderBy==e?this.filters.order=this.filters.order=="desc"?"asc":"desc":this.filters.orderBy=e},viewPayout(e){this.$emit("editPayout",e)},resetFilters(){this.filters={orderBy:"date",order:"desc",workshop:"",type:"",startDate:"",endDate:""}},onSelectAll(){this.isAllSelected?this.bulkActionItems=[]:(this.bulkActionItems=[],this.pagination.data.forEach(e=>{this.bulkActionItems.push(e.id)}))},toggleBulkPayout(e){let o=this.bulkActionItems.indexOf(e);o>-1?this.bulkActionItems.splice(o,1):this.bulkActionItems.push(e)},async fetchPayouts(e){var o=this;this.loading=!0;let n="/api/payouts",u={...this.filters};e&&(u.page=e),this.filters.startDate?u.startDate=C(this.filters.startDate).format("YYYY-MM-DD"):u.startDate="",this.filters.endDate?u.endDate=C(this.filters.endDate).format("YYYY-MM-DD"):u.endDate="",u.overview=u.overview?1:0;try{let{data:t}=await R.get(n,{params:u});o.pagination=t.pagination,t.filters&&(t.filters.startDate&&(t.filters.startDate=C(t.filters.startDate).toDate()),t.filters.endDate&&(t.filters.endDate=C(t.filters.endDate).toDate()),this.preventReload=!0,this.filters=t.filters),o.totals=t.totals,t.overview&&(o.overview=t.overview);let l=t.workshopOptions.map(M=>({label:M.title,value:M.id}));this.workshopOptions=l,o.loading=!1}catch(t){t.response&&t.response.data?console.log(t.response.data):console.log(t),o.errorMessage="Sorry, an error occurred. Please refresh the page and try again."}}},computed:{startDateOptions(){const e=C("01/01/19","MM/DD/YY").toDate();let o={format:"MM/DD/YY",maxDate:new Date,minDate:e,useCurrent:!1,showClear:!0};return this.filters.endDate&&(o.maxDate=C(this.filters.endDate).toDate()),o},endDateOptions(){const e=C("01/01/19","MM/DD/YY").toDate();let o={format:"MM/DD/YY",maxDate:new Date,minDate:e,useCurrent:!1,showClear:!0};return this.filters.startDate&&(o.minDate=C(this.filters.startDate).toDate()),o},hasPagination(){return this.pagination&&this.pagination.last_page&&this.pagination.last_page>1},isAllSelected(){return this.bulkActionItems.length>=this.pagination.data.length},isAdmin(){return this.user&&(this.user.role_name==="Administrator"||this.user.role_name==="Super Admin")},showWorkshopFilter(){return this.isAdmin?this.filters.type==="workshop":!0}},watch:{"filters.type"(e){e!=="workshop"&&this.filters.workshop&&(this.filters.workshop="")},filters:{handler:function(e,o){this.$emit("updateFilters",e);let n=this;this.preventReload?this.preventReload=!1:L.debounce(function(){n.fetchPayouts()},200)()},deep:!0},user:{handler(e){this.filters=e.filters},deep:!0},bulkActionItems:{handler(e){e.length>0&&!this.bulkAction&&(this.bulkAction="delete"),e.length===0&&(this.bulkAction="")}}},mounted(){this.setFilters?(this.filters={...this.setFilters},this.filters.page=1):this.fetchPayouts()}},Lt={class:"payouts-log"},Bt={class:"flex flex-row items-center"},It=["innerHTML"],Nt={class:"flex flex-row items-center"},Et=["innerHTML"],zt={class:"bg-white rounded-t shadow border-b-2 t-border-color"},Ut={class:"flex flex-col sm:flex-row sm:items-stretch md:flex-col lg:flex-row"},Wt={key:0,class:"w-full py-4 text-center flex justify-center items-center"},Yt=["id"],jt={class:""},qt={key:0},Zt=["innerHTML"],Qt={class:"grid"},Jt=["innerHTML"],Xt={class:"bg-white rounded-b shadow mb-3 p-3"},Gt={class:"grid grid-cols-2 gap-3 lg:flex"},Kt={key:0,class:"col-span-2"},$t=i("label",{for:"bulk-action-select"},"Bulk Action",-1),es={class:"flex"},ts={key:1,class:"col-span-2 lg:grow grid grid-cols-2 gap-3"},ss={key:0},os={key:2,class:"col-span-2 sm:col-span-1 lg:flex lg:shrink-0"},rs={class:"grid gap-3 grid-cols-2"},is={key:3,class:"grid gap-3 grid-cols-2 col-span-2 sm:col-span-1 self-end lg:shrink-0 lg:flex"},ls=i("span",{class:"md:hidden"},"Clear Filters",-1),as=i("span",{class:"md:hidden"},"Export CSV",-1),ns={class:"t-border-default rounded mb-4 bg-white"},ds={class:"t-table text-sm t-table-border-y",id:"payouts-table",style:{"min-height":"160px"}}
1,us={class:"bg-dark-50"},cs=["onClick"],hs={key:0},ps={key:1},ms={key:1},fs={key:0},_s={key:1},ys={class:"relative"},bs={key:0},ks={colspan:"100%",class:"p-2 w-full text-center stretch flex justify-center items-center",style:{"vertical-align":"middle"}},ws={key:1},gs=i("td",{colspan:"100%",class:"p-2 text-center bg-light",style:{"vertical-align":"middle"}},[i("span",{class:"text-dark-300"},"There are no payouts that match your filters.")],-1),vs=[gs],xs={class:"hover:bg-dark-50 transition-colors"},Ms=["onClick"],As=["onClick"],Ds={key:0},Ps=["innerHTML"],Ss=["innerHTML"],Ts={key:1},Fs=["title"],Cs={key:1,class:"text-dark-300"},Os={key:3},Rs=["innerHTML"],Vs={key:3,class:"bg-dark-50"},Hs={key:0},Ls={key:0,class:"font-bold"},Bs={key:0},Is={key:1};function Ns(e,o,n,u,t,l){const M=b("font-awesome-icon"),F=b("t-alert"),O=b("loading"),S=b("t-select"),f=b("t-button"),T=b("t-label"),H=b("t-input"),A=b("Datepicker"),a=b("t-checkbox"),h=b("pagination"),P=z("tooltip");return s(),r("div",Lt,[t.errorMessage?(s(),w(F,{key:0,variant:"danger",class:"mb-4"},{default:_(()=>[i("div",Bt,[i("span",{innerHTML:t.errorMessage},null,8,It),i("button",{class:"px-3 py-1.5 ms-auto hover:opacity-75 transition-opacity",onClick:o[0]||(o[0]=v(d=>t.errorMessage="",["prevent"]))},[m(M,{icon:"fa-solid fa-xmark"})])])]),_:1})):p("",!0),t.successMessage?(s(),w(F,{key:1,variant:"success",class:"mb-4"},{default:_(()=>[i("div",Nt,[i("span",{innerHTML:t.successMessage},null,8,Et),i("button",{onClick:o[1]||(o[1]=v(d=>t.successMessage="",["prevent"])),class:"px-3 py-1.5 ms-auto hover:opacity-75 transition-opacity"},[m(M,{icon:"fa-solid fa-xmark"})])])]),_:1})):p("",!0),i("div",zt,[i("div",Ut,[!t.overview||!t.overview.length?(s(),r("div",Wt,[m(O,{class:"dark opacity-50"})])):p("",!0),(s(!0),r(y,null,x(t.overview,(d,D)=>(s(),r("div",{id:`overview-${D}`,class:g([D>0?"border-t-2 sm:border-t-0 md:border-t-2 lg:border-t-0":"",D>0?"sm:border-s-2 md:border-s-0 lg:border-s-2":"","grow text-center px-2 py-3 flex items-center justify-center flex-col t-border-color"])},[i("div",jt,[i("h3",{class:g(["mb-0 inline-block",l.getOverviewClass(d)])}
1,[d.currency?(s(),r("span",qt,c(e.money(l.getOverviewValue(d))),1)):(s(),r("span",{key:1,innerHTML:l.getOverviewValue(d)},null,8,Zt))],2),i("div",Qt,[i("p",{class:"uppercase font-bold tracking-widest text-dark-300 text-xs inline-block",innerHTML:d.label},null,8,Jt)])])],10,Yt))),256))])]),i("div",Xt,[i("div",Gt,[t.bulkActionItems.length?(s(),r("div",Kt,[$t,i("div",es,[m(S,{size:"sm",disabled:t.loading,id:"bulk-action-select",modelValue:t.bulkAction,"onUpdate:modelValue":o[2]||(o[2]=d=>t.bulkAction=d),options:[{label:"Delete",value:"delete"}]},null,8,["disabled","modelValue"]),m(f,{size:"sm",variant:"primary",class:"ms-1.5",onClick:v(l.doBulkAction,["prevent"])},{default:_(()=>[m(M,{icon:"fa-solid fa-arrow-right"})]),_:1},8,["onClick"])])])):p("",!0),t.bulkActionItems.length?p("",!0):(s(),r("div",ts,[l.isAdmin?(s(),r("div",ss,[m(T,{for:"payouts-type-select"},{default:_(()=>[k("Type")]),_:1}),m(S,{size:"sm",disabled:t.loading,id:"payouts-type-select",modelValue:t.filters.type,"onUpdate:modelValue":o[3]||(o[3]=d=>t.filters.type=d),options:t.typeOptions},null,8,["disabled","modelValue","options"])])):p("",!0),l.showWorkshopFilter?(s(),r("div",{key:1,class:g(l.isAdmin?"":"col-span-2")},[m(T,{for:"payouts-workshop-select"},{default:_(()=>[k("Workshop")]),_:1}),t.workshopOptions.length>1?(s(),w(S,{key:0,size:"sm",disabled:t.loading,id:"payouts-workshop-select",modelValue:t.filters.workshop,"onUpdate:modelValue":o[4]||(o[4]=d=>t.filters.workshop=d),options:t.workshopOptions},null,8,["disabled","modelValue","options"])):t.workshopOptions[0]?(s(),w(H,{key:1,size:"sm",readonly:"",modelValue:t.workshopOptions[0].html,"onUpdate:modelValue":o[5]||(o[5]=d=>t.workshopOptions[0].html=d)},null,8,["modelValue"])):p("",!0)],2)):p("",!0)])),!t.bulkActionItems.length&&!t.filters.quarter?(s(),r("div",os,[i("div",rs,[i("div",null,[m(T,{for:"payouts-date-start-select"},{default:_(()=>[k("From")]),_:1}),m(A,{"enable-time-picker":!1,onFocus:o[6]||(o[6]=d=>t.startDatePlaceholder="MM/DD/YY"),onBlur:o[7]||(o[7]=d=>t.startDatePlaceholder="Select Date"),placeholder:t.startDatePlaceholder,size:"sm",disabled:t.loading,config:l.startDateOptions,modelValue:t.filters.startDate,"onUpdate:modelValue":o[8]||(o[8]=d=>t.filters.startDate=d)},null,8,["placeholder","disabled","config","modelValue"])]),i("div",null,[m(T,{for:"payouts-date-end-select"},{default:_(()=>[k("To")]),_:1}),m(A,{"enable-time-picker":!1,onFocus:o[9]||(o[9]=d=>t.endDatePlaceholder="MM/DD/YY"),onBlur:o[10]||(o[10]=d=>t.endDatePlaceholder="Select Date"),placeholder:t.endDatePlaceholder,size:"sm",disabled:t.loading,config:l.endDateOptions,modelValue:t.filters.endDate,"onUpdate:modelValue":o[11]||(o[11]=d=>t.filters.endDate=d)},null,8,["placeholder","disabled","config","modelValue"])])])])):p("",!0),t.bulkActionItems.length?p("",!0):(s(),r("div",is,[V((s(),w(f,{onClick:v(l.resetFilters,["prevent"]),size:"sm",variant:"outline-secondary"},{default:_(()=>[m(M,{icon:"fa-solid fa-eraser"}),ls]),_:1},8,["onClick"])),[[P,{html:"Clear Filters"}]]),V((s(),w(f,{href:t.exportUrl,target:"_blank",size:"sm",variant:"outline-secondary"},{default:_(()=>[m(M,{icon:"fa-solid fa-file-csv"}),as]),_:1},8,["href"])),[[P,{html:"Export CSV"}]])]))])]),i("div",ns,[i("table",ds,[i("thead",us,[i("tr",null,[t.pagination.data.length&&n.user&&n.user.role_name&&n.user.role_name!="Instructor"?(s(),r("th",{key:0,onClick:o[13]||(o[13]=v((...d)=>l.onSelectAll&&l.onSelectAll(...d),["prevent"])),class:"ps-3 py-2 pe-0"},[m(a,{size:"sm",onClick:o[12]||(o[12]=v(()=>{},["stop"])),checked:l.isAllSelected,onInput:l.onSelectAll},null,8,["checked","onInput"])])):p("",!0),(s(!0),r(y,null,x(t.tableHeadings,(d,D)=>(s(),r("th",{class:g(d.class||"whitespace-nowrap")},[d.sort&&t.pagination.data.length?(s(),r("a",{key:0,class:g([t.filters.orderBy==D?"text-primary-500":""]),href:"#",onClick:v(B=>l.updateOrder(D),["prevent"])},[d.label?(s(),r("span",hs,c(d.label),1)):(s(),r("span",ps,c(e.capitalize(D)),1)),t.filters.orderBy==D?(s(),w(M,{key:2,class:"ms-1",icon:`fa-solid fa-${t.filters.order=="desc"?"caret-down":"caret-up"}`},null,8,["icon"])):p("",!0)],10,cs)):(s(),r("span",ms,[d.label?(s(),r("span",fs,c(d.label),1)):(s(),r("span",_s,c(e.capitalize(D)),1))]))],2))),256))])]),i("tbody",ys,[t.loading&&!t.pagination.data.length?(s(),r("tr",bs,[i("td",ks,[m(O,{class:"dark"})])])):!t.loading&&!t.pagination.data.length?(s(),r("tr",ws,vs)):(s(!0),r(y,{key:2},x(t.pagination.data,d=>(s(),r("tr",xs,[n.user&&n.user.role_name&&n.user.role_name!="Instructor"?(s(),r("td",{key:0,onClick:v(D=>l.toggleBulkPayout(d.id),["prevent"]),class:"ps-3 py-2"},[m(a,{onClick:o[14]||(o[14]=v(()=>{},["stop"])),size:"sm",value:d.id,modelValue:t.bulkActionItems,"onUpdate:modelValue":o[15]||(o[15]=D=>t.bulkActionItems=D)},null,8,["value","modelValue"])],8,Ms)):p("",!0),(s(!0),r(y,null,x(t.tableHeadings,(D,B)=>(s(),r("td",{onClick:v(ji=>l.viewPayout(d),["prevent"]),class:g(D.class||"")},[B=="workshop_id"||B=="payee_label"?(s(),r("span",Ds,[d.type==="affiliate"||!d.workshop_id?(s(),r("span",{key:0,innerHTML:d.payee_label||"â"},null,8,Ps)):(s(),r("span",{key:1,innerHTML:n.workshopIndex[d.workshop_id]||d.payee_label||"â"},null,8,Ss))])):B=="type"||B=="type_label"?(s(),r("span",Ts,c(d.type_label||(d.type==="affiliate"?"Affiliate":"Workshop")),1)):B=="has_semester_allocations"?(s(),r("span",{key:2,class:"text-center block",title:d.has_semester_allocations?"Semester allocation recorded":"No semester allocation"},[d.has_semester_allocations?(s(),w(M,{key:0,icon:"fa-solid fa-check",class:"text-success-600"})):(s(),r("span",Cs,"â"))],8,Fs)):D.currency?(s(),r("span",Os,c(e.money(d[B])),1)):(s(),r("span",{key:4,innerHTML:d[B]},null,8,Rs))],10,As))),256))]))),256)),t.pagination.data&&t.pagination.data.length>1?(s(),r("tr",Vs,[n.user&&n.user.role_name&&n.user.role_name!="Instructor"?(s(),r("td",Hs)):p("",!0),(s(!0),r(y,null,x(t.tableHeadings,(d,D)=>(s(),r("td",{class:g(d.class||"")},[t.totals[D]?(s(),r("span",Ls,[d.currency?(s(),r("span",Bs,c(e.money(t.totals[D])),1)):(s(),r("span",Is,c(t.totals[D]),1))])):p("",!0)],2))),256))])):p("",!0)])])]),l.hasPagination?(s(),w(h,{key:2,"item-name":"payouts","fetch-url":"/api/payouts",pagination:t.pagination,onFetch:l.fetchPayouts},null,8,["pagination","onFetch"])):p("",!0)])}const Es=I(Ht,[["render",Ns],["__file","PayoutsLog.vue"]]),zs={props:["data","setFilters"],data(){return{exportUrl:"/dashboard/payouts/workshop/export",loading:!0,tableHeadings:{},workshopData:[],overview:[],workshopOptions:[],endDatePlaceholder:"Select Date",orderBy:"workshop_title",order:"asc",filters:{workshop:"",endDate:""},defaultFilters:{}}},components:{Datepicker:E},watch:{filters:{handler(e){let o=this;this.$emit("updateFilters",e),L.debounce(function(){o.fetchData()},200)()},deep:!0}},methods:{refetch(){this.fetchData()},nonZeroClass(e,o){if(!o)return"";if(o>0&&e.gt_zero_class)return`text-${e.gt_zero_class}-500`;if(o<0&&e.lt_zero_class)return`text-${e.lt_zero_class}-500`},clearFilters(){this.filters={...this.defaultFilters}},sumTotal(e){return this.workshopData.reduce(function(o,n){return o+Number(n[e]||0)},0)},getOverviewValue(e){return L.sumBy(this.workshopData,e.key)},getOverviewClass(e){const o=this.getOverviewValue(e);return e.key=="owed"?"":o>0?"text-success-500":"text-danger-500"},updateOrder(e){e==this.orderBy?this.order=this.order=="asc"?"desc":"asc":this.orderBy=e;let o=[...this.workshopData];this.workshopData=L.orderBy(o,[e],[this.order])},async fetchData(){this.loading=!0;try{let{data:e}=await R.get("/api/payouts/summary-by-workshop",{params:this.filters});e.table_headings&&(this.tableHeadings=e.table_headings),e.workshop_data&&(this.workshopData=e.workshop_data),e.workshop_options&&(this.workshopOptions=L.map(e.workshop_options,o=>({label:o.title,value:o.id}))),e.overview&&(this.overview=e.overview)}catch(e){console.log(e)}this.loading=!1}}
1,computed:{minDate(){return Z("01/01/19","MM/DD/YY").toDate()},maxDate(){return new Date}},mounted(){this.defaultFilters={...this.filters},this.setFilters?(this.filters={...this.setFilters},this.filters.page=1,this.filters.workshop||(this.filters.workshop="")):this.fetchData()}},Us={key:0,class:"p-4 text-center"},Ws={key:1},Ys={class:"shadow bg-white rounded-t border-b-2 t-border-color p-0"},js={class:"flex justify-center align-items-stretch flex-col sm:flex-row md:flex-col lg:flex-row"},qs={key:0,class:"col-12 py-4 text-center",id:"table-loading-cover"},Zs=["id"],Qs={class:""},Js={class:"grid"},Xs=["innerHTML"],Gs={class:"shadow bg-white rounded-b mb-4 p-3"},Ks={class:"grid gap-3 grid-cols-2 sm:flex sm:items-end"},$s={key:0,class:"sm:grow"},eo={class:"sm:grow"},to={class:"text-info-500 hover:text-info-600"},so=i("span",{class:"fas fa-info-circle text-info"},null,-1),oo={class:"sm:shrink-0 grid"},ro=i("span",{class:"sm:hidden ms-1.5"},"Clear Filters",-1),io={class:"sm:shrink-0 grid"},lo=i("span",{class:"sm:hidden ms-1.5"},"Export CSV",-1),ao={key:0,class:"max-w-full t-border-default rounded overflow-x-auto bg-white"},no={class:"t-table text-sm min-w-full t-table-border-y",id:"invoice-table",style:{"min-height":"160px"}},uo={class:"bg-dark-50"},co={key:0,class:"pr-2",style:{width:"0"}},ho=["innerHTML"],po=["onClick"],mo={key:0},fo={key:1},_o={key:3,class:"text-info-500"},yo={key:2},bo={key:0},ko={key:1},wo={key:0},go=["innerHTML"],vo={class:"font-bold bg-light"},xo={key:0},Mo={key:1},Ao={key:2},Do=["innerHTML"],Po={class:"bg-white rounded t-border-default"},So={class:"t-table"},To={key:0,class:"hover:bg-dark-50 transition-colors"},Fo={scope:"row",class:"text-left"},Co={key:0,href:"#"},Oo=["innerHTML"],Ro=["innerHTML"],Vo=["innerHTML"];function Ho(e,o,n,u,t,l){const M=b("loading"),F=b("t-label"),O=b("t-select"),S=b("t-input"),f=b("font-awesome-icon"),T=b("Datepicker"),H=b("t-button"),A=z("tooltip");return t.loading?(s(),r("p",Us,[m(M,{class:"dark"})])):(s(),r("div",Ws,[i("div",Ys,[i("div",js,[!t.overview||!t.overview.length?(s(),r("div",qs,[m(M,{"css-class":"lg"})])):p("",!0),(s(!0),r(y,null,x(t.overview,(a,h)=>(s(),r("div",{id:h+"-overview",class:g([h>0?"border-t-2 sm:border-t-0 md:border-t-2 lg:border-t-0":"",h>0?"sm:border-s-2 md:border-s-0 lg:border-s-2":"","t-border-color grow text-center px-2 py-3 flex items-center justify-center flex-col"])},[i("div",Qs,[i("h3",{class:g(["mb-0 inline-block",l.getOverviewClass(a)])},[i("span",null,c(e.money(l.getOverviewValue(a))),1)],2),i("div",Js,[i("p",{class:"pre-title mb-0 inline-block",innerHTML:a.label},null,8,Xs)])])],10,Zs))),256))])]),i("div",Gs,[i("div",Ks,[t.workshopOptions.length?(s(),r("div",$s,[m(F,{for:"payouts-workshop-select"},{default:_(()=>[k("Workshop")]),_:1}),t.workshopOptions.length>1?(s(),w(O,{key:0,size:"sm",disabled:t.loading,id:"payouts-workshop-select",modelValue:t.filters.workshop,"onUpdate:modelValue":o[0]||(o[0]=a=>t.filters.workshop=a),options:t.workshopOptions},null,8,["disabled","modelValue","options"])):t.workshopOptions[0]?(s(),w(S,{key:1,readonly:"",size:"sm",modelValue:t.workshopOptions[0].html,"onUpdate:modelValue":o[1]||(o[1]=a=>t.workshopOptions[0].html=a)},null,8,["modelValue"])):p("",!0)])):p("",!0),i("div",eo,[m(F,{for:"payouts-end-date",id:"payouts-end-date-label"},{default:_(()=>[k(" End Date "),V((s(),r("button",to,[m(f,{icon:"fa-solid fa-info-circle"})])),[[A,{html:"For regular workshops, when the end date filter is used, expenses are calculated based on the <u>semester</u> registration date range - not the date listed on the expense record. This is to ensure semester-based instructor profit calculations are accurate.",innerClass:"text-start w-72"}]]),so]),_:1}),m(T,{"enable-time-picker":!1,onFocus:o[2]||(o[2]=a=>t.endDatePlaceholder="MM/DD/YY"),onBlur:o[3]||(o[3]=a=>t.endDatePlaceholder="Select Date"),placeholder:t.endDatePlaceholder,size:"sm",class:"min-w-[160px]",disabled:t.loading,"min-date":l.minDate,"max-date":l.maxDate,modelValue:t.filters.endDate,"onUpdate:modelValue":o[4]||(o[4]=a=>t.filters.endDate=a)},null,8,["placeholder","disabled","min-date","max-date","modelValue"])]),i("div",oo,[V((s(),w(H,{onClick:v(l.clearFilters,["prevent"]),variant:"outline-secondary",size:"sm"},{default:_(()=>[m(f,{icon:"fa-solid fa-eraser"}),ro]),_:1},8,["onClick"])),[[A,{html:"Clear Filters"}]])]),i("div",io,[V((s(),w(H,{target:"_blank",href:t.exportUrl,variant:"outline-secondary",size:"sm"},{default:_(()=>[m(f,{icon:"fa-solid fa-file-csv"}),lo]),_:1},8,["href"])),[[A,{html:"Export CSV"}]])])])]),t.workshopData.length>1?(s(),r("div",ao,[i("table",no,[i("thead",uo,[i("tr",null,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r("th",{class:g(["whitespace-nowrap",a.currency?"text-right":"",a.before_sign&&a.before_sign=="border"?"border-s-2":""])},[a.before_sign&&a.before_sign!="border"?(s(),r("span",co,[i("span",{innerHTML:a.before_sign},null,8,ho)])):p("",!0),t.workshopData.length?V((s(),r("a",{key:1,class:g({active:t.orderBy==h}),href:"#",onClick:v(P=>l.updateOrder(h),["prevent"])},[a.label?(s(),r("span",mo,c(a.abbr?a.abbr:a.label),1)):(s(),r("span",fo,c(e.capitalize(h)),1)),t.orderBy==h?(s(),w(f,{key:2,icon:`fa-solid fa-${t.order=="asc"?"caret-up":"caret-down"}`,class:"ms-1"},null,8,["icon"])):p("",!0),a.tooltip?(s(),r("span",_o,[m(f,{icon:"fa-solid fa-info-circle",class:"ms-1.5"})])):p("",!0)],10,po)),[[A,{html:a.tooltip,align:"bottom",innerClass:"w-48 whitespace-normal text-center"}]]):(s(),r("span",yo,[a.label?(s(),r("span",bo,c(a.abbr?a.abbr:a.label),1)):(s(),r("span",ko,c(e.capitalize(h)),1))]))],2))),256))])]),i("tbody",null,[(s(!0),r(y,null,x(t.workshopData,a=>(s(),r("tr",null,[(s(!0),r(y,null,x(t.tableHeadings,(h,P)=>(s(),r("td",{class:g([h.currency?"text-right":"",h.before_sign&&h.before_sign=="border"?"border-s-2":""])},[a[P]&&h.currency?(s(),r("span",wo,c(e.money(a[P])),1)):a[P]?(s(),r("span",{key:1,class:"block",style:{"max-width":"260px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},innerHTML:a[P]},null,8,go)):p("",!0)],2))),256))]))),256)),i("tr",vo,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r("td",{class:g([a.currency?"text-right":"",a.before_sign&&a.before_sign=="border"?"border-s-2":""])},[h=="workshop_title"?(s(),r("span",xo)):a.currency?(s(),r("span",Mo,c(e.money(l.sumTotal(h))),1)):(s(),r("span",Ao,c(l.sumTotal(h)),1))],2))),256))])])])])):t.workshopData.length==1?(s(),r(y,{key:1},[i("h4",{class:"mb-4",innerHTML:`${t.workshopData[0].workshop_title} Breakdown`},null,8,Do),i("div",Po,[i("table",So,[i("tbody",null,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r(y,null,[h!="workshop_title"?(s(),r("tr",To,[i("th",Fo,[a.tooltip?V((s(),r("a",Co,[i("span",{innerHTML:a.label},null,8,Oo),m(f,{icon:"fa-solid fa-info-circle",class:"text-info-500 ms-1.5"})])),[[A,{html:a.tooltip,align:"right",innerClass:"w-48 text-start"}]]):(s(),r("span",{key:1,innerHTML:a.label},null,8,Ro))]),i("td",{class:g([a.currency?"text-right":""])},[a.currency?(s(),r("span",{key:0,class:g(l.nonZeroClass(a,t.workshopData[0][h]))},c(e.money(t.workshopData[0][h])),3)):t.workshopData[0][h]?(s(),r("span",{key:1,class:"block",style:{"max-width":"260px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},innerHTML:t.workshopData[0][h]},null,8,Vo)):p("",!0)],2)])):p("",!0)],64))),256))])])])],64)):p("",!0)]))}const Lo=I(zs,[["render",Ho],["__file","PayoutsByWorkshop.vue"]]),Bo={props:["data","setFilters"],data(){return{exportUrl:"/dashboard/payouts/semester/export",loading:!0,tableHeadings:{},semesterData:[],extraData:[],overview:[],workshopOptions:[],semesterOptions:[],endDatePlaceholder:"Select Date",filters:{workshop:"",semester:"",order:"asc",orderBy:"semester_registration_close"},defaultFilters:{}}},components:{},watch:{filters:{handler(){let e=this;this.filters.semester===null&&(this.filters.semester=""),this.filters.workshop===null&&(this.filters.workshop=""),L.debounce(function(){e.fetchData()},200)()},deep:!0}},methods:{refetch(){this.fetchData()},nonZeroClass(e,o){if(!o)return"";if(o>0&&e.gt_zero_class)return`text-${e.gt_zero_class}`;if(o<0&&e.lt_zero_class)return`text-${e.lt_zero_class}`},showRow(e){return!!(e&&e.collected_revenue||e.all_expenses)},orderKey(e,o){return o&&o.orderBy?o.orderBy:e},clearFilters(){this.filters={...this.defaultFilters}},sumTotal(e){return this.semesterData.reduce(function(o,n){return o+Number(n[e]||0)},0)},sumExtraTotal(e){return this.extraData.reduce(function(o,n){return o+Number(n[e]||0)},0)},updateOrder(e){e==this.filters.orderBy?this.filters.order=this.filters.order=="asc"?"desc":"asc":this.filters.orderBy=e},async fetchData(){this.loading=!0;try{let{data:e}=await R.get("/api/payouts/summary-by-semester",{params:this.filters});if(console.log(e),e.table_headings&&(this.tableHeadings=e.table_headings),e.data&&(this.semesterData=e.data.data),e.extra_data&&e.extra_data.length){const o=L.orderBy(e.extra_data,[this.filters.orderBy],[this.filters.order]);this.extraData=o}else this.extraData=[];e.workshop_options&&(this.workshopOptions=L.map(e.workshop_options,o=>({label:o.title,value:o.id}))),e.semester_options&&(this.semesterOptions=L.map(e.semester_options,o=>({label:o.name,value:o.id})))}catch(e){console.log(e)}this.loading=!1}},computed:{extraDataInRows(){return this.extraData.length>1||this.semesterData.length>1&&this.extraData.length==1},extraDataInStack(){return this.extraData.length==1}},mounted(){this.defaultFilters={...this.filters},this.setFilters?(this.filters={...this.setFilters},this.filters.page=1):this.fetchData()}},Io={key:0,class:"p-4 flex justify-center items-center"},No={key:1},Eo={class:"bg-white rounded shadow mb-4 p-3"},zo={class:"grid grid-cols-2 gap-3 sm:flex sm:items-end"},Uo={key:0,class:"sm:grow"},Wo={key:1,class:"sm:grow"},Yo={class:"sm:shrink-0 grid"},jo=i("span",{class:"sm:hidden m2-1.5"},"Clear Filters",-1),qo={class:"sm:shrink-0 grid"},Zo=i("span",{class:"sm:hidden ms-1.5"},"Export CSV",-1),Qo={class:"text-sm mb-4"},Jo={class:"max-w-full overflow-x-auto bg-white rounded t-border-default mb-4"},Xo={class:"t-table text-sm t-table-border-y",id:"extra-payouts-table",style:{"min-height":"160px"}}
1,Go={class:"bg-dark-50"},Ko={key:0,class:"pe-2",style:{width:"0"}},$o=["innerHTML"],er=["onClick"],tr={key:0},sr={key:1},or={key:2,class:"text-info-500 ms-1"},rr={key:2},ir={key:0},lr={key:1},ar={key:0},nr={key:0},dr={key:1},ur=["innerHTML"],cr={class:"font-bold bg-dark-50"},hr={key:0},pr={key:1},mr={key:2},fr=["innerHTML"],_r={class:"bg-white rounded t-border-default"},yr={class:"t-table t-table-border-y"},br={key:0},kr=["innerHTML"],wr={class:"text-right"},gr={key:0},vr={key:1},xr=["innerHTML"],Mr={key:2,class:"t-border-default rounded bg-white max-w-full overflow-x-auto"},Ar={class:"t-table text-sm min-w-full t-table-border-y",id:"payouts-table",style:{"min-height":"160px"}},Dr={class:"bg-dark-50 text-left"},Pr={key:0,class:"pe-1.5",style:{width:"0"}},Sr=["innerHTML"],Tr=["onClick"],Fr={key:0},Cr={key:1},Or={key:3,class:"text-info-500 ms-1.5"},Rr={key:2},Vr={key:0},Hr={key:1},Lr={key:0},Br={key:0},Ir=["innerHTML"],Nr={class:"font-bold bg-dark-50"},Er={key:0},zr={key:1},Ur={key:2},Wr=["innerHTML"],Yr={class:"overflow-x-auto bg-white rounded"},jr={class:"t-table mb-0 text-left min-w-full"},qr={key:0},Zr={scope:"row"},Qr=["title"],Jr=["innerHTML"],Xr=["innerHTML"],Gr={class:"text-right"},Kr=["innerHTML"],$r={key:4,class:"mb-4 bg-white rounded shadow text-center py-10"};function ei(e,o,n,u,t,l){const M=b("loading"),F=b("t-label"),O=b("t-select"),S=b("t-input"),f=b("font-awesome-icon"),T=b("t-button"),H=b("t-badge"),A=z("tooltip");return t.loading?(s(),r("p",Io,[m(M,{class:"dark"})])):(s(),r("div",No,[i("div",Eo,[i("div",zo,[t.workshopOptions.length?(s(),r("div",Uo,[m(F,{for:"payouts-workshop-select"},{default:_(()=>[k("Workshop")]),_:1}),t.workshopOptions.length>1?(s(),w(O,{key:0,size:"sm",disabled:t.loading,id:"payouts-workshop-select",modelValue:t.filters.workshop,"onUpdate:modelValue":o[0]||(o[0]=a=>t.filters.workshop=a),options:t.workshopOptions},null,8,["disabled","modelValue","options"])):t.workshopOptions[0]?(s(),w(S,{key:1,readonly:"",size:"sm",modelValue:t.workshopOptions[0].html,"onUpdate:modelValue":o[1]||(o[1]=a=>t.workshopOptions[0].html=a)},null,8,["modelValue"])):p("",!0)])):p("",!0),t.semesterOptions.length>1?(s(),r("div",Wo,[m(F,{for:"payouts-workshop-select"},{default:_(()=>[k("Semester")]),_:1}),m(O,{size:"sm",disabled:t.loading,id:"payouts-workshop-select",modelValue:t.filters.semester,"onUpdate:modelValue":o[2]||(o[2]=a=>t.filters.semester=a),options:t.semesterOptions},null,8,["disabled","modelValue","options"])])):p("",!0),i("div",Yo,[V((s(),w(T,{onClick:v(l.clearFilters,["prevent"]),variant:"outline-secondary",size:"sm",title:"Clear Filters"},{default:_(()=>[m(f,{icon:"fa-solid fa-eraser"}),jo]),_:1},8,["onClick"])),[[A,{html:"Clear Filters"}]])]),i("div",qo,[V((s(),w(T,{href:t.exportUrl,target:"_blank",block:"",variant:"outline-secondary",size:"sm"},{default:_(()=>[m(f,{icon:"fa-solid fa-file-csv"}),Zo]),_:1},8,["href"])),[[A,{html:"Export CSV"}]])])])]),l.extraDataInRows?(s(),r(y,{key:0},[i("p",Qo," Registration is currently open for "+c(t.extraData[0].semester_name)+". Open-registration semesters are listed separately because their totals are incomplete. ",1),i("div",Jo,[i("table",Xo,[i("thead",Go,[i("tr",null,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r("th",{class:g([a.currency?"text-right":"",a.before_sign&&a.before_sign=="border"?"border-s-2 t-border-color":"","whitespace-nowrap"])},[a.before_sign&&a.before_sign!="border"?(s(),r("span",Ko,[i("span",{innerHTML:a.before_sign},null,8,$o)])):p("",!0),t.extraData.length?V((s(),r("a",{key:1,class:g({"text-primary-500":t.filters.orderBy==l.orderKey(h,a)}),href:"#",onClick:v(P=>l.updateOrder(l.orderKey(h,a)),["prevent"])},[a.label?(s(),r("span",tr,c(a.abbr?a.abbr:a.label),1)):(s(),r("span",sr,c(e.capitalize(h)),1)),m(f,{class:"ms-1",icon:`fa-solid fa-${t.filters.order=="desc"?"caret-down":"caret-up"}`},null,8,["icon"]),a.tooltip?(s(),r("span",or,[m(f,{icon:"fa-solid fa-info-circle"})])):p("",!0)],10,er)),[[A,{html:a.tooltip,align:"bottom",innerClass:"whitespace-normal w-48 text-center"}]]):(s(),r("span",rr,[a.label?(s(),r("span",ir,c(a.label),1)):(s(),r("span",lr,c(e.capitalize(h)),1))]))],2))),256))])]),i("tbody",null,[(s(!0),r(y,null,x(t.extraData,a=>(s(),r(y,null,[l.showRow(a)?(s(),r("tr",ar,[i("template",null,[(s(!0),r(y,null,x(t.tableHeadings,(h,P)=>(s(),r("td",{class:g(["whitespace-nowrap",{"text-right":h.currency,"border-s-2 t-border-color":h.before_sign&&h.before_sign=="border"}])},[a[P]&&h.currency?(s(),r("span",nr,c(e.money(a[P])),1)):P=="semester_name"?(s(),r("span",dr,[k(c(a[P])+" ",1),m(H,{variant:"secondary"},{default:_(()=>[k("Open")]),_:1})])):a[P]?(s(),r("span",{key:2,class:"block",style:{"max-width":"260px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},innerHTML:a[P]},null,8,ur)):p("",!0)],2))),256))])])):p("",!0)],64))),256)),i("tr",cr,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r("td",{class:g({"text-right":a.currency,"border-s-2 t-border-color":a.before_sign&&a.before_sign=="border"})},[h=="workshop_title"||h=="semester_name"?(s(),r("span",hr)):a.currency?(s(),r("span",pr,c(e.money(l.sumExtraTotal(h))),1)):(s(),r("span",mr,c(l.sumExtraTotal(h)),1))],2))),256))])])])])],64)):l.extraDataInStack?(s(),r(y,{key:1},[i("h4",{class:"mb-4",innerHTML:`${t.extraData[0].workshop_title} Breakdown`},null,8,fr),i("div",_r,[i("table",yr,[i("tbody",null,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r(y,null,[h!="workshop_title"?(s(),r("tr",br,[i("th",{scope:"row",innerHTML:a.label},null,8,kr),i("td",wr,[t.extraData[0][h]&&a.currency?(s(),r("span",gr,c(e.money(t.extraData[0][h])),1)):h=="semester_name"?(s(),r("span",vr,[k(c(t.extraData[0].semester_name)+" ",1),m(H,{variant:"secondary"},{default:_(()=>[k("Open")]),_:1})])):t.extraData[0][h]?(s(),r("span",{key:2,innerHTML:t.extraData[0][h]},null,8,xr)):p("",!0)])])):p("",!0)],64))),256))])])])],64)):p("",!0),t.semesterData.length>1?(s(),r("div",Mr,[i("table",Ar,[i("thead",Dr,[i("tr",null,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r("th",{class:g([a.currency?"text-right":"",a.before_sign&&a.before_sign=="border"?"border-s-2 t-border-color":"","whitespace-nowrap"])},[a.before_sign&&a.before_sign!="border"?(s(),r("span",Pr,[i("span",{innerHTML:a.before_sign},null,8,Sr)])):p("",!0),t.semesterData.length?V((s(),r("a",{key:1,class:g({"text-primary-500":t.filters.orderBy==l.orderKey(h,a)}),href:"#",onClick:v(P=>l.updateOrder(l.orderKey(h,a)),["prevent"])},[a.label?(s(),r("span",Fr,c(a.abbr?a.abbr:a.label),1)):(s(),r("span",Cr,c(e.capitalize(h)),1)),t.filters.orderBy==l.orderKey(h,a)?(s(),w(f,{key:2,class:"ms-1",icon:`fa-solid fa-${t.filters.order=="desc"?"caret-down":"caret-up"}`},null,8,["icon"])):p("",!0),a.tooltip?(s(),r("span",Or,[m(f,{icon:"fa-solid fa-info-circle"})])):p("",!0)],10,Tr)),[[A,{html:a.tooltip,align:"bottom",innerClass:"whitespace-normal w-48 text-center"}]]):(s(),r("span",Rr,[a.label?(s(),r("span",Vr,c(a.label),1)):(s(),r("span",Hr,c(e.capitalize(h)),1))]))],2))),256))])]),i("tbody",null,[(s(!0),r(y,null,x(t.semesterData,a=>(s(),r(y,null,[l.showRow(a)?(s(),r("tr",Lr,[(s(!0),r(y,null,x(t.tableHeadings,(h,P)=>(s(),r("td",{class:g(["whitespace-nowrap",{"text-right":h.currency,"border-s-2 t-border-color":h.before_sign&&h.before_sign=="border"}])},[a[P]&&h.currency?(s(),r("span",Br,c(e.money(a[P])),1)):a[P]?(s(),r("span",{key:1,class:"block",style:{"max-width":"260px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},innerHTML:a[P]},null,8,Ir)):p("",!0)],2))),256))])):p("",!0)],64))),256)),i("tr",Nr,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r("td",{class:g({"text-right":a.currency,"border-s-2 t-border-color":a.before_sign&&a.before_sign=="border"})},[h=="workshop_title"||h=="semester_name"?(s(),r("span",Er)):a.currency?(s(),r("span",zr,c(e.money(l.sumTotal(h))),1)):(s(),r("span",Ur,c(l.sumTotal(h)),1))],2))),256))])])])])):t.semesterData.length==1?(s(),r(y,{key:3},[i("h4",{class:"mb-4",innerHTML:`${t.semesterData[0].workshop_title} Breakdown`},null,8,Wr),i("div",Yr,[i("table",jr,[i("tbody",null,[(s(!0),r(y,null,x(t.tableHeadings,(a,h)=>(s(),r(y,null,[h!="workshop_title"?(s(),r("tr",qr,[i("th",Zr,[a.tooltip?V((s(),r("a",{key:0,href:"#",title:a.tooltip},[i("span",{innerHTML:a.label},null,8,Jr),m(f,{icon:"fa-solid fa-info-circle",class:"text-info-500 ms-1"})],8,Qr)),[[A,{html:a.tooltip,align:"right",innerClass:"whitespace-normal w-48"}]]):(s(),r("span",{key:1,innerHTML:a.label},null,8,Xr))]),i("td",Gr,[t.semesterData[0][h]&&a.currency?(s(),r("span",{key:0,class:g(l.nonZeroClass(a,t.semesterData[0][h]))},c(e.money(t.semesterData[0][h])),3)):t.semesterData[0][h]?(s(),r("span",{key:1,class:g(l.nonZeroClass(a,t.semesterData[0][h])),innerHTML:t.semesterData[0][h]},null,10,Kr)):p("",!0)])])):p("",!0)],64))),256))])])])],64)):!t.extraData||t.extraData.length==0?(s(),r("div",$r," No data was found matching the selected filters. ")):p("",!0)]))}const ti=I(Bo,[["render",ei],["__file","PayoutsBySemester.vue"]]),si={props:{user:{type:Object,default:null},setFilters:{type:Object,default:()=>({})}},emits:["updateFilters","addAffiliatePayout"],data(){return{loading:!0,rows:[],overview:[],pagination:{},totals:{earned:0,pending:0,due:0,cashed_out:0},minThreshold:50,nextPayoutLabel:null,orderBy:"due",order:"desc",perPage:50,headings:{full_name:{label:"Affiliate",orderby:"full_name"},email:{label:"Email",orderby:"email"},affiliate_id:{label:"Code",orderby:"affiliate_id"},earned:{label:"Earned",orderby:"earned",class:"text-right"},pending:{label:"Pending",orderby:"pending",class:"text-right"},due:{label:"Due Now",orderby:"due",class:"text-right"},cashed_out:{label:"Paid Out",orderby:"cashed_out",class:"text-right"},next_payout:{label:"Next Payout",orderby:"due"}}}},methods:{updateOrder(e){this.orderBy===e?this.order=this.order==="desc"?"asc":"desc":(this.orderBy=e,this.order="desc"),this.fetch(1)},onPerPageChange(e){this.perPage=Number(e)||50,this.fetch(1)},async fetch(e=1){this.loading=!0;try{const{data:o}=await R.get("/api/payouts/summary-by-affiliate",{params:{orderby:this.orderBy,order:this.order,page:e,per_page:this.perPage}});this.rows=o.rows||[],this.overview=o.overview||[],this.pagination=o.pagination||{},this.totals=o.totals||{earned:0,pending:0,due:0,cashed_out:0},this.minThreshold=o.min_payout_threshold||50,this.nextPayoutLabel=o.next_payout_label||null}catch(o){console.error(o),this.rows=[],this.overview=[],this.pagination={}}this.loading=!1},refetch(){const e=this.pagination.current_page||1;return this.fetch(e)}},mounted(){this.fetch(1)}},oi={key:0,class:"p-4 text-center"},ri={key:1},ii={class:"shadow bg-white rounded-t border-b-2 t-border-color p-0"},li={class:"flex justify-center align-items-stretch flex-col sm:flex-row md:flex-col lg:flex-row"},ai={class:"pre-title mb-0"},ni={class:"shadow bg-white rounded-b mb-4 p-3"},di={key:0,class:"text-sm text-dark-400 mb-0"},ui={key:0},ci={key:1,class:"text-sm text-dark-400 mb-0"},hi={class:"t-border-default max-w-full overflow-x-auto rounded bg-white relative mb-4"},pi={key:0,class:"stretch flex justify-center items-center bg-white/50"},mi={class:"t-table t-table-border-y text-sm min-w-full"}
1,fi={class:"bg-dark-50"},_i=["onClick"],yi=i("th",{class:"text-center whitespace-nowrap"},"Action",-1),bi={key:0},ki=["href"],wi={class:"text-right"},gi={class:"text-right"},vi={class:"text-right"},xi={class:"text-center"},Mi={key:1,class:"text-xs text-dark-400"},Ai={key:1},Di=i("tr",null,[i("td",{colspan:"9",class:"p-8 text-center text-dark-400"}," No affiliate earnings activity yet. ")],-1),Pi=[Di],Si={key:2,class:"bg-dark-50 font-bold"},Ti=i("td",{colspan:"3"},"Total",-1),Fi={class:"text-right"},Ci={class:"text-right"},Oi={class:"text-right"},Ri=i("td",{colspan:"2"},null,-1);function Vi(e,o,n,u,t,l){const M=b("loading"),F=b("font-awesome-icon"),O=b("t-button"),S=b("pagination");return s(),r("div",null,[t.loading&&!t.rows.length?(s(),r("p",oi,[m(M,{class:"dark"})])):(s(),r("div",ri,[i("div",ii,[i("div",li,[(s(!0),r(y,null,x(t.overview,(f,T)=>(s(),r("div",{key:f.label,class:g([T>0?"border-t-2 sm:border-t-0 md:border-t-2 lg:border-t-0":"",T>0?"sm:border-s-2 md:border-s-0 lg:border-s-2":"","t-border-color grow text-center px-2 py-3 flex items-center justify-center flex-col"])},[i("h3",{class:g(["mb-0 inline-block",f.class||""])},[f.format==="number"?(s(),r(y,{key:0},[k(c(Number(f.value||0).toLocaleString()),1)],64)):(s(),r(y,{key:1},[k(c(e.money(f.value||0)),1)],64))],2),i("p",ai,c(f.label),1)],2))),128))])]),i("div",ni,[t.nextPayoutLabel?(s(),r("p",di,[k(" Next quarterly payout date: "),i("strong",null,c(t.nextPayoutLabel),1),t.minThreshold?(s(),r("span",ui," · Minimum $"+c(Number(t.minThreshold).toFixed(0))+" available",1)):p("",!0)])):(s(),r("p",ci," No affiliates currently meet the $"+c(Number(t.minThreshold||50).toFixed(0))+" payout threshold. Below-threshold amounts are shown in lighter text under Due Now. ",1))]),i("div",hi,[t.rows.length&&t.loading?(s(),r("div",pi,[m(M,{class:"dark"})])):p("",!0),i("table",mi,[i("thead",fi,[i("tr",null,[(s(!0),r(y,null,x(t.headings,(f,T)=>(s(),r("th",{key:T,class:g(f.class||"")},[i("a",{href:"#",class:g({"text-primary-500":t.orderBy===f.orderby}),onClick:v(H=>l.updateOrder(f.orderby),["prevent"])},[k(c(f.label)+" ",1),t.orderBy===f.orderby?(s(),w(F,{key:0,icon:`fa-solid fa-${t.order==="desc"?"caret-down":"caret-up"}`,class:"ms-1"},null,8,["icon"])):p("",!0)],10,_i)],2))),128)),yi])]),t.rows.length?(s(),r("tbody",bi,[(s(!0),r(y,null,x(t.rows,f=>(s(),r("tr",{key:f.id},[i("td",null,[i("a",{href:`/dashboard/users/${f.id}#user-affiliate`,class:"text-primary-500 hover:text-primary-600 hover:underline"},c(f.full_name),9,ki)]),i("td",null,c(f.email),1),i("td",null,c(f.affiliate_id||"â"),1),i("td",wi,c(e.money(f.earned)),1),i("td",gi,c(e.money(f.pending)),1),i("td",{class:g(["text-right font-bold",f.actionable?"text-danger-500":"text-dark-300"])},c(e.money(f.due)),3),i("td",vi,c(e.money(f.cashed_out)),1),i("td",null,c(f.next_payout_label||"â"),1),i("td",xi,[f.actionable?(s(),w(O,{key:0,size:"xs",variant:"primary",class:"inline-flex",onClick:v(T=>e.$emit("addAffiliatePayout",f),["prevent"])},{default:_(()=>[k(" Add payout ")]),_:2},1032,["onClick"])):(s(),r("span",Mi," Below min "))])]))),128))])):(s(),r("tbody",Ai,Pi)),t.rows.length?(s(),r("tfoot",Si,[i("tr",null,[Ti,i("td",Fi,c(e.money(t.totals.earned)),1),i("td",Ci,c(e.money(t.totals.pending)),1),i("td",{class:g(["text-right",t.totals.due>0?"text-danger-500":"text-success-450"])},c(e.money(t.totals.due)),3),i("td",Oi,c(e.money(t.totals.cashed_out)),1),Ri])])):p("",!0)])]),t.pagination.total?(s(),w(S,{key:0,"item-name":"affiliates",pagination:t.pagination,loading:t.loading,"per-page":t.perPage,"select-per-page":!0,onFetch:l.fetch,"onUpdate:perPage":l.onPerPageChange},null,8,["pagination","loading","per-page","onFetch","onUpdate:perPage"])):p("",!0)]))])}const Hi=I(si,[["render",Vi],["__file","PayoutsByAffiliate.vue"]]),Li={props:{hasSemesterSummary:{type:[Boolean,String],default:!1},workshopIndex:{type:Object,default:()=>({})},workshopMiniIndex:{type:Object,default:()=>({})},setUser:{type:Object,default:null},reportType:{type:String,required:!0},reportNav:{type:Array,default:()=>[]}},data(){const e=this.setUser?{...this.setUser}:null,o=e&&e.filters?(({reportType:n,...u})=>u)(e.filters):{};return{activeReportType:this.reportType,editPayoutModal:!1,targetPayout:null,targetAffiliate:null,loading:!0,user:e,filters:{orderBy:"date",order:"desc",workshop:"",type:"",startDate:"",endDate:"",incurredBy:"",...o}}},components:{PayoutEditor:Vt,PayoutsLog:Es,PayoutsByWorkshop:Lo,PayoutsBySemester
1:ti,PayoutsByAffiliate:Hi},methods:{selectReport(e,{push:o=!0}={}){!e||!e.key||e.key===this.activeReportType||(this.activeReportType=e.key,this.updatePageChrome(e),o&&e.url&&window.history&&window.history.pushState&&window.history.pushState({payoutReportType:e.key},"",e.url))},reportTypeFromPath(){const e=(window.location.pathname||"").match(/\/accounting\/payouts\/([^/?#]+)/);return e?e[1]:"workshop"},navItemForKey(e){return(this.reportNav||[]).find(o=>o.key===e)||null},updatePageChrome(e){const o=e&&e.label||"Payouts",n=document.querySelector(".payouts-report-crumb");n&&(n.textContent=o)},onPopState(e){const o=e.state&&e.state.payoutReportType||this.reportTypeFromPath(),n=this.navItemForKey(o);n&&this.selectReport(n,{push:!1})},addPayout(){this.targetPayout=null,this.targetAffiliate=null,this.editPayoutModal=!0},addAffiliatePayout(e){this.targetPayout=null,this.targetAffiliate=e,this.editPayoutModal=!0},maybeOpenAffiliatePayoutFromQuery(){if(typeof window>"u"||!window.URLSearchParams)return;const e=new URL(window.location.href),o=e.searchParams.get("new_payout_user");if(!o)return;const n=e.searchParams.get("amount"),u=n!=null&&n!==""?Number(n):null;this.addAffiliatePayout({id:Number(o),full_name:e.searchParams.get("name")||"Affiliate",email:e.searchParams.get("email")||"",due:Number.isFinite(u)?u:null}),["new_payout_user","amount","name","email"].forEach(l=>{e.searchParams.delete(l)});const t=`${e.pathname}${e.search}${e.hash}`;window.history&&window.history.replaceState&&window.history.replaceState({payoutReportType:this.activeReportType},"",t)},editPayout(e){this.targetAffiliate=e&&e.type==="affiliate"?{id:e.user_id,full_name:e.payee_label||e.user&&(e.user.full_name_or_email||e.user.email),email:e.user&&e.user.email,due:null}:null,this.editPayoutModal=!0,this.targetPayout=e},updateFilters(e){this.filters=e},updatedPayout(){this.componentType&&this.$refs.UiComponent&&this.$refs.UiComponent.refetch&&this.$refs.UiComponent.refetch()}},computed:{componentType(){return this.activeReportType=="log"?"payouts-log":this.activeReportType=="workshop"?"payouts-by-workshop":this.activeReportType=="semester"?"payouts-by-semester":this.activeReportType=="affiliate"?"payouts-by-affiliate":null},isAdmin(){return this.user&&(this.user.role_name==="Administrator"||this.user.role_name==="Super Admin")},editorKey(){return this.targetPayout&&this.targetPayout.id?"payout-"+this.targetPayout.id:this.targetAffiliate&&this.targetAffiliate.id?"affiliate-"+this.targetAffiliate.id:"new-workshop"}},mounted(){this.maybeOpenAffiliatePayoutFromQuery(),window.history&&window.history.replaceState&&window.history.replaceState({payoutReportType:this.activeReportType},"",window.location.href),window.addEventListener("popstate",this.onPopState)},beforeUnmount(){window.removeEventListener("popstate",this.onPopState)}},Bi={class:"payouts-dashboard"},Ii={class:"flex flex-col sm:flex-row sm:items-center gap-3 mb-3"},Ni=i("h3",{class:"mb-0"},"Payouts",-1),Ei={key:0,class:"sm:ms-auto"},zi={key:0,class:"flex flex-wrap gap-1 border-b-2 t-border-color mb-4 -mx-1","aria-label":"Payout reports"},Ui=["href","onClick"],Wi={class:"text-right pt-5 mt-5"};function Yi(e,o,n,u,t,l){const M=b("t-button"),F=b("payout-editor"),O=b("Modal");return s(),r("div",Bi,[i("div",Ii,[Ni,t.activeReportType!=="affiliate"?(s(),r("div",Ei,[m(M,{variant:"primary",size:"sm",onClick:v(l.addPayout,["prevent"])},{default:_(()=>[k(" Add Payout ")]),_:1},8,["onClick"])])):p("",!0)]),n.reportNav.length?(s(),r("nav",zi,[(s(!0),r(y,null,x(n.reportNav,S=>(s(),r("a",{key:S.key,href:S.url,class:g(["px-3 py-2 text-sm font-semibold border-b-2 -mb-0.5 transition-colors",S.key===t.activeReportType?"border-primary-500 text-primary-600":"border-transparent text-dark-400 hover:text-dark-600 hover:border-dark-200"]),onClick:v(f=>l.selectReport(S),["prevent"])},c(S.label),11,Ui))),128))])):p("",!0),(s(),w(Y(l.componentType),{ref:"UiComponent",user:t.user,"workshop-index":n.workshopIndex,onEditPayout:l.editPayout,onAddAffiliatePayout:l.addAffiliatePayout,onUpdateFilters:l.updateFilters,"set-filters":t.filters,loading:t.loading},null,40,["user","workshop-index","onEditPayout","onAddAffiliatePayout","onUpdateFilters","set-filters","loading"])),m(O,{modelValue:t.editPayoutModal,"onUpdate:modelValue":o[1]||(o[1]=S=>t.editPayoutModal=S),ref:"editPayoutMod",id:"edit_payout_modal","body-classes":"p-4 sm:p-6","wrapper-classes":"max-w-screen-sm"},{default:_(()=>[(s(),w(F,{key:l.editorKey,onUpdate:l.updatedPayout,user:t.user,"set-payout":t.targetPayout,"set-affiliate":t.targetAffiliate,"set-workshop":t.filters.workshop?t.filters.workshop:null,"workshop-index":n.workshopIndex,"workshop-mini-index":n.workshopMiniIndex,ref:"editPayout"},null,8,["onUpdate","user","set-payout","set-affiliate","set-workshop","workshop-index","workshop-mini-index"])),i("div",Wi,[m(M,{size:"sm",variant:"outline-dark",class:"inline-flex",onClick:o[0]||(o[0]=S=>t.editPayoutModal=!1)},{default:_(()=>
1[k(" Close ")]),_:1})])]),_:1},8,["modelValue"])])}const $i=I(Li,[["render",Yi],["__file","PayoutsDashboard.vue"]]);export{$i as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.