1var ta=Object.freeze,mn=Object.defineProperty;var ni=(t,e)=>ta(mn(t,"raw",{value:ta(e||t.slice())}));import{O as lt,aB as Na,j as A,B as O,_ as T,m as c,a as d,c as h,p as n,J as ht,x as o,e as r,v as x,f as k,G as Ys,z as _,y as p,q as Ce,F as G,r as ue,H as Ri,E as He,aq as _e,u as $,g as H,D as ns,P as Y,aQ as Ii,jf as cs,aR as Ut,b as Lt,w as It,h as fn,am as hn,iC as Ps,n as it,Q as Dt,as as ja,ap as Ya,l as za,A as Ei,iP as gn,j5 as pn,iE as _n,al as yn,jg as vn,T as bn,aC as Cn,aD as Sn,jh as kn,o as wn,I as Tn}from"./vendor-BlynvCoC.js";import{M as xn}from"./MobileDisabled-Dp7Lt6aB.js";import{z as gt,F as zs,ay as je,A as We,au as et,ax as Ye,a as Q,e as Se,cx as Fn,D as Fe,p as Vi,l as hs,M as Qe,b1 as An,al as at,s as mt,X as Pi,u as Xe,G as Et,N as pt,ac as rt,a0 as Jt,W as sa,dH as Ct,m as ze,dI as Ha,B as ms,aL as ct,dJ as ia,Q as _t,dK as nt,dL as Tt,dM as Mn,dN as Dn,dO as Rn,dP as In,dQ as En,dR as ri,dS as Bi,w as xt,dT as $a,dE as Vn,dU as Pn,S as Ve,dV as Bn,d9 as gs,aV as rs,cv as qi,bl as qn,dc as Si,az as On,aA as fs,f as Wa,J as Hs,bt as Un,L as ps,d3 as Oi,dW as Qa,dX as Ja,dY as Ka,aa as $s,dZ as Ln,d5 as Gn,d_ as Nn,g as Vt,aD as Xa,bn as jn,cb as aa,d$ as ki,d4 as Yn,e0 as zn,e1 as Hn,e2 as $n,cQ as Wn,cR as Qn,cC as Jn,cD as Kn,e3 as Xn,av as Zn,aw as er,dA as Kt,k as Ui,j as _s,aC as tr,r as Ws,ah as sr,ap as Za,bB as Li,ao as ir,I as Gi,am as ar,q as lr,bD as el,t as nr,i as rr,aB as or,e4 as dr,e5 as ur,ak as cr,y as tl,b3 as Bs,b4 as qs,ch as Os,H as mr,a1 as fr,d as hr,e6 as gr,h as pr,dz as _r}from"./main-Bs_lHNW0.js";import{u as yr,T as vr,P as br}from"./FormField-CyzUpzTx.js";import{T as sl}from"./TeamAssignment-B07oZt5p.js";import{U as il}from"./UserByEmail-CzRb7UAJ.js";import{S as Cr}from"./SelectMultiplePlayers-CYQgE--r.js";import{C as Sr}from"./CustomTemplate-Rae3iAZl.js";import{F as Pt}from"./FullScreenModal-BIJiFCA9.js";import{_ as ie}from"./config-DrDySPH_.js";import{E as Qs}from"./ExportModal-wcx7vr6K.js";import{M as kr}from"./ManageInvitations-CvoNBKoh.js";import{G as al,B as ll,A as nl}from"./GradeFilter-6GsOrh_8.js";import{G as rl}from"./GenderFilter-jUVRuCM4.js";import{F as Bt}from"./FilterTray-DH9J4Ro9.js";import{C as wr,S as Tr}from"./CreateEditLeague-DzTCXBHu.js";import{V as xr,L as Fr}from"./VolunteerSignupRequestForm-Q0RjjyNe.js";import{_ as ol,C as dl}from"./CreateEditLeagueDivisionSchedule-22byc9c6.js";import{D as Ar}from"./DivisionBuilder-DknQTTHW.js";import{T as Ni}from"./TableActions-DEemqbMD.js";import{M as Mr,A as Dr,_ as Rr,L as Ir,a as Er,b as Vr,c as Pr,d as Br,u as qr,e as Or}from"./MoveMultipleMatchupsModal-BDF1UBIp.js";import{D as Ur}from"./DivisionsFilter-BX7Gz_hy.js";import{_ as Lr}from"./GenerateMatchupsModal-WjJ0CgWZ.js";import{C as Gr}from"./ComboBoxInput-BBGLB5FF.js";import{b as ul,g as Us,p as Ls,c as cl}from"./GameSchedule-DySbTLEL.js";import{g as ml}from"./GameSchedulePhases-Dxq3ISDB.js";import{C as fl}from"./ChooseMultipleFields-BIZqs3sF.js";import{E as Nr}from"./EventViewDivisionsTableStatusCell-GYX5pajo.js";import{u as ji}from"./useTeamAges-z9ngz5n0.js";import{a as jr,G as Yr}from"./Game-Cn9Ea2GU.js";import{F as zr}from"./FacilityForm-6hw8SCig.js";import{F as Hr}from"./FieldForm-C3-GYaLK.js";import{P as $r}from"./PaginationView-Bzk55ADP.js";import{u as Wr}from"./useClubDetails-CNGiqYfu.js";import{u as Qr}from"./useClubFields-DO89GwCL.js";import{l as Jr}from"./loading-Jqwcvanz.js";import{I as Kr}from"./ImportMappingHeader-DJ-Lw0gR.js";import{P as Js}from"./PlannerHeader-Dvw8Gdjq.js";import{F as Xr}from"./FacilityCollapsible-BrD9SuQX.js";import{F as Zr}from"./FacilityScheduleGrid-CLZdJlFJ.js";import{u as hl,L as eo,S as to}from"./StandingsTable-CBIWMAih.js";import{L as gl}from"./LeagueGamesScheduleActionModal-DXJPIiKM.js";import{a as so,C as pl,b as la,g as io,c as _l,d as Yt,e as zt,f as ao}from"./EventBarEventSchedulerMatchupCard-OwHcffC7.js";import{S as lo}from"./SchedulerGameDetailsModalScheduleTabLegend-iIM549Sn.js";import{S as no}from"./ScheduleGameDetailsModalConflictsAllowButton-Cg9aDt9C.js";import{C as yl}from"./CustomDropdown-CTaTIr5B.js";import{C as ro}from"./CanceledTag-C2fk8tBF.js";import{R as oo,L as uo}from"./LeagueGamesSchedule-QGQ-7zSQ.js";import{A as Yi}from"./AdvancedTeamSelection-CnqF_AbB.js";import{A as co}from"./AgeClassifyFilter-BHUEX6G3.js";import{L as mo}from"./LevelFilter-DaC2q7Hc.js";import{R as fo}from"./RegionFilter-0miLduYS.js";import{S as ho}from"./SeasonFilter-zhjXp-YG.js";import{M as go,A as po}from"./ViewGame-D8jMDeB5.js";import{S as vl}from"./SelectObjectsBox-3mVremfk.js";import{M as zi}from"./MultipleSelect-DQxZIp5F.js";import{S as bl}from"./SelectObjectsModal-BIi92Seg.js";import{D as Cl}from"./DateRangeFilter-BOFPRWFb.js";import{D as _o,T as yo}from"./TeamsFilter-B4H2Sf6b.js";import{u as Sl}from"./htmlEscape-CxzNkHfR.js";import{u as vo,_ as bo,A as Co,a as So,M as ko,C as wo,S as To}from"./AddEditStaffFullScreenModal-Cs_vOnxN.js";import{S as xo}from"./SurfaceFilter-iO4OqTJo.js";import{_ as Fo}from"./TimeRangeFilter-DfXtcmmp.js";import{R as Ao}
1from"./ResourceTag-8n2mNBNe.js";import{C as Mo,u as Do}from"./ChangeAgeClassificationModal-1jEMc444.js";import{_ as Ro,E as Io}from"./SetRolePermissionsModal-Bv1hwRCG.js";import{P as Eo}from"./PlayerJerseyConflictIcon-B5gANSkr.js";import{T as Vo}from"./TeamManageJerseyNumbersModal-B430nMFj.js";import{L as Wt,a as Qt,b as Rt,c as na,d as ds,_ as kl,s as ra}from"./LeagueVolunteerRequestCustomTemplate-CM_BwLX_.js";import{P as Po}from"./PositionFilter-CrRqzVm-.js";import{C as Bo}from"./ComposeMessageModal-CNgIUCM-.js";import{F as Ht}from"./Form-CW84BtNo.js";import{P as wl}from"./Player-BW9PgV5l.js";import{P as Tl}from"./PlayersFilter-cvtXwSg6.js";import{V as qo,C as Oo}from"./ViewFilesModal-BMoyWExM.js";import{_ as xl}from"./TiptapEditor-BWqjuShf.js";import{C as Fl}from"./ComposeAttachments-CL7P1kFz.js";import{D as Uo}from"./DigitalDocumentPrintView-B4garQfI.js";import{a as Lo,T as Go}from"./WaiverModal-k8ORFeCR.js";import{_ as Al}from"./FilterButton-BC43-y2n.js";import{F as oi}from"./file-ft7CmYyb.js";import{_ as No}from"./MakeResourcePlayerProfilePhotoModal-CTIw2tQA.js";import{g as jo}from"./RosterChange-CHIYapiE.js";import{C as Yo}from"./ChooseMultipleTeams-R0IcheWu.js";import zo from"./SelectMultipleTeams-D5bCCCyW.js";import{a as Ml}from"./SelectMultipleObjects-2v3uW8dl.js";import{C as Ho}from"./CreateEditRuleSetModal-XfE09mRM.js";import{P as $o}from"./PageNavigationDesktopCtas-kW1xtIDq.js";import{i as Pe,a as wi,S as Dl}from"./BackgroundScreening-C6L5UO__.js";import{f as ys,d as vs}from"./DatePicker-BqgLLl98.js";import{T as Hi}from"./TeamsFilterForContext-5riMc18Q.js";import{C as Wo}from"./CheckBoxListFilter-BAfojtCV.js";import{u as Qo}from"./Directors-NtOr9Icc.js";import{P as oa}from"./Popover-CyhpBaO4.js";import{e as Jo,f as Ti,T as xi,a as Fi,g as Gs,h as Ko}from"./Staff-WQ0sp8D-.js";import{B as Xo}from"./BuilderHeaderView-CykCPl1T.js";import{p as Zo,q as ed,r as td}from"./Team-Bp8YQAm6.js";import{E as Rl,V as Il}from"./RegProgramParent-CFp4a3qW.js";import{a as sd,g as id,s as da,u as ad,b as ld}from"./useStaffClearances-Dvn5lB9c.js";import{D as nd}from"./DatePicker-D5ZN4LII.js";import{B as rd}from"./BaseFileUploadModal-CEusPNM8.js";import{F as od}from"./FileUploadRow-PwD7_RmD.js";import{C as dd}from"./CoachProfile-CIy7Fa7R.js";import{I as ud}from"./UserInviteStatus-Tmx1443f.js";import{u as cd}from"./useClubVolunteerPositions-B4n0q_kz.js";import{E as md}from"./EditableText-BjIU6IP_.js";import{C as fd}from"./CreateAssignmentModal-DswfEvBH.js";import{E as hd}from"./ExportTeamAssignments-iocOrfW5.js";import{C as gd}from"./CreateTeam-Bcwv135F.js";import{I as pd}from"./ImportModal-D6yXcmEO.js";import{E as is}from"./ExternalLinkPopover-B07nKGXq.js";import"./Season-DAeIOQeH.js";import"./ProgramType-BJV7rEJG.js";import"./ResourceVideoModal-DW02jaGE.js";import"./VideoPlayer-C_7IxvhM.js";import"./youtube-CIV-x1-M.js";import"./DateFormField-DuliB-bI.js";import"./AttendanceConstants-vlWO7wo0.js";import"./gender-uDWaVoJ5.js";import"./TeamAgeClassification-DyKa5R-P.js";import"./RegProgram-XyfgTMo2.js";import"./subscription-LUvTbVTs.js";import"./PlayerInfo-B270C5DM.js";import"./PlayerContactPendingInviteBadge-BzDI6CkU.js";import"./EditContact-CTK2xnUX.js";import"./AddEditContact-To4ABO0q.js";import"./PlayerProfileImage-DnRI8Y4P.js";import"./StaffFilter-CeQ2bQu0.js";import"./SportFilter-BbSgC2K3.js";import"./Sport-ClEHAScY.js";import"./ControlColumns-JaIAjsXK.js";import"./LittleLeague-CmNJIhcr.js";import"./Program-UB_2Amsp.js";import"./SearchableMultipleSelect-rpGWFQ_f.js";import"./LinkedSeasonBox-BidEVo7c.js";import"./DateRangeText-BYfMCUPm.js";import"./AddItemCTA-CGiAxIFM.js";import"./DateRange-CadiRbKw.js";import"./BasePopover-Beqjt4ix.js";import"./TeamAgeClassification-CQIcl494.js";import"./NonZeroNumberInput-BDzWAl8p.js";import"./schedulingTemplate-DOTG9iOm.js";import"./comparison-WphvP5UN.js";import"./AdvancedFieldSelection-CDXYgLlV.js";import"./SelectMultipleFields-B106L5b6.js";import"./SearchForFilter-Dwp3-vhu.js";import"./DateRangeDropdown-BQkgvETM.js";import"./DateNavigation-yrdjnSo0.js";import"./DayNavigation-BIZJFYWP.js";import"./EyebrowDropdown-k6qmNxx4.js";import"./SchedulingTemplatePreviewMatchesModal-Dphrobp5.js";import"./draggable-CvaHvNCQ.js";import"./GoogleMapSearch-CrhaJYIu.js";import"./googleMaps-DL4bU0vt.js";import"./GoogleMapsAutocomplete-DynOocVA.js";import"./Toggle-Dk2N5xnf.js";import"./LeagueEventDetailsModal-D4mq4iGi.js";import"./AttendanceRoster-GQo7wOBU.js";import"./SetAttendanceModal-ShhhK4Sg.js";
1import"./HealthScreenModal-BlkqZIKT.js";import"./AddGuestPlayerModal-xos7HvrJ.js";import"./UnassociatedFieldTag-WUCZUo-6.js";import"./GameIdBadge-xHPpWvNd.js";import"./NavigationSelectionModal-DJC8lkNV.js";import"./ParentSetAttendance-BAX3T3bo.js";import"./EventActionConfirm-BqapKyej.js";import"./MobileFullScreenModal-TxFqH8su.js";import"./AddFieldModal-BAtSf1OD.js";import"./NotifyModal-DozVuXzc.js";import"./useClubAdminLeagues-CbSwl4-I.js";import"./MobileFooterCtas-CdP_AQD4.js";import"./FormationEditor-DFzKV0ks.js";import"./ResourceList-C8vTQPIO.js";import"./ShowMoreText-BomB0ARK.js";import"./ResourceTagInput-CqYF-eHB.js";import"./PracticeViewEditableText-Til-NDgq.js";import"./BaseBuilder-CAI_8Z2T.js";import"./BuilderHeaderEdit-BbC4rLKt.js";import"./StepsFooter-8ZDTnEtd.js";import"./TeamsWithoutStaffFilter-DUsMwYhD.js";import"./useClubFacilities-CE38hGh5.js";import"./UniformConstants-gUVgfQpL.js";import"./FormField-DHCnjKgb.js";import"./QuestionsFilter-DNfefmtS.js";import"./RegistrationStatusFilter-BOx5veMk.js";import"./SubscriptionStatusFilter-BWjvnqP1.js";import"./inputUtils-5SoeKLwv.js";import"./ColorSelector-CsgFSWsW.js";import"./Note-Cqvh9bN_.js";import"./DrillDetailView-CRP4UDGT.js";import"./ViewDrill-D95SKpAd.js";import"./Drill-CL6AtI--.js";import"./VideoThumbnail-PCQuIgCk.js";import"./DrillQuickView-CYeBRcJc.js";import"./FormStatus-TE412JIe.js";import"./regProgramResponses-0OnXIH51.js";import"./TagField-CrDqHzUs.js";import"./RegionDropdown-Csk8hEch.js";import"./ChooseMultipleObjects-Btt23BNP.js";import"./SelectFormElement-CFpkmNaB.js";import"./SelectFormElementList-QSpi6Mj0.js";import"./TeamVisibility-CUvcrQqE.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};t.SENTRY_RELEASE={id:"c27e83a969462e61a866326f8ee6cc37a4feab4d"};var e=new t.Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="60f5f484-44ca-4027-b306-56c258c8f56d",t._sentryDebugIdIdentifier="sentry-dbid-60f5f484-44ca-4027-b306-56c258c8f56d")}catch(i){}})();function _d(t){const e=lt(),i=Na(),l=A(()=>{const C={user:!0,league_roster_changes:!0,sanctioning_body:!0,num_open_score_requests:!0,league_divisions:!0};return e.getters.isSuperAdmin&&(C.league_divisions={num_missing_group_play_game_scores:!0}),C}),a={league_teams:{players:!0,staff:!0,assignment_id:!0,club_uniform_shop_associations:{club_uniform_shop_members:!0}},games:!0,game_schedulers:{matchups:!0}},s={num_upcoming_games:!0,league_teams:!0,games:!0,league_divisions:{rule_set:!0},game_schedulers:{matchups:{game:!0},time_slot_ids:!0,teams:!0,fields:{parent_field:!0,time_slots:!0}}},u={league_teams:{staff:!0},games:{external_game:!0,team_games:!0,score_requests:{users:!0}},game_schedulers:{matchups:{game:!0},time_slot_ids:!0,teams:!0,fields:!0},ref_assignors:{access:!0},league_divisions:{league_teams:!0}},m={league_divisions:{standings:!0,game_schedulers:{matchups:{game:!0}},rule_set:!0},league_teams:!0,games:!0},f={sanctioning_body:{sanctioning_body_player_verification_requirements:!0,request_info_form_request:{forms:!0}},sanctioning_body_players:!0,league_teams:{players:{program_subscriptions:{user:!0},requirement_resources:!0,ineligibilities:!0,data_for_league_export:{[i.params.league]:!0}}}},v={sanctioning_body:{sanctioning_body_clearance_requirements:!0,sanctioning_body_official_clearances:{completed_by_user:!0},verified_staff:!0},league_teams:{staff:!0},league_officials:!0,volunteer_requests:{volunteer:!0}},y={league_roster_changes:{player:!0},league_teams:!0},g={league_teams:!0,team_assignments:{count:!0,owner:!0},coach_requests:{coach:!0},signup_program:!0},b={game_schedulers:{matchups:{game:!0}},league_teams:{staff:!0},team_assignments:{team_ids:!0},coach_requests:{coach:!0,players:{pii:!0,assignment_players:!0,team_players:!0}},resolve_coach_requests_players:!0,signup_program:!0},S={volunteer_requests:{volunteer:!0,has_position_that_requires_clearance:!0,is_clearance_met:!0},volunteer_signup_template:!0,num_volunteer_requests:!0,sanctioning_body:{sanctioning_body_clearance_requirements:!0}},F=A(()=>{let C={};switch(t.value){case"Teams":C=a;break;case"Divisions":C=s;break;case"Schedule":C=u;break;case"Standings":C=m;break;case"Players":C=f;break;case"Clearances":C=v;break;case"Roster Changes":C=y;break;case"Assignments":C=g;break;case"Coaching Requests":C=b;break;case"Volunteers":C=S;break}return gt(O.merge({},l.value,C))}),w=A(()=>gt(O.merge({},l.value,{league_teams:!0,team_assignments:{teams:{staff:!0},players:{team_players:!0,program_subscriptions:{user:!0},ineligibilities:!0,data_for_league_export:{[i.params.league]:!0}}}})));return{populateForTab:F,teamAssignmentsPopulate:w}}const yd={components:{CustomTemplate:Sr,FormModalHeader:zs,FullScreenModal:Pt,SelectMultiplePlayers:Cr,UserByEmail:il},props:{league:{type:Object,required:!0}},emits:["refresh"],setup(){const t=Se(),e=yr();return{asGenderWord:hs,phone:Vi,pluralize:Fe,shortenYearToSingleQuoteAnd2Digits:Fn,toast:t,printRouteStore:e}},data(){return{contact:{id:0,first_name:"",last_name:"",email:"",mobile_number:"",send_register_email:!1},invalidContact:!0,notes:"",request:{id:0,coach:null,head_coach:!1,assistant_coach:!1,extra:{notes:"",head_coach_player_ids:[],assistant_coach_player_ids:[],male_age_groups:[],female_age_groups:[]},values_json:{}},isEdit:!1,isEditForm:!1,playersLoadedForID:0,headCoaches:[],deleteFromTeams:[],playersSelected:[],origPost:null,maleAges:[],femaleAges:[]}},computed:{DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},loading(){return this.request==null||this.playersLoadedForID!==this.contact.
1id},title(){return this.isEdit?"Edit Coach Request":"New Coach Request"},actions(){return this.isEdit?["Delete","Save"]:["Create"]},invalid(){return!this.contact||this.invalidContact||!(this.request.head_coach||this.request.assistant_coach)},assignmentsByID(){return T.keyBy(this.league.team_assignments,"id")},assignmentsByTeamID(){const t={};return(this.league.team_assignments||[]).forEach(e=>{(e.team_ids||[]).forEach(i=>{t[i]=e})}),t},teamsByID(){const t=T.map(this.league.league_teams,e=>e.team);return T.keyBy(t,"id")},contactID(){return this.contact&&this.contact.id||0},leagueId(){return this.league.id},leagueSeasonAgeClass(){const e=this.$store.getters.clubDetails.seasons.find(i=>{var l;return i.id===((l=this.league)==null?void 0:l.season_id)});return e==null?void 0:e.age_class},ageClassPrefText(){return this.leagueSeasonAgeClass===Ye?"age groups":this.leagueSeasonAgeClass===je?"grades":this.leagueSeasonAgeClass===et?"birth years":""},assignedToTeams(){const t=T.map(this.league.league_teams,e=>e.team);return T.filter(t,e=>T.some(e.coaches||[],i=>i.id===this.contactID))},canChangeUser(){return this.contact&&this.contact.id&&!this.isEdit},players(){return this.playersSelected||[]},lockedIDs(){if(!this.request)return[];let t=this.request.parent_player_ids||[];return this.request.head_coach&&(t=t.concat(this.request.extra.head_coach_player_ids)),this.request.assistant_coach&&(t=t.concat(this.request.extra.assistant_coach_player_ids)),t},assignedPlayerIDs(){const t={};return(this.league.coach_requests||[]).forEach(e=>{this.request&&e.id!==this.request.id&&(e.extra.head_coach_player_ids||[]).concat(e.extra.assistant_coach_player_ids||[]).forEach(l=>{t[l]=!0})}),Object.keys(t)},initialSearch(){return this.league&&this.league.signup_program_id?{program_ids:[this.league.signup_program_id]}:null},toPost(){const t=T.pick(this.request,["head_coach","assistant_coach","extra","values_json"]);return t.head_coach||(t.extra.head_coach_player_ids=[]),t.assistant_coach||(t.extra.assistant_coach_player_ids=[]),t},hasChanged(){return this.origPost&&!T.isEqual(this.origPost,this.toPost)},hasLeagueAgeGroups(){return!!this.league.extra&&!!this.league.extra.age_group_cutoff},effectiveSport(){return this.league.sport||this.$store.getters.clubSport},clubAges(){return T.cloneDeep(this.$store.getters.clubDetails.config.ages).sort((t,e)=>t-e).map(Number).filter(t=>t<=19)},birthYears(){return this.$store.getters.clubDetails.config.birth_years},clubBirthYears(){return this.$store.getters.clubBirthYears},clubGrades(){return this.$store.getters.clubGrades},clubAgeGroups(){return this.$store.getters.clubAgeGroups(this.effectiveSport)},hasFormTemplate(){return this.league.extra.coach_questions&&this.league.extra.coach_questions.length>0},formTemplate(){return{json:this.league.extra.coach_questions}},isFormReadOnly(){return this.isEdit&&!this.isEditForm},canEditForm(){return this.isEdit},completedBy(){return this.request.subscription?"".concat(this.request.subscription.user.first_name," ").concat(this.request.subscription.user.last_name):this.request.coach?"".concat(this.request.coach.first_name," ").concat(this.request.coach.last_name):"Parent Contact"},completedDate(){return this.request.subscription?this.request.subscription.created_at:this.request.coach_submitted_at},leagueSeason(){const t=this.league;return(t==null?void 0:t.season)||this.$store.getters.clubDetails.seasons.find(e=>e.id===(t==null?void 0:t.season_id))},promotionDate(){var e;const t=this.leagueSeasonAgeClass;return t?(e=this.$store.getters.clubAgeClassificationConfig(t,this.effectiveSport))==null?void 0:e.next_promotion_date:null},playingSeasonOffset(){var t;return We.getPlayingSeasonOffset((t=this.leagueSeason)==null?void 0:t.playing_season,this.promotionDate)}},watch:{contactID(){this.setWaiverPrintRoute(),this.contactID!==this.playersLoadedForID&&this.fetchCoach()},leagueId(){this.setWaiverPrintRoute()}},methods:{showModal(t){t?(this.invalidContact=!1,this.isEdit=!0,this.request=null,this.fetchRequest(t.id),this.setWaiverPrintRoute()):(this.request={id:0,coach:null,head_coach:!1,assistant_coach:!1,extra:{notes:"",head_coach_player_ids:[],assistant_coach_player_ids:[],male_age_groups:[],female_age_groups:[]},values_json:{}},this.resetUser(),this.isEdit=!1),this.$refs.modal.show()}
1,dismiss(){this.$refs.modal.dismiss()},createRequest(){const t=T.cloneDeep(this.toPost);t.user_id=this.contact.id||0,t.coach=this.contact,Q().post("/club_admin/club_leagues/".concat(this.leagueId,"/coach_requests"),t).then(()=>{this.$emit("refresh"),this.dismiss()})},saveRequest(){Q().post("/club_admin/club_leagues/".concat(this.leagueId,"/coach_requests/").concat(this.request.id),this.toPost).then(()=>{this.$emit("refresh"),this.dismiss()})},fetchRequest(t){Q().get("/club_admin/club_leagues/".concat(this.leagueId,"/coach_requests/").concat(t,"?populate=").concat("coach,players,players:include_parent_players,players:pii,players:assignment_players,players:team_players,subscription,subscription:user")).then(i=>{const l=i.data;this.playersSelected=l.players,this.playersLoadedForID=l.user_id,this.request=l,this.contact=T.cloneDeep(l.coach),this.setInvalid(!this.contact),this.origPost=T.cloneDeep(this.toPost)})},fetchCoach(){const t=this.contact.id;if(t===0){this.playersSelected=[],this.playersLoadedForID=t;return}this.playersSelected=null,Q().get("/club_admin/club/users/".concat(t,"?populate=players,players:pii,players:assignment_players,players:team_players")).then(e=>{const i=e.data;this.playersSelected=i.players,this.playersLoadedForID=t})},assignmentForPlayer(t){let e=null;return t.team_players.forEach(i=>{const l=this.assignmentsByTeamID[i.team_id];l&&(e=l)}),e||(T.each(t.assignment_players||[],i=>{const l=this.assignmentsByID[i.assignment_id];l&&(e=l)}),e)},playerAssignmentFor(t){let e=null;return t.team_players.forEach(i=>{const l=this.assignmentsByTeamID[i.team_id];l&&(e={assignment_id:l.id,player_id:t.id,team_id:i.team_id,status:"Rostered"})}),e||T.find(t.assignment_players||[],i=>this.assignmentsByID[i.assignment_id])},statusClass(t){return sl.statusClass(t)},teamFor(t){const e=this.playerAssignmentFor(t);return e&&this.teamsByID[e.team_id]},rowClass(t){let e="";return this.isSelected(t)&&(e+=" selected-row"),e},isSelected(t){return this.headCoaches.includes(t.id)},setInput(t){this.contact=t,this.contact.id=this.contact.id||0},setInvalid(t){this.invalidContact=t},deleteRequest(){this.deleteFromTeams=T.map(this.assignedToTeams,e=>e.id);const t="You are about to delete the coaching request for <b>".concat(this.contact.first_name," ").concat(this.contact.last_name,"</b>.");this.$refs.modalConfirmDelete.showModal({title:"Delete Coaching Request",type:"is-danger",icon:"trash-alt",message:t,confirmText:"Delete Request",onConfirm:()=>this.doDeleteRequest()})},doDeleteRequest(){const t={remove_from_team_ids:this.deleteFromTeams};Q().post("/club_admin/club_leagues/".concat(this.leagueId,"/coach_requests/").concat(this.request.id,"/delete"),t).then(()=>{this.toast.success("Coaching Request Deleted"),this.$emit("refresh"),this.dismiss()})},resetUser(){this.contact={id:0,first_name:"",last_name:"",email:"",mobile_number:"",send_register_email:!1},this.invalidContact=!0},selectPlayers(){this.$refs.selectPlayers.showModal()},updatePlayers(t){const e=t.map(l=>l.id);if(e.length===0){this.playersSelected=[];return}const i={player_ids:e};Q().post("/players/search?populate=pii,assignment_players,team_players",i).then(l=>{this.playersSelected=l.data})},tagSelected(t,e){let i=t==="M"?this.request.extra.male_age_groups:this.request.extra.female_age_groups;i.includes(e)?i=T.without(i,e):i=T.concat(i,e),t==="M"?this.request.extra.male_age_groups=i:this.request.extra.female_age_groups=i},playerAgeData(t){return this.leagueSeasonAgeClass===je?We.getPlayerGrade(t,this.playingSeasonOffset):this.leagueSeasonAgeClass===et?We.getPlayerBirthYear(t):this.leagueSeasonAgeClass===Ye?We.getPlayerAgeGroupBySport(t,this.playingSeasonOffset,this.effectiveSport):""},fileUploadUrlGeneratorPlayer(t,e){return"/club_admin/club_leagues/".concat(this.leagueId,"/coach_requests/").concat(this.request.id,"/display_file_upload/").concat(t,".").concat(e)},editQuestions(t){this.isEditForm=t},setWaiverPrintRoute(){this.contactID&&this.leagueId&&this.printRouteStore.setRoute("PrintCoachWaiver",{leagueId:this.leagueId,userId:this.contactID})}}},vd=["disabled"],bd=["disabled"],Cd={class:"centered-tool wide-form create-coach-request-modal"},Sd={style:{"margin-bottom":"2rem"}},kd={class:"columns is-vcentered"},wd={key:0,class:"column is-narrow"},Td={key:0,class:"box is-font-mont has-text-weight-semibold"},xd={class:"is-text-size-7"},Fd={key:0,class:"is-text-size-7"},Ad={key:1,style:{padding:"1rem"},class:"has-background-white-ter"},Md={key:2,style:{"margin-top":"3rem"}},Dd={class:"has-text-right",style:{"margin-bottom":"1rem"}},Rd={key:0,style:{padding:"2rem"}},Id={key:0},Ed={key:0,class:"is-italic has-text-grey"},Vd={key:0,style:{padding:"2rem"}},Pd={key:0},Bd={key:0,class:"is-italic has-text-grey"},qd={style:{"margin-top":"3rem"}},Od={class:"has-text-blue-slate is-italic",style:{"margin-bottom":"2rem"}},Ud={key:0,class:"columns"},Ld={class:"column"},Gd={class:"tags"},Nd=["onClick"],jd={class:"column"},Yd={class:"tags"},zd=["onClick"],Hd={key:1,class:"columns"},$d={class:"column"},Wd={class:"tags"},Qd=["onClick"],Jd={class:"column"},Kd={class:"tags"},Xd={class:"tags"},Zd=["onClick"],eu={key:2,class:"columns"},tu={class:"column"},su={class:"tags"},iu=["onClick"],au={class:"column"},lu={class:"tags"},nu=["onClick"],ru={key:0,style:{"margin-top":"3rem"}},ou={class:"columns is-vcentered"},du={key:0,class:"column is-narrow"},uu={style:{"margin-top":"3rem"}},cu={key:0};function mu(t,e,i,l,a,s){const u=c("FormModalHeader"),m=c("spinner"),f=c("UserByEmail"),v=c("b-switch"),y=c("b-checkbox"),g=c("b-table-column"),b=c("b-tag"),S=c("BaseTable"),F=c("b-field"),w=c("CustomTemplate"),C=c("b-input"),D=c("FullScreenModal"),B=c("modal-confirm"),N=c("message-box"),M=c("SelectMultiplePlayers");return d(),h("div",null,[n(D,{ref:"modal"},ht({default:o(()=>{var I,V;return[s.loading?(d(),x(m,{key:0,ref:"spinner"},null,512)):k("",!0),Ys(r("div",Cd,[r("div",Sd,[r("div",kd,[e[15]||(e[15]=r("div",{class:"column is-font-mont is-text-size-4 has-text-weight-bold"}," Coach Information ",-1)),s.canChangeUser?(d(),h("div",wd,[r("a",{onClick:e[3]||(e[3]=(...P)=>s.resetUser&&s.resetUser(...P))}
1,"Change User")])):k("",!0)])]),a.contact&&a.contact.id&&!a.invalidContact?(d(),h("div",Td,[r("div",null,_(a.contact.first_name)+" "+_(a.contact.last_name),1),r("div",xd,[e[16]||(e[16]=r("span",{class:"has-text-grey"},"Email:",-1)),p(" "+_(a.contact.email),1)]),a.contact.mobile_number?(d(),h("div",Fd,[e[17]||(e[17]=r("span",{class:"has-text-grey"},"Phone:",-1)),p(" "+_(l.phone(a.contact.mobile_number)),1)])):k("",!0)])):(d(),h("div",Ad,[n(f,{onInput:e[4]||(e[4]=P=>s.setInput(P)),onInvalid:e[5]||(e[5]=P=>s.setInvalid(P))})])),!a.invalidContact&&!s.loading?(d(),h("div",Md,[e[23]||(e[23]=r("div",{class:"is-font-mont is-text-size-4 has-text-weight-bold"}," Coaching Interest ",-1)),e[24]||(e[24]=r("div",{class:"has-text-blue-slate is-italic",style:{"margin-bottom":"2rem"}}," Select the roles the coach is interested in coaching. With each selection, indicate the preferred players to assign for that role. ",-1)),r("div",Dd,[r("a",{class:"is-underline",onClick:e[6]||(e[6]=(...P)=>s.selectPlayers&&s.selectPlayers(...P))},"Select Players")]),r("div",{class:Ce(["box",{"box-selected-outlined":(I=a.request)==null?void 0:I.head_coach}])},[n(v,{modelValue:a.request.head_coach,"onUpdate:modelValue":e[7]||(e[7]=P=>a.request.head_coach=P)},{default:o(()=>[...e[18]||(e[18]=[p(" Head Coach ",-1)])]),_:1},8,["modelValue"]),(V=a.request)!=null&&V.head_coach?(d(),h("div",Rd,[n(S,{name:"headCoachPlayers",data:s.players,"row-class":s.rowClass,"show-all":""},{default:o(()=>[n(g,{"custom-key":"select"},{default:o(({row:P})=>[n(y,{modelValue:a.request.extra.head_coach_player_ids,"onUpdate:modelValue":e[8]||(e[8]=E=>a.request.extra.head_coach_player_ids=E),"native-value":P.id},null,8,["modelValue","native-value"])]),_:1}),n(g,{label:"Player Name"},{default:o(({row:P})=>[p(_(P.first_name)+" "+_(P.last_name),1)]),_:1}),n(g,{label:"Gender"},{default:o(({row:P})=>[p(_(l.asGenderWord(P.gender)),1)]),_:1}),n(g,{label:"Age"},{default:o(({row:P})=>[p(_(s.playerAgeData(P)),1)]),_:1}),n(g,{label:"Team Assignment"},{default:o(({row:P})=>[s.assignmentForPlayer(P)?(d(),h("div",Id,[r("div",null,_(s.assignmentForPlayer(P).name),1),s.teamFor(P)?(d(),h("div",Ed,_(s.teamFor(P).name),1)):k("",!0)])):k("",!0)]),_:1}),n(g,{label:"Status"},{default:o(({row:P})=>[s.playerAssignmentFor(P)?(d(),x(b,{key:0,class:Ce([s.statusClass(s.playerAssignmentFor(P)),"is-info form-status"]),rounded:""},{default:o(()=>[p(_(s.playerAssignmentFor(P).status),1)]),_:2},1032,["class"])):k("",!0)]),_:1})]),_:1},8,["data","row-class"])])):k("",!0)],2),r("div",{class:Ce(["box",{"box-selected-outlined":a.request.assistant_coach}])},[n(v,{modelValue:a.request.assistant_coach,"onUpdate:modelValue":e[9]||(e[9]=P=>a.request.assistant_coach=P)},{default:o(()=>[...e[19]||(e[19]=[p(" Assistant Coach ",-1)])]),_:1},8,["modelValue"]),a.request.assistant_coach?(d(),h("div",Vd,[n(S,{name:"assistantCoachPlayers",data:s.players,"row-class":s.rowClass,"show-all":""},{default:o(()=>[n(g,{"custom-key":"select"},{default:o(({row:P})=>[n(y,{modelValue:a.request.extra.assistant_coach_player_ids,"onUpdate:modelValue":e[10]||(e[10]=E=>a.request.extra.assistant_coach_player_ids=E),"native-value":P.id},null,8,["modelValue","native-value"])]),_:1}),n(g,{label:"Player Name"},{default:o(({row:P})=>[p(_(P.first_name)+" "+_(P.last_name),1)]),_:1}),n(g,{label:"Gender"},{default:o(({row:P})=>[p(_(l.asGenderWord(P.gender)),1)]),_:1}),n(g,{label:"Age"},{default:o(({row:P})=>[p(_(s.playerAgeData(P)),1)]),_:1}),n(g,{label:"Team Assignment"},{default:o(({row:P})=>[s.assignmentForPlayer(P)?(d(),h("div",Pd,[r("div",null,_(s.assignmentForPlayer(P).name),1),s.teamFor(P)?(d(),h("div",Bd,_(s.teamFor(P).name),1)):k("",!0)])):k("",!0)]),_:1}),n(g,{label:"Status"},{default:o(({row:P})=>[s.playerAssignmentFor(P)?(d(),x(b,{key:0,class:Ce([s.statusClass(s.playerAssignmentFor(P)),"is-info form-status"]),rounded:""},{default:o(()=>[p(_(s.playerAssignmentFor(P).status),1)]),_:2},1032,["class"])):k("",!0)]),_:1})]),_:1},8,["data","row-class"])])):k("",!0)],2),r("div",qd,[e[20]||(e[20]=r("div",{class:"is-font-mont is-text-size-4 has-text-weight-bold"},[p(" Additional Coaching Preferences "),r("span",{class:"has-text-blue-slate"},"(Optional)")],-1)),r("div",Od," Select the "+_(s.ageClassPrefText)+" and/or genders the coach is interested in coaching. ",1),s.leagueSeasonAgeClass===s.DEFAULT_CLASS_AGE_GROUP?(d(),h("div",Ud,[r("div",Ld,[n(F,{label:"Select Male Age Groups:"}),r("div",Gd,[(d(!0),h(G,null,ue(s.clubAgeGroups,P=>(d(),h("a",{key:P.value,class:Ce([{"is-primary":a.request.extra.male_age_groups.includes(P.value)},"tag is-medium is-white is-rounded is-outlined"]),onClick:E=>s.tagSelected("M",P.value)},_(P.name),11,Nd))),128))])]),r("div",jd,[n(F,{label:"Select Female Age Groups:"}),r("div",Yd,[(d(!0),h(G,null,ue(s.clubAgeGroups,P=>(d(),h("a",{key:P.value,class:Ce([{"is-primary":a.request.extra.female_age_groups.includes(P.value)},"tag is-medium is-white is-rounded is-outlined"]),onClick:E=>s.tagSelected("F",P.value)},_(P.name),11,zd))),128))])])])):s.leagueSeasonAgeClass===s.DEFAULT_CLASS_GRADE?(d(),h("div",Hd,[r("div",$d,[n(F,{label:"Select Male Grades:"}),r("div",Wd,[(d(!0),h(G,null,ue(s.clubGrades,P=>(d(),h("a",{key:P.value,class:Ce([{"is-primary":a.request.extra.male_age_groups.includes(P.value)},"tag is-medium is-white is-rounded is-outlined"]),onClick:E=>s.tagSelected("M",P.value)},_(P.name),11,Qd))),128))])]),r("div",Jd,[n(F,{label:"Select Female Grades:"}),r("div",Kd,[r("div",Xd,[(d(!0),h(G,null,ue(s.clubGrades,P=>(d(),h("a",{key:P.value,class:Ce([{"is-primary":a.request.extra.female_age_groups.includes(P.value)},"tag is-medium is-white is-rounded is-outlined"]),onClick:E=>s.tagSelected("F",P.value)},_(P.name),11,Zd))),128))])])])])):(d(),h("div",eu,[r("div",tu,[n(F,{label:"Select Male Birth Years:"}),r("div",su,[(d(!0),h(G,null,ue(s.clubBirthYears,P=>(d(),h("a",{key:P,class:Ce([{"is-primary":a.request.extra.male_age_groups.includes(P)},"tag is-medium is-white is-rounded is-outlined"]),onClick:E=>s.tagSelected("M",P)},_(l.shortenYearToSingleQuoteAnd2Digits(P)),11,iu))),128))])]),r("div",au,[n(F,{label:"Select Female Birth Years:"}),r("div",lu,[(d(!0),h(G,null,ue(s.clubBirthYears,P=>(d(),h("a",{key:P,class:Ce([{"is-primary":a.request.extra.female_age_groups.includes(P)},"tag is-medium is-white is-rounded is-outlined"]),onClick:E=>s.tagSelected("F",P)},_(l.shortenYearToSingleQuoteAnd2Digits(P)),11,nu))),128))])])]))]),s.hasFormTemplate?(d(),h("div",ru,[r("div",ou,[e[21]||(e[21]=r("div",{class:"column"},[r("div",{class:"is-font-mont is-text-size-4 has-text-weight-bold"}," Additional Questions ")],-1)),s.canEditForm?(d(),h("div",du,[a.isEditForm?(d(),h("button",{key:1,class:"button is-primary is-outlined is-small",onClick:e[12]||(e[12]=P=>s.editQuestions(!1))}," Done ")):(d(),h("button",{key:0,class:"button is-primary is-small",onClick:e[11]||(e[11]=P=>s.editQuestions(!0))}," Edit Responses "))])):k("",!0)]),n(w,{ref:"customTemplate","form-template":s.formTemplate,"model-value":a.request.values_json,"completed-by":s.completedBy,"completed-date":s.completedDate,readonly:s.isFormReadOnly,showbox:"","subscription-id":a.request.subscription_id,"file-upload-url-generator":s.fileUploadUrlGeneratorPlayer},null,8,["form-template","model-value","completed-by","completed-date","readonly","subscription-id","file-upload-url-generator"])])
1):k("",!0),r("div",uu,[e[22]||(e[22]=r("div",{class:"is-font-mont is-text-size-4 has-text-weight-bold",style:{"margin-bottom":"1rem"}},"Notes",-1)),n(F,null,{default:o(()=>[n(C,{modelValue:a.request.extra.notes,"onUpdate:modelValue":e[13]||(e[13]=P=>a.request.extra.notes=P),type:"textarea",placeholder:"Type coaching interest here.."},null,8,["modelValue"])]),_:1})])])):k("",!0)],512),[[Ri,!s.loading]])]}),_:2},[s.loading?void 0:{name:"header",fn:o(()=>[n(u,{actions:s.actions,title:s.title,"wide-form":"",onDismiss:s.dismiss},{Create:o(()=>[r("button",{disabled:s.invalid,class:"button is-primary is-wide",onClick:e[0]||(e[0]=(...I)=>s.createRequest&&s.createRequest(...I))}," Create Request ",8,vd)]),Delete:o(()=>[r("button",{class:"button is-danger is-outlined",onClick:e[1]||(e[1]=(...I)=>s.deleteRequest&&s.deleteRequest(...I))}," Delete Request ")]),Save:o(()=>[r("button",{disabled:s.invalid||!s.hasChanged,class:"button is-primary is-wide",onClick:e[2]||(e[2]=(...I)=>s.saveRequest&&s.saveRequest(...I))}," Save Changes ",8,bd)]),_:1},8,["actions","title","onDismiss"])]),key:"0"}]),1536),n(B,{ref:"modalConfirmDelete"},{default:o(()=>[(d(),h(G,{key:0},[e[27]||(e[27]=r("br",null,null,-1)),s.assignedToTeams.length>0?(d(),h("div",cu,[r("p",null,"The coach is assigned to "+_(l.pluralize(s.assignedToTeams.length,"team"))+" in this league:",1),e[26]||(e[26]=r("br",null,null,-1)),(d(!0),h(G,null,ue(s.assignedToTeams,I=>(d(),h("div",{key:I.id},[n(y,{modelValue:a.deleteFromTeams,"onUpdate:modelValue":e[14]||(e[14]=V=>a.deleteFromTeams=V),"native-value":I.id},{default:o(()=>[e[25]||(e[25]=p(" Remove coach from ",-1)),r("b",null,_(I.name),1)]),_:2},1032,["modelValue","native-value"])]))),128))])):k("",!0),e[28]||(e[28]=r("br",null,null,-1)),e[29]||(e[29]=p("Are you sure that you want to delete the coach request? ",-1))],64))]),_:1},512),n(M,{ref:"selectPlayers","include-current-team":"","assigned-ids":s.assignedPlayerIDs,"assigned-text":"On another Coach Request","include-closed-programs":"","include-archived":"","include-prospects":"",sport:s.effectiveSport,"age-classification-in":s.leagueSeasonAgeClass,"initial-locked-ids":s.lockedIDs,"initial-selected-ids":s.players.map(I=>I.id),"initial-search":s.initialSearch,"populate-all":"",onSaveSelected:s.updatePlayers},ht({_:2},[i.league&&i.league.signup_program?{name:"warning",fn:o(()=>[n(N,{type:"is-cyan",message:"Only players that registered for the program ".concat(i.league.signup_program.name,", can be selected."),icon:{icon:["fas","info-circle"],type:"cyan"}},null,8,["message"])]),key:"0"}:void 0]),1032,["assigned-ids","sport","age-classification-in","initial-locked-ids","initial-selected-ids","initial-search","onSaveSelected"])])}const El=ie(yd,[["render",mu],["__scopeId","data-v-d7c7524f"]]),fu={components:{ExportModal:Qs},props:{leagueId:{type:Number,required:!0}},emits:["dismissModal"],data(){return{message:"Generate a custom .csv of the coaching requests for this league."}},computed:{},methods:{showModal(){this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t)}}};function hu(t,e,i,l,a,s){const u=c("ExportModal");return d(),x(u,{ref:"modal","custom-message":a.message,"server-url":"/club_admin/club_leagues/".concat(i.leagueId,"/coach_requests"),"server-endpoint":"all-coaching-requests.csv",type:"coaching_requests",onDismissModal:s.dismissModal},null,8,["custom-message","server-url","onDismissModal"])}const gu=ie(fu,[["render",hu]]),pu={components:{Modal:Qe},props:{league:{type:Object,required:!0}},emits:["refresh"],setup(){return{phone:Vi,pluralize:Fe,asGenderWord:hs}},data(){return{request:null,otherRequests:null,activeTab:0,filteredRequests:[],toTeamName:"",teamID:null,headCoach:!0,assignPlayerIDs:[]}},computed:{DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},effectiveSport(){return this.league.sport||this.$store.getters.clubSport},clubAgeGroups(){return this.$store.getters.clubAgeGroups(this.effectiveSport)||[]},invalid(){return!this.teamID},allRequests(){return[this.request].concat(this.otherRequests)},leagueSeason(){const e=this.$store.getters.clubDetails.seasons.find(i=>{var l;return i.id===((l=this.league)==null?void 0:l.season_id)});return e==null?void 0:e.age_class},teams(){return(this.league.league_teams||[]).map(t=>t.team)},selectedTeam(){return this.teamID?T.find(this.teams,t=>t.id===this.teamID):null},selectedHeadCoach(){return this.selectedTeam&&this.selectedTeam.coach},coachIsHeadCoach(){return this.selectedHeadCoach&&this.selectedHeadCoach.id===this.request.user_id},requestsSelected(){return this.allRequests.filter(t=>this.assignedPlayersByID[t.player_id])},playersReassigned(){return this.selectedTeam?T.filter(this.allRequests,t=>this.assignedPlayersByID[t.player_id]&&t.team&&t.team.id!==this.teamID).map(t=>t.player_name):[]},assignedPlayersByID(){return T.keyBy(this.assignPlayerIDs)},requestsWithPlayer(){return this.allRequests.filter(t=>t.player)},rolesSelected(){const t={};return this.requestsSelected.length===0?(this.request.head_coach&&(t.Head=!0),this.request.assistant_coach&&(t.Assistant=!0)):this.requestsSelected.forEach(e
1=>{e.head_coach&&(t.Head=!0),e.assistant_coach&&(t.Assistant=!0)}),Object.keys(t)},hasRequestsWithPlayer(){return this.requestsWithPlayer.length>0},buttonTitle(){let t="Assign Coach";if(this.assignPlayerIDs.length>0){const e=Fe(this.assignPlayerIDs.length,"Player");t+=" & ".concat(e)}return t},maleGroups(){return this.sorted(this.request.extra.male_age_groups).map(e=>this.formatAge(e)).filter(e=>e)},hasMaleGroups(){return this.maleGroups.length>0},femaleGroups(){return this.sorted(this.request.extra.female_age_groups).map(e=>this.formatAge(e)).filter(e=>e)},hasFemaleGroups(){return this.femaleGroups.length>0},hasLeagueAgeGroups(){return!!this.league.extra&&!!this.league.extra.age_group_cutoff},ageTitle(){return this.leagueSeason===Ye?"Age Groups":this.leagueSeason===je?"Grades":"Birth Years"},coachAssignments(){const t=[];return this.teams.forEach(e=>{e.coaches.forEach(i=>{i.user_id===this.request.user_id&&t.push({team_id:e.id,team_name:e.name,head_coach:i.head_coach})})}),t},hasCoachAssignments(){return this.coachAssignments.length>0},assignedTeamByID(){return T.keyBy(this.coachAssignments,"team_id")},filteredLeagueTeams(){const t=this.toTeamName.toLowerCase();return T.sortBy(this.teams,"name").filter(i=>!this.isAssigned(i.id)&&i.name.toLowerCase().includes(t))}},watch:{selectedHeadCoach(){this.selectedHeadCoach&&(this.headCoach=this.coachIsHeadCoach)}},methods:{showModal(t,e){this.selectTeam(t.team),this.headCoach=!!t.head_coach,this.assignPlayerIDs=this.isDisabled(t)||this.isChecked(t)||!t.player_id?[]:[t.player_id],this.otherRequests=e,this.request=t,this.$refs.modal.showModal(),t.team&&this.$nextTick(()=>{this.$refs.autocomplete.setSelected(t.team)})},assignCoach(){const t={head_coach:this.headCoach,league_id:this.league.id,assigned_player_ids:this.assignPlayerIDs};Q().post("/club_admin/teams/".concat(this.teamID,"/coaches/").concat(this.request.user_id),t).then(()=>{this.$emit("refresh"),this.$refs.modal.dismissModal()})},requestAgeInfo(t){var e;if(this.leagueSeason===Ye)return We.getPlayerAgeGroupBySport(t.player,0,(e=this.league)==null?void 0:e.sport);if(this.leagueSeason===je){const i=We.getPlayerGrade(t.player);return i==="Pre-K"||i==="K"?i:"".concat(i," Grade")}return We.getPlayerBirthYear(t.player)},isChecked(t){return t.team&&t.team.id===this.teamID},isDisabled(t){return!!t.team&&!!t.assignment&&!!t.assignment.rostered_at},rolesRequested(t){const e=[];t.head_coach&&e.push("Head"),t.assistant_coach&&e.push("Assistant");const i=e.length>1?"roles":"role";return"".concat(e.join(" or ")," ").concat(i," requested")},hasSelectedRole(t){return this.rolesSelected.includes(t)},formatAge(t){var e;if(this.leagueSeason===je){const i=An.find(l=>l.value===t);return i?(i==null?void 0:i.name)==="Pre-K"||(i==null?void 0:i.name)==="K"?i==null?void 0:i.name:"".concat(i==null?void 0:i.name," Grade"):""}return this.leagueSeason===Ye?((e=this.clubAgeGroups.find(i=>i.value===t))==null?void 0:e.name)||"":t},isAssigned(t){return!!this.assignedTeamByID[t]},selectTeam(t){this.teamID=t?t.id:0,this.toTeamName=t?t.name:""},sorted(t){return t.sort((i,l)=>i-l)}}},_u={key:0},yu={class:"is-font-mont is-text-size-4 has-text-weight-bold"},vu={class:"has-background-white-ter",style:{"margin-top":"1rem",padding:"1rem"}},bu={class:"columns"},Cu={class:"column"},Su={key:0},ku={key:0,class:"column"},wu={key:0,class:"columns"},Tu={key:0,class:"column"},xu={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7 mb-2"},Fu={key:1,class:"column"},Au={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7 mb-2"},Mu={key:1,class:"columns"},Du={key:0,class:"column"},Ru={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7",style:{"margin-bottom":"0.5rem"}},Iu={key:1,class:"column"},Eu={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7",style:{"margin-bottom":"0.5rem"}},Vu={key:2,class:"columns"},Pu={key:0,class:"column"},Bu={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7",style:{"margin-bottom":"0.5rem"}},qu={key:1,class:"column"},Ou={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7",style:{"margin-bottom":"0.5rem"}},Uu={key:3},Lu={class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7",style:{"margin-bottom":"0.5rem"}},Gu={key:0},Nu={key:0,class:"has-text-color-warning is-italic",style:{"margin-bottom":"1rem"}},ju={key:1,class:"has-text-color-warning is-italic"},Yu={key:2},zu={class:"columns is-mobile is-vcentered"},Hu={class:"column is-narrow",style:{"padding-right":"0"}},$u={class:"is-font-mont has-text-weight-medium"},Wu={key:0},Qu={key:1},Ju={key:0},Ku={class:"has-text-grey is-italic"},Xu={key:0,style:{"margin-top":"2rem"}},Zu=["disabled"];function ec(t,e,i,l,a,s){const u=c("b-autocomplete"),m=c("b-field"),f=c("b-radio"),v=c("b-checkbox"),y=c("message-box"),g=c("Modal");return d(),x(g,{ref:"modal",title:"Assign Coach to Team","has-datepicker":""},{footer:o(()=>[r("button",{disabled:s.invalid,class:"button is-primary",onClick:e[4]||(e[4]=(...b)=>s.assignCoach&&s.assignCoach(...b))},_(s.buttonTitle),9,Zu)]),default:o(()=>[a.request?(d(),h("div",_u,[r("div",yu,_(a.request.coach_name),1),r("div",vu,[r("div",bu,[r("div",Cu,[e[5]||
1(e[5]=r("div",{class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7 mb-2"},"Coach Info:",-1)),r("div",null,_(a.request.coach.email),1),a.request.coach.mobile_number?(d(),h("div",Su,_(l.phone(a.request.coach.mobile_number)),1)):k("",!0)]),a.request.extra.notes?(d(),h("div",ku,[e[6]||(e[6]=r("div",{class:"is-font-mont has-text-blue-slate-light has-text-weight-semibold is-text-size-7 mb-2"},"Notes:",-1)),r("div",null,_(a.request.extra.notes),1)])):k("",!0)]),s.leagueSeason===s.DEFAULT_CLASS_GRADE?(d(),h("div",wu,[s.hasMaleGroups?(d(),h("div",Tu,[r("div",xu," Male "+_(s.ageTitle)+": ",1),p(" "+_(s.maleGroups.join(", ")),1)])):k("",!0),s.hasFemaleGroups?(d(),h("div",Fu,[r("div",Au," Female "+_(s.ageTitle)+": ",1),p(" "+_(s.femaleGroups.join(", ")),1)])):k("",!0)])):k("",!0),s.leagueSeason===s.DEFAULT_CLASS_AGE_GROUP?(d(),h("div",Mu,[s.hasMaleGroups?(d(),h("div",Du,[r("div",Ru," Male "+_(s.ageTitle)+": ",1),p(" "+_(s.maleGroups.join(", ")),1)])):k("",!0),s.hasFemaleGroups?(d(),h("div",Iu,[r("div",Eu," Female "+_(s.ageTitle)+": ",1),p(" "+_(s.femaleGroups.join(", ")),1)])):k("",!0)])):k("",!0),s.leagueSeason===s.DEFAULT_CLASS_BIRTH_YEAR?(d(),h("div",Vu,[s.hasMaleGroups?(d(),h("div",Pu,[r("div",Bu," Male "+_(s.ageTitle)+": ",1),p(" "+_(s.maleGroups.join(", ")),1)])):k("",!0),s.hasFemaleGroups?(d(),h("div",qu,[r("div",Ou," Female "+_(s.ageTitle)+": ",1),p(" "+_(s.femaleGroups.join(", ")),1)])):k("",!0)])):k("",!0),s.hasCoachAssignments?(d(),h("div",Uu,[r("div",Lu," Coach assigned to "+_(l.pluralize(s.coachAssignments.length,"Team")),1),(d(!0),h(G,null,ue(s.coachAssignments,b=>(d(),h("div",{key:b.team_id},_(b.team_name)+" - "+_(b.head_coach?"Head":"Assistant"),1))),128))])):k("",!0)]),n(m,{label:"Assign to team",style:{"margin-top":"2rem"}},{default:o(()=>[n(u,{ref:"autocomplete",modelValue:a.toTeamName,"onUpdate:modelValue":e[0]||(e[0]=b=>a.toTeamName=b),"open-on-focus":!0,data:s.filteredLeagueTeams,field:"name",placeholder:"Search for team...",icon:"search",onSelect:s.selectTeam},null,8,["modelValue","data","onSelect"])]),_:1}),n(m,{label:"Select coaching position",style:{"margin-top":"2rem"}}),n(m,null,{default:o(()=>[n(f,{modelValue:a.headCoach,"onUpdate:modelValue":e[1]||(e[1]=b=>a.headCoach=b),class:"is-font-mont has-text-weight-medium","native-value":!0,disabled:!!s.selectedHeadCoach&&!s.coachIsHeadCoach},{default:o(()=>[e[7]||(e[7]=p(" Head Coach ",-1)),s.selectedHeadCoach?(d(),h("span",Gu," â "+_(s.selectedHeadCoach.first_name)+" "+_(s.selectedHeadCoach.last_name),1)):k("",!0)]),_:1},8,["modelValue","disabled"])]),_:1}),a.headCoach&&!s.hasSelectedRole("Head")?(d(),h("div",Nu," Only an Assistant position was requested ")):k("",!0),n(m,null,{default:o(()=>[n(f,{modelValue:a.headCoach,"onUpdate:modelValue":e[2]||(e[2]=b=>a.headCoach=b),class:"is-font-mont has-text-weight-medium","native-value":!1,disabled:s.coachIsHeadCoach},{default:o(()=>[...e[8]||(e[8]=[p(" Assistant Coach ",-1)])]),_:1},8,["modelValue","disabled"])]),_:1}),!a.headCoach&&!s.hasSelectedRole("Assistant")?(d(),h("div",ju," Only a Head position was requested ")):k("",!0),s.hasRequestsWithPlayer?(d(),h("div",Yu,[n(m,{label:"Select players to assign to this team",style:{"margin-top":"2rem"}}),(d(!0),h(G,null,ue(s.requestsWithPlayer,b=>(d(),h("div",{key:b.player_id},[r("div",zu,[r("div",Hu,[s.isChecked(b)?(d(),x(v,{key:0,"model-value":!0,disabled:""})):(d(),x(v,{key:1,modelValue:a.assignPlayerIDs,"onUpdate:modelValue":e[3]||(e[3]=S=>a.assignPlayerIDs=S),"native-value":b.player_id,disabled:s.isDisabled(b)||s.isChecked(b)},null,8,["modelValue","native-value","disabled"]))]),r("div",{class:Ce(["column",{column_is_disabled:s.isDisabled(b)}])},[r("div",$u,[p(_(b.player_name)+", "+_(l.asGenderWord(b.player.gender))+" ",1),s.requestAgeInfo(b)?(d(),h("span",Wu,_(s.requestAgeInfo(b)),1)):k("",!0),b.team?(d(),h("span",Qu,[e[9]||(e[9]=p("â ",-1)),b.assignment?(d(),h("span",Ju,"("+_(b.assignment.status)+")",1)):k("",!0),p(" "+_(b.team.name),1)])):k("",!0)]),r("div",Ku,_(s.rolesRequested(b)),1)],2)])]))),128)),s.playersReassigned.length>0?(d(),h("div",Xu,[n(y,{type:"is-blue-light",icon:{icon:["fas","exclamation-circle"],type:"blue-light"},message:"".concat(s.playersReassigned.join(", ")," will be reassigned to ").concat(s.selectedTeam.name,".")},null,8,["message"])])):k("",!0)])):k("",!0)])):k("",!0)]),_:1},512)}const tc=ie(pu,[["render",ec],["__scopeId","data-v-8d6dfd11"]]),sc={components:{AgeGroupFilter:nl,BirthYearFilter:ll,FilterTray:Bt,FilterSection:at,GenderFilter:rl,GradeFilter:al},props:{requests:{type:Array,required:!0},searchQuery:{type:String,required:!0},ageGroupFilter:{type:String,default:null},league:{type:Object,default:()=>{}}},emits:["filtered","filters-cleared"],data(){return{filters:this.$store.getters.requestsFilters}},computed:{DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},clubEnabledAgeClassification(){return this.clubHasAgeGroupClassification||this.clubHasGradeClassification||this.clubHasBirthYearClassification},clubHasAgeGroupClassification(){return this.$store.getters.clubHasAgeGroupClassification(this.effectiveSport)},clubHasGradeClassification(){return this.$store.getters.clubHasGradeClassification},clubHasBirthYearClassification(){return this.$store.getters.clubHasBirthYearClassification},maxClubAge(){return this.$store.getters.maxClubAgeByBirthYear},minClubAge(){return this.$store.getters.minClubAgeByBirthYear},maxClubGrade(){return this.$store.getters.maxClubGrade},minClubGrade(){return this.$store.getters.minClubGrade},maxClubAgeGroup(){return this.$store.getters.maxClubAgeGroup(this.effectiveSport)},minClubAgeGroup(){return this.$store.getters.minClubAgeGroup(this.effectiveSport)},birthYearsByAge(){return T.keyBy(this.$store.getters.clubBirthYears,t=>new Date().getFullYear()-t)},leagueSeasonAgeClass(){const e=this.$store.getters.clubDetails.seasons.find(i=>{var l;return i.id===((l=this.league)==null?void 0:l.season_id)});return e==null?void 0:e.age_class},effectiveSport(){var t;return((t=this.league)==null?void 0:t.sport)||this.$store.getters.clubSport},filteredRequests(){return this.requests.filter(this.requestIncluded)},filterActive(){return this.$store.getters.requestsFiltersActive},birthYears(){return this.$store.getters.clubDetails.config.birth_years},searchGroups(){const t={};let e=this.ageGroupFilter?this.filters.ageGroups:this.filters.birthYears;return(!e||e.length===0)&&(e=this.defaultGroups),(T.isEmpty(this.filters.genders)||T.includes(this.filters.genders,"M"))&&e.forEach(i=>
1{t["M".concat(i)]=!0}),(T.isEmpty(this.filters.genders)||T.includes(this.filters.genders,"F"))&&e.forEach(i=>{t["F".concat(i)]=!0}),t},clubAges(){return T.cloneDeep(this.$store.getters.clubDetails.config.ages).sort((t,e)=>t-e).map(Number).filter(t=>t<=19)},coachRequestBirthYears(){const t=this.$store.getters.clubBirthYears||[],e=T.compact(T.uniq(T.map(this.requests.map(l=>this.getBirthYear(l.player)))));return T.compact(T.uniq(T.filter(t,l=>e.includes(l)))).sort()},coachRequestAgeGroups(){const t=this.$store.getters.clubAgeGroups(this.effectiveSport)||[],e=T.compact(T.uniq(T.map(this.requests.map(l=>{var a,s;return(s=(a=l.player)==null?void 0:a.age_by_groups)==null?void 0:s[this.effectiveSport]})))),i=T.compact(T.uniq(T.filter(t,l=>e.includes(l.value))));return T.sortBy(i,["value"])},coachRequestGrades(){const t=this.$store.getters.clubGrades||[],e=T.compact(T.uniq(T.map(this.requests.map(l=>{var a;return(a=l.player)==null?void 0:a.age_by_grade})))),i=T.compact(T.uniq(T.filter(t,l=>e.includes(l.value))));return T.sortBy(i,["value"])},defaultGroups(){return this.ageGroupFilter?this.clubAges:this.birthYears}},watch:{filters:{deep:!0,handler(){this.filterChanged()}},filteredRequests(){this.changed()}},created(){this.changed()},methods:{filterChanged(){this.$store.commit("setRequestFilters",this.filters),this.changed()},changed(){this.$emit("filtered",this.filteredRequests)},requestIncluded(t){const e=t.player||{birth_date:null,gender:null};return(!this.filters.headCoach&&!this.filters.assistantCoach||this.filters.headCoach&&t.head_coach||this.filters.assistantCoach&&t.assistant_coach)&&(T.isEmpty(this.searchQuery)||T.includes(T.toLower(t.coach_name),T.toLower(this.searchQuery))||T.includes(T.toLower(t.player_name),T.toLower(this.searchQuery)))&&(T.isEmpty(this.filters.genders)||T.includes(this.filters.genders,e.gender)||this.coachMatches(t))&&(T.isEmpty(this.filters.ageGroups)&&!this.filters.unclassifiedByAgeGroup||this.includedByAgeGroup(e)||this.coachMatches(t))&&(T.isEmpty(this.filters.birthYears)&&!this.filters.unclassifiedByBirthYear||this.includedByBirthYear(e)||this.coachMatches(t))&&(T.isEmpty(this.filters.grades)&&!this.filters.unclassifiedByGrade||this.includedByGrade(e)||this.coachMatches(t))&&(!this.filters.showOnlyUnassigned||!t.assigned_to_team)&&(!this.filters.showPlayersNoTeam||t.player&&!t.team)},clearFilters(){this.$emit("filters-cleared"),this.$store.dispatch("clearRequestsFilters").then(()=>{this.filters=this.$store.getters.requestsFilters}),this.changed()},coachMatches(t){const e=this.coachGroups(t);return T.some(e,i=>this.searchGroups[i])},coachGroups(t){const e=[];return(t.extra.male_age_groups||[]).forEach(i=>{e.push("M".concat(i))}),(t.extra.female_age_groups||[]).forEach(i=>{e.push("F".concat(i))}),e},getBirthYear(t){return We.getPlayerBirthYear(t)||""},includedByBirthYear(t){var e;if(!this.clubEnabledAgeClassification)return this.filters.birthYears.includes(t==null?void 0:t.birth_year);if(this.leagueSeasonAgeClass!==et)return!1;{const i=this.birthYearsByAge[t==null?void 0:t.age_by_birth_year];return((e=this.filters.birthYears)==null?void 0:e.includes(i))||this.filters.unclassifiedByBirthYear&&((t==null?void 0:t.age_by_birth_year)<this.minClubAge||(t==null?void 0:t.age_by_birth_year)>this.maxClubAge)}},includedByAgeGroup(t){var e,i;if(this.leagueSeasonAgeClass!==Ye||!t)return!1;{const l=((e=t==null?void 0:t.age_by_groups)==null?void 0:e[this.effectiveSport])||"";return((i=this.filters.ageGroups)==null?void 0:i.includes(l))||this.filters.unclassifiedByAgeGroup&&(l<this.minClubAgeGroup||l>this.maxClubAgeGroup)}},includedByGrade(t){var e;if(this.leagueSeasonAgeClass!==je)return!1;{const i=t.age_by_grade;return((e=this.filters.grades)==null?void 0:e.includes(i))||this.filters.unclassifiedByGrade&&(i<this.minClubGrade||i>this.maxClubGrade)}}}};function ic(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-field"),f=c("b-switch"),v=c("FilterSection"),y=c("GenderFilter"),g=c("AgeGroupFilter"),b=c("GradeFilter"),S=c("BirthYearFilter"),F=c("FilterTray");return d(),x(F,{title:"Filter Requests","filters-active":s.filterActive,onClearFilters:s.clearFilters},{content:o(()=>[n(v,{collapsible:!0,"default-open":!0,label:"Coaching Interests"},{default:o(()=>[e[17]||(e[17]=r("div",{class:"filter-subtitle",style:{"margin-bottom":"1rem"}}," Role Requested: ",-1)),n(m,null,{default:o(()=>[n(u,{modelValue:a.filters.headCoach,"onUpdate:modelValue":e[0]||(e[0]=w=>a.filters.headCoach=w)},{default:o(()=>[...e[13]||(e[13]=[p(" Head Coach ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(m,null,{default:o(()=>[n(u,{modelValue:a.filters.assistantCoach,"onUpdate:modelValue":e[1]||(e[1]=w=>a.filters.assistantCoach=w)},{default:o(()=>[...e[14]||(e[14]=[p(" Assistant Coach ",-1)])]),_:1},8,["modelValue"])]),_:1}),e[18]||(e[18]=r("div",{class:"filter-subtitle",style:{"margin-top":"1.5rem","margin-bottom":"1rem"}}," Only Show: ",-1)),n(m,null,{default:o(()=>[n(f,{modelValue:a.filters.showOnlyUnassigned,"onUpdate:modelValue":e[2]||(e[2]=w=>a.filters.showOnlyUnassigned=w)},{default:o(()=>[...e[15]||(e[15]=[p(" Coaches not assigned ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(m,null,{default:o(()=>[n(f,{modelValue:a.filters.showPlayersNoTeam,"onUpdate:modelValue":e[3]||(e[3]=w=>a.filters.showPlayersNoTeam=w)},{default:o(()=>[...e[16]||(e[16]=[p(" Players not assigned to team ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(y,{modelValue:a.filters.genders,"onUpdate:modelValue":e[4]||(e[4]=w=>a.filters.genders=w),label:"Player Gender"},null,8,["modelValue"]),s.clubEnabledAgeClassification?(d(),h(G,{key:0},[s.leagueSeasonAgeClass===s.DEFAULT_CLASS_AGE_GROUP?(d(),x(g,{key:0,modelValue:a.filters.ageGroups,"onUpdate:modelValue":[e[5]||(e[5]=w=>a.filters.ageGroups=w),s.filterChanged],"age-groups":s.coachRequestAgeGroups,"unclassified-by-age-group":a.filters.unclassifiedByAgeGroup,onChecked:e[6]||(e[6]=w=>a.filters.unclassifiedByAgeGroup=w)},null,8,["modelValue","age-groups","unclassified-by-age-group","onUpdate:modelValue"])):s.leagueSeasonAgeClass===s.DEFAULT_CLASS_GRADE?(d(),x(b,{key:1,modelValue:a.filters.grades,"onUpdate:modelValue":[e[7]||(e[7]=w=>a.filters.grades=w),s.filterChanged],grades:s.coachRequestGrades,"unclassified-by-grade":a.filters.unclassifiedByGrade,onChecked:e[8]||(e[8]=w=>a.filters.unclassifiedByGrade=w)},null,8,["modelValue","grades","unclassified-by-grade","onUpdate:modelValue"])):(d(),x(S,{key:2,modelValue:a.filters.birthYears,"onUpdate:modelValue":[e[9]||(e[9]=w=>a.filters.birthYears=w),s.filterChanged],"birth-years":s.coachRequestBirthYears,"unclassified-birth-year":a.filters.unclassifiedByBirthYear,onChecked:e[10]||(e[10]=w=>a.filters.unclassifiedByGrade=w)},null,8,["modelValue","birth-years","unclassified-birth-year","onUpdate:modelValue"]))],64)):(d(),h(G,{key:1},[i.ageGroupFilter?(d(),x(g,{key:0,modelValue:a.filters.ageGroups,"onUpdate:modelValue":e[11]||(e[11]=w=>a.filters.ageGroups=w),"age-group-cutoff":i.ageGroupFilter},null,8,["modelValue","age-group-cutoff"])):(d(),x(S,{key:1,modelValue:a.filters.birthYears,"onUpdate:modelValue":e[12]||(e[12]=w=>a.filters.birthYears=w),"birth-years":s.birthYears},null,8,["modelValue","birth-years"]))],64))]),_:1},8,["filters-active","onClearFilters"])}const ac=ie(sc,[["render",ic]]),lc={components:{},props:{league:{type:Object,required:!0}},emits:["refresh"],setup(){const t=Se();return{pluralize:Fe,asGenderWord:hs,toast:t}},data(){return{deleteCoachRequest:null,removePlayerIDs:[],request:null}},computed:{removeCoachButton(){let t="Remove Coach";if(this.removePlayerIDs.length>0){const e=Fe(this.removePlayerIDs.length,"Player");t+=" & ".concat(e)}return t},requestByCoachID(){return!this.league||!this.league.coach_requests?{}:T.keyBy(this.league.coach_requests,"user_id")},coach(){return this.request.coach},team(){return this.request.team},assignment(){return this.request.assignment},playersOnTeam(){if(!this.deleteCoachRequest||!this.deleteCoachRequest.players)return[];const t={};
1return this.deleteCoachRequest.players.forEach(e=>{(e.assignment_players||[]).forEach(i=>{if(i.team_id===this.team.id){const l=T.merge(T.pick(e,["id","first_name","last_name","gender","birth_year"]),{status:i.status});t[l.id]=l}}),(e.team_players||[]).forEach(i=>{if(i.team_id===this.team.id){const l=T.merge(T.pick(e,["id","first_name","last_name","gender","birth_year"]),{status:"Rostered"});t[l.id]=l}})}),Object.values(t)}},methods:{showModal(t){this.request=t,this.removePlayerIDs=[],this.deleteCoachRequest=this.requestByCoachID[this.coach.id];const e="Are you sure you want to remove <b>".concat(this.coach.first_name," ").concat(this.coach.last_name,"</b> from <b>").concat(this.team.name,"</b>?");this.$refs.modalRemoveCoach.confirm({title:"Remove Coach",message:e,confirmText:"Remove Coach",type:"is-danger",icon:"exclamation-circle",onConfirm:()=>this.doDeleteCoach(this.coach)})},doDeleteCoach(t){const e={league_id:this.league.id,assigned_player_ids:this.removePlayerIDs};return Q().post("/club_admin/teams/".concat(this.team.id,"/coaches/").concat(t.id,"/delete"),e).then(()=>{this.toast.success("Coach removed from team"),this.$emit("refresh")})},isDisabled(t){return t.status==="Rostered"}}},nc={key:0},rc={style:{"margin-top":"0.5rem"}},oc={class:"columns is-mobile is-vcentered"},dc={class:"column is-narrow",style:{"padding-right":"0"}},uc={class:"is-font-mont has-text-weight-medium"},cc={key:0};function mc(t,e,i,l,a,s){const u=c("b-field"),m=c("b-checkbox"),f=c("modal-confirm");return d(),x(f,{ref:"modalRemoveCoach","confirm-button":s.removeCoachButton},{default:o(()=>[s.playersOnTeam.length>0?(d(),h("div",nc,[r("div",rc,"This coach has "+_(l.pluralize(s.playersOnTeam.length,"player"))+" on the team.",1),n(u,{label:"Select any player(s) to also unassign from this team",style:{"margin-top":"1rem"}}),(d(!0),h(G,null,ue(s.playersOnTeam,v=>(d(),h("div",{key:v.id},[r("div",oc,[r("div",dc,[n(m,{modelValue:a.removePlayerIDs,"onUpdate:modelValue":e[0]||(e[0]=y=>a.removePlayerIDs=y),"native-value":v.id,disabled:s.isDisabled(v)},null,8,["modelValue","native-value","disabled"])]),r("div",{class:Ce(["column",{column_is_disabled:s.isDisabled(v)}])},[r("div",uc,[p(_(v.first_name)+" "+_(v.last_name)+", "+_(l.asGenderWord(v.gender))+" ",1),v.birth_year?(d(),h("span",cc,_(v.birth_year),1)):k("",!0),r("span",null," ("+_(v.status)+")",1)])],2)])]))),128))])):k("",!0)]),_:1},8,["confirm-button"])}const fc=ie(lc,[["render",mc],["__scopeId","data-v-bc488393"]]),hc={components:{AssignCoachModal:tc,CoachRequestsFilter:ac,CreateCoachRequestModal:El,ManageInvitations:kr,RemoveCoachModal:fc},inject:["refresh"],props:{league:{type:Object,required:!0}},emits:["refresh"],setup(){return{pluralize:Fe}},data(){return{searchQuery:"",activeTab:0,filteredRequests:[]}},computed:{requests(){const t=[];return(this.league.coach_requests||[]).forEach(e=>{const i=T.pick(e,["id","assistant_coach","head_coach","coach","extra","user_id"]);if(i.coach_name="".concat(e.coach.first_name," ").concat(e.coach.last_name),T.isEmpty(e.players)){const l=[];e.head_coach&&l.push("Head"),e.assistant_coach&&l.push("Assistant");const a=T.merge({},i,{roles:l.join(", ")});t.push(a)}else{if(e.head_coach&&T.isEmpty(e.extra.head_coach_player_ids)){const s=T.merge({},i,{assistant_coach:!1,roles:"Head"});t.push(s)}if(e.assistant_coach&&T.isEmpty(e.extra.assistant_coach_player_ids)){const s=T.merge({},i,{head_coach:!1,roles:"Assistant"});t.push(s)}const l=T.keyBy(e.extra.head_coach_player_ids),a=T.keyBy(e.extra.assistant_coach_player_ids);e.players.forEach(s=>{const u=[];l[s.id]&&u.push("Head"),a[s.id]&&u.push("Assistant");const m=T.merge({},i,{head_coach:!!l[s.id],assistant_coach:!!a[s.id],player:s,player_id:s.id,player_name:"".concat(s.first_name," ").concat(s.last_name),roles:u.join(", ")});t.push(m)})}}),t.forEach(e=>{const i=this.playerAssignmentFor(e.player);let l=i?this.teamsByID[i.team_id]:null;!i&&!e.player&&(l=this.teamsByCoachID[e.user_id]),e.assignment=i,e.team=l,e.assigned_to_team=this.isCoachAssigned(l,e)}),t},assignmentsByID(){return T.keyBy(this.league.team_assignments,"id")},teamsByID(){const t=T.map(this.league.league_teams,e=>e.team);return T.keyBy(t,"id")},teamsByCoachID(){const t={};return T.map(this.league.league_teams,i=>i.team).forEach(i=>
1{i.coaches.forEach(l=>{l.head_coach?t[l.user_id]=i:t[l.user_id]=t[l.user_id]||i})}),t},filterActive(){return this.$store.getters.requestsFiltersActive},unregistered(){const t=(this.league.coach_requests||[]).map(e=>e.coach);return T.filter(t,e=>!e.registered_at)},hasUnregistered(){return this.unregistered.length>0},unregisteredMessage(){const t=Fe(this.unregistered.length,"user"),e=this.unregistered.length>1?"have not confirmed their email addresses":"has not confirmed their email address";return"".concat(t," ").concat(e,".")},legendItems(){return[{icon:["fas","check-circle"],icon_color:"success-dark",text:"Coach assigned to the player's team"}]}},methods:{viewRequest(){},editRequest(t){this.$refs.createCoachRequestModal.showModal(t)},assignmentForPlayer(t){return t.assignment&&this.assignmentsByID[t.assignment.assignment_id]},playerAssignmentFor(t){return t?T.find(t.assignment_players||[],e=>this.assignmentsByID[e.assignment_id]):null},statusClass(t){return sl.statusClass(t)},teamFor(t){const e=this.playerAssignmentFor(t.player);return e&&this.teamsByID[e.team_id]},isCoachAssigned(t,e){if(e.player)return t&&T.some(t.coaches,l=>l.id===e.coach.id&&l.title!=="Guest Coach");const i=T.flatten(Object.values(this.teamsByID).map(l=>l.coaches));return T.some(i,l=>l.id===e.coach.id&&l.title!=="Guest Coach")},assignCoach(t){const e=T.filter(this.requests,i=>i.user_id===t.user_id&&i.player_id&&i.player_id!==t.player_id);this.$refs.assignCoachModal.showModal(t,e)},removeCoach(t){this.$refs.removeCoachModal.showModal(t)},manageInvitations(){this.$refs.manageInvitations.showModal()},sendInvites(t,e){const i={user_ids:(t||[]).map(l=>l.id),message:e};Q().post("/club_admin/club/users/invite",i).then(l=>{Q().displaySentData(l.data),this.$emit("refresh")})},notRegistered(t){return t.coach&&!t.coach.registered_at},sortAssignment(t,e,i){let l="",a="";return t.assignment&&(l=this.assignmentForPlayer(t).name),e.assignment&&(a=this.assignmentForPlayer(e).name),mt.compareStrings(l,a,i)},sortPlayerName(t,e,i){return this.sortByLastName(t.player_name,e.player_name,i)},sortCoach(t,e,i){return this.sortByLastName(t.coach_name,e.coach_name,i)},sortByLastName(t,e,i){let l=[],a=[];t&&e&&(l=t.split(" "),a=e.split(" "));const s=l[l.length-1],u=a[a.length-1];return s===u?mt.compareStrings(l[0],a[0],i):mt.compareStrings(s,u,i)}}},gc={class:"title__subsection is-marginless"},pc={style:{"flex-grow":"1"}},_c={key:0,class:"has-text-success"},yc={class:"columns is-mobile is-vcentered"},vc={class:"column is-narrow",style:{"padding-right":"0"}},bc=["onClick"],Cc={class:"column is-narrow"},Sc={class:"has-text-primary clickable","aria-label":"More Options"};function kc(t,e,i,l,a,s){var N;const u=c("b-button"),m=c("message-box"),f=c("fa-icon"),v=c("b-table-column"),y=c("b-tag"),g=c("b-dropdown-item"),b=c("b-dropdown"),S=c("BaseTable"),F=c("CreateCoachRequestModal"),w=c("CoachRequestsFilter"),C=c("AssignCoachModal"),D=c("RemoveCoachModal"),B=c("ManageInvitations");return d(),h("div",null,[n(S,{data:a.filteredRequests,searchable:"",filterable:"","filters-active":s.filterActive,"row-class":()=>"clickable",name:"leagueCoachRequests",hoverable:"","legend-items":s.legendItems,onSelect:s.viewRequest,onQueryUpdated:e[0]||(e[0]=M=>a.searchQuery=M)},ht({"header-left":o(()=>[r("div",gc,_(l.pluralize(s.requests.length,"Coach Request")),1)]),empty:o(()=>[e[5]||(e[5]=r("section",{class:"section"},[r("div",{class:"content has-text-grey has-text-centered"},[r("p",null,"No Coach Requests on League")])],-1))]),default:o(()=>[n(v,{label:"Coach Name","custom-sort":s.sortCoach,sortable:""},{default:o(({row:M})=>[r("span",{class:Ce({"has-text-blue-slate is-italic":s.notRegistered(M)})},_(M.coach_name),3),M.assigned_to_team?(d(),h("span",_c,[n(f,{icon:["fas","check-circle"],class:"ml-1"})])):k("",!0)]),_:1},8,["custom-sort"]),n(v,{label:"Requested Roles",field:"roles",sortable:""},{default:o(({row:M})=>[r("span",{class:Ce({"has-text-blue-slate is-italic":s.notRegistered(M)})},_(M.roles),3)]),_:1}),n(v,{label:"Team",field:"team.name",sortable:""},{default:o(({row:M})=>[p(_(M.team?M.team.name:""),1)]),_:1}),n(v,{label:"Player Name","custom-sort":s.sortPlayerName,sortable:""},{default:o(({row:M})=>[r("span",{class:Ce({"has-text-blue-slate is-italic":s.notRegistered(M)})},_(M.player_name),3)]),_:1},8,["custom-sort"]),n(v,{label:"Team Assignment","custom-sort":s.sortAssignment,sortable:""},{default:o(({row:M})=>[p(_(M.assignment?s.assignmentForPlayer(M).name:""),1)]),_:1},8,["custom-sort"]),n(v,{label:"Player Status",field:"assignment.status",sortable:""},{default:o(({row:M})=>[M.assignment?(d(),x(y,{key:0,class:Ce([s.statusClass(M.assignment),"is-info form-status"]),rounded:""},{default:o(()=>[p(_(M.assignment.status),1)]),_:2},1032,["class"])):k("",!0)]),_:1}),n(v,{label:"Actions"},{default:o(({row:M})=>[r("div",yc,[r("div",vc,[r("a",{class:"has-text-primary clickable","aria-label":"Edit Request",onClick:He(I=>s.editRequest(M),["stop"])},[n(f,{icon:["far","pencil"]})],8,bc)]),r("div",Cc,[n(b,{position:"is-bottom-left"},{trigger:o(()=>[r("a",Sc,[n(f,{icon:["fal","ellipsis-h"],class:"fa-lg"})])]),default:o(()=>[M.assigned_to_team?(d(),x(g,{key:0,onClick:I=>s.removeCoach(M)},{default:o(()=>[...e[3]||(e[3]=[r("span",null,"Remove Coach from Team",-1)])]),_:1},8,["onClick"])):(d(),x(g,{key:1,onClick:I=>s.assignCoach(M)},{default:o(()=>[...e[4]||(e[4]=[r("span",null,"Assign Coach to Team",-1)])]),_:1},8,["onClick"]))]),_:2},1024)])])]),_:1})]),_:2},[s.hasUnregistered?{name:"table-header",fn:o(()=>[r("div",pc,[n(m,{type:"is-yellow-light",class:"message-box--with-button",message:s.unregisteredMessage,icon:{icon:["fas","envelope"],type:"warning"}},{default:o(()=>[n(u,{type:"is-dark",size:"is-small",onClick:s.manageInvitations},{default:o(()=>[...e[2]||(e[2]=[p(" Re-send Invitations.. ",-1)])]),_:1},8,["onClick"])]),_:1},8,["message"])])]),key:"0"}:void 0]),1032,["data","filters-active","legend-items","onSelect"]),n(F,{ref:"createCoachRequestModal",league:i.league,onRefresh:s.refresh},null,8,["league","onRefresh"]),n(w,{"age-group-filter":i.league.extra&&i.league.extra.age_group_cutoff,requests:s.requests,league:i.league,"search-query":a.searchQuery,onFiltered:e[1]||(e[1]=M=>a.filteredRequests=M)},null,8,["age-group-filter","requests","league","search-query"]),n(C,{ref:"assignCoachModal",league:i.league,onRefresh:s.refresh},null,8,["league","onRefresh"]),n(D,{ref:"removeCoachModal",league:i.league,onRefresh:s.refresh},null,8,["league","onRefresh"]),n(B,{ref:"manageInvitations",users:s.unregistered,type:"players",sport:(N=i.league)==null?void 0:N.sport,"type-alt":"player contacts",onSendInvites:s.sendInvites,onRefresh:s.refresh},null,8,["users","sport","onSendInvites","onRefresh"])])}
1const wc=ie(hc,[["render",kc],["__scopeId","data-v-569323db"]]),Tc={key:1,class:"is-flex is-justify-content-center py-6"},xc={__name:"CreateLeagueVolunteerRequestModal",emits:["changeUser","refresh"],setup(t,{expose:e,emit:i}){const l=Se(),a=i,s=H(null),u=H(null),m=H([]),f=H({}),v=H(!1);function y(E){v.value=E}const g=A(()=>m.value.length===0||v.value),b=A(()=>u.value===null||s.value===null),S=H(null),F=A(()=>O.keyBy(S.value,"id"));async function w(){try{const E=await Q().get("/club/volunteer_positions");S.value=E.data}catch(E){throw l.error("Failed to get Volunteer Positions"),E}}const C=A(()=>{var X;if(!s.value)return[];const E=F.value;return(((X=s.value.extra)==null?void 0:X.volunteer_position_ids)||[]).map(q=>E[q]).filter(q=>!q.archived&&q.is_league_position)}),D=A(()=>{var E;return((E=s.value)==null?void 0:E.volunteer_signup_template)||{}});async function B(E){const q=gt({volunteer_signup_template:!0});try{const he=await Q().get("/club_admin/club_leagues/".concat(E,"?populate=").concat(q));s.value=he.data}catch(he){throw l.error("Failed to load league"),he}}function N(){m.value=[],f.value={},v.value=!1}const M=_e("modal");async function I(E,X){N(),u.value=E,await w(),await B(X),M.value.showModal()}async function V(){const E={user_id:u.value.id,position_ids:m.value,values_json:{...f.value}};try{await Q().post("/club_admin/club_leagues/".concat(s.value.id,"/league_volunteer_requests"),E),l.success("Successfully added volunteer"),a("refresh"),M.value.close()}catch(X){throw l.error("Error adding volunteer"),X}}function P(){a("changeUser"),M.value.close()}return e({showModal:I}),(E,X)=>{const q=c("b-button"),he=c("spinner");return d(),x($(Pi),{ref:"modal",title:"Add Volunteer"},{"header-actions":o(()=>[n(q,{type:"is-primary",disabled:g.value,onClick:V},{default:o(()=>[...X[1]||(X[1]=[p(" Add Volunteer ",-1)])]),_:1},8,["disabled"])]),default:o(()=>[b.value?(d(),x(he,{key:0})):(d(),h("div",Tc,[n(xr,{"selected-positions":m.value,"onUpdate:selectedPositions":X[0]||(X[0]=ve=>m.value=ve),"available-league-volunteer-positions":C.value,"volunteer-signup-template":D.value,"league-volunteer-signup-description":s.value.extra.volunteer_signup_description,"preview-data":f.value,volunteer:u.value,"is-league-volunteer-signup-open":s.value.extra.is_volunteer_signup_open,"hide-description":"","always-show-form":"","can-change-user":"",onOnCustomInvalid:y,onChangeUser:P},null,8,["selected-positions","available-league-volunteer-positions","volunteer-signup-template","league-volunteer-signup-description","preview-data","volunteer","is-league-volunteer-signup-open"])]))]),_:1},512)}}},Fc={key:1,class:"py-0 px-5"},Ac={__name:"CreateUserForVolunteerRequestModal",props:{leagueId:{type:Number,default:0}},emits:["showVolunteerDetails","refresh"],setup(t,{expose:e,emit:i}){const l=t,a=Se(),s=i,{formatDate:u}=Xe(),m=H(null),f=H(!1),v=H(null),y=A(()=>v.value===null);async function g(){const q=gt({volunteer_requests:!0});try{const he=await Q().get("/club_admin/club_leagues/".concat(l.leagueId,"?populate=").concat(q));v.value=he.data}catch(he){throw a.error("Failed to load league"),he}}function b(){v.value=null,m.value=null,f.value=!1}const S=_e("modal"),F=_e("search");async function w(){b(),await g(),S.value.showModal(),await ns(()=>{F.value.resetData()})}function C(){f.value=!1,m.value=null}async function D(){const X={email:m.value.email,first_name:m.value.first_name,last_name:m.value.last_name,send_register_email:m.value.send_register_email};m.value.mobile_number&&(X.mobile_number=m.value.mobile_number);try{const q=await Q().post("/club_admin/club/guests",X);m.value.id=q.data.id}catch(q){throw a.error("Failed to create a guest user"),q}}const B=A(()=>{var X;return!m.value||!((X=F.value)!=null&&X.hasMatchingUser)?null:(v.value.volunteer_requests||[]).find(q=>q.user_id===m.value.id)}),N=A(()=>{var X;return((X=F.value)==null?void 0:X.hasMatchingUser)&&!!B.value}),M=A(()=>B.value?"Signup submitted on ".concat(u(B.value.created_at,"ll")):""),I=_e("createLeagueVolunteerRequestModal");async function V(){F.value.hasMatchingUser||await D(),I.value.showModal(m.value,l.leagueId),S.value.close()}function P(){s("showVolunteerDetails",B.value),S.value.close()}function E(){s("refresh")}return e({showModal:w}),(X,q)=>{const he=c("spinner"),ve=c("b-button");return d(),h(G,null,[n($(pt),{ref:"modal",title:"Add Volunteer",onClose:C},{footer:o(()=>[n(ve,{disabled:f.value||N.value,type:"is-primary",onClick:V},{default:o(()=>[...q[3]||(q[3]=[p(" Continue ",-1)])]),_:1},8,["disabled"])]),default:o(()=>[y.value?(d(),x(he,{key:0})):(d(),h("div",Fc,[n(il,{ref:"search",onInput:q[0]||(q[0]=re=>m.value=re),onInvalid:q[1]||(q[1]=re=>f.value=re)}
1,null,512),N.value?(d(),x($(Et),{key:0,type:"warning",headline:M.value,message:"This volunteer has already completed the signup."},{ctas:o(()=>[n(ve,{class:"is-dark","icon-right":"chevron-right",onClick:P},{default:o(()=>[...q[2]||(q[2]=[p(" View Signup ",-1)])]),_:1})]),_:1},8,["headline"])):k("",!0)]))]),_:1},512),n(xc,{ref:"createLeagueVolunteerRequestModal",onChangeUser:w,onRefresh:E},null,512)],64)}}},Mc={components:{ExportModal:Qs},props:{leagueId:{type:Number,required:!0}},emits:["dismissModal"],data(){return{message:"Generate a .csv of the current game assignments from the game schedules for the league. The assignments include any unpublished updates to games."}},computed:{},methods:{showModal(){this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t)}}};function Dc(t,e,i,l,a,s){const u=c("ExportModal");return d(),x(u,{ref:"modal","custom-message":a.message,"server-url":"club_admin/club_leagues/".concat(i.leagueId),"server-endpoint":"all-matchups.csv",type:"assignments",onDismissModal:s.dismissModal},null,8,["custom-message","server-url","onDismissModal"])}const Rc=ie(Mc,[["render",Dc]]),Ic={class:"mb-4"},Ec={key:2},Vc={key:0,class:"ml-5"},Pc={key:3,class:"mt-5"},Bc={key:4,class:"mt-5"},qc={__name:"GenerateAdditionalMatchupsModal",props:{hasDraftMatchups:{type:Boolean,default:!1},league:{type:Object,required:!0}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=i,a=t,s=lt(),u=_e("modal"),m=H(null),f=H(null),v=H(!0),y=H(!1),g=Se(),b=H(1),S=H(!1),F=A(()=>{var he;const X=((he=f.value)==null?void 0:he.matchups)||[];return X.length===0?1:X.reduce((ve,re)=>Math.max(ve,re.period),0)+1}),w=A(()=>Jt(a.league)),C=A(()=>w.value&&s.getters.clubHasRegions),D=A(()=>{var q;return(((q=f.value)==null?void 0:q.time_slot_ids)||[]).length>0}),B=A(()=>{var X;return((X=a.league.league_teams)==null?void 0:X.filter(q=>q.league_division_id===m.value.id).length)||0}),N=A(()=>{var X;return((X=f.value.phases)==null?void 0:X.length)||0}),M=A(()=>b.value%2===1&&B.value%2===1),I=A(()=>N.value>0&&N.value>=F.value);function V(X){!X&&C.value&&y.value&&(y.value=!1)}function P(X,q){var ve;if(!X||!q){g.error("Division and Game Schedule are required to generate matchups");return}m.value=X,f.value=q;const he=q.time_slot_ids||[];v.value=he.length>0,y.value=!1,b.value=1,(ve=u.value)==null||ve.showModal()}async function E(){var X;S.value=!0;try{C.value&&await Q().post("club_admin/game_schedulers/".concat(f.value.id),{place_home_games_on_regional_fields:y.value}),await Q().post("club_admin/game_schedulers/".concat(f.value.id,"/generate_additional_matchups"),{additional_games_per_team:b.value}),v.value&&await Q().post("club_admin/game_schedulers/".concat(f.value.id,"/generate_assignments")),g.success("Games Generated"),l("refresh"),(X=u.value)==null||X.close()}catch(q){throw g.error("Error generating additional games"),q}finally{S.value=!1}}return e({showModal:P}),(X,q)=>{const he=c("b-input"),ve=c("b-field"),re=c("b-switch"),W=c("b-checkbox");return d(),x(rt,{ref:"modal",type:"is-primary",title:"Generate Additional Games","confirm-button-text":"Generate Games",size:"md",loading:S.value,onConfirm:E},{default:o(()=>{var K,j,ge;return[D.value?k("",!0):(d(),x(Et,{key:0,type:"warning",message:"Game Time Slots have not been created for this division. All games will be created as Unassigned Games."})),M.value?(d(),x(Et,{key:1,message:"There is an odd number of teams in this division.\n Generating an odd number of games will result in a mismatch in team game counts, with some teams getting an extra game.",type:"warning"})):k("",!0),r("p",Ic,[q[3]||(q[3]=p(" Select the number of additional games to generate for the ",-1)),r("b",null,_((K=m.value)==null?void 0:K.name),1),q[4]||(q[4]=p(" division. ",-1))]),n(ve,{label:"Number of Games to Create"},{default:o(()=>[n(he,{modelValue:b.value,"onUpdate:modelValue":q[0]||(q[0]=de=>b.value=de),modelModifiers:{number:!0},placeholder:"# of games for each team",type:"number",min:"1",max:"10"},null,8,["modelValue"])]),_:1}),D.value?(d(),h("div",Ec,[n(ve,{class:"is-font-mont has-text-weight-medium my-4"},{default:o(()=>[n(re,{modelValue:v.value,"onUpdate:modelValue":[q[1]||(q[1]=de=>v.value=de),V]},{default:o(()=>[...q[5]||(q[5]=[p(" Place games on available time slots ",-1)])]),_:1},8,["modelValue"])]),_:1}),C.value?(d(),h("div",Vc,[n(ve,{class:"is-font-mont has-text-weight-medium"},{default:o(()=>[n(W,{modelValue:y.value,"onUpdate:modelValue":q[2]||(q[2]=de=>y.value=de),disabled:!v.value},{default:o(()=>[...q[6]||(q[6]=[p(" Place home games on regional fields ",-1)])]),_:1},8,["modelValue","disabled"])]),_:1}),q[7]||(q[7]=r("p",{class:"has-text-blue-slate is-italic ml-5"}," Only place games on fields that matches the home team's region ",
1-1))])):k("",!0)])):k("",!0),q[14]||(q[14]=r("hr",null,null,-1)),I.value?(d(),h("p",Pc,[r("b",null,_($(Fe)(b.value,"game")),1),q[8]||(q[8]=p(" will be created for each team in the ",-1)),r("b",null,_((j=m.value)==null?void 0:j.name),1),q[9]||(q[9]=p(" division, starting in ",-1)),r("b",null,"Playing Period "+_(F.value),1),q[10]||(q[10]=p(". Once all playing periods are filled, any remaining games will be added as unassigned. ",-1))])):(d(),h("p",Bc,[q[11]||(q[11]=p(" All available playing periods have been assigned games. ",-1)),r("b",null,_($(Fe)(b.value,"game")),1),q[12]||(q[12]=p(" will be created for each team in the ",-1)),r("b",null,_((ge=m.value)==null?void 0:ge.name),1),q[13]||(q[13]=p(" division and added as unassigned. ",-1))]))]}),_:1},8,["loading"])}}},Oc={class:"setting-picker my-4"},Uc={class:"is-flex is-justify-content-space-between mb-3"},Lc={key:0,class:"columns"},Gc={key:1,class:"columns"},Nc={key:2,class:"columns"},jc={key:3,class:"box mr-4"},Yc={key:4,class:"mr-4"},zc={__name:"LeagueDivisionAdjustSettingsModal",props:{league:{type:Object,required:!0},selectedDivisions:{type:Array,default:()=>[]},hasGameSchedulerEnabled:{type:Boolean,default:!1}},emits:["dismissed"],setup(t,{expose:e,emit:i}){const l=_e("modal"),a=i,s=lt(),u=Se(),m=H(!1),f=H(null),v=H(null),y=H(null),g=H(null),b=H([]),S=H(null),F=H(null),w=H(null),C=H({}),D=H([]),B=H([]),N=H([]),M=H(null),I=H(null),V=H([]),P=H([]),E=t,X=A(()=>E.selectedDivisions.map(J=>J.id)),q=A(()=>{var J;return((J=E.league.game_schedulers)==null?void 0:J.filter(oe=>X.value.some(De=>De===oe.league_division_id)))||[]}),he=A(()=>{var J;return(J=E.league.extra)==null?void 0:J.enable_variable_playing_periods}),ve=A(()=>{const J=q.value.flatMap(oe=>oe==null?void 0:oe.matchups);return q.value.length>0&&J.some(oe=>(oe==null?void 0:oe.game_id)>0)}),re=A(()=>E.selectedDivisions.length===0?!1:E.selectedDivisions.every(J=>q.value.some(oe=>oe.league_division_id===J.id))),W=A(()=>{const J=[{id:1,name:Ct.GAMES_PER_TEAM},{id:2,name:Ct.ARRIVAL_TIME},{id:3,name:Ct.DURATION}];let oe=[];return ve.value||(oe=[...J]),E.hasGameSchedulerEnabled&&(oe.push({id:4,name:Ct.GAME_PERIODS}),re.value&&oe.push({id:5,name:Ct.FIELDS})),oe}),K=H([]),j=A(()=>new Set(K.value.map(J=>J.name).filter(Boolean))),ge=A(()=>K.value.length<W.value.length),de=A(()=>{if(K.value.length===0||K.value.some(oe=>!oe.name))return!0;const J=new Set(K.value.map(oe=>oe.name));return!!(J.has("Number of Games Per Team")&&(!F.value||Number(F.value)<1)||J.has("Default Arrival Time")&&(w.value===null||w.value<0)||J.has("Game Duration")&&(!S.value||S.value<1)||J.has("Game Periods")&&(!f.value||!y.value||y.value<f.value)||J.has("Game Fields")&&(!D.value||D.value.length===0))}),we=A(()=>"".concat(E.selectedDivisions.length," Divisions selected")),U=A(()=>f.value&&y.value?Us({start_date:f.value,end_date:y.value},(J,oe)=>C.value[Ls(J,oe)]):[]),ee=A(()=>W.value.filter(J=>!j.value.has(J.name))),le=A(()=>{const J={};return E.selectedDivisions.forEach(oe=>{J[oe.id]=oe.extra}),J}),me=A(()=>O.keyBy(P.value,"id")),ne=A(()=>cl(P.value,v.value,g.value)),Ae=A(()=>{const J=[];return b.value.forEach(oe=>{const De=parseInt(oe.period,10);Array.from(new Set(oe.playingDays||[])).forEach(Ee=>{J.push({period:De,start_date:Ee,end_date:Ee})})}),J});function ce(){const J=O.uniqueId();K.value.push({id:J,name:null}),I.value=J,M.value=null}function Z(J,oe){return E.selectedDivisions.every(De=>O.isEqual(le.value[De.id][oe],J[oe]))}function se(J,oe){return q.value.every(De=>O.isEqual(De[oe],J[oe]))}function ke(J){return Ls(J.start_date,J.end_date)}function Me(J){var Ee,st,Le;if(M.value=J||null,!J||!I.value)return;const oe=K.value.findIndex(Ge=>Ge.id===I.value);if(oe===-1)return;K.value[oe]={...K.value[oe],name:J.name},I.value=null,M.value=null;const De=E.selectedDivisions[0],Ze=le.value[De.id];if(J.name==="Number of Games Per Team"&&Z(Ze,"games_per_team")&&(F.value=Ze.games_per_team),J.name==="Game Duration"&&Z(Ze,"game_duration")&&(S.value=Ze.game_duration),J.name==="Default Arrival Time"&&Z(Ze,"game_arrival_min")&&(w.value=Ze.game_arrival_min),J.name==="Game Periods"||J.name==="Game Fields"){const Ge=q.value.find(Oe=>Oe.league_division_id===De.id);if(Ge&&(J.name==="Game Fields"&&se(Ge,"fields")&&(D.value=((Ee=Ge.fields)==null?void 0:Ee.filter(Oe=>!Oe.archived))||[]),J.name==="Game Periods"&&se(Ge,"phases"))){se(Ge,"start_date")&&(f.value=ze.dateFromString(Ge.start_date),v.value=Ge.start_date,g.value=Ge.end_date),se(Ge,"end_date")&&(y.value=ze.dateFromString(Ge.end_date)),((st=E.selectedDivisions)==null?void 0:st.length)===1?(V.value=O.cloneDeep((Le=Ge.matchups)==null?void 0:Le.filter(dt=>dt.home_team_id>0&&dt.away_team_id>0))||[],P.value=ul(Ge)):(V.value=[],P.value=[]),Ge.phases&&(b.value=ml(f.value,y.value,O.cloneDeep(Ge.phases)));const Oe=Us(Ge),At={};Oe.forEach(dt=>{dt.period===-1&&(At[ke(dt)]=!0)}),C.value=At}}}function te(J){if(J==="Number of Games Per Team"){F.value=null;return}if(J==="Default Arrival Time"){w.value=null;return}if(J==="Game Duration"){S.value=null;return}if(J==="Game Periods"){f.value=null,y.value=null,C.value={};return}J==="Game Fields"&&(D.value=[])}function R(J){const oe=K.value[J];oe!=null&&oe.name&&te(oe.name),(oe==null?void 0:oe.id)===I.value&&(I.value=null,M.value=null),K.value.splice(J,1)}async function z(){const J=await Ha(Q());N.value=J.clubFacilities,B.value=J.clubFields}function pe(){K.value=[],F.value=null,S.value=null,w.value=null,f.value=null,y.value=null,C.value={},D.value=[],ce(),l.value.showModal(),z()}function Ue(J=!0){l.value.close(),a("dismissed",{refreshData:J})}async function xe(){m.value=!0;try{const J={league_division_ids:E.selectedDivisions.map(oe=>oe.id),extra:{}};F.value&&(J.extra.games_per_team=Number(F.value)),S.value&&(J.extra.game_duration=Number(S.value)),w.value!==null&&(J.extra.game_arrival_min=Number(w.value)),E.hasGameSchedulerEnabled&&(D.value.length>0||f.value&&y.value)&&(J.game_scheduler_enabled=!0,D.value.length>0&&(J.field_ids=D.value.map(oe=>oe.id)),f.value&&y.value&&(J.start_date=Y(f.value).format("YYYY-MM-DD"),J.end_date=Y(y.value).format("YYYY-MM-DD"),J.ph
1ases=he.value?Ae.value:U.value.filter(oe=>oe.period!==-1))),await Q().post("club_admin/club_leagues/".concat(E.league.id,"/divisions/manage_settings"),J),u.success("Division Settings Adjusted"),Ue()}catch(J){throw u.error("Failed to adjust division settings"),J}finally{m.value=!1}}return e({showModal:pe}),(J,oe)=>{const De=c("fa-icon"),Ze=c("b-button"),Ee=c("b-input"),st=c("b-field");return d(),x($(pt),{ref:"modal",title:"Adjust Division Settings"},{footer:o(()=>[n(Ze,{class:"is-primary",disabled:de.value,loading:m.value,onClick:xe},{default:o(()=>[...oe[11]||(oe[11]=[p(" Save Changes ",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>[n(Et,{type:"info",headline:"Selected Divisions",message:we.value,"hide-icon":""},null,8,["message"]),n($(sa),{label:"Select the settings you would like to adjust",class:"mt-4"}),r("div",Oc,[n($(Gr),{"model-value":M.value,items:ee.value,compact:"","key-by":"id","display-key":"name",placeholder:"Select a Setting",disabled:I.value===null||ee.value.length===0,"onUpdate:modelValue":Me},null,8,["model-value","items","disabled"]),n(Ze,{disabled:!!I.value||!ge.value,class:"mt-4 is-ghost",onClick:ce},{default:o(()=>[n(De,{icon:["fal","plus"]}),oe[8]||(oe[8]=r("span",{class:"ml-2"},"Select Setting",-1))]),_:1},8,["disabled"])]),(d(!0),h(G,null,ue(K.value,(Le,Ge)=>(d(),h("div",{key:Le.id,class:"box pt-1 pr-1"},[r("div",Uc,[n($(sa),{label:Le.name||"",class:"pt-3"},null,8,["label"]),K.value.length>1?(d(),x(Ze,{key:0,class:"is-ghost","aria-label":"Remove setting",onClick:Oe=>R(Ge)},{default:o(()=>[n(De,{icon:["far","times"]})]),_:1},8,["onClick"])):k("",!0)]),Le.name===$(Ct).GAMES_PER_TEAM?(d(),h("div",Lc,[n(st,{class:"column is-half"},{default:o(()=>[n(Ee,{modelValue:F.value,"onUpdate:modelValue":oe[0]||(oe[0]=Oe=>F.value=Oe),modelModifiers:{number:!0},placeholder:"# of games for each team",type:"number",min:"1",max:"100",disabled:ve.value},null,8,["modelValue","disabled"])]),_:1})])):k("",!0),Le.name===$(Ct).ARRIVAL_TIME?(d(),h("div",Gc,[n(st,{class:"column is-half"},{default:o(()=>[n(Ee,{modelValue:w.value,"onUpdate:modelValue":oe[1]||(oe[1]=Oe=>w.value=Oe),modelModifiers:{number:!0},placeholder:"Arrival",type:"number",min:"0",max:"120",expanded:"",disabled:ve.value},null,8,["modelValue","disabled"]),oe[9]||(oe[9]=r("span",{class:"button is-static"},"minutes",-1))]),_:1})])):k("",!0),Le.name===$(Ct).DURATION?(d(),h("div",Nc,[n(st,{class:"column is-half"},{default:o(()=>[n(Ee,{modelValue:S.value,"onUpdate:modelValue":oe[2]||(oe[2]=Oe=>S.value=Oe),modelModifiers:{number:!0},placeholder:"Duration",type:"number",min:"1",max:"300",expanded:"",disabled:ve.value},null,8,["modelValue","disabled"]),oe[10]||(oe[10]=r("span",{class:"button is-static"},"minutes",-1))]),_:1})])):k("",!0),Le.name===$(Ct).GAME_PERIODS?(d(),h("div",jc,[n(ol,{"start-date":f.value,"onUpdate:startDate":oe[3]||(oe[3]=Oe=>f.value=Oe),"end-date":y.value,"onUpdate:endDate":oe[4]||(oe[4]=Oe=>y.value=Oe),"period-rows":b.value,"onUpdate:periodRows":oe[5]||(oe[5]=Oe=>b.value=Oe),"off-phases":C.value,"onUpdate:offPhases":oe[6]||(oe[6]=Oe=>C.value=Oe),league:t.league,matchups:V.value,"time-slots-by-day":ne.value,"time-slots-by-id":me.value,"initial-start-date":v.value,phases:U.value,"is-editing":"","hide-header":""}
1,null,8,["start-date","end-date","period-rows","off-phases","league","matchups","time-slots-by-day","time-slots-by-id","initial-start-date","phases"])])):k("",!0),Le.name===$(Ct).FIELDS?(d(),h("div",Yc,[t.hasGameSchedulerEnabled?(d(),x(fl,{key:0,modelValue:D.value,"onUpdate:modelValue":oe[7]||(oe[7]=Oe=>D.value=Oe),context:"createEditLeagueDivisionScheduleFields","box-title":"Game ".concat($(s).getters.getClubSportTerm(D.value.length===1?"field":"fields")," in division"),"show-table":"",fields:B.value,facilities:N.value},{warning:o(()=>[n(Et,{type:"info",message:"Fields with scheduled division games will remain assigned to the division even if they are not selected"})]),_:1},8,["modelValue","box-title","fields","facilities"])):k("",!0)])):k("",!0)]))),128))]),_:1},512)}}},Hc={key:0,class:"centered-tool"},$c={class:"is-font-mont has-text-weight-medium"},Wc={class:"columns"},Qc={class:"column"},Jc={class:"column"},Kc={class:"column"},Xc={key:0},Zc={__name:"ManageDivisionSettings",props:{divisions:{type:Array,required:!0},league:{type:Object,required:!0}},emits:["dismissed"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=lt(),u=Se(),m=_e("modal"),f=H(null),v=H(null),y=H(null),g=H(null),b=H(null),S=H([]),F=H([]),w=H(null),C=H([]),D=H(!1),B=H(null),N=H(null),M=H({}),I=H(!1),V=H([]),P=H([]),E=H([]),X=A(()=>!w.value),q=A(()=>{var Z;return((Z=l.league)==null?void 0:Z.sport)||s.getters.clubSport}),he=A(()=>l.league.extra&&l.league.extra.enable_game_scheduler||!O.isEmpty(l.league.game_schedulers)),ve=A(()=>{var Z;return(Z=l.league.extra)==null?void 0:Z.enable_variable_playing_periods}),re=A(()=>!f.value||!v.value||he.value&&(g.value==null&&b.value!=null||g.value!=null&&b.value==null||b.value<g.value)),W=A(()=>O.keyBy(E.value,"id")),K=A(()=>cl(E.value,B.value,N.value)),j=A(()=>g.value&&b.value?Us({start_date:g.value,end_date:b.value},(Z,se)=>M.value[Ls(Z,se)]):[]),ge=A(()=>{var Z,se;return!!((se=(Z=l.divisions[0])==null?void 0:Z.extra)!=null&&se.age_classification_values)}),de=A(()=>{const Z={};return l.divisions.forEach(se=>{Z[se.id]=se.extra}),Z});function we(Z,se){return l.divisions.every(ke=>O.isEqual(de.value[ke.id][se],Z[se]))}function U(Z,se){var te;const ke=l.divisions.map(R=>R.id),Me=(te=V.value)==null?void 0:te.filter(R=>ke.includes(R.league_division_id));return Me==null?void 0:Me.every(R=>O.isEqual(R[se],Z[se]))}async function ee(){w.value=null;try{const Z=await Ha(Q());w.value=Z.clubFacilities,C.value=Z.clubFields}catch(Z){throw u.error("Failed to load facilities."),Z}}async function le(){const Z={game_schedulers:{time_slot_ids:!0,fields:{time_slots:!0}}};try{const{data:se}=await Q().get("/club_admin/club_leagues/".concat(l.league.id,"?populate=").concat(gt(Z)));V.value=se.game_schedulers||[]}catch(se){throw u.error("Failed to load game schedules."),se}}async function me(){var se,ke,Me;const Z=s.getters.clubSportConfig(q.value);if(y.value=Z.default_arrival_mins,l.divisions){const te=l.divisions[0],R=de.value[te.id];if(we(R,"games_per_team")&&(f.value=R.games_per_team),we(R,"game_duration")&&(v.value=R.game_duration),we(R,"game_arrival_min")&&(y.value=R.game_arrival_min),we(R,"auto_add_teams")&&(I.value=R.auto_add_teams),he.value){await le();const z=V.value.find(pe=>pe.league_division_id===l.divisions[0].id);if(z&&(U(z,"fields")&&(F.value=((se=z.fields)==null?void 0:se.filter(pe=>!pe.archived))||[]),U(z,"phases"))){U(z,"start_date")&&(g.value=ze.dateFromString(z.start_date),B.value=z.start_date),U(z,"end_date")&&(b.value=ze.dateFromString(z.end_date),N.value=z.end_date),((ke=l.divisions)==null?void 0:ke.length)===1?(P.value=O.cloneDeep((Me=z.matchups)==null?void 0:Me.filter(xe=>xe.home_team_id>0&&xe.away_team_id>0))||[],E.value=ul(z)):(P.value=[],E.value=[]),z.phases&&(S.value=ml(g.value,b.value,O.cloneDeep(z.phases)));const pe=Us(z),Ue={};pe.forEach(xe=>{if(xe.period===-1){const J=Ls(xe.start_date,xe.end_date);Ue[J]=!0}}),M.value=Ue}}}ee(),m.value.showModal()}e({showModal:me});function ne(Z=!0){m.value.close(),a("dismissed",{refreshData:Z})}const Ae=A(()=>{const Z=[];return S.value.forEach(se=>{const ke=parseInt(se.period,10);
1Array.from(new Set(se.playingDays||[])).forEach(te=>{Z.push({period:ke,start_date:te,end_date:te})})}),Z});async function ce(){D.value=!0;const Z={league_division_ids:l.divisions.map(se=>se.id),extra:{games_per_team:Number(f.value),game_duration:Number(v.value),game_arrival_min:Number(y.value),auto_add_teams:I.value}};he.value&&g.value&&b.value&&(Z.game_scheduler_enabled=!0,Z.field_ids=F.value.map(se=>se.id),Z.start_date=Y(g.value).format(ct),Z.end_date=Y(b.value).format(ct),Z.phases=ve.value?Ae.value:j.value.filter(se=>se.period!==-1));try{await Q().post("club_admin/club_leagues/".concat(l.league.id,"/divisions/manage_settings"),Z),u.success("Settings Saved"),ne(!0)}catch(se){throw u.error("Failed to save settings."),se}finally{D.value=!1}}return(Z,se)=>{const ke=c("b-button"),Me=c("spinner"),te=c("b-input"),R=c("b-field"),z=c("b-switch"),pe=c("fa-icon"),Ue=c("b-tooltip");return d(),h("div",null,[n($(Pi),{ref:"modal",title:"Manage Division Settings"},{"header-actions":o(()=>[n(ke,{type:"is-primary",disabled:re.value||D.value,loading:D.value,onClick:ce},{default:o(()=>[...se[10]||(se[10]=[p(" Save Changes ",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>[n(Me,{ref:"spinner",loading:X.value},null,8,["loading"]),X.value?k("",!0):(d(),h("div",Hc,[n($(Et),{headline:"Selected ".concat($(Fe)(t.divisions.length,"Division",!1)),type:"info","hide-icon":""},{message:o(()=>{var xe;return[r("div",$c,[t.divisions.length>1?(d(),h(G,{key:0},[p(_(t.divisions.length)+" Divisions ",1)],64)):(d(),h(G,{key:1},[p(_((xe=t.divisions[0])==null?void 0:xe.name),1)],64))])]}),_:1},8,["headline"]),n($(ms),{class:"p-5 mb-5"},{default:o(()=>[r("div",Wc,[r("div",Qc,[n(R,{label:"Number of Games Per Team"},{default:o(()=>[n(te,{modelValue:f.value,"onUpdate:modelValue":se[0]||(se[0]=xe=>f.value=xe),modelModifiers:{number:!0},placeholder:"# of games for each team",type:"number",min:"1",max:"100"},null,8,["modelValue"])]),_:1})]),r("div",Jc,[n(R,{label:"Default Arrival Time"},{default:o(()=>[n(te,{modelValue:y.value,"onUpdate:modelValue":se[1]||(se[1]=xe=>y.value=xe),modelModifiers:{number:!0},placeholder:"Arrival",type:"number",min:"0",max:"120",style:{width:"100%"}},null,8,["modelValue"]),se[11]||(se[11]=r("p",{class:"control"},[r("span",{class:"button is-static"},"minutes")],-1))]),_:1})]),r("div",Kc,[n(R,{label:"Game Duration"},{default:o(()=>[n(te,{modelValue:v.value,"onUpdate:modelValue":se[2]||(se[2]=xe=>v.value=xe),modelModifiers:{number:!0},placeholder:"Duration",type:"number",min:"1",max:"300",style:{width:"100%"}},null,8,["modelValue"]),se[12]||(se[12]=r("p",{class:"control"},[r("span",{class:"button is-static"},"minutes")],-1))]),_:1})])]),he.value?(d(),h("div",Xc,[se[14]||(se[14]=r("hr",null,null,-1)),n(ol,{"start-date":g.value,"onUpdate:startDate":se[3]||(se[3]=xe=>g.value=xe),"end-date":b.value,"onUpdate:endDate":se[4]||(se[4]=xe=>b.value=xe),"period-rows":S.value,"onUpdate:periodRows":se[5]||(se[5]=xe=>S.value=xe),"off-phases":M.value,"onUpdate:offPhases":se[6]||(se[6]=xe=>M.value=xe),league:t.league,matchups:P.value,"initial-start-date":B.value,"time-slots-by-day":K.value,"time-slots-by-id":W.value,phases:j.value,"is-editing":""}
1,null,8,["start-date","end-date","period-rows","off-phases","league","matchups","initial-start-date","time-slots-by-day","time-slots-by-id","phases"]),g.value&&b.value?(d(),h(G,{key:0},[se[13]||(se[13]=r("hr",null,null,-1)),n(fl,{modelValue:F.value,"onUpdate:modelValue":se[7]||(se[7]=xe=>F.value=xe),context:"manageDivisionSettingsFields","box-title":"Game ".concat($(s).getters.getClubSportTerm(F.value.length===1?"field":"fields")," in division"),"show-table":"",fields:C.value,facilities:w.value},{warning:o(()=>[n($(Et),{type:"info",message:"Fields with scheduled division games will remain assigned to the division even if they are not selected"})]),_:1},8,["modelValue","box-title","fields","facilities"])],64)):k("",!0)])):k("",!0)]),_:1}),n($(ms),{class:"p-5"},{default:o(()=>[n(R,{label:"Additional Settings"},{default:o(()=>[n(z,{modelValue:I.value,"onUpdate:modelValue":se[8]||(se[8]=xe=>I.value=xe),disabled:!ge.value},{default:o(()=>[...se[15]||(se[15]=[p("Automatically add new teams to these divisions",-1)])]),_:1},8,["modelValue","disabled"]),n(Ue,{multilined:"",label:"Teams you add to this league will automatically be added to one of these divisions if they fall\n within the divisionâs classification and gender",type:"is-dark",position:"is-bottom",onClick:se[9]||(se[9]=He(()=>{},["stop"]))},{default:o(()=>[n(pe,{icon:["fas","info-circle"]})]),_:1})]),_:1})]),_:1})]))]),_:1},512)])}}},ua="Manage Settings",ca="Set Scoring Rules",ma="Adjust Settings",em={components:{GenerateAdditionalMatchupsModal:qc,EventViewDivisionsTableStatusCell:Nr,LeagueDivisionAdjustSettingsModal:zc,LeagueViewResetBracketScheduleModal:Er,LeagueEnableBracketPlayModal:Ir,LeagueDivisionResetScheduleModal:Rr,GenerateMatchupsModal:Lr,AutoGenerateTeamsModal:Dr,ManageRankingRules:Mr,ManageDivisionSettings:Zc,CreateEditLeagueDivisionSchedule:dl,DivisionsFilter:Ur,SelectionToolbar:_t,TableActions:Ni},props:{league:{type:Object,required:!0}},emits:["create-divisions","dismissed","refresh"],setup(){return{pluralize:Fe}},data(){return{searchQuery:"",selectedDivisions:[],filteredDivisions:[]}},computed:{eventTypeLeague(){return Pn.LEAGUE},sortedFilteredDivisions(){return[...this.filteredDivisions].sort((e,i)=>e.extra.age_classification_values&&i.extra.age_classification_values&&e.extra.age_classification_values[0]<i.extra.age_classification_values?-1:1)},leagueBracketPlayEnabled(){return this.$store.getters.isSuperAdmin&&Vn(this.league)},leagueDivisions(){var t;return[...((t=this.league)==null?void 0:t.league_divisions)||[]].map(e=>({...e,bracketPlayStatus:this.getBracketPlayStatus(e),hasRankingRulesStatus:this.getHasRankingRulesStatus(e),scheduleStatus:this.getScheduleStatus(e),settingsStatus:this.getDivisionSettingsStatus(e)})).sort((e,i)=>e.name.localeCompare(i.name,"en",{numeric:!0}))},teamsByDivision(){return T.groupBy(this.league.league_teams,"league_division_id")},leagueGamesByID(){return T.keyBy(this.league.games,"id")},hasLeagueGameSchedulingPermission(){return xt(this.$store,$a)},hasGameSchedulerEnabled(){return this.league.extra&&this.league.extra.enable_game_scheduler||!T.isEmpty(this.league.game_schedulers)},legendItems(){return[{icon:["far","clipboard-check"],text:"Automatically assign teams to division"}]},filtersActive(){return this.$store.getters.leagueDivisionsFilterActive},selectedDivisionsBatchEditable(){return this.selectedDivisions.length===0?!1:this.selectedDivisions.length===1?!0:this.hasGameSchedulerEnabled?this.selectedDivisions.every(t=>!this.hasTimeSlots(t)):!0},selectedDivisionsAdjustable(){return this.selectedDivisions.length!==0},selectionToolbarActions(){return[{text:ua,disabled:!this.selectedDivisionsBatchEditable},{text:ma,disabled:!this.selectedDivisionsAdjustable},{text:ca}]},isInHouseLeague(){return Jt(this.league)}},mounted(){this.clearFilters()},methods:{canResetScheduleFor:ia,canGenerateGames(t){const e=this.gameScheduleForDivision(t),i=!T.isEmpty(e==null?void 0:e.matchups);return this.teamCountForDivision(t)>=ri&&this.hasDivisionSettings(t)&&!!e&&!i},canGenerateAdditionalGames(t){const e=this.gameScheduleForDivision(t),i=!T.isEmpty(e==null?void 0:e.matchups);return this.teamCountForDivision(t)>ri&&this.hasDivisionSettings(t)&&!!e&&i&&!this.leagueBracketPlayEnabled},clearFilters(){this.$store.commit("setTableDataFor",{name:"league-games",filters:null})},goToDivision(t){this.$router.push({name:"ClubAdminLeagueDivision",params:{league:this.league.id,division:t.id}})},teamCountForDivision(t){return(this.teamsByDivision[t.id]||[]).length},gameScheduleForDivision(t){return T.find(this.league.game_schedulers,e=>e.league_division_id===t.id)},isDraft(t){const e=this.gameScheduleForDivision(t);return Bi(e,this.league,{leagueTeamsByLeagueDivisionID:this.teamsByDivision,leagueGamesByID:this.leagueGamesByID})},hasValidGameSchedule(t){const e=this.gameScheduleForDivision(t);return e&&e.teams&&e.teams.length>=ri},goToGameScheduler(t){const e=this.gameScheduleForDivision(t);this.$router.push({name:"GameScheduler",params:{league:this.league.id,division:t.id,game_schedule:e.id}})},hasRankingRules(t){return t.league_rule_set_id>0},hasDivisionSettings(t){const e=t.extra;return e?e.games_per_team!=null&&e.game_duration!=null&&e.game_arrival_min!=null:!1},hasTimeSlots(t){var i;const e=((i=this.league.game_schedulers)==null?void 0:i.find(l=>l.league_division_id===t.id))||{};return!T.isEmpty(e==null?void 0:e.time_slot_ids)},selectionToolbarCta(t){t.text===ua?this.showManageDivisionSettings():t.text===ca?this.showManageRankingRules():t.text===ma&&this.showAdjustDivisionSettings()},showManageDivisionSettings(){var t;if(this.selectedDivisions.length===1){const e=this.selectedDivisions[0],i=((t=this.league.game_schedulers)==null?void 0:t.find(l=>l.league_division_id===e.id))||null;this.$refs.createEditLeagueDivisionSchedule.showModal(e,i)}else this.$refs.manageDivisionSettings.showModal()},showAdjustDivisionSettings(){this.$refs.adjustDivisionSettings.showModal()},showManageSettings(t){var i;const e=((i=this.league.game_schedulers)==null?void 0:i.find(l=>l.league_division_id===t.id))||null;this.$refs.createEditLeagueDivisionSchedule.showModal(t,e)},showManageRankingRulesForDivision(t){this.$refs.manageRankingRules.show([t])},showManageRankingRules(){this.$refs.manageRankingRules.show(this.selectedDivisions)},showAutoGenerateTeamsModal(t){this.$refs.autoGenerateTeamsModal.showModal(t)},divisionWithSchedulers(t){return{...t,game_schedulers:(this.league.game_schedulers||[]).filter(e=>e.league_division_id===t.id)}},canEnableBracketPlayForDivision(t){return this.$store.getters.isSuperAdmin&&En(this.divisionWithSchedulers(t),this.league)},showEnableBracketPlayModal(t){this.$refs.enableBracketPlayModal.showModal(this.divisionWithSchedulers(t),this.league)},canResetBracketPlayForDivision(t){return this.$store.getters.isSuperAdmin&&In(this.divisionWithSchedulers(t),this.league)},showResetBracketPlayModal(t){const e=this.divisionWithSchedulers(t),i=(e.game_schedulers||[]).flatMap(l=>l.matchups||[]);this.$refs.resetBracketScheduleModal.showModal(e,i.some(l=>
1Dn(l)!==Rn))},showGenerateGamesModal(t){this.$refs.generateMatchupsModal.show(t,this.gameScheduleForDivision(t))},canResetScheduleForDivision(t){return ia(this.gameScheduleForDivision(t))&&this.isInHouseLeague},showGenerateAdditionalGamesModal(t){this.$refs.generateAdditionalMatchupsModal.showModal(t,this.gameScheduleForDivision(t))},showResetScheduleModal(t){this.$refs.resetScheduleModal.showModal(this.league,t)},dismissModal(t){this.$emit("dismissed",t)},refreshLeague(){this.$emit("refresh")},getDivisionSettingsStatus(t){return(this.hasGameSchedulerEnabled?!this.gameScheduleForDivision(t):!this.hasDivisionSettings(t))?Tt.NOT_SET:Tt.COMPLETE},getScheduleStatus(t){return this.hasTimeSlots(t)?this.isDraft(t)?Tt.DRAFT:Tt.COMPLETE:Tt.NOT_SET},getHasRankingRulesStatus(t){return this.hasRankingRules(t)?Tt.COMPLETE:Tt.NOT_SET},getBracketPlayStatus(t){return Mn(t)?Tt.COMPLETE:Tt.OFF},getTableActions(t){const e={text:"Manage Settings",onClick:this.showManageSettings},i={text:"Generate Games",onClick:this.showGenerateGamesModal},l={text:"Generate Additional Games",onClick:this.showGenerateAdditionalGamesModal},a={text:"Set Scoring Rules",onClick:this.showManageRankingRulesForDivision},s={text:"Generate Teams",onClick:this.showAutoGenerateTeamsModal},u={text:nt.DIVISION.ENABLE_BRACKET_PLAY,onClick:this.showEnableBracketPlayModal},m={text:nt.DIVISION.RESET_BRACKET_PLAY,onClick:this.showResetBracketPlayModal,classes:"has-text-color-danger"},f={text:"Reset Schedule",onClick:this.showResetScheduleModal,classes:"has-text-color-danger"},v=[];return v.push(e),this.canGenerateGames(t)&&this.isInHouseLeague?v.push(i):this.canGenerateAdditionalGames(t)&&this.isInHouseLeague&&v.push(l),v.push(a),v.push(s),this.canEnableBracketPlayForDivision(t)&&v.push(u),(this.canResetBracketPlayForDivision(t)||this.canResetScheduleForDivision(t))&&(v.push({separator:!0}),this.canResetBracketPlayForDivision(t)&&v.push(m),this.canResetScheduleForDivision(t)&&v.push(f)),[{isDropdown:!0,icon:["far","ellipsis-h"],subActions:v}]}}},tm={class:"title__subsection is-marginless"};function sm(t,e,i,l,a,s){const u=c("SelectionToolbar"),m=c("b-table-column"),f=c("fa-icon"),v=c("EventViewDivisionsTableStatusCell"),y=c("TableActions"),g=c("EmptyStateComponent"),b=c("BaseTable"),S=c("ManageDivisionSettings"),F=c("LeagueDivisionAdjustSettingsModal"),w=c("ManageRankingRules"),C=c("CreateEditLeagueDivisionSchedule"),D=c("DivisionsFilter"),B=c("AutoGenerateTeamsModal"),N=c("GenerateMatchupsModal"),M=c("GenerateAdditionalMatchupsModal"),I=c("LeagueDivisionResetScheduleModal"),V=c("LeagueEnableBracketPlayModal"),P=c("LeagueViewResetBracketScheduleModal");return d(),h("div",null,[n(b,{"checked-rows":a.selectedDivisions,"onUpdate:checkedRows":e[3]||(e[3]=E=>a.selectedDivisions=E),class:"league-divisions-table",checkable:"",searchable:"",filterable:"","filters-active":s.filtersActive,data:s.sortedFilteredDivisions,"row-class":()=>"clickable",hoverable:"",name:"clubLeagueDivisions","legend-items":s.legendItems,onQueryUpdated:e[4]||(e[4]=E=>a.searchQuery=E),onSelect:s.goToDivision},ht({empty:o(()=>[n(g,{header:"No Divisions Found",body:s.filtersActive||a.searchQuery?"No divisions match the current search criteria.":"This league has no divisions defined yet.","img-src":"/static/images/empty-states-icons/team-assignments.png",class:"mt-5"},{action:o(()=>[!s.filtersActive&&!a.searchQuery?(d(),h("button",{key:0,class:"button is-primary",onClick:e[2]||(e[2]=E=>t.$emit("create-divisions"))}," Build Divisions ")):k("",!0)]),_:1},8,["body"])]),default:o(()=>[n(m,{label:"Division"},{default:o(({row:E})=>[p(_(E.name),1)]),_:1}),n(m,{"custom-key":"clipboard",width:"25px"},{default:o(({row:E})=>[E.extra&&E.extra.auto_add_teams?(d(),x(f,{key:0,icon:["far","clipboard-check"]})):k("",!0)]),_:1}),n(m,{label:"# of Teams"},{default:o(({row:E})=>[p(_(s.teamCountForDivision(E)),1)]),_:1}),n(m,{label:"# Games per Team"},{default:o(({row:E})=>[p(_(E.extra&&E.extra.games_per_team),1)]),_:1}),n(m,{label:"Game Duration"},{default:o(({row:E})=>[p(_(E.extra&&E.extra.game_duration),1)]),_:1}),n(m,{centered:"",label:"Division Settings"},{default:o(({row:E})=>[n(v,{status:E.settingsStatus},null,8,["status"])]),_:1}),n(m,{centered:"",visible:s.hasGameSchedulerEnabled,label:"Schedule Status"},{default:o(({row:E})=>[n(v,{status:E.scheduleStatus},null,8,["status"])]),_:1},8,["visible"]),n(m,{centered:"",label:"Scoring Rules"},{default:o(({row:E})=>[n(v,{status:E.hasRankingRulesStatus},null,8,["status"])]),_:1}),n(m,{visible:s.leagueBracketPlayEnabled,label:"Bracket Play",centered:""},{default:o(({row:E})=>[n(v,{status:E.bracketPlayStatus},null,8,["status"])]),_:1},8,["visible"]),n(m,{centered:"",label:"Actions"},{default:o(({row:E})=>[n(y,{row:E,actions:s.getTableActions(E),class:"has-text-left",onClick:e[1]||(e[1]=He(()=>{},["stop"]))},null,8,["row","actions"])]),_:1})]),_:2},[a.filteredDivisions.length?{name:"header-left",fn:o(()=>[r("div",tm,_(l.pluralize(a.filteredDivisions.length,"Division")),1)]),key:"0"}:void 0,a.selectedDivisions.length?{name:"table-header",fn:o(()=>[n(u,{"checked-rows":a.selectedDivisions,actions:s.selectionToolbarActions,onCtaClicked:s.selectionToolbarCta,onOnCancel:e[0]||(e[0]=E=>a.selectedDivisions=[])},null,8,["checked-rows","actions","onCtaClicked"])]),key:"1"}:void 0]),1032,["checked-rows","filters-active","data","legend-items","onSelect"]),n(S,{ref:"manageDivisionSettings",league:i.league,divisions:a.selectedDivisions,onDismissed:s.dismissModal},null,8,["league","divisions","onDismissed"]),n(F,{ref:"adjustDivisionSettings","selected-divisions":a.selectedDivisions,league:i.league,"has-game-scheduler-enabled":s.hasGameSchedulerEnabled,onDismissed:s.dismissModal},null,8,["selected-divisions","league","has-game-scheduler-enabled","onDismissed"]),n(w,{ref:"manageRankingRules",league:i.league,onDismissed:s.dismissModal},null,8,["league","onDismissed"]),n(C,{ref:"createEditLeagueDivisionSchedule",league:i.league,onDismissed:s.dismissModal},null,8,["league","onDismissed"]),n(D,{divisions:s.leagueDivisions,"search-query":a.searchQuery,league:i.league,onFiltered:e[5]||(e[5]=E=>a.filteredDivisions=E)},null,8,["divisions","search-query","league"]),n(B,{ref:"autoGenerateTeamsModal",league:i.league,onRefresh:s.refreshLeague},null,8,["league","onRefresh"]),n(N,{ref:"generateMatchupsModal",league:i.league,onRefresh:s.refreshLeague},null,8,["league","onRefresh"]),n(M,{ref:"generateAdditionalMatchupsModal",league:i.league,onRefresh:s.refreshLeague},null,8,["league","onRefresh"]),n(I,{ref:"resetScheduleModal",onRefresh:s.refreshLeague},null,8,["onRefresh"]),n(V,{ref:"enableBracketPlayModal",type:s.eventTypeLeague,onRefresh:s.refreshLeague},null,8,["type","onRefresh"]),n(P,{ref:"resetBracketScheduleModal","league-id":i.league.id,type:s.eventTypeLeague,onRefresh:s.refreshLeague},null,8,["league-id","type","onRefresh"])])}const im=ie(em,[["render",sm]]),am={__name:"TravelLeagueDivisionsTab",props:{league:{type:Object,required:!0}},emits:["refresh"],setup(t,{emit:e}){const i=t,l=e,a=Ii(),s=Se(),u=H(!1),m=H(null),f=A(()=>{var D;const C={};
1return(((D=i.league)==null?void 0:D.league_teams)||[]).forEach(B=>{const N=B.league_division_id;C[N]=(C[N]||0)+1}),C}),v=A(()=>{var B,N;const C={},D={};return(((B=i.league)==null?void 0:B.league_teams)||[]).forEach(M=>{var I;(I=M==null?void 0:M.team)!=null&&I.id&&M.league_division_id&&(D[M.team.id]=M.league_division_id)}),(((N=i.league)==null?void 0:N.games)||[]).forEach(M=>{const I=D[M.home_team_id],V=D[M.away_team_id];new Set([I,V]).forEach(E=>{E&&(C[E]=(C[E]||0)+1)})}),C}),y=A(()=>{var C;return(((C=i.league)==null?void 0:C.league_divisions)||[]).map(D=>({...D,teamCount:f.value[D.id]||0,gameCount:v.value[D.id]||0})).sort((D,B)=>D.name.localeCompare(B.name,"en",{numeric:!0}))}),g=A(()=>m.value?"You are about to delete the ".concat(m.value.name," division. Are you sure that you want to delete the division?"):"");function b(C){a.push({name:"ClubAdminLeagueDivision",params:{league:i.league.id,division:C.id}})}const S=_e("deleteDivisionModal");function F(C){var D;m.value=C,(D=S.value)==null||D.showModal()}async function w(){var C;if(m.value){u.value=!0;try{await Q().delete("club_admin/club_leagues/".concat(i.league.id,"/divisions/").concat(m.value.id,"/")),s.success("Division deleted"),(C=S.value)==null||C.close(),m.value=null,l("refresh")}catch(D){s.error("Failed to delete division")}finally{u.value=!1}}}return(C,D)=>{const B=c("b-table-column"),N=c("fa-icon"),M=c("b-button"),I=c("EmptyStateComponent"),V=c("BaseTable");return d(),h(G,null,[n(V,{name:"travelLeagueDivisions",data:y.value,"row-class":()=>"clickable",hoverable:"",onSelect:b},ht({empty:o(()=>[n(I,{header:"No Divisions Found",body:"This league has no divisions defined yet.","img-src":"/static/images/empty-states-icons/team-assignments.png",class:"mt-5"})]),default:o(()=>[n(B,{label:"Division Name"},{default:o(({row:P})=>[p(_(P.name),1)]),_:1}),n(B,{label:"# of Teams"},{default:o(({row:P})=>[p(_(P.teamCount),1)]),_:1}),n(B,{label:"# of Games"},{default:o(({row:P})=>[p(_(P.gameCount),1)]),_:1}),n(B,{"custom-key":"actions",centered:""},{default:o(({row:P})=>[P.teamCount===0?(d(),x(M,{key:0,class:"button is-text has-text-danger p-0","aria-label":"Delete Division",onClick:He(E=>F(P),["stop"])},{default:o(()=>[n(N,{icon:["far","times"]})]),_:1},8,["onClick"])):k("",!0)]),_:1})]),_:2},[y.value.length?{name:"header-left",fn:o(()=>[n($(Ve),{size:"md",text:$(Fe)(y.value.length,"Division")},null,8,["text"])]),key:"0"}:void 0]),1032,["data"]),n($(rt),{ref:"deleteDivisionModal",type:"is-danger",title:"Delete Division",description:g.value,icon:["far","trash"],size:"sm","confirm-button-text":"Delete Division",loading:u.value,onConfirm:w},null,8,["description","loading"])],64)}}},lm={class:"include-container mt-6"},nm={__name:"ExportLeagueVolunteersModal",props:{leagueId:{type:Number,default:0}},setup(t,{expose:e}){const i=t,l=Se(),a=_e("modal");async function s(){a.value.showModal()}async function u(){try{await Q().post("/club_admin/club_leagues/".concat(i.leagueId,"/league_volunteer_requests/export")),a.value.close(),l.success("Started exporting league volunteers, you will be notified after it is complete.")}catch(m){throw l.error("Failed to export league volunteers"),m}}return e({showModal:s}),(m,f)=>{const v=c("fa-icon"),y=c("b-button");return d(),x($(pt),{ref:"modal",title:"Export"},{footer:o(()=>[n(y,{type:"is-primary",onClick:u},{default:o(()=>[...f[2]||(f[2]=[p(" Download CSV ",-1)])]),_:1})]),default:o(()=>[n($(Ve),{size:"lg"},{default:o(()=>[...f[0]||(f[0]=[p("Export League Volunteers",-1)])]),_:1}),f[3]||(f[3]=r("p",null,"Generate a .csv file of all volunteers in this league",-1)),r("div",lm,[r("div",null,[n(v,{icon:["fas","file-csv"],class:"include-container__csv-icon"})]),f[1]||(f[1]=r("div",null,[r("span",{class:"include-container__title"},"CSV file will include:"),r("ul",{class:"ml-3"},[r("li",{class:"include-container__list-item"},"Volunteer Names, Contact Info, Signup Date, Requested Positions, and Responses")])],-1))])]),_:1},512)}}},rm={components:{ExportModal:Qs},props:{leagueId:{type:Number,required:!0}},emits:["dismissModal"],computed:{serverUrl(){return"club_admin/club_leagues/".concat(this.leagueId,"/games")},serverEndpoint(){return"export.csv"}},methods:{showModal(){this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t)}}};function om(t,e,i,l,a,s){const u=c("ExportModal");return d(),x(u,{ref:"modal","custom-message":"Generate a custom .csv file of the games for the league.","server-url":s.serverUrl,"server-endpoint":s.serverEndpoint,type:"games",onDismissModal:s.dismissModal},null,8,["server-url","server-endpoint","onDismissModal"])}const dm=ie(rm,[["render",om]]),Vl=/[a-zA-Z]/g,Pl=/AM$|PM$|am$|pm$/g,um=/AM|PM/i,us=/[-_\s]/g,cm="Invalid Date",mm="1970-01-01",fm=9999,hm=1970,gm={AST:"ATLANTIC STANDARD TIME",ADT:"ATLANTIC DAYLIGHT TIME",AT:"ATLANTIC TIME",EST:"EASTERN STANDARD TIME",EDT:"EASTERN DAYLIGHT TIME",ET:"EASTERN TIME",CST:"CENTRAL STANDARD TIME",CDT:"CENTRAL DAYLIGHT TIME",CT:"CENTRAL TIME",MST:"MOUNTAIN STANDARD TIME",MDT:"MOUNTAIN DAYLIGHT TIME",MT:"MOUNTAIN TIME",PST:"PACIFIC STANDARD TIME",PDT:"PACIFIC DAYLIGHT TIME",PT:"PACIFIC TIME",AKST:"ALASKAN STANDARD TIME",AKDT:"ALASKAN DAYLIGHT TIME",AKT:"ALASKAN TIME",HST:"HAWAII-ALEUTIAN STANDARD TIME",HDT:"HAWAII-ALEUTIAN DAYLIGHT TIME",HT:"HAWAII-ALEUTIAN TIME",HAST:"HAWAII-ALEUTIAN STANDARD TIME",HADT:"HAWAII-ALEUTIAN DAYLIGHT TIME",HAT:"HAWAII-ALEUTIAN TIME",SST:"SAMOA STANDARD TIME",SDT:"SAMOA DAYLIGHT TIME",ST:"SAMOA TIME",CHST:"CHAMORRO STANDARD TIME",CHDT:"CHAMORRO DAYLIGHT TIME",CHT:"CHAMORRO TIME"},pm=[/^\d{1,2}[/-]\d{1,2}[/-]\d{4}$/,/^\d{1,2}[/-]\d{1,2}[/-]\d{2}$/,/^\d{4}-\d{2}-\d{2}$/,/^[A-Za-z]+, [A-Za-z]+ \d{1,2}, \d{4}$/,/^[A-Za-z]+ \d{1,2}, \d{4}$/];function fa(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Rs(t){return new RegExp(Vl).test(t)}function Bl(t){return pm.some(e=>e.test(t))}function _m(t){return new RegExp(um).test(t)}function ha(t){return Object.hasOwn(gm,t)}function Ai(t){return new RegExp(Pl).test(t)}function $t(t){return new Date(t).toString()!==cm}function ym(t){const e=new Date(t).getFullYear();return e>=hm&&e<=fm}function vm(t){return t.replace(/\s*[ap]m$/i,"")}function bm(t){return Bl(t)&&!Ai(t)&&$t(t)&&ym(t)}function as(t){return"".concat(mm,"T").concat(Bn(vm(t)))}function Cm(t){if(t.trim().includes(" ")&&Rs(t)){const e=t.split(" "),i=e[0];if(e.length===2&&ha(e[1]))return $t(as(i));if(e.length===3){const l=e[2],a=e[1];return _m(a)&&ha(l)&&$t(as(i))}}else{if(Rs(t)&&!t.trim().includes(" ")&&Ai(t))return $t(as(t));if(!Rs(t))return $t(as(t))}return Rs(t)&&Ai(t)&&$t(as(t))}function Sm(t){return t.trim().replaceAll(us,"").toLowerCase()}function km(t,e,i,l){const a=[];e&&l.forEach(u=>{if(fa(e,u)){const m=e[u];a.includes(m)||(t[u]=m,a.push(m))}});const s=i.filter(u=>!a.includes(u.id));s.length===0||Object.keys(t).length===l.length||l.forEach(u=>{fa(t,u)||s.filter(m=>
1{const f=u.trim().replaceAll(us,"").toLowerCase(),v=m.display.replaceAll(us,"").toLowerCase();return f===v?!0:Array.isArray(m.alternateNames)?m.alternateNames.some(y=>{const g=y.replaceAll(us,"").toLowerCase();return f===g}):!1}).filter(m=>!a.includes(m.id)).some(m=>(t[u]=m.id,a.push(m.id),!0))})}const ft={CHARACTER_REGEX:Vl,ENDS_IN_AM_PM_REGEX:Pl,CLEANSING_REGEX:us,autoMapColumns:km,canValueBeConvertedToADate:bm,canValueBeConvertedToATime:Cm,toStandardFormat:Sm,isDateFormatMatch:Bl},wm=20,Tm=100,di="SEARCHING",ga="VALIDATING",ui="COMMITTED";function ci(t){const e=t==null?"":String(t);return/[",\n]/.test(e)?'"'.concat(e.replace(/"/g,'""'),'"'):e}class os extends Error{constructor(e,i){super(e),this.name="ImportCsvProcessorError",i&&i.stack&&(this.stack="".concat(this.stack,"\nCaused by: ").concat(i.stack))}}class xm{constructor(e,i={}){this._file=e,this._options={commitThreshold:Math.min(i.commitThreshold||wm,Tm),maxAllowedColumns:i.maxAllowedColumns||null},this._validationCountdown=this._options.commitThreshold,this._state=di,this._headers=null,this._buffer=[],this._maxColumnsSoFar=0,this._bestHeaderCandidate=null,this._papaParser=null,this._resolveWithOriginal=!1,this._resolvePromise=null,this._rejectPromise=null}process(){return new Promise((e,i)=>{this._resolvePromise=e,this._rejectPromise=i,this._file instanceof File||this._rejectPromise(new os("Input is not a File."));const l=new ReadableStream({start:a=>{this._startParsing(a)}});this._consumeStream(l)})}_startParsing(e){const i=new TextEncoder;cs.parse(this._file,{worker:!0,dynamicTyping:!0,header:!1,step:(l,a)=>this._step(l,a,e,i),complete:()=>this._complete(e),error:l=>this._error(l,e)})}_step(e,i,l,a){this._papaParser=i;const s=e.data;if(!(s.length===1&&!s[0]))switch(this._state){case di:{this._buffer.push(s),this._isHeaderCandidate(s)&&(s.length>this._maxColumnsSoFar&&(this._maxColumnsSoFar=s.length),this._bestHeaderCandidate={row:s,rowIndex:this._buffer.length-1,width:s.length},this._state=ga,this._validationCountdown=this._options.commitThreshold);break}case ga:{if(this._buffer.push(s),s.length>this._bestHeaderCandidate.width){this._maxColumnsSoFar=s.length,this._bestHeaderCandidate=null,this._state=di;break}this._validationCountdown-=1,this._validationCountdown<=0&&this._commitHeader(l,a);break}case ui:{const u=this._headers.map((m,f)=>ci(s[f]));l.enqueue(a.encode("".concat(u.join(","),"\n")));break}default:l.error(new Error("Invalid state: ".concat(this._state)))}}_complete(e){if(this._resolveWithOriginal){this._resolvePromise(this._file);return}if(this._state!==ui)if(this._bestHeaderCandidate){if(this._commitHeader(e,new TextEncoder),this._resolveWithOriginal){this._resolvePromise(this._file);return}}else{this._rejectPromise(new os("A valid header row could not be determined in the CSV file."));return}e.close()}_error(e,i){const l=new os("Error during PapaParse CSV parsing: ".concat(e),e);i.error(l),this._rejectPromise(l)}_commitHeader(e,i){if(!this._bestHeaderCandidate){e.error(new Error("Attempted to commit header, but no candidate was found."));return}if(this._bestHeaderCandidate.rowIndex===0){this._resolveWithOriginal=!0,this._papaParser&&this._papaParser.abort();return}this._headers=this._bestHeaderCandidate.row.map(a=>ci(String(a)).trim()),e.enqueue(i.encode("".concat(this._headers.join(","),"\n"))),this._buffer.slice(this._bestHeaderCandidate.rowIndex+1).forEach(a=>{const s=this._headers.map((u,m)=>ci(a[m]));e.enqueue(i.encode("".concat(s.join(","),"\n")))}),this._buffer.length=0,this._state=ui}_isHeaderCandidate(e){const{maxAllowedColumns:i}=this._options;return i&&e.length>i||e.length<=1||e.length<this._maxColumnsSoFar?!1:!e.some(l=>l==null||String(l).trim().length===0)}_consumeStream(e){new Response(e,{headers:{"Content-Type":"text/csv"}}).blob().then(i=>{var l;this._resolvePromise(new File([i],((l=this._file)==null?void 0:l.name)||"prepared-file.csv",{type:"text/csv",lastModified:new Date().getTime()}))}).catch(i=>this._rejectPromise(new os("Error consuming stream: ".concat(i),i)))}}const Fm={props:{display:{type:String,default:""},placeholder:{type:String,default:""},type:{type:String,default:""},errorMessage:{type:String,default:""},expanded:{type:Boolean,default:!1}},emits:["click"]};function Am(t,e,i,l,a,s){const u=c("b-button"),m=c("b-field");return d(),x(m,{message:i.errorMessage,type:i.type},{default:o(()=>[n(u,{class:Ce(["dropdown-button has-text-black",{"has-text-grey-light":!i.display}]),expanded:i.expanded,"icon-pack":"far","icon-right":"angle-down",type:i.type,onClick:e[0]||(e[0]=f=>t.$emit("click"))},{default:o(()=>[r("span",null,_(i.display||i.placeholder),1)]),_:1},8,["class","expanded","type"])]),_:1},8,["message","type"])}const bs=ie(Fm,[["render",Am],["__scopeId","data-v-23a10196"]]),Mm={components:{SearchableDropdown:gs,ImportDropdownButton:bs},props:{modelValue:{type:Object,required:!0},divisionsFromFile:{type:Array,required:!0},league:{type:Object,required:!0}},emits:["update:modelValue"],data(){return{showUnmappedOnly:!1}},computed:{divisionCaseMap(){const t={};
1return this.divisionsFromFile.forEach(e=>{t[e.toLowerCase()]=e}),t},divisionsFromFileById(){const t={};return Object.keys(this.modelValue).forEach(e=>{t[this.modelValue[e]]=this.divisionCaseMap[e]}),t},sortedDivisionsFromFile(){return[...this.divisionsFromFile].sort()},sortedLeagueDivisions(){return T.sortBy(this.league.league_divisions,["name"])},mappedDivisionsFromFile(){return this.divisionsFromFile.filter(t=>{const e=t.toLowerCase();return Object.prototype.hasOwnProperty.call(this.modelValue,e)&&this.modelValue[e]})},unmappedCount(){return this.sortedLeagueDivisions.length-this.mappedDivisionsFromFile.length},availableImportDivisions(){return this.sortedDivisionsFromFile.filter(t=>t&&!this.mappedDivisionsFromFile.includes(t))}},methods:{handleSelectDivisionMapping(t,e){const i=this.divisionsFromFileById[t];if(i){const{[i]:l,[i.toLowerCase()]:a,...s}=this.modelValue;e?this.$emit("update:modelValue",{...s,[e.toLowerCase()]:t}):this.$emit("update:modelValue",s)}else e&&this.$emit("update:modelValue",{...this.modelValue,[e.toLowerCase()]:t})}}},Dm={class:"division-mapping"},Rm={key:0},Im={key:0,class:"columns"},Em={class:"column"},Vm={class:"column is-narrow arrow-icon"},Pm={class:"column"},Bm={key:1,class:"success-banner"};function qm(t,e,i,l,a,s){const u=c("b-switch"),m=c("b-field"),f=c("b-input"),v=c("fa-icon"),y=c("ImportDropdownButton"),g=c("b-dropdown-item"),b=c("SearchableDropdown");return d(),h("div",Dm,[e[4]||(e[4]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Divisions Mapping",-1)),e[5]||(e[5]=r("div",{class:"is-italic has-text-blue-slate-light",style:{"margin-top":"0.5rem"}}," Pair your uploaded .csv file's division names to your in-house league's division names. ",-1)),n(m,{style:{"margin-top":"2rem"}},{default:o(()=>[n(u,{modelValue:a.showUnmappedOnly,"onUpdate:modelValue":e[0]||(e[0]=S=>a.showUnmappedOnly=S)},{default:o(()=>[p(" Show unmapped divisions only ("+_(s.unmappedCount)+") ",1)]),_:1},8,["modelValue"])]),_:1}),!a.showUnmappedOnly||s.unmappedCount!==0?(d(),h("div",Rm,[e[2]||(e[2]=Ut('<div class="columns" style="margin-bottom:0;margin-top:1rem;" data-v-4858adfb><div class="column" data-v-4858adfb><div class="is-font-mont has-text-weight-semibold" data-v-4858adfb>Divisions</div></div><div class="column is-narrow" data-v-4858adfb><div class="spacer" data-v-4858adfb></div></div><div class="column" data-v-4858adfb><div class="is-font-mont has-text-weight-semibold" data-v-4858adfb>Uploaded CSV File</div></div></div>',1)),(d(!0),h(G,null,ue(s.sortedLeagueDivisions,S=>(d(),h("div",{key:S.id},[!a.showUnmappedOnly||!s.divisionsFromFileById[S.id]?(d(),h("div",Im,[r("div",Em,[n(m,null,{default:o(()=>[n(f,{"model-value":S.name,disabled:""},null,8,["model-value"])]),_:2},1024)]),r("div",Vm,[n(v,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]})]),r("div",Pm,[n(b,{items:s.availableImportDivisions,expanded:"",onChange:F=>s.handleSelectDivisionMapping(S.id,F)},{trigger:o(F=>[n(y,{display:s.divisionsFromFileById[S.id],placeholder:"Select Division",type:F.active?"is-primary":"",expanded:""},null,8,["display","type"])]),default:o(()=>[n(g,{style:{"padding-top":"0.75rem"},onClick:F=>s.handleSelectDivisionMapping(S.id)},{default:o(()=>[...e[1]||(e[1]=[r("span",{class:"is-italic has-text-blue-slate-light"},"No Selection",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items","onChange"])])])):k("",!0)]))),128))])):(d(),h("div",Bm,[n(v,{class:"has-text-success",icon:["fas","check"],style:{"margin-right":"0.5rem"}}),e[3]||(e[3]=p(" All divisions are mapped ",-1))]))])}const Om=ie(Mm,[["render",qm],["__scopeId","data-v-4858adfb"]]),Um={props:{modelValue:{type:Object,required:!0},divisionsFromFile:{type:Array,required:!0},league:{type:Object,required:!0},clubHasAgeClassEnabled:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{localValue:{},showUnmappedOnly:!1}},computed:{DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},effectiveSport(){return this.league.sport||this.$store.getters.clubSport},clubAgeGroups(){return this.$store.getters.clubAgeGroups(this.effectiveSport)},clubGrades(){return this.$store.getters.clubGrades},clubBirthYears(){return this.$store.getters.clubBirthYears},leagueSeasonAgeClass(){const e=this.$store.getters.clubDetails.seasons.find(i=>{var l;return i.id===((l=this.league)==null?void 0:l.season_id)});return e==null?void 0:e.age_class},ageClassLabel(){return this.leagueSeasonAgeClass===Ye?"Age Group":this.leagueSeasonAgeClass===je?"Grade":this.leagueSeasonAgeClass===et?"Birth Year":""},sortedDivisionsFromFile(){return(this.divisionsFromFile||[]).map(t=>t.toLowerCase()).sort()},defaultAgeClassValue(){return this.leagueSeasonAgeClass===Ye?"age_group":this.leagueSeasonAgeClass===je?"grade":"birth_year"},mappedDivisionsFromFile(){return this.divisionsFromFile.filter(t=>{if(!Object.prototype.hasOwnProperty.call(this.modelValue,t))return!1;const e=this.modelValue[t];return!!e.league_division_id||!!e.gender&&e[this.defaultAgeClassValue]!==0})},unmappedCount(){return this.sortedDivisionsFromFile.length-this.mappedDivisionsFromFile.length},clubConfig(){return this.$store.getters.clubDetails.config},clubAges(){return T.cloneDeep(this.clubConfig.ages).sort((t,e)=>t-e).map(Number)},minimumYear(){return new Date().getFullYear()-this.clubAges[this.clubAges.length-1]},maximumYear(){return new Date().getFullYear()-this.clubAges[0]},birthYears(){const t={};
1return Object.keys(this.modelValue).forEach(e=>{const i=this.modelValue[e].birth_year;i&&(t[e]=i)}),t},ageGroups(){const t={};return Object.keys(this.modelValue).forEach(e=>{const i=this.modelValue[e].age_group;i&&(t[e]=i)}),t},grades(){const t={};return Object.keys(this.localValue).forEach(e=>{const i=this.localValue[e].grade;i&&(t[e]=i)}),t},leagueDivisions(){var t;return(((t=this.league)==null?void 0:t.league_divisions)||[]).slice().sort((e,i)=>e.name.localeCompare(i.name,"en",{numeric:!0}))},hasLeagueDivisions(){return this.leagueDivisions.length>0},showDivisionMapping(){var t,e;return((e=(t=this.league)==null?void 0:t.extra)==null?void 0:e.create_divisions_during_import)&&this.hasLeagueDivisions}},watch:{localValue:{deep:!0,handler(){this.$emit("update:modelValue",this.localValue)}}},created(){Object.keys(this.modelValue).forEach(t=>{this.localValue[t]=this.modelValue[t]})},methods:{handleLegacyBirthYearInput(t,e){let i=parseInt(e,10)||0;(i<this.minimumYear||this.maximumYear<i)&&(i=0),this.localValue[t].birth_year=i},handleBirthYearInput(t,e){let i=parseInt(e,10)||0;this.clubBirthYears.includes(i)||(i=0),this.localValue[t].birth_year=i},handleAgeGroupInput(t,e){let i=parseInt(e,10)||0;this.clubAgeGroups.map(l=>l.value).includes(i)||(i=0),this.localValue[t].age_group=i},handleGradeInput(t,e){let i=parseInt(e,10)||0;this.clubGrades.map(l=>l.value).includes(i)||(i=0),this.localValue[t].grade=i},handleDivisionSelect(t,e){this.localValue[t].league_division_id=parseInt(e,10)||0},isDivisionTakenByOtherRow(t,e){return e?Object.entries(this.localValue).some(([i,l])=>i!==t&&((l==null?void 0:l.league_division_id)||0)===e):!1}}},Lm={class:"division-mapping"},Gm={class:"is-italic has-text-blue-slate-light",style:{"margin-top":"0.5rem"}},Nm={key:0},jm={class:"columns",style:{"margin-bottom":"0","margin-top":"1rem"}},Ym={key:0,class:"column"},zm={key:1,class:"column"},Hm={class:"is-font-mont has-text-weight-semibold"},$m={key:2,class:"column"},Wm={key:0,class:"columns"},Qm={class:"column"},Jm={class:"column is-narrow arrow-icon"},Km={key:0,class:"column"},Xm=["value","disabled"],Zm={class:"column button-group"},ef={key:0,class:"column"},tf=["value"],sf={key:1,class:"column"},af=["value"],lf={key:2,class:"column"},nf=["value"],rf={key:2,class:"column"},of={key:1,class:"success-banner"};function df(t,e,i,l,a,s){const u=c("b-switch"),m=c("b-field"),f=c("b-input"),v=c("fa-icon"),y=c("b-select"),g=c("b-radio-button");return d(),h("div",Lm,[e[14]||(e[14]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Divisions Mapping",-1)),r("div",Gm," Pair your uploaded .csv file's division names to your league's division names. For new divisions, indicate the gender and "+_(s.ageClassLabel.toLowerCase())+" to help determine the teams to map for each "+_(s.ageClassLabel.toLowerCase())+" and gender. ",1),n(m,{style:{"margin-top":"2rem"}},{default:o(()=>[n(u,{modelValue:a.showUnmappedOnly,"onUpdate:modelValue":e[0]||(e[0]=b=>a.showUnmappedOnly=b)},{default:o(()=>[p(" Show unmapped divisions only ("+_(s.unmappedCount)+") ",1)]),_:1},8,["modelValue"])]),_:1}),!a.showUnmappedOnly||s.unmappedCount!==0?(d(),h("div",Nm,[r("div",jm,[e[3]||(e[3]=r("div",{class:"column"},[r("div",{class:"is-font-mont has-text-weight-semibold"},"Uploaded CSV File Division")],-1)),e[4]||(e[4]=r("div",{class:"column is-narrow"},[r("div",{class:"spacer"})],-1)),s.showDivisionMapping?(d(),h("div",Ym,[...e[1]||(e[1]=[r("div",{class:"is-font-mont has-text-weight-semibold"},"Division",-1)])])):k("",!0),e[5]||(e[5]=r("div",{class:"column"},[r("div",{class:"is-font-mont has-text-weight-semibold",style:{width:"180px"}},"Gender")],-1)),i.clubHasAgeClassEnabled?(d(),h("div",zm,[r("div",Hm,_(s.ageClassLabel),1)])):(d(),h("div",$m,[...e[2]||(e[2]=[r("div",{class:"is-font-mont has-text-weight-semibold"},"Birth Year",-1)])]))]),(d(!0),h(G,null,ue(s.sortedDivisionsFromFile,b=>(d(),h("div",{key:b},[!a.showUnmappedOnly||!a.localValue[b].birth_year||!a.localValue[b].gender?(d(),h("div",Wm,[r("div",Qm,[n(m,null,{default:o(()=>[n(f,{"model-value":b,disabled:""},null,8,["model-value"])]),_:2},1024)]),r("div",Jm,[n(v,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]})]),s.showDivisionMapping?(d(),h("div",Km,[n(m,null,{default:o(()=>[n(y,{"model-value":a.localValue[b].league_division_id||0,placeholder:"Select...",expanded:"","onUpdate:modelValue":S=>s.handleDivisionSelect(b,S)},{default:o(()=>[e[6]||(e[6]=r("option",{value:0},_(""),-1)),(d(!0),h(G,null,ue(s.leagueDivisions,S=>(d(),h("option",{key:S.id,value:S.id,disabled:s.isDivisionTakenByOtherRow(b,S.id)},_(S.name),9,Xm))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024)])):k("",!0),r("div",Zm,[n(m,null,{default:o(()=>[n(g,{modelValue:a.localValue[b].gender,"onUpdate:modelValue":S=>a.localValue[b].gender=S,"native-value":"Male",type:"is-outlined is-black",disabled:!s.clubConfig.genders.includes("M")},{default:o(()=>[...e[7]||(e[7]=[p(" Male ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),n(g,{modelValue:a.localValue[b].gender,"onUpdate:modelValue":S=>a.localValue[b].gender=S,"native-value":"Female",type:"is-outlined is-black",disabled:!s.clubConfig.genders.includes("F")},{default:o(()=>[...e[8]||(e[8]=[p(" Female ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),n(g,{modelValue:a.localValue[b].gender,"onUpdate:modelValue":S=>a.localValue[b].gender=S,"native-value":"Co-ed",type:"is-outlined is-black",disabled:!s.clubConfig.genders.includes("C")},{default:o(()=>[...e[9]||(e[9]=[p(" Co-ed ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1024)]),i.clubHasAgeClassEnabled?(d(),h(G,{key:1},[s.leagueSeasonAgeClass===s.DEFAULT_CLASS_GRADE?(d(),h("div",ef,[n(m,null,{default:o(()=>[n(y,{"model-value":s.grades[b],placeholder:"Select..","onUpdate:modelValue":S=>s.handleGradeInput(b,S)},{default:o(()=>
1[e[10]||(e[10]=r("option",{class:"is-info is-italic",value:0},_(""),-1)),(d(!0),h(G,null,ue(s.clubGrades,S=>(d(),h("option",{key:S.value,value:S.value},_(S.name),9,tf))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024)])):s.leagueSeasonAgeClass===s.DEFAULT_CLASS_AGE_GROUP?(d(),h("div",sf,[n(m,null,{default:o(()=>[n(y,{"model-value":s.ageGroups[b],placeholder:"Select..","onUpdate:modelValue":S=>s.handleAgeGroupInput(b,S)},{default:o(()=>[e[11]||(e[11]=r("option",{class:"is-info is-italic",value:0},_(""),-1)),(d(!0),h(G,null,ue(s.clubAgeGroups,S=>(d(),h("option",{key:S.value,value:S.value},_(S.name),9,af))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024)])):(d(),h("div",lf,[n(m,null,{default:o(()=>[n(y,{"model-value":s.birthYears[b],placeholder:"Select...","onUpdate:modelValue":S=>s.handleBirthYearInput(b,S)},{default:o(()=>[e[12]||(e[12]=r("option",{class:"is-info is-italic",value:0},_(""),-1)),(d(!0),h(G,null,ue(s.clubBirthYears,S=>(d(),h("option",{key:S,value:S},_(S),9,nf))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024)]))],64)):(d(),h("div",rf,[n(m,null,{default:o(()=>[n(f,{"model-value":s.birthYears[b],max:s.maximumYear,min:s.minimumYear,"validation-message":"Birth Year must be from ".concat(s.minimumYear," to ").concat(s.maximumYear),type:"number","onUpdate:modelValue":S=>s.handleLegacyBirthYearInput(b,s.DEFAULT_CLASS_BIRTH_YEAR,S)},null,8,["model-value","max","min","validation-message","onUpdate:modelValue"])]),_:2},1024)]))])):k("",!0)]))),128))])):(d(),h("div",of,[n(v,{class:"has-text-success",icon:["fas","check"],style:{"margin-right":"0.5rem"}}),e[13]||(e[13]=p(" All divisions are mapped ",-1))]))])}const uf=ie(Um,[["render",df],["__scopeId","data-v-a9f26f19"]]),cf={props:{facilityName:{type:String,required:!0},fieldIdentifier:{type:String,default:null},fieldNumber:{type:Number,required:!0},collapsedInitially:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},noDelete:{type:Boolean,default:!1},newNotNumber:{type:Boolean,default:!1}},emits:["remove"],data(){return{expanded:!0}},computed:{fieldHeaderName(){return this.fieldIdentifier&&this.fieldIdentifier!==""?"".concat(this.facilityName," ").concat(this.fieldIdentifier):this.newNotNumber?"New ".concat(this.$store.getters.getClubSportTerm("Field")):"".concat(this.$store.getters.getClubSportTerm("Field")," #").concat(this.fieldNumber)}},created(){this.collapsedInitially&&(this.expanded=!1)},methods:{removeField(){this.$emit("remove")}}},mf={class:"box"},ff={class:"box-header level is-mobile"},hf={class:"level-left flex-child-wrap-text"},gf={class:"collapse-icon"},pf={style:{"line-height":"36px"}},_f={key:0,class:"level-right"},yf={class:"box-content"},vf={key:0,class:"box-footer"},bf={class:"collapse-icon"};function Cf(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-tag");return d(),h("div",mf,[r("div",ff,[r("div",hf,[r("a",{class:"level-item has-text-primary has-text-weight-medium is-font-mont collapse-button flex-child-wrap-text",onClick:e[0]||(e[0]=f=>a.expanded=!a.expanded)},[r("span",gf,[n(u,{icon:["far",a.expanded?"angle-down":"angle-right"]},null,8,["icon"])]),r("span",pf,_(s.fieldHeaderName),1)])]),i.noDelete?k("",!0):(d(),h("div",_f,[i.disabled?(d(),x(m,{key:1,size:"is-small",class:"has-text-white has-background-grey-light has-text-weight-semibold is-font-mont",rounded:""},{default:o(()=>[p(" Club "+_(t.$store.getters.getClubSportTerm("Field")),1)]),_:1})):(d(),h("button",{key:0,class:"button is-text is-text-size-5 has-text-dark","aria-label":"Remove field",onClick:e[1]||(e[1]=(...f)=>s.removeField&&s.removeField(...f))},[n(u,{icon:["far","trash"]})]))]))]),Ys(r("div",yf,[Lt(t.$slots,"default",{},void 0,!0)],512),[[Ri,a.expanded]]),a.expanded?(d(),h("div",vf,[r("a",{class:"has-text-primary has-text-weight-medium is-text-size-7 collapse-button",onClick:e[2]||(e[2]=f=>a.expanded=!1)},[r("span",bf,[n(u,{icon:["far","angle-up"]})]),e[3]||(e[3]=r("span",null,"collapse",-1))])])):k("",!0)])}const Sf=ie(cf,[["render",Cf],["__scopeId","data-v-054cf5fd"]]),kf={components:{FacilityForm:zr,FieldForm:Hr,FieldFormRepeater:Sf,FormModalHeader:zs,FullScreenModal:Pt},emits:["refresh","timezone","fieldCreated"],data(){return{loading:!0,importFieldName:"",facilities:[],facilityId:null,
1search:"",field:null,existingExpanded:!1,addingFacility:!1,facilityPlaceholder:"Select Facility",facility:null,isTravelFacility:!1,additionalFields:[],showAdditionalFields:!1,errors:{}}},computed:{ACTION_SAVE(){return"save"},invalid(){return!this.field||!this.facilityId&&!this.addingFacility},sortedFacilities(){return T.sortBy(this.facilities,"name")},sortedFacilitiesSearchFiltered(){return this.sortedFacilities.filter(t=>t.name.toLowerCase().includes(this.search.toLowerCase()))},facilitiesById(){return T.keyBy(this.facilities,"id")},currentFacility(){return this.facilityId&&this.facilitiesById[this.facilityId]||null},facilityName(){return this.currentFacility?this.currentFacility.name:this.facility.name},facilityFieldsById(){var t;return T.keyBy((t=this.currentFacility)==null?void 0:t.fields,"id")},currentFacilityFieldsSorted(){if(!this.currentFacility)return[];const t=T.filter(this.currentFacility.fields,e=>e.archived?!1:[0,1].includes(e.team_id));return rs.sortFields(t,this.facilityFieldsById,!0)},fieldAddress(){return this.field&&this.field.facility_address||this.currentFacility&&this.currentFacility.address},fieldRegionID(){return this.field&&this.field.club_region_id||this.currentFacility&&this.currentFacility.club_region_id||0},regions(){return this.$store.getters.clubDetails.regions.filter(t=>t.id===this.fieldRegionID||!t.archived)},fieldRegion(){return T.find(this.regions,t=>t.id===this.fieldRegionID)},hasRegions(){return!T.isEmpty(this.regions)},canAdminTeams(){return this.$store.getters.canAdminTeams},showAdminFields(){return this.canAdminTeams},potentialOwners(){if(this.canAdminTeams){const t=[],e=this.$store.getters.user;return t.push({id:e.id,user_id:e.id,first_name:e.first_name,last_name:e.last_name,email:e.email}),T.sortBy(T.uniqBy(T.compact(T.concat(t,this.potentialAdminOwners)),"id"),i=>T.toLower(i.last_name))}return[]},fieldsUrl(){return"field_planning/fields"},facilitiesUrl(){return"field_planning/facilities"},timezoneAlert(){return ze.showEventTimezoneAlert(new Date,this.facility.timezone,this.$store.getters.clubDetails.timezone)},context(){return this.addingFacility?this.isTravelFacility?"Travel":"Club":this.currentFacility.team_id===1?"Travel":"Club"}},watch:{isTravelFacility(t){t?this.facility.team_id=1:this.facility.team_id=0}},methods:{showModal(t){this.$refs.modal.show(),this.loading=!0,Promise.all([this.fetchFacilities(),this.fetchPotentialOwners()]).then(()=>{this.loading=!1}),this.importFieldName=t,this.facilityId=null,this.field={facility_id:null,identifier:"",name:"",alternate_names:[],surface:"",team_id:0},this.existingExpanded=!1,this.facility={name:"",address:"",timezone:"",latitude:0,longitude:0,team_id:0},this.facilityPlaceholder="Select Facility",this.addingFacility=!1,this.additionalFields=[],this.showAdditionalFields=!1},dismissModal(t){t&&this.$emit("refresh"),this.$refs.modal.dismiss()},fetchFacilities(){return Q().get("/field_planning/facilities?populate=fields,fields:owner").then(t=>{this.facilities=t.data})},fetchPotentialOwners(){return Q().get("/club_admin/club/directors").then(t=>{Q().get("/club_admin/club/admin_users").then(e=>{this.potentialAdminOwners=T.concat(t.data,e.data)})})},getClubSportTerm(t){return this.$store.getters.getClubSportTerm(t)},clubDictionary(t){return this.$store.getters.clubDictionary(t)},addFacility(){this.facilityId=null,this.facilityPlaceholder="+ New Facility",this.addingFacility=!0,this.$refs.fieldForm&&this.$refs.fieldForm.clearField(),setTimeout(()=>{this.$refs.facilityForm.focusName()},0)},selectFacility(t){this.facilityId=t,this.facilityPlaceholder="Select Facility",this.addingFacility=!1,this.$refs.fieldForm&&this.$refs.fieldForm.clearField(),setTimeout(()=>{this.$refs.fieldForm.focusIdentifier()},0)},handleAdditionalFieldsSwitch(t){t?this.addField():this.additionalFields=[]},addField(){const t={key:T.uniqueId("key_")};this.additionalFields.push(t)},removeField(t){this.$confirm.confirm({title:"Delete ".concat(this.getClubSportTerm("Field")),message:"Are you sure you want to delete this ".concat(this.getClubSportTerm("field"),"?"),confirmText:"Delete",type:"is-danger",icon:"trash-alt",onConfirm:()=>{this.additionalFields.splice(t,1),this.additionalFields.length||(this.showAdditionalFields=!1)}})},timezoneUpdate(t){if(t&&t.latitude&&t.longitude){const e={latitude:t.latitude,longitude:t.longitude};this.facility.latitude=t.latitude,this.facility.longitude=t.longitude,Q().post("timezone",e).then(i=>{this.facility.timezone=i.data,this.$emit("timezone",i.data)})}else this.facility.timezone="",this.facility.latitude=0,this.facility.longitude=0,this.$emit("timezone","");this.checkForExistingFacility()},handleDropdownExpand(){this.search="",setTimeout(()=>{this.$refs.searchBar.focus()},0)},updateLatLong(t){this.facility.latitude=t.latitude,this.facility.longitude=t.longitude},changeFacility(t){this.facility=t},validate(){if(this.addingFacility){const t=this.$refs.facilityForm.validate(),e=this.$refs.fieldForm.validate();let i=!1;return T.each(this.additionalFields,l=>{const a="fieldForm".concat(l.key);if(this.$refs[a]){let s=this.$refs[a];
1Array.isArray(s)&&(s=s[0]),s.validate()||(i=!0)}}),t&&e&&!i}else return this.$refs.fieldForm.validate()},cudFields(t){const e=["identifier","name","owner_user_id","alternate_names","surface","is_other"],i={facility_id:t};this.isTravelFacility&&(this.field.is_other=!0,this.field.team_id=1,this.additionalFields.forEach(a=>{a.is_other=!0,a.team_id=1}));let l=[Q().post(this.fieldsUrl,Object.assign({},i,T.pick(this.field,e))).then(a=>{this.$emit("fieldCreated",{importFieldName:this.importFieldName,field:a.data})})];l=l.concat(this.additionalFields.map(a=>Q().post(this.fieldsUrl,Object.assign({},i,T.pick(a,e))))),Promise.all(l).then(()=>{this.dismissModal(!0)}).finally(()=>{this.saving=!1})},save(){if(this.validate())if(this.saving=!0,this.addingFacility)this.facility.confirm_create_duplicate=!0,Q().post(this.facilitiesUrl,this.facility).then(t=>{this.cudFields(t.data.id)});else{const t=["identifier","name","owner_user_id","alternate_names","surface","is_other"];this.context==="Travel"&&(this.field.is_other=!0,this.field.team_id=1),Q().post(this.fieldsUrl,Object.assign({},{facility_id:this.facilityId||0},T.pick(this.field,t))).then(e=>{this.$emit("fieldCreated",{importFieldName:this.importFieldName,field:e.data}),this.dismissModal(!0)}).finally(()=>{this.saving=!1})}}}},wf={style:{padding:"4rem"}},Tf={key:1,class:"modal-body"},xf={class:"columns",style:{"margin-top":"1rem"}},Ff={class:"column is-half"},Af={key:0,class:"columns"},Mf={key:0,class:"column"},Df={class:"is-font-mont has-text-weight-bold has-text-grey"},Rf={class:"is-font-mont has-text-weight-semibold is-text-size-5"},If={class:"column"},Ef={class:"is-font-mont has-text-weight-semibold is-text-size-5"},Vf={key:0,style:{"margin-top":"0.5rem"}},Pf={key:1},Bf={class:"columns is-vcentered is-mobile",style:{"margin-bottom":"-0.75rem"}},qf={class:"column"},Of={class:"column is-narrow"},Uf={key:0,style:{margin:"1rem 0"}},Lf={key:2,style:{"margin-bottom":"1rem"}},Gf={class:"is-font-mont has-text-weight-bold is-text-size-4"},Nf={class:"has-text-blue-slate-light",style:{"margin-bottom":"1rem"}},jf={class:"has-text-weight-bold"},Yf={key:2},zf={class:"add-field-box"},Hf={class:"is-underline"};function $f(t,e,i,l,a,s){const u=c("b-button"),m=c("FormModalHeader"),f=c("spinner"),v=c("b-input"),y=c("b-dropdown-item"),g=c("fa-icon"),b=c("b-dropdown"),S=c("b-field"),F=c("FacilityForm"),w=c("b-switch"),C=c("b-tooltip"),D=c("b-table-column"),B=c("BaseTable"),N=c("FieldForm"),M=c("FieldFormRepeater"),I=c("FullScreenModal");return d(),x(I,{ref:"modal"},{header:o(()=>[n(m,{title:"Add New ".concat(s.getClubSportTerm("Field")),actions:[s.ACTION_SAVE],onDismiss:s.dismissModal},{[s.ACTION_SAVE]:o(()=>[n(u,{type:"is-primary",disabled:s.invalid,onClick:s.save},{default:o(()=>[r("span",null,"Add "+_(s.getClubSportTerm("Field")),1)]),_:1},8,["disabled","onClick"])]),_:2},1032,["title","actions","onDismiss"])]),default:o(()=>[r("div",wf,[a.loading?(d(),x(f,{key:0})):(d(),h("div",Tf,[r("section",null,[e[9]||(e[9]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Facility",-1)),r("div",xf,[r("div",Ff,[n(S,{label:"Select Facility"},{default:o(()=>[n(b,{expanded:""},{trigger:o(()=>[n(u,{class:Ce(["facility-button",{"has-text-grey-light":!a.facilityId&&!a.addingFacility}]),expanded:"","icon-pack":"far","icon-right":"angle-down",onClick:s.handleDropdownExpand},{default:o(()=>[r("span",null,_(a.facilityId?s.facilitiesById[a.facilityId].name:a.facilityPlaceholder),1)]),_:1},8,["class","onClick"])]),default:o(()=>[n(y,{class:"search",custom:""},{default:o(()=>[n(v,{ref:"searchBar",modelValue:a.search,"onUpdate:modelValue":e[0]||(e[0]=V=>a.search=V),placeholder:"Search For...","icon-pack":"far",icon:"search"},null,8,["modelValue"])]),_:1}),r("div",{class:Ce(["dropdown-contents",{"hide-dropdown-padding":!s.sortedFacilitiesSearchFiltered.length}])},[n(y,{class:"add-facility has-text-primary",onClick:s.addFacility},{default:o(()=>[n(g,{icon:["far","plus"]}),e[7]||(e[7]=r("span",{style:{"margin-left":"0.25rem","padding-top":"2px"}},"New Facility",-1))]),_:1},8,["onClick"]),(d(!0),h(G,null,ue(s.sortedFacilitiesSearchFiltered,(V,P)=>(d(),x(y,{key:V.id,class:Ce({"extra-top-padding":P===0}),onClick:E=>s.selectFacility(V.id)},{default:o(()=>[p(_(V.name),1)]),_:2},1032,["class","onClick"]))),128))],2)]),_:1})]),_:1})])]),a.facilityId?(d(),h("div",Af,[s.hasRegions&&s.fieldRegion?(d(),h("div",Mf,[r("div",Df,_(s.clubDictionary("Region")),1),r("div",Rf,_(s.fieldRegion.name),1)])):k("",!0),r("div",If,[e[8]||(e[8]=r("div",{class:"is-font-mont has-text-weight-bold has-text-grey"},"Address",-1)),r("div",Ef,_(s.fieldAddress),1)])])):k("",!0)]),a.addingFacility?(d(),h("section",Vf,[n(F,{ref:"facilityForm",facility:a.facility,"onUpdate:facility":e[1]||(e[1]=V=>a.facility=V),"show-regions":s.showAdminFields&&s.hasRegions,regions:s.regions,"use-map-toggle":"","hide-file-upload":"",onLatLong:s.updateLatLong,onChangeFacility:s.changeFacility},null,8,["facility","show-regions","regions","onLatLong","onChangeFacility"]),n(S,{style:{"margin-top":"1rem"}},{default:o(()=>[n(w,{modelValue:a.isTravelFacility,"onUpdate:modelValue":e[2]||(e[2]=V=>a.isTravelFacility=V)},{default:o(()=>[...e[10]||(e[10]=[p(" Travel Facility ",-1)])]),_:1},8,["modelValue"]),n(C,{label:"Travel facilities are facilities where away games are played and that aren't directly managed by your club.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(g,{class:"has-text-primary clickable",icon:["fas","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})]),_:1}
1)])):k("",!0),a.facilityId?(d(),h("section",Pf,[e[11]||(e[11]=r("hr",null,null,-1)),r("div",Bf,[r("div",qf,[r("div",{class:"is-font-mont has-text-weight-bold clickable is-text-size-4",style:{margin:"0"},onClick:e[3]||(e[3]=V=>a.existingExpanded=!a.existingExpanded)},_(s.currentFacilityFieldsSorted.length)+" Existing "+_(s.getClubSportTerm("Fields")),1)]),r("div",Of,[r("button",{class:"button is-text no-focus","aria-label":"Show existing fields",onClick:e[4]||(e[4]=V=>a.existingExpanded=!a.existingExpanded)},[n(g,{icon:["fas",a.existingExpanded?"angle-up":"angle-down"],class:"is-text-size-4"},null,8,["icon"])])])]),a.existingExpanded?(d(),h("div",Uf,[n(B,{name:"existingFields",data:s.currentFacilityFieldsSorted,"show-all":""},{default:o(()=>[n(D,{label:"Identifier"},{default:o(({row:V})=>[p(_(V.identifier),1)]),_:1}),n(D,{label:"Name (optional)"},{default:o(({row:V})=>[p(_(V.name),1)]),_:1}),n(D,{label:"Owner"},{default:o(({row:V})=>[p(_(V.owner&&V.owner.display_name),1)]),_:1}),n(D,{label:"League Field Names"},{default:o(({row:V})=>[p(_((V.alternate_names||[]).join(", ")),1)]),_:1}),n(D,{label:"Surface"},{default:o(({row:V})=>[p(_(V.surface),1)]),_:1})]),_:1},8,["data"])])):k("",!0)])):k("",!0),a.facilityId||a.addingFacility?(d(),h("section",Lf,[e[14]||(e[14]=r("hr",null,null,-1)),r("div",Gf,_("New ".concat(s.getClubSportTerm("Field"))),1),r("div",Nf,[e[12]||(e[12]=p(" This field will be mapped to ",-1)),r("span",jf,_(a.importFieldName),1)]),a.field?(d(),x(M,{key:0,"field-identifier":a.field.identifier,"facility-name":s.facilityName||"","field-number":1,"no-delete":"","new-not-number":""},{default:o(()=>[n(N,{ref:"fieldForm",field:a.field,"onUpdate:field":e[5]||(e[5]=V=>a.field=V),fields:s.currentFacilityFieldsSorted,context:s.context,"show-admin-fields":s.showAdminFields,"potential-owners":s.potentialOwners,"default-current-user-as-owner":""},null,8,["field","fields","context","show-admin-fields","potential-owners"])]),_:1},8,["field-identifier","facility-name"])):k("",!0),a.addingFacility?(d(),x(S,{key:1,style:{"margin-top":"3rem"}},{default:o(()=>[n(w,{modelValue:a.showAdditionalFields,"onUpdate:modelValue":[e[6]||(e[6]=V=>a.showAdditionalFields=V),s.handleAdditionalFieldsSwitch],style:{"margin-bottom":"1rem"}},{default:o(()=>[...e[13]||(e[13]=[r("div",{style:{"margin-left":"0.5rem"}},"Additional Fields",-1),r("div",{class:"is-italic has-text-blue-slate-light",style:{"margin-left":"0.5rem"}}," The fields defined below will be added to the facility's field inventory. ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1})):k("",!0),a.showAdditionalFields?(d(),h("div",Yf,[(d(!0),h(G,null,ue(a.additionalFields,(V,P)=>(d(),h("div",{key:V.key},[n(M,{"field-identifier":V.identifier,"facility-name":s.facilityName||"","field-number":P+2,style:{"margin-bottom":"1rem"},onRemove:E=>s.removeField(P)},{default:o(()=>[n(N,{ref_for:!0,ref:"fieldForm".concat(a.additionalFields[P].key),field:a.additionalFields[P],"onUpdate:field":E=>a.additionalFields[P]=E,fields:s.currentFacilityFieldsSorted,context:s.context,"show-admin-fields":s.showAdminFields,"potential-owners":s.potentialOwners,"default-current-user-as-owner":""},null,8,["field","onUpdate:field","fields","context","show-admin-fields","potential-owners"])]),_:2},1032,["field-identifier","facility-name","field-number","onRemove"])]))),128)),r("div",zf,[n(u,{class:"is-text has-text-primary",style:{"text-decoration":"none"},"icon-left":"plus",onClick:s.addField},{default:o(()=>[r("span",Hf,"Add "+_(s.getClubSportTerm("Field")),1)]),_:1},8,["onClick"])])])):k("",!0)])):k("",!0)]))])]),_:1},512)}const Wf=ie(kf,[["render",$f],["__scopeId","data-v-8658428b"]]),Qf={components:{SearchableDropdown:gs,AddFieldModal:Wf,ImportDropdownButton:bs},props:{modelValue:{type:Object,required:!0},fields:{type:Array,required:!0},homeFieldsFromFile:{type:Array,required:!0},awayFieldsFromFile:{type:Array,required:!0},requireAllMapped:{type:Boolean,default:!1},league:{type:Object,required:!0}},emits:["update:modelValue","refresh","hasErrors"],data(){return{showUnmappedOnly:!1,showFieldsAwayGames:!1}},computed:{allFields(){return O.union(this.homeFieldsFromFile,this.awayFieldsFromFile)}
1,fieldsFromFile(){return this.showFieldsAwayGames||!this.isTravelLeague?this.allFields:this.homeFieldsFromFile},sortedFieldsFromFile(){return[...this.fieldsFromFile].sort()},sortedFieldsFromFileWithLocalId(){return this.sortedFieldsFromFile.map((t,e)=>({id:e+1,name:t}))},sortedFields(){return O.sortBy(this.fields,"field")},fieldsById(){return O.keyBy(this.fields,"id")},fieldsByLocalId(){const t={};return this.sortedFieldsFromFileWithLocalId.forEach(e=>{const i=e.name.toLowerCase();if(Object.prototype.hasOwnProperty.call(this.modelValue,i)){const l=this.fieldsById[this.modelValue[i]];l&&(t[e.id]=l)}}),t},mappedFieldsFromFile(){return this.fieldsFromFile.filter(t=>Object.prototype.hasOwnProperty.call(this.modelValue,t.toLowerCase())&&this.modelValue[t.toLowerCase()])},isTravelLeague(){return qi(this.league)},refAssignorEnabled(){return this.league.extra.ref_assignors_enabled&&this.isTravelLeague},isRefAssignorHomeGamesOnly(){return this.refAssignorEnabled&&this.league.extra.ref_assignors_home_games_only},requireAwayFieldsMapped(){return this.refAssignorEnabled&&!this.isRefAssignorHomeGamesOnly},unmappedFields(){return this.requireAwayFieldsMapped?O.difference(this.allFields,this.mappedFieldsFromFile):O.difference(this.sortedFieldsFromFile,this.mappedFieldsFromFile)},unmappedCount(){return this.unmappedFields.filter(t=>!this.isPlaceholderField(t)).length},availableFields(){const t=Object.values(this.modelValue);return this.sortedFields.filter(e=>!t.includes(e.id)&&e.field.toLowerCase())}},watch:{modelValue:{handler(){this.requireAllMapped&&this.$emit("hasErrors",!!this.unmappedCount)},immediate:!0}},mounted(){this.requireAwayFieldsMapped&&(this.showFieldsAwayGames=!0)},methods:{getRowSize(t){return t?Math.ceil(t.length/36):1},handleSelectFieldMapping(t,e){if(e)this.$emit("update:modelValue",{...this.modelValue,[t.toLowerCase()]:e});else{const{[t.toLowerCase()]:i,...l}=this.modelValue;this.$emit("update:modelValue",l)}},addNewField(t){this.$refs.addFieldModal.showModal(t)},getClubSportTerm(t){return this.$store.getters.getClubSportTerm(t)},isMapped(t){return!!this.modelValue[t.name.toLowerCase()]},isPlaceholderField(t){return t===""||t.toUpperCase()===jr},errorForField(t){return this.isMapped(t)||this.isPlaceholderField(t.name)||!this.requireAwayFieldsMapped&&this.awayFieldsFromFile.includes(t.name)&&!this.homeFieldsFromFile.includes(t.name)?"":"Field must be mapped to continue"}}},Jf={class:"field-mapping"},Kf={class:"is-font-mont has-text-weight-bold is-text-size-4",style:{"align-items":"center",display:"flex"}},Xf={class:"is-italic has-text-blue-slate-light",style:{"margin-top":"0.5rem"}},Zf={key:0},eh={key:1},th={class:"columns",style:{"margin-bottom":"0","margin-top":"1rem"}},sh={class:"column"},ih={class:"is-font-mont has-text-weight-semibold"},ah={key:0,class:"columns"},lh={class:"column"},nh={style:{"margin-left":"0.25rem","padding-top":"2px"}},rh={class:"column is-narrow arrow-icon"},oh={class:"column"},dh={key:2,class:"success-banner"};function uh(t,e,i,l,a,s){const u=c("b-switch"),m=c("fa-icon"),f=c("b-tooltip"),v=c("b-field"),y=c("ImportDropdownButton"),g=c("b-dropdown-item"),b=c("SearchableDropdown"),S=c("b-input"),F=c("AddFieldModal");return d(),h("div",Jf,[r("div",Kf,_(s.getClubSportTerm("Fields"))+" Mapping ",1),r("div",Xf," Select the "+_(s.getClubSportTerm("field"))+" names in PlayMetrics that correspond with the "+_(s.getClubSportTerm("field"))+" names in the import file. ",1),n(v,{style:{"margin-top":"2rem"}},{default:o(()=>[n(u,{modelValue:a.showUnmappedOnly,"onUpdate:modelValue":e[0]||(e[0]=w=>a.showUnmappedOnly=w)},{default:o(()=>[p(" Show unmapped "+_(s.getClubSportTerm("fields"))+" only ("+_(s.unmappedCount)+") ",1)]),_:1},8,["modelValue"]),n(f,{label:"Unmapped ".concat(s.getClubSportTerm("fields")," will not be added to your clubâs ").concat(s.getClubSportTerm("field")," inventory\n but their associated games will be added to your leagueâs game schedule."),type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(m,{class:"has-text-primary clickable",icon:["fas","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1},8,["label"])]),_:1}),s.isTravelLeague?(d(),h("div",Zf,[n(v,{style:{"margin-top":"2rem"}},{default:o(()=>[n(u,{modelValue:a.showFieldsAwayGames,"onUpdate:modelValue":e[1]||(e[1]=w=>a.showFieldsAwayGames=w)},{default:o(()=>[...e[4]||(e[4]=[p(" Show fields for away games ",-1)])]),_:1},8,["modelValue"])]),_:1})])):k("",!0),!a.showUnmappedOnly||s.unmappedCount!==0?(d(),h("div",eh,[r("div",th,[r("div",sh,[r("div",ih,_(s.getClubSportTerm("Fields"))+" in PlayMetrics",1)]),e[5]||(e[5]=r("div",{class:"column is-narrow"},[r("div",{class:"spacer"})],-1)),e[6]||(e[6]=r("div",{class:"column"},[r("div",{class:"is-font-mont has-text-weight-semibold"}
1,"Uploaded CSV File")],-1))]),(d(!0),h(G,null,ue(s.sortedFieldsFromFileWithLocalId,w=>(d(),h("div",{key:w.id},[!a.showUnmappedOnly||!s.fieldsByLocalId[w.id]?(d(),h("div",ah,[r("div",lh,[n(v,{message:s.errorForField(w),type:s.errorForField(w)?"is-danger":""},{default:o(()=>[n(b,{items:s.availableFields,"display-key":"field","key-by":"id",expanded:"",onChange:C=>s.handleSelectFieldMapping(w.name,C.id)},{trigger:o(C=>[n(y,{display:s.fieldsByLocalId[w.id]&&s.fieldsByLocalId[w.id].field,placeholder:"Select ".concat(s.getClubSportTerm("Field")),type:C.active?"is-primary":"",expanded:""},null,8,["display","placeholder","type"])]),default:o(()=>[n(g,{class:"add-field has-text-primary",onClick:C=>s.addNewField(w.name)},{default:o(()=>[n(m,{icon:["far","plus"]}),r("span",nh,"New "+_(s.getClubSportTerm("Field")),1)]),_:1},8,["onClick"]),n(g,{style:{"padding-top":"0.75rem"},onClick:C=>s.handleSelectFieldMapping(w.name)},{default:o(()=>[...e[7]||(e[7]=[r("span",{class:"is-italic has-text-blue-slate-light"},"No Selection",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items","onChange"])]),_:2},1032,["message","type"])]),r("div",rh,[n(m,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]})]),r("div",oh,[n(v,null,{default:o(()=>[n(S,{type:"textarea",disabled:"","model-value":w.name,rows:s.getRowSize(w.name)},null,8,["model-value","rows"])]),_:2},1024)])])):k("",!0)]))),128))])):(d(),h("div",dh,[n(m,{class:"has-text-success",icon:["fas","check"],style:{"margin-right":"0.5rem"}}),p(" All "+_(s.getClubSportTerm("fields"))+" are mapped ",1)])),n(F,{ref:"addFieldModal",onFieldCreated:e[2]||(e[2]=w=>s.handleSelectFieldMapping(w.importFieldName,w.field.id)),onRefresh:e[3]||(e[3]=w=>t.$emit("refresh"))},null,512)])}const ch=ie(Qf,[["render",uh],["__scopeId","data-v-b46e63b3"]]),mh={key:0,class:"update-resolution-interface"},fh={key:0,class:"ml-4"},hh={key:0,class:"modified-value"},gh={key:1},mi="Existing",ph="Import",fi=1,hi=0,_h={__name:"GameImportUpdateResolutionInterface",props:{modelValue:{type:[Number,null],default:null},gameId:{type:Number,required:!0},competitionName:{type:String,default:""},externalGameId:{type:String,default:""},originalGame:{type:Object,required:!0},updatedGame:{type:Object,required:!0}},emits:["update:modelValue"],setup(t,{emit:e}){const i=e,l=t,a=lt(),{timezone:s}=Wr(),{clubFields:u}=Qr(),m=A(()=>Jr.getIsLoadingProps(u)),f=[{name:"home",label:"Home"},{name:"away",label:"Away"},{name:"date",label:"Date"},{name:"time",label:"Time"},{name:"field",label:"Field"}];function v(w){return C=>{const D=ze.toMoment(C.start_datetime,s.value),B=Si(C.start_datetime),N=u.value.find(M=>M.id===C.field_id);return{source:w,game:C,home:a.getters.clubTeamNameByID(C.home_team_id)||C.home_team_name,away:a.getters.clubTeamNameByID(C.away_team_id)||C.away_team_name,date:B?"TBD":D.format("MM/DD/YYYY"),time:B?"TBD":D.format("hh:mm A"),field:(N==null?void 0:N.display_name)||(N==null?void 0:N.name)||(C==null?void 0:C.field_name)||""}}}const y=A(()=>[v(mi)(l.originalGame),v(ph)(l.updatedGame)]);function g(w,C){if(w.source===mi)return!1;if(C==="field"){const D=y.value[0].game,B=y.value[1].game;return D.field_id!==B.field_id?!0:D.field_name!==B.field_name}return w[C]!==y.value[0][C]}function b(w,C){return C===l.modelValue?"not-selected":""}function S(){i("update:modelValue",fi)}function F(){i("update:modelValue",hi)}return(w,C)=>{const D=c("b-button"),B=c("b-table-column"),N=c("fa-icon");return m.value?k("",!0):(d(),h("div",mh,[n(Ve,{size:"md",class:"availability-modal__header"},{default:o(()=>[p(" Game ID: "+_(t.externalGameId||t.gameId)+" ",1),t.competitionName?(d(),h("span",fh," Competition: "+_(t.competitionName),1)):k("",!0)]),_:1}),n(qn,{name:"game-update-resolution-table",data:y.value,"show-all":"",class:"resolution-table","row-class":b},{default:o(()=>[n(B,{label:"Import Action"},{default:o(({row:M})=>[M.source===mi?(d(),x(D,{key:0,type:l.modelValue===fi?"is-success":"",outlined:l.modelValue!==fi,onClick:S},{default:o(()=>[...C[0]||(C[0]=[p(" Keep Existing ",-1)])]),_:1},8,["type","outlined"])):(d(),x(D,{key:1,type:l.modelValue===hi?"is-success":"",outlined:l.modelValue!==hi,onClick:F},{default:o(()=>[...C[1]||(C[1]=[p(" Update Game ",-1)])]),_:1},8,["type","outlined"]))]),_:1}),n(B,{label:"Source"},{default:o(({row:M})=>[r("span",null,_(M.source),1)]),_:1}),(d(),h(G,null,ue(f,M=>n(B,{key:M.name,label:M.label},{default:o(({row:I})=>[g(I,M.name)?(d(),h("div",hh,[n(N,{icon:["fas","exclamation-triangle"],class:"warning-icon"}),p(" "+_(I[M.name]),1)])):(d(),h("div",gh,_(I[M.name]),1))]),_:2},1032,["label"])),64))]),_:1},8,["data"])]))}}},yh=ie(_h,[["__scopeId","data-v-4c01008e"]]),vh={key:1,class:"games-step"},bh={class:"quick-select"},Ch={__name:"GameImportUpdateResolutions",props:{draft:{type:Object,required:!0},games:{type:Array,required:!0},loading:{type:Boolean,default:!1}},emits:["invalid","skipGameIds"],setup(t,{expose:e,emit:i}){const l=i,a=t,s=H(1),u=H(10),m=H([]);function f(S){return{...S,original:a.games.find(F=>{var w;return F.id===((w=S==null?void 0:S.updated)==null?void 0:w.id)})}}function v(S=[]){return S.filter(F=>{const w=F.original,C=F.updated;
1if(!w||!C)return!1;if(w.field_id!==C.field_id)return!0;if(w.field_name!==C.field_name||w.home_team_id!==C.home_team_id)return!0;if(w.home_team_name!==C.home_team_name||w.away_team_id!==C.away_team_id)return!0;if(w.away_team_name!==C.away_team_name)return!0;const D=Si(w.start_datetime)?"TBD":w.start_datetime,B=Si(C.start_datetime)?"TBD":C.start_datetime;return D!==B})}const y=A(()=>{const S=(s.value-1)*u.value,F=S+u.value;return m.value.slice(S,F)});function g(S){m.value.forEach(F=>{F.skip=S?1:0})}function b(S=[]){const F=Array.isArray(a.draft.config.skip_game_ids)?a.draft.config.skip_game_ids:[],w=O.map(S,f),C=v(w);m.value=O.map(C,D=>({...D,skip:F.includes(D.game_id)?1:null}))}return It(m,()=>{const S=m.value.reduce((F,{skip:w,game_id:C})=>(w===1&&F.push(C),F),[]);l("skipGameIds",S)},{deep:1}),fn(()=>{l("invalid",m.value.length>0?m.value.some(({skip:S})=>S===null):!1)}),e({setGameUpdatesToResolve:b}),(S,F)=>{const w=c("b-button");return t.loading?(d(),x(On,{key:0},{default:o(()=>[...F[4]||(F[4]=[r("div",null,"Fetching Summary...",-1)])]),_:1})):(d(),h("div",vh,[n(Ve,{size:"md"},{default:o(()=>[p(" Game Detail Conflicts ("+_(m.value.length)+") ",1)]),_:1}),F[9]||(F[9]=r("p",{class:"my-3"}," For each game shown below, select whether you want to update the game with the details from the import file or keep the existing details in PlayMetrics without updating. ",-1)),m.value.length===0?(d(),x(fs,{key:0,header:"No Conflicts Found",body:"No conflicts were found between game details in the import file and the existing game details in PlayMetrics.",class:"mt-6"})):(d(),h(G,{key:1},[r("div",bh,[F[7]||(F[7]=r("div",null,"Quick Select:",-1)),n(w,{outlined:"",type:"is-primary",onClick:F[0]||(F[0]=C=>g(!0))},{default:o(()=>[...F[5]||(F[5]=[p(" Select All: Do Not Update ",-1)])]),_:1}),n(w,{outlined:"",type:"is-primary",onClick:F[1]||(F[1]=C=>g(!1))},{default:o(()=>[...F[6]||(F[6]=[p(" Select All: Update Game ",-1)])]),_:1})]),n(Ve,{size:"md"},{default:o(()=>[...F[8]||(F[8]=[p(" Select Import Action for Each Game ",-1)])]),_:1}),(d(!0),h(G,null,ue(y.value,(C,D)=>(d(),x(yh,{key:"game-update-resolution-".concat(D),modelValue:C.skip,"onUpdate:modelValue":B=>C.skip=B,"game-id":C.game_id,"competition-name":C.competition_name,"external-game-id":C.external_game_id,"original-game":t.games.find(B=>{var N;return B.id===((N=C==null?void 0:C.updated)==null?void 0:N.id)}),"updated-game":C.updated,class:"mt-5"},null,8,["modelValue","onUpdate:modelValue","game-id","competition-name","external-game-id","original-game","updated-game"]))),128)),n($r,{"current-page":s.value,"onUpdate:currentPage":F[2]||(F[2]=C=>s.value=C),"per-page":u.value,"onUpdate:perPage":F[3]||(F[3]=C=>u.value=C),"total-items-to-show":m.value.length},null,8,["current-page","per-page","total-items-to-show"])],64))]))}}},Sh=ie(Ch,[["__scopeId","data-v-67064980"]]),kh=Q({showError:!1}),wh={components:{Modal:Qe},props:{draft:{type:Object,default:null},league:{type:Object,required:!0},stepId:{type:String,required:!0}},emits:["dismissModal","submit","update:draft","saveInProgress"],data(){var t;return{data:null,notifyTeams:!1,arrivalTime:this.$store.getters.clubSportConfig(((t=this.league)==null?void 0:t.sport)||this.$store.getters.clubSport).default_arrival_mins,resetExistingArrivalTime:!1,deleteAllUpcomingGames:!1,clearAllExistingAssignments:!1,errors:{arrivalTime:""},saveInProgress:!1,downloadInProgress:!1,importInProgress:!1}},computed:{loading(){return this.data===null},isAssignments(){var t;return Jt(this.league)&&((t=this.league.extra)==null?void 0:t.enable_game_scheduler)},effectiveSport(){var t;return((t=this.league)==null?void 0:t.sport)||this.$store.getters.clubSport},impactedLeagueDivisionIDs(){const t=this.draft.config.division_mapping;return Object.keys(t).map(e=>t[e].league_division_id)},leagueTeamsByDivisionID(){return T.groupBy(this.league.league_teams,"league_division_id")},showClearAllExistingAssignments(){return this.isAssignments?(this.league.game_schedulers||[]).some(t=>this.impactedLeagueDivisionIDs.includes(t.league_division_id)&&(t.matchups||[]).length>0&&Bi(t,this.league,{leagueTeamsByLeagueDivisionID:this.leagueTeamsByDivisionID}
1)):!1},showDeleteAllUpcomingGames(){if(!this.isAssignments)return!1;const t=Y(),e=(this.league.games||[]).filter(i=>Y(i.start_datetime).isAfter(t));return e.length===0?!1:this.impactedLeagueDivisionIDs.some(i=>{const l=T.uniq(this.leagueTeamsByDivisionID[i].map(a=>a.team.id));return e.some(a=>l.includes(a.home_team_id)||l.includes(a.away_team_id))})},numToCreate(){return this.data.created},numToUpdate(){return this.data.updated+this.data.restored},disableImportGames(){var t;return this.saveInProgress||this.numToCreate===0&&this.numToUpdate===0||!!((t=this.errors)!=null&&t.arrivalTime)},errorsLength(){var t;return((t=this.data.errors)==null?void 0:t.length)||0},messagesLength(){var t;return((t=this.data.messages)==null?void 0:t.length)||0},errorsTitle(){const t=this.errorsLength,e=this.messagesLength;return t===0&&e===0?"":"".concat(t+e," Error").concat(t+e>1?"s":"")},getSetArrivalTime:{get(){return this.arrivalTime},set(t){this.arrivalTime=parseInt(t,10)||0}},willChangesHappen(){return this.data.created||this.data.updated||this.data.restored}},methods:{showModal(){var t,e,i,l,a;this.data=null,this.notifyTeams=((t=this.draft)==null?void 0:t.notify)||!1,this.arrivalTime=((e=this.draft)==null?void 0:e.default_arrival_time_minutes)||this.$store.getters.clubSportConfig(this.effectiveSport).default_arrival_mins,this.resetExistingArrivalTime=((i=this.draft)==null?void 0:i.reset_existing_arrival_time_minutes)||!1,this.deleteAllUpcomingGames=((l=this.draft)==null?void 0:l.delete_all_upcoming_games)||!1,this.clearAllExistingAssignments=((a=this.draft)==null?void 0:a.clear_all_existing_assignments)||!1,this.refreshSummary(),this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal(),this.$emit("dismissModal")},performSubmitRequest(t){var l;if(!((l=this.draft)!=null&&l.id))return Promise.reject(new Error("Missing draft or draft id."));this.saveInProgress=!0,this.$emit("saveInProgress",this.saveInProgress);const e={...this.draft.config,step:this.stepId,notify:this.notifyTeams,default_arrival_time_minutes:this.arrivalTime,reset_existing_arrival_time_minutes:this.resetExistingArrivalTime,delete_all_upcoming_games:this.deleteAllUpcomingGames,clear_all_existing_assignments:this.clearAllExistingAssignments},i={config:e};return kh.post("club_admin/club_leagues/".concat(this.league.id,"/games/import/").concat(this.draft.id,"/").concat(t),i).then(a=>(this.$emit("update:draft",{...this.draft,config:e}),a)).finally(()=>{this.saveInProgress=!1,this.$emit("saveInProgress",this.saveInProgress)})},refreshSummary(){this.performSubmitRequest("summary").then(t=>{this.data=t.data})},submit(){this.importInProgress=!0,this.performSubmitRequest("submit").then(()=>{this.dismissModal(),this.$emit("submit")}).finally(()=>{this.importInProgress=!1})},async handleDownloadSummaryCSV(t){this.downloadInProgress=!0;try{const e=await Q({showError:!1}).serverURL("club_admin/club_leagues/".concat(this.league.id,"/games/import/").concat(this.draft.id,"/summary.csv"));Wa().clickExternalLink(t,e)||window.open(e,"_blank")}catch(e){this.toast.error("Failed to download Game Import Summary")}finally{this.downloadInProgress=!1}},handleImport(){this.arrivalTime<0?this.errors.arrivalTime="Invalid value":this.submit()}}},Th={class:"columns has-background-white-bis",style:{padding:"1rem"}},xh={class:"column"},Fh={class:"is-font-mont has-text-weight-semibold"},Ah={class:"is-font-mont has-text-weight-bold is-text-size-3"},Mh={key:0,class:"column"},Dh={class:"is-font-mont has-text-weight-bold is-text-size-3"},Rh={class:"column"},Ih={class:"is-font-mont has-text-weight-semibold"},Eh={class:"is-font-mont has-text-weight-bold is-text-size-3"},Vh={key:0,style:{"margin-top":"1.5rem"}},Ph={style:{"margin-top":"0.5rem"}},Bh={class:"has-text-weight-bold"},qh={key:1,style:{"margin-top":"3rem"}},Oh={class:"arrival-time"},Uh={key:2,style:{"margin-top":"1.5rem"}},Lh={key:3,style:{"margin-top":"1.5rem"}},Gh={key:4,style:{"margin-top":"3rem"}},Nh={class:"is-font-mont has-text-weight-bold is-text-size-5",style:{"margin-bottom":"0.5rem"}},jh={class:"columns",style:{margin:"0"}},Yh={class:"column has-text-danger",style:{"padding-left":"0"}},zh={class:"column is-narrow has-text-blue-slate-light"},Hh={key:0,style:{margin:"0.5rem 0"}},$h={class:"columns",style:{margin:"0"}},Wh={class:"column has-text-danger",style:{"padding-left":"0"}},Qh={class:"column is-narrow has-text-blue-slate-light"},Jh={key:0,style:{margin:"0.5rem 0"}};function Kh(t,e,i,l,a,s){const u=c("spinner"),m=c("b-switch"),f=c("b-input"),v=c("b-field"),y=c("b-button"),g=c("Modal");return d(),x(g,{ref:"modal",title:"Import Summary"},{footer:o(()=>[r("div",null,[n(y,{class:"has-text-primary no-focus",disabled:s.loading||a.saveInProgress,loading:a.downloadInProgress,"icon-left":"download",onClick:s.handleDownloadSummaryCSV},{default:o(()=>[...e[18]||(e[18]=[p(" Download Summary ",-1)])]),_:1},8,["disabled","loading","onClick"]),n(y,{class:"is-primary",disabled:s.loading||s.disableImportGames,loading:a.importInProgress,onClick:s.handleImport},{default:o(()=>[...e[19]||(e[19]=[p(" Import Games ",-1)])]),_:1},8,["disabled","loading","onClick"])])]),default:o(()=>[s.loading?(d(),x(u,{key:0})):(d(),h(G,{key:1},[r("div",Th,[r("div",xh,[r("div",Fh,_(s.isAssignments?"Assignments":"Games")+" creating ",1),r("div",Ah,_(s.numToCreate.toLocaleStr
1ing()),1)]),s.isAssignments?k("",!0):(d(),h("div",Mh,[e[6]||(e[6]=r("div",{class:"is-font-mont has-text-weight-semibold"}," Games modifying ",-1)),r("div",Dh,_(s.numToUpdate.toLocaleString()),1)])),r("div",Rh,[r("div",Ih,_(s.isAssignments?"Assignments":"Games")+" skipping ",1),r("div",Eh,_((a.data.skipped+a.data.skipped_with_errors+a.data.not_changed).toLocaleString()),1)])]),s.willChangesHappen&&!s.isAssignments?(d(),h("div",Vh,[e[9]||(e[9]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-5"}," Notification Settings ",-1)),r("div",Ph,[e[7]||(e[7]=p(" Importing these changes will affect schedules for ",-1)),r("span",Bh,_(a.data.teams_impacted)+" teams",1)]),n(m,{modelValue:a.notifyTeams,"onUpdate:modelValue":e[0]||(e[0]=b=>a.notifyTeams=b),disabled:a.saveInProgress,style:{"margin-top":"1rem"}},{default:o(()=>[...e[8]||(e[8]=[p(" Notify teams of game changes ",-1)])]),_:1},8,["modelValue","disabled"])])):k("",!0),s.willChangesHappen&&!s.isAssignments?(d(),h("div",qh,[e[12]||(e[12]=r("span",{class:"is-font-mont has-text-weight-semibold"},"Default Arrival Time",-1)),e[13]||(e[13]=r("span",{class:"has-text-grey-light is-italic"}," (applied to all imported games)",-1)),r("div",Oh,[n(v,{message:a.errors.arrivalTime,type:a.errors.arrivalTime?"is-danger":"",style:{"margin-bottom":"0","max-width":"75px"}},{default:o(()=>[n(f,{modelValue:s.getSetArrivalTime,"onUpdate:modelValue":[e[1]||(e[1]=b=>s.getSetArrivalTime=b),e[2]||(e[2]=b=>a.errors.arrivalTime="")],type:"number"},null,8,["modelValue"])]),_:1},8,["message","type"]),e[11]||(e[11]=r("div",{style:{"margin-left":"0.25rem"}}," mins ",-1)),n(m,{modelValue:a.resetExistingArrivalTime,"onUpdate:modelValue":e[3]||(e[3]=b=>a.resetExistingArrivalTime=b),disabled:a.saveInProgress,style:{"margin-left":"3rem"}},{default:o(()=>[...e[10]||(e[10]=[p(" Reset existing games ",-1)])]),_:1},8,["modelValue","disabled"])])])):k("",!0),s.showClearAllExistingAssignments?(d(),h("div",Uh,[e[15]||(e[15]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-5"}," Clear all existing draft assignments ",-1)),n(m,{modelValue:a.clearAllExistingAssignments,"onUpdate:modelValue":[e[4]||(e[4]=b=>a.clearAllExistingAssignments=b),s.refreshSummary],disabled:a.saveInProgress,style:{"margin-top":"1rem"}},{default:o(()=>[...e[14]||(e[14]=[p(" Clear all existing draft assignments ",-1)])]),_:1},8,["modelValue","disabled","onUpdate:modelValue"])])):k("",!0),s.showDeleteAllUpcomingGames?(d(),h("div",Lh,[e[17]||(e[17]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-5"}," Delete all upcoming games ",-1)),n(m,{modelValue:a.deleteAllUpcomingGames,"onUpdate:modelValue":[e[5]||(e[5]=b=>a.deleteAllUpcomingGames=b),s.refreshSummary],disabled:a.saveInProgress,style:{"margin-top":"1rem"}},{default:o(()=>[...e[16]||(e[16]=[p(" Delete all upcoming games ",-1)])]),_:1},8,["modelValue","disabled","onUpdate:modelValue"])])):k("",!0),s.errorsLength||s.messagesLength>0?(d(),h("div",Gh,[r("div",Nh,_(s.errorsTitle),1),(d(!0),h(G,null,ue(a.data.errors,(b,S)=>(d(),h("div",{key:"".concat(b.line,"-").concat(b.message)},[r("div",jh,[r("div",Yh,_(b.message),1),r("div",zh," Line "+_(b.line),1)]),S!==s.errorsLength-1&&!s.messagesLength?(d(),h("hr",Hh)):k("",!0)]))),128)),(d(!0),h(G,null,ue(a.data.messages,(b,S)=>(d(),h("div",{key:"".concat(b.line,"-").concat(b.message)},[r("div",$h,[r("div",Wh,_(b.message),1),r("div",Qh," Line "+_(b.line),1)]),S!==s.messagesLength-1?(d(),h("hr",Jh)):k("",!0)]))),128))])):k("",!0)],64))]),_:1},512)}const Xh=ie(wh,[["render",Kh],["__scopeId","data-v-95e48d37"]]),Zh={components:{SearchableDropdown:gs,ImportDropdownButton:bs},props:{modelValue:{type:Object,required:!0},showUnmappedOnly:{type:Boolean,required:!0}},emits:["update:modelValue"],computed:{teamsFromFileById(){return T.invert(this.modelValue.team_mapping)},unmappedCount(){return this.modelValue.teams.length-Object.keys(this.modelValue.team_mapping).length},showDivisionTeamMapping(){return this.showUnmappedOnly?this.unmappedCount>0:!0},availableImportTeams(){return this.modelValue.teams_from_file.filter(t=>!this.modelValue.team_mapping[t]).sort()}},methods:{handleSelectTeamMapping(t,e){const i=this.teamsFromFileById[t];
1if(i){const{[i]:l,...a}=this.modelValue.team_mapping;e?this.$emit("update:modelValue",{...this.modelValue,team_mapping:{...a,[e]:t}}):this.$emit("update:modelValue",{...this.modelValue,team_mapping:a})}else e&&this.$emit("update:modelValue",{...this.modelValue,team_mapping:{...this.modelValue.team_mapping,[e]:t}})}}},eg={key:0,class:"team-mapping"},tg={key:0,class:"is-font-mont has-text-weight-bold is-text-size-5",style:{"margin-top":"1.75rem"}},sg={key:0,class:"columns"},ig={class:"column"},ag={class:"column is-narrow arrow-icon"},lg={class:"column"};function ng(t,e,i,l,a,s){const u=c("b-input"),m=c("b-field"),f=c("fa-icon"),v=c("ImportDropdownButton"),y=c("b-dropdown-item"),g=c("SearchableDropdown");return s.showDivisionTeamMapping?(d(),h("div",eg,[i.modelValue.name?(d(),h("div",tg,_(i.modelValue.name),1)):k("",!0),e[1]||(e[1]=Ut('<div class="columns" style="margin-bottom:0;margin-top:0.25rem;" data-v-00b24431><div class="column" data-v-00b24431><div class="is-font-mont has-text-weight-semibold" data-v-00b24431>Teams in PlayMetrics</div></div><div class="column is-narrow" data-v-00b24431><div class="spacer" data-v-00b24431></div></div><div class="column" data-v-00b24431><div class="is-font-mont has-text-weight-semibold" data-v-00b24431>Uploaded CSV File</div></div></div>',1)),(d(!0),h(G,null,ue(i.modelValue.teams,b=>(d(),h("div",{key:b.id},[!i.showUnmappedOnly||!s.teamsFromFileById[b.id]?(d(),h("div",sg,[r("div",ig,[n(m,null,{default:o(()=>[n(u,{"model-value":b.name,disabled:""},null,8,["model-value"])]),_:2},1024)]),r("div",ag,[n(f,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]})]),r("div",lg,[n(g,{items:s.availableImportTeams,expanded:"",onChange:S=>s.handleSelectTeamMapping(b.id,S)},{trigger:o(({active:S})=>[n(v,{display:s.teamsFromFileById[b.id],placeholder:"Select Team",type:S?"is-primary":"",expanded:""},null,8,["display","type"])]),default:o(()=>[n(y,{style:{"padding-top":"0.75rem"},onClick:S=>s.handleSelectTeamMapping(b.id)},{default:o(()=>[...e[0]||(e[0]=[r("span",{class:"is-italic has-text-blue-slate-light"},"No Selection",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items","onChange"])])])):k("",!0)]))),128))])):k("",!0)}const rg=ie(Zh,[["render",ng],["__scopeId","data-v-00b24431"]]),og={components:{DivisionTeamMapping:rg},props:{modelValue:{type:Object,required:!0},divisionsFromFile:{type:Array,required:!0},teamsByDivisionFromFile:{type:Object,required:!0},league:{type:Object,required:!0}},emits:["update:modelValue","hasErrors"],data(){return{showUnmappedOnly:!1}},computed:{mappedDivisionsFromFile(){var i;const t=this.league.league_teams.filter(l=>!l.team.archived),e=[...this.divisionsFromFile].sort();return!e.length||e.length===1&&!e[0]?[{id:0,name:"",teams:T.sortBy(t.filter(l=>!l.league_division_id).map(l=>l.team),["name"]),division_from_file:"",teams_from_file:this.teamsByDivisionFromFile[""],team_mapping:((i=this.modelValue[""])==null?void 0:i.team_mapping)||{}}]:e.filter(l=>{var a;return(a=this.modelValue[l])==null?void 0:a.league_division_id}).map(l=>{var s;const a=this.league.league_divisions.find(u=>{var m;return u.id===((m=this.modelValue[l])==null?void 0:m.league_division_id)});return{id:a.id,name:a.name,teams:T.sortBy(t.filter(u=>u.league_division_id===a.id).map(u=>u.team),["name"]),division_from_file:l,teams_from_file:this.teamsByDivisionFromFile[l],team_mapping:((s=this.modelValue[l])==null?void 0:s.team_mapping)||{}}}).sort((l,a)=>l.name<=a.name?-1:1)},unmappedCount(){return this.mappedDivisionsFromFile.reduce((t,e)=>{var l;const i=((l=this.modelValue[e.division_from_file])==null?void 0:l.team_mapping)||{};return t+(e.teams.length-Object.keys(i).length)},0)}},watch:{modelValue(){let t=!1;Object.keys(this.modelValue).forEach(e=>{t=t||!!Object.keys(this.modelValue[e].team_mapping).length}),this.$emit("hasErrors",!t)}},methods:{handleUpdate(t){this.$emit("update:modelValue",{...this.modelValue,[t.division_from_file]:{league_division_id:t.id,team_mapping:t.team_mapping}})}}},dg={class:"division-team-mapping"},ug={key:0,class:"success-banner"};function cg(t,e,i,l,a,s){const u=c("b-switch"),m=c("b-field"),f=c("DivisionTeamMapping"),v=c("fa-icon");return d(),h("div",dg,[e[2]||(e[2]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Teams Mapping",-1)),e[3]||(e[3]=r("div",{class:"is-italic has-text-blue-slate-light",style:{"margin-top":"0.5rem"}}," Pair your uploaded .csv file's team names to your in-house league's team names. ",-1)),n(m,{style:{"margin-top":"2rem"}},{default:o(()=>[n(u,{modelValue:a.showUnmappedOnly,"onUpdate:modelValue":e[0]||(e[0]=y=>a.showUnmappedOnly=y)},{default:o(()=>[p(" Show unmapped teams only ("+_(s.unmappedCount)+") ",1)]),_:1},8,["modelValue"])]),_:1}),(d(!0),h(G,null,ue(s.mappedDivisionsFromFile,y=>(d(),x(f,{key:y.id,"model-value":y,"show-unmapped-only":a.showUnmappedOnly,"onUpdate:modelValue":s.handleUpdate},null,8,["model-value","show-unmapped-only","onUpdate:modelValue"]))),128)),a.showUnmappedOnly&&s.unmappedCount===0?(d(),h("div",ug,[n(v,{class:"has-text-success",icon:["fas","check"],style:{"margin-right":"0.5rem"}}),e[1]||(e[1]=p(" All teams are mapped ",-1))])):k("",!0)])}const mg=ie(og,[["render",cg],["__scopeId","data-v-a4ea1730"]]),fg={components:{SearchableDropdown:gs,ImportDropdownButton:bs},props:{modelValue:{type:Object,required:!0},divisionsFromFile:{type:Array,required:!0},league:{type:Object,required:!0},teamsByDivisionFromFile:{type:Object,required:!0},ageClassificationGenderCombos:{type:Array,default:()=>[]},leagueTeamsByAgeClassificationGenderCombo:{type:Object,required:!0}},emits:["update:modelValue","identifierCleared","hasErrors"],data(){return{clubIdentifier:"",identifierTouched:!0,shouldUseIdentifier:!1,storedClubIdentifier:"",identifierMe
1ssage:"",showUnmappedOnly:!1}},computed:{unmappedCount(){let t=0;return this.ageClassificationGenderCombos.forEach(e=>{this.leagueTeamsByAgeClassificationGenderCombo[e]&&(t+=this.leagueTeamsByAgeClassificationGenderCombo[e].length)}),t-=this.mappedTeams.length,t},mappedTeams(){const t=[];return Object.keys(this.modelValue).forEach(e=>{this.modelValue[e].csvTeam&&t.push(this.modelValue[e].csvTeam)}),t},mappedTeamsByDivision(){const t={};return Object.values(this.modelValue).forEach(e=>{const i=e==null?void 0:e.csvDivision,l=e==null?void 0:e.csvTeam;if(!i||!l)return;const a=i.toLowerCase();t[a]||(t[a]=[]),t[a].push(l)}),t},allTeamsFromFile(){const t=[];return Object.keys(this.teamsByDivisionFromFile).forEach(e=>{this.teamsByDivisionFromFile[e].forEach(i=>{t.push({division:e,team:i})})}),t},divisionCaseMap(){const t={};return this.divisionsFromFile.forEach(e=>{t[e.toLowerCase()]=e}),t}},watch:{clubIdentifier(){this.identifierTouched=!0,this.identifierMessage=""},modelValue(){this.$emit("hasErrors",!this.mappedTeams.length)}},methods:{setIdentifier(){if(!this.clubIdentifier.trim().length){this.shouldUseIdentifier=!1,this.identifierTouched=!1,this.$emit("identifierCleared");return}this.storedClubIdentifier=this.clubIdentifier,this.shouldUseIdentifier=!0;const t=this.unmappedCount,e=this.allTeamsFromFile.map(i=>i.team.indexOf(this.storedClubIdentifier)!==-1?{division:i.division,team:i.team.replace(this.storedClubIdentifier,"").trim(),fullTeam:i.team}:i);if(this.ageClassificationGenderCombos.forEach(i=>{this.leagueTeamsByAgeClassificationGenderCombo[i].forEach(l=>{let a=null;e.some(u=>u.team===l.name?(a=u,!0):!1)&&(this.handleSelectDivisionMapping(l.id,a.division),this.handleSelectTeamMapping(l.id,a.fullTeam))})}),this.unmappedCount){const i=t-this.unmappedCount;this.identifierMessage="".concat(i," team").concat(i===1?"":"s"," mapped so far")}else this.unmappedCount||(this.identifierMessage="All Teams Mapped");this.identifierTouched=!1},handleSelectDivisionMapping(t,e){if(e){const i=Object.assign({},this.modelValue);i[t].csvDivision=e.toLowerCase(),i[t].csvTeam="",this.$emit("update:modelValue",i)}else{const i=Object.assign({},this.modelValue);i[t]={csvDivision:"",csvTeam:""},this.$emit("update:modelValue",i)}},availableTeams(t){if(!t)return[];const e=t.toLowerCase(),i=this.mappedTeamsByDivision[e]||[];return(this.teamsByDivisionFromFile[e]||[]).filter(l=>{let a=!i.includes(l);return this.shouldUseIdentifier&&(a=a&&l.toLowerCase().includes(this.storedClubIdentifier.toLowerCase())),a}).sort()},handleSelectTeamMapping(t,e){if(e){const i=Object.assign({},this.modelValue);i[t].csvTeam=e,this.$emit("update:modelValue",i)}else{const i=Object.assign({},this.modelValue);i[t].csvTeam="",this.$emit("update:modelValue",i)}},numUnmappedTeamsForCombo(t){let e=0;return this.leagueTeamsByAgeClassificationGenderCombo[t].forEach(i=>{this.modelValue[i.id].csvTeam||(e+=1)}),e}}},hg={class:"division-team-mapping"},gg={style:{"align-items":"center",display:"flex","margin-left":"2rem"}},pg={key:0,class:"success-banner"},_g={key:0},yg={class:"is-font-mont has-text-weight-bold is-text-size-5"},vg={key:0,class:"columns"},bg={class:"column"},Cg={class:"column is-narrow arrow-icon"},Sg={class:"column"},kg={class:"column is-narrow arrow-icon"},wg={class:"column"};function Tg(t,e,i,l,a,s){const u=c("b-input"),m=c("b-button"),f=c("b-field"),v=c("b-switch"),y=c("fa-icon"),g=c("ImportDropdownButton"),b=c("b-dropdown-item"),S=c("SearchableDropdown");return d(),h("div",hg,[e[7]||(e[7]=Ut('<div class="is-font-mont has-text-weight-bold is-text-size-4" data-v-1c82fc06>Teams Mapping</div><div class="is-italic has-text-blue-slate-light" style="margin-top:0.5rem;" data-v-1c82fc06> Select the division and team from your import file that matches each team in your travel league. Only games that match one or more of your teams will be imported. </div><div class="is-font-mont has-text-weight-bold" style="margin-top:2rem;" data-v-1c82fc06>Club Identifier to Match</div><div class="is-italic has-text-blue-slate-light" style="margin-top:0.5rem;" data-v-1c82fc06> If the file from the league adds a club name to each of your teams, then specify the name used for your club on each team.<br data-v-1c82fc06>
1<span class="has-text-weight-bold" data-v-1c82fc06>Note:</span> divisions must be set in order to attempt to match the team names </div>',4)),n(f,{style:{"margin-top":"0.5rem"}},{default:o(()=>[n(u,{modelValue:a.clubIdentifier,"onUpdate:modelValue":e[0]||(e[0]=F=>a.clubIdentifier=F),onKeyup:hn(s.setIdentifier,["enter"])},null,8,["modelValue","onKeyup"]),n(m,{type:"is-primary",disabled:!a.identifierTouched,style:{"border-bottom-left-radius":"0","border-top-left-radius":"0"},onClick:s.setIdentifier},{default:o(()=>[...e[2]||(e[2]=[p(" Apply Club Identifier ",-1)])]),_:1},8,["disabled","onClick"]),r("div",gg,_(a.identifierMessage),1)]),_:1}),n(f,{style:{"margin-top":"2rem"}},{default:o(()=>[n(v,{modelValue:a.showUnmappedOnly,"onUpdate:modelValue":e[1]||(e[1]=F=>a.showUnmappedOnly=F)},{default:o(()=>[p(" Show unmapped teams only ("+_(s.unmappedCount)+") ",1)]),_:1},8,["modelValue"])]),_:1}),a.showUnmappedOnly&&s.unmappedCount===0?(d(),h("div",pg,[n(y,{class:"has-text-success",icon:["fas","check"],style:{"margin-right":"0.5rem"}}),e[3]||(e[3]=p(" All teams are mapped ",-1))])):k("",!0),(d(!0),h(G,null,ue(i.ageClassificationGenderCombos,F=>(d(),h("div",{key:F,class:"year-gender-group"},[i.leagueTeamsByAgeClassificationGenderCombo[F]&&(!a.showUnmappedOnly||s.numUnmappedTeamsForCombo(F))?(d(),h("div",_g,[r("div",yg,_(F),1),e[6]||(e[6]=Ut('<div class="columns" style="margin-bottom:0;margin-top:0.25rem;" data-v-1c82fc06><div class="column" data-v-1c82fc06><div class="is-font-mont has-text-weight-semibold" data-v-1c82fc06>Teams in PlayMetrics</div></div><div class="column is-narrow" data-v-1c82fc06><div class="spacer" data-v-1c82fc06></div></div><div class="column" data-v-1c82fc06><div class="is-font-mont has-text-weight-semibold" data-v-1c82fc06>Uploaded CSV File Division</div></div><div class="column is-narrow" data-v-1c82fc06><div class="spacer" data-v-1c82fc06></div></div><div class="column" data-v-1c82fc06><div class="is-font-mont has-text-weight-semibold" data-v-1c82fc06>Uploaded CSV File Team</div></div></div>',1)),(d(!0),h(G,null,ue(i.leagueTeamsByAgeClassificationGenderCombo[F],w=>(d(),h("div",{key:w.id},[!a.showUnmappedOnly||!i.modelValue[w.id].csvTeam?(d(),h("div",vg,[r("div",bg,[n(u,{"model-value":w.name,disabled:""},null,8,["model-value"])]),r("div",Cg,[n(y,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]})]),r("div",Sg,[n(S,{items:i.divisionsFromFile,expanded:"",onChange:C=>s.handleSelectDivisionMapping(w.id,C)},{trigger:o(C=>[n(g,{display:s.divisionCaseMap[i.modelValue[w.id].csvDivision],placeholder:"Select Division",type:C.active?"is-primary":"",expanded:""},null,8,["display","type"])]),default:o(()=>[n(b,{style:{"padding-top":"0.75rem"},onClick:C=>s.handleSelectDivisionMapping(w.id)},{default:o(()=>[...e[4]||(e[4]=[r("span",{class:"is-italic has-text-blue-slate-light"},"No Selection",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items","onChange"])]),r("div",kg,[n(y,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]})]),r("div",wg,[n(S,{items:s.availableTeams(i.modelValue[w.id].csvDivision),expanded:"",disabled:!i.modelValue[w.id].csvDivision,onChange:C=>s.handleSelectTeamMapping(w.id,C)},{trigger:o(C=>[n(g,{display:i.modelValue[w.id].csvTeam,placeholder:"Select Team",type:C.active?"is-primary":"",expanded:""},null,8,["display","type"])]),default:o(()=>[n(b,{style:{"padding-top":"0.75rem"},onClick:C=>s.handleSelectTeamMapping(w.id)},{default:o(()=>[...e[5]||(e[5]=[r("span",{class:"is-italic has-text-blue-slate-light"},"No Selection",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items","disabled","onChange"])])])):k("",!0)]))),128))])):k("",!0)]))),128))])}const xg=ie(fg,[["render",Tg],["__scopeId","data-v-1c82fc06"]]),Fg={components:{SearchableDropdown:gs,ImportDropdownButton:bs},props:{mappingKey:{type:Object,required:!0},possibleValues:{type:Array,required:!0},value:{type:String,default:""},placeholder:{type:String,default:""},errorMessage:{type:String,default:""}},emits:["clearValue","input"],methods:{dropdownButtonType(t,e){return t?"is-danger":e?"is-primary":""}}},Ag={class:"columns option-row"},Mg={class:"column"},Dg={key:0,class:"is-italic has-text-blue-slate-light",style:{"margin-left":"0.25rem"}},Rg={class:"column is-narrow arrow-icon"},Ig={class:"column dropdown-container-column-mapping"};function Eg(t,e,i,l,a,s){const u=c("b-button"),m=c("b-field"),f=c("fa-icon"),v=c("ImportDropdownButton"),y=c("b-dropdown-item"),g=c("SearchableDropdown");return d(),h("div",Ag,[r("div",Mg,[n(m,null,{default:o(()=>[n(u,{disabled:"",expanded:"",class:"column-name"},{default:o(()=>[p(_(i.mappingKey.display)+" ",1),i.mappingKey.required?k("",!0):(d(),h("span",Dg,"(optional)"))]),_:1})]),_:1})]),r("div",Rg,[n(f,{class:"has-text-blue-slate-light",icon:["far","arrow-right"]}
1)]),r("div",Ig,[n(g,{items:i.possibleValues,expanded:"",onChange:e[1]||(e[1]=b=>t.$emit("input",b))},{trigger:o(b=>[n(v,{display:i.value,placeholder:i.placeholder,type:s.dropdownButtonType(!!i.errorMessage,b.active),"error-message":i.errorMessage,expanded:""},null,8,["display","placeholder","type","error-message"])]),default:o(()=>[n(y,{style:{"padding-top":"0.75rem"},onClick:e[0]||(e[0]=b=>t.$emit("clearValue"))},{default:o(()=>[...e[2]||(e[2]=[r("span",{class:"is-italic has-text-blue-slate-light"},"No Selection",-1)])]),_:1})]),_:1},8,["items"])])])}const ql=ie(Fg,[["render",Eg],["__scopeId","data-v-94e73bc5"]]),Vg={components:{"app-mapping-entry":ql},props:{modelValue:{type:Object,required:!0},headersFromFile:{type:Array,required:!0},columns:{type:Array,required:!0},columnTypesFromFile:{type:Object,default:()=>{}}},emits:["update:modelValue","hasErrors"],data(){return{errors:{}}},computed:{headersFromFileByColumn(){return T.invert(this.modelValue)},availableColumnsFromFile(){const t=Object.keys(this.modelValue);return this.headersFromFile.filter(e=>!t.includes(e)).sort()}},watch:{errors:{handler(){let t=!1;Object.keys(this.errors).forEach(e=>{t=t||!!this.errors[e]}),this.$emit("hasErrors",t)},deep:!0}},methods:{handleSelectColumnMapping(t,e){const i=this.headersFromFileByColumn[t];if(i){const{[i]:l,...a}=this.modelValue;e?this.$emit("update:modelValue",{...a,[e]:t}):this.$emit("update:modelValue",a)}else e&&this.$emit("update:modelValue",{...this.modelValue,[e]:t})},messageForField(t){const e=this.headersFromFileByColumn[t.id];if(!e)return this.errors[t.id]!=="required"?(this.errors[t.id]=!1,""):"This is a required column field";const i=this.columnTypesFromFile[e];let l=!1;return Object.keys(t.types).forEach(a=>{i&&i.includes(a)&&(l=!0)}),l=l||t.acceptEmpty&&i.length===0,i&&l?(this.errors[t.id]=!1,""):t.types.date?(this.errors[t.id]="type","Values need to be in a MM/DD/YYYY date format"):t.types.time?(this.errors[t.id]="type","Values need to be in a time format"):t.types.string?(this.errors[t.id]="type","Values cannot be in a ".concat(i[0]," format")):t.types.number?(this.errors[t.id]="type","Values need to be in a number format"):""},markRequired(){let t=!1;this.columns.forEach(e=>{!this.headersFromFileByColumn[e.id]&&e.required&&(this.errors[e.id]="required",t||(this.$refs[e.id][0].$el.scrollIntoView({behavior:"smooth"}),t=!0))})}}},Pg={class:"column-mapping"};function Bg(t,e,i,l,a,s){const u=c("app-mapping-entry");return d(),h("div",Pg,[e[0]||(e[0]=Ut('<div class="is-font-mont has-text-weight-bold is-text-size-4" data-v-c962544a>Column Mapping</div><div class="is-italic has-text-blue-slate-light" style="margin-top:0.5rem;" data-v-c962544a> Map the column names from your import file to the columns required for the import. Map optional column names if they are in your import file. </div><div class="columns" style="margin-bottom:0;margin-top:1rem;" data-v-c962544a><div class="column" data-v-c962544a><div class="is-font-mont has-text-weight-semibold" data-v-c962544a>In PlayMetrics</div></div><div class="column is-narrow" data-v-c962544a><div class="spacer" data-v-c962544a></div></div><div class="column" data-v-c962544a><div class="is-font-mont has-text-weight-semibold" data-v-c962544a>Uploaded CSV File</div></div></div>',3)),(d(!0),h(G,null,ue(i.columns,m=>(d(),x(u,{key:m.id,ref_for:!0,ref:m.id,"mapping-key":m,"possible-values":s.availableColumnsFromFile,value:s.headersFromFileByColumn[m.id],placeholder:"Select Column","error-message":s.messageForField(m),onInput:f=>s.handleSelectColumnMapping(m.id,f),onClearValue:f=>s.handleSelectColumnMapping(m.id)},null,8,["mapping-key","possible-values","value","error-message","onInput","onClearValue"]))),128))])}const qg=ie(Vg,[["render",Bg],["__scopeId","data-v-c962544a"]]),Og={props:{steps:{type:Array,required:!0},currentStepIdx:{type:Number,default:-1},backDisabled:{type:Boolean,default:!1},nextDisabled:{type:Boolean,default:!1},nextLoading:{type:Boolean,default:!1}},emits:["back","next"]},Ug={class:"game-import-footer"},Lg={class:"columns",style:{margin:"0"}},Gg={key:0,class:"step-display is-text-size-5"},Ng={class:"column is-narrow",style:{display:"flex"}};function jg(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-button");return d(),h("div",Ug,[r("div",Lg,[i.steps.length>1?(d(),h("div",Gg," Step "+_(i.currentStepIdx+1)+" of "+_(i.steps.length),1)):k("",!0),e[3]||(e[3]=r("div",{class:"column"},null,-1)),r("div",Ng,[i.currentStepIdx!==0?(d(),x(m,{key:0,class:"button no-focus no-focus--ghost",style:{"margin-right":"24px"},disabled:i.backDisabled,onClick:e[0]||(e[0]=f=>t.$emit("back"))},{default:o(()=>[n(u,{icon:["far","chevron-left"],style:{"margin-right":"1rem"}}),e[2]||(e[2]=r("span",null,"Back",-1))]),_:1},8,["disabled"])):k("",!0),n(m,{class:Ce(["button no-focus",[i.currentStepIdx===i.steps.length-1?"is-success":"is-primary"]]),disabled:i.nextDisabled,loading:i.nextLoading,style:{"min-width":"105px"},onClick:e[1]||(e[1]=f=>t.$emit("next"))},{default:o(()=>[r("span",null,_(i.currentStepIdx===i.steps.length-1?"Finalize":"Next Step"),1),i.currentStepIdx!==i.steps.length-1?(d(),x(u,{key:0,icon:["far","chevron-right"],style:{"margin-left":"1rem"}})):k("",!0)]),_:1},8,["class","disabled","loading"])])])])}const Yg=ie(Og,[["render",jg],["__scopeId","data-v-2885dd8f"]]),zg={components:{FullScreenModal:Pt,PlannerHeader:Js,ImportMappingHeader:Kr,ImportMappingFooter:Yg},props:{steps:{type:Array,default:()=>[]},currentStepIdx:{type:Number,default:-1},name:{type:String,default:""},toolName:{type:String,default:""},backDisabled:{type:Boolean,default:!1},nextDisabled:{type:Boolean,default:!1},nextLoading:{type:Boolean,default:!1},isStepAccessible:{type:Function,default:()=>!1}},emits:["back","click","exit","next"],methods:{show(){this.$refs.modal.show()}
1,dismiss(){this.$refs.modal.dismiss()},scrollToTop(){this.$refs.modal.modalBody().scrollTo(0,0)}}},Hg={class:"content",style:{padding:"4rem"}};function $g(t,e,i,l,a,s){const u=c("PlannerHeader"),m=c("ImportMappingHeader"),f=c("ImportMappingFooter"),v=c("FullScreenModal");return d(),x(v,{ref:"modal"},{header:o(()=>[n(u,{name:i.name,sticky:"","tool-name":i.toolName,onExit:e[0]||(e[0]=y=>t.$emit("exit"))},{"desktop-details":o(()=>[Lt(t.$slots,"desktop-details")]),_:3},8,["name","tool-name"]),i.steps.length>1?(d(),x(m,{key:0,steps:i.steps,"current-step-idx":i.currentStepIdx,"is-step-accessible":i.isStepAccessible,onClick:e[1]||(e[1]=y=>t.$emit("click",y))},null,8,["steps","current-step-idx","is-step-accessible"])):k("",!0)]),footer:o(()=>[n(f,{steps:i.steps,"current-step-idx":i.currentStepIdx,"back-disabled":i.backDisabled,"next-disabled":i.nextDisabled,"next-loading":i.nextLoading,onBack:e[2]||(e[2]=y=>t.$emit("back")),onNext:e[3]||(e[3]=y=>t.$emit("next"))},null,8,["steps","current-step-idx","back-disabled","next-disabled","next-loading"])]),default:o(()=>[r("div",Hg,[Lt(t.$slots,"default")])]),_:3},512)}const Ol=ie(zg,[["render",$g]]),ls=Q({showError:!1}),ut=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Wg=t=>t==="Import Status"||t==="Import Comments";function Ot(t){let e=t||"";return typeof e!="string"&&(e=e.toString()),e.trim()}function gi(t=[],e=""){const i=e.toLowerCase();return t.some(l=>l.toLowerCase()===i)}const Qg={components:{ModalConfirm:Hs,SectionHeader:Ve,GameImportUpdateResolutions:Sh,"app-column-mapping":qg,"app-division-mapping":Om,"app-division-mapping-travel-league":uf,FieldMapping:ch,"app-import-mapping-modal":Ol,"app-summary-modal":Xh,"app-team-mapping":mg,"app-team-mapping-travel-league":xg},props:{league:{type:Object,required:!0}},emits:["refresh"],setup(){const{getTeamBirthYearRange:t,getTeamAgeGroupRange:e,getTeamGradeRange:i}=ji(),l=Se();return{pluralize:Fe,getTeamBirthYearRange:t,getTeamAgeGroupRange:e,getTeamGradeRange:i,toast:l}},data(){return{loading:!0,hasErrors:!1,currentStepIdx:-1,indexOfFurthestMappedStep:-1,previousMappings:null,previousCompletedMappings:null,draft:null,file:null,saveInProgress:!1,parsedCSV:{},localMappedDivisions:{},localMappedTravelTeams:{},fields:null,touched:!1,exiting:!1,gameImportUpdatesInvalid:!0,skipMissingExternalGameIDs:null}},computed:{clubHasAgeClassEnabled(){return this.$store.getters.clubHasAgeGroupClassification(this.effectiveSport)||this.$store.getters.clubHasGradeClassification||this.$store.getters.clubHasBirthYearClassification},leagueName(){return this.league.name},leagueSeasonAgeClass(){const e=this.$store.getters.clubDetails.seasons.find(i=>{var l;return i.id===((l=this.league)==null?void 0:l.season_id)});return e==null?void 0:e.age_class},isInHouseLeague(){return Jt(this.league)},isTravelLeague(){return qi(this.league)},effectiveSport(){return this.league.sport||this.$store.getters.clubSport},isAssignments(){var t;return this.isInHouseLeague&&((t=this.league.extra)==null?void 0:t.enable_game_scheduler)},requireAllMapped(){return this.isAssignments||this.isTravelLeague},hasGamesStep(){var t;return this.isTravelLeague&&((t=this.league.games)==null?void 0:t.length)>0},steps(){const t=[{id:"columns",display:"Column Mapping"}];return(this.league.league_divisions||this.isTravelLeague)&&t.push({id:"divisions",display:"Divisions"}),t.push({id:"teams",display:"Teams"},{id:"fields",display:"".concat(this.getClubSportTerm("Fields"))}),this.hasGamesStep&&t.push({id:"games",display:"Games"}),t},currentStep(){return this.steps[this.currentStepIdx]||{}},gameStepInvalid(){return!this.hasGamesStep||this.currentStep.id!=="games"||this.$refs.summaryModal.saveInProgress?!1:this.gameImportUpdatesInvalid},nextDisabled(){return this.loading||this.saveInProgress||this.hasErrors||this.gameStepInvalid},columns(){var e,i,l;const t=[];return this.isAssignments||t.push({display:"PlayMetrics Game ID",id:"game_id",types:{number:!0},required:!1,acceptEmpty:!0},{display:"External Game ID",id:"league_game_id",types:{string:!0,number:!0},required:!!((e=this.league.extra)!=null&&e.allow_multiple_external_competitions||Object.values(((i=this.previousCompletedMappings)==null?void 0:i.column_mapping)||{}).some(a=>a==="league_game_id")),acceptEmpty:!0,alternateNames:["League System Game ID","Match #","Game #"]}),t.push({display:"Date",id:"date",types:{date:!0},required:!0,acceptEmpty:!0,alternateNames:["Game Date"]},{display:"Start Time",id:"start_time",types:{time:!0},required:!0,acceptEmpty:!0,alternateNames:["Time","Game Time"]}),this.draft.config.duration_column_id==="end_time"?t.push({display:"End Time",id:"end_time",types:{time:!0},required:!0,acceptEmpty:!1}):(this.draft.config.duration_column_id==="game_duration"||!this.draft.duration_column_id&&!this.draft.config.custom_duration&&this.draft.config.use_end_time===!1)&&t.push({display:"Game Duration (in minutes)",id:"game_duration",types:{number:!0},required:!0,acceptEmpty:!1,alternateNames:["Game Duration"]}),(this.league.league_divisions||this.isTravelLeague)&&t.push({display:"Division Name",id:"division_name",types:{string:!0,number:!0},required:!0,acceptEmpty:!1,alternateNames:["Division"]}),this.draft.config.separate_facility_column&&t.push({display:"Facility Name",id:"facility_name",types:{string:!0},required:!0,acceptEmpty:!1,alternateNames:["Facility","Complex"]}),t.push({display:"".concat(this.getClubSportTerm("Field")," Name"),id:"field_name",types:{string:!0,number:!0},required:!0,acceptEmpty:!0,alternateNames:[this.getClubSportTerm("Field"),"Location","Venue"]},{display:"Home Team Name",id:"home_name",types:{string:!0},required:!0,acceptEmpty:!1,alternateNames:["Home Team"]}),this.isAssignments||t.push({display:"Home Team Score",id:"home_score",types:{number:!0},required:!1,acceptEmpty:!0}),t.push({display:"Away Team Name",id:"away_name",types:{string:!0},required:!0,acceptEmpty:!1,alternateNames:["Away Team"]}),this.isAssignments||t.push({display:"Away Team Score",id:"away_score",types:{number:!0},required:!1,acceptEmpty:!0},{display:"Game Status",id:"game_status",types:{string:!0},required:!1,acceptEmpty:!0,alternateNames:["Status"]}),(l=this.league.extra)!=null&&l.allow_multiple_external_competitions&&t.push({display:"Competition Name",id:"competition_name",types:{string:!0},required:!0,acceptEmpty:!1,alternateNames:["Competition"]}),t},headersFromFile(){var t,e;return(((e=(t=this.parsedCSV)==null?void 0:t.meta)==null?void 0:e.fields)||[]).filter(i=>!Wg(i))},headersFromFileByColumn(){return T.invert({...this.draft.config.column_mapping})},columnTypesFromFile(){const t={};
1return this.headersFromFile.forEach(e=>{t[e]=[]}),this.parsedCSV.data.forEach(e=>{this.headersFromFile.forEach(i=>{const l=typeof e[i];let a;l==="number"?a=l:l==="string"&&(ft.canValueBeConvertedToADate(e[i])?a="date":ft.canValueBeConvertedToATime(e[i])?a="time":a=l),a&&t[i].indexOf(a)===-1&&t[i].push(a)})}),t},divisionsFromFile(){const t=[],e=this.headersFromFileByColumn.division_name;return this.parsedCSV&&this.parsedCSV.data&&this.parsedCSV.data.forEach(i=>{const l=Ot(i[e]);l&&!t.includes(l)&&!gi(t,l)&&t.push(l)}),t},divisionsFromFileLowerCased(){return this.divisionsFromFile.map(t=>t.toLowerCase())},teamsByDivisionFromFile(){const t={},e=this.headersFromFileByColumn.division_name;return this.parsedCSV.data.forEach(i=>{const l=Ot(i[e]).toLowerCase();t[l]||(t[l]=[]);const a=t[l];["home_name","away_name"].forEach(s=>{const u=Ot(i[this.headersFromFileByColumn[s]]);u&&!a.includes(u)&&a.push(u)})}),t},separatedFieldsFromFile(){const t=[],e=[],i=this.headersFromFileByColumn.division_name,l=this.draft.config.division_mapping||{};return this.parsedCSV.data.forEach(a=>{let s=Ot(a[this.headersFromFileByColumn.field_name]);if(this.draft.config.separate_facility_column){const u=Ot(a[this.headersFromFileByColumn.facility_name]);u&&(s="".concat(u," ").concat(s))}if(s){const u=Ot(a[i]),m=l[u]||l[u.toLowerCase()];if(m){const f=(m==null?void 0:m.team_mapping)||{};["home_name","away_name"].some(v=>{const y=Ot(a[this.headersFromFileByColumn[v]]);return y&&ut(f,y)&&f[y]>0?(v==="home_name"&&!t.includes(s)&&!gi(t,s)?t.push(s):!e.includes(s)&&!gi(e,s)&&e.push(s),!0):!1})}}}),[t,e]},fieldsFromFile(){return T.union(...this.separatedFieldsFromFile)},fieldsFromFileLowerCased(){return this.fieldsFromFile.map(t=>t.toLowerCase())},leagueDivisionIDs(){return this.league.league_divisions.map(t=>t.id)},lastUpdated(){return this.draft?this.draft.updated_at?Y(this.draft.updated_at).format("MMMM Do, h:mm A"):Y().format("MMMM Do, h:mm A"):""},ageClassificationGenderCombos(){const t=[];if(this.league.league_teams.forEach(e=>{const i=e.team,l=this.clubHasAgeClassEnabled?this.getAgeClassVar(i):i.age_classification_min_year,a="".concat(l," ").concat(this.genderFullWord(i.gender));t.includes(a)||t.push(a)}),this.clubHasAgeClassEnabled){if(this.leagueSeasonAgeClass===Ye)return this.sortByAgeGroup(t);if(this.leagueSeasonAgeClass===je)return this.sortByGrade(t)}return t.sort()},leagueTeamsByAgeClassificationGenderCombo(){const t={};return this.league.league_teams.forEach(e=>{const i=e.team,l=this.clubHasAgeClassEnabled?this.getAgeClassVar(i):i.age_classification_min_year,a="".concat(l," ").concat(this.genderFullWord(i.gender));t[a]||(t[a]=[]),t[a].push(i)}),t},validSkipMissingExternalGameIDs(){return typeof this.skipMissingExternalGameIDs=="boolean"}},watch:{draft:{deep:!0,handler(t,e){e!=null&&(this.touched=!0)}},localMappedDivisions(t,e){Object.keys(e).length&&(this.touched=!0)},localMappedTravelTeams(t,e){Object.keys(e).length&&(this.touched=!0)},gameUpdatesToResolve:{deep:1,handler(){this.draft.config.skip_game_ids=this.gameUpdatesToResolve.reduce((t,e)=>(e.skip===1&&t.push(e.game_id),t),[])}}},beforeUnmount(){this.touched&&(this.currentStep.id==="divisions"&&this.processDivisionMappings(),this.saveDraft())},methods:{async showModal(t){this.$store.commit("setChatHide",!0),this.$refs.modal.show(),this.loading=!0,this.currentStepIdx=-1,this.indexOfFurthestMappedStep=-1,this.previousMappings=null,this.touched=!1,this.exiting=!1;const e=ls.get("club_admin/club_leagues/".concat(this.league.id,"/games/import/mappings")).then(a=>{this.previousMappings=a.data}).catch(()=>{}),i=ls.get("club_admin/club_leagues/".concat(this.league.id,"/games/import/mappings?completed=1")).then(({data:a})=>{this.previousCompletedMappings=a}).catch(()=>{}),l=new Promise((a,s)=>{t.type==="file"?new xm(t.file).process().then(u=>{this.file=u}).catch(u=>{var m;u instanceof os||Un(u,{extra:{league_id:(m=this.league)==null?void 0:m.id}}),this.file=t.file}).finally(()=>{this.draft={config:{step:this.steps[0].id,column_mapping:{},division_mapping:{},team_mapping:{},field_mapping:{},duration_column_id:t.duration_column_id,custom_duration:t.custom_duration,separate_facility_column:!!t.separate_facility_column,skip_game_ids:[],skip_games_missing_external_ids:null}},a(this.file)}):t.type==="draft"?(this.draft=t.draft,Q().get("/club_admin/club_leagues/".concat(this.league.id,"/games/import/").concat(this.draft.id,"/data.csv")).then(u=>{a(u.data)})):s(new Error("Invalid input type: ".concat((t==null?void 0:t.type)||"undefined")))}).then(a=>new Promise((s,u)=>
1{cs.parse(a,{complete:s,download:typeof a=="string",dynamicTyping:!0,error:u,header:!0,worker:!0})})).then(a=>{this.parsedCSV=a});try{await Promise.all([e,i,l,this.fetchFields()]);const a=this.steps.findIndex(u=>{var m;return u.id===((m=this.draft.config)==null?void 0:m.step)}),s=this.league.league_divisions&&!Object.keys(this.draft.config.division_mapping).length;a===-1||a===0||s?this.goToStep(this.steps[0].id):(this.indexOfFurthestMappedStep=a,this.goToStep(this.draft.config.step)),this.loading=!1}catch(a){console.error(a),this.dismissModal()}},dismissModal(t=!1){t&&this.$emit("refresh"),this.$refs.modal.dismiss(),this.$store.commit("setChatHide",!1)},confirmDismiss(t=!1){this.$confirm.showModal({message:"There are outstanding changes that have not been imported. These changes will not be finalized until they are imported.<br><br>Are you sure you want to exit?",title:"Unfinished Changes",type:"is-danger",confirmText:"Exit Without Finishing",icon:"minus-hexagon",onConfirm:()=>{this.exiting=!0,this.draft.id||this.currentStepIdx!==0?(this.currentStep.id==="divisions"&&this.processDivisionMappings(),this.saveDraft().then(()=>this.dismissModal(t))):this.dismissModal(t)}})},fetchFields(){return this.$store.dispatch("fetchClubFields").then(t=>{t.forEach(e=>{e.field=e.display_name}),this.fields=t})},autoMapColumns(){var t;if(ft.autoMapColumns(this.draft.config.column_mapping,(t=this.previousMappings)==null?void 0:t.column_mapping,this.columns,this.headersFromFile),this.headersFromFileByColumn.division_name&&!this.league.league_divisions&&this.isInHouseLeague){const{[this.headersFromFileByColumn.division_name]:e,...i}=this.draft.config.column_mapping;this.draft.config.column_mapping=i}this.columns.forEach(e=>{const i=this.headersFromFileByColumn[e.id];if(!i)return;const l=this.columnTypesFromFile[i];let a=!1;if(Object.keys(e.types).forEach(m=>{l.includes(m)&&(a=!0)}),a=a||e.acceptEmpty&&l.length===0,a)return;const{[i]:s,...u}=this.draft.config.column_mapping;this.draft.config.column_mapping=u})},autoMapDivisionsWithTeams(){var l;if(Object.keys(this.draft.config.division_mapping).length)return;const t=[],e=this.divisionsFromFileLowerCased,i=(l=this.previousMappings)==null?void 0:l.division_mapping;if(i&&e.forEach(a=>{if(ut(i,a)){const s=i[a];this.isTravelLeague?this.draft.config.division_mapping[a]=s:this.leagueDivisionIDs.includes(s.league_division_id)&&!t.includes(s.league_division_id)&&(this.localMappedDivisions[a]=s.league_division_id,t.push(s.league_division_id))}}),this.isTravelLeague){const a=this.$store.getters.clubDetails.config.genders;e.forEach(s=>{if(!ut(this.draft.config.division_mapping,s)){const u={league_division_id:0,gender:"",birth_year:0,age_group:0,grade:0,team_mapping:{}};a.length===1&&(a[0]==="M"?u.gender="Male":a[0]==="F"?u.gender="Female":a[0]==="C"&&(u.gender="Co-ed")),this.draft.config.division_mapping[s]=u}})}else if(this.isInHouseLeague){const a=this.league.league_divisions.filter(s=>!t.includes(s.id));if(a.length===0||Object.keys(this.localMappedDivisions).length===e.length)return;e.forEach(s=>{ut(this.localMappedDivisions,s)||a.filter(u=>u.name.toLowerCase()===s&&this.leagueDivisionIDs.includes(u.id)).filter(u=>!t.includes(u.id)).some(u=>(this.localMappedDivisions[s]=u.id,t.push(u.id),!0))})}},autoMapTeams(){var i,l;const t=this.draft.config.division_mapping,e=this.league.league_teams.filter(a=>!a.team.archived);if(this.isInHouseLeague)if(Object.keys(t).length)Object.entries(t).forEach(([a,s])=>{var y;if(s.team_mapping||(s.team_mapping={}),Object.keys(s.team_mapping).length)return;const u=[],m=this.teamsByDivisionFromFile[a]||[],f=(y=this.previousMappings)==null?void 0:y.division_mapping;if(f&&ut(f,a)){const g=f[a].team_mapping;g&&m.forEach(b=>{if(ut(g,b)){const S=g[b];u.includes(S)||(s.team_mapping[b]=S,u.push(S))}})}const v=e.filter(g=>g.league_division_id===s.league_division_id&&!u.includes(g.team.id)).map(g=>g.team);v.length===0||Object.keys(s.team_mapping).length===m.length||m.forEach(g=>{ut(s.team_mapping,g)||v.filter(b=>b.name.toLowerCase()===g.toLowerCase()).filter(b=>!u.includes(b.id)).some(b=>(s.team_mapping[g]=b.id,u.push(b.id),!0))})});else{const a={};a[""]={league_division_id:0,team_mapping:{}};const s=(i=this.previousMappings)==null?void 0:i.division_mapping;if(s[""]&&s[""].team_mapping){a[""]=s[""];const m={},f=((l=a[""])==null?void 0:l.team_mapping)||{},v=Object.keys(f);v.length>
10&&(this.teamsByDivisionFromFile[""]||[]).forEach(y=>{if(ut(f,y)){m[y]=f[y];return}const g=y.toLowerCase();v.some(b=>b.toLowerCase()===g?(m[y]=f[b],!0):!1)}),a[""].team_mapping=m}const u=e.filter(m=>!m.league_division_id).map(m=>m.team);(this.teamsByDivisionFromFile[""]||[]).forEach(m=>{const f=m.toLowerCase();u.some(v=>f===v.name.toLowerCase()&&!Object.values(a[""].team_mapping).includes(v.id)?(a[""].team_mapping[m]=v.id,!0):!1)}),this.draft.config.division_mapping=a}else if(this.isTravelLeague){const a={};Object.keys(t).forEach(s=>{var v,y;const u=this.leagueSeasonAgeClass;let m="";u===Ye?m=((v=this.$store.getters.clubAgeGroups(this.effectiveSport).find(g=>g.value===t[s].grade))==null?void 0:v.name)||"Unclassified":u===je?m=((y=this.$store.getters.clubGrades.find(g=>g.value===t[s].grade))==null?void 0:y.name)||"Unclassified":m=t[s].birth_year;const f="".concat(m," ").concat(t[s].gender);a[f]||(a[f]=[]),a[f].push(s)}),this.ageClassificationGenderCombos.forEach(s=>{if(a[s]){const u=[];a[s].forEach(m=>{u.push(...this.teamsByDivisionFromFile[m].map(f=>({division:m,team:f})))}),this.leagueTeamsByAgeClassificationGenderCombo[s].forEach(m=>{if(a[s].length===1)this.localMappedTravelTeams[m.id].csvDivision=a[s][0];else{const f=u.filter(v=>v.team.toLowerCase()===m.name.toLowerCase());f.length===1&&(this.localMappedTravelTeams[m.id].csvDivision=f[0].division,this.localMappedTravelTeams[m.id].csvTeam=f[0].team)}if(this.localMappedTravelTeams[m.id].csvDivision){const f=[];Object.keys(this.localMappedTravelTeams).forEach(y=>{this.localMappedTravelTeams[y].csvTeam&&f.push(this.localMappedTravelTeams[y].csvTeam)}),this.teamsByDivisionFromFile[this.localMappedTravelTeams[m.id].csvDivision].filter(y=>!f.includes(y)).map(y=>y.toLowerCase()).includes(m.name.toLowerCase())&&(this.localMappedTravelTeams[m.id].csvTeam=m.name)}})}this.leagueTeamsByAgeClassificationGenderCombo[s]&&this.leagueTeamsByAgeClassificationGenderCombo[s].forEach(u=>{const m=this.localMappedTravelTeams[u.id];if(m&&!m.csvTeam){const f=this.getFileTeamDivisionByName(u.name);f.length===1&&(m.csvDivision=f[0].division,m.csvTeam=f[0].team)}})})}},getFileTeamDivisionByName(t){const e=[];return Object.keys(this.teamsByDivisionFromFile).forEach(i=>{this.teamsByDivisionFromFile[i].forEach(l=>{mt.insensitiveEquals(t,l)&&e.push({division:i,team:l})})}),e},autoMapFields(){var s;const t=this.draft.config.field_mapping;if(Object.keys(t).length)return;const e=[],i=this.fieldsFromFileLowerCased,l=(s=this.previousMappings)==null?void 0:s.field_mapping;l&&i.forEach(u=>{if(ut(l,u)){const m=l[u];e.includes(m)||(t[u]=m,e.push(m))}});const a=this.fields.filter(u=>!e.includes(u.id));a.length===0||Object.keys(t).length===i.length||i.forEach(u=>{ut(t,u)||a.filter(m=>m.field.toLowerCase()===u||m.alternate_names.some(f=>f.toLowerCase()===u)).filter(m=>!e.includes(m.id)).some(m=>(t[u]=m.id,e.push(m.id),!0))})},processDivisionMappings(){if(this.isInHouseLeague){const t=this.draft.config.division_mapping;Object.keys(t).forEach(e=>{ut(this.localMappedDivisions,e)||delete t[e]}
1),Object.entries(this.localMappedDivisions).forEach(([e,i])=>{ut(t,e)?t[e].league_division_id!==i&&(t[e].league_division_id=i,delete t[e].team_mapping):t[e]={league_division_id:i}})}},goToStep(t){const e=this.steps.findIndex(a=>a.id===t);if(e===-1)return;this.$refs.modal.scrollToTop();const i=this.currentStep?this.currentStep.id:"",l=this.draft.config;if(t==="columns"&&(this.skipMissingExternalGameIDs=null),t==="divisions"){if(this.hasErrors=!1,this.isInHouseLeague){const a={};Object.entries(l.division_mapping).forEach(([s,u])=>{a[s]=u.league_division_id}),this.localMappedDivisions=a}}else i==="divisions"&&this.processDivisionMappings();t==="teams"?(this.hasErrors=!Object.keys(this.draft.config.division_mapping).some(a=>!!Object.keys(this.draft.config.division_mapping[a].team_mapping||{}).length),this.isTravelLeague&&(this.localMappedTravelTeams={},this.ageClassificationGenderCombos.forEach(a=>{this.leagueTeamsByAgeClassificationGenderCombo[a]&&this.leagueTeamsByAgeClassificationGenderCombo[a].forEach(s=>{this.localMappedTravelTeams[s.id]||(this.localMappedTravelTeams[s.id]={csvDivision:"",csvTeam:""})})}),Object.entries(l.division_mapping).forEach(([a,s])=>{s.team_mapping&&Object.keys(s.team_mapping).length&&Object.entries(s.team_mapping).forEach(([u,m])=>{this.localMappedTravelTeams[m]&&(this.localMappedTravelTeams[m].csvDivision=a,this.localMappedTravelTeams[m].csvTeam=u)})}))):i==="teams"&&this.isTravelLeague&&(Object.entries(this.localMappedTravelTeams).forEach(([a,s])=>{if(s.csvTeam){const u=l.division_mapping[s.csvDivision];u&&(u.team_mapping[s.csvTeam]=parseInt(a,10))}}),Object.keys(l.division_mapping).forEach(a=>{const s=l.division_mapping[a].team_mapping;s&&Object.keys(s).length&&Object.keys(s).forEach(u=>{(!this.localMappedTravelTeams[s[u]]||!this.localMappedTravelTeams[s[u]].csvTeam)&&delete l.division_mapping[a].team_mapping[u]})})),t==="games"&&this.$refs.summaryModal.performSubmitRequest("summary").then(({data:a})=>{this.$nextTick(()=>{this.$refs.gameImportUpdates.setGameUpdatesToResolve(a.updated_games)})}),this.indexOfFurthestMappedStep<e&&(t==="columns"?this.autoMapColumns():t==="divisions"?this.autoMapDivisionsWithTeams():t==="teams"?(this.league.league_divisions&&this.isInHouseLeague&&this.autoMapDivisionsWithTeams(),this.autoMapTeams(),this.isInHouseLeague?this.hasErrors=!Object.values(this.draft.config.division_mapping).some(a=>Object.values(a.team_mapping||{}).length>0):this.isTravelLeague&&(this.hasErrors=!Object.values(this.localMappedTravelTeams).some(a=>!!a.csvTeam))):t==="fields"&&this.autoMapFields(),this.touched=!0,this.indexOfFurthestMappedStep=e),this.currentStepIdx=e},goToPreviousStep(){if(this.currentStepIdx<=0)return;const t=this.steps[this.currentStepIdx-1].id;this.goToStep(t),this.touched&&this.saveDraft()},async goToNextStep(){if(this.beforeGoToNextStep())if(this.currentStepIdx<this.steps.length-1){const t=this.steps[this.currentStepIdx+1].id;this.touched&&await this.saveDraft(),this.goToStep(t)}else this.$refs.summaryModal.showModal()},beforeGoToNextStep(){const t=this.currentStep?this.currentStep.id:"",e=this.draft.config;if(t==="columns"){const i=T.invert(e.column_mapping);if(this.columns.some(a=>!i[a.id]&&a.required))return this.$refs.columnMapping.markRequired(),!1;if(this.columns.find(a=>a.id==="league_game_id")&&!this.validSkipMissingExternalGameIDs&&this.getCountMissingColumnValue(this.parsedCSV.data,this.headersFromFileByColumn.league_game_id)>0)return this.skipMissingExternalGameIDs=null,this.$refs.modalConfirmExternalIds.showModal({title:"Missing External Game IDs",icon:"exclamation-square",type:"is-warning",confirmText:"Continue",onConfirm:()=>{this.draft.config.skip_games_missing_external_ids=!!this.skipMissingExternalGameIDs,this.goToNextStep()},onCancel:()=>{this.skipMissingExternalGameIDs=null}}),!1}return!0},getAgeClassVar(t){if(this.leagueSeasonAgeClass===Ye){const e=this.getTeamAgeGroupRange(t),i=e[e.length-1];return(i==null?void 0:i.name)||""}if(this.leagueSeasonAgeClass===je){const e=this.getTeamGradeRange(t),i=e[e.length-1];return i!=null&&i.name?i.name==="K"||i.name==="Pre-K"?i.name:"".concat(i.name||"Unclassified"," Grade"):""}return this.leagueSeasonAgeClass===et&&this.getTeamBirthYearRange(t)[0]||""},sortByGrade(t){const e=t.filter(a=>!a.includes("K")),i=t.filter(a=>a.includes("K")),l=e.sort();return i.length===0||(i.sort().reverse(),l.unshift(...i)),l},sortByAgeGroup(t){const e=t.filter(a=>a.split(" ")[0].length<3),l=t.filter(a=>a.split(" ")[0].length===3).sort();return e.length===0||(e.sort(),l.unshift(...e)),l},isNavBarClickable(t){if(this.loading)return!1;const e=t<this.currentStepIdx,i=t===this.currentStepIdx+1,l=this.steps[t].id==="teams"&&this.draft&&Ob
1ject.keys(this.draft.config.division_mapping).some(u=>this.draft.config.division_mapping[u].team_mapping),a=this.steps[t].id==="fields"&&this.draft&&Object.keys(this.draft.config.field_mapping).length,s=t>this.currentStepIdx&&(l||a);return e||!this.hasErrors&&(i||s)},handleNavBarClick(t){this.isNavBarClickable(t)&&this.goToStep(this.steps[t].id)},genderFullWord(t){return t==="M"?"Male":t==="F"?"Female":t==="C"?"Co-ed":""},saveDraft(){if(this.saveInProgress)return Promise.reject();this.saveInProgress=!0;let t;if(this.file)t=ls.doFileUpload(this.file,()=>{},{}).then(e=>ls.post("club_admin/club_leagues/".concat(this.league.id,"/games/import"),{config:this.draft.config,upload_url:e.upload_url})).then(e=>{this.draft=e.data,this.file=null});else{const e={...this.draft.config,step:this.currentStep.id};t=ls.post("club_admin/club_leagues/".concat(this.league.id,"/games/import/").concat(this.draft.id),{config:e}).then(i=>{this.draft=i.data})}return t.catch(e=>{this.toast.error(e.message)}).finally(()=>{this.touched=!1,this.saveInProgress=!1})},getClubSportTerm(t){return this.$store.getters.getClubSportTerm(t)},handleSummaryModalSubmit(){this.touched=!1,this.dismissModal(!0)},getCountMissingColumnValue(t=[],e){return e?t.filter(i=>{const l=i[e];return l===null||l===""}).length:0}}},Jg={key:0,style:{display:"flex"}},Kg={class:"is-font-fira is-italic",style:{"margin-left":"0.25rem"}},Xg={class:"confirm-external-ids-modal"},Zg={class:"block"};function ep(t,e,i,l,a,s){const u=c("spinner"),m=c("app-column-mapping"),f=c("app-division-mapping"),v=c("app-division-mapping-travel-league"),y=c("app-team-mapping"),g=c("app-team-mapping-travel-league"),b=c("FieldMapping"),S=c("GameImportUpdateResolutions"),F=c("app-summary-modal"),w=c("SectionHeader"),C=c("b-radio"),D=c("b-field"),B=c("ModalConfirm"),N=c("app-import-mapping-modal");return d(),x(N,{ref:"modal",steps:s.steps,"current-step-idx":a.currentStepIdx,name:"Game Import","tool-name":s.leagueName,"is-step-accessible":s.isNavBarClickable,"back-disabled":a.saveInProgress,"next-disabled":s.nextDisabled,onClick:s.handleNavBarClick,onBack:s.goToPreviousStep,onNext:s.goToNextStep,onExit:e[16]||(e[16]=M=>s.confirmDismiss(!0))},{"desktop-details":o(()=>[a.draft&&a.draft.id?(d(),h("div",Jg,[e[17]||(e[17]=r("div",{class:"tag is-small is-rounded is-draft"}," Draft ",-1)),r("div",Kg," - Last saved on "+_(s.lastUpdated),1)])):k("",!0)]),default:o(()=>[a.loading||a.exiting?(d(),x(u,{key:0,"loading-message":a.exiting?"Saving and Exiting":""},null,8,["loading-message"])):s.currentStep.id==="columns"?(d(),x(m,{key:1,ref:"columnMapping",modelValue:a.draft.config.column_mapping,"onUpdate:modelValue":e[0]||(e[0]=M=>a.draft.config.column_mapping=M),"headers-from-file":s.headersFromFile,columns:s.columns,"column-types-from-file":s.columnTypesFromFile,onHasErrors:e[1]||(e[1]=M=>a.hasErrors=M)},null,8,["modelValue","headers-from-file","columns","column-types-from-file"])):s.currentStep.id==="divisions"?(d(),h(G,{key:2},[s.isInHouseLeague?(d(),x(f,{key:0,modelValue:a.localMappedDivisions,"onUpdate:modelValue":e[2]||(e[2]=M=>a.localMappedDivisions=M),"divisions-from-file":s.divisionsFromFile,"club-has-age-class-enabled":s.clubHasAgeClassEnabled,league:i.league},null,8,["modelValue","divisions-from-file","club-has-age-class-enabled","league"])):(d(),x(v,{key:1,modelValue:a.draft.config.division_mapping,"onUpdate:modelValue":e[3]||(e[3]=M=>a.draft.config.division_mapping=M),"divisions-from-file":s.divisionsFromFile,"club-has-age-class-enabled":s.clubHasAgeClassEnabled,league:i.league},null,8,["modelValue","divisions-from-file","club-has-age-class-enabled","league"]))],64)):s.currentStep.id==="teams"?(d(),h(G,{key:3},[s.isInHouseLeague?(d(),x(y,{key:0,modelValue:a.draft.config.division_mapping,"onUpdate:modelValue":e[4]||(e[4]=M=>a.draft.config.division_mapping=M),"divisions-from-file":s.divisionsFromFileLowerCased,"teams-by-division-from-file":s.teamsByDivisionFromFile,league:i.league,onHasErrors:e[5]||(e[5]=M=>a.hasErrors=M)},null,8,["modelValue","divisions-from-file","teams-by-division-from-file","league"])):(d(),x(g,{key:1,modelValue:a.localMappedTravelTeams,"onUpdate:modelValue":e[6]||(e[6]=M=>a.localMappedTravelTeams=M),"divisions-from-file":s.divisionsFromFile,"teams-by-division-from-file":s.teamsByDivisionFromFile,"age-classification-gender-combos":s.ageClassificationGenderCombos,"league-teams-by-age-classification-gender-combo":s.leagueTeamsByAgeClassificationGenderCombo,league:i.league,onIdentifierCleared:s.autoMapTeams,onHasErrors:e[7]||(e[7]=M=>a.hasErrors=M)},null,8,["modelValue","divisions-from-file","teams-by-division-from-file","age-classification-gender-combos","league-teams-by-age-classification-gender-combo","league","onIdentifierCleared"]))],64)):s.currentStep.id==="fields"?(d(),x(b,{key:4,modelValue:a.draft.config.field_mapping,"onUpdate:modelValue":e[8]||(e[8]=M=>a.draft.config.field_mapping=M),fields:a.fields,"home-fields-from-file":s.separatedFieldsFromFile[0],"away-fields-from-file":s.separatedFieldsFromFile[1],"require-all-mapped":s.requireAllMapped,league:i.league,onHasErrors:e[9]||(e[9]=M=>a.hasErrors=M),onRefresh:s.fetchFields},null,8,["modelValue","fields","home-fields-from-file","away-fields-from-file","require-all-mapped","league","onRefresh"])):s.currentStep.id==="games"?(d(),x(S,{key:5,ref:"gameImportUpdates",draft:a.draft,games:i.league.games,loading:t.$refs.summaryMo
1dal.saveInProgress,onSkipGameIds:e[10]||(e[10]=M=>a.draft.config.skip_game_ids=M),onInvalid:e[11]||(e[11]=M=>a.gameImportUpdatesInvalid=M)},null,8,["draft","games","loading"])):k("",!0),n(F,{ref:"summaryModal",draft:a.draft,"onUpdate:draft":e[12]||(e[12]=M=>a.draft=M),league:i.league,"step-id":s.currentStep.id||"",onSaveInProgress:e[13]||(e[13]=M=>a.saveInProgress=M),onSubmit:s.handleSummaryModalSubmit},null,8,["draft","league","step-id","onSubmit"]),n(B,{ref:"modalConfirmExternalIds",disabled:!s.validSkipMissingExternalGameIDs},{default:o(()=>[r("div",Xg,[r("div",null,[n(w,{size:"md"},{default:o(()=>[...e[18]||(e[18]=[p(" Games in this import file do not have an External ID ",-1)])]),_:1}),e[21]||(e[21]=r("p",null," If these games were previously imported into the league, duplicate games may be created. ",-1)),n(D,{label:"Select Action"},{default:o(()=>[r("div",Zg,[n(C,{modelValue:a.skipMissingExternalGameIDs,"onUpdate:modelValue":e[14]||(e[14]=M=>a.skipMissingExternalGameIDs=M),"native-value":!1},{default:o(()=>[...e[19]||(e[19]=[p(" Import games with no External IDs ",-1)])]),_:1},8,["modelValue"]),n(C,{modelValue:a.skipMissingExternalGameIDs,"onUpdate:modelValue":e[15]||(e[15]=M=>a.skipMissingExternalGameIDs=M),"native-value":!0},{default:o(()=>[...e[20]||(e[20]=[p(" Skip games with no External IDs ",-1)])]),_:1},8,["modelValue"])])]),_:1})])])]),_:1},8,["disabled"])]),_:1},8,["steps","current-step-idx","tool-name","is-step-accessible","back-disabled","next-disabled","onClick","onBack","onNext"])}const tp=ie(Qg,[["render",ep]]),sp={__name:"LeagueGamesScheduleDeleteModal",emits:["updating","delete"],setup(t,{expose:e,emit:i}){const l=i,a=Se(),s=H(),{gameCount:u,gameIds:m,gameTerm:f,gameTitleTerm:v,isSingleAction:y,triggerNotification:g,notificationMessage:b,showModal:S,getNotificationPostBody:F}=hl(s),w=H(!1);function C(M){w.value=M,l("updating",w.value)}function D(M){return Q().post("/club_admin/games/".concat(M,"/cancel"),F())}async function B(M){return await D(M),Q().delete("/club_admin/games/".concat(M))}async function N(){C(!0);try{const M=await Promise.all(m.value.map(B));a.success("".concat(Fe(M.length,"Game")," Deleted")),l("delete"),s.value.close()}finally{C(!1)}}return e({showModal:S}),(M,I)=>(d(),x(gl,{ref_key:"modal",ref:s,"trigger-notification":$(g),"onUpdate:triggerNotification":I[0]||(I[0]=V=>Ps(g)?g.value=V:null),"notification-message":$(b),"onUpdate:notificationMessage":I[1]||(I[1]=V=>Ps(b)?b.value=V:null),title:"Confirm Delete ".concat($(v)),type:"is-danger",icon:["far","minus-hexagon"],"confirm-button-text":"Delete ".concat($(v)),loading:w.value,onConfirm:N},{"notify-message":o(()=>[I[2]||(I[2]=p(" Notify teams that the ",-1)),$(y)?(d(),h(G,{key:0},[p("game is")],64)):(d(),h(G,{key:1},[p("games are")],64)),I[3]||(I[3]=p(" canceled. ",-1))]),"confirm-message":o(()=>[p("Are you sure that you want to delete the "+_($(f))+"?",1)]),default:o(()=>[p(" You are about to delete "+_($(Fe)($(u),"game"))+". ",1),$(y)?(d(),h(G,{key:0},[p("This game")],64)):(d(),h(G,{key:1},[p("These games")],64)),I[4]||(I[4]=p(" will be canceled and deleted immediately and will no longer display for the teams. ",-1))]),_:1},8,["trigger-notification","notification-message","title","confirm-button-text","loading"]))}},ip={class:"matchup-teams"},ap={__name:"LeagueGamesScheduleRestoreModal",emits:["updating","restore"],setup(t,{expose:e,emit:i}){const l=i,a=Se(),s=H(),{gameCount:u,gameIds:m,gameTerm:f,gameTitleTerm:v,isSingleAction:y,awayTeamName:g,homeTeamName:b,triggerNotification:S,notificationMessage:F,showModal:w,getNotificationPostBody:C}=hl(s),D=H(!1);function B(I){D.value=I,l("updating",D.value)}function N(I){return Q().post("/club_admin/games/".concat(I,"/revive"),C())}async function M(){B(!0);try{const I=await Promise.all(m.value.map(N));a.success("".concat(Fe(I.length,"Game")," Restored")),l("restore"),s.value.close()}finally{B(!1)}}return e({showModal:w}),(I,V)=>(d(),x(gl,{ref_key:"modal",ref:s,"trigger-notification":$(S),"onUpdate:triggerNotification":V[0]||(V[0]=P=>Ps(S)?S.value=P:null),"notification-message":$(F),"onUpdate:notificationMessage":V[1]||(V[1]=P=>Ps(F)?F.value=P:null),title:"Confirm Restore ".concat($(v)),type:"is-primary",icon:["far","calendar-alt"],"confirm-button-text":"Restore ".concat($(v)),loading:D.value,onConfirm:M},ht({"confirm-message":o(()=>[p("Are you sure you want to restore the "+_($(f))+"?",1)]),default:o(()=>[$(y)?(d(),h(G,{key:0},[V[2]||(V[2]=p(" You are about to restore the game for ",-1)),r("span",ip,_($(g))+" at "+_($(b)),1),V[3]||(V[3]=p(". ",-1))],64)):(d(),h(G,{key:1},[p(" You are about to restore "+_($(Fe)($(u),"game"))+". ",1)],64))]),_:2},[$(y)?{name:"notify-message",fn:o(()=>
1[V[4]||(V[4]=p("Notify teams of the game update.",-1))]),key:"0"}:{name:"notify-message",fn:o(()=>[V[5]||(V[5]=p("Notify teams that the games are updated.",-1))]),key:"1"}]),1032,["trigger-notification","notification-message","title","confirm-button-text","loading"]))}},lp=ie(ap,[["__scopeId","data-v-8eff3e66"]]),np={class:"game-details__header-banner"},rp={class:"game-details__header-banner__date-section"},op={class:"game-details__header-banner__date-section__month"},dp={class:"game-details__header-banner__date-section__date"},up={class:"game-details__header-banner__game-description"},cp={class:"columns m-0"},mp={class:"column p-0"},fp={key:0,class:"game-details__header-banner__division-row"},hp={class:"game-details__header-banner__division-name"},gp={class:"column is-narrow px-4 py-0"},pp={class:"is-flex"},_p={class:"game-details__header-banner__game-description__team-display"},yp={class:"game-details__header-banner__game-description__team-subtitle"},vp={class:"game-details__header-banner__game-description__team-display"},bp={class:"game-details__header-banner__game-description__team-subtitle"},Cp={class:"game-details__header-banner__game-description__location-and-time"},Sp={class:"mr-2"},kp={class:"game-card__time"},wp={__name:"LeagueScheduleCoachGameDetailsModalBanner",props:{game:{type:Object,required:!0},timezone:{type:String,default:""},division:{type:Object,default:null},fieldDisplayName:{type:String,default:""},homeTeam:{type:Object,default:null},awayTeam:{type:Object,default:null}},setup(t){const e=t,{formatDate:i}=Xe(),l=A(()=>i(e.game.start_datetime,"MMM",e.timezone)),a=A(()=>i(e.game.start_datetime,"D",e.timezone)),s=A(()=>"".concat(i(e.game.start_datetime,"h:mm A",e.timezone)," - ").concat(i(e.game.end_datetime,"h:mm A",e.timezone))),u=A(()=>{var y;return(y=e.homeTeam)==null?void 0:y.name}),m=A(()=>e.homeTeam&&"".concat(e.homeTeam.coach_first_name||""," ").concat(e.homeTeam.coach_last_name||"").trim()),f=A(()=>{var y;return(y=e.awayTeam)==null?void 0:y.name}),v=A(()=>e.awayTeam&&"".concat(e.awayTeam.coach_first_name||""," ").concat(e.awayTeam.coach_last_name||"").trim());return(y,g)=>{var F;const b=c("b-tag"),S=c("fa-icon");return d(),h("div",np,[r("div",rp,[r("p",op,_(l.value),1),r("p",dp,_(a.value),1)]),g[2]||(g[2]=r("div",{class:"divider"},null,-1)),r("div",up,[r("div",cp,[r("div",mp,[t.division?(d(),h("div",fp,[n(b,{class:"game-details__header-banner__division-tag",style:it("background-color: ".concat((F=t.division.extra)==null?void 0:F.color)),rounded:""},null,8,["style"]),r("p",hp,_(t.division.name),1)])):k("",!0)]),r("div",gp,[n(ps,{"tag-text":"Game ID: ".concat(t.game.id)},null,8,["tag-text"])])]),r("div",pp,[r("div",null,[r("p",_p,_(f.value),1),r("p",yp,_(v.value),1)]),g[0]||(g[0]=r("div",{class:"game-details__header-banner__game-description__at"}," at ",-1)),r("div",null,[r("p",vp,_(u.value),1),r("p",bp,_(m.value),1)])]),r("div",Cp,[r("div",null,[r("span",Sp,[n(S,{icon:["fas","map-marker-alt"]})]),r("span",null,_(t.fieldDisplayName),1)]),g[1]||(g[1]=r("p",{class:"mr-2 ml-2"},"â¢",-1)),r("p",kp,_(s.value),1)])])])}}},Tp=ie(wp,[["__scopeId","data-v-4b5d6a63"]]),xp={key:0,class:"columns m-0"},Fp={class:"column p-0"},Ap={class:"game-conflict__division-row"},Mp={class:"game-conflict__division-name"},Dp={class:"column is-narrow px-4 py-0"},Rp={class:"game-conflict__location-time"},Ip={class:"mr-2"},Ep={__name:"LeagueScheduleCoachGameDetailsModalConflict",props:{conflictingGame:{type:Object,required:!0},coach:{type:Object,required:!0},fieldsById:{type:Object,default:()=>({})},teamsById:{type:Object,default:()=>({})},divisionsById:{type:Object,default:()=>({})},gameSchedulersById:{type:Object,default:()=>({})},matchupsByGameId:{type:Object,default:()=>({})},gameConflictsFromGameSchedulers:{type:Array,default:()=>[]},isForSecondTeam:{type:Boolean,default:!1}},setup(t){const e=t,i=lt(),{formatDate:l}=Xe(),a=A(()=>Oi(e.fieldsById,e.conflictingGame.field_id)),s=A(()=>{const b=e.fieldsById[e.conflictingGame.field_id];return(b==null?void 0:b.timezone)||i.getters.clubDetails.timezone}),u=A(()=>"".concat(l(e.conflictingGame.start_datetime,"h:mm A",s.value)," - ").concat(l(e.conflictingGame.end_datetime,"h:mm A",s.value))),m=A(()=>{const b=e.teamsById[e.conflictingGame.home_team_id],S=(b.coaches||[]).find(C=>C.head_coach);if(S&&S.id===e.coach.id&&!e.isForSecondTeam)return b;
1const F=e.teamsById[e.conflictingGame.away_team_id],w=(F.coaches||[]).find(C=>C.head_coach);return w&&w.id===e.coach.id?F:{}}),f=A(()=>e.matchupsByGameId[e.conflictingGame.id]&&e.matchupsByGameId[e.conflictingGame.id][0]),v=A(()=>f.value&&e.gameSchedulersById[f.value.game_schedule_id]),y=A(()=>v.value&&e.divisionsById[v.value.league_division_id]),g=A(()=>e.gameConflictsFromGameSchedulers.find(b=>{var S;return b.type===pl&&((S=b.conflicting_game)==null?void 0:S.id)===e.conflictingGame.id}));return(b,S)=>{var C;const F=c("b-tag"),w=c("fa-icon");return d(),h("section",null,[y.value?(d(),h("div",xp,[r("div",Fp,[r("div",Ap,[n(F,{class:"game-conflict__division-tag",style:it("background-color: ".concat((C=y.value.extra)==null?void 0:C.color)),rounded:""},null,8,["style"]),r("p",Mp,_(y.value.name),1)])]),r("div",Dp,[g.value?(d(),x(no,{key:0,"game-conflict":g.value},null,8,["game-conflict"])):k("",!0)])])):k("",!0),n(so,{"display-name":m.value.name,class:"mb-2"},null,8,["display-name"]),r("div",Rp,[r("div",null,[r("span",Ip,[n(w,{icon:["fas","map-marker-alt"]})]),r("span",null,_(a.value),1)]),S[0]||(S[0]=r("p",{class:"mr-2 ml-2"},"â¢",-1)),r("p",null,_(u.value),1)])])}}},Vp=ie(Ep,[["__scopeId","data-v-d2712346"]]),Pp={class:"game-card"},Bp={key:1,class:"game-card__division-row"},qp={class:"game-card__division-name"},Op={class:"game-card__location"},Up={class:"game-card__time"},Lp={class:"game-card__game-id"},Gp={key:0,class:"game-card__details-link game-card__details-link--disabled"},Np={class:"game-card__details-link__conflict-icon"},jp={key:3,class:"game-card__details-link"},Yp={key:0,class:"game-card__details-link__conflict-icon"},zp={__name:"LeagueScheduleCoachGameCard",props:{game:{type:Object,required:!0},division:{type:Object,default:null},fieldsById:{type:Object,default:()=>({})},teamsById:{type:Object,default:()=>({})},overlappingGames:{type:Array,default:null},hideViewDetails:{type:Boolean,default:!1}},emits:["showGameDetailsModal"],setup(t,{emit:e}){const i=t,l=lt(),{formatDate:a}=Xe(),s=A(()=>Oi(i.fieldsById,i.game.field_id)),u=A(()=>{const B=i.fieldsById[i.game.field_id];return(B==null?void 0:B.timezone)||l.getters.clubDetails.timezone}),m=A(()=>"".concat(a(i.game.start_datetime,"h:mm A",u.value)," - ").concat(a(i.game.end_datetime,"h:mm A",u.value))),f=A(()=>i.teamsById[i.game.home_team_id]),v=A(()=>{var B;return(B=f.value)==null?void 0:B.name}),y=A(()=>f.value&&"".concat(f.value.coach_first_name||""," ").concat(f.value.coach_last_name||"").trim()),g=A(()=>i.teamsById[i.game.away_team_id]),b=A(()=>{var B;return(B=g.value)==null?void 0:B.name}),S=A(()=>g.value&&"".concat(g.value.coach_first_name||""," ").concat(g.value.coach_last_name||"").trim()),F=A(()=>{var B;return(B=i.overlappingGames)==null?void 0:B.length}),w=A(()=>F.value?"".concat(Fe(i.overlappingGames.length,"Conflict")):"See Details"),C=e;function D(){C("showGameDetailsModal")}return(B,N)=>{var V;const M=c("b-tag"),I=c("fa-icon");return d(),h("div",Pp,[t.game.canceled_at?(d(),x(ro,{key:0,class:"mb-2"})):k("",!0),t.division?(d(),h("div",Bp,[n(M,{class:"game-card__division-tag",style:it("background-color: ".concat((V=t.division.extra)==null?void 0:V.color)),rounded:""},null,8,["style"]),r("p",qp,_(t.division.name),1)])):k("",!0),r("p",Op,_(s.value),1),r("p",Up,_(m.value),1),r("div",Lp,[n(ps,{"tag-text":"Game ID: ".concat(t.game.id)},null,8,["tag-text"])]),n(la,{class:"game-card__team","display-name":b.value,"display-sub-title":S.value,"tag-text":"A"},null,8,["display-name","display-sub-title"]),n(la,{class:"game-card__team","display-name":v.value,"display-sub-title":y.value,"tag-text":"H"},null,8,["display-name","display-sub-title"]),t.hideViewDetails?(d(),h(G,{key:2},[F.value?(d(),h("div",Gp,[r("span",Np,[n(I,{icon:["fas","exclamation-triangle"]})]),r("span",null,_(w.value),1)])):k("",!0)],64)):(d(),h("div",jp,[F.value?(d(),h("span",Yp,[n(I,{icon:["fas","exclamation-triangle"]})])):k("",!0),r("a",{onClick:D},_(w.value),1)]))])}}},Ul=ie(zp,[["__scopeId","data-v-aaef04af"]]),Hp={components:{CustomDropdown:yl,LeagueScheduleCoachGameCard:Ul},props:{timeRange:{type:Object,required:!0},gridRow:{type:String,required:!0},division:{type:Object,default:null},fieldsById:{type:Object,default:()=>({})},teamsById:{type:Object,default:()=>({})},gameConflicts:{type:Array,default:()=>[]}},computed:{game(){return this.timeRange.events[0]},gridColumn(){return"".concat(this.timeRange.startEndData.startOutOfRange?1:this.timeRange.startEndData.startHourIndex+1," / ").concat(this.timeRange.startEndData.endOutOfRange?-1:this.timeRange.startEndData.endHourIndex+1)},totalWidthPercent(){return 100-(this.timeRange.startEndData.startOutOfRange?0:this.timeRange.startEndData.startPercentShift)+(this.timeRange.startEndData.endOutOfRange?0:this.timeRange.startEndData.endPercentShift)-(this.timeRange.startEndData.numBlocks===0?100:0)},styleForEventBarContainer(){return this.timeRange.startEndData?{"grid-column":this.gridColumn,"grid-row":this.gridRow,"align-items":"flex-end","margin-left":this.timeRange.startEndData.startOutOfRange?0:"".concat(this.timeRange.startEndData.startPercentShift,"%"),"margin-bottom":"calc(6px + (".concat(this.timeRange.level," * 12px))"),transform:"translateX(2px)","z-index":this.timeRange.level
1+2,width:"calc(".concat(this.totalWidthPercent,"% - 3px)")}:"display: none"},styleForEventBar(){return this.timeRange.startEndData?{height:"24px","border-top-left-radius":this.timeRange.startEndData.startOutOfRange?0:"5px","border-bottom-left-radius":this.timeRange.startEndData.startOutOfRange?0:"5px","border-top-right-radius":this.timeRange.startEndData.endOutOfRange?0:"5px","border-bottom-right-radius":this.timeRange.startEndData.endOutOfRange?0:"5px"}:"display: none"},classFromEventType(){const t=this.game.eventType;return t===Qa?"event-bar__current-game":t===Ja?"event-bar__other-team-game":t===Ka?"event-bar__other-coach-game":""}}},$p={class:"event-dropdown-content"};function Wp(t,e,i,l,a,s){const u=c("LeagueScheduleCoachGameCard"),m=c("CustomDropdown");return d(),x(m,{style:it(s.styleForEventBarContainer),"mobile-modal":!1,position:"is-top-left"},{trigger:o(()=>[r("a",{style:it(s.styleForEventBar),class:Ce("event-bar ".concat(s.classFromEventType)),"aria-label":"Expand game"},null,6)]),content:o(()=>[r("div",$p,[n(u,{game:s.game,division:i.division,"fields-by-id":i.fieldsById,"teams-by-id":i.teamsById,"overlapping-games":i.gameConflicts,"hide-view-details":""},null,8,["game","division","fields-by-id","teams-by-id","overlapping-games"])])]),_:1},8,["style"])}const Qp=ie(Hp,[["render",Wp],["__scopeId","data-v-b7471cea"]]),Jp={class:"game-details__modal-body__team-timeline-grid"},Kp={__name:"LeagueScheduleCoachGameDetailsModalTimelineGrid",props:{game:{type:Object,required:!0},timezone:{type:String,default:""},hoursVisible:{type:Array,default:()=>[]},events:{type:Array,default:()=>[]},division:{type:Object,default:null},fieldsById:{type:Object,default:()=>({})},teamsById:{type:Object,default:()=>({})},gameConflicts:{type:Array,default:()=>[]}},setup(t){const e=t,{formatDate:i}=Xe(),l=A(()=>"repeat(".concat(e.hoursVisible.length,", 1fr)")),a=A(()=>{var v;let u="",m="",f=0;return((v=e.events)==null?void 0:v.length)>0&&(f=Math.max(...e.events.map(y=>y.level))),m+=" calc(34px + (".concat(f," * 12px))"),u+="".concat(m," "),u+="2px",u});function s(u){return i(u,"h A",e.timezone)}return(u,m)=>(d(),h("div",Jp,[r("div",{class:"header",style:it({"grid-template-columns":l.value})},[(d(!0),h(G,null,ue(t.hoursVisible,(f,v)=>(d(),h("div",{key:"hour-".concat(v),class:"hour-label"},[r("p",null,_(s(f)),1)]))),128))],4),r("div",{class:"timeline",style:it({"grid-template-columns":l.value,"grid-template-rows":a.value})},[(d(!0),h(G,null,ue(t.hoursVisible,(f,v)=>(d(),h("div",{key:"hour-".concat(v),style:it({"grid-row":"1 / 2","grid-column":"".concat(v+1," / ").concat(v+2)}),class:"background-cell"},[...m[0]||(m[0]=[r("div",null,null,-1)])],4))),128)),(d(!0),h(G,null,ue(t.events,f=>(d(),x(Qp,{key:"".concat(f.type,"-").concat(f.timeKey,"-").concat(f.events[0].id),"time-range":f,"grid-row":"1 / 2",division:t.division,"fields-by-id":t.fieldsById,"teams-by-id":t.teamsById,"game-conflicts":t.gameConflicts},null,8,["time-range","division","fields-by-id","teams-by-id","game-conflicts"]))),128))],4)]))}},Xp=ie(Kp,[["__scopeId","data-v-d149c059"]]),Zp={components:{BaseModal:pt,LeagueScheduleCoachGameDetailsModalBanner:Tp,BaseTabGroup:$s,SchedulerGameDetailsModalScheduleTabLegend:lo,LeagueScheduleCoachGameDetailsModalTimelineGrid:Xp,LeagueScheduleCoachGameDetailsModalConflict:Vp},provide(){return{updateGameConflicts:this.updateGameConflicts}},props:{leagueId:{type:Number,required:!0},fieldsById:{type:Object,default:()=>({})},teamsById:{type:Object,default:()=>({})},divisionsById:{type:Object,default:()=>({})},gameSchedulersById:{type:Object,default:()=>({})},matchupsByGameId:{type:Object,default:()=>({})},isUsingGameScheduler:{type:Boolean,default:!1}},setup(){const t=Se(),e=Vt();return{toast:t,modulesStore:e}},data(){return{game:{},gameConflicts:[],coach:{},activeTab:0,gameConflictsFromGameSchedulers:[],loading:!1}},computed:{isTeamSchedule(){return this.activeTab===0},hasConflicts(){return this.gameConflicts.length>0},tabs(){return this.hasConflicts?[{id:0,name:"Team Schedule"},{id:1,name:"Conflicts",indicator:"warning",count:this.gameConflicts.length}]:[{id:0,name:"Team Schedule"},{id:1,name:"Conflicts"}]},timezone(){const t=this.fieldsById[this.game.field_id];
1return(t==null?void 0:t.timezone)||this.$store.getters.clubDetails.timezone||"America/New_York"},fieldDisplayName(){return Oi(this.fieldsById,this.game.field_id)},matchup(){return this.matchupsByGameId[this.game.id]&&this.matchupsByGameId[this.game.id][0]},gameSchedule(){return this.matchup&&this.gameSchedulersById[this.matchup.game_schedule_id]},division(){return this.gameSchedule&&this.divisionsById[this.gameSchedule.league_division_id]},homeTeam(){return this.teamsById[this.game.home_team_id]},awayTeam(){return this.teamsById[this.game.away_team_id]},coachTeam(){var i,l;const t=(((i=this.homeTeam)==null?void 0:i.coaches)||[]).find(a=>a.head_coach);if(t&&t.id===this.coach.id)return this.homeTeam;const e=(((l=this.awayTeam)==null?void 0:l.coaches)||[]).find(a=>a.head_coach);return e&&e.id===this.coach.id?this.awayTeam:{}},eventsForCoachTeam(){const t=[this.decorateEventWithEventType(this.game,Qa),...this.otherGamesForCoachTeam,...this.otherGamesForCoach];return this.getTimeRangesFromGames(t)},otherGamesForCoachTeam(){return this.coach.games.filter(t=>t.id!==this.game.id&&t.home_team_id&&t.away_team_id&&(t.home_team_id===this.coachTeam.id||t.away_team_id===this.coachTeam.id)&&Dt.tz(t.start_datetime,this.timezone).isSame(this.game.start_datetime,"day")).map(t=>this.decorateEventWithEventType(t,Ja))},otherGamesForCoach(){return this.coach.games.filter(t=>t.id!==this.game.id&&t.home_team_id&&t.away_team_id&&t.home_team_id!==this.coachTeam.id&&t.away_team_id!==this.coachTeam.id&&Dt.tz(t.start_datetime,this.timezone).isSame(this.game.start_datetime,"day")).map(t=>this.decorateEventWithEventType(t,Ka))},timeRangeForIncrement(){let t=8,e=22;const i=Dt(this.game.start_datetime).hours(),l=Dt(this.game.end_datetime).hours();return i<t&&(t=i-1,e=t+14),l+2>e&&(e=l+2),{startTime:"".concat(ze.zeroPad(t),":00"),endTime:"".concat(ze.zeroPad(e),":00")}},hoursVisible(){const t=Dt.tz(this.game.start_datetime,this.timezone).startOf("day"),e=this.timeRangeForIncrement.startTime.split(":"),i=this.timeRangeForIncrement.endTime.split(":");return Nn(t,e,i)},hasEnableConflictCheck(){return Gn(this.$store,this.modulesStore)},showAllowConflict(){return this.hasEnableConflictCheck&&this.isUsingGameScheduler&&!!this.division}},methods:{async show(t,e,i){var l;this.game=t,this.gameConflicts=O.sortBy(e,["start_datetime","id"]),this.coach=i,this.activeTab=((l=this.gameConflicts)==null?void 0:l.length)>0?1:0,this.fetchLeague(),this.$refs.modal.showModal()},async fetchLeague(){if(this.showAllowConflict){this.loading=!0;const e=gt({game_schedulers:{matchups:{field_time_slot:!0,schedule_conflicts:{conflicting:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0},context:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0}},game:{schedule_conflicts:{conflicting:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0},context:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0}}}}}}),i="/club_admin/club_leagues/".concat(this.leagueId,"?populate=").concat(e);let l=[];try{l=(await Q({showError:!1}).get(i)).data.game_schedulers||[]}catch(a){console.error(a),this.toast.error("Failed to get coach conflicts")}finally{this.loading=!1}this.setGameConflictsOnLoad(l)}},decorateEventWithEventType(t,e){return{...t,eventType:e}},getTimeRangesFromGames(t){const e=O.cloneDeep(t),i=O.groupBy(e,s=>{const u=Dt.tz(s.start_datetime,this.timezone),m=Dt.tz(s.end_datetime,this.timezone);return"".concat(u.format("HHmm"),"_").concat(m.format("HHmm"))}),l={[this.game.field_id]:{games:e,games_by_time:i}},a=[{type:"game",fieldName:"games"}];return O.flatten(Object.values(Ln(a,l,this.hoursVisible,Dt(this.game.start_datetime).format(ct),this.timezone)))},setGameConflictsOnLoad(t){if(this.showAllowConflict){const e=_l(t);this.gameConflictsFromGameSchedulers=e}this.gameConflictsFromGameSchedulers=[]},updateGameConflicts(t){this.gameConflicts=[...io(this.gameConflictsFromGameSchedulers,t)]}}},e_={key:1,class:"game-details__modal-body"},t_={class:"game-details__modal-body__tab-row"},s_={key:0,class:"game-details__schedule"},i_={class:"game-details__schedule__team-name"},a_={key:0,class:"game-details__conflicts"},l_={class:"game-details__conflicts__header"},n_={class:"game-details__conflicts__header__icon"},r_={class:"game-details__conflicts__header__title"},o_={class:"game-details__conflicts__body"};function d_(t,e,i,l,a,s){const u=c("LeagueScheduleCoachGameDetailsModalBanner"),m=c("spinner"),f=c("BaseTabGroup"),v=c("SchedulerGameDetailsModalScheduleTabLegend"),y=c("LeagueScheduleCoachGameDetailsModalTimelineGrid"),g=c("fa-icon"),b=c("LeagueScheduleCoachGameDetailsModalConflict"),S=c("EmptyStateComponent"),F=c("BaseModal");return d(),h("div",null,[n(F,{ref:"modal",title:"Game Details","hide-footer":"",class:"coach-game-details-modal"},{"fullwidth-top":o(()=>[a.loading?k("",!0):(d(),x(u,{key:0,game:a.game,timezone:s.timezone,division:s.division,"field-display-name":s.fieldDisplayName,"home-team":s.homeTeam,"away-team":s.awayTeam},null,8,["game","timezone","division","field-display-name","home-team","away-team"]))]),default:o(()=>{var w,C,D,B;return[a.loading?(d(),x(m,{key:0})):(w=a.game)!=null&&w.id?(d(),h("div",e_,[r("div",t_,[n(f,{"active-tab":a.activeTab,"onUpdate:activeTab":e[0]||(e[0]=N=>
1a.activeTab=N),tabs:s.tabs},null,8,["active-tab","tabs"]),s.isTeamSchedule?(d(),x(v,{key:0,class:"mt-3"})):k("",!0)]),s.isTeamSchedule?(d(),h("div",s_,[r("div",null,[r("span",i_,_((C=s.coachTeam)==null?void 0:C.name),1),n(y,{game:a.game,timezone:s.timezone,"hours-visible":s.hoursVisible,events:s.eventsForCoachTeam,division:s.division,"fields-by-id":i.fieldsById,"teams-by-id":i.teamsById,"game-conflicts":a.gameConflicts},null,8,["game","timezone","hours-visible","events","division","fields-by-id","teams-by-id","game-conflicts"])])])):(d(),h(G,{key:1},[s.hasConflicts?(d(),h("section",a_,[r("div",l_,[r("span",n_,[n(g,{icon:["fas","exclamation-triangle"]})]),r("span",r_," Coach Conflict - "+_(((D=a.coach)==null?void 0:D.first_name)||"")+" "+_(((B=a.coach)==null?void 0:B.last_name)||""),1)]),r("div",o_,[(d(!0),h(G,null,ue(a.gameConflicts,(N,M)=>{var I;return d(),x(b,{key:"".concat(N.id,"_").concat(M),"conflicting-game":N,coach:a.coach,"fields-by-id":i.fieldsById,"teams-by-id":i.teamsById,"divisions-by-id":i.divisionsById,"game-schedulers-by-id":i.gameSchedulersById,"matchups-by-game-id":i.matchupsByGameId,"game-conflicts-from-game-schedulers":a.gameConflictsFromGameSchedulers,"is-for-second-team":N.id===((I=a.gameConflicts[M-1])==null?void 0:I.id),class:Ce(["game-details__conflicts__body__conflict",{"with-top-border":M!==0}])},null,8,["conflicting-game","coach","fields-by-id","teams-by-id","divisions-by-id","game-schedulers-by-id","matchups-by-game-id","game-conflicts-from-game-schedulers","is-for-second-team","class"])}),128))])])):(d(),x(S,{key:1,header:"No Games with Coach Conflicts","img-src":"/static/images/empty-states-icons/conflicts-empty-icon.png",class:"mt-4"}))],64))])):k("",!0)]}),_:1},512)])}const u_=ie(Zp,[["render",d_],["__scopeId","data-v-1074e964"]]),c_={components:{FormField:vr,FilterTray:Bt,FilterSection:at,LevelFilter:mo,GenderFilter:rl,BirthYearFilter:ll,AgeGroupFilter:nl,GradeFilter:al,AgeClassifyFilter:co,RegionFilter:fo,SeasonFilter:ho,AdvancedTeamSelection:Yi},props:{coaches:{type:Array,required:!0},searchQuery:{type:String,default:null},showSeasonPlansFilter:{type:Boolean,default:!1},hideSeasons:{type:Boolean,default:!1},isForCoaches:{type:Boolean,default:!0},showHeadCoachesSwitch:{type:Boolean,default:!0},hideRegionFilter:{type:Boolean,default:!1},hideLevelFilter:{type:Boolean,default:!1},hideTeamsFilter:{type:Boolean,default:!1},hideArchivedFilter:{type:Boolean,default:!1},showAsColumn:{type:Boolean,default:!1},showEmptyColumn:{type:Boolean,default:!1},isForSelecting:{type:Boolean,default:!1},seasonId:{type:Number,default:null}},emits:["filtered","filters-cleared"],setup(){const{getTeamBirthYearRange:t,getTeamAgeGroupRange:e,getTeamGradeRange:i,isTeamUnclassified:l}=ji();return{getTeamBirthYearRange:t,getTeamAgeGroupRange:e,getTeamGradeRange:i,isTeamUnclassified:l}},data(){return{viewOnlyHeadCoaches:!1,filters:this.$store.getters.teamsFilters,selectedTitles:[]}},computed:{filterTitle(){return this.showEmptyColumn?"":this.isForCoaches?"Filter Coaches":"Filter Team Staff"},teams(){const t=this.coaches.flatMap(e=>e.teams).filter(e=>!!e);return O.uniqBy(t,"id")},filteredTeams(){return this.teams.filter(t=>this.teamIncluded(t))},normalizedSearchQuery(){return(this.searchQuery||"").toLowerCase()},filtered(){return this.coaches.filter(e=>this.isIncludedBySearch(e)&&(!this.teamsFilterActive||!O.isEmpty(O.intersectionBy(this.filteredTeams,e.teams,"id")))&&(!this.isForCoaches||!this.viewOnlyHeadCoaches||e.head_coach)&&(this.isForCoaches||O.isEmpty(this.selectedTitles)||O.intersection(this.selectedTitles,O.split(e.title,", ")).length>0))},clubRegions(){return this.$store.getters.clubDetails.regions},levels(){return this.$store.getters.clubLevelsForFilter},clubSeasons(){return(this.$store.getters.clubDetails.seasons||[]).filter(t=>this.filters.showArchived||!t.archived)},clubEnabledAgeClassification(){return this.$store.getters.clubHasAgeGroupClassification()||this.$store.getters.clubHasGradeClassification||this.$store.getters.clubHasBirthYearClassification},DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},singleAgeClass(){if(this.seasonId){const t=this.clubSeasons.find(i=>i.id===this.seasonId),e=t==null?void 0:t.age_class;if(e)return e}return O.uniqBy(this.teamSeasons,t=>t.age_class).length===1?this.teamSeasons[0].age_class:""},teamsForSeason(){return this.teams.filter(t=>t.season_id===this.seasonId)},emptySeasonAgeClass(){if(this.teamsForSeason.length===0){const t=this.clubSeasons.find(e=>e.id===this.seasonId);return(t==null?void 0:t.age_class)||""}return""},teamSeasons(){return O.uniqBy(this.teams.map(t=>this.$store.getters.clubSeasonByID(t.season_id)),t=>t.id)},birthYears(){const t=this.teams.filter(i=>We.getTeamAgeClass(i)===et);return O.uniq(t.flatMap(i=>this.getTeamBirthYearRange(i,!0))).filter(i=>!!i).sort()},ageGroups(){const e=this.teams.filter(l=>We.getTeamAgeClass(l)===Ye).flatMap(l=>this.getTeamAgeGroupRange(l,!0)).filter(l=>!!l),i=O.uniqBy(e,l=>l.value);return O.sortBy(i,["value"])},grades(){const e=this.teams.filter(l=>We.getTeamAgeClass(l)===je).flatMap(l=>this.getTeamGradeRange(l,!0)).filter(l=>!!l),i=O.uniqBy(e,l=>l.value);return O.sortBy(i,["value"])},ageClassBySeasonID(){return O.mapValues(O.keyBy(this.teamSeasons,"id"),t=>t.age_class)},customTeamFields(){return this.$store.getters.clubDetails.config.custom_team_fields||[]},customFilterFields(){return this.customTeamFields.filter(e=>e.is_filterable)},titles(){const t=this.coaches.flatMap(e=>O.split(e.title,", ")).filter(e=>!!e);return O.uniq(t)},showAdvancedFilterSection(){return!this.hideTeamsFilter||!this.hideArchivedFilter||this.showSeasonPlansFilter||!O.isEmpty(this.customFilterFields)},filterActive(){return this.isForCoaches&&this.showHeadCoachesSwitch&&this.viewOnlyHeadCoaches||!this.isForCoaches&&this.titleFilterActive||this.teamsFilterActive||this.advancedFiltersActive},teamsFilterActive(){return this.$store.getters.teamsFilterActive},titleFilterActive(){return this.selectedTitles.length>0},advancedFiltersActive(){var t;return!this.hideTeamsFilter&&((t=this.filters.userTeams)==null?void 0:t.length)>0||!this.hideArchivedFilter&&this.filters.showArchived||this.showSeasonPlansFilter&&this.filters.hideTeamsWithPlan||!O.isEmpty(this.customFilterFields)&&!O.isEmpty(this.filters.customExtra)}},watch:{searchQuery(){this.changed()},teams:{deep:1,handler(){this.changed()}},filteredTeams:{deep:1,handler(){this.filterChanged()}},filtered:{deep:1,handler(){this.changed()}}},created(){this.changed()},methods:{isIncludedBySearch(t){var e;return!this.searchQuery||"".concat(t.first_name||""," ").concat(t.last_name||"").toLowerCase().includes(this.normalizedSearchQuery)||((e=t.teams)==null?void 0:e.some(i=>(i==null?void 0:i.name)&&(i==null?void 0:i.name.toLowerCase().includes(this.normalizedSearchQuery))))},teamIncluded(t){let e=t&&(this.hideTeamsFilter||O.isEmpty(this.filters.userTeams)||this.filters.userTeams.includes(t.id))&&(this.hideLevelFilter||O.isEmpty(this.levels)||this.isIncludedByLevel(t))&&(O.isEmpty(this.filters.genders)||this.filters.genders.includes(t.gender))&&this.isIncludedByAgeClass(t)&&!(this.showSeasonPlansFilter&&this.filters.hideTeamsWithPlan&&t.season_plan_id)&&
1(this.hideArchivedFilter||this.filters.showArchived||!t.archived)&&(this.hideRegionFilter||O.isEmpty(this.clubRegions)||O.isEmpty(this.filters.regions)||this.filters.regions.includes(t.club_region_id))&&(this.hideSeasons||O.isEmpty(this.filters.seasons)||this.filters.seasons.includes(t.season_id));return e?(O.forEach(this.customFilterFields,i=>{this.filters.customExtra[i.model]&&(!t.extra.custom||t.extra.custom[i.model]!==this.filters.customExtra[i.model])&&(e=!1)}),e):!1},isIncludedByAgeClass(t){const e=[];return(!O.isEmpty(this.filters.ageGroups)||this.filters.unclassifiedByAgeGroup)&&e.push(this.includedByAgeGroup(t)),(!O.isEmpty(this.filters.birthYears)||this.filters.unclassifiedByBirthYear)&&e.push(this.includedByBirthYear(t)),(!O.isEmpty(this.filters.grades)||this.filters.unclassifiedByGrade)&&e.push(this.includedByGrade(t)),e.length>0?e.some(i=>i):!0},includedByBirthYear(t){var e;if(this.ageClassBySeasonID[t.season_id]!==et)return!1;{const i=this.getTeamBirthYearRange(t,!0),l=new Set(i);return((e=this.filters.birthYears)==null?void 0:e.some(a=>l.has(a)))||this.filters.unclassifiedByBirthYear&&this.isTeamUnclassified(t)}},includedByAgeGroup(t){var e;if(this.ageClassBySeasonID[t.season_id]!==Ye)return!1;{const i=this.getTeamAgeGroupRange(t,!0).map(a=>a.value),l=new Set(i);return((e=this.filters.ageGroups)==null?void 0:e.some(a=>l.has(a)))||this.filters.unclassifiedByAgeGroup&&this.isTeamUnclassified(t)}},includedByGrade(t){var e;if(this.ageClassBySeasonID[t.season_id]!==je)return!1;{const i=this.getTeamGradeRange(t,!0).map(a=>a.value),l=new Set(i);return((e=this.filters.grades)==null?void 0:e.some(a=>l.has(a)))||this.filters.unclassifiedByGrade&&this.isTeamUnclassified(t)}},isIncludedByLevel(t){if(O.isEmpty(this.filters.levels))return!0;const i=this.$store.getters.clubSportConfig(t.sport).levels.find(s=>s.id===t.level_id);return i?Object.values(this.$store.getters.clubMultiSportConfigs()).flatMap(s=>s.levels).filter(s=>s.name===i.name).map(s=>s.id).some(s=>this.filters.levels.includes(s)):!1},changed(){this.$emit("filtered",this.filtered,this.filterActive)},clearFilters(){this.$store.dispatch("clearTeamsFilters").then(()=>{this.filters=this.$store.getters.teamsFilters}),this.viewOnlyHeadCoaches=!1,this.selectedTitles=[],this.$emit("filters-cleared"),this.changed()},filterChanged(){this.$store.commit("setTeamsFilters",this.filters),this.changed()}}},m_=["value"],f_={style:{"margin-bottom":"1rem"}};function h_(t,e,i,l,a,s){const u=c("b-switch"),m=c("FilterSection"),f=c("RegionFilter"),v=c("LevelFilter"),y=c("GenderFilter"),g=c("BirthYearFilter"),b=c("AgeGroupFilter"),S=c("GradeFilter"),F=c("AgeClassifyFilter"),w=c("SeasonFilter"),C=c("b-checkbox"),D=c("b-field"),B=c("AdvancedTeamSelection"),N=c("FormField"),M=c("FilterTray");return d(),x(M,{title:s.filterTitle,"filters-active":s.filterActive,"is-fixed-column":i.showAsColumn,"is-for-selecting":i.isForSelecting,onClearFilters:s.clearFilters},{content:o(()=>[i.showEmptyColumn?k("",!0):(d(),h(G,{key:0},[i.isForCoaches&&i.showHeadCoachesSwitch?(d(),x(m,{key:0},{default:o(()=>[n(u,{modelValue:a.viewOnlyHeadCoaches,"onUpdate:modelValue":e[0]||(e[0]=I=>a.viewOnlyHeadCoaches=I)},{default:o(()=>[...e[17]||(e[17]=[p(" View Only Head Coaches ",-1)])]),_:1},8,["modelValue"])]),_:1})):k("",!0),s.clubRegions&&s.clubRegions.length>0&&!i.hideRegionFilter?(d(),x(f,{key:1,modelValue:a.filters.regions,"onUpdate:modelValue":e[1]||(e[1]=I=>a.filters.regions=I),regions:s.clubRegions,"default-open":!0},null,8,["modelValue","regions"])):k("",!0),s.levels.length>1&&!i.hideLevelFilter?(d(),x(v,{key:2,modelValue:a.filters.levels,"onUpdate:modelValue":e[2]||(e[2]=I=>a.filters.levels=I),levels:s.levels,"default-open":!0},null,8,["modelValue","levels"])):k("",!0),n(y,{modelValue:a.filters.genders,"onUpdate:modelValue":e[3]||(e[3]=I=>a.filters.genders=I),"show-coed":!0,"default-open":!0},null,8,["modelValue"]),s.clubEnabledAgeClassification?(d(),h(G,{key:3},[s.singleAgeClass||s.emptySeasonAgeClass?(d(),h(G,{key:0},[s.singleAgeClass===s.DEFAULT_CLASS_BIRTH_YEAR||s.emptySeasonAgeClass===s.DEFAULT_CLASS_BIRTH_YEAR?(d(),x(g,{key:0,modelValue:a.filters.birthYears,"onUpdate:modelValue":e[4]||(e[4]=I=>a.filters.birthYears=I),context:"teams","birth-years":s.birthYears,"unclassified-by-birth-year":a.filters.unclassifiedByBirthYear,onChecked:e[5]||(e[5]=I=>a.filters.unclassifiedByBirthYear=I)},null,8,["modelValue","birth-years","unclassified-by-birth-year"])):s.singleAgeClass===s.DEFAULT_CLASS_AGE_GROUP||s.emptySeasonAgeClass===s.DEFAULT_CLASS_AGE_GROUP?(d(),x(b,{key:1,modelValue:a.filters.ageGroups,"onUpdate:modelValue":e[6]||(e[6]=I=>a.filters.ageGroups=I),context:"teams","age-groups":s.ageGroups,"unclassified-by-age-group":a.filters.unclassifiedByAgeGroup,onChecked:e[7]||(e[7]=I=>a.filters.unclassifiedByAgeGroup=I)},null,8,["modelValue","age-groups","unclassified-by-age-group"])):s.singleAgeClass===s.DEFAULT_CLASS_GRADE||s.emptySeasonAgeClass===s.DEFAULT_CLASS_GRADE?(d(),x(S,{key:2,modelValue:a.filters.grades,"onUpdate:modelValue":e[8]||(e[8]=I=>a.filters.grades=I),context:"teams",grades:s.grades,"unclassified-by-grade":a.filters.unclassifiedByGrade,onChecked:e[9]||(e[9]=I=>a.filters.unclassifiedByGrade=I)},null,8,["modelValue","grades","unclassified-by-grade"])):k("",!0)],64)):(d(),x(F,{key:1,modelValue:a.filters,"onUpdate:modelValue":e[10]||(e[10]=I=>a.filters=I),context:"teams","birth-years":s.birthYears,grades:s.grades,"age-groups":s.ageGroups},null,8,["modelValue","birth-years","grades","age-groups"]))],64)):(d(),x(g,{key:4,modelValue:a.filters.birthYears,"onUpdate:modelValue":e[11]||(e[11]=I=>a.filters.birthYears=I),context:"teams","birth-years":s.birthYears},null,8,["modelValue","birth-years"])),i.hideSeasons?k("",!0):(d(),x(w,{key:5,modelValue:a.filters.seasons,"onUpdate:modelValue":e[12]||(e[12]=I=>a.filters.seasons=I),seasons:s.clubSeasons},null,8,["modelValue","seasons"])),i.isForCoaches?k("",!0):(d(),x(m,{key:6,collapsible:!0,"filter-active":s.titleFilterActive,label:"Title"},{default:o(()=>[n(D,null,{default:o(()=>[r("div",null,[(d(!0),h(G,null,ue(s.titles,I=>(d(),h("div",{key:I,value:I,class:"field"},[n(C,{modelValue:a.selectedTitles,"onUpdate:modelValue":[e[13]||(e[13]=V=>a.selectedTitles=V),s.changed],"native-value":I},{default:o(()=>[p(_(I),1)]),_:2},1032,["modelValue","native-value","onUpdate:modelValue"])],8,m_))),128))])]),_:1})]),_:1},8,["filter-active"])),s.showAdvancedFilterSection?(d(),x(m,{key:7,collapsible:!0,"filter-active":s.advancedFiltersActive,label:"Advanced"},{default:o(()=>[i.hideTeamsFilter?k("",!0):(d(),x(B,{key:0,modelValue:a.filters.userTeams,"onUpdate:modelValue":e[14]||(e[14]=I=>a.filters.userTeams=I),teams:s.teams,"autocomplete-label":"Filter By Teams"},null,8,["modelValue","teams"])),e[20]||(e[20]=r("br",null,null,-1)),i.hideArchivedFilter?k("",!0):(d(),x(D,{key:1},{default:o(()=>[n(u,{modelValue:a.filters.showArchived,"onUpdate:modelValue":e[15]||(e[15]=I=>a.filters.showArchived=I)},{default:o(()=>[...e[18]||(e[18]=[p(" Include Archived Teams ",-1)])]),_:1},8,["modelValue"])]),_:1})),i.showSeasonPlansFilter?(d(),x(D,{key:2},{default:o(()=>[n(u,{modelValue:a.filters.hideTeamsWithPlan,"onUpdate:modelValue":e[16]||(e[16]=I=>a.filters.hideTeamsWithPlan=I)},{default:o(()=>[...e[19]||(e[19]=[p(" Hide teams with season plan ",-1)])]),_:1},8,["modelValue"])]),_:1})):k("",!0),(d(!0),h(G,null,ue(s.customFilterFields,(I,V)=>(d(),h("div",{key:V},[r("div",f_,[n(N,ja({ref_for:!0},I,{modelValue:a.filters.customExtra[I.model],"onUpdate:modelValue":P=>a.filters.customExtra[I.model]=P,search:!0}),null,16,["modelValue","onUpdate:modelValue"])])]))),128))]),_:1},8,["filter-active"])):k("",!0),Lt(t.$slots,"default")],64))]),_:3},8,["title","filters-active","is-fixed-column","is-for-selecting","onClearFilters"])}const g_=ie(c_,[["render",h_]]),p_={class:"mt-5"},__={class:"ml-3"},y_={__name:"ExportGameCardsModal",props:{matchups:{type:Array,default:()=>[],required:!0},fieldsById:{type:Object,required:!0},league:{type:Object,required:!0}},setup(t,{expose:e}){const i=t,l=H([]),a=A(()=>l.value.map(K=>K.id)),s=H("facility"),u=H(!1),m=A(()=>new Date(O.minBy(i.league.game_schedulers,K=>K.start_date).start_date)),f=A(()=>new Date(O.minBy(i.league.game_schedulers,K=>K.end_date).end_date)),v=A(()=>{var K;return O.uniqBy((K=i.league)==null?void 0:K.game_schedulers.flatMap(j=>j.fields),"id").sort((j,ge)=>(j.display_name||"").localeCompare(ge.display_name))}),y=H({}),g=A(()=>O.keyBy(i.league.league_divisions,"name")),b=A(()=>Object.keys(g.value)),S=H([]),F=H([]),w=H([]),C=A(()=>{var K,j;return((j=(K=i.league)==null?void 0:K.league_teams)==null?void 0:j.map(ge=>ge.team))||[]}),D=A(()=>{var K;return O.keyBy((K=i.league)==null?void 0:K.league_teams,"team_id")}),B=A(()=>S.value.length>0||F.value.length>0||w.value.length>0||!!y.value.start_date||!!y.value.end_date),N=lt(),M=A(()=>{if(!u.value)return[];let K=i.matchups.filter(j=>j.field_id>0&&j.home_team_id>aa&&j.away_team_id>aa&&!j.canceled_at&&!j.deleted_at);if(y.value.start_date||y.value.end_date){const j=N.getters.clubDetails.timezone;if(y.value.start_date){const ge=Y.tz(y.value.start_date,j);K=K.filter(de=>Y.tz(de.start_datetime,j).isSameOrAfter(ge,"day"))}if(y.value.end_date){const ge=Y.tz(y.value.end_date,j);K=K.filter(de=>Y.tz(de.start_datetime,j).isSameOrBefore(ge,"day"))}}if(S.value.length>0){const j=new Set(S.value.map(ge=>{var de;return(de=g.value[ge])==null?void 0:de.id}));K=K.filter(ge=>j.has(D.value[ge.home_team_id].league_division_id))}if(F.value.length>0){const j=new Set(F.value);K=K.filter(ge=>j.has(ge.field_id))}if(w.value.length>0){const j=new Set(w.value);K=K.filter(ge=>j.has(ge.home_team_id)||j.has(ge.away_team_id))}return K});function I(){y.value=[],S.value=[],F.value=[],w.value=[]}const V=A(()=>M.value.map(K=>{const j=i.fieldsById[K.field_id];return{...K,date:ze.formatDate(K.start_datetime,"MMM D, YYYY",j==null?void 0:j.timezone),time:ze.formatDate(K.start_datetime,"h:mma",j==null?void 0:j.timezone),home_team_name:K.home_team_name||K.home_team_display_name,away_team_name:K.away_team_name||K.away_team_display_name,field_name:jn.getFieldDisplay(j,i.fieldsById),field:j}})),P=_e("modal");function E(){u.value=!0,s.value="facility",l.value=[],P.value.showModal()}const X=_e("selectModal");function q(){X.value.showModal()}const he=H(!1),ve=Se(),re=Xa();async function W(){const K="/club_admin/club_leagues/".concat(i.league.id,"/games/export_game_cards"),j={ids:a.value,group_by:s.value};he.value=!0;try{await Q({showError:!1}).post(K,j)}catch(ge){throw ve.error("Error exporting game cards"),ge}finally{he.value=!1}re.openDismissable("Game cards are being exported. You will be notified when completed."),P.value.close()}return e({showModal:E}),(K,j)=>{const ge=c("b-radio"),de=c("b-field"),we=c("b-button"),U=c("b-table-column");return d(),h(G,null,[n($(pt),{ref_key:"modal",ref:P,title:"Export Game Cards"},{footer:o(()=>[n(we,{type:"is-primary",disabled:a.value.length===0,loading:he.value,onClick:W},{default:o(()=>[...j[12]||(j[12]=[p(" Export Game Cards ",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>[j[13]||(j[13]=r("p",{class:"mb-4"},"Game cards will include 4 games to a page with rostered staff only.",-1)),n($(Ve),{size:"md",text:"Select Games",class:"mb-5"}),n($(vl),{type:"Game",objs:l.value,onSelect:q},null,8,["objs"]),r("div",p_,[j[11]||(j[11]=r("h3",{class:"is-font-mont has-text-weight-semibold mb-3"},"Organize game card export by",-1)),r("div",__,[n(de,null,{default:o(()=>[n(ge,{modelValue:s.value,"onUpdate:modelValue":j[0]||(j[0]=ee=>s.value=ee),"native-value":"facility",size:"is-medium"},{default:o(()=>[...j[8]||(j[8]=[p(" Facility ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(de,null,{default:o(()=>[n(ge,{modelValue:s.value,"onUpdate:modelValue":j[1]||(j[1]=ee=>s.value=ee),"native-value":"division",size:"is-medium"},{default:o(()=>[...j[9]||(j[9]=[p(" Division ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(de,null,{default:o(()=>[n(ge,{modelValue:s.value,"onUpdate:modelValue":j[2]||(j[2]=ee=>s.value=ee),"native-value":"game",size:"is-medium"},{default:o(()=>[...j[10]||(j[10]=[p(" Game ",-1)])]),_:1},8,["modelValue"])]),_:1})])])]),_:1},512),n($(bl),{ref_key:"selectModal",ref:X,"filters-active":B.value,"filtered-data":V.value,"initial-ids":a.value,"change-required":"",title:"Export Game Cards",type:"Games","all-data":t.matchups,onSaveSelected:j[7]||(j[7]=ee=>l.value=ee)},{filter:o(()=>[n(Bt,{title:"Filter Games","filters-active":B.value,"is-fixed-column":"",onClearFilters:I},{content:o(()=>[n(Cl,{modelValue:y.value,"onUpdate:modelValue":j[3]||(j[3]=ee=>y.value=ee),"min-date":m.value,"max-date":f.value,title:"Date"},null,8,["modelValue","min-date","max-date"]),n(_o,{modelValue:S.value,"onUpdate:modelValue":j[4]||(j[4]=ee=>S.value=ee),divisions:b.value},null,8,["modelValue","divisions"]),n($(at),{label:"Field"},{default:o(()=>[n(de,null,{default:o(()=>[n($(zi),{modelValue:F.value,"onUpdate:modelValue":j[5]||(j[5]=ee=>F.value=ee),options:v.value,"display-name":ee=>ee.display_name,type:"fields"},null,8,["modelValue","options","display-name"])]),_:1})]),_:1}),n($(at),{collapsible:"","default-open":"","filter-active":w.value.length>0,label:"Team"},{default:o(()=>[n(Yi,{modelValue:w.value,"onUpdate:modelValue":j[6]||(j[6]=ee=>w.value=ee),teams:C.value,placeholder:"Search by Teams..."},null,8,["modelValue","teams"])]),_:1},8,["filter-active"])]),_:1},8,["filters-active"])]),default:o(()=>[n(U,{label:"Date",field:"date"},{default:o(({row:ee})=>[p(_(ee.date),1)]),_:1}),n(U,{label:"Time",field:"time"},{default:o(({row:ee})=>[p(_(ee.time),1)]),_:1}),n(U,{label:"Game ID",field:"id"},{default:o(({row:ee})=>[p(_(ee.id),1)]),_:1}),n(U,{label:"Field Name",field:"field"},{default:o(({row:ee})=>[p(_(ee.field_name),1)]),_:1}),n(U,{label:"Home Team",field:"home_team_name"},{default:o(({row:ee})=>[p(_(ee.home_team_name),1)]),_:1}),n(U,{label:"Away Team",field:"away_team_name"},{default:o(({row:ee})=>[p(_(ee.away_team_name),1)]),_:1})]),_:1},8,["filters-active","filtered-data","initial-ids","all-data"])],64)}}},v_=ie(y_,[["__scopeId","data-v-c9223865"]]),b_={class:"ref-assignor-wrapper"},C_={class:"columns mb-0"},S_={class:"column"},k_={class:"level is-mobile"},w_={class:"level-right"},T_=["disabled"],x_={key:1,class:"columns is-vcentered is-mobile"},F_={class:"column",style:{"overflow-wrap":"break-word","min-width":"0"}},A_={class:"has-text-weight-medium"},M_={class:"has-text-color-faded"},D_={class:"column is-narrow"},R_={key:0,class:"column is-narrow"},I_={class:"column is-narrow"},E_={__name:"RefAssignor",props:{refAssignor:{type:Object,required:!0},refAssignors:{type:Array,required:!0},allAssignorsById:{type:Object,required:!0}},emits:["update:refAssignor","remove","editFacilityAccess"],setup(t,{emit:e}){const i=t,l=e,a=H(T.clone(i.refAssignor)),s=H(!1),u=H({name:!1}),{isAssignrConnected:m}=vo(),f=A(()=>{var I;return(I=i.refAssignor.facility_ids)!=null&&I.length?i.refAssignor.facility_ids.length===1?"1 Facility":"".concat(i.refAssignor.facility_ids.length," Facilities"):"All Facilities"}),v=A(()=>{var I,V;return m.value&&((V=(I=i.allAssignorsById[i.refAssignor.user_id])==null?void 0:I.ref_assignors)==null?void 0:V.length)>0}),y=A(()=>{var V,P;const I=i.allAssignorsById[i.refAssignor.user_id];return(V=I.ref_assignors)!=null&&V.length?((P=I.ref_assignors)==null?void 0:P.flatMap(X=>X.ref_assignor_leagues||[])).some(X=>{var q,he;return X.league_id===((q=i.refAssignor)==null?void 0:q.league_id)&&((he=X.league_assignr_league)==null?void 0:he.assignr_game_sync_enabled)})?"Game Sync On":"Game Sync off":"Not Connected"}),g=A(()=>T.some(u.value)||T.isNull(a.value.user_id)),b=A(()=>{var I;
1return((I=i.refAssignor)==null?void 0:I.user_id)==null}),S=A(()=>T.filter(i.refAssignors,I=>I.display_name.toLowerCase().indexOf(a.value.display_name.toLowerCase())>=0)),F=A(()=>"There are no active ref assignors with the name '".concat(a.value.display_name,"'"));It(()=>i.refAssignor,()=>{a.value=T.clone(i.refAssignor)});function w(I){i.refAssignors.map(V=>V.display_name).includes(I)||(a.value.user_id=null)}function C(){u.value.name=a.value.display_name!==""&&(T.isEmpty(S.value)||a.value.user_id===null)}function D(I){I&&(a.value={display_name:I.display_name,first_name:I.first_name,last_name:I.last_name,email:I.email,user_id:I.id,leagues:I.leagues}),C()}function B(){s.value=!1,u.value={name:!1}}function N(){b.value?l("remove"):(a.value=T.clone(i.refAssignor),B())}function M(){l("update:refAssignor",a.value),B()}return(I,V)=>{const P=c("b-autocomplete"),E=c("b-field"),X=c("b-tag"),q=c("fa-icon"),he=c("b-button"),ve=c("b-dropdown-item"),re=c("b-dropdown");return d(),h("div",b_,[b.value||s.value?(d(),h(G,{key:0},[r("div",C_,[r("div",S_,[n(E,{type:u.value.name?"is-danger":"",message:u.value.name?F.value:"",class:"is-marginless"},{default:o(()=>[n(P,{modelValue:a.value.display_name,"onUpdate:modelValue":[V[0]||(V[0]=W=>a.value.display_name=W),V[1]||(V[1]=W=>w(W))],data:S.value,disabled:s.value,"keep-first":"","open-on-focus":"",field:"display_name",placeholder:"Select a ref assignor...",expanded:"",onBlur:C,onSelect:V[2]||(V[2]=W=>D(W))},{empty:o(()=>[...V[6]||(V[6]=[p("No results found",-1)])]),_:1},8,["modelValue","data","disabled"])]),_:1},8,["type","message"])])]),r("div",k_,[V[7]||(V[7]=r("div",{class:"level-left"},"Â ",-1)),r("div",w_,[r("button",{class:"button is-text is-small",onClick:N},"Cancel"),r("button",{disabled:g.value,class:"button is-primary is-small",style:{"margin-left":"2rem"},onClick:M},_(b.value?"Add User":"Save Changes"),9,T_)])])],64)):(d(),h("div",x_,[r("div",F_,[r("div",A_,_(t.refAssignor.name),1),r("div",M_,_(t.refAssignor.email),1)]),r("div",D_,_(f.value),1),v.value?(d(),h("div",R_,[n(X,{rounded:"",type:"is-light"},{default:o(()=>[p(_(y.value),1)]),_:1})])):k("",!0),r("div",I_,[n(re,{"aria-role":"list",position:"is-bottom-left",onClick:V[5]||(V[5]=He(()=>{},["stop"]))},{trigger:o(()=>[n(he,{"aria-label":"more actions",type:"is-ghost"},{default:o(()=>[n(q,{icon:["fal","ellipsis-h"]})]),_:1})]),default:o(()=>[n(ve,{onClick:V[3]||(V[3]=W=>I.$emit("editFacilityAccess"))},{default:o(()=>[...V[8]||(V[8]=[p(" Manage Facility Access ",-1)])]),_:1}),n(ve,{separator:""}),n(ve,{class:"has-text-danger",onClick:V[4]||(V[4]=W=>I.$emit("remove"))},{default:o(()=>[...V[9]||(V[9]=[p(" Remove Ref Assignor ",-1)])]),_:1})]),_:1})])]))])}}},V_=ie(E_,[["__scopeId","data-v-851ad678"]]);var La;const P_={components:{UpdateRefAssignorFacilityAccessModal:bo,Modal:Qe,RefAssignor:V_},emits:["dismissModal"],setup(){const{escapeHTMLTags:t}=Sl(),e=Se();return{escapeHTMLTags:t,toast:e}},data(){return{league:null,clubRefAssignors:null,leagueRefAssignors:null,hasUpdated:!1}},computed:{loading(){return T.isNull(this.league)||T.isNull(this.clubRefAssignors)||T.isNull(this.leagueRefAssignors)},refAssignorsFiltered(){const t=O.keyBy(this.leagueRefAssignors,"user_id");return this.clubRefAssignors.filter(e=>!t[e.id])},clubRefAssignorsById(){return O.keyBy(this.clubRefAssignors,"id")},isAdding(){return T.some(this.leagueRefAssignors,t=>!t.user_id)}},methods:{showModal(t){this.league=O.cloneDeep(t),this.onOpen(),this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$refs.modal.dismissModal(),this.emitDismiss(t)},emitDismiss(t={refreshData:!1}){this.hasUpdated&&(t.refreshData=!0),this.$emit("dismissModal",t)},onOpen(){this.initializeRefAssignors()},async initializeRefAssignors(){const t=gt({ref_assignor_access:!0,ref_assignrs:{ref_assignor_leagues:{league_assignr_league:!0}}});try{const e=await Q().get("/club_admin/club/ref_assignors?populate=".concat(t)),i=T.sortBy(e.data,["last_name","first_name","email"]);i.forEach(s=>{s.display_name=this.displayName(s)}),this.clubRefAssignors=i;const l=T.keyBy(i,"id"),a=T.sortBy(T.cloneDeep(this.league.ref_assignors||[]),["last_name","first_name","email"]);a.forEach(s=>{s.display_name=this.displayName(s),s.leagues=l[s.user_id].leagues}),this.leagueRefAssignors=a}catch(e){this.toast.error("Error loading ref assignors")}},displayName(t){if(!t)return"";const e=t.first_name||t.last_name?"".concat(t.first_name," ").concat(t.last_name):"â",i=t.email&&t.email!=="Private"?t.email:"";return"".concat(e).concat(i?" - ":"").concat(i)},addRefAssignor(){this.leagueRefAssignors.push({user_id:null,display_name:""})},updateRefAssignor(t,e){this.leagueRefAssignors[t]=e;const i=T.uniqBy(T.map(e.leagues,a=>({id:a.id}
1)).concat({id:this.league.id}),"id"),l="club_admin/club/ref_assignors".concat(e.user_id?"/".concat(e.user_id):"");Q().post(l,{leagues:i}).then(a=>{this.leagueRefAssignors[t]={...e,leagues:a.data.leagues},this.hasUpdated=!0})},removeRefAssignor(t){const e=this.leagueRefAssignors[t];if(!e.user_id){this.leagueRefAssignors.splice(t,1);return}this.$confirm.confirm({title:"Remove Ref Assignor",message:this.escapeHTMLTags(La||(La=ni(["Are you sure you want to remove <b>","</b> from <b>","</b>?"])),e.display_name,this.league.name),confirmText:"Remove Ref Assignor",type:"is-danger",icon:"exclamation-circle",onConfirm:()=>this.doDeleteRefAssignor(t,e)})},doDeleteRefAssignor(t,e){this.leagueRefAssignors.splice(t,1);const i=T.filter(e.leagues,l=>l.id!==this.league.id);return Q().post("club_admin/club/ref_assignors/".concat(e.user_id),{leagues:T.map(i,l=>({id:l.id}))}).then(()=>{this.hasUpdated=!0})},editRefAssignorAccess(t){this.$refs.updateFacilityAccess.showModal(t)},updateLeagueRefAssignor(t){const e=this.leagueRefAssignors.find(i=>i.id===t.id);e.facility_ids=t.facility_ids,this.league.ref_assignors=this.leagueRefAssignors,this.hasUpdated=!0}}},B_={key:0},q_={key:0,style:{"margin-top":"1.5rem"}},O_={style:{"margin-left":"0.25rem","margin-right":"0.5rem"}};function U_(t,e,i,l,a,s){const u=c("RefAssignor"),m=c("fa-icon"),f=c("Modal"),v=c("UpdateRefAssignorFacilityAccessModal");return d(),h("div",null,[n(f,{ref:"modal",title:"Edit Ref Assignors","has-datepicker":!0,"is-all-white":"","modal-class":"modal-allow-overflow",onDismissModal:e[1]||(e[1]=y=>s.emitDismiss())},{default:o(()=>[s.loading?k("",!0):(d(),h("div",B_,[e[3]||(e[3]=r("h2",{class:"title__aside"},"Ref Assignors",-1)),(d(!0),h(G,null,ue(a.leagueRefAssignors,(y,g)=>(d(),h("div",{key:"ref-assignor-".concat(y.user_id)},[n(u,{"ref-assignor":y,"ref-assignors":s.refAssignorsFiltered,"all-assignors-by-id":s.clubRefAssignorsById,"onUpdate:refAssignor":b=>s.updateRefAssignor(g,b),onRemove:b=>s.removeRefAssignor(g),onEditFacilityAccess:b=>s.editRefAssignorAccess(y)},null,8,["ref-assignor","ref-assignors","all-assignors-by-id","onUpdate:refAssignor","onRemove","onEditFacilityAccess"])]))),128)),s.isAdding?k("",!0):(d(),h("div",q_,[r("span",{class:"has-text-primary clickable",onClick:e[0]||(e[0]=y=>s.addRefAssignor())},[r("span",O_,[n(m,{icon:["far","plus"]})]),e[2]||(e[2]=r("span",null,"Add Ref Assignor",-1))])]))]))]),_:1},512),n(v,{ref:"updateFacilityAccess",event:a.league,onRefresh:s.updateLeagueRefAssignor},null,8,["event","onRefresh"])])}const L_=ie(P_,[["render",U_]]),G_={inject:["dateTimeFromHours","checkMatchup","isMatchupChecked"],props:{fields:{type:Array,required:!0},facilityName:{type:String,required:!0},updating:{type:Boolean,required:!0},currentDate:{type:Date,required:!0}},emits:["move","cancel","restore"],computed:{isMobile(){return this.$store.getters.isMobile},isPast(){return Y(this.currentDate).isBefore(Y(),"day")},hasEventDisplayIdColumn(){return this.fields.some(t=>Object.values(t.all_events_by_time_range).some(e=>(e||[]).some(this.eventDisplayId)))}},methods:{getClubSportTerm(t){return this.$store.getters.getClubSportTerm(t)},timeDisplay(t){const e=t.split("_"),i=this.dateTimeFromHours(e[0]).format("h:mmA"),l=this.dateTimeFromHours(e[1]).format("h:mmA");return"".concat(i," â ").concat(l)},fieldDisplay(t,e){const i=t.split("_"),l=parseInt(i[2],10);if(l===0)return null;const a=e.sub_fields.find(s=>s.id===l);return a?a.identifier:"Sub ".concat(this.getClubSportTerm("Field"))},eventDisplayId(t){return Yr.getDisplayGameId(t.game)},filteredEventsForField(t){const e=[];return t.all_time_ranges.forEach(i=>{(t.all_events_by_time_range[i]||[]).forEach(a=>{(a.type==="published"||a.type==="canceled")&&e.push(a)})}),e},isFieldChecked(t){const e=this.filteredEventsForField(t);return e.length>0&&e.every(this.isMatchupChecked)},isFieldCheckboxDisabled(t){return this.filteredEventsForField(t).length===0},checkField(t,e){this.filteredEventsForField(t).forEach(l=>{this.checkMatchup(l,e)})},isClosed(t,e){return t.all_events_by_time_range[e][0].type==="closed"},closureReason(t,e){return t.all_events_by_time_range[e][0].description},overlapsClosed(t,e){const i=e.split("_"),l=i[0],a=i[1];return!!Object.keys(t.closed_by_time||{}).find(u=>{const m=u.split("_"),f=m[0],v=m[1];return f<=l&&v>=a})}}},N_={class:"field-label-columns"},j_={class:"columns is-vcentered"},Y_={class:"column is-narrow checkbox-column"},z_={class:"column"},H_={class:"field-label"},$_={key:0,class:"closed-row-content"},W_={class:"is-font-mont has-text-weight-semibold"}
1,Q_={style:{"margin-right":"0.75rem"}},J_={class:"has-text-color-danger"},K_={key:0},X_={key:1,class:"columns is-vcentered"},Z_={class:"column is-narrow checkbox-column"},ey={class:"column is-narrow details-column"},ty={key:0,class:"column is-narrow details-column"},sy={class:"column",style:{"min-width":"0"}},iy={class:"columns is-vcentered is-multiline"},ay={class:"columns is-vcentered is-mobile"},ly={class:"column is-narrow"},ny={class:"has-text-color-danger",style:{"margin-right":"0.25rem"}},ry={key:1,class:"event-square"},oy={class:"column is-narrow",style:{"min-width":"0","flex-shrink":"1"}},dy={style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},uy={key:1,class:"column is-narrow dropdown-column"},cy={style:{display:"inline-block",width:"1.5rem"}},my={style:{display:"inline-block",width:"1.5rem"}},fy={style:{display:"inline-block",width:"1.5rem"}};function hy(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-tag"),f=c("fa-icon"),v=c("b-button"),y=c("b-dropdown-item"),g=c("b-dropdown");return d(),h("div",null,[(d(!0),h(G,null,ue(i.fields,(b,S)=>(d(),h("div",{key:b.id,style:it({marginBottom:S===i.fields.length-1?0:"2rem"})},[r("div",N_,[r("div",j_,[r("div",Y_,[n(u,{"model-value":s.isFieldChecked(b),disabled:i.updating||s.isFieldCheckboxDisabled(b),"onUpdate:modelValue":F=>s.checkField(b,F)},null,8,["model-value","disabled","onUpdate:modelValue"])]),r("div",z_,[r("p",H_,_(b.display_name),1)])])]),(d(!0),h(G,null,ue(b.all_time_ranges,(F,w)=>(d(),h("div",{key:F,class:Ce(["time-range-row",{"last-row":S===i.fields.length-1&&w===b.all_time_ranges.length-1,"closed-row":s.isClosed(b,F)||s.overlapsClosed(b,F)}])},[(d(!0),h(G,null,ue(b.all_events_by_time_range[F],(C,D)=>(d(),h("div",{key:"event-".concat(D,"-").concat(F)},[C.type==="closed"?(d(),h("div",$_,[r("div",W_,[r("span",Q_,_(s.timeDisplay(F)),1),r("span",J_,_(s.getClubSportTerm("Field"))+" Closure",1)]),s.closureReason(b,F)?(d(),h("p",K_,_(s.closureReason(b,F)),1)):k("",!0)])):(d(),h("div",X_,[r("div",Z_,[n(u,{"model-value":s.isMatchupChecked(C),"native-value":C.id,disabled:i.updating||C.type!=="published"&&C.type!=="canceled","onUpdate:modelValue":B=>s.checkMatchup(C,B)},null,8,["model-value","native-value","disabled","onUpdate:modelValue"])]),r("div",{class:"column is-narrow time-column",style:it(s.isMobile?"padding-bottom: 0; margin-bottom: -0.5rem":"")},_(s.timeDisplay(F)),5),r("div",{class:"column is-narrow field-column",style:it(s.isMobile?"padding-bottom: 0; margin-bottom: -0.5rem":"")},[s.fieldDisplay(F,b)?(d(),x(m,{key:0,class:"sub-field-tag"},{default:o(()=>[p(_(s.fieldDisplay(F,b)),1)]),_:2},1024)):k("",!0)],4),r("div",ey,_(C.game_schedule_name),1),s.hasEventDisplayIdColumn?(d(),h("div",ty,[s.eventDisplayId(C)?(d(),h(G,{key:0},[p("ID: "+_(s.eventDisplayId(C)),1)],64)):k("",!0)])):k("",!0),r("div",sy,[r("div",iy,[r("div",{class:Ce(["column is-narrow event-box",C.type]),style:{"padding-right":"2rem","min-width":"0","flex-shrink":"1"}},[r("div",ay,[r("div",ly,[C.type==="canceled"||C.type==="canceled"?(d(),x(m,{key:0,class:"canceled-event-tag",rounded:""},{default:o(()=>[r("span",ny,[n(f,{icon:["far","ban"]})]),e[0]||(e[0]=r("span",null,"Canceled",-1))]),_:1})):(d(),h("div",ry))]),r("div",oy,[r("div",dy,_(C.display_name),1)])])],2)])]),C.type==="published"||C.type==="canceled"?(d(),h("div",uy,[n(g,{position:"is-bottom-left",disabled:i.updating},{trigger:o(()=>[n(v,{type:"is-text","aria-label":"open game action menu"},{default:o(()=>[n(f,{icon:["far","ellipsis-h"],transform:"grow-2"})]),_:1})]),default:o(()=>[n(y,{class:"has-text-dark",style:{display:"flex","align-items":"center"},onClick:B=>t.$emit("move",C)},{default:o(()=>[r("span",cy,[n(f,{icon:["far","sync-alt"]})]),e[1]||(e[1]=p(" Move Game ",-1))]),_:1},8,["onClick"]),C.type==="published"&&C.game&&!s.isPast?(d(),x(y,{key:0,class:"has-text-danger",style:{display:"flex","align-items":"center"},onClick:B=>t.$emit("cancel",C)},{default:o(()=>[r("span",my,[n(f,{icon:["far","ban"]})]),e[2]||(e[2]=p(" Cancel Game ",-1))]),_:1},8,["onClick"])):k("",!0),C.type==="canceled"&&C.game&&b.all_events_by_time_range[F].length<=1&&!s.isPast?(d(),x(y,{key:1,class:"has-text-primary",style:{display:"flex","align-items":"center"},onClick:B=>t.$emit("restore",C)},{default:o(()=>[r("span",fy,[n(f,{icon:["far","undo"]})]),e[3]||(e[3]=p(" Restore Game ",-1))]),_:1},8,["onClick"])):k("",!0)]),_:2},1032,["disabled"])])):k("",!0)]))]))),128))],2))),128))],4))),128))])}const gy=ie(G_,[["render",hy],["__scopeId","data-v-7be8e162"]]),py={components:{FilterTray:Bt,FilterSection:at,MultipleSelect:zi,SurfaceFilter:xo,TimeRangeFilter:Fo},props:{isGridTab:{type:Boolean,required:!0},facilities:{type:Array,default:()=>[]},searchQuery:{type:String,default:""}},emits:["filters","filtersActive"],data(){return{filters:T.cloneDeep(this.$store.getters.facilityFilters)}},computed:{filtersActive(){return this.$store.getters.facilityFilterActive||this.isGridTab&&this.filters.showEmptyFields}},watch:{searchQuery(){this.filters.searchQuery=this.searchQuery,this.filterChanged()}},created(){this.changed()},methods:{filterChanged(){this.$store.commit("setFacilityFilters",this.filters),this.changed()},async clearFilters(){this.isGridTab&&(this.filters.showEmptyFields=!1,this.$store.commit("setFacilityFilters",this.filters)),await this.$store.dispatch("clearFacilityFilters"),this.filters=T.cloneDeep(this.$store.getters.facilityFilters),this.changed()},changed(){this.$emit("filters",this.filters),this.$emit("filtersActive",this.filtersActive)},getClubSportTerm(t){return this.$store.getters.getClubSportTerm(t)}}};function _y(t,e,i,l,a,s){const u=c("MultipleSelect"),m=c("FilterSection"),f=c("TimeRangeFilter"),v=c("SurfaceFilter"),y=c("b-switch"),g=c("b-field"),b=c("FilterTray");return d(),x(b,{title:"Filter Games","filters-active":s.filtersActive,onClearFilters:s.clearFilters},{content:o(()=>[n(m,{label:"Select Facilities",collapsible:"","default-open":"","filter-active":a.filters.facilities.length>0},{default:o(()=>[e[4]||(e[4]=r("p",null,"Select facilities you want to view for todayâs calendar",-1)),n(u,{modelValue:a.filters.facilities,"onUpdate:modelValue":[e[0]||(e[0]=S=>a.filters.facilities=S),s.filterChanged],options:i.facilities,"display-name":S=>S.name,type:"facilities"},null,8,["modelValue","options","display-name","onUpdate:modelValue"])]),_:1},8,["filter-active"]),i.isGridTab?(d(),x(f,{key:0,modelValue:a.filters.timeRange,"onUpdate:modelValue":[e[1]||(e[1]=S=>a.filters.timeRange=S),s.filterChanged],collapsible:"","default-open":""},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),n(v,{modelValue:a.filters.surfaces,"onUpdate:modelValue":[e[2]||(e[2]=S=>a.filters.surfaces=S),s.filterChanged]},null,8,["modelValue","onUpdate:modelValue"]),i.isGridTab?(d(),x(m,{key:1},{default:o(()=>[n(g,null,{default:o(()=>[n(y,{modelValue:a.filters.showEmptyFields,"onUpdate:modelValue":[e[3]||(e[3]=S=>a.filters.showEmptyFields=S),s.filterChanged]},{default:o(()=>[r("span",null,"Show "+_(s.getClubSportTerm("Fields"))+" without Events",1)]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1})):k("",!0)]),_:1},8,["filters-active","onClearFilters"])}const yy=ie(py,[["render",_y]]),vy="/static/images/icons/upload.svg",by={components:{Modal:Qe,ResourceTag:Ao},props:{subject:{type:String,default:""},hasDraft:{type:Boolean,default:!1},lastUpdated:{type:String,default:""},lastUpdatedBy:{type:String,default:""},sampleCSV:{type:Array,default:()=>[]},message:{type:Object,default:()=>{}},saveDisabled:{type:Boolean,defalut:!1}},emits:["dismissModal","input"],data(){return{file:null,draftStep:!1,importType:""}},computed:{fileName(){return"sample-".concat(this.subject.toLowerCase().replaceAll(" ","-"),"s.csv")},sampleURL(){return"data:text/csv;charset=utf-8,".concat(encodeURIComponent(cs.unparse(this.sampleCSV)))},today(){return Y().format("MMMM Do, h:mm A")}},methods:{showModal(){this.hasDraft&&(this.draftStep=!0),this.file=null,this.importType="file",this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal(),this.$emit("dismissModal")},fileType(t){return ze.fileType(t)},removeFile(){this.file=null},handleContinue(){this.importType==="draft"?this.continueDraft():this.importType==="file"&&(this.draftStep=!1)},startImport(){this.dismissModal(),this.$emit("input",{type:"file",file:this.file})},continueDraft(){this.dismissModal(),this.$emit("input",{type:"draft"})}}},Cy={key:1},Sy={class:"is-italic"},ky={class:"columns"},wy={class:"column is-narrow"},Ty={class:"columns"},xy={class:"column is-narrow"},Fy={class:"column",style:{"padding-left":"0"}},Ay={class:"description-text"},My={key:2},Dy={class:"upload-area"}
1,Ry={key:0,class:"columns selected-file"},Iy={class:"column is-narrow"},Ey={class:"column",style:{"padding-left":"0.5rem"}},Vy={class:"label-text"},Py={class:"description-text"},By={class:"column is-narrow",style:{"align-items":"center",display:"flex"}},qy={key:0,style:{"margin-top":"0.25rem"}},Oy=["href","download"],Uy={key:0},Ly=["disabled"],Gy={key:1},Ny=["disabled"];function jy(t,e,i,l,a,s){const u=c("message-box"),m=c("b-radio"),f=c("ResourceTag"),v=c("fa-icon"),y=c("b-upload"),g=c("b-field"),b=c("Modal");return d(),x(b,{ref:"modal",title:"Import ".concat(i.subject,"s")},{footer:o(()=>[a.draftStep?(d(),h("div",Uy,[r("button",{class:"button is-primary",disabled:!a.importType,onClick:e[5]||(e[5]=(...S)=>s.handleContinue&&s.handleContinue(...S))}," Continue ",8,Ly)])):(d(),h("div",Gy,[r("button",{disabled:!a.file||i.saveDisabled,class:"button is-primary",onClick:e[6]||(e[6]=(...S)=>s.startImport&&s.startImport(...S))}," Continue ",8,Ny)]))]),default:o(()=>[i.message&&i.message.message?(d(),x(u,{key:0,type:"is-cyan",message:i.message.message,icon:{icon:i.message.icon,type:i.message.type}},null,8,["message","icon"])):k("",!0),a.draftStep?(d(),h("div",Cy,[r("div",Sy," A previous "+_(i.subject.toLowerCase())+" import draft exists for this league. How would you like to continue? ",1),r("div",{class:Ce(["box clickable import-option",{"box-selected-outlined":a.importType==="file"}]),style:{"margin-top":"1rem"},onClick:e[1]||(e[1]=S=>a.importType="file")},[r("div",ky,[r("div",wy,[n(m,{modelValue:a.importType,"onUpdate:modelValue":e[0]||(e[0]=S=>a.importType=S),"native-value":"file"},null,8,["modelValue"])]),e[7]||(e[7]=r("div",{class:"column",style:{"padding-left":"0"}},[r("p",{class:"label-text"},"Create a new import"),r("p",{class:"description-text"},"Upload a new file to start a new import")],-1))])],2),r("div",{class:Ce(["box clickable import-option",{"box-selected-outlined":a.importType==="draft"}]),onClick:e[3]||(e[3]=S=>a.importType="draft")},[r("div",Ty,[r("div",xy,[n(m,{modelValue:a.importType,"onUpdate:modelValue":e[2]||(e[2]=S=>a.importType=S),"native-value":"draft"},null,8,["modelValue"])]),r("div",Fy,[e[8]||(e[8]=r("p",{class:"label-text"},"Continue with this draft",-1)),r("p",Ay,"Last modified by "+_(i.lastUpdatedBy)+" on "+_(i.lastUpdated),1)])])],2)])):(d(),h("div",My,[p(" Please provide a .CSV file of the "+_(i.subject.toLowerCase())+"s you'd like to import for this league. ",1),Lt(t.$slots,"instructions",{},void 0,!0),r("div",Dy,[a.file?(d(),h("div",Ry,[r("div",Iy,[n(f,{type:s.fileType(a.file)},null,8,["type"])]),r("div",Ey,[r("p",Vy,_(a.file.name),1),r("p",Py,"Uploaded by "+_("".concat(t.$store.getters.user.first_name," ").concat(t.$store.getters.user.last_name))+" on "+_(s.today),1)]),r("div",By,[n(v,{icon:["far","trash"],class:"clickable",onClick:s.removeFile},null,8,["onClick"])])])):(d(),x(g,{key:1,style:{width:"100%"}},{default:o(()=>[n(y,{modelValue:a.file,"onUpdate:modelValue":e[4]||(e[4]=S=>a.file=S),accept:".csv","drag-drop":""},{default:o(()=>[...e[9]||(e[9]=[r("section",{class:"section upload-content"},[r("div",{class:"content"},[r("img",{class:"upload-icon",src:vy,alt:"upload file"}),r("span",{class:"is-font-mont has-text-weight-bold is-text-size-5",style:{"margin-left":"1rem"}},[p(" Drag .csv file here or "),r("span",{class:"clickable has-text-link",style:{"text-decoration":"underline"}},"browse for .csv file")])])],-1)])]),_:1},8,["modelValue"])]),_:1}))]),a.file?k("",!0):(d(),h("div",qy,[e[10]||(e[10]=p(" Need help? Download a ",-1)),r("a",{href:s.sampleURL,download:s.fileName,target:"_blank",style:{"text-decoration":"underline"}}," sample .csv file",8,Oy),e[11]||(e[11]=p(" to review format guidelines. ",-1))]))]))]),_:3},8,["title"])}const Ll=ie(by,[["render",jy],["__scopeId","data-v-53c4f0c4"]]),Yy={components:{ImportStartOrContinueModal:Ll},props:{importDraft:{type:Object,default:()=>{}},isInHouseLeague:{type:Boolean,required:!0},gameSchedulerEnabled:{type:Boolean,required:!0},lastConfig:{type:Object,default:()=>({})},isMultipleCompetitionsEnabled:{type:Boolean,default:!1}},emits:["import-input"],data(){return{importDurationColumnID:"game_duration",importCustomDuration:null,separateFacilityColumn:!1}},computed:{isAssignments(){return this.isInHouseLeague&&this.gameSchedulerEnabled},importSubject(){return this.isAssignments?"Game Assignment":"Game"},draftLastUpdated(){return this.importDraft?Y(this.importDraft.updated_at).format("MMMM Do, h:mm A"):""},draftLastUpdatedBy(){return this.importDraft?"".concat(this.importDraft.last_modified_by_user.display_name):""},importSampleCSVHeader(){const t=["Date","Start Time"];return this.importDurationColumnID==="game_duration"?t.push("Game Duration (in minutes)"):this.importDurationColumnID==="end_time"&&t.push("End Time"),t.pu
1sh("".concat(this.$store.getters.getClubSportTerm("Field")," Name"),"Division Name","Home Team Name"),this.isAssignments?t.push("Away Team Name"):(t.push("Home Team Score","Away Team Name","Away Team Score"),this.gameSchedulerEnabled&&t.push("Game Status"),t.push("External Game ID")),this.isMultipleCompetitionsEnabled&&t.push("Competition Name"),t},importSampleCSVData(){const t=[[Y().add(-1,"day").format("MM/DD/YYYY"),"5:00 PM"],[Y().format("MM/DD/YYYY"),"5:30 PM"],[Y().add(1,"day").format("MM/DD/YYYY"),"6:00 PM"]];if(this.importDurationColumnID==="game_duration"){const m=["90","","90"];t.forEach((f,v)=>f.push(m[v]))}else if(this.importDurationColumnID==="end_time"){const m=["6:30 PM","7:00 PM","7:30 PM"];t.forEach((f,v)=>f.push(m[v]))}t.forEach(m=>m.push("Central Park 1"));const e=["Division I","",""],i=["RED G","BLUE G","BLUE G"],l=["3","",""],a=["BLUE G","RED G","RED G"],s=["1","",""],u=["","Canceled",""];if(t.forEach((m,f)=>m.push(e[f],i[f])),this.isAssignments?t.forEach((m,f)=>m.push(a[f])):(t.forEach((m,f)=>m.push(l[f],a[f],s[f])),this.gameSchedulerEnabled&&t.forEach((m,f)=>m.push(u[f])),t.forEach(m=>m.push(""))),this.isMultipleCompetitionsEnabled){const m=["State Cup","State Cup","Fall League"];t.forEach((f,v)=>f.push(m[v]))}return t},importSampleCSV(){return[this.importSampleCSVHeader,...this.importSampleCSVData]},importModalDurationOptions(){return[{label:"Game duration column in .CSV file",value:"game_duration"},{label:"Game duration custom value",value:""},{label:"End time column in .CSV file",value:"end_time"}]}},watch:{lastConfig:{immediate:!0,handler(t){t&&(this.separateFacilityColumn=!!(t!=null&&t.separate_facility_column))}}},methods:{showModal(){this.$refs.importModal.showModal()},handleGameImportModalInput(t){let e={...t};t.type==="draft"&&(e={...e,draft:this.importDraft}),e.duration_column_id=this.importDurationColumnID,this.importDurationColumnID===""&&(e.custom_duration=this.importCustomDuration),e.separate_facility_column=this.separateFacilityColumn,this.$emit("import-input",e)}}};function zy(t,e,i,l,a,s){const u=c("b-radio"),m=c("b-field"),f=c("b-input"),v=c("b-switch"),y=c("ImportStartOrContinueModal");return d(),x(y,{ref:"importModal",subject:s.importSubject,"has-draft":!!i.importDraft,"last-updated":s.draftLastUpdated,"last-updated-by":s.draftLastUpdatedBy,"sample-c-s-v":s.importSampleCSV,"save-disabled":a.importDurationColumnID===""&&(!a.importCustomDuration||!(a.importCustomDuration>0)),onInput:e[3]||(e[3]=g=>s.handleGameImportModalInput(g))},{instructions:o(()=>[e[6]||(e[6]=r("div",{class:"label",style:{margin:"2rem 0 1rem"}},"Determine game duration using:",-1)),(d(!0),h(G,null,ue(s.importModalDurationOptions,g=>(d(),x(m,{key:g.name},{default:o(()=>[n(u,{modelValue:a.importDurationColumnID,"onUpdate:modelValue":e[0]||(e[0]=b=>a.importDurationColumnID=b),"native-value":g.value},{default:o(()=>[p(_(g.label),1)]),_:2},1032,["modelValue","native-value"])]),_:2},1024))),128)),a.importDurationColumnID===""?(d(),h(G,{key:0},[e[5]||(e[5]=r("div",{class:"label"},"Game Duration",-1)),n(m,{style:{"align-items":"center"}},{default:o(()=>[n(f,{modelValue:a.importCustomDuration,"onUpdate:modelValue":e[1]||(e[1]=g=>a.importCustomDuration=g),modelModifiers:{number:!0},placeholder:"Duration",type:"number",min:"1",max:"300",style:{width:"90px"}},null,8,["modelValue"]),e[4]||(e[4]=r("p",null,[r("span",{class:"button is-static"},"minutes")],-1))]),_:1})],64)):k("",!0),n(m,null,{default:o(()=>[n(v,{modelValue:a.separateFacilityColumn,"onUpdate:modelValue":e[2]||(e[2]=g=>a.separateFacilityColumn=g)},{default:o(()=>[p(" Separate columns for Facility and "+_(t.$store.getters.getClubSportTerm("Field")),1)]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["subject","has-draft","last-updated","last-updated-by","sample-c-s-v","save-disabled"])}const Hy=ie(Yy,[["render",zy]]),$y={key:0},Wy={__name:"LeagueScheduleCoachGame",props:{game:{type:Object,required:!0},overlappingGames:{type:Array,default:null},teamsById:{type:Object,default:()=>({})},fieldsById:{type:Object,default:()=>({})},divisionsById:{type:Object,default:()=>({})},gameSchedulersById:{type:Object,default:()=>({})},matchupsByGameId:{type:Object,default:()=>({})}},emits:["showGameDetailsModal"],setup(t,{emit:e}){const i=t,{formatDate:l}=Xe(),a=e,s=A(()=>i.matchupsByGameId[i.game.id]&&i.matchupsByGameId[i.game.id][0]),u=A(()=>s.value&&i.gameSchedulersById[s.value.game_schedule_id]),m=A(()=>u.value&&i.divisionsById[u.value.league_division_id]),f=A(()=>{var b;return(b=i.overlappingGames)==null?void 0:b.length}),v=H(null);function y(){v.value.closeDropdown(),a("showGameDetailsModal")}function g(){ns(()=>{ns(()=>{ns(()=>{var w;const b=v.value,S=(w=b==null?void 0:b.$refs.dropdown)==null?void 0:w.$refs.dropdownMenu,F=b==null?void 0:b.$el.querySelector(".game");S&&F&&(S.style.width="246px",ns(()=>{const D=F.getBoundingClientRect(),B=window.scrollX+D.left-.5*(246-F.clientWidth),N=window.scrollY+D.top-4-S.clientHeight;S.style.top="".concat(N,"px"),S.style.left="".concat(B,"px")}))})})})}return Ya(()=>{g()}),(b,S)=>{const F=c("fa-icon");return d(),x(yl,{ref_key:"coachGameDropdown",ref:v,position:"is-top-left","mobile-modal":!1,"hide-close-button":"","append-to-body":"",class:"coach-game",onActiveChange:S[0]||(S[0]=w=>g())},{trigger:o(()=>[r("a",{class:Ce(["game",{"game--canceled":t.game.canceled_at}])},[f.value?(d(),h("span",$y,[n(F,{icon:["fas","exclamation-triangle"],class:"has-text-warning mr-2"})])):k("",!0),p(" "+_($(l)(t.game.start_datetime,"h:mm A")),1)],2)]),content:o(()=>[r("div",null,[n(Ul,{game:t.game,division:m.value,"fields-by-id":t.fieldsById,"teams-by-id":t.teamsById,"overlapping-games":t.overlappingGames,onShowGameDetailsModal:y},null,8,["game","division","fields-by-id","teams-by-id","overlapping-games"])])]),_:1},512)}}},Qy=ie(Wy,[["__scopeId","data-v-bdeb7750"]]),Jy={key:0,class:"league-schedule-coach"},Ky={class:"league-schedule-coach__header"},Xy={class:"league-schedule-coach__days-wrapper"},Zy={class:"league-schedule-coach__days"},ev={class:"league-schedule-coach__day__header"},tv={__name:"LeagueScheduleCoach",props:{coach:{type:Object,required:!0},showCoachConflictsOnly:{type:Boolean,default:!1},teamsById:{type:Object,default:()=>({})},fieldsById:{type:Object,default:()=>({})},divisionsById:{type:Object,default:()=>({})},gameSchedulersById:{type:Object,default:()=>({})},matchupsByGameId:{type:Object,default:()=>({})}},emits:["showGameDetailsModal"],setup(t,{emit:e}){const i=t,{formatDate:l}=Xe(),a=e,s=A(()=>"".concat(i.coach.first_name||""," ").concat(i.coach.last_name||"")),u=A(()=>{const C=i.coach.teams.map(D=>D.name);return O.sortBy(C).join(", ")}),m=A(()=>
1{const C=O.countBy(i.coach.games,"id"),D=Object.keys(C).filter(B=>C[B]>1).map(B=>parseInt(B,10));return O.keyBy(D)}),f=A(()=>i.coach.games.filter(C=>!C.canceled_at)),v=A(()=>{const C={};return f.value.forEach(D=>{const B=f.value.filter(N=>(N.id!==D.id||m.value[N.id])&&ki(N.start_datetime,N.end_datetime,N.field_id,D.start_datetime,D.end_datetime,D.field_id,i.fieldsById));C[D.id]=B}),C});function y(C){const D=v.value[C.id];return(D==null?void 0:D.length)>0}const g=A(()=>i.coach.games.filter(C=>!!C.start_datetime&&!ze.isTbdDate(C.start_datetime)&&(!i.showCoachConflictsOnly||y(C)))),b=A(()=>O.groupBy(g.value,C=>l(C.start_datetime,ct))),S=A(()=>{const C=Object.keys(b.value).filter(D=>!!D&&D!=="null");return O.sortBy(C)}),F=A(()=>{const C=Object.values(b.value).map(D=>D.length);return Math.max(...C)});function w(C){const D=b.value[C];return O.sortBy(D,B=>B.start_datetime)}return(C,D)=>{var B;return(B=g.value)!=null&&B.length?(d(),h("div",Jy,[r("div",Ky,[n(Ve,{text:s.value,size:"sm",class:"m-0"},null,8,["text"]),r("span",null,_(u.value),1)]),r("div",Xy,[r("div",Zy,[(d(!0),h(G,null,ue(S.value,N=>(d(),h("div",{key:N,class:"league-schedule-coach__day"},[r("div",ev,_($(l)(N,"MMM D")),1),(d(!0),h(G,null,ue(w(N),(M,I)=>(d(),x(Qy,{key:"".concat(M.id,"_").concat(I),game:M,"overlapping-games":v.value[M.id],"teams-by-id":t.teamsById,"fields-by-id":t.fieldsById,"divisions-by-id":t.divisionsById,"game-schedulers-by-id":t.gameSchedulersById,"matchups-by-game-id":t.matchupsByGameId,class:Ce(["league-schedule-coach__day__game",{"league-schedule-coach__day__game--bottom":I===F.value-1}]),onShowGameDetailsModal:V=>a("showGameDetailsModal",M,v.value[M.id],t.coach)},null,8,["game","overlapping-games","teams-by-id","fields-by-id","divisions-by-id","game-schedulers-by-id","matchups-by-game-id","class","onShowGameDetailsModal"]))),128))]))),128))])])])):k("",!0)}}},sv=ie(tv,[["__scopeId","data-v-9169e52b"]]),iv={__name:"LeagueScheduleConflictComparison",props:{leagueId:{type:Number,required:!0},teamsById:{type:Object,default:()=>({})},fieldsById:{type:Object,default:()=>({})},gamesById:{type:Object,default:()=>({})},allTimeSlotsById:{type:Object,default:()=>({})},allMatchups:{type:Array,default:()=>[]},leagueCoaches:{type:Array,default:()=>[]},useDraftMatchups:{type:Boolean,default:!1}},setup(t){const e=Se(),i=lt(),l=t,a=H(!1),s=H([]),u=A(()=>i.getters.clubDetails.timezone||"America/New_York"),m=A(()=>O.keyBy(l.allMatchups,"id")),f=A(()=>O.keyBy(l.allMatchups,"game_id")),v=W=>{const K=f.value[W.id];return K?"".concat(K.game_schedule_name,": ").concat(K.away_team_name," at ").concat(K.home_team_name):"".concat(W.away_team_name," at ").concat(W.home_team_name)},y=W=>{var de,we,U;const K=((de=W.game_scheduler)==null?void 0:de.name)||W.game_schedule_name,j=((we=W.home_team)==null?void 0:we.name)||W.home_team_name,ge=((U=W.away_team)==null?void 0:U.name)||W.away_team_name;return"".concat(K,": ").concat(ge," at ").concat(j)},g=W=>{const K=W.field_id,j=l.fieldsById[K],ge=(j==null?void 0:j.timezone)||u.value,de=Y.tz(W.start_datetime,ge).format("MMM D, YYYY h:mm A"),we=Y.tz(W.end_datetime,ge).format("h:mm A");return"".concat(de," - ").concat(we)},b=W=>{const K=Yn(W),j=l.fieldsById[K],ge=(j==null?void 0:j.timezone)||u.value,de=Y.tz(zn(W),ge).format("MMM D, YYYY h:mm A"),we=Y.tz(Hn(W),ge).format("h:mm A");return"".concat(de," - ").concat(we)},S=W=>{const K=O.countBy(W,"id"),j=Object.keys(K).filter(ge=>K[ge]>1).map(ge=>parseInt(ge,10));return O.keyBy(j)},F=A(()=>{const W={},K=l.allTimeSlotsById;return l.leagueCoaches.forEach(j=>{const ge=(j.matchups||[]).filter(we=>!!we.draft_field_time_slot_id),de=S(ge);ge.forEach(we=>{const U=K[we.draft_field_time_slot_id],ee=ge.filter(le=>{const me=K[le.draft_field_time_slot_id];
1return(le.id!==we.id||de[le.id])&&ki(me==null?void 0:me.start_time,me==null?void 0:me.end_time,me==null?void 0:me.field_id,U==null?void 0:U.start_time,U==null?void 0:U.end_time,U==null?void 0:U.field_id,l.fieldsById)});W[we.id]=(W[we.id]||[]).concat(ee)})}),W}),w=A(()=>Object.keys(F.value).filter(W=>F.value[W]&&F.value[W].length>0)),C=A(()=>{const W={};return l.leagueCoaches.forEach(K=>{const j=(K.games||[]).filter(de=>!!de.start_datetime&&!ze.isTbdDate(de.start_datetime)&&!de.canceled_at),ge=S(j);j.forEach(de=>{const we=j.filter(U=>(U.id!==de.id||ge[U.id])&&ki(U.start_datetime,U.end_datetime,U.field_id,de.start_datetime,de.end_datetime,de.field_id,l.fieldsById));W[de.id]=(W[de.id]||[]).concat(we)})}),W}),D=A(()=>Object.keys(C.value).filter(W=>C.value[W]&&C.value[W].length>0)),B=A(()=>{const W=[];return l.useDraftMatchups?w.value.forEach(K=>{const j=m.value[K],ge=y(j),de=b(j);O.uniqBy(F.value[K],"id").forEach(U=>{var le,me,ne,Ae;const ee={type:"Coach",source:"frontend",context_game_id:"-",context_game_name:ge,context_time_display:de,conflicting_game_id:"-",conflicting_game_name:y(U),conflicting_time_display:b(U)};if(j.id===U.id)W.push({...ee,conflicting_team_name:j.home_team_name},{...ee,conflicting_team_name:j.away_team_name});else{let ce="";if(j.home_team_id===U.home_team_id||j.home_team_id===U.away_team_id)ce=j.home_team_name;else if(j.away_team_id===U.home_team_id||j.away_team_id===U.away_team_id)ce=j.away_team_name;else{const Z=l.teamsById[j.home_team_id],se=(le=Z==null?void 0:Z.coach)==null?void 0:le.id,ke=l.teamsById[j.away_team_id],Me=(me=ke==null?void 0:ke.coach)==null?void 0:me.id,te=l.teamsById[U.home_team_id],R=(ne=te==null?void 0:te.coach)==null?void 0:ne.id,z=l.teamsById[U.away_team_id],pe=(Ae=z==null?void 0:z.coach)==null?void 0:Ae.id;se===R||se===pe?ce=j.home_team_name:(Me===R||Me===pe)&&(ce=j.away_team_name)}W.push({...ee,conflicting_team_name:ce})}})}):D.value.forEach(K=>{const j=l.gamesById[K],ge=v(j),de=g(j);O.uniqBy(C.value[K],"id").forEach(U=>{var le,me,ne,Ae;const ee={type:"Coach",source:"frontend",context_game_id:j.id,context_game_name:ge,context_time_display:de,conflicting_game_id:U.id,c
1onflicting_game_name:v(U),conflicting_time_display:g(U)};if(j.id===U.id)W.push({...ee,conflicting_team_name:j.home_team_name},{...ee,conflicting_team_name:j.away_team_name});else{let ce="";if(j.home_team_id===U.home_team_id||j.home_team_id===U.away_team_id)ce=j.home_team_name;else if(j.away_team_id===U.home_team_id||j.away_team_id===U.away_team_id)ce=j.away_team_name;else{const Z=l.teamsById[j.home_team_id],se=(le=Z==null?void 0:Z.coach)==null?void 0:le.id,ke=l.teamsById[j.away_team_id],Me=(me=ke==null?void 0:ke.coach)==null?void 0:me.id,te=l.teamsById[U.home_team_id],R=(ne=te==null?void 0:te.coach)==null?void 0:ne.id,z=l.teamsById[U.away_team_id],pe=(Ae=z==null?void 0:z.coach)==null?void 0:Ae.id;se===R||se===pe?ce=j.home_team_name:(Me===R||Me===pe)&&(ce=j.away_team_name)}W.push({...ee,conflicting_team_name:ce})}})}),W});function N(W){const K=_l(W);s.value=[...K]}async function M(){a.value=!0;const K=gt({game_schedulers:{matchups:{field_time_slot:!0,schedule_conflicts:{conflicting:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0},context:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0}},game:{schedule_conflicts:{conflicting:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0},context:{matchup_teams:!0,matchup_game_scheduler:!0,matchup_field_time_slot:!0,game_teams:!0}}}}}}),j="/club_admin/club_leagues/".concat(l.leagueId,"?populate=").concat(K);let ge=[];try{ge=(await Q({showError:!1}).get(j)).data.game_schedulers||[]}catch(de){console.error(de),e.error("Failed to fetch conflicts")}finally{a.value=!1}N(ge)}Ya(()=>{M()});const I=W=>{let K="";return W.context_type===Yt?K=W.context_id:W.context_type===zt&&(K=W.context_matchup.game_id||""),K},V=W=>{let K="";return W.conflicting_type===Yt?K=W.conflicting_id:W.conflicting_type===zt&&(K=W.conflicting_matchup.game_id||""),K},P=W=>{var j;let K="";if(W.type===ao||W.type===pl){const ge=W.conflict_entity_id;K=(j=l.teamsById[ge])==null?void 0:j.name}return K},E=W=>W.context_type===Yt?g(W.context_game):W.context_type===zt?b(W.context_matchup):"",X=W=>W.conflicting_type===Yt?g(W.conflicting_game):W.conflicting_type===zt?b(W.conflicting_matchup):"",q=W=>W.context_type===Yt?v(W.context_game):W.context_type===zt?y(W.context_matchup):"",he=W=>W.conflicting_type===Yt?v(W.conflicting_game):W.conflicting_type===zt?y(W.conflicting_matchup):"",ve=A(()=>s.value.map(W=>({type:O.capitalize(W.type),source:"backend",context_game_id:I(W),context_game_name:q(W),context_time_display:E(W),conflicting_team_name:P(W),conflicting_game_id:V(W),conflicting_game_name:he(W),conflicting_time_display:X(W)}))),re=A(()=>[...ve.value,...B.value]);return(W,K)=>{const j=c("b-table-column"),ge=c("BaseTable");return d(),h("div",null,[n(ge,{name:"leagueScheduleConflictComparison",data:re.value},{default:o(()=>[n(j,{label:"Conflict Type",field:"type",sortable:""},{default:o(({row:de})=>[p(_(de.type),1)]),_:1}),n(j,{label:"Source",field:"source",sortable:""},{default:o(({row:de})=>[p(_(de.source),1)]),_:1}),n(j,{label:"Game ID",field:"context_game_id",sortable:""},{default:o(({row:de})=>[p(_(de.context_game_id),1)]),_:1}),n(j,{label:"Game",field:"context_game_name",sortable:""},{default:o(({row:de})=>[p(_(de.context_game_name),1)]),_:1}),n(j,{label:"Game Time",field:"context_time_display",sortable:""},{default:o(({row:de})=>[p(_(de.context_time_display),1)]),_:1}),n(j,{label:"Team",field:"conflicting_team_name",sortable:""},{default:o(({row:de})=>[p(_(de.conflicting_team_name),1)]),_:1}),n(j,{label:"Conflicting Game ID",field:"conflicting_game_id",sortable:""},{default:o(({row:de})=>[p(_(de.conflicting_game_id),1)]),_:1}),n(j,{label:"Conflicting Game",field:"conflicting_game_name",sortable:""},{default:o(({row:de})=>[p(_(de.conflicting_game_name),1)]),_:1}),n(j,{label:"Conflicting Game Time",field:"conflicting_time_display",sortable:""},{default:o(({row:de})=>[p(_(de.conflicting_time_display),1)]),_:1})]),_:1},8,["data"])])}}},pa="Move Games",_a="Cancel Games",ya="Delete Games",av={components:{BaseTabGroup:$s,SectionHeader:Ve,SelectionToolbar:_t,CoachesFilter:g_,AddEditGame:po,GameDetailsModal:u_,FacilityCollapsible:Xr,FacilityScheduleGrid:Zr,LeagueScheduleHeader:Br,LeagueGamesScheduleFilter:Pr,LeagueGamesGridFilter:yy,LeagueGamesFacilityList:gy,LeagueGamesSchedule:uo,MoveMatchupModal:go,MoveMultipleMatchupsModal:Vr,EditRefAssignors:L_,LeagueGamesImportModal:Hy,ReviewGameScoreRequests:oo,LeagueScheduleCoach:sv,LeagueGamesScheduleRestoreModal:lp,LeagueGamesScheduleCancelModal:eo,LeagueGamesScheduleDeleteModal:sp,LeagueScheduleConflictComparison:iv,ExportGameCardsModal:v_},inject:["refresh"],provide(){return{dateTimeFromHours:this.dateTimeFromHours,checkMatchup:this.checkMatchup,isMatchupChecked:this.isMatchupChecked}},props:{league:{type:Object,required:!0},importInProgress:{type:Boolean,default:!1},importDraft:{type:Object,default:()=>{}}},emits:["import-input"],setup(){const{formatDate:t,dateToTimeWithClubOffset:e}=Xe(),i=qr(),l=Or(),{scheduleTypeForScheduleTypeTab:a,showScheduleTypeTabs:s}=za(l);return{formatDate:t,dateToTimeWithClubOffset:e,scheduleStore:i,scheduleTypeForScheduleTypeTab:a,showScheduleTypeTabs:s}},data(){return{activeTabId:0,activeViewTabId:0,currentDate:new Date,scheduleDateRange:{startDate:new Date,endD
1ate:new Date},filtersActive:!1,scheduleFilters:null,gridFilters:null,searchQuery:"",triggerCancelNotification:!0,notifyMessage:"",confirmMessage:"",selectedMatchupsMap:{},selectedGamesScheduleGames:[],updating:!1,clubFields:null,allMatchups:[],showCoachConflictsOnly:!1,filteredLeagueCoaches:[],clubTeamsById:{},gameImportLastConfig:null}},computed:{loading(){return this.clubFields===null},scheduleTab(){return{name:"Games",id:0}},gridTab(){return{name:"Grid",id:1}},listTab(){return{name:this.getClubSportTerm("Field"),id:2}},tabs(){return this.isUsingGameScheduler?[this.scheduleTab,this.gridTab,this.listTab]:[this.scheduleTab]},isScheduleTab(){return!this.isUsingGameScheduler||this.activeTabId===this.scheduleTab.id},isGridTab(){return this.activeTabId===this.gridTab.id},isListTab(){return this.activeTabId===this.listTab.id},viewScheduleTab(){return{name:"Games",id:0}},viewCoachesTab(){return{name:"Coaches",id:1}},viewSuperAdminConflictsTab(){return{name:"Conflicts",id:2}},viewTabs(){const t=[this.viewScheduleTab,this.viewCoachesTab];return this.isUsingGameScheduler&&this.isSuperAdmin&&t.push(this.viewSuperAdminConflictsTab),t},isViewScheduleTab(){return!this.isInHouseLeague||this.activeViewTabId===this.viewScheduleTab.id},isViewCoachesTab(){return this.activeViewTabId===this.viewCoachesTab.id},isViewSuperAdminConflictsTab(){return this.activeViewTabId===this.viewSuperAdminConflictsTab.id},hasDraftSchedule(){return this.league.league_divisions.some(t=>{const e=this.gameSchedulersByDivisionId[t.id];return Bi(e,this.league,{leagueTeamsByLeagueDivisionID:this.leagueTeamsByLeagueDivisionID,leagueGamesByID:this.gamesById})})},isInHouseLeague(){return Jt(this.league)},isMultipleCompetitionsEnabled(){return!!(this.league.extra&&this.league.extra.allow_multiple_external_competitions)},gameSchedulerEnabled(){return!!(this.league&&this.league.extra&&this.league.extra.enable_game_scheduler)},isUsingGameScheduler(){return this.isInHouseLeague&&this.gameSchedulerEnabled||!O.isEmpty(this.league.game_schedulers)},showSelectionToolbar(){return(this.isUsingGameScheduler||!this.isPast)&&(this.isListTab&&this.selectedMatchups.length>0||this.isScheduleTab&&this.selectedGamesScheduleGames.length>0)},importBannerHeader(){return this.isUsingGameScheduler?"Game assignment import is in progress":"Game import is in progress"},importBannerBody(){return this.isUsingGameScheduler?"You'll be notified when all game assignments are imported to the game scheduling tool.\nThis league will not be able to start a new import until this current one is completed.":"You'll be notified when all games are created.\nThis league will not be able to start a new import until this current one is completed."},gamesWithScoreRequests(){var t;return((t=this.league.games)==null?void 0:t.filter(e=>{var i;return(i=e.score_requests)==null?void 0:i.some(l=>!l.resolved_at)}))||[]},scoreRequestMessage(){return this.gamesWithScoreRequests.length===1?"1 Game Has a Score Change Needing Review":"".concat(this.gamesWithScoreRequests.length," Games Have Score Changes Needing Review")},seasonAgeClass(){return this.$store.getters.clubDetails.seasons.find(i=>i.id===this.league.season_id).age_class},clubTimezone(){return this.$store.getters.clubDetails.timezone},isSuperAdmin(){return this.$store.getters.isSuperAdmin},offsetDate(){const t=this.dateToTimeWithClubOffset(this.currentDate,-1);return new Date(t)},currentDateString(){return Y(this.currentDate).format(ct)},timeRangeFilter(){const t=Y.tz(this.offsetDate,this.clubTimezone).hour(this.gridFilters.timeRange[0]).minute(0),e=Y.tz(this.offsetDate,this.clubTimezone).hour(this.gridFilters.timeRange[1]).minute(0);return{start:t,end:e}},selectedMatchups(){return Object.keys(this.selectedMatchupsMap).filter(t=>!!this.selectedMatchupsMap[t])},checkedRows(){return this.isListTab?this.selectedMatchups:this.isScheduleTab?this.selectedGamesScheduleGames:[]},isPast(){return this.isScheduleTab&&this.selectedGamesScheduleGames.length>0?Y(this.selectedGamesScheduleGames[0].start_datetime).isBefore(Y(),"day"):Y(this.currentDate).isBefore(Y(),"day")},gamesById(){return O.keyBy(this.league.games,"id")}
1,gamesByDate(){return O.groupBy(O.filter(this.league.games,t=>!t.deleted_at),t=>this.formatDate(t.start_datetime,ct)||"TBD")},dateForScheduler(){if(this.isScheduleTab){const t=Y(this.scheduleDateRange.startDate);for(;t.isSameOrBefore(this.scheduleDateRange.endDate,"day");){if(this.gamesByDate[t.format(ct)])return t.format(ct);t.add(1,"day")}return Y(this.scheduleDateRange.startDate).format(ct)}return this.currentDateString},allDivisions(){return O.uniqBy(Object.values(this.divisionByGameId),"id")},divisionByGameId(){return Xn(this.league)},clubFieldsById(){return O.keyBy(this.clubFields,"id")},allGameScheduleFieldsById(){const t={};return this.loading||(this.league.game_schedulers||[]).forEach(e=>{(e.fields||[]).forEach(i=>{t[i.id]=this.clubFieldsById[i.id]})}),t},allGameScheduleFields(){return O.compact(Object.values(this.allGameScheduleFieldsById))},fieldsByFacilityId(){return O.groupBy(this.allGameScheduleFields,"facility_id")},facilities(){const t=[];return O.forEach(this.fieldsByFacilityId,(e,i)=>{const l={id:i,facility:e[0].facility_name,name:e[0].facility_name,address:e[0].facility_address,timezone:e[0].timezone,fields:e};t.push(l)}),O.sortBy(t,"name")},allGameScheduleTimeSlotIds(){return O.keyBy(O.flatMap(this.league.game_schedulers,"time_slot_ids"))},allTimeSlotsById(){const t=O.flatMap(this.allGameScheduleFields,"time_slots");return O.keyBy(t,"id")},allTimeSlots(){return O.values(this.allTimeSlotsById)},allTimeSlotsForLeague(){return this.allTimeSlots.filter(t=>!!this.allGameScheduleTimeSlotIds[t.id])},leagueTimeSlotsByDay(){return O.groupBy(this.allTimeSlotsForLeague,t=>Y(t.start_time).format(ct))},leagueTimeSlotsByField(){return O.groupBy(this.allTimeSlotsForLeague,"field_id")},matchupsByStatus(){const t={published_by_id:{},by_draft_slot_id:{},by_published_slot_id:{},by_game_id:{}};return this.loading||this.allMatchups.forEach(e=>{e.game_id&&(t.published_by_id[e.id]=e),t.by_draft_slot_id[e.draft_field_time_slot_id]=(t.by_draft_slot_id[e.draft_field_time_slot_id]||[]).concat(e),t.by_published_slot_id[e.field_time_slot_id]=(t.by_published_slot_id[e.field_time_slot_id]||[]).concat(e),t.by_game_id[e.game_id]=(t.by_game_id[e.game_id]||[]).concat(e)}),t},facilitiesWithEventsForDate(){const t=[...this.facilities];return t.forEach(e=>{e.fields=rs.sortFields(e.fields);const i=O.groupBy(e.fields,"parent_field_id");O.forEach(e.fields,l=>{const a=O.filter(l.closures,b=>this.formatDate(b.start_time,ct)===this.currentDateString);O.forEach(a,b=>{b.display_name="".concat(this.getClubSportTerm("Field")," closed on ").concat(this.formatDate(b.start_time,"MMM D"))}),l.closed=a;const s=[],u=[],m=[],f=[],v=this.leagueTimeSlotsByField[l.id];O.forEach(v,b=>{if(Y.tz(b.start_time,this.clubTimezone).format(ct)===this.currentDateString){const S=this.matchupsByStatus.by_published_slot_id[b.id];if(S)S.forEach(F=>{F.start_time=b.start_time,F.end_time=b.end_time;const w=this.gamesById[F.game_id];F.game=w,w.canceled_at?f.push({...F,canceled_at:w.canceled_at}):m.push({...F})});else{const F=this.matchupsByStatus.by_draft_slot_id[b.id];F?F.forEach(w=>{w.start_time=b.start_time,w.end_time=b.end_time,u.push({...w,hide_in_list_view:!!this.matchupsByStatus.published_by_id[w.id]})}):s.push(b)}}}),l.empty=s,l.drafts=u,l.published=O.sortBy(m,["start_time","end_time"]),l.canceled=f;const y=(i[l.id]||[]).map(b=>b.id);rs.setFieldScheduleData(l,this.facilityEventTypes,y,this.clubFieldsById);const g={};for(let b=0;b<l.published.length;b+=1){const S=l.published[b];let F=b+1;for(;F<l.published.length&&Y(S.end_time).isAfter(l.published[F].start_time);){const w=l.published[F];g[S.id]?g[S.id].otherMatchups.find(C=>C.id===w.id)||g[S.id].otherMatchups.push(w):g[S.id]={matchup:S,otherMatchups:[w]},g[w.id]?g[w.id].otherMatchups.find(C=>C.id===S.id)||g[w.id].otherMatchups.push(S):g[w.id]={matchup:w,otherMatchups:[S]},F+=1}}l.overlapping_matchups=g}),rs.setUnavailableEvents(e.fields,["published","drafts"]),e.event_types=[...this.facilityEventTypes,{type:"unavailable",fieldName:"unavailable"}]}),t},hasGamesForDate(){return O.flatMap(this.facilitiesWithEventsForDate,e=>O.filter(e.fields,i=>i.time_ranges&&i.time_ranges.length>0)).length>0},filteredFacilities(){return this.facilitiesWithEventsForDate.filter(t=>(this.gridFilters.facilities.length===0||this.gridFilters.facilities.includes(t.id))&&this.filteredFieldsForFacility(t).length>0)}
1,facilityEventTypes(){const t=[{type:"closed",fieldName:"closed"},{type:"published",fieldName:"published"},{type:"draft",fieldName:"drafts"},{type:"canceled",fieldName:"canceled"}];return this.isGridTab&&t.push({type:"empty",fieldName:"empty"}),t},legendItems(){return this.viewCoachesTab?[{icon:["far","exclamation-triangle"],icon_class:"has-text-color-warning",text:"Coach conflict"}]:[{icon:["far","exclamation-triangle"],icon_class:"has-text-color-warning",text:"Overdue game scores"}]},facilityLegendItems(){const t=[];return this.isGridTab&&t.push({items:[{text:"Canceled Game",icon:["fas","ban"],icon_color:"grey-light"},{text:"Available Time Slot",icon:["far","calendar-plus"],icon_color:"grey-light"}]}),t.push({title:this.isGridTab?"Event Type":null,items:[{text:"Scheduled Game",icon:["fas","square"],icon_class:"has-text-color-info"},{text:"Unpublished Game",icon:["far","square"],icon_class:"has-text-color-info"}]}),this.isGridTab&&t.push({title:"".concat(this.$store.getters.getClubSportTerm("Field")," Status"),items:[{text:"".concat(this.$store.getters.getClubSportTerm("Field")," Closure"),gradient:{background_color:Qn,foreground_color:Wn}},{text:"Unavailable",gradient:{background_color:Kn,foreground_color:Jn}}]}),t},normalizedSearchQuery(){return this.searchQuery.toString().toLowerCase()},selectionToolbarActions(){const t=[];return this.isUsingGameScheduler&&t.push({text:pa,disabled:this.updating}),this.isPast||(t.push({text:_a,disabled:this.updating}),t.push({text:ya,disabled:this.updating})),t},leagueTeams(){return this.league.league_teams||[]},teamsById(){const t=this.leagueTeams.flatMap(e=>e.team);return O.keyBy(t,"id")},leagueCoaches(){const t={};this.leagueTeams.forEach(l=>{var s,u;const a=(s=l.team)==null?void 0:s.coach;if(a){const m=((u=t[a.id])==null?void 0:u.teams)||[];t[a.id]={id:a.id,first_name:a.first_name,last_name:a.last_name,email:a.email,teams:m.concat(l.team)}}});const i=Object.values(t).map(l=>({...l,games:this.gamesByCoachId[l.id]||[],matchups:this.matchupsByCoachId[l.id]||[]}));return O.sortBy(i,["last_name","first_name"])},coachCountText(){return Fe(this.filteredLeagueCoaches.length,"Coach")},gamesByCoachId(){const t={};return this.loading||(this.league.games||[]).forEach(i=>{if(!i.deleted_at){const l=this.teamsById[i.home_team_id],a=l==null?void 0:l.coach;a&&(t[a.id]=(t[a.id]||[]).concat(i));const s=this.teamsById[i.away_team_id],u=s==null?void 0:s.coach;u&&(t[u.id]=(t[u.id]||[]).concat(i))}}),t},matchupsByCoachId(){const t={};return this.loading||this.allMatchups.forEach(i=>{const l=this.teamsById[i.home_team_id],a=l==null?void 0:l.coach;a&&(t[a.id]=(t[a.id]||[]).concat(i));const s=this.teamsById[i.away_team_id],u=s==null?void 0:s.coach;u&&(t[u.id]=(t[u.id]||[]).concat(i))}),t},searchPlaceholder(){return this.isViewScheduleTab?this.isGridTab||this.isListTab?"Search for a Facility or ".concat(this.$store.getters.getClubSportTerm("Field"),"..."):"Search for a Team":this.isViewCoachesTab?"Search for a Coach or Team":""},divisionsById(){return O.keyBy(this.league.league_divisions,"id")},gameSchedulersById(){return O.keyBy(this.league.game_schedulers,"id")},gameSchedulersByDivisionId(){return O.keyBy(this.league.game_schedulers,"league_division_id")},leagueTeamsByLeagueDivisionID(){return O.groupBy(this.leagueTeams,"league_division_id")}},watch:{allMatchups:{immediate:!0,handler(t){this.scheduleStore.setMatchups(t||[])}},currentDate(){this.selectedMatchupsMap={}},scheduleDateRange(){this.selectedGamesScheduleGames=[]},league:{immediate:!0,handler(t){t&&t.id&&this.fetchGameImportLastConfig(t.id),this.scheduleStore.setEvent(t||null)}}},created(){const t=this.dateToTimeWithClubOffset(this.currentDate,1);this.currentDate=new Date(t),this.fetchFields(),this.fetchTeams(),this.initializeAllMatchups(),$n(this.league.league_divisions||[]),this.scheduleStore.setDivision(null)},unmounted(){this.scheduleStore.reset()},methods:{fetchFields(){Q().get("/club/fields?populate=".concat("closures,exclusions,time_slots")).then(e=>{this.clubFields=e.data})},fetchTeams(){Q().get("/teams?populate=archived,staff").then(t=>{this.clubTeamsById=Object.freeze(O.keyBy(t.data,"id"))})},initializeAllMatchups(){const t=[];O.forEach(this.league.game_schedulers,e=>{O.forEach(e.matchups,i=>
1{if(i.home_team_id>0&&i.away_team_id>0){const l=i.game_id>0&&this.gamesById[i.game_id]?this.gamesById[i.game_id]:i,a=this.$store.getters.clubTeamNameByID(l.home_team_id)||l.home_team_name,s=this.$store.getters.clubTeamNameByID(l.away_team_id)||l.away_team_name;i.home_team_name=a,i.away_team_name=s,i.display_name="".concat(s," at ").concat(a),i.game_schedule_id=e.id,i.game_schedule_name=e.name,l&&l.canceled_at&&(i.canceled_at=l.canceled_at),t.push(i)}})}),this.allMatchups=t},filteredFieldsForFacility(t){const e=t.name.toLowerCase();return O.filter(t.fields,i=>{const l=this.clubFieldsById[i.parent_field_id],a=this.filteredTimeRanges(i.time_ranges);return(this.isGridTab&&this.gridFilters.showEmptyFields||a.length>0)&&(this.gridFilters.surfaces.length===0||this.gridFilters.surfaces.includes(i.surface))&&(i.parent_field_id===0||this.isGridTab&&this.gridFilters.showEmptyFields||this.hasEventInRange(i,a))&&(e.includes(this.normalizedSearchQuery)||i.identifier.toLowerCase().includes(this.normalizedSearchQuery)||i.name.toLowerCase().includes(this.normalizedSearchQuery)||l&&l.identifier.toLowerCase().includes(this.normalizedSearchQuery)||l&&l.name.toLowerCase().includes(this.normalizedSearchQuery))})},filteredTimeRanges(t){return this.isListTab?t:O.filter(t,e=>{const i=e.split("_"),l=this.dateTimeFromHours(i[0]);return this.dateTimeFromHours(i[1]).isAfter(this.timeRangeFilter.start,"minute")&&l.isBefore(this.timeRangeFilter.end,"minute")})},dateTimeFromHours(t){return Y.tz(this.offsetDate,this.clubTimezone).hours(t.slice(0,2)).minutes(t.slice(2))},hasEventInRange(t,e){for(let i=0;i<e.length;i+=1){const l=e[i],a=t.events_by_time_range[l];if(O.filter(a,u=>["published","draft","canceled"].includes(u.type)).length>0)return!0}return!1},checkMatchup(t,e){e?this.selectedMatchupsMap[t.id]=t:this.selectedMatchupsMap[t.id]=null},isMatchupChecked(t){return!!this.selectedMatchupsMap[t.id]},clearSelectionAndRefresh(){this.refresh({reload:!1}),this.clearSelected()},confirmRestoreGame(t){this.$refs.restoreModal.showModal([t])},confirmCancelGame(t){this.$refs.cancelModal.showModal([t])},confirmCancelMultiple(){const t=this.isScheduleTab?this.selectedGamesScheduleGames:this.selectedMatchups;this.$refs.cancelModal.showModal(t)},confirmDeleteMultiple(){const t=this.isScheduleTab?this.selectedGamesScheduleGames:this.selectedMatchups;this.$refs.deleteModal.showModal(t)},openMoveMatchupModal(t){this.$refs.moveMatchupModal.show(t,this.currentDateString)},getClubSportTerm(t){return this.$store.getters.getClubSportTerm(t)},addGame(t){this.$refs.addEditGame.show(null,null,t)},editGame(t){this.$refs.addEditGame.show(t)},confirmMoveMultiple(){let t=[],e=this.currentDate;this.isScheduleTab?(e=Y(this.selectedGamesScheduleGames[0].start_datetime).toDate(),t=this.selectedGamesScheduleGames.map(i=>{const l=this.matchupsByStatus.by_game_id[i.id];if(l&&l.length>0){const a=l[0];return a.game=i,a.start_time=i.start_datetime,a.end_time=i.end_datetime,a}return null})):t=O.values(this.selectedMatchupsMap),t=O.compact(t),t&&t.length>0&&this.$refs.moveMultipleMatchupsModal.show(t,e)},editRefAssignors(){this.$refs.editRefAssignorsModal.showModal(this.league)},dismissEditRefAssignorsModal(t={refreshData:!1}){t.refreshData&&this.refresh({reload:!1})},dismissMoveMultipleModal(t={refreshData:!1}){t.refreshData&&this.clearSelected()},clearSelected(){this.isListTab?this.selectedMatchupsMap={}:this.isScheduleTab&&(this.selectedGamesScheduleGames=[],this.$refs.leagueGamesSchedule.clearGames())},showGameImportModal(){!this.loading&&this.$refs.gameImportModal&&this.$refs.gameImportModal.showModal()},viewScoreRequests(){this.$refs.reviewGameScoreRequests.showModal()},goToLeagueScheduler(){this.$router.push({name:"LeagueScheduler",params:{league:this.league.id},query:{date:this.dateForScheduler}})},filteredFields(t){const e=this.filteredFieldsForFacility(t),i=O.keyBy(t==null?void 0:t.fields,"id");return rs.filteredFieldsForSchedule(e,this.isListTab,i,this.clubFieldsById)},selectionToolbarCta(t){t.text===pa?this.confirmMoveMultiple():t.text===_a?this.confirmCancelMultiple():t.text===ya&&this.confirmDeleteMultiple()},updateCoachFilters(t,e){this.filteredLeagueCoaches=t,this.filtersActive=e},showGameDetailsModal(t,e,i){this.$refs.gameDetailsModal.show(t,e,
1i)},fetchGameImportLastConfig(t){this.gameImportLastConfig=null,Q({showError:!1}).get("/club_admin/club_leagues/".concat(t,"/games/import/last_config")).then(e=>{this.gameImportLastConfig=e.data}).catch(()=>{})},showExportGameCardsModal(){this.$refs.exportGameCardsModal.showModal()}}},lv={class:"league-games-tab"},nv={key:1},rv={key:0},ov={class:"columns"},dv={class:"column"},uv={class:"column is-narrow"},cv={key:1,class:"is-flex",style:{"align-items":"center"}},mv={key:1},fv={key:2,class:"mt-5"},hv={key:0},gv={key:1},pv={key:1},_v={key:2};function yv(t,e,i,l,a,s){var de,we,U,ee,le,me;const u=c("spinner"),m=c("AlertBox"),f=c("EmptyStateComponent"),v=c("BaseTabGroup"),y=c("SectionHeader"),g=c("b-switch"),b=c("LeagueScheduleHeader"),S=c("SelectionToolbar"),F=c("LeagueGamesSchedule"),w=c("LeagueGamesScheduleFilter"),C=c("FacilityScheduleGrid"),D=c("LeagueGamesFacilityList"),B=c("FacilityCollapsible"),N=c("LeagueGamesGridFilter"),M=c("LeagueScheduleCoach"),I=c("CoachesFilter"),V=c("LeagueScheduleConflictComparison"),P=c("LeagueGamesScheduleRestoreModal"),E=c("LeagueGamesScheduleCancelModal"),X=c("LeagueGamesScheduleDeleteModal"),q=c("MoveMatchupModal"),he=c("MoveMultipleMatchupsModal"),ve=c("AddEditGame"),re=c("EditRefAssignors"),W=c("LeagueGamesImportModal"),K=c("ReviewGameScoreRequests"),j=c("GameDetailsModal"),ge=c("ExportGameCardsModal");return d(),h("div",lv,[s.loading?(d(),x(u,{key:0})):(d(),h("div",nv,[i.importInProgress?(d(),x(m,{key:0,type:"warning",headline:s.importBannerHeader,message:s.importBannerBody,icon:["far","check"]},null,8,["headline","message"])):k("",!0),s.gamesWithScoreRequests.length?(d(),x(m,{key:1,type:"warning",headline:s.scoreRequestMessage,"has-cta-button":"","cta-button-text":"View ".concat(s.gamesWithScoreRequests.length===1?"Request":"Requests"),onConfirm:s.viewScoreRequests},null,8,["headline","cta-button-text","onConfirm"])):k("",!0),(de=i.league.games)!=null&&de.length?(d(),h(G,{key:3},[s.isUsingGameScheduler?(d(),h("div",rv,[r("div",ov,[r("div",dv,[n(v,{"active-tab":a.activeViewTabId,"onUpdate:activeTab":e[0]||(e[0]=ne=>a.activeViewTabId=ne),tabs:s.viewTabs,class:Ce({"has-conflicts-tab":s.isSuperAdmin})},null,8,["active-tab","tabs","class"])]),r("div",uv,[s.isViewScheduleTab&&((we=s.tabs)==null?void 0:we.length)>1?(d(),x(v,{key:0,"active-tab":a.activeTabId,"onUpdate:activeTab":e[1]||(e[1]=ne=>a.activeTabId=ne),tabs:s.tabs},null,8,["active-tab","tabs"])):k("",!0)])])])):k("",!0),n(b,{"search-query":a.searchQuery,"onUpdate:searchQuery":e[4]||(e[4]=ne=>a.searchQuery=ne),"schedule-date-range":a.scheduleDateRange,"onUpdate:scheduleDateRange":e[5]||(e[5]=ne=>a.scheduleDateRange=ne),"current-date":a.currentDate,"onUpdate:currentDate":e[6]||(e[6]=ne=>a.currentDate=ne),"legend-items":s.legendItems,"filters-active":a.filtersActive,"is-showing-tbd-only":(U=a.scheduleFilters)==null?void 0:U.tbdGamesOnly,"is-schedule-tab":s.isViewScheduleTab&&s.isScheduleTab,"is-field-tab":s.isViewScheduleTab&&(s.isGridTab||s.isListTab),"is-conflicts-tab":s.isViewSuperAdminConflictsTab,games:i.league.games||[],"search-placeholder":s.searchPlaceholder,"show-schedule-type-selector":l.showScheduleTypeTabs},{default:o(()=>[s.isInHouseLeague?(d(),h(G,{key:0},[s.isUsingGameScheduler?k("",!0):(d(),x(v,{key:0,"active-tab":a.activeViewTabId,"onUpdate:activeTab":e[2]||(e[2]=ne=>a.activeViewTabId=ne),tabs:s.viewTabs},null,8,["active-tab","tabs"])),s.isViewCoachesTab?(d(),h("div",cv,[n(y,{text:s.coachCountText,size:"md",class:"m-0 mr-5"},null,8,["text"]),n(g,{modelValue:a.showCoachConflictsOnly,"onUpdate:modelValue":e[3]||(e[3]=ne=>a.showCoachConflictsOnly=ne)},{default:o(()=>[...e[20]||(e[20]=[r("span",{class:"is-font-mont has-text-weight-semibold is-text-size-7"}," Show Conflicts Only ",-1)])]),_:1},8,["modelValue"])])):k("",!0)],64)):k("",!0)]),_:1},8,["search-query","schedule-date-range","current-date","legend-items","filters-active","is-showing-tbd-only","is-schedule-tab","is-field-tab","is-conflicts-tab","games","search-placeholder","show-schedule-type-selector"]),s.isViewScheduleTab?(d(),h(G,{key:1},[s.showSelectionToolbar?(d(),x(S,{key:0,"checked-rows":s.checkedRows,actions:s.selectionToolbarActions,class:"mb-5",onCtaClicked:s.selectionToolbarCta,onOnCancel:s.clearSelected},null,8,["checked-rows","actions","onCtaClicked","onOnCancel"])):k("",!0),s.isScheduleTab?(d(),h("div",mv,[a.scheduleFilters?(d(),x(F,{key:0,ref:"leagueGamesSchedule","season-age-class":s.seasonAgeClass,league:i.league,filters:a.scheduleFilters,"fields-by-id":s.clubFieldsById,"sc
1hedule-date-range":a.scheduleDateRange,"division-by-game-id":s.divisionByGameId,"matchups-by-game-id":s.matchupsByStatus.by_game_id,"all-time-slots-by-id":s.allTimeSlotsById,"schedule-template-type-filter":l.scheduleTypeForScheduleTypeTab,style:{"margin-top":"-2rem"},onEditGame:e[7]||(e[7]=ne=>s.editGame(ne)),onSelectedGames:e[8]||(e[8]=ne=>a.selectedGamesScheduleGames=ne)},null,8,["season-age-class","league","filters","fields-by-id","schedule-date-range","division-by-game-id","matchups-by-game-id","all-time-slots-by-id","schedule-template-type-filter"])):k("",!0),n(w,{"is-in-house-league":s.isInHouseLeague,divisions:s.allDivisions,"all-fields":s.allGameScheduleFields,"club-fields-by-id":s.clubFieldsById,"season-age-class":s.seasonAgeClass,"league-teams":s.leagueTeams,"search-query":a.searchQuery,onFilters:e[9]||(e[9]=ne=>a.scheduleFilters=ne),onFiltersActive:e[10]||(e[10]=ne=>a.filtersActive=ne)},null,8,["is-in-house-league","divisions","all-fields","club-fields-by-id","season-age-class","league-teams","search-query"])])):(d(),h("div",fv,[a.gridFilters?(d(),h(G,{key:0},[!s.hasGamesForDate||s.filteredFacilities.length===0?(d(),x(f,{key:0,header:"No Games Found","img-src":"/static/images/icons/games-empty-icon.png"},{body:o(()=>[s.hasGamesForDate?(d(),h("p",gv,[e[21]||(e[21]=p(" There are no games that match your current search and ",-1)),r("a",{onClick:e[11]||(e[11]=He(ne=>t.$store.dispatch("toggleFilterTrayOpen"),["stop"]))},"filter choices"),e[22]||(e[22]=p(". ",-1))])):(d(),h("p",hv," No games match the current search criteria. "))]),_:1})):(d(),h("div",pv,[(d(!0),h(G,null,ue(s.filteredFacilities,ne=>(d(),x(B,{key:ne.id,facility:ne,"current-date":a.currentDate,"legend-items":s.facilityLegendItems},{default:o(()=>[s.isGridTab?(d(),x(C,{key:0,facility:ne,fields:s.filteredFields(ne),"current-date":a.currentDate,filters:a.gridFilters,"no-grouping-similar-events":"",onCancel:s.confirmCancelGame,onRestore:s.confirmRestoreGame,onMove:s.openMoveMatchupModal},null,8,["facility","fields","current-date","filters","onCancel","onRestore","onMove"])):(d(),x(D,{key:1,fields:s.filteredFields(ne),"facility-name":ne.name,updating:a.updating,"current-date":a.currentDate,onCancel:s.confirmCancelGame,onRestore:s.confirmRestoreGame,onMove:s.openMoveMatchupModal},null,8,["fields","facility-name","updating","current-date","onCancel","onRestore","onMove"]))]),_:2},1032,["facility","current-date","legend-items"]))),128))]))],64)):k("",!0),n(N,{"is-grid-tab":s.isGridTab,facilities:s.facilities,"search-query":a.searchQuery,onFilters:e[12]||(e[12]=ne=>a.gridFilters=ne),onFiltersActive:e[13]||(e[13]=ne=>a.filtersActive=ne)},null,8,["is-grid-tab","facilities","search-query"])]))],64)):k("",!0),s.isViewCoachesTab?(d(),h(G,{key:2},[(ee=i.league.games)!=null&&ee.length?(le=a.filteredLeagueCoaches)!=null&&le.length?(d(),h("div",_v,[(d(!0),h(G,null,ue(a.filteredLeagueCoaches,ne=>(d(),x(M,{key:ne.id,coach:ne,"show-coach-conflicts-only":a.showCoachConflictsOnly,"teams-by-id":a.clubTeamsById,"fields-by-id":s.clubFieldsById,"divisions-by-id":s.divisionsById,"game-schedulers-by-id":s.gameSchedulersById,"matchups-by-game-id":s.matchupsByStatus.by_game_id,onShowGameDetailsModal:s.showGameDetailsModal},null,8,["coach","show-coach-conflicts-only","teams-by-id","fields-by-id","divisions-by-id","game-schedulers-by-id","matchups-by-game-id","onShowGameDetailsModal"]))),128))])):(d(),x(f,{key:1,header:"No Coaches Found",body:"No coaches match the current search criteria.","img-src":"/static/images/empty-states-icons/staff-coaches.png",class:"mt-6"})):(d(),x(f,{key:0,header:"No Games Found",body:"No games match the current search criteria.","img-src":"/static/images/icons/games-empty-icon.png",class:"mt-6"})),n(I,{coaches:s.leagueCoaches,"search-query":a.searchQuery,"show-head-coaches-switch":!1,"hide-level-filter":"","hide-seasons":"","hide-teams-filter":"","hide-archived-filter":"","season-id":(me=i.league)==null?void 0:me.season_id,onFiltered:s.updateCoachFilters},null,8,["coaches","search-query","season-id","onFiltered"])],64)):k("",!0),s.isViewSuperAdminConflictsTab?(d(),x(V,{key:3,"league-id":i.league.id,"teams-by-id":a.clubTeamsById,"fields-by-id":s.clubFieldsById,"games-by-id":s.gamesById,"all-matchups":a.allMatchups,"league-coaches":s.leagueCoaches,"all-time-slots-by-id":s.allTimeSlotsById,"use-draft-matchups":s.hasDraftSchedule},null,8,["league-id","teams-by-id","fields-by-id","games-by-id","all-matchups","league-coaches","all-time-slots-by-id","use-draft-matchups"])):k("",!0)],64)):(d(),x(f,{key:2,header:"No Games Found",body:"When games are published, they will appear here.","img-src":"/static/images/icons/games-empty-icon.png",class:"mt-6"})),n(P,{ref:"restoreModal",onUpdating:e[14]||(e[14]=ne=>a.updating=ne),onRestore:s.clearSelectionAndRefresh},null,8,["onRestore"]),n(E,{ref:"cancelModal",onUpdating:e[15]||(e[15]=ne=>a.updating=ne),onCancel:s.clearSelectionAndRefresh},null,8,["onCancel"]),n(X,{ref:"deleteModal",onUpdating:e[16]||(e[16]=ne=>a.updating=ne),onDelete:s.clearSelectionAndRefresh},null,8,["onDelete"]),n(q,{ref:"moveMatchupModal","time-slots-by-day":s.leagueTimeSlotsByDay,fields:s.allGameScheduleFields,"club-fields-by-id":s.clubFieldsById,"games-by-id":s.gamesById,"matchups-by-draft-slot-id":s.matchupsByStatus.by_draft_slot_id,"matchups-by-published-slot-id":s.matchupsByStatus.by_published_slot_id,"game-schedulers":i.league.game_schedulers,divisions:i.league.league_divisions||[],"league-name":i.league.name},null,8,["time-slots-by-day","fields","club-fields-by-id","games-by-id","matchups-by-draft-slot-id","matchups-by-published-slot-id","game-schedulers","divisions","league-name"]),n(he,{ref:"moveMultipleMatchupsModal","time-slots-by-id":s.allTimeSlotsById,"time-slots-by-day":s.leagueTimeSlotsByDay,fields:s.allGameScheduleFields,"club-fields-by-id":s.clubFieldsById,"games-by-id":s.gamesById,"matchups-by-draft-slot-id":s.matchupsByStatus.by_draft_slot_id,"matchups-by-published-slot-id":s.matchupsByStatus.by_published_slot_id,"game-schedulers":i.league.game_schedulers,divisions:i.league.league_divisions||[],"league-name":i.league.name,onDismissModal:s.dismissMoveMultipleModal},null,8,["time-slots-by-id","time-slots-by-day","fields","club-fields-by-id","games-by-id","matchups-by-draft-slot-id","matchups-by-published-slot-id","game-schedulers","divisions","league-name","onDismissModal"]),n(ve,{ref:"addEditGame","hide-is-tbd-toggle":s.isInHouseLeague,onUpdated:e[17]||(e[17]=ne=>{s.refresh({reload:!0})})},null,8,["hide-is-tbd-toggle"]),n(re,{ref:"editRefAssignorsModal",onDismissModal:e[18]||(e[18]=ne=>s.dismissEditRefAssignorsModal(ne))},null,512),n(W,{ref:"gameImportModal","import-draft":i.importDraft,"is-in-house-league":s.isInHouseLeague,"is-multiple-competitions-enabled":s.isMultipleCompetitionsEnabled,"game-scheduler-enabled":s.gameSchedulerEnabled,"last-config":a.gameImportLastConfig,onImportInput:e[19]||(e[19]=ne=>t.$emit("import-input",ne))},null,8,["import-draft","is-in-house-league","is-multiple-competitions-enabled","game-scheduler-enabled","last-config"]),n(K,{ref:"reviewGameScoreRequests",league:i.league,games:s.gamesWithScoreRequests,"game-schedulers":i.league.game_schedulers,"f
1ields-by-id":s.clubFieldsById},null,8,["league","games","game-schedulers","fields-by-id"]),n(j,{ref:"gameDetailsModal","league-id":i.league.id,"fields-by-id":s.clubFieldsById,"teams-by-id":a.clubTeamsById,"divisions-by-id":s.divisionsById,"game-schedulers-by-id":s.gameSchedulersById,"matchups-by-game-id":s.matchupsByStatus.by_game_id,"is-using-game-scheduler":s.isUsingGameScheduler},null,8,["league-id","fields-by-id","teams-by-id","divisions-by-id","game-schedulers-by-id","matchups-by-game-id","is-using-game-scheduler"])])),n(ge,{ref:"exportGameCardsModal",matchups:i.league.games,"fields-by-id":s.clubFieldsById,league:i.league},null,8,["matchups","fields-by-id","league"])])}const vv=ie(av,[["render",yv],["__scopeId","data-v-8c57e1b6"]]),bv={components:{ChangeAgeClassificationModal:Mo},props:{league:{type:Object,required:!0}},emits:["refresh"],setup(){const{openAssignmentBuilder:t}=Do();return{blankToDash:er,openAssignmentBuilder:t}},data(){return{searchQuery:"",activeTab:0}},computed:{assignments(){const t=this.league.team_assignments||[];return t.forEach(e=>{e.owner_name=e.owner?"".concat(e.owner.first_name," ").concat(e.owner.last_name):null}),t},hasAssignments(){return this.assignments.length>0},filteredAssignments(){return this.assignments.filter(t=>t&&(!this.searchQuery||t.name.toLowerCase().includes(this.searchQuery.toLowerCase())))},tabAssignments(){return this.activeTab===0?this.filteredAssignments.filter(t=>!t.closed_at):this.filteredAssignments.filter(t=>!!t.closed_at)},showActionColumn(){return this.tabAssignments.some(t=>this.showActions(t))}},methods:{showChangeAgeClassification(t){const e=this.$store.getters;return e.clubEnabledAgeClassifications.length===1&&e.clubEnabledAgeClassifications.includes(t.age_class)&&t.age_class===et?!1:Zn(this.$store)&&t.season_id===0&&!t.closed_at},changeAgeClassification(t){this.showChangeAgeClassification(t)&&this.$refs.changeAgeClassificationModal.showModal(t)},showActions(t){return this.showChangeAgeClassification(t)}}},Cv={class:"button is-text is-small has-text-primary","aria-label":"More actions"},Sv={class:"is-text-size-4"};function kv(t,e,i,l,a,s){const u=c("b-tab-item"),m=c("b-tabs"),f=c("b-table-column"),v=c("fa-icon"),y=c("b-dropdown-item"),g=c("b-dropdown"),b=c("BaseTable"),S=c("ChangeAgeClassificationModal");return d(),h("div",null,[n(b,{data:s.tabAssignments,"row-class":F=>"clickable",searchable:s.hasAssignments,name:"leagueAssignments",hoverable:"",onSelect:l.openAssignmentBuilder,onQueryUpdated:e[2]||(e[2]=F=>a.searchQuery=F)},{"header-left":o(()=>[s.hasAssignments?(d(),x(m,{key:0,modelValue:a.activeTab,"onUpdate:modelValue":e[0]||(e[0]=F=>a.activeTab=F),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[n(u,{label:"Open"}),n(u,{label:"Closed"})]),_:1},8,["modelValue"])):k("",!0)]),empty:o(()=>[...e[5]||(e[5]=[r("section",{class:"section"},[r("div",{class:"content has-text-grey has-text-centered"},[r("p",null,"No Team Assignments on League")])],-1)])]),default:o(()=>[n(f,{label:"Assignment",field:"name",sortable:""},{default:o(({row:F})=>[p(_(F.name),1)]),_:1}),n(f,{label:"Sign Up Program",field:"signup_program_name",sortable:""},{default:o(({row:F})=>[p(_(l.blankToDash(F.signup_program_name)),1)]),_:1}),n(f,{label:"# of Teams",field:"num_teams",numeric:"",sortable:""},{default:o(({row:F})=>[p(_(F.num_teams),1)]),_:1}),n(f,{label:"Players Assigned",field:"num_assigned",numeric:"",sortable:""},{default:o(({row:F})=>[p(_(F.num_assigned)+" of "+_(F.num_players),1)]),_:1}),n(f,{label:"Owner",field:"owner_name",sortable:""},{default:o(({row:F})=>[p(_(l.blankToDash(F.owner_name)),1)]),_:1}),n(f,{label:"Actions",visible:s.showActionColumn},{default:o(({row:F})=>[s.showActions(F)?(d(),x(g,{key:0,ref:"dropdown","aria-role":"menu",position:"is-bottom-left",onClick:e[1]||(e[1]=He(()=>{},["stop"]))},{trigger:o(()=>[r("a",Cv,[r("div",Sv,[n(v,{icon:["fal","ellipsis-h"]})])])]),default:o(()=>[s.showChangeAgeClassification(F)?(d(),x(y,{key:0,onClick:w=>s.changeAgeClassification(F)},{default:o(()=>[n(v,{icon:["far","pencil"],style:{"margin-right":"0.5rem"}}),e[4]||(e[4]=p(" Change Classification ",-1))]),_:1},8,["onClick"])):k("",!0)]),_:2},1536)):k("",!0)]),_:1},8,["visible"])]),_:1},8,["data","searchable","onSelect"]),n(S,{ref:"changeAgeClassificationModal",onRefresh:e[3]||(e[3]=F=>t.$emit("refresh"))},null,512)])}const wv=ie(bv,[["render",kv]]),Tv={key:0},pi="Manage Team Visibility",xv={__name:"LeagueTeamsTab",props:{league:{type:Object,required:!0}},setup(t){const e=Ei("refresh",()=>{}),i=t,l=lt(),a=Ii(),{ageRangeForSeasonTeam:s}=ji(),u=H(""),m=H(!1),f=H([]),v=H({}),y=H(!1),g=H(null),b=H(null),S=H(null),F=H(null),w=H(null),C=A(()=>xt(l,Kt)),D=A(()=>l.getters.teamsFilterActive),B=A(()=>{var ce;return(ce=i.league.season)==null?void 0:ce.age_class}),N=ce=>s(ce,B.value,!0),M=(ce,Z,se)=>We.sortTeamsByDefaultSeasonAgeClass(ce,Z,se,B.value),I=A(()=>l.getters.clubHasRegions),V=A(()=>l.getters.clubDictionary("Region")),P=ce=>!ce||ce.length===0?!1:ce.every(ke=>ke.number&&ke.number!=="")?!(ce.length===new Set(ce.map(ke=>ke.number)).size):!0,E=A(()=>{const ce=(i.league.league_teams||[]).map(Z=>Z.team).filter(Z=>!Z.archived);return ce.forEach(Z=>{Z.assignment_name=Z.team_assignment?Z.team_assignment.name:"",Z.has_jersey_number_conflict=P(Z.team_players),Z.has_restricted_visibility=!!(Z.hide_from_player||Z.hide_from_coach||Z.hide_from_manager)}),ce}),X=A(()=>E.value.some(ce=>ce.has_jersey_number_conflict)),q=ce=>{b.value.showModal(ce)},he=A(()=>{const ce=[];return X.value&&ce.push({text:"Team with jersey number issues",icon_layers:[{icon:["far","tshirt"],icon_class:"has-text-color-warning"},{icon:["fas","exclamation-circle"],icon_class:"has-text-color-warning",transform:"shrink-5 down-8 right-10"}]}),ce.push({icon:["fas","users-slash"],icon_color:"grey",text:"Team with restricted visibility"}),ce}),ve=(ce,Z)=>ce.reduce((se,ke)=>(Z&&(se[ke.id]=ke),se),{}),re=A({get(){return Object.values(v.value).filter(ce=>!!v.value[ce.id])},set(ce){y.value?(v.value=ve(E.value,g.value.getIsAllChecked()),y.value=!1):v.value=ve(ce,!0)}}),W=()=>{y.value=!0},K=A(()=>[{text:pi}]),j=ce=>{var Z;if(ce)S.value.showModal([ce],ce);else{const se=((Z=re.value)==null?void 0:Z.length)===1?re.value[0]:null;S.value.showModal(re.value,se)}},ge=ce=>{ce.text===pi&&j()},de=ce=>l.getters.canAdminRegionID(ce.club_region_id)?"clickable":"has-text-grey-light",we=ce=>{l.getters.canAdminRegionID(ce.club_region_id)&&a.push({name:"TeamSummary",params:{team:ce.id}})},U=()=>{F.value.showModal()},ee=()=>{w.value.showModal()},le=A(()=>({text:"Edit Jersey Numbers",onClick:q})),me=A(()=>({text:pi,onClick:j})),ne=ce=>{const Z=[me.value];return ce.num_players>0&&Z.unshift(le.value),[{isDropdown:!0,icon:["far","ellipsis-h"],subActions:Z}]},Ae=ce=>(m.value=!0,Q().post("club_admin/club_leagues/".concat(i.league.id),{extra:Object.assign({},i.league.extra,{track_roster_changes:ce})}).then(()=>{var Z,se;e(),(Z=F.value)==null||Z.close(),(se=w.value)==null||se.close()}).finally(()=>{m.value=!1}));return(ce,Z)=>{const se=c("AlertBox"),ke=c("fa-icon"),Me=c("b-table-column"),te=c("BaseTable");return d(),h("div",null,[t.league.sanctioning_body_id>0&&ce.$store.getters.isClubAdmin?(d(),h(G,{key:0},[t.league.extra&&t.league.extra.track_roster_changes&&C.value?(d(),x(se,{key:0,t
1ype:"info",message:"Roster tracking is enabled. You will be able to view the changes when they occur.","has-cta-button":"","cta-button-text":"Disable Roster Tracking",onConfirm:ee})):t.league.sanctioning_body.extra&&t.league.sanctioning_body.extra.track_roster_changes&&C.value?(d(),x(se,{key:1,type:"warning",message:"Enable roster tracking once the initial rosters are set in the league system.","has-cta-button":"","cta-button-text":"Enable Roster Tracking",onConfirm:U})):k("",!0)],64)):k("",!0),n(te,{ref_key:"leagueTeamsTable",ref:g,"checked-rows":re.value,"onUpdate:checkedRows":Z[2]||(Z[2]=R=>re.value=R),name:"leagueTeams",data:f.value,filterable:"","filters-active":D.value,"row-class":de,hoverable:"","legend-items":he.value,checkable:"","custom-row-key":"id",searchable:"",onQueryUpdated:Z[3]||(Z[3]=R=>u.value=R),onSelect:we,onCheckAll:W},{"header-left":o(()=>[n($(Ve),{size:"lg"},{default:o(()=>[p(_($(Fe)(E.value.length,"Team"))+" in "+_(t.league.name),1)]),_:1})]),"table-header":o(()=>[re.value.length?(d(),x($(_t),{key:0,"checked-rows":re.value,actions:K.value,onCtaClicked:ge,onOnCancel:Z[0]||(Z[0]=R=>re.value=[])},null,8,["checked-rows","actions"])):k("",!0)]),default:o(()=>[n(Me,{"custom-key":"restricted"},{default:o(({row:R})=>[R.has_restricted_visibility?(d(),x(ke,{key:0,icon:["fas","users-slash"],class:"has-text-grey"})):k("",!0)]),_:1}),n(Me,{visible:I.value,field:"region_name",label:V.value,sortable:""},{default:o(({row:R})=>[p(_(R.region_name),1)]),_:1},8,["visible","label"]),n(Me,{field:"name",label:"Team",sortable:""},{default:o(({row:R})=>[p(_(R.name),1)]),_:1}),n(Me,{field:"coach_sortable",label:"Head Coach",sortable:""},{default:o(({row:R})=>[p(_(R.coach_display_name),1)]),_:1}),n(Me,{field:"gender",label:"Gender",sortable:""},{default:o(({row:R})=>[p(_($(hs)(R.gender)),1)]),_:1}),n(Me,{label:"Age","custom-sort":M,sortable:""},{default:o(({row:R})=>[p(_(N(R)),1)]),_:1}),n(Me,{field:"num_players",label:"# Players",sortable:"",numeric:""},{default:o(({row:R})=>[p(_(R.num_players),1)]),_:1}),n(Me,{visible:X.value,field:"has_jersey_number_conflict",sortable:"","custom-key":"jersey-conflict"},{default:o(({row:R})=>[R.has_jersey_number_conflict?(d(),x(Eo,{key:0,type:"missing"})):k("",!0)]),_:1},8,["visible"]),n(Me,{field:"assignment_name",label:"Team Assignment",sortable:""},{default:o(({row:R})=>[R.team_assignment?(d(),h("span",Tv,_(R.assignment_name),1)):(d(),x($(ps),{key:1,"tag-text":"No Assignment",type:"is-danger-special"}))]),_:1}),n(Me,{label:"Actions",centered:""},{default:o(({row:R})=>[n($(Ni),{actions:ne(R),row:R,class:"has-text-left",onClick:Z[1]||(Z[1]=He(()=>{},["stop"]))},null,8,["actions","row"])]),_:1})]),_:1},8,["checked-rows","data","filters-active","legend-items"]),n(yo,{teams:E.value,"search-query":u.value,"show-archived-filter":!1,"hide-seasons":!0,"league-season-age-class":B.value,onFiltered:Z[4]||(Z[4]=R=>f.value=R)},null,8,["teams","search-query","league-season-age-class"]),n(Vo,{ref_key:"editJerseys",ref:b,onUpdated:$(e)},null,8,["onUpdated"]),n(Ro,{ref_key:"setRolePermissions",ref:S,onRefresh:$(e)},null,8,["onRefresh"]),n($(rt),{ref_key:"confirmEnableRosterTracking",ref:F,type:"is-primary",size:"sm",title:"Enable Roster Tracking","confirm-button-text":"Enable Roster Tracking",onConfirm:Z[5]||(Z[5]=R=>Ae(!0))},{default:o(()=>[...Z[7]||(Z[7]=[p(" Once roster tracking is enabled, you can view when roster changes occur for these teams, and mark them as resolved after they are reconciled in the league system. ",-1)])]),_:1},512),n($(rt),{ref_key:"confirmDisableRosterTracking",ref:w,type:"is-danger",size:"sm",title:"Disable Roster Tracking","confirm-button-text":"Disable Roster Tracking",onConfirm:Z[6]||(Z[6]=R=>Ae(!1))},{default:o(()=>[p(" You are about to disable roster tracking for "+_(t.league.name)+". Once disabled, tracking will stop and you will not be able to view or resolve previous Roster Changes. ",1),Z[8]||(Z[8]=r("br",null,null,-1)),Z[9]||(Z[9]=r("br",null,null,-1)),Z[10]||(Z[10]=p(" Are you sure that you wish to disable roster tracking? ",-1))]),_:1},512)])}}},Fv={key:0,class:"mt-4"},Av={class:"p-4"},Mv={class:"acceptance-summary-bolded"},Dv={class:"acceptance-summary-bolded"},Rv={__name:"AcceptVolunteerBulkModal",props:{league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}
1){const l=t,a=i,s=Se(),u=Vt(),m=H(null),f=A(()=>m.value===null),v=A(()=>m.value.every(P=>P.has_position_that_requires_clearance&&!P.is_clearance_met)),y=A(()=>m.value.filter(P=>P.has_position_that_requires_clearance&&!P.is_clearance_met).length),g=A(()=>y.value>=1),b=A(()=>m.value.length-y.value),S=A(()=>"".concat(b.value," accepted ").concat(Fe(b.value,"volunteer",!1))),F=A(()=>"".concat(y.value," pending ").concat(Fe(y.value,"volunteer",!1))),w=A(()=>u.enableLeagueStaffClearanceSubmissions),C=A(()=>w.value?g.value&&!v.value:!1),D=A(()=>{if(w.value){if(v.value)return"Volunteers require clearance for ".concat(l.league.name,". Once confirmed, the signups will be pending clearance and the individuals will receive clearance instructions.");if(g.value)return"You are about to accept ".concat(Fe(m.value.length,"volunteer"),"\n for ").concat(l.league.name,". Some league positions require clearance.")}return"You are about to accept ".concat(Fe(m.value.length,"volunteer"),".\n Once confirmed, the ").concat(Fe(m.value.length,"individual",!1),"\n will receive an acceptance notification.")}),B=A(()=>{if(f.value)return"Accept League Volunteer Signups";const P=m.value.length===1?"Signup":"Signups";return"Accept ".concat(m.value.length," League Volunteer ").concat(P)}),N=A(()=>f.value?"Accept Signups":"Accept ".concat(Fe(m.value.length,"Signup"))),M=_e("modal");function I(P){m.value=P,M.value.showModal()}e({showModal:I});async function V(){const P="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/decide"),E={status:Wt,league_volunteer_request_ids:m.value.map(X=>X.id)};try{await Q({showError:!1}).post(P,E),a("refresh"),M.value.close()}catch(X){throw s.error("Error while bulk accepting league volunteer request(s)"),X}}return(P,E)=>{const X=c("spinner");return d(),x($(rt),{ref:"modal",title:"Confirm",type:"is-primary",size:"md","confirm-button-text":N.value,onConfirm:V},{default:o(()=>[f.value?(d(),x(X,{key:0})):(d(),h(G,{key:1},[n($(Ve),{size:"lg"},{default:o(()=>[p(_(B.value),1)]),_:1}),r("p",null,_(D.value),1),C.value?(d(),h("div",Fv,[n($(Ve),{size:"sm",class:"mb-2"},{default:o(()=>[...E[0]||(E[0]=[p("Acceptance Summary",-1)])]),_:1}),n($(ms),null,{default:o(()=>[r("div",Av,[r("ul",null,[r("li",null,[r("span",Mv,_(S.value),1),E[1]||(E[1]=p(" will receive acceptance notifications",-1))]),r("li",null,[r("span",Dv,_(F.value),1),E[2]||(E[2]=p(" will receive clearance instructions",-1))])])])]),_:1})])):k("",!0)],64))]),_:1},8,["confirm-button-text"])}}},Iv=ie(Rv,[["__scopeId","data-v-4065f00f"]]),Ev={__name:"LeagueVolunteerRequestStatusTag",props:{status:{type:String,required:!0}},setup(t){const e=t,i=A(()=>e.status===Rt?"Needs Review":e.status===Qt?"Rejected":e.status===Wt?"Accepted":e.status===na?"Pending Clearance":e.status===ds?"Incomplete":""),l=A(()=>{switch(e.status){case Rt:return"needs-review";case na:return"pending-clearance";case ds:return"incomplete";default:return""}});return(a,s)=>{const u=c("fa-icon"),m=c("b-tag");return d(),h("div",null,[n(m,{class:Ce(["league-volunteer-request-status",l.value]),rounded:""},{default:o(()=>[t.status===$(Wt)?(d(),x(u,{key:0,class:"has-text-color-success",icon:["far","check"]})):t.status===$(Qt)?(d(),x(u,{key:1,class:"has-text-color-danger",icon:["far","ban"]})):k("",!0),p(" "+_(i.value),1)]),_:1},8,["class"])])}}},Gl=ie(Ev,[["__scopeId","data-v-9cd4d268"]]),Vv={class:"volunteer-information"},Pv={class:"volunteer-information__main-section"},Bv={class:"volunteer-information__main-section__name-column"},qv={class:"volunteer-information__main-section__name-column__name"},Ov={key:0},Uv={key:1},Lv={key:2,class:"volunteer-information__main-section__name-column__details-row"},Gv={key:0,class:"volunteer-information__main-section__name-column__details-row__status-section mr-6"},Nv={class:"volunteer-information__main-section__name-column__details-row__signup-section"},jv={key:0},Yv={class:"volunteer-information__positions-section"},_i=4,zv={__name:"LeagueVolunteerDetailsVolunteerInformation",props:{leagueVolunteerRequest:{type:Object,default:null},volunteerPositionsById:{type:Object,default:null},hideAvatar:{type:Boolean,default:!1},hideDetailsRow:{type:Boolean,default:!1},leagueRequiresAdminReviewAndAcceptance:{type:Boolean,default:!1}},setup(t){const e=t,{formatDate:i}=Xe(),l=A(()=>{var b;return(b=e.leagueVolunteerRequest)==null?void 0:b.volunteer}),a=A(()=>_s(l.value)),s=A(()=>{if(!e.leagueVolunteerRequest)return[];const b=e.volunteerPositionsById,S=e.leagueVolunteerRequest.position_ids.map(F=>b[F]);return O.sortBy(S,"id")}),u=A(()=>s.value.length>_i),m=A(()=>s.value.slice(0,_i)),f=H(!1),v=A(()=>!u.value||f.value?s.value:m.value);function y(){f.value=!f.value}const g=A(()=>{if(!u.value)return"";const b=s.value.length-_i;return f.value?"show less":"+".concat(b," more")});return(b,S)=>{const F=c("b-button");return d(),x(ms,null,{default:o(()=>[r("div",Vv,[r("div",Pv,[t.hideAvatar?k("",!0):(d(),x(Ui,{key:0,"context-type":"User",context:l.value,size:"25",class:"mr-2"},null,8,["context"])),r("div",Bv,[r("p",qv,_(a.value),1),l.value.email_private?k("",!0):(d(),h("p",Ov,_(l.value.email),1)),l.value.mobile_private?k("",!0):(d(),h("p",Uv,_(l.value.mobile_number),1)),t.hideDetailsRow?k("",!0):(d(),h("div",Lv,[b.leagueRequireAdminReviewAndAcceptance?(d(),h("div",Gv,[S[0]||(S[0]=r("p",{class:"volunteer-information__main-section__name-column__details-row__status-section__label"},"Status",-1)),n(Gl,{status:t.leagueVolunteerRequest.status},null,8,["status"])])):k("",!0),r("div",Nv,[S[1]||(S[1]=r("p",{class:"volunteer-information__main-section__name-column__details-row__status-section__label"},"Signup Date",-1)),t.leagueVolunteerRequest?(d(),h("p",jv,_($(i)(t.leagueVolunteerRequest.created_at,"ll")),1)):k("",!0)])]))])]),r("div",Yv,[S[2]||(S[2]=r("p",{class:"volunteer-information__positions-section__label"},"Positions Requested",-1)),(d(!0),h(G,null,ue(v.value,w=>(d(),h("p",{key:w.id}
1,_(w.name),1))),128)),u.value?(d(),x(F,{key:0,type:"is-ghost",onClick:y},{default:o(()=>[p(_(g.value),1)]),_:1})):k("",!0)])])]),_:1})}}},Ks=ie(zv,[["__scopeId","data-v-92b1d09d"]]),Nl={__name:"AcceptVolunteerSingleModal",props:{volunteerPositionsById:{type:Object,default:()=>({})},league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=Vt(),m=A(()=>u.enableLeagueStaffClearanceSubmissions),f=H(null),v=A(()=>f.value===null),y=A(()=>_s(f.value.volunteer)),g=A(()=>m.value&&f.value.has_position_that_requires_clearance&&!f.value.is_clearance_met?"".concat(y.value," requires clearance to volunteer for ").concat(l.league.name,". Once confirmed, the signup will be pending\n clearance and the individual will receive clearance instructions."):"You are about to accept ".concat(y.value," as a volunteer for ").concat(l.league.name,".\n Once confirmed, the individual will receive an acceptance notification.")),b=_e("modal");function S(w){f.value=w,b.value.showModal()}e({showModal:S});async function F(){const w="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(f.value.id,"/decide"),C={status:Wt};try{await Q({showError:!1}).post(w,C),a("refresh")}catch(D){throw s.error("Error while accepting league volunteer request"),D}b.value.close()}return(w,C)=>{const D=c("spinner");return d(),x($(rt),{ref:"modal",title:"Confirm",type:"is-primary",size:"md","confirm-button-text":"Accept Signup",onConfirm:F},{default:o(()=>[v.value?(d(),x(D,{key:0})):(d(),h(G,{key:1},[n($(Ve),{size:"lg"},{default:o(()=>[...C[0]||(C[0]=[p("Accept League Volunteer Signup",-1)])]),_:1}),r("p",null,_(g.value),1),n($(Ve),{size:"sm",class:"mt-6 mb-2"},{default:o(()=>[...C[1]||(C[1]=[p("Volunteer Details",-1)])]),_:1}),n(Ks,{"league-volunteer-request":f.value,"volunteer-positions-by-id":t.volunteerPositionsById,"hide-details-row":"","hide-avatar":""},null,8,["league-volunteer-request","volunteer-positions-by-id"])],64))]),_:1},512)}}},Hv={__name:"CloseLeagueSignupConfirmationModal",props:{league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=_e("modal");function m(){u.value.showModal()}async function f(){const v="club_admin/club_leagues/".concat(l.league.id),y={extra:{is_volunteer_signup_open:!1}};try{await Q().post(v,y),a("refresh")}catch(g){throw s.error("Unable to set league signup status"),g}u.value.close()}return e({showModal:m}),(v,y)=>(d(),x($(rt),{ref:"modal",type:"is-danger",icon:["far","power-off"],title:"Confirm",header:"You are about to close the league signup",description:"Closing the signup will prevent future submissions. All existing volunteers will remain in the league.","confirm-button-text":"Close Signup",loading:t.league===null,onConfirm:f},null,8,["loading"]))}},$v={__name:"LeagueVolunteerDetailsEditModal",props:{volunteerPositionsById:{type:Object,default:()=>({})},league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=Se(),s=i,u=H(null),m=H(null),f=A(()=>u.value===null||m.value===null),v=A(()=>m.value.values_json),y=H([]),g=H(!1);function b(B){g.value=B}const S=A(()=>y.value.length===0||g.value),F=A(()=>{var N,M;if(!l.league)return[];const B=l.volunteerPositionsById;return(((M=(N=l.league)==null?void 0:N.extra)==null?void 0:M.volunteer_position_ids)||[]).map(I=>B[I]).filter(I=>!I.archived&&I.is_league_position)}),w=_e("modal");function C(B,N){m.value=O.cloneDeep(B),y.value=[...B.position_ids],u.value=N,w.value.showModal()}async function D(){const B={position_ids:y.value,values_json:{...v.value}};try{await Q().post("/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(m.value.id),B),a.success("League volunteer request updated"),s("refresh",m.value.id)}catch(N){throw a.error("Failed to update league volunteer request"),N}w.value.close()}return e({showModal:C}),(B,N)=>{const M=c("spinner"),I=c("b-button");return d(),x($(pt),{ref:"modal",title:"Edit Volunteer Questions"},{footer:o(()=>[n(I,{type:"is-primary",disabled:S.value,onClick:D},{default:o(()=>[...N[1]||(N[1]=[p(" Save ",-1)])]),_:1},8,["disabled"])]),default:o(()=>[f.value?(d(),x(M,{key:0})):(d(),h(G,{key:1},[n(Fr,{"selected-positions":y.value,"onUpdate:selectedPositions":N[0]||(N[0]=V=>y.value=V),"available-league-volunteer-positions":F.value},null,8,["selected-positions","available-league-volunteer-positions"]),n(kl,{class:"mt-4","volunteer-signup-template":u.value,"preview-data":m.value.values_json,"waiver-user-id":m.value.user_id,onInvalid:b},null,8,["volunteer-signup-template","preview-data","waiver-user-id"])],64))]),_:1},512)}}},jl={__name:"RejectVolunteerSingleModal",props:{volunteerPositionsById:{type:Object,default:()=>({})},league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=H(null),m=A(()=>u.value===null),f=A(()=>_s(u.value.volunteer)),v=H(""),y=A(()=>v.value===""),g=_e("modal");function b(F){v.value="",u.value=F,g.value.showModal()}e({showModal:b});async function S(){const F="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(u.value.id,"/decide"),w={status:Qt,reviewed_message:v.value};try{await Q({showError:!1}).post(F,w),a("refresh")}catch(C){throw s.error("Error while rejecting league volunteer request"),C}g.value.close()}return(F,w)=>{const C=c("spinner"),D=c("b-input");return d(),x($(rt),{ref:"modal",title:"Confirm",type:"is-danger",size:"md","confirm-button-text":"Reject Signup",disabled:y.value,onConfirm:S},{default:o(()=>[m.value?(d(),x(C,{key:0})):(d(),h(G,{key:1},[n($(Ve),{size:"lg"},{default:o(()=>[...w[1]||(w[1]=[p("Reject League Volunteer Signup",-1)])]),_:1}),r("p",null," You are about to reject "+_(f.value)+" as a volunteer for "+_(t.league.name)+". Once confirmed, the individual will be marked as ineligible to volunteer and will receive a notification regarding this decision with the reason listed below. ",1),n($(Ve),{size:"sm",class:"mt-6 mb-2"},{default:o(()=>[...w[2]||(w[2]=[p("Volunteer Details",-1)])]),_:1}),n(Ks,{"league-volunteer-request":u.value,"volunteer-positions-by-id":t.volunteerPositionsById,"hide-details-row":"","hide-avatar":""},null,8,["league-volunteer-request","volunteer-positions-by-id"]),n($(Ve),{size:"sm",class:"mt-6 mb-2"},{default:o(()=>[...w[3]||(w[3]=[p("Reject Reason",-1)])]),_:1}),n(D,{modelValue:v.value,"onUpdate:modelValue":w[0]||(w[0]=B=>v.value=B),modelModifiers:{trim:!0},placeholder:"Type here...",maxlength:"500",type:"textarea"},null,8,["modelValue"])],64))]),_:1},8,["disabled"])}}},Wv={class:"is-flex is-align-items-center"}
1,Qv={class:"icon"},Jv={class:"dropdown-item-content"},Kv={class:"dropdown-item-icon has-text-color-success"},Xv={class:"dropdown-item-content"},Zv={class:"dropdown-item-icon has-text-color-danger"},eb={class:"is-flex is-justify-content-space-between is-align-items-center mt-6"},tb={__name:"LeagueVolunteerDetailsModal",props:{volunteerPositionsById:{type:Object,default:()=>({})},league:{type:Object,default:()=>({})}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=H(0),m=A(()=>{var X;return(X=l.league.extra)==null?void 0:X.require_admin_review_and_acceptance}),f=H(null),v=A(()=>f.value===null),y=H(null),g=A(()=>{var X;return((X=y.value)==null?void 0:X.status)===Rt}),b=A(()=>g.value?"Render Decision":"Change Status");async function S(X){const he=gt({volunteer:!0,has_position_that_requires_clearance:!0,is_clearance_met:!0});try{const ve=await Q().get("/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(X,"?populate=").concat(he));y.value=ve.data}catch(ve){throw s.error("Failed to load league volunteer request"),ve}}async function F(){await S(y.value.id),u.value+=1}const w=_e("modal");async function C(X,q){await S(X.id),f.value=q,w.value.showModal()}const D=_e("editModal");function B(){D.value.showModal(y.value,f.value)}function N(){a("refresh")}const M=_e("acceptVolunteerSingleModal");function I(){M.value.showModal(y.value)}const V=_e("rejectVolunteerSingleModal");function P(){V.value.showModal(y.value)}async function E(){const X="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(y.value.id,"/decide"),q={status:Rt};try{await Q({showError:!1}).post(X,q)}catch(he){throw s.error("Error while updating league volunteer request"),he}await F()}return e({showModal:C}),(X,q)=>{const he=c("fa-icon"),ve=c("b-button"),re=c("b-dropdown-item"),W=c("b-dropdown"),K=c("spinner");return d(),h(G,null,[n($(pt),{ref:"modal",title:"Volunteer Details",onClose:N},ht({default:o(()=>[v.value?(d(),x(K,{key:0})):(d(),h(G,{key:1},[n(Ks,{"league-volunteer-request":y.value,"volunteer-positions-by-id":t.volunteerPositionsById,"league-requires-admin-review-and-acceptance":m.value},null,8,["league-volunteer-request","volunteer-positions-by-id","league-requires-admin-review-and-acceptance"]),r("div",eb,[n($(Ve),{size:"md"},{default:o(()=>[...q[3]||(q[3]=[p("Form Responses",-1)])]),_:1}),n(ve,{type:"is-dark",onClick:B},{default:o(()=>[...q[4]||(q[4]=[p("Edit Responses",-1)])]),_:1})]),(d(),x(kl,{key:u.value,class:"mt-4","volunteer-signup-template":f.value,"preview-data":y.value.values_json,"waiver-user-id":y.value.user_id,"is-read-only":"","is-preview":""},null,8,["volunteer-signup-template","preview-data","waiver-user-id"]))],64))]),_:2},[m.value?{name:"header-actions",fn:o(()=>[n(W,{disabled:v.value,position:"is-bottom-left",class:"is-font-fira","aria-role":"menu"},{trigger:o(()=>[n(ve,null,{default:o(()=>[r("div",Wv,[r("span",null,_(b.value),1),r("span",Qv,[n(he,{icon:["far","angle-down"]})])])]),_:1})]),default:o(()=>[g.value?(d(),x(re,{key:0,onClick:I},{default:o(()=>[r("div",Jv,[r("span",Kv,[n(he,{icon:["fas","check-circle"]})]),q[0]||(q[0]=r("span",null,"Accept",-1))])]),_:1})):k("",!0),g.value?(d(),x(re,{key:1,onClick:P},{default:o(()=>[r("div",Xv,[r("span",Zv,[n(he,{icon:["far","ban"]})]),q[1]||(q[1]=r("span",null,"Reject",-1))])]),_:1})):k("",!0),g.value?k("",!0):(d(),x(re,{key:2,onClick:E},{default:o(()=>[...q[2]||(q[2]=[r("div",{class:"dropdown-item-content"},[r("span",null,"Mark as Needs Review")],-1)])]),_:1}))]),_:1},8,["disabled"])]),key:"0"}:void 0]),1536),n($v,{ref:"editModal",league:t.league,"volunteer-positions-by-id":t.volunteerPositionsById,onRefresh:F},null,8,["league","volunteer-positions-by-id"]),n(Nl,{ref:"acceptVolunteerSingleModal","volunteer-positions-by-id":t.volunteerPositionsById,league:t.league,onRefresh:F},null,8,["volunteer-positions-by-id","league"]),n(jl,{ref:"rejectVolunteerSingleModal","volunteer-positions-by-id":t.volunteerPositionsById,league:t.league,onRefresh:F},null,8,["volunteer-positions-by-id","league"])],64)}}},sb=ie(tb,[["__scopeId","data-v-3d972cc3"]]),ib={__name:"ClearanceFilter",props:pn({label:{type:String,default:"Clearance"},options:{type:Array,required:!0},defaultOpen:{type:Boolean,default:!1}},{modelValue:{type:Array},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const e=gn(t,"modelValue"),i=A(()=>!O.isEmpty(e.value));return(l,a)=>{const s=c("b-checkbox"),u=c("b-field");return d(),x(at,{collapsible:!0,"default-open":t.defaultOpen,"filter-active":i.value,label:t.label},{default:o(()=>[n(u,null,{default:o(()=>[r("div",null,[(d(!0),h(G,null,ue(t.options,m=>(d(),h("div",{key:m.name,class:"field"},[n(s,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=f=>e.value=f),"native-value":m.name},{default:o(()=>[p(_(m.name),1)]),_:2},1032,["modelValue","native-value"])]))),128))])]),_:1})]),_:1},8,["default-open","filter-active","label"])}}},ab={__name:"VolunteerRequestStatusFilter",props:{label:{type:String,default:"Status"},modelValue:{type:Array,required:!0},statuses:{type:Array,required:!0},defaultOpen:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const i=t,l=e,a=H(O.clone(i.modelValue)),s=A(()=>!O.isEmpty(a.value));It(()=>i.modelValue,()=>{a.value=O.clone(i.modelValue)},{deep:1});function u(){l("update:modelValue",a.value)}return(m,f)=>{const v=c("b-checkbox"),y=c("b-field");return d(),x(at,{collapsible:!0,"default-open":t.defaultOpen,"filter-active":s.value,label:t.label},{default:o(()=>[n(y,null,{default:o(()=>[r("div",null,[(d(!0),h(G,null,ue(t.statuses,g=>(d(),h("div",{key:g.value,class:"field"},[n(v,{modelValue:a.value,"onUpdate:modelValue":[f[0]||(f[0]=b=>a.value=b),u],"native-value":g.value},{default:o(()=>[p(_(g.name),1)]),_:2},1032,["modelValue","native-value"])]))),128))])]),_:1})]),_:1},8,["default-open","filter-active","label"])}}},lb={__name:"LeagueVolunteersFilter",props:{volunteers:{type:Array,default:()=>[]},positions:{type:Array,default:()=>[]},statuses:{type:Array,default:()=>[]},filters:{type:Object,default:()=>({})},isFiltersActive:{type:Boolean,default:!1},searchQuery:{type:String,default:""},hideStatusFilter:{type:Boolean,default:!1},hideClearanceFilter:{type:Boolean,default:!1}},emits:["clearFilters","volunteersChanged","update:filters"],setup(t,{emit:e}){const i=t,l=e,a=A(()=>[{name:"Not Needed"},{name:"Required"}]),s=A(()=>i.searchQuery.toLocaleLowerCase().trim());function u(D,B){return O.isEmpty(D.positions)?!0:(Array.isArray(B.position_ids)?B.position_ids:[]).some(M=>D.positions.includes(M))}function m(D,B){return i.hideStatusFilter||O.isEmpty(D.statuses)?!0:D.statuses.includes(B.status)}function f(D,B){return i.hideClearanceFilter||O.isEmpty(D.clearances)?!0:D.clearances.includes(B.clearanceValue)}function v(D){const B=s.value;return i.volunteers.filter(N=>{var M;return!s.value||((M=N.name)==null?void 0:M.toLocaleLowerCase().includes(B))}).filter(N=>u(D,N)).filter(N=>m(D,N)).filter(N=>f(D,N))}function y(D){const B=v(D);l("volunteersChanged",B)}It(()=>i.searchQuery,()=>{y(i.filters)});const g=A({get(){return i.filters},set(D){y(D),l("update:filters",D)}});function b(D){return B=>{g.value={...g.value,[D]:B}}}const S=b("positions"),F=b("statuses"),w=b("clearances");It(()=>i.hideStatusFilter,D=>{D&&F([])});function C(){l("clearFilters")}return(D,B)=>(d(),x(Bt,{title:"Filter","filters-active":t.isFiltersActive,onClearFilters:C},{default:o(()=>[n(Po,{"model-value":g.value.positions,positions:t.positions,"is-searchable-multi-select":"","default-open":"","onUpdate:modelValue":$(S)},null,8,["model-value","positions","onUpdate:modelValue"]),t.hideStatusFilter?k("",!0):(d(),x(ab,{key:0,"model-value":g.value.statuses,statuses:t.statuses,"default-open":"","onUpdate:modelValue":$(F)},null,8,["model-value","statuses","onUpdate:modelValue"])),t.hideClearanceFilter?k("",!0):(d(),x(ib,{key:1,"model-value":g.value.clearances,options:a.value,"default-open":"","onUpdate:modelValue":$(w)}
1,null,8,["model-value","options","onUpdate:modelValue"]))]),_:1},8,["filters-active"]))}},nb={__name:"OpenLeagueSignupConfirmationModal",props:{league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=_e("modal");function m(){u.value.showModal()}async function f(){const v="club_admin/club_leagues/".concat(l.league.id),y={extra:{is_volunteer_signup_open:!0}};try{await Q().post(v,y),a("refresh")}catch(g){throw s.error("Unable to set league signup status"),g}u.value.close()}return e({showModal:m}),(v,y)=>(d(),x($(rt),{ref:"modal",type:"is-primary",title:"Confirm",header:"You are about to open the league signup",description:"New volunteer submissions can be captured through the signup form.","confirm-button-text":"Confirm",loading:t.league===null,onConfirm:f},null,8,["loading"]))}},rb={__name:"RejectVolunteerBulkModal",props:{league:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=H(null),m=A(()=>u.value===null),f=H(""),v=A(()=>f.value===""),y=A(()=>{if(m.value)return"Reject League Volunteer Signups";const w=u.value.length===1?"Signup":"Signups";return"Reject ".concat(u.value.length," League Volunteer ").concat(w)}),g=A(()=>m.value?"Reject Signups":"Reject ".concat(Fe(u.value.length,"Signup"))),b=_e("modal");function S(w){f.value="",u.value=w,b.value.showModal()}e({showModal:S});async function F(){const w="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/decide"),C={status:Qt,league_volunteer_request_ids:u.value.map(D=>D.id),reviewed_message:f.value};try{await Q({showError:!1}).post(w,C),a("refresh"),b.value.close()}catch(D){throw s.error("Error while bulk rejecting league volunteer request(s)"),D}}return(w,C)=>{const D=c("b-input");return d(),x($(rt),{ref:"modal",title:"Confirm",type:"is-danger",size:"md","confirm-button-text":g.value,disabled:v.value,onConfirm:F},{default:o(()=>[n($(Ve),{size:"lg"},{default:o(()=>[p(_(y.value),1)]),_:1}),r("p",null," You are about to reject "+_($(Fe)(u.value.length,"volunteer"))+". Once confirmed, the "+_($(Fe)(u.value.length,"individual",!1))+" will be marked as ineligible to volunteer and will receive a notification regarding this decision with the reason listed below. ",1),n($(Ve),{size:"sm",class:"mt-6 mb-2"},{default:o(()=>[...C[1]||(C[1]=[p("Reject Reason",-1)])]),_:1}),n(D,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=B=>f.value=B),modelModifiers:{trim:!0},placeholder:"Type here...",maxlength:"500",type:"textarea"},null,8,["modelValue"])]),_:1},8,["confirm-button-text","disabled"])}}},Yl={__name:"RemoveVolunteerConfirmationModal",props:{league:{type:Object,default:null},volunteerPositionsById:{type:Object,default:null}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=H(null),m=A(()=>u.value===null||l.league===null),f=A(()=>_s(u.value.volunteer)),v=_e("modal");function y(b){u.value=b,v.value.showModal()}async function g(){const b="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(u.value.id);try{await Q({showError:!1}).delete(b),a("refresh")}catch(S){throw s.error("Error while removing league volunteer"),S}v.value.close()}return e({showModal:y}),(b,S)=>{const F=c("spinner");return d(),x($(rt),{ref:"modal",type:"is-danger",title:"Confirm","confirm-button-text":"Remove Volunteer",loading:t.league===null,onConfirm:g},{default:o(()=>[m.value?(d(),x(F,{key:0})):(d(),h(G,{key:1},[n($(Ve),{size:"lg"},{default:o(()=>[...S[0]||(S[0]=[p("Remove Volunteer from League",-1)])]),_:1}),r("p",null," You are about to remove "+_(f.value)+" from "+_(t.league.name)+". Once confirmed, the individual will be removed from the league volunteers list. This action cannot be reversed. ",1),S[2]||(S[2]=r("br",null,null,-1)),S[3]||(S[3]=r("p",null,"Are you sure you want to remove the volunteer?",-1)),t.volunteerPositionsById?(d(),h(G,{key:0},[n($(Ve),{size:"sm",class:"mt-6 mb-2"},{default:o(()=>[...S[1]||(S[1]=[p("Volunteer Details",-1)])]),_:1}),n(Ks,{"league-volunteer-request":u.value,"volunteer-positions-by-id":t.volunteerPositionsById,"hide-details-row":"","hide-avatar":""},null,8,["league-volunteer-request","volunteer-positions-by-id"])],64)):k("",!0)],64))]),_:1},8,["loading"])}}},ob={class:"league-volunteers-table-header"},db={class:"dropdown-item-content"},ub={class:"dropdown-item-icon has-text-color-success"},cb={class:"dropdown-item-content"},mb={class:"dropdown-item-icon has-text-color-danger"},fb={key:0},hb={class:"dropdown-item-content"},gb={class:"dropdown-item-icon has-text-color-success"},pb={class:"dropdown-item-content"},_b={class:"dropdown-item-icon has-text-color-danger"},yb={class:"dropdown-item-content has-text-color-danger"},vb={class:"dropdown-item-icon"},va="leagueVolunteerRequests",bb="Compose Message",Cb={__name:"LeagueVolunteersTab",props:{league:{type:Object,required:!0}},emits:["refresh","addVolunteer"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=lt(),m=Vt(),f=H(""),{formatDate:v}=Xe(),y=A(()=>!!l.league.archived_at),g=H([]),b=A(()=>g.value.length>0),S=A(()=>{var Je,Ne;const ae=(((Ne=(Je=l.league)==null?void 0:Je.sanctioning_body)==null?void 0:Ne.sanctioning_body_clearance_requirements)||[]).filter(Ke=>!Ke.archived_at),fe=[];return ae.forEach(Ke=>{var Mt;((Mt=Ke.volunteer_position_ids)==null?void 0:Mt.length)>0&&fe.push(...Ke.volunteer_position_ids)}),O.uniq(fe)}),F=A(()=>{var ae;return!!((ae=l.league.extra)!=null&&ae.is_volunteer_signup_open)});function w(ae){var fe;return(fe=l.league.extra)!=null&&fe.require_admin_review_and_acceptance?!!ae:!0}const C=_e("openLeagueSignupConfirmationModal");function D(){C.value.showModal()}const B=_e("closeLeagueSignupConfirmationModal");function N(){B.value.showModal()}const M=_e("messageVolunteersModal");
1function I(){const fe={bcc_recipients:g.value.map(Je=>({id:"user_".concat(Je.user_id),name:Je.name})),recipient_type:"Volunteer"};M.value.show(fe)}const V={positions:[],statuses:[],clearances:[]};function P(){return{...V}}const E=H([]),X=H(P());function q(ae){E.value=[...ae]}function he(){X.value=P(),E.value=[]}const ve=A(()=>!O.isEqual(X.value,P())),re=A(()=>l.league.volunteer_requests||[]),W=A(()=>O.keyBy(re.value,"id")),K=A(()=>{var ae;return(ae=l.league.extra)==null?void 0:ae.require_admin_review_and_acceptance});function j(ae){return K.value?ae.isAccepted||ae.isRejected:!1}const ge=A(()=>re.value.some(ae=>ae.status===Rt)),de=A(()=>re.value.some(ae=>ae.status===ds)),we=A(()=>{const ae=[{name:"Needs Review",value:Rt},{name:"Accepted",value:Wt},{name:"Rejected",value:Qt}];return de.value&&ae.push({name:"Incomplete",value:ds}),ae}),U=A(()=>K.value?"No Accepted Volunteers":"No Volunteer Signups"),ee=A(()=>K.value?"Accepted volunteers will appear here once a decision has been rendered.":"Volunteer Signups will appear here once submitted."),le=A(()=>{const ae=[];return K.value?(ge.value&&ae.push({id:0,name:"Needs Review"}),ae.push({id:1,name:"Accepted"}),ae.push({id:2,name:"All Volunteers"}),ae):de.value?(ae.push({id:0,name:"Complete"}),ae.push({id:1,name:"Incomplete"}),ae):[]}),me=H(0),ne=A(()=>le.value[me.value]),Ae=A(()=>{var ae;return((ae=ne.value)==null?void 0:ae.name)==="Needs Review"}),ce=A(()=>{var ae;return((ae=ne.value)==null?void 0:ae.name)==="Accepted"}),Z=A(()=>{var ae;return((ae=ne.value)==null?void 0:ae.name)==="All Volunteers"}),se=A(()=>{var ae;return((ae=ne.value)==null?void 0:ae.name)==="Complete"}),ke=A(()=>{var ae;return((ae=ne.value)==null?void 0:ae.name)==="Incomplete"}),Me=A(()=>K.value?!0:le.value.length>0),te=A(()=>K.value?Ae.value||ce.value:!0),R=H(null),z=A(()=>O.keyBy(R.value,"id")),pe=A(()=>{var Ne;if(!l.league)return[];const ae=z.value,fe=(((Ne=l.league)==null?void 0:Ne.volunteer_requests)||[]).flatMap(Ke=>Array.isArray(Ke.position_ids)?Ke.position_ids:[]);return(O.uniq(fe)||[]).map(Ke=>ae[Ke]).filter(Ke=>!Ke.archived&&Ke.is_league_position)});async function Ue(){try{const ae=await Q().get("/club/volunteer_positions");R.value=ae.data}catch(ae){throw s.error("Failed to get Volunteer Positions"),ae}}const xe=A(()=>l.league===null||R.value===null);function J(ae){var Ne;const fe=z.value,Je=ae[0];return(Ne=fe[Je])==null?void 0:Ne.name}function oe(ae){if(ae.length===0)return"";const fe=z.value,Je=ae[0],Ne=fe[Je];if(!Ne)return"";if(ae.length===1)return Ne.name;{const Ke=ae.length-1;return"".concat(Ne.name," + ").concat(Ke)}}const De=A(()=>m.enableLeagueStaffClearanceSubmissions);function Ze(ae){return De.value?ra(ae.position_ids,S.value)?"Required":"Not Needed":""}const Ee=A(()=>re.value.length===0?[]:re.value.map(ae=>{const fe=O.sortBy(ae.position_ids||[]);return{id:ae.id,user_id:ae.user_id,name:_s(ae.volunteer),positions:oe(fe),created_at:ae.created_at,position_ids:ae.position_ids,firstPositionName:J(fe),isNeedsReview:ae.status===Rt,isAccepted:ae.status===Wt,isRejected:ae.status===Qt,isIncomplete:ae.status===ds,status:ae.status,clearanceValue:Ze(ae)}})),st=A(()=>E.value.length>0?E.value:ve.value||f.value?[]:Ee.value),Le=A(()=>O.orderBy(st.value,"created_at","desc")),Ge=A(()=>{if(K.value)return Z.value||le.value.length===0?Le.value:Ae.value?Le.value.filter(ae=>ae.isNeedsReview):ce.value?Le.value.filter(ae=>ae.isAccepted):[];if(de.value){if(se.value)return Le.value.filter(ae=>!ae.isIncomplete);if(ke.value)return Le.value.filter(ae=>ae.isIncomplete)}return Le.value}),Oe=A(()=>Ee.value.length>0&&Ge.value.length===0&&(ve.value||!!f.value)),At=A(()=>{const ae=S.value;return Ee.value.some(fe=>ra(fe.position_ids,ae))}),dt=A(()=>De.value&&At.value),Ss=A(()=>Fe(Ge.value.length,"Volunteer")),Gt=_e("leagueVolunteerDetailsModal");function Xt(ae){const fe=W.value[ae.id],Je={...l.league.volunteer_signup_template};Gt.value.showModal(fe,Je)}function vt(){a("refresh")}function $e(){a("addVolunteer")}function Xs(ae){me.value=ae,g.value=[]}const ks=_e("acceptVolunteerSingleModal");function Zs(ae){const fe=W.value[ae.id];fe&&ks.value.showModal(fe)}const ws=_e("acceptVolunteerBulkModal");function Ts(){if(g.value.length===0)return;const ae=g.value.map(fe=>W.value[fe.id]);ws.value.showModal(ae)}const xs=_e("rejectVolunteerBulkModal");function Fs(){if(g.value.length===0)return;const ae=g.value.map(fe=>W.value[fe.id]);xs.value.showModal(ae)}function Zt(){me.value=0,vt()}const Nt=_e("rejectVolunteerSingleModal");function ei(ae){const fe=W.value[ae.id];fe&&Nt.value.showModal(fe)}const As=_e("removeVolunteerConfirmationModal");function Ms(ae){const fe=W.value[ae.id];fe&&As.value.showModal(fe)}async function Ds(ae){const fe="/club_admin/club_leagues/".concat(l.league.id,"/league_volunteer_requests/").concat(ae.id,"/decide"),Je={status:Rt};try{await Q({showError:!1}).post(fe,Je),vt()}catch(Ne){throw s.error("Error while updating league volunteer request"),Ne}}function St(){u.commit("setTableDataFor",{name:va,search:""}),f.value="",he()}return e({showVolunteerDetails:Xt}),Ue(),(ae,fe)=>{const Je=c("spinner"),Ne=c("b-button"),Ke=c("b-tooltip"),Mt=c("AlertBox"),kt=c("fa-icon"),bt=c("b-dropdown-item"),es=c("b-dropdown"),wt=c("b-table-column"),ti=c("BaseTable");return d(),h(G,null,[xe.value?(d(),x(Je,{key:0})):(d(),h(G,{key:1}
1,[F.value?(d(),x(Mt,{key:1,type:"success",headline:"Signup is Open",message:"This league is actively collecting volunteer signups.",icon:["fas","circle-check"]},{ctas:o(()=>[n(Ne,{onClick:N},{default:o(()=>[...fe[8]||(fe[8]=[p(" Close Signup ",-1)])]),_:1})]),_:1})):(d(),x(Mt,{key:0,type:"neutral",headline:"Signup Closed",message:"This league is not currently collecting volunteer signups.",icon:["far","power-off"]},{ctas:o(()=>[n(Ke,{active:y.value,label:"You must unarchive the league before opening the signup",position:"is-bottom",type:"is-white",size:"is-small",multilined:""},{default:o(()=>[n(Ne,{class:"is-dark",disabled:y.value,onClick:D},{default:o(()=>[...fe[7]||(fe[7]=[p(" Open Signup ",-1)])]),_:1},8,["disabled"])]),_:1},8,["active"])]),_:1})),re.value.length===0?(d(),x(fs,{key:2,header:"No League Volunteers",body:"Volunteers will appear here once league signups are submitted.","img-src":"/static/images/empty-states-icons/g_lists_users.png"},{action:o(()=>[n(Ne,{type:"is-primary",inverted:"",onClick:$e},{default:o(()=>[...fe[9]||(fe[9]=[p(" Add Volunteer ",-1)])]),_:1})]),_:1})):(d(),x(ti,{key:3,"checked-rows":g.value,"onUpdate:checkedRows":fe[2]||(fe[2]=Re=>g.value=Re),"search-query":f.value,"onUpdate:searchQuery":fe[3]||(fe[3]=Re=>f.value=Re),data:Ge.value,"custom-row-key":"id",searchable:"",filterable:"",hoverable:"",checkable:"","filters-active":ve.value,"row-class":()=>"clickable",name:va,"use-empty-search":Oe.value,onQueryUpdated:fe[4]||(fe[4]=Re=>f.value=Re),onSelect:Xt},{"header-left":o(()=>[Me.value?(d(),x($s,{key:0,"active-tab":me.value,tabs:le.value,"onUpdate:activeTab":Xs},null,8,["active-tab","tabs"])):k("",!0)]),"table-header":o(()=>[r("div",ob,[n(Ve,{size:"sm",class:"mb-2"},{default:o(()=>[p(_(Ss.value),1)]),_:1}),b.value?(d(),x(_t,{key:0,"checked-rows":g.value,onOnCancel:fe[0]||(fe[0]=Re=>g.value=[])},{content:o(()=>[Ae.value?(d(),x(es,{key:0,class:"mr-2"},{trigger:o(()=>[n(Ne,{class:"is-primary","icon-right":"angle-down"},{default:o(()=>[...fe[10]||(fe[10]=[p(" Render Decision ",-1)])]),_:1})]),default:o(()=>[n(bt,{onClick:Ts},{default:o(()=>[r("div",db,[r("span",ub,[n(kt,{icon:["fas","check-circle"]})]),fe[11]||(fe[11]=r("span",null,"Accept",-1))])]),_:1}),n(bt,{onClick:Fs},{default:o(()=>[r("div",cb,[r("span",mb,[n(kt,{icon:["far","ban"]})]),fe[12]||(fe[12]=r("span",null,"Reject",-1))])]),_:1})]),_:1})):k("",!0),n(Ne,{type:"is-primary",onClick:I},{default:o(()=>[r("span",null,_(bb))]),_:1})]),_:1},8,["checked-rows"])):k("",!0)])]),empty:o(()=>[Oe.value?(d(),x(tr,{key:0,filterable:"",onClearSearchAndFilters:St})):(d(),x(fs,{key:1,header:U.value,body:ee.value},null,8,["header","body"]))]),default:o(()=>[n(wt,{label:"Volunteer Name",field:"name",sortable:""},{default:o(({row:Re})=>[p(_(Re.name),1)]),_:1}),n(wt,{label:"Requested Roles",field:"firstPositionName",sortable:""},{default:o(({row:Re})=>[p(_(Re.positions),1)]),_:1}),n(wt,{label:"Submission Date",field:"created_at",sortable:""},{default:o(({row:Re})=>[p(_($(v)(Re.created_at,"ll")),1)]),_:1}),n(wt,{visible:dt.value,label:"Clearance"},{default:o(({row:Re})=>[r("span",{class:Ce({"not-needed-label":Re.clearanceValue==="Not Needed"})},_(Re.clearanceValue),3)]),_:1},8,["visible"]),n(wt,{visible:Z.value,label:"Signup Status",field:"status",sortable:""},{default:o(({row:Re})=>[n(Gl,{status:Re.status},null,8,["status"])]),_:1},8,["visible"]),n(wt,{centered:"",label:"Actions","cell-class":"is-nowrap"},{default:o(({row:Re})=>[n(es,{ref:"actions_dropdown__".concat(Re.id),position:"is-bottom-left",class:"has-text-left",onClick:fe[1]||(fe[1]=He(()=>{},["stop"]))},{trigger:o(()=>[n(Ne,{class:"is-text","aria-label":"more actions",onBlur:jt=>ae.$refs["actions_dropdown__".concat(Re.id)].isActive=!1},{default:o(()=>[n(kt,{icon:["far","ellipsis-h"]})]),_:1},8,["onBlur"])]),default:o(()=>[Re.isNeedsReview?(d(),h("div",fb,[...fe[13]||(fe[13]=[r("p",{class:"render-decision-heading"},"Render Decision",-1)])])):k("",!0),Re.isNeedsReview?(d(),x(bt,{key:1,onClick:jt=>Zs(Re)},{default:o(()=>[r("div",hb,[r("span",gb,[n(kt,{icon:["fas","check-circle"]})]),fe[14]||(fe[14]=r("span",null,"Accept",-1))])]),_:1},8,["onClick"])):k("",!0),Re.isNeedsReview?(d(),x(bt,{key:2,onClick:jt=>ei(Re)},{default:o(()=>[r("div",pb,[r("span",_b,[n(kt,{icon:["far","ban"]})]),fe[15]||(fe[15]=r("span",null,"Reject",-1))])]),_:1},8,["onClick"])):k("",!0),Re.isNeedsReview?(d(),x(bt,{key:3,separator:""})):k("",!0),w(Re.isNeedsReview)?(d(),x(bt,{key:4,onClick:jt=>Ms(Re)},{default:o(()=>[r("div",yb,[r("span",vb,[n(kt,{icon:["far","minus-hexagon"]})]),fe[16]||(fe[16]=r("span",null,"Remove Volunteer",-1))])]),_:1},8,["onClick"])):k("",!0),j(Re)?(d(),x(bt,{key:5,onClick:jt=>Ds(Re)},{default:o(()=>[...fe[17]||(fe[17]=[r("div",{class:"dropdown-item-content"},[r("span",null,"Mark as Needs Review")],-1)])]),_:1},8,["onClick"])):k("",!0)]),_:2},1536)]),_:1})]),_:1},8,["checked-rows","search-query","data","filters-active","use-empty-search"])),n(lb,{filters:X.value,"onUpdate:filters":fe[5]||(fe[5]=Re=>X.value=Re),positions:pe.value,statuses:we.value,volunteers:Ee.value,"search-query":f.value,"is-filters-active":ve.value,"hide-status-filter":te.value,"hide-clearance-filter":!De.value||!At.value,onVolunteersChanged:q,onClearFilters:he},null,8,["filters","positions","statuses","volunteers","search-query","is-filters-active","hide-status-filter","hide-clearance-filter"])],64)),n(Bo,{ref:"messageVolunteersModal",onDismissed:fe[6]||(fe[6]=Re=>g.value=[])},null,512),n(sb,{ref:"leagueVolunteerDetailsModal","volunteer-positions-by-id":z.value,league:t.league,onRefresh:vt},null,8,["volunteer-positions-by-id","league"]),n(Nl,{ref:"acceptVolunteerSingleModal","volunteer-positions-by-id":z.value,league:t.league,onRefresh:vt},null,8,["volunteer-positions-by-id","league"]),n(Iv,{ref:"acceptVolunteerBulkModal",league:t.league,onRefresh:Zt},null,8,["league"]),n(jl,{ref:"rejectVolunteerSingleModal","volunteer-positions-by-id":z.value,league:t.league,onRefresh:vt},null,8,["volunteer-positions-by-id","league"]),n(rb,{ref:"rejectVolunteerBulkModal",league:t.league,onRefresh:Zt},null,8,["league"]),n(nb,{ref:"openLeagueSignupConfirmationModal",league:t.league,onRefresh:vt},null,8,["league"]),n(Hv,{ref:"closeLeagueSignupConfirmationModal",league:t.league,onRefresh:vt},null,8,["league"]),n(Yl,{ref:"removeVolunteerConfirmationModal",league:t.league,"volunteer-positions-by-id":z.value,onRefresh:vt},null,8,["league","volunteer-positions-by-id"])],64)}}},Sb=ie(Cb,[["__scopeId","data-v-3a319aa8"]]),kb={components:{Modal:Qe},inject:["refresh","verificationStatus","expiryDate"],props:{associationId:{type:Number,required:!0},canExpire:{type:Boolean,required:!0},playerVerificationEnabled:{type:Boolean,required:!0},playerVerifications:{type:Object,required:!0},leagueId:{type:Number,required:!0}},emits:["dismissModal"],setup(){const t=Se();return{pluralize:Fe,toast:t}},data(){return{selectedPlayers:null,expirationDate:null,editingDate:!1,verifiedOption:null,saving:!1}},computed:{unverifiedPlayers(){return(this.selectedPlayers||[]).filter(t=>this.verificationStatus(t)!=="verified")},hasUnverified(){return this.playerVerificationEnabled&&this.unverifiedPlayers.length>0},playersToRegister(){return this.hasUnverified&&this.verifiedOption==="skip"?(this.selectedPlayers||[]).filter(t=>this.verificationStatus(t)==="verified"):this.selectedPlayers},invalid(){return this.hasUnverified&&!this.verifiedOption}},methods:{showModal(t,e){this.selectedPlayers=t,this.canExpire?this.expirationDate=ze.datestringToDate(e):this.expirationDate=null,this.editingDate=!1,this.verifiedOption=null,this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$refs.modal.dismissModal(),this.$emit("dismissModal",t)},async markAsRegistered(){this.saving=!0;const t=this.playersToRegister.map(i=>i.id),e="club_admin/club_leagues/".concat(this.leagueId,"/club_sanctioning_bodies/").concat(this.associationId,"/players");if(await Q().post(e,{ids:t}),this.hasUnverified&&this.verifiedOption==="verify"){const i={};
1this.unverifiedPlayers.forEach(l=>{const a=[],s=this.playerVerifications[l.id];s&&T.forEach(s.verification_data,u=>{a.push({requirement_id:u.requirement_id,resource_id:u.resource_id,resource_tag_id:u.resource_tag_id,expiry_date:this.expiryDate(u)})}),i[l.id]=a}),await Q().post("".concat(e,"/verify"),i)}await Q().post("".concat(e,"/register"),{ids:t}),this.refresh(),this.dismissModal({refreshData:!0}),this.toast.success("".concat(Fe(t.length,"Player")," Marked as Registered")),this.saving=!1},formattedDate(t){return Y(t).format("ll")}}},wb={key:0,style:{"padding-bottom":"2rem"}},Tb={key:0},xb={key:1},Fb={class:"is-font-mont has-text-weight-semibold"};function Ab(t,e,i,l,a,s){const u=c("b-datepicker"),m=c("fa-icon"),f=c("b-radio"),v=c("b-field"),y=c("b-button"),g=c("Modal");return d(),x(g,{ref:"modal",title:"Mark as Registered","has-datepicker":!0,"max-width":"428px"},{footer:o(()=>[n(y,{type:"is-primary",disabled:a.saving||s.invalid,loading:a.saving,onClick:s.markAsRegistered},{default:o(()=>[...e[14]||(e[14]=[p(" Mark as Registered ",-1)])]),_:1},8,["disabled","loading","onClick"])]),default:o(()=>[a.selectedPlayers?(d(),h("div",wb,[r("p",null,[e[5]||(e[5]=p(" You are about to mark ",-1)),r("b",null,_(a.selectedPlayers.length),1),p(" "+_(a.selectedPlayers.length===1?"player":"players")+" as Registered. ",1)]),i.canExpire&&a.expirationDate?(d(),h(G,{key:0},[e[6]||(e[6]=r("hr",null,null,-1)),e[7]||(e[7]=r("p",{class:"title__subsection is-marginless"},"Expiration Settings",-1)),e[8]||(e[8]=r("p",{class:"is-italic has-text-blue-slate",style:{"margin-bottom":"1rem"}}," Registrations for these players will expire on: ",-1)),a.editingDate?(d(),h("div",Tb,[n(u,{modelValue:a.expirationDate,"onUpdate:modelValue":e[0]||(e[0]=b=>a.expirationDate=b),placeholder:"Select Date",icon:"calendar",style:{display:"inline-block"},onBlur:e[1]||(e[1]=b=>a.editingDate=!1)},null,8,["modelValue"])])):(d(),h("p",xb,[r("span",Fb,_(s.formattedDate(a.expirationDate)),1),r("a",{class:"is-text-size-7",style:{"margin-left":"0.5rem"},"aria-label":"Edit Date",onClick:e[2]||(e[2]=b=>a.editingDate=!0)},[n(m,{icon:["far","pencil"],transform:"up-1"})])]))],64)):k("",!0),s.hasUnverified?(d(),h(G,{key:1},[e[12]||(e[12]=r("br",null,null,-1)),r("p",null,[e[9]||(e[9]=p(" Only verified players can be marked as registered. How would you like to handle the ",-1)),r("b",null,_(l.pluralize(s.unverifiedPlayers.length,"unverified player")),1),e[10]||(e[10]=p("? ",-1))]),e[13]||(e[13]=r("br",null,null,-1)),r("div",null,[n(v,null,{default:o(()=>[n(f,{modelValue:a.verifiedOption,"onUpdate:modelValue":e[3]||(e[3]=b=>a.verifiedOption=b),"native-value":"skip",style:{"margin-right":"2rem"}},{default:o(()=>[p(" Skip Unverified "+_(s.unverifiedPlayers.length>1?"Players":"Player"),1)]),_:1},8,["modelValue"])]),_:1}),n(v,null,{default:o(()=>[n(f,{modelValue:a.verifiedOption,"onUpdate:modelValue":e[4]||(e[4]=b=>a.verifiedOption=b),"native-value":"verify"},{default:o(()=>[...e[11]||(e[11]=[p(" Mark as Verified and Registered ",-1)])]),_:1},8,["modelValue"])]),_:1})])],64)):k("",!0)])):k("",!0)]),_:1},512)}const Mb=ie(kb,[["render",Ab]]),Db={components:{PlayersFilter:Tl,FilterSection:at},props:{league:{type:Object,required:!0},players:{type:Array,required:!0},ageGroupCutoff:{type:String,default:null},initialSelectedItems:{type:Array,default:()=>[]}},emits:["numSelected","updateSelectedItems"],setup(){const t=Vt();return{titleize:Ws,modulesStore:t}},data(){return{searchQuery:"",filteredPlayers:T.cloneDeep(this.players),selectedItems:[],clickedCheckAll:!1,activeTab:0,registrationStatusFilter:[],verificationStatusFilter:[]}},computed:{DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},leagueSeason(){const t=this.league;return(t==null?void 0:t.season)||this.$store.getters.clubDetails.seasons.find(e=>e.id===(t==null?void 0:t.season_id))},leagueSeasonAgeClass(){var t;return(t=this.leagueSeason)==null?void 0:t.age_class},checkedRows:{get(){return this.selectedItems},set(t){let e=T.clone(t);this.clickedCheckAll&&(this.$refs.checkboxTable.getIsAllChecked()?e=T.unionBy(e,this.visibleData,this.itemKey):e=T.differenceBy(e,this.visibleData,this.itemKey)),this.setChecked(e),this.clickedCheckAll=!1}},playersData(){let t=this.players;return this.registrationStatusFilter.length>0&&(t=t.filter(e=>(!this.registrationStatusFilter.includes("expired")||this.isExpiredRegistration(e))&&(this.registrationStatusFilter.includes("not_registered")===this.registrationStatusFilter.includes("registered")||this.registrationStatusFilter.includes("not_registered")&&!this.isRegistered(e)||this.registrationStatusFilter.includes("registered")&&this.isRegistered(e)))),this.verificationStatusFilter.length>0&&(t=t.filter(e=>this.verificationStatusFilter.includes(this.verificationStatus(e)))),t},visibleData(){return this.activeTab===1?this.search(T.clone(this.selectedItems)):(this.filteredPlayers.forEac
1h(t=>this.ageClassVars(t)),this.filteredPlayers)},isShowingPlayersFilter(){return this.players&&this.players.length>0},noItemsSelected(){return T.isEmpty(this.selectedItems)},totalCount(){return this.selectedItems.length},ageColField(){return this.leagueSeasonAgeClass===Ye?"age_by_groups_display":this.leagueSeasonAgeClass===je?"age_by_grade_display":"age_by_birth_year_display"},ageColLabel(){return this.leagueSeasonAgeClass===Ye?"Age Group":this.leagueSeasonAgeClass===je?"Grade":"Birth Year"},sanctioningBodyPlayersByID(){return T.keyBy(this.league.sanctioning_body_players,"player_id")},trackRegistration(){return this.league.sanctioning_body&&this.league.sanctioning_body.extra&&this.league.sanctioning_body.extra.track_player_registration},associationRegistrationCanExpire(){if(!this.trackRegistration)return!1;const t=T.get(this.league,"sanctioning_body.extra.registration_expiry_anniversary"),e=T.get(this.league,"sanctioning_body.extra.registration_expiry_period");return!!t||!!e},defaultExpirationDate(){const t=Y(),e=T.get(this.league,"sanctioning_body.extra.registration_expiry_anniversary"),i=T.get(this.league,"sanctioning_body.extra.registration_expiry_period");if(e){const l=e.split("-"),a=parseInt(l[0],10),s=parseInt(l[1],10);let u=t.year();
1return(s<t.month()||s===t.month()&&a<=t.date())&&(u+=1),t.year(u).month(s).date(a).toDate()}else if(i){const l=i.split("-"),a=parseInt(l[0],10),s=l[1];return t.add(a,s).subtract(1,"day"),t}return t.toDate()},showIconLegend(){return this.trackRegistration&&(this.activeTab===0||!this.noItemsSelected)},legendItems(){return[{icon:["fas","check-circle"],icon_color:"success",text:"Registered with the Sanctioning Body"}]},leagueTeams(){var t;return(((t=this.league)==null?void 0:t.league_teams)||[]).map(e=>e.team)},playingSeasonOffset(){var t;return We.getPlayingSeasonOffset((t=this.leagueSeason)==null?void 0:t.playing_season,this.promotionDate)},effectiveSport(){var t;return((t=this.league)==null?void 0:t.sport)||this.$store.getters.clubSport},promotionDate(){var e;const t=this.leagueSeasonAgeClass;return t?(e=this.$store.getters.clubAgeClassificationConfig(t,this.effectiveSport))==null?void 0:e.next_promotion_date:null},showPlayerVerificationView(){return this.trackRegistration&&this.modulesStore.enableLeaguePlayerVerification&&this.verificationRequirements.length>0},verificationRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_player_verification_requirements)||[]).filter(i=>!i.archived_at)},filtersActive(){return this.$store.getters.playersFilterActiveByContext("league_export")||this.trackRegistration&&this.registrationStatusFilter.length>0||this.showPlayerVerificationView&&this.verificationStatusFilter.length>0}},watch:{selectedItems:{handler(){this.$emit("numSelected",this.totalCount)}}},created(){this.selectedItems=this.initialSelectedItems},methods:{showSelected(){this.activeTab=1},setChecked(t){const e=this.selectedItems,i=T.differenceBy(t,e,this.itemKey);let l=this.selectedItems;i.length>0&&(l=l.concat(i));const a=T.differenceBy(e,t,this.itemKey);a.length>0&&(l=T.differenceBy(l,a,this.itemKey)),this.selectedItems=l},checkAll(){this.clickedCheckAll=!0},itemKey(t){return"".concat(t.type,"_").concat(t.id,"_").concat(t.team.id)},isRegistered(t){return this.sanctioningBodyPlayersByID[t.id]&&this.sanctioningBodyPlayersByID[t.id].registered_at},verificationStatus(t){const e=this.sanctioningBodyPlayersByID[t.id];return e&&e.verified_at&&!this.hasExpiredVerifications(e)?"verified":"not_verified"},hasExpiredVerifications(t){const e=t&&t.verification_data;return e==null?void 0:e.some(i=>i.expiry_date&&Y().isAfter(i.expiry_date,"day"))},expirationDate(t){const e=this.sanctioningBodyPlayersByID[t.id];return e&&e.expiry_date||this.defaultExpirationDate},isExpiredRegistration(t){if(!this.isRegistered(t))return!1;const e=this.expirationDate(t),i=Y().tz(this.$store.getters.clubDetails.timezone).format("YYYY-MM-DD");return Y(e).isBefore(i,"day")},save(){this.$emit("updateSelectedItems",this.selectedItems)},search(t){return T.filter(t,e=>!this.searchQuery||e.player_name.toLowerCase().includes(this.searchQuery.toLowerCase())||e.team.name&&e.team.name.toLowerCase().includes(this.searchQuery.toLowerCase()))},ageClassVars(t){var e;this.leagueSeasonAgeClass===je&&(t.age_by_grade_display=We.getPlayerGrade(t,this.playingSeasonOffset)),this.leagueSeasonAgeClass===Ye&&(t.age_by_groups_display=We.getPlayerAgeGroupBySport(t,this.playingSeasonOffset,(e=this.league)==null?void 0:e.sport)),this.leagueSeasonAgeClass===et&&(t.age_by_birth_year_display=We.getPlayerBirthYear(t))},clearExtraFilters(){this.registrationStatusFilter=[],this.verificationStatusFilter=[]}}},Rb={class:"advanced-selection"},Ib={class:"columns is-marginless"},Eb={class:"column table-wrapper"},Vb={class:"level"},Pb={class:"level-left"},Bb={class:"level-right"},qb={key:0,class:"level-item"},Ob={class:"level-item"},Ub={key:0,class:"control search-bar",style:{"margin-left":"1rem"}},Lb={class:"is-vertical-center"},Gb={key:0,class:"has-text-success-dark is-text-size-5",style:{"margin-right":"0.5rem"}};function Nb(t,e,i,l,a,s){const u=c("disable-chat"),m=c("b-tab-item"),f=c("b-tabs"),v=c("IconLegend"),y=c("b-input"),g=c("EmptyStateComponent"),b=c("fa-icon"),S=c("b-table-column"),F=c("b-tag"),w=c("BaseTable"),C=c("b-checkbox"),D=c("b-field"),B=c("FilterSection"),N=c("PlayersFilter");return d(),h("div",Rb,[n(u),r("div",Ib,[r("div",Eb,[r("nav",Vb,[r("div",Pb,[n(f,{modelValue:a.activeTab,"onUpdate:modelValue":e[0]||(e[0]=M=>a.activeTab=M),type:"is-toggle",style:{margin:"1rem 0 2rem 0"}},{default:o(()=>[n(m,{label:"All"}),n(m,{label:"Selected (".concat(s.totalCount,")")},null,8,["label"])]),_:1},8,["modelValue"])]),r("div",Bb,[s.showIconLegend?(d(),h("div",qb,[n(v,{"legend-items":s.legendItems,position:"is-bottom-left"},null,8,["legend-items"])])):k("",!0),r("div",Ob,[a.activeTab===0||!s.noItemsSelected?(d(),h("span",Ub,[n(y,{modelValue:a.searchQuery,"onUpdate:modelValue":e[1]||(e[1]=M=>a.searchQuery=M),icon:"search",placeholder:"Search Players..."},null,8,["modelValue"])])):k("",!0)])])]),r("div",null,[r("div",null,[a.activeTab===1&&s.noItemsSelected?(d(),x(g,{key:0,header:"There's nothing selected",body:"Select from Players associated with your league to include them for export.","img-src":"/static/images/empty-states-icons/league-export-select.png","img-width":"150","img-height":"150"},{action:o(()=>[r("button",{class:"button is-primary",onClick:e[2]||(e[2]=M=>a.activeTab=0)}," Select Players ")]),_:1})):(d(),x(w,{key:1,ref:"checkboxTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[3]||(e[3]=M=>s.checkedRows=M),data:s.visibleData,"empty-message":"No Players Available",name:"leagueExport",hoverable:"",checkable:"",onCheckAll:s.checkAll},{default:o(()=>[n(S,{visible:s.trackRegistration,field:"registered","custom-key":"registered",width:"5%"},{default:o(({row:M})=>[s.isRegistered(M)?(d(),x(b,{key:0,icon:["fas","check-circle"],class:"has-text-success",transform:"down-1"})):k("",!0)]),_:1},8,["visible"]),n(S,{field:"player_name",label:"Player"},{default:o(({row:M})=>[p(_(M.player_name),1)]),_:1}),n(S,{visible:s.showPlayerVerificationView,field:"verification_status","custom-key":"verification_status"},{default:o(({row:M})=>[n(F,{class:Ce("verification-status-tag ".concat(s.verificationStatus(M))),rounded:""},{default:o(()=>[r("span",Lb,[s.verificationStatus(M)==="verified"?(d(),h("span",Gb,[n(b,{icon:["far","check"]})])):k("",!0),r("span",null,_(l.titleize(s.verificationStatus(M))),1)])]),_:2},1032,["class"])]),_:1},8,["visible"]),n(S,{field:"team.name",label:"Team"},{default:o(({row:M})=>[p(_(M.team.name),1)]),_:1}),n(S,{field:"level_display",label:"Level"},{default:o(({row:M})=>[p(_(M.level_display),1)]),_:1}),n(S,{field:s.ageColField,label:s.ageColLabel},{default:o(({row:M})=>[p(_(M[s.ageColField]),1)]),_:1},8,["field","label"]),n(S,{field:"gender_display",label:"Gender"},{default:o(({row:M})=>[p(_(M.gender_display),1)]),_:1})]),_:1},8,["checked-rows","data","onCheckAll"]))])])]),a.activeTab===0?(d(),h(G,{key:0},[s.isShowingPlayersFilter?(d(),x(N,{key:0,players:s.playersData,"age-classification":s.leagueSeasonAgeClass,sport:s.effectiveSport,"playing-season-offset":s.playingSeasonOffset,"teams-for-filter":s.leagueTeams,"search-query":a.searchQuery,"hide-archived-filter":!0,"hide-positions-filter":!0,"hide-contacts-filter":!0,"hide-a
1dvanced-team-selection":!1,"show-as-column":!0,"age-group-filter":i.ageGroupCutoff,"is-filters-active":s.filtersActive,"slot-children-first":!0,"filter-context":"league_export",onFiltered:e[9]||(e[9]=M=>a.filteredPlayers=M),onFiltersCleared:s.clearExtraFilters},{default:o(()=>[s.trackRegistration?(d(),x(B,{key:0,label:"Registration Status"},{default:o(()=>[n(D,null,{default:o(()=>[n(C,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[4]||(e[4]=M=>a.registrationStatusFilter=M),"native-value":"not_registered"},{default:o(()=>[...e[10]||(e[10]=[p(" Not Registered ",-1)])]),_:1},8,["modelValue"])]),_:1}),s.associationRegistrationCanExpire?(d(),x(D,{key:0},{default:o(()=>[n(C,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[5]||(e[5]=M=>a.registrationStatusFilter=M),"native-value":"expired"},{default:o(()=>[...e[11]||(e[11]=[p(" Expired ",-1)])]),_:1},8,["modelValue"])]),_:1})):k("",!0),n(D,null,{default:o(()=>[n(C,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[6]||(e[6]=M=>a.registrationStatusFilter=M),"native-value":"registered"},{default:o(()=>[...e[12]||(e[12]=[p(" Registered ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})):k("",!0),s.showPlayerVerificationView?(d(),x(B,{key:1,label:"Verification Status",collapsible:!0,"default-open":!0,"filter-active":a.verificationStatusFilter.length>0},{default:o(()=>[n(D,null,{default:o(()=>[n(C,{modelValue:a.verificationStatusFilter,"onUpdate:modelValue":e[7]||(e[7]=M=>a.verificationStatusFilter=M),"native-value":"not_verified"},{default:o(()=>[...e[13]||(e[13]=[p(" Not Verified ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(D,null,{default:o(()=>[n(C,{modelValue:a.verificationStatusFilter,"onUpdate:modelValue":e[8]||(e[8]=M=>a.verificationStatusFilter=M),"native-value":"verified"},{default:o(()=>[...e[14]||(e[14]=[p(" Verified ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["filter-active"])):k("",!0)]),_:1},8,["players","age-classification","sport","playing-season-offset","teams-for-filter","search-query","age-group-filter","is-filters-active","onFiltersCleared"])):k("",!0)],64)):k("",!0)])])}const jb=ie(Db,[["render",Nb],["__scopeId","data-v-9032b81e"]]),Yb={components:{FullScreenModal:Pt,PlannerHeader:Js,SelectPlayersForExport:jb},props:{league:{type:Object,required:!0},players:{type:Array,required:!0},ageGroupCutoff:{type:String,default:null},initialSelectedItems:{type:Array,default:()=>[]}},emits:["dismiss","updateSelected"],data(){return{numSelected:0}},methods:{show(){this.$refs.modal.show()},close(){this.$refs.modal.dismiss(),this.$emit("dismiss")},save(){this.$refs.selectPlayersForExport.save()},updateSelectedItems(t){this.$emit("updateSelected",t,this.numSelected),this.close()}}},zb={class:"tool-name-container"},Hb={style:{display:"flex","flex-direction":"row"}};function $b(t,e,i,l,a,s){const u=c("PlannerHeader"),m=c("SelectPlayersForExport"),f=c("FullScreenModal");return d(),h("div",null,[n(f,{ref:"modal"},{header:o(()=>[n(u,{"edit-mode":!0,name:"Select Players","tool-name":"",onExit:s.close},{"tool-name-container":o(()=>[r("div",zb,[e[5]||(e[5]=r("span",{class:"tool-name"},"Select Players",-1)),r("div",Hb,[r("button",{class:"counter",onClick:e[0]||(e[0]=v=>t.$refs.selectPlayersForExport.showSelected())},_(a.numSelected),1),e[4]||(e[4]=r("span",{style:{"margin-left":"0.5rem",opacity:"0.6"}},"Selected",-1))])])]),ctas:o(()=>[r("button",{style:{margin:"0 1rem"},class:"button is-outlined is-wide is-white",onClick:e[1]||(e[1]=He((...v)=>s.close&&s.close(...v),["stop"]))},[...e[6]||(e[6]=[r("span",null,"Cancel",-1)])]),r("button",{class:"button is-wide",onClick:e[2]||(e[2]=He((...v)=>s.save&&s.save(...v),["stop"]))},[...e[7]||(e[7]=[r("span",null,"Save Selection",-1)])])]),_:1},8,["onExit"])]),default:o(()=>[n(m,{ref:"selectPlayersForExport",league:i.league,players:i.players,"age-group-cutoff":i.ageGroupCutoff,"initial-selected-items":i.initialSelectedItems,onNumSelected:e[3]||(e[3]=v=>a.numSelected=v),onUpdateSelectedItems:s.updateSelectedItems},null,8,["league","players","age-group-cutoff","initial-selected-items","onUpdateSelectedItems"])]),_:1},512)])}const Wb=ie(Yb,[["render",$b],["__scopeId","data-v-b935023a"]]),Qb={components:{SelectObjectsBox:vl,Modal:Qe,SelectForExportModal:Wb},props:{league:{type:Object,required:!0},hasDocuments:{type:Boolean,required:!0},players:{type:Array,default:()=>[]},teams:{type:Array,default:()=>[]}},emits:["dismissModal"],setup(){return{snackbar:Xa()}},data(){return{toExport:[],numPlayers:0,groupDocuments:!0,splitPlayers:!0,exporting:!1}},computed:{DEFAULT_CLASS_BIRTH_YEAR(){return et},DEFAULT_CLASS_AGE_GROUP(){return Ye},DEFAULT_CLASS_GRADE(){return je},leagueAgeClass(){var t;return(t=this.league.season)==null?void 0:t.age_class},disabled(){return T.isEmpty(this.toExport)||this.exporting},splitByAgeText(){return this.leagueAgeClass===Ye?"Age Group":this.leagueAgeClass===je?"Grade":this.leagueAgeClass===et?"Birth Year":this.league.extra&&this.league.extra.age_group_cutoff?"Age Group":"Birth Year"}},methods:{showModal(){this.toExport=[],this.numPlayers=0,this.groupDocuments=this.hasDocuments,this.splitPlayers=!0,this.$refs.modal.showModal()},dismissModal(t={done:!1}){this.$refs.modal.dismissModal(),this.$emit("dismissModal",t)},exportSelected(){this.exporting=!0;const t=this.toExport.filter(l=>l.type==="team").map(l=>l.id),e=this.toExport.filter(l=>l.type==="player").map(l=>l.id),i={team_ids:t,player_ids:e,group_documents:this.groupDocuments,split_players:this.splitPlayers};Q().post("club_admin/club_leagues/".concat(this.league.id,"/export_players"),i).then(()=>{this.snackbar.openDismissable("Players are being exported. You will be notified when completed."),this.dismissModal({done:!0})}).finally(()=>{this.exporting=!1})},selectPlayersForExport(){this.$refs.selectForExportModal.show()},updateSelected(t,e){this.toExport=t,this.numPlayers=e}}},Jb={class:"card-body"},Kb={key:0,class:"columns"},Xb={class:"column is-narrow",style:{"padding-right":"0"}},Zb={class:"columns"},e1={class:"column is-narrow",style:{"padding-right":"0"}},t1={class:"column",style:{"padding-left":"0"}},s1={style:{"line-height":"2"}},i1={class:"is-italic has-text-blue-slate"};function a1(t,e,i,l,a,s){const u=c("message-box"),m=c("SelectObjectsBox"),f=c("SelectForExportModal"),v=c("b-checkbox"),y=c("b-button"),g=c("Modal");return d(),x(g,{ref:"modal",title:"Select & Export Players"},{footer:o(()=>[n(y,{type:"is-primary",disabled:s.disabled,loading:a.exporting,onClick:s.exportSelected},{default:o(()=>[...e[5]||(e[5]=[p(" Export ",-1)])]),_:1},8,["disabled","loading","onClick"])]),default:o(()=>[r("div",Jb,[n(u,{type:"is-cyan",message:"Due to the potential size of the files, you will be notified when this export\n has been completed and will be able to download the files at that time.",icon:{icon:["fas","info-circle"],type:"info"},"is-vcentered":!1,"is-box":!1}),e[3]||(e[3]=r("div",{class:"is-font-mont has-text-weight-semibold",style:{"margin-bottom":"0.75rem"}}," Select Players ",-1)),r("section",null,[n(m,{objs:a.toExport,type:"player","icon-only":"","edit-only":"",onSelect:s.selectPlayersForExport},null,8,["objs","onSelect"]),n(f,{ref:"selectForExportModal",league:i.league,players:i.players,"age-group-cutoff":i.league.extra&&i.league.extra.age_group_cutoff,"initial-selected-items":a.toExport,onUpdateSelected:s.updateSelected},null,8,["league","players","age-group-cutoff","initial-selected-items","onUpdateSelected"])]),e[4]||(e[4]=r("div",{class:"is-font-mont has-text-weight-semibold",style:{"margin-bottom":"0.75rem"}}," Export Settings ",-1)),i.hasDocuments?(d(),h("div",Kb,[r("div",Xb,[n(v,{modelValue:a.groupDocuments,"onUpdate:modelValue":e[0]||(e[0]=b=>a.groupDocuments=b),style:{"margin-top":"5px"}},null,8,["modelValue"])]),e[2]||(e[2]=r("div",{class:"column",style:{"padding-left":"0"}},[r("p",{style:{"line-height":"2"}},"Group Documents by Team"),r("p",{class:"is-italic has-text-blue-slate"}," Player documents (such as player photos) will be organized into team folders within the exported file. ")],-1))])):k("",!0),r("div",Zb,[r("div",e1,[n(v,{modelValue:a.splitPlayers,"onUpdate:modelValue":e[1]||(e[1]=b=>a.splitPlayers=b),disabled:a.numPlayers>500,style:{"margin-top":"5px"}},null,8,["modelValue","disabled"])]),r("div",t1,[r("p",s1,"Split Players by Gender and "+_(s.splitByAgeText),1),r("p",i1," Your export will be divided into multiple zip files based on Gender and "+_(s.splitByAgeText)+". This is a requirement if you are exporting more than 500 players. ",1)])])])]),_:1},512)}const l1=ie(Qb,[["render",a1],["__scopeId","data-v-fc402a8f"]]),n1={components:{TiptapEditor:xl,Modal:Qe,ComposeAttachments:Fl},emits:["dismissed"],setup(){const t=Se();return{pluralize:Fe,toast:t,TIPTAP_TOOLBAR_COMPOSE:sr}},data(){return{message:"",subject:"",recipients:null,numSelected:null,attachments:[]}},computed:{invalid(){return ze.isWYSIWYGEditorEmpty(this.message)||this.subject===""||!this.recipients||this.recipients&&this.recipients.length===0},messageObject(){return{title:this.subject,body:this.message,bcc_list:this.recipients,send_now:!0,extra:{attachments:this.attachments}}}},methods:{show(t,e=null){this.subject="",this.message="",this.attachments=[],this.recipients=t,this.numSelected=e||t.length,this.$refs.modal.showModal()},dismiss(t={refreshData:!1}){this.$refs.modal.dismissModal(t),this.$emit("dismissed",t)},sendMessage(){Q().post("/comm/messages",this.messageObject).then(()=>{this.toast.success("Message Sent"),this.dismiss({refreshData:!0})})}}},r1={key:0},o1={class:"recipients"},d1=["disabled"];function u1(t,e,i,l,a,s){const u=c("b-input"),m=c("b-field"),f=c("TiptapEditor"),v=c("ComposeAttachments"),y=c("Modal");return d(),h("div",null,[n(y,{ref:"modal",title:"Compose Message",class:"message-league-players"},{footer:o(()=>[r("button",{disabled:s.invalid,class:"button is-primary",onClick:e[3]||(e[3]=g=>s.sendMessage())}," Send ",8,d1)]),default:o(()=>[a.recipients?(d(),h("div",r1,[r("p",o1," BCC: "+_(l.pluralize(a.numSelected,"Player"))+" Selected ",1),n(m,{label:"Subject"},{default:o(()=>[n(u,{modelValue:a.subject,"onUpdate:modelValue":e[0]||(e[0]=g=>a.subject=g),required:"",expanded:""},null,8,["modelValue"])]),_:1}),n(m,{label:"Message"},{default:o(()=>[n(f,{modelValue:a.message,"onUpdate:modelValue":e[1]||(e[1]=g=>a.message=g),toolbar:t.$store.getters.isMobile?null:l.TIPTAP_TOOLBAR_COMPOSE},null,8,["modelValue","toolbar"])]),_:1}),n(v,{modelValue:a.attachments,"onUpdate:modelValue":e[2]||(e[2]=g=>a.attachments=g)},null,8,["modelValue"])])):k("",!0)]),_:1},512)])}const c1=ie(n1,[["render",u1],["__scopeId","data-v-03ffb569"]]),m1={components:{ImageThumbnail:Za,Modal:Qe},data(){return{player:null,resource:null,downloadInProgress:!1}},computed:{useResource(){var t;return((t=this.resource)==null?void 0:t.id)&&this.resource.url},contextType(){return this.useResource?"Resource":"Player"},contextId(){return this.useResource?this.resource.id:this.player.id},contextUrl(){return this.useResource?this.resource.url:this.player.image_url}},methods:{showModal(t,e){this.player=t,this.resource=e||null,this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal()},async handleDownloadClick(){this.downloadInProgress=!0;try{const t="".concat(this.contextType,":").concat(this.contextId,":0:jpeg:").concat(this.contextUrl),e={type:this.contextType,id:this.contextId,format:"jpeg"},i=await Li().fetchThumbnail(t,e);i!=null&&i.url&&await this.downloadImage(i.url)}finally{this.downloadInProgress=!1}},async downloadImage(t){const i=await(await fetch(t)).blob(),l=URL.createObjectURL(i),s=(this.player.league_list_data?this.player.league_list_data.birth_name:this.player.birth_name).replace(/\s/g,"-").toLowerCase(),u=d
1ocument.createElement("a");u.setAttribute("href",l),u.setAttribute("download","".concat(s,".jpeg")),document.body.appendChild(u),u.click(),document.body.removeChild(u)}}},f1={key:0},h1=["disabled"],g1={class:"icon"};function p1(t,e,i,l,a,s){const u=c("ImageThumbnail"),m=c("fa-icon"),f=c("Modal");return d(),x(f,{ref:"modal","is-all-white":"","has-cancel-button":!1,"max-width":"400px",title:"Player Photo"},{footer:o(()=>[Lt(t.$slots,"actions"),r("button",{class:"button is-primary",disabled:a.downloadInProgress,onClick:e[0]||(e[0]=(...v)=>s.handleDownloadClick&&s.handleDownloadClick(...v))},[r("span",g1,[n(m,{icon:["far","arrow-to-bottom"]})]),e[1]||(e[1]=r("span",null,"Download",-1))],8,h1)]),default:o(()=>[a.player?(d(),h("div",f1,[n(u,{"context-type":s.contextType,"context-id":s.contextId,"context-url":s.contextUrl,size:"640",style:{"max-width":"360px"}},null,8,["context-type","context-id","context-url"])])):k("",!0)]),_:3},512)}const zl=ie(m1,[["render",p1]]),_1={components:{Modal:Qe,TagFilter:Go,FileUploadRow:Lo},inject:["fileType"],props:{file:{type:Object,default:null},playerResources:{type:Array,default:null},uploadTags:{type:Array,default:null}},emits:["saveResource"],data(){return{selected:null,activeTabIndex:0,searchQuery:"",tagFilter:[],filteredPlayerResources:[],newFile:null,uploadedFile:null,uploading:!1}},computed:{showPlayerResourcesTab(){return this.playerResources&&this.playerResources.length>0}},methods:{showModal(){this.selected=null,this.file&&(this.selected=this.file),this.newFile=null,this.uploadedFile=null,this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal()},isSelected(t,e){return this.selected?e==="resource"?this.selected.id===t.id:this.selected.url===t.url:!1},upload(){this.uploading=!0,this.$nextTick(()=>{const t=this.$refs.newFileUploadRow,e=t&&t.$refs.uploadProgress;e&&e.uploadFileNew(this.newFile,{}).then(i=>{const l=this.$store.getters.user;this.uploadedFile={name:i.original_name,size:i.size,type:i.content_type,url:i.url,created_by:{id:l.id,display_name:"".concat(l.first_name||""," ").concat(l.last_name||"")},created_at:new Date},this.selected=this.uploadedFile,this.newFile=null,this.uploading=!1})})},saveResource(){this.$emit("saveResource",this.selected),this.dismissModal()}}},y1={key:0},v1={class:"columns"},b1={class:"column is-narrow"},C1={class:"column",style:{width:"300px"}},S1={key:1},k1={class:"section"},w1={class:"content"},T1={class:"upload-icon"},x1={style:{"margin-top":"2rem"}};function F1(t,e,i,l,a,s){const u=c("b-tab-item"),m=c("b-tabs"),f=c("TagFilter"),v=c("b-input"),y=c("FileUploadRow"),g=c("EmptyStateComponent"),b=c("fa-icon"),S=c("b-upload"),F=c("b-button"),w=c("Modal");return d(),x(w,{ref:"modal",title:"Add a Resource","is-all-white":!0,"has-cancel-button":!1,"use-mobile-modal":!0,"max-width":"770px",class:"file-upload-modal"},{footer:o(()=>[n(F,{type:"is-primary",disabled:!a.selected||a.uploading,onClick:s.saveResource},{default:o(()=>[...e[8]||(e[8]=[p(" Attach Files ",-1)])]),_:1},8,["disabled","onClick"])]),default:o(()=>[n(m,{modelValue:a.activeTabIndex,"onUpdate:modelValue":e[0]||(e[0]=C=>a.activeTabIndex=C),class:"b-tabs-no-content"},{default:o(()=>[s.showPlayerResourcesTab?(d(),x(u,{key:0,label:"Player Resources"})):k("",!0),n(u,{label:"Upload"})]),_:1},8,["modelValue"]),s.showPlayerResourcesTab&&a.activeTabIndex===0?(d(),h("div",y1,[r("div",v1,[e[6]||(e[6]=r("div",{class:"column"},null,-1)),r("div",b1,[n(f,{resources:i.playerResources||[],"search-query":a.searchQuery,"initial-tags":i.uploadTags,"limit-to-initial-tag":"",onFiltered:e[1]||(e[1]=C=>a.filteredPlayerResources=C),onTagFilter:e[2]||(e[2]=C=>a.tagFilter=C)},null,8,["resources","search-query","initial-tags"])]),r("div",C1,[n(v,{modelValue:a.searchQuery,"onUpdate:modelValue":e[3]||(e[3]=C=>a.searchQuery=C),placeholder:"Find a file...",type:"search",icon:"search"},null,8,["modelValue"])])]),r("div",null,[(d(!0),h(G,null,ue(a.filteredPlayerResources,C=>(d(),x(y,{key:C.id,file:C,"is-selected":s.isSelected(C,"resource"),"tag-filter":a.tagFilter,"is-radio":!0,onUpdateSelected:D=>a.selected=C},null,8,["file","is-selected","tag-filter","onUpdateSelected"]))),128)),a.filteredPlayerResources.length===0?(d(),x(g,{key:0,header:"No resources match the current tag selection.",body:"No resources match the current tag selection.","img-src":"/static/images/icons/resources-empty-icon.svg",class:"mt-4"})):k("",!0)])])):(d(),h("div",S1,[a.uploadedFile?k("",!0):(d(),x(S,{key:0,modelValue:a.newFile,"onUpdate:modelValue":[e[4]||(e[4]=C=>a.newFile=C),s.upload],disabled:a.uploading,"drag-drop":"",expanded:"",style:{"margin-top":"0.75rem"},class:"upload-container"},{default:o(()=>[r("section",k1,[r("div",w1,[r("div",T1,[n(b,{icon:["fas","file-upload"]})]),e[7]||(e[7]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-5"}
1,[p(" Drag and drop files here, or "),r("a",{class:"is-underline"},"upload files")],-1))])])]),_:1},8,["modelValue","disabled","onUpdate:modelValue"])),r("div",x1,[a.uploadedFile?(d(),x(y,{key:0,file:a.uploadedFile,"is-selected":s.isSelected(a.uploadedFile,"file"),"is-last":!0,"is-radio":!0,onUpdateSelected:e[5]||(e[5]=C=>a.selected=a.uploadedFile)},null,8,["file","is-selected"])):k("",!0),a.newFile?(d(),x(y,{key:1,ref:"newFileUploadRow",file:a.newFile,"checkbox-disabled":!0,"is-new":!0,"is-radio":!0},null,8,["file"])):k("",!0)])]))]),_:1},512)}const A1=ie(_1,[["render",F1],["__scopeId","data-v-7a51237b"]]),M1={components:{ImageThumbnail:Za,DigitalDocumentPrintView:Uo,PlayerPhotoModal:br,ImageCropModal:Gi,UploadProgress:ir,PlayerImageModal:zl,AddResourceModal:A1},inject:["refreshPlayer","refresh"],provide(){return{fileType:this.fileType}},props:{player:{type:Object,required:!0},requirement:{type:Object,required:!0},clubResourceTagsById:{type:Object,required:!0},requirementResource:{type:Object,required:!0},league:{type:Object,required:!0},isVerified:{type:Boolean,required:!0},isInfoRequested:{type:Boolean,required:!0},readOnly:{type:Boolean,default:!1}},emits:["valueChange"],setup(){const{formatDate:t}=Xe();return{formatDate:t}},data(){return{localRequirementResourceId:null,creatingRequirementResourcePromise:null,resourceId:0,photoPrivateUrls:{},viewMore:!1,selectedResourceUrl:null,apiError:null,newPhotoFile:null,loadingResourceView:!1,digitalDocument:null}},computed:{selectedResource(){return O.find(this.resourcesForTag,t=>t.id===this.resourceId)||{}},tagForRequirement(){return this.clubResourceTagsById[this.requirement.resource_tag_id]||{}},isPlayerPhoto(){return this.tagForRequirement&&this.tagForRequirement.name===""&&this.tagForRequirement.category==="Player Photo"},isBirthCertificate(){return this.tagForRequirement&&this.tagForRequirement.name===""&&this.tagForRequirement.category==="Birth Certificate"},playerResources(){return this.player.resources||[]},resourcesForTag(){return this.resourcesForTagOrUntagged.filter(t=>!O.isEmpty(t.public_tags))},resourcesForTagOrUntagged(){const t=this.playerResources.filter(e=>O.isEmpty(e.public_tags)||(e.public_tags||[]).some(i=>i.name===this.tagForRequirement.name&&i.category===this.tagForRequirement.category));return O.orderBy(t,"created_at","desc")},requestedInfo(){return this.isInfoRequested?this.player.request_info_form&&this.player.request_info_form.values_json[this.requirement.id]===1:!1},formValue(){if(this.isVerified||this.isInfoRequested||!this.player.request_info_form||this.player.request_info_form.canceled_at||this.player.request_info_form.values_json[this.requirement.id]!==1)return null;const t=Ht.fieldsFor(this.player.request_info_form.form_request.form_template_json),e=t.find(s=>s.type==="checkbox"&&s.id===this.requirement.id),i=e&&e.options[0].show_elements[0];let l=t.find(s=>s.id===i),a=this.player.request_info_form.values_json[i];return l||(l=this.player.request_info_form.form_request.form_template_json.find(u=>u.id===i).elements[0],a=this.player.request_info_form.values_json[l.id]),{type:l&&l.type,value:a}},isFromForm(){if(this.formValue&&this.formValue.type==="file-upload"){const t=this.formValue.value;return(t&&t[0]&&t[0].resourceID)===this.resourceId}else if(this.formValue&&this.formValue.type==="digital-document"){const t=this.resourcesForTag.find(e=>e.type==="Digital Document"&&this.digitalDocument&&e.url.includes(this.digitalDocument.vendor_id)&&e.public_tags.some(i=>i.category==="Digital Document"&&i.name===""&&i.system));return t&&t.id===this.resourceId}return!1},canEdit(){return!this.isVerified&&!this.requestedInfo&&!this.readOnly},canApprove(){return!!this.resourceId&&this.canEdit&&!this.isApproved},resourceExpiryDate(){return this.requirementResource.id&&this.requirementResource.expiry_date||null},seasonEndDate(){var t;return(t=this.league.season)==null?void 0:t.end_date},isExpired(){return this.resourceExpiryDate&&Y().isAfter(this.resourceExpiryDate,"day")&&Y(this.seasonEndDate).isAfter(this.resourceExpiryDate,"day")},isApproved(){return!!this.requirementResource.approved_at},requirementResourceId(){return this.requirementResource.id||this.localRequirementResourceId||null},verifiedOffline(){return this.isApproved&&!this.requirementResource.resource_id},resourceApprovedByText(){var e;let t=((e=this.requirementResource.approved_by)==null?void 0:e.display_name)||"User";return this.isBirthCertificate&&this.verifiedOffline&&!this.requirementResource.approved_by&&(t="System"),"".concat(t," on ").concat(this.formatDate(this.requirementResource.approved_at,"ll")," at ").concat(this.formatDate(this.requirementResource.approved_at,"h:mm A"))}},watch:{requestedInfo(){this.requestedInfo&&(this.resourceId=0)}},created(){if(this.localRequirementResourceId=this.requirementResource.id||null,this.requirementResource.resource_id)this.requestedInfo?this.resourceId=0:this.resourceId=this.requirementResource.resource_id;else{const t=this.formValue&&this.formValue.type==="file-upload"&&this.formValue.value[0]&&this.formValue.value[0].resourceID;t?this.resourceId=t:this.resourcesForTag.length>0&&(this.resourceId=this.resourcesForTag[0].id)}this.formValue&&this.formValue.type==="digital-document"&&this.formValue.value&&Q().get("forms/digital_documents/".concat(this.formValue.value)).then(t=>{if(this.digitalDocument=t.data,!this.isVerified&&!this.requestedInfo&&this.formValue&&this.formValue.type==="digital-document"){const e=this.resourcesForTag.find(i=>i.type==="Digital Document"&&this.digitalDocument&&i.url.includes(this.digitalDocument.vendor_id)&&i.public_tags.some(l=>l.category==="Digital Document"&&l.name===""&&l.system));e&&(this.resourceId=e.id)}})},methods:{isEmpty:O.isEmpty,addResource(){this.isPlayerPhoto?this.$refs.playerPhotoModal.showModal():this.$refs.addResourceModal.showModal()},handleVerifiedOffline(){this.resourceId=0,this.$store.commit("setShouldRefreshPlayerTab",!0),this.isApproved&&!this.requirementResource.resource_id?this.removeResource():this.approveResource()},handleUploadPhoto(t){this.newPhotoFile=t,this.$refs.playerPhotoModal.dismissModal(),this.$refs.imageCropModal.showModal(t)},handleSelectedPhoto(t){this.$refs.playerPhotoModal.dismissModal(),this.resourceId=t.id,this.updateResource()},handleImageSave(t){const e=this.resourceId;this.resourceId=0,this.$refs.uploadProgress.uploadImageNew(t).then(i=>{const l=this.$store.getters.user,a={name:i.original_name,size:i.size,type:i.content_type,url:i.url,created_by:{id:l.id,display_name:"".concat(l.first_name||""," ").concat(l.last_name||"")},created_at:new Date};this.doSaveResource(a)}).catch(()=>{this.resourceId=e}).finally(()=>{this.newPhotoFile=null})},handleImageReject(){this.newPhotoFile=null},handleRemove(){this.resourceId=0,this.removeResource()},showImage(){const t={...this.player,birth_name:"".concat(this.player.birth_first_name||"").concat(this.player.birth_middle_name?" ".concat(this.player.birth_middle_name):""," ").concat(this.player.birth_last_name||"").concat(this.player.birth_suffix?" ".concat(this.player.birth_suffix):"")};this.$refs.playerImageModal.showModal(t,this.selectedResource)},async cropImage(){let t=this.selectedResource.url;if(this.selectedResource.id){const l="/players/".concat(this.player.id,"/resources/").concat(this.selectedResource.id,"/private_access_url");t=(await Q().get(l)).data}const i=await(await fetch(t)).blob();i.name=this.selectedResource.name,this.newPhotoFile=i,this.$refs.imageCropModal.showModal(i)},doSaveResource(t){if(O.find(this.resourcesForTag,i=>i.id===t.id))this.resourceId=t.id,this.updateResource();else{const i={player_id:this.player.id};t.id?(i.id=t.id,i.public_tags=[...t.public_tags||[],this.tagForRequirement]):(i.name=this.requirement.name,i.url=t.url,i.public_tags=[this.tagForRequirement]),i.allowed_roles=this.requirement.allowed_roles,this.$store.dispatch("savePlayerResource",i).then(l=>{const a=typeof l=="object"?l:JSON.parse(l);this.resourceId=a.id,this.updateResource()})}}
1,requirementResourcesUrl(){return"club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players/").concat(this.player.id,"/requirement_resources")},ensureRequirementResourceId(){return this.requirementResourceId?Promise.resolve(this.requirementResourceId):(this.creatingRequirementResourcePromise||(this.creatingRequirementResourcePromise=Q().post(this.requirementResourcesUrl(),{requirement_id:this.requirement.id,resource_id:this.resourceId}).then(t=>(this.localRequirementResourceId=t.data.id,this.localRequirementResourceId)).finally(()=>{this.creatingRequirementResourcePromise=null})),this.creatingRequirementResourcePromise)},fileType(t){return ze.fileType(t)},showResource(){if(this.viewMore=!this.viewMore,this.selectedResource.type!=="Image")if(this.loadingResourceView=!0,this.viewMore&&!this.selectedResourceUrl){const t="/players/".concat(this.player.id,"/resources/").concat(this.selectedResource.id,"/private_access_url");Q({showError:!1}).get(t).then(e=>{this.selectedResourceUrl=e.data}).catch(e=>{this.apiError=e}).finally(()=>{this.loadingResourceView=!1})}else this.loadingResourceView=!1},async updateResource(){const t=await this.ensureRequirementResourceId();await Q().post("".concat(this.requirementResourcesUrl(),"/").concat(t),{resource_id:this.resourceId}),this.$emit("valueChange")},async approveResource(){const t=await this.ensureRequirementResourceId();await Q().post("".concat(this.requirementResourcesUrl(),"/").concat(t,"/approve")),this.$emit("valueChange")},async removeResource(){const t=this.requirementResourceId;if(!t){this.resourceId=0;return}await Q().post("".concat(this.requirementResourcesUrl(),"/").concat(t,"/remove")),this.resourceId=0}}},D1={class:"box"},R1={class:"columns"},I1={class:"column is-font-mont"},E1={class:"has-text-weight-bold is-text-size-5 is-flex is-align-items-center"},V1={key:0},P1={class:"has-text-success"},B1={class:"column is-narrow"},q1={key:0},O1={key:1},U1={key:2},L1={key:3},G1={key:0,class:"mt-5"},N1={key:1,class:"bis-box details-box"},j1={key:0},Y1={class:"details-box__label"},z1={class:"details-box__value"},H1={class:"details-box__value"},$1={class:"is-font-mont has-text-weight-medium"},W1={class:"is-font-mont has-text-weight-medium"},Q1={key:5},J1={key:0,class:"mt-4"},K1={key:0,class:"bis-box"},X1={class:"columns"},Z1={class:"column is-narrow"},eC={class:"player-photo-container"},tC={class:"column"},sC={class:"is-font-mont has-text-weight-semibold"},iC={class:"resource-date"},aC={class:"mt-2"},lC={class:"column is-narrow"},nC={key:0},rC={key:1},oC={key:0,class:"mt-4"},dC={key:0,class:"bis-box"},uC={class:"columns"},cC={class:"column"},mC={class:"is-font-mont has-text-weight-semibold"},fC={class:"resource-date"},hC={class:"column is-narrow"},gC={key:0},pC={key:1},_C={key:1},yC=["value"],vC={key:2},bC={key:0,class:"mt-5"},CC={key:0},SC=["src"];function kC(t,e,i,l,a,s){var P;const u=c("fa-icon"),m=c("b-tag"),f=c("b-button"),v=c("b-checkbox"),y=c("b-field"),g=c("EmptyStateComponent"),b=c("ImageThumbnail"),S=c("b-dropdown-item"),F=c("b-dropdown"),w=c("b-select"),C=c("spinner"),D=c("DigitalDocumentPrintView"),B=c("UploadProgress"),N=c("PlayerPhotoModal"),M=c("ImageCropModal"),I=c("PlayerImageModal"),V=c("AddResourceModal");return d(),h("div",null,[r("div",D1,[r("div",R1,[r("div",I1,[r("div",E1,[r("span",null,_(i.requirement.name),1),i.isVerified?(d(),h("div",V1,[n(u,{icon:["fas","lock"],class:"locked-icon"})])):k("",!0),s.isApproved?(d(),x(m,{key:1,size:"is-small",class:"verification-status-tag_approved ml-2"},{default:o(()=>[r("span",P1,[n(u,{icon:["fas","check"]})]),e[9]||(e[9]=p(" Approved ",-1))]),_:1})):k("",!0),s.requestedInfo?(d(),x(m,{key:2,class:"verification-status-tag info_requested ml-2",rounded:""},{default:o(()=>[...e[10]||(e[10]=[p(" Info Requested ",-1)])]),_:1})):s.canEdit&&!s.isApproved?(d(),x(m,{key:3,size:"is-small",class:"ml-2",rounded:""},{default:o(()=>[...e[11]||(e[11]=[p(" Incomplete ",-1)])]),_:1})):k("",!0),s.isFromForm?(d(),x(m,{key:4,class:"verification-status-tag form-response ml-2",rounded:""},{default:o(()=>[...e[12]||(e[12]=[p(" New ",-1)])]),_:1})):k("",!0)]),n(m,{class:"has-text-weight-semibold mt-2"},{default:o(()=>[p(_(s.tagForRequirement.name||s.tagForRequirement.category),1)]),_:1}
1)]),r("div",B1,[s.canApprove?(d(),x(f,{key:0,type:"is-primary is-outlined","icon-pack":"far","icon-left":"check",class:"mr-4",onClick:s.approveResource},{default:o(()=>[...e[13]||(e[13]=[p(" Approve ",-1)])]),_:1},8,["onClick"])):k("",!0),s.canEdit?(d(),x(f,{key:1,type:"is-primary is-outlined","icon-pack":"far","icon-left":a.resourceId?"sync":"plus",onClick:s.addResource},{default:o(()=>[a.resourceId?(d(),h("span",q1,"Change")):(d(),h("span",O1,"Add")),s.isPlayerPhoto?(d(),h("span",U1," Player Photo")):(d(),h("span",L1," Resource"))]),_:1},8,["icon-left","onClick"])):k("",!0)])]),s.isBirthCertificate&&(s.canEdit&&!i.readOnly||s.verifiedOffline)?(d(),h("div",G1,[n(y,null,{default:o(()=>[n(v,{"model-value":s.verifiedOffline,disabled:!s.canEdit,class:"is-font-mont has-text-weight-medium","onUpdate:modelValue":e[0]||(e[0]=E=>s.handleVerifiedOffline())},{default:o(()=>[...e[14]||(e[14]=[p(" Approved Offline ",-1)])]),_:1},8,["model-value","disabled"])]),_:1})])):k("",!0),s.resourceExpiryDate||s.isApproved?(d(),h("div",N1,[s.isApproved?(d(),h("div",j1,[r("span",Y1,"Approved "+_(s.verifiedOffline?"Offline":"")+" By: ",1),r("span",z1,_(s.resourceApprovedByText),1)])):k("",!0),s.resourceExpiryDate?(d(),h("div",{key:1,class:Ce({expired:s.isExpired})},[e[15]||(e[15]=r("span",{class:"details-box__label"},"Expiration Date: ",-1)),r("span",H1,_(l.formatDate(s.resourceExpiryDate,"ll")),1)],2)):k("",!0)])):k("",!0),!s.isApproved&&s.canEdit&&s.resourcesForTag.length===0?(d(),x(g,{key:2,header:"There are no resources available"},{body:o(()=>[r("p",$1,[e[16]||(e[16]=p(" You can either ",-1)),r("a",{class:"is-underline",onClick:e[1]||(e[1]=(...E)=>s.addResource&&s.addResource(...E))},"Add a Resource"),e[17]||(e[17]=p(" or request information ",-1))])]),_:1})):!s.canEdit&&!a.resourceId&&!s.isApproved?(d(),x(g,{key:3,header:"No resource has been selected"})):s.canEdit&&!a.resourceId&&!s.isApproved?(d(),x(g,{key:4,header:"No resource has been selected"},{body:o(()=>[r("p",W1,[e[18]||(e[18]=p(" You can either ",-1)),r("a",{class:"is-underline",onClick:e[2]||(e[2]=(...E)=>s.addResource&&s.addResource(...E))},"Add a Resource"),e[19]||(e[19]=p(" or request information ",-1))])]),_:1})):(d(),h("div",Q1,[s.isPlayerPhoto?(d(),h("div",J1,[s.isEmpty(s.selectedResource)?k("",!0):(d(),h("div",K1,[r("div",X1,[r("div",Z1,[r("div",eC,[n(b,{class:"player-photo-image","context-type":"Resource","context-id":s.selectedResource.id,"context-url":s.selectedResource.url,title:s.selectedResource.name,alt:s.selectedResource.name,size:"300"},null,8,["context-id","context-url","title","alt"])])]),r("div",tC,[r("p",sC,_(s.selectedResource.name),1),r("p",iC," Added "+_(l.formatDate(s.selectedResource.created_at,"ll")),1),r("div",aC,[r("a",{class:"resource-link",onClick:e[3]||(e[3]=(...E)=>s.showImage&&s.showImage(...E))}," Show Image "),i.isVerified?k("",!0):(d(),h("a",{key:0,class:"resource-link ml-4",onClick:e[4]||(e[4]=(...E)=>s.cropImage&&s.cropImage(...E))}," Crop Image "))])]),r("div",lC,[s.canEdit?(d(),x(F,{key:0,position:"is-bottom-left",class:"menu-dropdown"},{trigger:o(()=>[n(f,{type:"is-text",class:"menu-button","aria-label":"More actions"},{default:o(()=>[n(u,{icon:["far","ellipsis-h"]})]),_:1})]),default:o(()=>[n(S,{onClick:e[5]||(e[5]=E=>s.handleRemove())},{default:o(()=>[e[20]||(e[20]=p(" Remove ",-1)),s.isPlayerPhoto?(d(),h("span",nC,"Player Photo")):(d(),h("span",rC,"Resource"))]),_:1})]),_:1})):k("",!0)])])]))])):(d(),h(G,{key:1},[!s.isBirthCertificate||!s.verifiedOffline?(d(),h("div",oC,[a.resourceId?(d(),h("div",dC,[r("div",uC,[r("div",cC,[r("p",mC,_(s.selectedResource.name),1),r("p",fC," Added by "+_(((P=s.selectedResource.created_by)==null?void 0:P.display_name)||"user")+" on "+_(l.formatDate(s.selectedResource.created_at,"ll")),1),r("a",{class:"resource-link mt-3",onClick:e[6]||(e[6]=(...E)=>s.showResource&&s.showResource(...E))},_(a.viewMore?"Hide":"Show")+" Resource ",1)]),r("div",hC,[s.canEdit?(d(),x(F,{key:0,position:"is-bottom-left",class:"menu-dropdown"},{trigger:o(()=>[n(f,{type:"is-text","aria-label":"More actions",class:"menu-button"},{default:o(()=>[n(u,{icon:["far","ellipsis-h"]})]),_:1})]),default:o(()=>[n(S,{onClick:e[7]||(e[7]=E=>s.handleRemove())},{default:o(()=>[e[21]||(e[21]=p(" Remove ",-1)),s.isPlayerPhoto?(d(),h("span",gC,"Player Photo")):(d(),h("span",pC,"Resource"))]),_:1})]),_:1}
1)):k("",!0)])])])):s.canEdit?(d(),h("div",_C,[e[22]||(e[22]=r("p",{class:"label is-font-mont"},"Select a Resource",-1)),n(y,null,{default:o(()=>[n(w,{modelValue:a.resourceId,"onUpdate:modelValue":e[8]||(e[8]=E=>a.resourceId=E),expanded:""},{default:o(()=>[(d(!0),h(G,null,ue(s.resourcesForTag,E=>(d(),h("option",{key:"resourceOption_".concat(E.id),value:E.id},_(E.name),9,yC))),128))]),_:1},8,["modelValue"])]),_:1})])):k("",!0),!s.isEmpty(s.selectedResource)&&a.viewMore?(d(),h("div",vC,[s.selectedResource.type==="Image"?(d(),x(b,{key:0,"context-type":"Resource","context-id":s.selectedResource.id,"context-url":s.selectedResource.url,title:s.selectedResource.name,alt:s.selectedResource.name},null,8,["context-id","context-url","title","alt"])):(d(),h(G,{key:1},[n(C,{loading:!a.selectedResourceUrl||a.loadingResourceView,"api-error":a.apiError},null,8,["loading","api-error"]),a.selectedResourceUrl?(d(),h("div",bC,[s.selectedResource.type==="PDF"||s.selectedResource.type==="Digital Document"?(d(),h("div",CC,[r("div",null,[n(D,{"document-url":a.selectedResourceUrl},null,8,["document-url"])])])):(d(),h("iframe",{key:1,src:"".concat(a.selectedResourceUrl,"#toolbar=0"),width:"100%",height:"100%",class:"bis-box p-0",style:{"min-height":"600px"}},null,8,SC))])):k("",!0)],64))])):k("",!0)])):k("",!0)],64))])),r("div",null,[n(B,{ref:"uploadProgress"},null,512)])]),n(N,{ref:"playerPhotoModal","previous-photos":s.resourcesForTag,onUpload:s.handleUploadPhoto,onSelect:s.handleSelectedPhoto},null,8,["previous-photos","onUpload","onSelect"]),n(M,{ref:"imageCropModal",onSave:s.handleImageSave,onClose:s.handleImageReject},null,8,["onSave","onClose"]),n(I,{ref:"playerImageModal"},null,512),n(V,{ref:"addResourceModal",file:s.selectedResource,"player-resources":s.resourcesForTagOrUntagged,"allow-resource-reuse":i.requirement.allow_reuse,"upload-tags":[i.requirement.resource_tag_id],onSaveResource:s.doSaveResource},null,8,["file","player-resources","allow-resource-reuse","upload-tags","onSaveResource"])])}const wC=ie(M1,[["render",kC],["__scopeId","data-v-03b3cd82"]]),TC={components:{Modal:Qe},inject:["refresh"],props:{player:{type:Object,required:!0},verificationRequirements:{type:Array,default:()=>[]},league:{type:Object,required:!0}},emits:["dismissed","nextPlayer"],setup(){return{toast:Se()}},data(){return{selectedRequirements:[],message:"",saving:!1}},computed:{invalid(){return this.selectedRequirements.length===0}},methods:{showModal(){this.selectedRequirements=this.verificationRequirements.filter(t=>this.hasMissingResource(t.id)||this.isExpiredResource(t.id)).map(t=>t.id),this.message="",this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal(),this.$emit("dismissed")},async sendRequest(){this.saving=!0,this.player.sanctioning_body_player_key||await Q().post("/club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players"),{ids:[this.player.id]});const t="/club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players/").concat(this.player.id,"/request_more_info"),e={};this.selectedRequirements.forEach(l=>{e[l]=1});const i={values:e,team_id:this.player.team_id,league_id:this.league.id,message:this.message};Q().post(t,i).then(()=>{this.toast.success("Request Sent"),this.dismissModal(),this.refresh({reload:!1}),this.saving=!1,this.$emit("nextPlayer")}),this.selectedRequirements.forEach(l=>{const a=this.player.verification_data[l];a&&a.id&&Q().post("/club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players/").concat(this.player.id,"/requirement_resources/").concat(a.id,"/remove"))})},hasMissingResource(t){return this.player.verification_data[t]&&!this.player.verification_data[t].resource_id},isExpiredResource(t){const e=this.player.verification_data[t];return e!=null&&e.expiry_date?Y(e.expiry_date).isBefore(Y().tz(this.$store.getters.clubDetails.timezone).format("YYYY-MM-DD")):!1}}},xC={key:0},FC={class:"is-font-mont has-text-weight-medium"},AC={key:0,class:"has-text-blue-slate is-text-size-7 is-italic has-text-weight-normal is-font-fira ml-1"},MC={key:1,class:"has-text-blue-slate is-text-size-7 is-italic has-text-weight-normal is-font-fira ml-1"};
1function DC(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-input"),f=c("b-field"),v=c("b-button"),y=c("Modal");return d(),x(y,{ref:"modal",title:"Request Information"},{footer:o(()=>[n(v,{disabled:s.invalid||a.saving,loading:a.saving,type:"is-primary",onClick:e[2]||(e[2]=g=>s.sendRequest())},{default:o(()=>[...e[6]||(e[6]=[p(" Send Request ",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>[i.player?(d(),h("div",xC,[e[3]||(e[3]=r("p",{class:"mb-20"},"Send a message to the Player Contacts requesting the selected resources.",-1)),e[4]||(e[4]=r("p",{class:"is-font-mont has-text-weight-semibold"},"Select Resources",-1)),r("div",FC,[(d(!0),h(G,null,ue(i.verificationRequirements,g=>(d(),h("div",{key:g.id,class:"pt-5"},[n(u,{modelValue:a.selectedRequirements,"onUpdate:modelValue":e[0]||(e[0]=b=>a.selectedRequirements=b),"native-value":g.id},{default:o(()=>[p(_(g.name)+" ",1),s.hasMissingResource(g.id)?(d(),h("span",AC," (Missing Resource) ")):k("",!0),s.isExpiredResource(g.id)?(d(),h("span",MC," (Expired) ")):k("",!0)]),_:2},1032,["modelValue","native-value"])]))),128))]),e[5]||(e[5]=r("p",{class:"mt-20 mb-2"},[r("span",{class:"is-font-mont has-text-weight-semibold"},"Message"),r("span",{class:"is-italic has-text-blue-slate"},"Â (optional)")],-1)),n(f,null,{default:o(()=>[n(m,{modelValue:a.message,"onUpdate:modelValue":e[1]||(e[1]=g=>a.message=g),type:"textarea"},null,8,["modelValue"])]),_:1})])):k("",!0)]),_:1},512)}const RC=ie(TC,[["render",DC],["__scopeId","data-v-aabfaf7d"]]),IC={components:{PlayerVerificationRequirement:wC,RequestInfoModal:RC},inject:["verificationStatus","refresh","expiryDate"],props:{player:{type:Object,required:!0},verificationRequirements:{type:Array,default:()=>[]},clubResourceTagsById:{type:Object,required:!0},league:{type:Object,required:!0},readOnly:{type:Boolean,default:!1}},emits:["nextPlayer","update:player"],setup(){const{formatDate:t}=Xe(),e=Se();return{titleize:Ws,formatDate:t,toast:e}},data(){return{saving:!1,canceling:!1,isLoading:!1,unlockingResources:!1,existingPlayerData:null,newPlayer:O.cloneDeep(this.player)}},computed:{invalid(){return!this.player||!this.newPlayer.birth_first_name||!this.newPlayer.birth_last_name||this.birthdateInvalid||!this.newPlayer.gender},birthFirstNameInvalid(){return this.newPlayer.birth_first_name?"":"First name is required"},birthLastNameInvalid(){return this.newPlayer.birth_last_name?"":"Last name is required"},birthdateInvalid(){if(!this.newPlayer.birth_date)return"";const t=Y(this.newPlayer.birth_date);return t.isValid()?t.isBefore(this.minDate)?"Value must be ".concat(this.formatDate(this.minDate,"L")," or later"):t.isAfter(this.maxDate)?"Value must be ".concat(this.formatDate(this.maxDate,"L")," or earlier"):"":"Invalid date"},birthFieldsLocked(){return this.newPlayer.birth_name_locked||this.newPlayer.birth_date_locked},minDate(){return ze.minDate(this.$store.getters.clubDetails.config.ages)},maxDate(){return ze.maxDate(this.$store.getters.clubDetails.config.ages)},birthName(){return wl.birthName(this.player)},status(){return this.verificationStatus(this.player)},isVerified(){return this.status==="verified"},isInfoRequested(){return this.status==="info_requested"},infoAlertMessage(){if(this.newPlayer.locked_by_governing_body){const t=this.newPlayer.locked_by_governing_body_name||"Governing Body";return"This player has been verified in ".concat(t," and the player data is locked. Edits must be initiated with ").concat(t,".")}return this.newPlayer.is_in_other_sanctioning_bodies?"This player is in multiple Sanctioning Bodies. Changing Player Data will impact multiple Sanctioning Bodies.":""}},watch:{"newPlayer.gender":{handler(){this.updatePlayerData()}},player:{deep:!0,handler(t){O.isEqual(t,this.player)||(this.newPlayer=O.cloneDeep(t))}},newPlayer(){this.$emit("update:player",this.newPlayer)}},methods:{handleUpdatedResource(){this.$store.commit("setShouldRefreshPlayerTab",!0),this.refresh({reload:!1})},async verify(){var a;this.saving=!0;const t=[];if(O.forEach(this.newPlayer.verification_data,s=>{t.push({requirement_id:s.requirement_id,resource_id:s.resource_id,resource_tag_id:s.resource_tag_id,expiry_date:this.expiryDate(s)})}),!this.newPlayer.locked_by_governing_body){const s=O.pick(this.newPlayer,["birth_first_name","birth_middle_name","birth_last_name","birth_suffix","gender"]);s.birth_name_locked=1,this.newPlayer.birth_date&&(s.birth_date=this.newPlayer.birth_date,
1s.birth_date_locked=1),await Q().post("/club_admin/players/".concat(this.newPlayer.id,"/birth_fields"),s).then(()=>{this.existingPlayerData=s})}this.newPlayer.sanctioning_body_player_key||await Q().post("club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players"),{ids:[this.newPlayer.id]});const e="club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players/verify"),i={[this.newPlayer.id]:t};await Q().post(e,i);const l=(a=this.newPlayer.request_info_form)==null?void 0:a.id;l&&await Q().post("/forms/".concat(l,"/cancel")),this.refresh({reload:!1}),this.toast.success("".concat(this.newPlayer.birth_first_name," ").concat(this.newPlayer.birth_last_name," has been verified")),this.saving=!1,this.$emit("nextPlayer")},requestInfo(){this.$refs.requestInfoModal.showModal()},cancelRequestInfo(){var e;const t=(e=this.newPlayer.request_info_form)==null?void 0:e.id;t&&(this.canceling=!0,Q().post("/forms/".concat(t,"/cancel")).then(()=>{this.toast.success("Request Canceled"),this.refresh({reload:!1})}).finally(()=>{this.canceling=!1}))},unlockResources(){this.unlockingResources=!0,Q().post("club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players/unverify"),{ids:[this.newPlayer.id]}).then(()=>{this.refresh({reload:!1})}).finally(()=>{this.unlockingResources=!1})},async updatePlayerData(t,e,i=0){if(this.newPlayer.locked_by_governing_body||this.birthdateInvalid||this.birthFirstNameInvalid||this.birthLastNameInvalid)return;const l=O.pick(this.newPlayer,["birth_first_name","birth_middle_name","birth_last_name","birth_suffix","gender"]),a=!O.isEqual(this.existingPlayerData,l),s=!!i!=!!this.birthFieldsLocked;(a||s)&&(this.isLoading=!0,l.birth_name_locked=i,this.newPlayer.birth_date&&(l.birth_date=this.newPlayer.birth_date,l.birth_date_locked=i),await Q().post("/club_admin/players/".concat(this.newPlayer.id,"/birth_fields"),l).then(()=>{this.existingPlayerData=l}).finally(()=>{this.isLoading=!1}),t?this.refresh({reload:e}):this.$store.commit("setShouldRefreshPlayerTab",!0))},toggleLockPlayerData(){const t=this.birthFieldsLocked?0:1;this.updatePlayerData(!0,!1,t)}}},EC={class:"player-details-header"},VC={style:{width:"100%"}},PC={class:"level"},BC={class:"level-left"},qC={class:"level-item"},OC={class:"player-team overflow-hidden"},UC={class:"columns is-vcentered"},LC={class:"column is-narrow player-name overflow-hidden"},GC={class:"column is-narrow"},NC={class:"is-vertical-center"},jC={key:0,class:"has-text-success-dark is-text-size-5",style:{"margin-right":"0.5rem"}},YC={class:"level-right",style:{"margin-left":"1rem"}},zC={key:0,class:"level-item action"},HC={key:1,class:"level-item action"},$C={key:2,class:"level-item action"},WC={class:"player-details-body"},QC={class:"player-data"},JC={class:"columns is-vcentered"},KC={class:"column is-narrow"},XC={style:{"margin-top":"1.5rem"}},ZC={class:"block is-font-mont has-text-weight-medium",style:{"margin-top":"0.5rem"}},eS={class:"player-resources"};function tS(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-tag"),f=c("b-button"),v=c("message-box"),y=c("b-input"),g=c("b-field"),b=c("b-radio"),S=c("PlayerVerificationRequirement"),F=c("RequestInfoModal");return d(),h("div",{class:Ce(["wrapper",{"has-message-box":!!s.infoAlertMessage}])},[r("div",EC,[r("div",VC,[r("div",PC,[r("div",BC,[r("div",qC,[r("div",null,[r("p",OC,_(a.newPlayer.team_name),1),r("div",UC,[r("div",LC,_(s.birthName),1),r("div",GC,[n(m,{class:Ce("verification-status-tag ".concat(s.status)),style:{"align-self":"flex-end"},rounded:""},{default:o(()=>[r("span",NC,[s.status==="verified"?(d(),h("span",jC,[n(u,{icon:["far","check"]})])):k("",!0),r("span",null,_(l.titleize(s.status)),1)])]),_:1},8,["class"])])])])])]),r("div",YC,[!s.isVerified&&!i.readOnly?(d(),h("div",zC,[s.isInfoRequested?(d(),x(f,{key:0,type:"is-primary is-outlined",disabled:a.saving||a.canceling,loading:a.canceling,onClick:e[0]||(e[0]=w=>s.cancelRequestInfo())},{default:o(()=>[...e[17]||(e[17]=[r("span",null,"Cancel Request",-1)])]),_:1},8,["disabled","loading"])):(d(),x(f,{key:1,type:"is-primary is-outlined",disabled:a.saving||a.canceling,onClick:e[1]||(e[1]=w=>s.requestInfo())},{default:o(()=>[...e[18]||(e[18]=[r("span",null,"Request Info",-1)])]),_:1},8,["disabled"]))])):k("",!0),!s.isVerified&&!i.readOnly?(d(),h("div",HC,[n(f,{type:"is-primary is-wide",disabled:s.invalid||a.saving||a.canceling,loading:a.saving,onClick:e[2]||(e[2]=w=>s.verify())},{default:o(()=>[...e[19]||(e[19]=[r("span",null,"Verify",-1)])]),_:1},8,["disabled","loading"])])):k("",!0),s.isVerified&&!i.readOnly?(d(),h("div",$C,[n(f,{type:"is-primary",disabled:a.unlockingResources,loading:a.unlockingResources,onClick:e[3]||(e[3]=w=>s.unlockResources())},{default:o(()=>[...e[20]||(e[20]=[r("span",null,"Update Resources",-1)])]),_:1},8,["disabled","loading"])])):k("",!0)])]),s.infoAlertMessage?(d(),x(v,{key:0,t
1ype:"is-cyan",message:s.infoAlertMessage,icon:{icon:["fas","info-circle"],type:"info"},style:{margin:"0"}},null,8,["message"])):k("",!0)])]),r("div",WC,[r("div",QC,[r("div",JC,[e[21]||(e[21]=r("div",{class:"column"},[r("p",{class:"player-details-body-title"},"Player Data")],-1)),r("div",KC,[n(f,{type:"is-dark",size:"is-small",style:{margin:"-0.25rem 0"},disabled:a.isLoading||a.newPlayer.locked_by_governing_body,loading:a.isLoading,onClick:s.toggleLockPlayerData},{default:o(()=>[p(_(s.birthFieldsLocked?"Unlock":"Lock"),1)]),_:1},8,["disabled","loading","onClick"])])]),r("div",XC,[r("div",null,[e[22]||(e[22]=r("p",{class:"label"},"First Name",-1)),n(g,{type:s.birthFirstNameInvalid?"is-danger":"",message:s.birthFirstNameInvalid},{default:o(()=>[n(y,{modelValue:a.newPlayer.birth_first_name,"onUpdate:modelValue":e[4]||(e[4]=w=>a.newPlayer.birth_first_name=w),disabled:a.newPlayer.birth_name_locked,onBlur:e[5]||(e[5]=w=>s.updatePlayerData(!1))},null,8,["modelValue","disabled"])]),_:1},8,["type","message"])]),r("div",null,[e[23]||(e[23]=r("p",{class:"label"},[p("Middle Name "),r("span",{class:"optional"},"(optional)")],-1)),n(g,null,{default:o(()=>[n(y,{modelValue:a.newPlayer.birth_middle_name,"onUpdate:modelValue":e[6]||(e[6]=w=>a.newPlayer.birth_middle_name=w),disabled:a.newPlayer.birth_name_locked,onBlur:e[7]||(e[7]=w=>s.updatePlayerData(!1))},null,8,["modelValue","disabled"])]),_:1})]),r("div",null,[e[24]||(e[24]=r("p",{class:"label"},"Last Name",-1)),n(g,{type:s.birthLastNameInvalid?"is-danger":"",message:s.birthLastNameInvalid},{default:o(()=>[n(y,{modelValue:a.newPlayer.birth_last_name,"onUpdate:modelValue":e[8]||(e[8]=w=>a.newPlayer.birth_last_name=w),disabled:a.newPlayer.birth_name_locked,onBlur:e[9]||(e[9]=w=>s.updatePlayerData(!1))},null,8,["modelValue","disabled"])]),_:1},8,["type","message"])]),r("div",null,[e[25]||(e[25]=r("p",{class:"label"},[p("Suffix "),r("span",{class:"optional"},"(optional)")],-1)),n(g,null,{default:o(()=>[n(y,{modelValue:a.newPlayer.birth_suffix,"onUpdate:modelValue":e[10]||(e[10]=w=>a.newPlayer.birth_suffix=w),disabled:a.newPlayer.birth_name_locked,onBlur:e[11]||(e[11]=w=>s.updatePlayerData(!1))},null,8,["modelValue","disabled"])]),_:1})]),r("div",null,[e[26]||(e[26]=r("p",{class:"label"},"Birthdate",-1)),n(g,{type:s.birthdateInvalid?"is-danger":"",message:s.birthdateInvalid},{default:o(()=>[n(y,{modelValue:a.newPlayer.birth_date,"onUpdate:modelValue":e[12]||(e[12]=w=>a.newPlayer.birth_date=w),disabled:a.newPlayer.birth_date_locked,min:s.minDate,max:s.maxDate,type:"date",onBlur:e[13]||(e[13]=w=>s.updatePlayerData(!1))},null,8,["modelValue","disabled","min","max"])]),_:1},8,["type","message"])]),r("div",null,[e[29]||(e[29]=r("p",{class:"label"},"Gender",-1)),r("div",ZC,[n(b,{modelValue:a.newPlayer.gender,"onUpdate:modelValue":e[14]||(e[14]=w=>a.newPlayer.gender=w),disabled:a.newPlayer.birth_name_locked,name:"gender","native-value":"M",style:{"margin-right":"1rem"}},{default:o(()=>[...e[27]||(e[27]=[p(" Male ",-1)])]),_:1},8,["modelValue","disabled"]),n(b,{modelValue:a.newPlayer.gender,"onUpdate:modelValue":e[15]||(e[15]=w=>a.newPlayer.gender=w),disabled:a.newPlayer.birth_name_locked,name:"gender","native-value":"F"},{default:o(()=>[...e[28]||(e[28]=[p(" Female ",-1)])]),_:1},8,["modelValue","disabled"])])])])]),r("div",eS,[e[30]||(e[30]=r("p",{class:"player-details-body-title"},"Resources",-1)),e[31]||(e[31]=r("p",{class:"has-text-blue-slate",style:{margin:"0.5rem 0 1.5rem"}}," Verify the resources that the Sanctioning Body requires for player registration. Any valid player resources with the specified tag will be included. ",-1)),r("div",null,[(d(!0),h(G,null,ue(i.verificationRequirements,w=>(d(),x(S,{key:"".concat(w.id,"_").concat(a.newPlayer.id),requirement:w,player:i.player,"club-resource-tags-by-id":i.clubResourceTagsById,league:i.league,"requirement-resource":a.newPlayer.verification_data[w.id],"is-verified":s.isVerified,"is-info-requested":s.isInfoRequested,"read-only":i.readOnly,onValueChange:s.handleUpdatedResource},null,8,["requirement","player","club-resource-tags-by-id","league","requirement-resource","is-verified","is-info-requested","read-only","onValueChange"]))),128))])])]),n(F,{ref:"requestInfoModal",player:i.player,"verification-requirements":i.verificationRequirements,league:i.league,onNextPlayer:e[16
1]||(e[16]=w=>t.$emit("nextPlayer"))},null,8,["player","verification-requirements","league"])],2)}const sS=ie(IC,[["render",tS],["__scopeId","data-v-76130181"]]),yi={searchQuery:"",verificationStatus:[],showVerificationStatus:!0},iS={components:{FilterButton:Al,FilterTray:Bt,FilterSection:at},inject:["verificationStatus"],props:{selectedIndex:{type:Number,default:null},selectedPlayers:{type:Array,required:!0}},emits:["update:selectedIndex","has-visible-players"],setup(){return{titleize:Ws}},data(){return{filters:T.cloneDeep(yi)}},computed:{activePlayer(){return this.selectedPlayers[this.selectedIndex]},visiblePlayers(){const t=this.selectedPlayers.filter(e=>(!this.filters.searchQuery||"".concat(e.first_name," ").concat(e.last_name).toLowerCase().includes(this.filters.searchQuery.toLowerCase()))&&(this.filters.verificationStatus.length===0||this.filters.verificationStatus.includes(this.verificationStatus(e))));return T.sortBy(t,[e=>e.birth_last_name||e.last_name,e=>e.birth_first_name||e.first_name])},visiblePlayersKeyed(){return T.keyBy(this.visiblePlayers,this.teamPlayerKey)},filtersActive(){return!T.isEqual(this.filters,yi)}},watch:{visiblePlayers(){this.setSelectedIndex(this.activePlayer),this.$emit("has-visible-players",this.visiblePlayers.length>0)}},methods:{teamPlayerKey(t){return"".concat(t.id,"_").concat(t.team_players[0].team_id)},setSelectedIndex(t){if(t){const e=this.teamPlayerKey(t),i=this.selectedPlayers.findIndex(l=>this.teamPlayerKey(l)===e);this.visiblePlayersKeyed[e]?this.$emit("update:selectedIndex",i):this.nextPlayer(i)}else this.$emit("update:selectedIndex",0)},nextPlayer(t){if(this.visiblePlayers.length===0)return;let e=(t||this.selectedIndex)+1;e>=this.selectedPlayers.length&&(e=0);let i=this.selectedPlayers[e],l=this.teamPlayerKey(i);for(;!this.visiblePlayersKeyed[l];)e+=1,e>=this.selectedPlayers.length&&(e=0),i=this.selectedPlayers[e],l=this.teamPlayerKey(i);this.$emit("update:selectedIndex",e)},clearFilters(){this.filters=T.cloneDeep(yi)},isActivePlayer(t){return this.activePlayer&&this.activePlayer.id===t.id&&this.activePlayer.team_players[0].team_id===t.team_players[0].team_id}}},aS={class:"player-list-column"},lS={class:"columns is-vcentered"},nS={class:"column"},rS={class:"column is-narrow",style:{"padding-left":"0"}},oS={style:{"margin-top":"2rem"}},dS=["onClick"],uS=["onClick"],cS={class:"player-name"},mS={key:0,style:{"margin-top":"0.5rem"}},fS={class:"is-vertical-center"},hS={key:0,class:"has-text-success-dark is-text-size-5",style:{"margin-right":"0.5rem"}},gS={key:0};function pS(t,e,i,l,a,s){const u=c("b-input"),m=c("FilterButton"),f=c("fa-icon"),v=c("b-tag"),y=c("b-checkbox"),g=c("b-field"),b=c("FilterSection"),S=c("b-switch"),F=c("FilterTray");return d(),h("div",null,[r("div",aS,[r("div",lS,[r("div",nS,[n(u,{modelValue:a.filters.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=w=>a.filters.searchQuery=w),icon:"search"},null,8,["modelValue"])]),r("div",rS,[n(m,{"filters-active":s.filtersActive,"icon-only":""},null,8,["filters-active"])])]),r("div",oS,[(d(!0),h(G,null,ue(s.visiblePlayers,w=>(d(),h("div",{key:s.teamPlayerKey(w),class:Ce(["box player-name-box clickable",{"box-selected-outlined":s.isActivePlayer(w)}]),onClick:C=>s.setSelectedIndex(w)},[r("a",{class:"has-text-black",onClick:He(C=>s.setSelectedIndex(w),["stop"])},[r("span",cS,_(w.birth_first_name||w.first_name)+" "+_(w.birth_last_name||w.last_name),1),a.filters.showVerificationStatus?(d(),h("div",mS,[n(v,{class:Ce("verification-status-tag ".concat(s.verificationStatus(w))),rounded:""},{default:o(()=>[r("span",fS,[s.verificationStatus(w)==="verified"?(d(),h("span",hS,[n(f,{icon:["far","check"]})])):k("",!0),r("span",null,_(l.titleize(s.verificationStatus(w))),1)])]),_:2},1032,["class"])])):k("",!0)],8,uS)],10,dS))),128)),s.visiblePlayers.length===0?(d(),h("div",gS," No players match your search criteria ")):k("",!0)])]),n(F,{title:"Filter Players","filters-active":s.filtersActive,onClearFilters:s.clearFilters},{content:o(()=>[n(b,{label:"Verification Status",collapsible:!0,"default-open":!0,"filter-active":a.filters.verificationStatus.length>0},{default:o(()=>[n(g,null,{default:o(()=>[n(y,{modelValue:a.filters.verificationStatus,"onUpdate:modelValue":e[1]||(e[1]=w=>a.filters.verificationStatus=w),"native-value":"not_verified"},{default:o(()=>[...e[5]||(e[5]=[p(" Not Verified ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(g,null,{default:o(()=>[n(y,{modelValue:a.filters.verificationStatus,"onUpdate:modelValue":e[2]||(e[2]=w=>a.filters.verificationStatus=w),"native-value":"info_requested"},{default:o(()=>[...e[6]||(e[6]=[p(" Info Requested ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(g,null,{default:o(()=>[n(y,{modelValue:a.filters.verificationStatus,"onUpdate:modelValue":e[3]||(e[3]=w=>a.filters.verificationStatus=w),"native-value":"verified"},{default:o(()=>[...e[7]||(e[7]=[p(" Verified ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["filter-active"]),n(b,{collapsible:!0,"default-open":!0,"filter-active":!a.filters.showVerificationStatus,label:"Advanced"},{default:o(()=>[n(g,null,{default:o(()=>[n(S,{modelValue:a.filters.showVerificationStatus,"onUpdate:modelValue":e[4]||(e[4]=w=>a.filters.showVerificationStatus=w)},{default:o(()=>[...e[8]||(e[8]=[p(" Show verification status ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["filter-active"])]),_:1},8,["filters-active","onClearFilters"])])}const _S=ie(iS,[["render",pS],["__scopeId","data-v-4fe84075"]]),yS={components:{FullScreenModal:Pt,PlannerHeader:Js,PlayerList
1Column:_S,PlayerDetails:sS},provide(){return{refreshPlayer:this.setActivePlayer}},props:{verificationRequirements:{type:Array,default:()=>[]},sanctioningBodyPlayers:{type:Object,default:()=>({})},league:{type:Object,required:!0},requestInfoFormRequestPlayerForms:{type:Object,default:()=>({})},readOnly:{type:Boolean,default:!1}},emits:["dismissModal"],data(){return{selectedPlayers:[],activePlayer:null,clubResourceTagsById:{},playersVerificationData:{},loading:!1,apiError:null,selectedIndex:0,hasVisiblePlayers:!0}},watch:{sanctioningBodyPlayers(){this.setActivePlayer(this.activePlayer,{reset:!0})},selectedIndex(){this.setActivePlayer(this.selectedPlayers[this.selectedIndex])}},created(){this.$store.dispatch("cachedResourceTags").then(t=>{this.clubResourceTagsById=O.keyBy(t,"id")})},unmounted(){this.$store.commit("setChatHide",!1)},methods:{showModal(t){this.$store.commit("setChatHide",!0),this.selectedPlayers=O.cloneDeep(t),this.playersVerificationData={},this.selectedIndex=0,this.setActivePlayer(this.selectedPlayers[0]),this.$refs.modal.show()},dismissModal(t={refreshData:!1}){this.$store.commit("setChatHide",!1),this.$refs.modal.dismiss(),this.$emit("dismissModal",t)},setActivePlayer(t,e={reset:!1}){if(t){let i=t.team_id||0;O.isEmpty(t.team_players)||(i=t.team_players[0].team_id);const l="".concat(t.id,"_").concat(i);if(this.playersVerificationData[l]&&!e.reset)this.activePlayer=this.playersVerificationData[l];else{this.loading=!0;const a={resources:!0,sanctioning_body_players:!0,pii:!0,requirement_resources:{approved_by:!0},locked_by_governing_body_name:!0};Q({showError:!1}).get("/players/".concat(t.id,"?populate=").concat(gt(a))).then(s=>{const u=s.data,m={id:u.id,birth_first_name:u.birth_first_name||u.first_name,birth_middle_name:u.birth_middle_name,birth_last_name:u.birth_last_name||u.last_name,birth_suffix:u.birth_suffix,birth_name_locked:u.birth_name_locked,birth_date:u.birth_date,birth_date_locked:u.birth_date_locked,locked_by_governing_body:!!u.locked_by_governing_body,locked_by_governing_body_name:u.locked_by_governing_body_name,gender:u.gender,team_id:i,team_name:this.$store.getters.clubTeamNameByID(i),resources:u.resources,requirement_resources:u.requirement_resources};u.sanctioning_body_players&&u.sanctioning_body_players.find(y=>y.sanctioning_body_id!==this.league.sanctioning_body_id)&&(m.is_in_other_sanctioning_bodies=!0);const f=this.sanctioningBodyPlayers[m.id];if(m.sanctioning_body_player_key=f&&"".concat(f.player_id,"_").concat(f.sanctioning_body_id),m.request_info_form=this.requestInfoFormRequestPlayerForms[u.id],e.verificationData)m.verification_data=e.verificationData;else{const y=(u.requirement_resources||[]).filter(S=>S.season_id===this.league.season_id&&S.sanctioning_body_id===this.league.sanctioning_body_id),g=O.keyBy(y,"requirement_id"),b=this.verificationRequirements.map(S=>{const F={requirement_id:S.id,resource_id:null,resource_tag_id:S.resource_tag_id,expiry_date:null};return g[S.id]?(F.id=g[S.id].id,F.resource_id=g[S.id].resource_id,F.expiry_date=g[S.id].expiry_date,F.approved_at=g[S.id].approved_at,F.approved_by=g[S.id].approved_by):F.initialize=!0,F});m.verification_data=O.keyBy(b,"requirement_id")}this.playersVerificationData[l]=m,this.activePlayer=m}).catch(s=>{this.apiError=s}).finally(()=>{this.loading=!1})}}}
1,nextPlayer(){this.$refs.playerListColumn.nextPlayer()}}},vS={class:"modal-body"},bS={class:"player-details-column"};function CS(t,e,i,l,a,s){const u=c("PlannerHeader"),m=c("PlayerListColumn"),f=c("spinner"),v=c("PlayerDetails"),y=c("FullScreenModal");return d(),h("div",null,[n(y,{ref:"modal"},{header:o(()=>[n(u,{"tool-name":"Verify Players",onExit:s.dismissModal},null,8,["onExit"])]),default:o(()=>[r("div",vS,[n(m,{ref:"playerListColumn","selected-index":a.selectedIndex,"onUpdate:selectedIndex":e[0]||(e[0]=g=>a.selectedIndex=g),"selected-players":a.selectedPlayers,onHasVisiblePlayers:e[1]||(e[1]=g=>a.hasVisiblePlayers=g)},null,8,["selected-index","selected-players"]),r("div",bS,[a.hasVisiblePlayers?(d(),h(G,{key:0},[n(f,{loading:a.loading,"api-error":a.apiError},null,8,["loading","api-error"]),a.loading?k("",!0):(d(),h(G,{key:0},[a.activePlayer?(d(),x(v,{key:0,player:a.activePlayer,"onUpdate:player":e[2]||(e[2]=g=>a.activePlayer=g),"verification-requirements":i.verificationRequirements,"club-resource-tags-by-id":a.clubResourceTagsById,league:i.league,"read-only":i.readOnly,onNextPlayer:s.nextPlayer},null,8,["player","verification-requirements","club-resource-tags-by-id","league","read-only","onNextPlayer"])):k("",!0)],64))],64)):k("",!0)])])]),_:1},512)])}const SS=ie(yS,[["render",CS],["__scopeId","data-v-a862b4ad"]]),kS={components:{Modal:Qe},inject:["refresh","isPlayerVerified"],props:{players:{type:Array,required:!0},sanctioningBodyPlayers:{type:Object,required:!0},verificationRequirements:{type:Array,default:()=>[]},leagueId:{type:Number,required:!0},sanctioningBodyId:{type:Number,required:!0},seasonId:{type:Number,required:!0}},emits:["dismissed"],setup(){const t=Se();return{pluralize:Fe,toast:t}},data(){return{message:"",saving:!1}},computed:{missingResources(){const t={},e={};return this.players.forEach(i=>{var l;if(!e[i.id]){if(e[i.id]=!0,this.isPlayerVerified(i))return;let a=!1;const s=(l=i.requirement_resources)==null?void 0:l.filter(m=>m.season_id===this.seasonId&&m.sanctioning_body_id===this.sanctioningBodyId),u=T.keyBy(s,"requirement_id");for(let m=0;m<this.verificationRequirements.length;m+=1){const f=this.verificationRequirements[m].id,v=u[f],y=!!(v!=null&&v.resource_id||(v==null?void 0:v.resource_id)===0&&(v!=null&&v.approved_at)),g=(v==null?void 0:v.expiry_date)&&Y(v.expiry_date)<Y();(!y||g)&&(a=!0,t[f]=(t[f]||[]).concat(i))}a&&(t.all=(t.all||[]).concat(i))}}),t},invalid(){return!this.missingResources.all||this.missingResources.all.length===0}},methods:{showModal(){this.message="",this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal(),this.$emit("dismissed")},async sendRequest(){this.saving=!0;const t=this.missingResources.all.filter(i=>!this.sanctioningBodyPlayers[i.id]).map(i=>i.id);t.length>0&&await Q().post("/club_admin/club_leagues/".concat(this.leagueId,"/club_sanctioning_bodies/").concat(this.sanctioningBodyId,"/players"),{ids:t});const e={};this.missingResources.all.forEach(i=>{var u;const l={},a=(u=i.requirement_resources)==null?void 0:u.filter(m=>m.season_id===this.seasonId&&m.sanctioning_body_id===this.sanctioningBodyId),s=T.keyBy(a,"requirement_id");this.verificationRequirements.forEach(m=>{const f=s[m.id];(!f||!f.resource_id&&!f.approved_at)&&(l[m.id]=1)}),e[i.id]={values:l,team_id:i.team.id,league_id:this.leagueId,message:this.message}}),await Q().post("/club_admin/club_leagues/".concat(this.leagueId,"/club_sanctioning_bodies/").concat(this.sanctioningBodyId,"/players/request_more_info"),e),this.toast.success("Request Sent"),this.saving=!1,this.refresh(),this.dismissModal()}}},wS={class:"is-font-mont has-text-weight-semibold"},TS={class:"is-text-size-7 mt-2"};function xS(t,e,i,l,a,s){const u=c("b-input"),m=c("b-field"),f=c("b-button"),v=c("Modal");return d(),x(v,{ref:"modal",title:"Request Information"},{footer:o(()=>[n(f,{disabled:s.invalid||a.saving,loading:a.saving,type:"is-primary",onClick:e[1]||(e[1]=y=>s.sendRequest())},{default:o(()=>[...e[5]||(e[5]=[p(" Send Request ",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>[r("div",null,[r("p",wS,_(l.pluralize((s.missingResources.all||[]).length,"Player"))+" with Missing Resources ",1),e[2]||(e[2]=r("p",{class:"is-text-size-7",style:{margin:"0.5rem 0 1.5rem 0"}}," Send a request to the Player Contacts requesting all missing resources. ",-1)),e[3]||(e[3]=r("p",{class:"is-font-mont has-text-weight-semibold"}," Resources ",-1)),r("ul",TS,[(d(!0),h(G,null,ue(i.verificationRequirements,y=>(d(),h("li",{key:y.id,style:{"padding-top":"0.25rem"}},[r("span",null,_(y.name)+" ("+_(l.pluralize((s.missingResources[y.id]||[]).length,"Player"))+")",1)]))),128))]),e[4]||(e[4]=r("p",{style:{"margin-top":"2rem","margin-bottom":"0.5rem"}},[r("span",{class:"is-font-mont has-text-weight-semibold"},"Message"),r("span",{class:"is-italic has-text-blue-slate"},"Â (optional)")],-1)),n(m,null,{default:o(()=>[n(u,{modelValue:a.message,"onUpdate:modelValue":e[0]||(e[0]=y=>a.message=y),type:"textarea"},null,8,["modelValue"])]),_:1})])]),_:1},512)}const FS=ie(kS,[["render",xS],["__scopeId","data-v-f19d7f2c"]]),AS={components:{Counter:ar,Modal:Qe,ImageCropModal:Gi,MakeResourcePlayerProfilePhotoModal:No},inject:{refresh:{default:()=>()=>{}}},setup(){const{formatDate:t}=Xe(),e=Se();return{formatDate:t,toast:e}},data(){return{files:null,player:null,loading:!1,loadingAll:!1,fieldName:"",resourceForProfilePhoto:null}},computed:{playerId(){var t;return((t=this.player)==null?void 0:t.id)||0}},methods:{showModal(t,e,i){this.files=t.map(this.formatFile),this.player=e,this.fieldName=i,this.$refs.modal.showModal()},formatFile(t){return{...t,textColorClass:this.fileTextColorClass(t),typeText:this.fileTypeText(t),uploadUserAndDate:this.uploadUserAndDate(t),isImage:this.normalizedType(t)==="image"}},dismissModal(){this.$refs.modal.dismissModal()},uploadUserAndDate(t){const e=t.created_by&&t.created_by.display_name,i=t.created_at&&this.formatDate(t.created_at,"[on] ll"),l="".concat(e?" by ".concat(e):"").concat(i?" ".concat(i):"");return"Uploaded".concat(l)},async fileClicked(t,e){this.loading=!0;const i=await this.getFileUrl(t,e);await this.downloadFile(i,t.name,e),this.loading=!1},async getFileUrl(t,e){if(t.is_private){const i="/players/".concat(this.playerId,"/resources/").concat(t.id,"/private_access_url?for_download=").concat(e==="download"?1:0);return(await Q().get(i)).data}else return t.url},async downloadFile(t,e,i){if(i==="download"){let l=t;const a=await this.getFileBlob(t);l=URL.createObjectURL(a),this.createDownloadLink(l,e,i==="download")}else window.open(t,"_blank")},async getFileBlob(t){return(await fetch(t)).blob()}
1,createDownloadLink(t,e,i){const l=document.createElement("a");l.setAttribute("href",t),i?l.setAttribute("download",e):l.setAttribute("target","_blank"),document.body.appendChild(l),l.click(),document.body.removeChild(l)},async downloadAllFiles(){this.loadingAll=!0;const t=new _n;await Promise.all(this.files.map(async(l,a)=>{const s=await this.getFileUrl(l,a,"download"),u=await this.getFileBlob(s);return t.file(l.name,u),Promise.resolve()}));const e=await t.generateAsync({type:"blob"}),i=URL.createObjectURL(e);this.createDownloadLink(i,this.fieldName,!0),this.loadingAll=!1},fileTypeText(t){return oi.fileTypeText(t.type,t.url,t.resourceID)},normalizedType(t){return oi.normalizedType(t.type,t.resourceID)},fileTextColorClass(t){return oi.fileTextColorClass(t.type,t.resourceID)},cropPhoto(t){const e="Resource:".concat(t.id,":0:jpeg:").concat(t.url),i={type:"Resource",id:t.id};Li().fetchThumbnail(e,i).then(l=>fetch(l.url)).then(l=>{if(!l.ok)throw new Error("Could not retrieve image");return l.blob()}).then(l=>(l.name=el.fileNameFromUrl(t.url),this.$refs.imageCropModal.showModal(l,t))).catch(()=>{this.toast.error("Could not open image for crop")})},saveCroppedPhoto(t,e){this.loading=!0,Q({toast:!0,showError:!0}).doFileUpload(t,null,{}).then(i=>this.$store.dispatch("savePlayerResource",{...e,player_id:this.playerId,url:i.url})).then(i=>{const l=this.files.findIndex(a=>a.id===i.id);this.files[l]=this.formatFile(i)}).finally(()=>{this.loading=!1})},isPlayerPhotoTaggedResource(t){return lr.isPlayerPhotoTaggedResource(t)},confirmMakeProfilePhoto(t){this.$refs.makeProfilePhotoModal.showModal(t)},handlePhotoUpdated(){this.refresh({reload:!1}),this.dismissModal()}}},MS={key:0,class:"is-flex",style:{"align-items":"center"}},DS={key:0},RS={key:0,style:{"padding-bottom":"2rem"}},IS={class:"columns is-vcentered"},ES={class:"column is-narrow",style:{"padding-right":"0"}},VS={class:"file-type"},PS={class:"column"},BS=["onClick"],qS={class:"has-text-grey-light"},OS=["onClick"],US={key:0},LS=["disabled"],GS={class:"icon"};function NS(t,e,i,l,a,s){const u=c("Counter"),m=c("fa-icon"),f=c("b-table-column"),v=c("b-dropdown-item"),y=c("b-dropdown"),g=c("b-loading"),b=c("BaseTable"),S=c("ImageCropModal"),F=c("MakeResourcePlayerProfilePhotoModal"),w=c("Modal");return d(),x(w,{ref:"modal","modal-class":"modal-allow-overflow","is-all-white":!0,"dismiss-outside-click":!1},{header:o(()=>[a.files?(d(),h("span",MS,[n(u,{count:a.files.length,size:"is-medium",class:"mr-2"},null,8,["count"]),e[1]||(e[1]=p(" Resource",-1)),a.files.length!==1?(d(),h("span",DS,"s")):k("",!0)])):k("",!0)]),footer:o(()=>[a.files&&a.files.length>1?(d(),h("div",US,[r("button",{class:Ce(["button is-primary",{"is-loading":a.loadingAll}]),disabled:a.loading||a.loadingAll,onClick:e[0]||(e[0]=C=>s.downloadAllFiles())},[r("span",GS,[n(m,{icon:["far","arrow-to-bottom"]})]),e[5]||(e[5]=r("span",null,"Download All",-1))],10,LS)])):k("",!0)]),default:o(()=>[a.files?(d(),h("div",RS,[n(b,{name:"resourcesFiles",data:a.files,"show-all":""},{default:o(()=>[n(f,{label:"File Name"},{default:o(({row:C})=>[r("div",IS,[r("div",ES,[r("span",{class:Ce("file-tag ".concat(C.textColorClass))},[r("span",null,[n(m,{icon:["fas","file"]})]),r("span",VS,_(C.typeText.slice(0,4)),1)],2)]),r("div",PS,[r("a",{class:Ce([{"is-loading":a.loading||a.loadingAll},"download-link"]),onClick:D=>s.fileClicked(C,"open")},_(C.name),11,BS),r("div",qS,_(C.uploadUserAndDate),1)])])]),_:1}),n(f,{label:"Actions",centered:"","cell-class":"is-relative"},{default:o(({row:C})=>[C.isImage?(d(),x(y,{key:0,position:"is-bottom-left"},{trigger:o(()=>[n(m,{icon:["far","ellipsis-h"]})]),default:o(()=>[n(v,{"aria-role":"listitem",onClick:D=>s.fileClicked(C,"download")},{default:o(()=>[n(m,{icon:["far","arrow-to-bottom"],class:"fa-fw"}),e[2]||(e[2]=p(" Download ",-1))]),_:1},8,["onClick"]),n(v,{"aria-role":"listitem",onClick:D=>s.cropPhoto(C)},{default:o(()=>[n(m,{icon:["far","crop"],class:"fa-fw"}),e[3]||(e[3]=p(" Crop Photo ",-1))]),_:1},8,["onClick"]),s.isPlayerPhotoTaggedResource(C)?(d(),x(v,{key:0,onClick:D=>s.confirmMakeProfilePhoto(C)},{default:o(()=>[...e[4]||(e[4]=[p(" Make Profile Photo ",-1)])]),_:1},8,["onClick"])):k("",!0)]),_:2},1024)):(d(),h("a",{key:1,class:Ce([{"is-loading":a.loading||a.loadingAll}
1,"download-link is-text-size-5"]),style:{padding:"0.5rem 0.75rem",margin:"-0.5rem 0"},"aria-label":"Download file",onClick:D=>s.fileClicked(C,"download")},[n(m,{icon:["far","arrow-to-bottom"]})],10,OS)),n(g,{"model-value":a.loading,"is-full-page":!1},null,8,["model-value"])]),_:1})]),_:1},8,["data"])])):k("",!0),n(S,{ref:"imageCropModal",onSave:s.saveCroppedPhoto},null,8,["onSave"]),n(F,{ref:"makeProfilePhotoModal",player:a.player,onUpdated:s.handlePhotoUpdated},null,8,["player","onUpdated"])]),_:1},512)}const jS=ie(AS,[["render",NS],["__scopeId","data-v-8783db8f"]]),YS={},zS={class:"fa-layers"};function HS(t,e){const i=c("fa-icon");return d(),h("span",zS,[n(i,{icon:["fal","file"],class:"has-text-blue-slate",transform:"grow-2"}),n(i,{icon:["fas","circle"],class:"has-text-white",transform:"shrink-4 down-7 right-7"}),n(i,{icon:["far","question-circle"],class:"has-text-danger",transform:"shrink-4 down-7 right-7"})])}const $S=ie(YS,[["render",HS]]),ba="Verify Players",Ca="Mark as Registered",Sa="Mark as Not Registered",ka="Compose Message",wa="View Player Verification",WS={components:{ImageCropModal:Gi,ContextAvatar:Ui,PlayersFilter:Tl,FilterSection:at,ConfigureColumns:Oo,ViewFilesModal:qo,PlayerImageModal:zl,ViewResourcesModal:jS,ExportLeaguePlayers:l1,ConfirmMarkAsRegisteredModal:Mb,MessageLeaguePlayersModal:c1,PlayerVerificationModal:SS,RequestMissingInfoModal:FS,MissingResourceIcon:$S,SelectionToolbar:_t},inject:["refresh"],provide(){return{saveColumns:this.saveColumns,getProgramDataFromField:this.getProgramDataFromField,getTagIdFromField:this.getTagIdFromField,verificationStatus:this.verificationStatus,isPlayerVerified:this.isPlayerVerified,leagueSeasonAgeClass:this.leagueSeasonAgeClass,expiryDate:this.expiryDate}},props:{league:{type:Object,required:!0}},emits:["select"],setup(){const{formatDate:t}=Xe(),e=Se(),i=Vt();return{pluralize:Fe,formatDate:t,titleize:Ws,asGenderWord:hs,phone:Vi,toast:e,modulesStore:i}},data(){return{searchQuery:"",filteredPlayers:[],programs:null,programsById:null,clubResourceTags:null,clubResourceTagsById:null,activeTabIndex:0,registrationStatusFilter:[],verificationStatusFilter:[],selectedPlayers:[],clickedCheckAll:!1,expandedTableData:{},showOnlyIneligiblePlayers:!1,playerVerificationOpen:!1,reloading:!1,today:"",leaguePlayerResources:{},viewPhotoPlayer:null,viewPhotoResource:null,uploadInProgressPlayer:null,digitalDocumentTemplatesById:null}},computed:{leagueSeason(){const t=this.league;return(t==null?void 0:t.season)||this.$store.getters.clubDetails.seasons.find(e=>e.id===(t==null?void 0:t.season_id))},leagueSeasonAgeClass(){var t;return(t=this.leagueSeason)==null?void 0:t.age_class},leagueSeasonEndDate(){var t;return(t=this.leagueSeason)==null?void 0:t.end_date},leagueSeasonEnded(){return Y(this.leagueSeasonEndDate).isBefore(Y(),"day")},maxClubAge(){return this.$store.getters.maxClubAgeByBirthYear},effectiveSport(){return this.leagueSport||this.$store.getters.clubSport},minClubAge(){return this.$store.getters.minClubAgeByBirthYear},maxClubGrade(){return this.$store.getters.maxClubGrade},minClubGrade(){return this.$store.getters.minClubGrade},maxClubAgeGroup(){return this.$store.getters.maxClubAgeGroup(this.effectiveSport)},minClubAgeGroup(){return this.$store.getters.minClubAgeGroup(this.effectiveSport)},leagueSport(){var t;return(t=this.league)==null?void 0:t.sport},players(){var s,u,m;const t=T.flatMap(this.league.league_teams,f=>f.team),e=T.flatMap(t,f=>f.team_players).filter(f=>!f.is_guest),i=T.keyBy(e,"player_id");(u=(s=this.league)==null?void 0:s.extra)!=null&&u.include_assignment_players&&T.flatMap((m=this.league)==null?void 0:m.team_assignments,v=>v.players).forEach(v=>{i[v.id]||e.push({player:v,player_id:v.id,team_id:0,position_id:0,number:""})});const l=[],a=T.keyBy(t,"id");return e.forEach(f=>{const v=a[f.team_id]||{name:"",club_region_id:0},y=v.name,g=f.player;g.team_players=[T.omit(f,"player")],g.team={id:f.team_id,name:y,club_region_id:v.club_region_id},g.position=f.position,g.number=f.number;const b=this.programIDFromColumns,S=b&&g.program_subscriptions&&g.program_subscriptions.find(F=>!F.canceled_at&&F.program_id===b);g.formValues=S&&S.values_json&&S.values_json.form?S.values_json.form:{},g.$isRegistered=this.isRegistered(g),g.$isExpiredRegistration=this.isExpiredRegistration(g),g.$needsUpdate=this.needsUpdate(g),g.$isNotRegisteredTab=!g.$isRegistered,g.$isExpiredTab=!g.$isNotRegisteredTab&&g.$isExpiredRegistration,g.$isUpdateNeededTab=!g.$isNotRegisteredTab&&g.$needsUpdate,g.$isRegisteredTab=!g.$isNotRegisteredTab&&(!g.$isExpiredTab||!this.shouldShowExpirationViewIfExpiredRegistrationPlayers)&&(!g.$
1isUpdateNeededTab||!this.showPlayerVerificationView),l.push(g)}),T.sortBy(l,"name_sorted")},unregisteredPlayers(){return this.players.filter(t=>t.$isNotRegisteredTab)},expiredRegistrationPlayers(){return this.players.filter(t=>t.$isExpiredTab)},updateNeededPlayers(){return this.players.filter(t=>t.$isUpdateNeededTab)},hasUpdateNeededPlayers(){return this.updateNeededPlayers.length>0},registeredPlayers(){return this.players.filter(t=>t.$isRegisteredTab)},playersForTab(){let t=this.players;return this.hasTabs&&(this.isNotRegisteredTab&&(t=this.unregisteredPlayers),this.isExpiredTab&&(t=this.expiredRegistrationPlayers),this.isUpdateNeededTab&&(t=this.updateNeededPlayers),this.isRegisteredTab&&(t=this.registeredPlayers)),t=t.filter(this.isPlayerIncluded),t},teams(){return(this.league.league_teams||[]).map(t=>t.team)},country(){return this.$store.getters.clubDetails.config.country!==""?this.$store.getters.clubDetails.config.country:"US"},regionLabel(){return this.country==="US"?"State":this.country==="CA"?"Province":"Region"},postalCodeLabel(){return this.country==="US"?"Zip Code":"Postal Code"},filtersActive(){return this.$store.getters.playersFilterActiveByContext("league_view")||this.trackRegistration&&this.registrationStatusFilter.length>0||this.showOnlyIneligiblePlayers||this.showPlayerVerificationView&&this.verificationStatusFilter.length>0},playerColumns(){return this.league&&this.league.extra&&this.league.extra.player_list_columns||[]},displayIneligibleIconColumn(){return!!this.filteredPlayers.find(t=>this.hasIneligibility(t))},tableColumns(){const t=[];if(this.playerColumns.forEach(s=>{if(s.field==="user.last_name")return;const u=Object.assign({},s,{cellClass:"nowrap-column",headerClass:"nowrap-column",sortable:!0,customKey:"".concat(s.field,"_").concat(s.label)});if(s.field==="birth_name"){u.label="Legal Name",u.sticky=!0;let m="sticky-column";(this.showExpirationDate||this.showPlayerVerificationView)&&(m+=" with-sticky-date-column"),this.canSelectPlayers&&(m+=" with-sticky-checkbox"),this.isAllPlayersTab&&this.displayIneligibleIconColumn?m+=" with-2-icon-columns":(this.isAllPlayersTab||this.displayIneligibleIconColumn)&&(m+=" with-1-icon-column"),u.cellClass="".concat(u.cellClass," ").concat(m),u.headerClass="".concat(u.headerClass," ").concat(m),u.customSort=(f,v,y)=>f.name_sorted<v.name_sorted===y?-1:1}s.field&&T.isString(s.field)&&s.field.startsWith("address")&&(u.customSort=(m,f,v)=>{const y=this.playerDataForField(m,s.field)||"",g=this.playerDataForField(f,s.field)||"";return y<g===v?-1:1}),s.field==="age_by_grade"&&(u.customSort=(m,f,v)=>!m.age_by_grade||m.age_by_grade>this.maxClubGrade||m.age_by_grade<this.minClubGrade?1:!f.age_by_grade||f.age_by_grade>this.maxClubGrade||f.age_by_grade<this.minClubGrade?-1:v?m.age_by_grade-f.age_by_grade:f.age_by_grade-m.age_by_grade),s.field==="age_by_birth_year"&&(u.customSort=(m,f,v)=>!m.age_by_birth_year||m.age_by_birth_year>this.maxClubAge?1:!f.age_by_birth_year||f.age_by_birth_year>this.maxClubAge?-1:v?m.age_by_birth_year-f.age_by_birth_year:f.age_by_birth_year-m.age_by_birth_year),s.field==="age_group"&&(u.customSort=(m,f,v)=>m.age_by_groups.length===0||m.age_by_groups[this.leagueSport]>this.maxClubAgeGroup?1:f.age_by_groups.length===0||f.age_by_groups[this.leagueSport]>this.maxClubAgeGroup?-1:v?m.age_by_groups[this.leagueSport]-f.age_by_groups[this.leagueSport]:f.age_by_groups[this.leagueSport]-m.age_by_groups[this.leagueSport]),s.field==="image"&&(u.sortable=!1,u.centered=!0),s.field&&T.isString(s.field)&&(s.field.startsWith("subscriptions")||s.field.startsWith("user")||s.field.startsWith("resources"))&&(u.sortable=!1),s.field==="number"&&(u.customSort=(m,f,v)=>m.number===f.number?0:m.number&&f.number?parseInt(m.number,10)<parseInt(f.number,10)===v?-1:1:m.number?-1:(f.number,1)),t.push(u)}),this.showExpirationDate){let s="nowrap-column sticky-column sticky-date-column";this.canSelectPlayers&&(s+=" with-sticky-checkbox"),this.isAllPlayersTab&&this.displayIneligibleIconColumn?s+=" with-2-icon-columns":(this.isAllPlayersTab||this.displayIneligibleIconColumn)&&(s+=" with-1-icon-column"),t.splice(1,0,{field:"expiration_date",label:"Expiration Date",centered:!0,sticky:!0,cellClass:s,headerClass:s})}if(this.showPlayerVerificationView){let s="nowrap-column sticky-column sticky-date-column";this.canSelectPlayers&&(s+=" with-sticky-checkbox"),this.isAllPlayersTab&&this.displayIneligibleIconColumn?s+=" with-2-icon-columns":(this.isAllPlayersTab||this.displayIneligibleIconColumn)&&(s+=" with-1-icon-column"),t.splice(1,0,{field:"verification_status",label:"",customKey:"verification_status",sticky:!0,cellClass:s,headerClass:s})}const e=this.isAllPlayersTab;let i="sticky-column sticky-icon-column";this.canSelectPlayers&&(i+=" with-sticky-checkbox"),this.displayIneligibleIconColumn&&(i+=" with-1-icon-column"),t.unshift({field:"registration_icon",visible:e,sticky:!0,cellClass:i,headerClass:i});const l=this.displayIneligibleIconColumn;let a="sticky-column sticky-icon-column";return this.canSelectPlayers&&(a+=" with-sticky-checkbox"),t.unshift({field:"ineligible_icon",visible:l,sticky:!0,cellClass:a,headerClass:a}),t},defaultColumns(){return[{field:"birth_name",label:"Legal Name"},{field:"gender",label:"Gender"},{field:"birth_date",label:"Date of Birth"},{field:"address.street",label:"Street Address"},{field:"address.city",label:"City"},{field:"address.state",label:this.regionLabel},{field:"address.zip",label:this.postalCodeLabel}]},hasLeagueTrackingPermission(){return xt(this.$store,Kt)},loading(){return this.programs==null||this.programsById==null||this.clubResourceTags==null||this.clubResourceTagsById==null||this.digitalDocumentTemplatesById==null||this.reloading},programIDFromColumns(){const t=this.playerColumns.find(e=>e.field&&e.field.match(/\[program_(\d*?)\]/));if(t){const[e,i,l]=this.getProgramDataFromField(t.field);return e}return null},hasDocuments(){return!!this.playerColumns.find(e=>{if(e.field&&(e.field==="image"||e.field.startsWith("resources")))return!0;
1if(e.field&&e.field.startsWith("subscriptions")){const[i,l,a]=this.getProgramDataFromField(e.field);if(i){const s=this.programsById&&this.programsById[i],u=T.get(s,"config.questions.".concat(l,"_questions"));if(u){const f=Ht.fieldsFor(u).find(v=>v.id===a);return f&&["file-upload","digital-document"].includes(f.type)}}}return!1})},tabs(){const t=[];return this.trackRegistration&&(this.unregisteredPlayers.length>0&&t.push("Not Registered"),this.showPlayerVerificationView&&this.hasUpdateNeededPlayers&&t.push("Update Needed"),this.showExpirationView&&t.push("Expired"),this.registeredPlayers.length>0&&t.push("Registered"),t.length>1&&t.push("All Players")),t},hasTabs(){return this.tabs.length>1},activeTab(){return this.tabs[this.activeTabIndex]},trackRegistration(){return this.league.sanctioning_body&&this.league.sanctioning_body.extra&&this.league.sanctioning_body.extra.track_player_registration&&this.hasLeagueTrackingPermission},associationRegistrationCanExpire(){if(!this.trackRegistration)return!1;const t=T.get(this.league,"sanctioning_body.extra.registration_expiry_anniversary"),e=T.get(this.league,"sanctioning_body.extra.registration_expiry_period");return!!t||!!e},shouldShowExpirationViewIfExpiredRegistrationPlayers(){return this.associationRegistrationCanExpire&&!this.showPlayerVerificationView},showExpirationView(){return this.shouldShowExpirationViewIfExpiredRegistrationPlayers&&this.expiredRegistrationPlayers.length>0},verificationRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_player_verification_requirements)||[]).filter(i=>!i.archived_at&&this.isRequirementForSeason(i,this.leagueSeason))},showPlayerVerificationView(){return this.trackRegistration&&this.modulesStore.enableLeaguePlayerVerification&&this.verificationRequirements.length>0},legendItems(){const t=[{icon:["fas","check-circle"],icon_class:"has-text-color-success",text:"Registered"}];return this.showPlayerVerificationView&&(t.push({icon:["fas","exclamation-circle"],icon_class:"has-text-color-danger",text:"Not Registered"}),t.push({icon:["fas","repeat"],icon_class:"has-text-color-warning",text:"Update Needed"}),t.push({icon_layers:[{icon:["fal","file"],icon_color:"blue-slate"},{icon:["fas","circle"],icon_color:"white",transform:"shrink-6 down-6 right-6"},{icon:["far","question-circle"],icon_color:"danger",transform:"shrink-6 down-6 right-6"}],text:"Missing Resource"})),this.showExpirationView&&t.push({icon:["far","clock"],icon_color:"danger",text:"Registration has expired"}),t.push({icon:["fas","user-slash"],icon_color:"danger",text:"Player has Ineligibilites"}),t},showExpirationDate(){return this.showExpirationView&&(this.isExpiredTab||this.isRegisteredTab||this.isAllPlayersTab)},isNotRegisteredTab(){return this.activeTab==="Not Registered"},isUpdateNeededTab(){return this.activeTab==="Update Needed"},isExpiredTab(){return this.activeTab==="Expired"},isRegisteredTab(){return this.activeTab==="Registered"},isAllPlayersTab(){return this.activeTab==="All Players"},canSelectPlayers(){return this.trackRegistration&&!this.isAllPlayersTab&&this.selectionToolbarActions.length>0},checkedRows:{get(){return this.selectedPlayers},set(t){let e=T.clone(t);this.clickedCheckAll&&(this.$refs.checkboxTable.getIsAllChecked()?e=T.unionBy(e,this.checkablePlayers,"id"):e=T.differenceBy(e,this.checkablePlayers,"id")),this.selectedPlayers=e,this.clickedCheckAll=!1}},checkablePlayers(){return this.filteredPlayers.filter(t=>this.isRowCheckable(t))},sanctioningBodyPlayers(){const t=T.get(this.league,"sanctioning_body_players",[]);return T.keyBy(t,"player_id")},defaultExpirationDate(){const t=Y(),e=T.get(this.league,"sanctioning_body.extra.registration_expiry_anniversary"),i=T.get(this.league,"sanctioning_body.extra.registration_expiry_period");if(e){const l=e.split("-"),a=parseInt(l[0],10),s=parseInt(l[1],10);let u=t.year();
1return(s<t.month()||s===t.month()&&a<=t.date())&&(u+=1),t.year(u).month(s).date(a).toDate()}else if(i){const l=i.split("-"),a=parseInt(l[0],10),s=l[1];return t.add(a,s).subtract(1,"day"),t}return t.toDate()},requestInfoFormRequestPlayerForms(){var e;const t=this.league.sanctioning_body&&((e=this.league.sanctioning_body.request_info_form_request)==null?void 0:e.forms);return T(t).filter(i=>!i.canceled_at).map(i=>({...i,form_request:T.omit(this.league.sanctioning_body.request_info_form_request,"forms")})).keyBy("player_id").value()},showHeader(){return this.canSelectPlayers&&this.selectedPlayers.length>0||this.hasLeagueTrackingPermission&&this.hasTabs},questionFields(){if(this.programIDFromColumns){const t=this.programsById&&this.programsById[this.programIDFromColumns];if(t){const e=Ht.getPlayerQuestions(t),i=Ht.fieldsFor(e).filter(a=>Ht.isFilterable(a)),l=T.keyBy(this.playerColumns,a=>{const[s,u,m]=this.getProgramDataFromField(a.field);return m});return T.each(i,a=>{const s=l[a.id];s&&(a.title=s.label)}),i}}return[]},playingSeasonOffset(){var t;return We.getPlayingSeasonOffset((t=this.leagueSeason)==null?void 0:t.playing_season,this.promotionDate)},promotionDate(){var e;const t=this.leagueSeasonAgeClass;return t?(e=this.$store.getters.clubAgeClassificationConfig(t,this.effectiveSport))==null?void 0:e.next_promotion_date:null},selectionToolbarActions(){const t=[];return this.leagueSeasonEnded&&this.showPlayerVerificationView?t.push({text:wa}):this.leagueSeasonEnded||(this.showPlayerVerificationView&&!this.isRegisteredTab&&t.push({text:ba}),(this.isNotRegisteredTab||this.isUpdateNeededTab)&&t.push({text:Ca}),this.isRegisteredTab&&!this.showExpirationView&&t.push({text:Sa}),this.isAllPlayersTab||t.push({text:ka})),t}},watch:{activeTabIndex(){this.selectedPlayers=[],this.setToday()}},created(){this.setToday(),this.fetchUserPrograms(),this.fetchResourceTags(),this.fetchLeaguePlayerResources(),this.fetchDigitalDocumentTemplates();let t=this.league.extra||{};if(this.league){let e=!1;if(!t||!t.player_list_columns){this.reloading=!0;const a=T.cloneDeep(this.defaultColumns);t?t.player_list_columns=a:t={player_list_columns:a},e=!0}const i=T.findIndex(t.player_list_columns,a=>a.field==="first_name");i>-1&&(t.player_list_columns.splice(i,1,{field:"birth_name",label:"Legal Name"}),e=!0);const l=T.findIndex(t.player_list_columns,a=>a.field==="last_name");l>-1&&(t.player_list_columns.splice(l,1),e=!0),e?this.saveColumns(t.player_list_columns):this.reloading=!1}},methods:{fetchUserPrograms(){const t=rr(this.$store,this.league.club_region_id)?"/program_admin/programs":"/director/programs";Q().get(t).then(e=>{this.programs=Object.freeze(T.sortBy(e.data.filter(i=>!i.archived_at),"name")),this.programsById=Object.freeze(T.keyBy(e.data,"id"))})},fetchResourceTags(){const t=T.keyBy(this.verificationRequirements,"resource_tag_id");Q().get("/club/resources/tags").then(e=>{const i=[],l={};e.data.public.forEach(a=>{a.archived||(a.display_name=a.name||a.category,a.verification_required=t[a.id],i.push(a),l[a.id]=a)}),this.clubResourceTags=T.sortBy(i,a=>a.display_name.toLowerCase()),this.clubResourceTagsById=l})},fetchLeaguePlayerResources(){const e={player_ids:this.players.map(i=>i==null?void 0:i.id)};Q().post("/players/search?populate=resources",e).then(i=>{var l;((l=i==null?void 0:i.data)==null?void 0:l.length)>0&&i.data.forEach(a=>{this.leaguePlayerResources[a.id]=a.resources})}).finally(()=>{this.refresh({reload:!1})})},fetchDigitalDocumentTemplates(){this.modulesStore.digitalDocumentsEnabled?Q().get("forms/digital_documents/templates").then(t=>{this.digitalDocumentTemplatesById=T.keyBy(t.data,"id")}):this.digitalDocumentTemplatesById={}},playerDataForField(t,e){return t==null?void 0:t.league_list_data[e]},teamPlayerDataForField(t,e){const i=t==null?void 0:t.league_list_data.goofy_key_for_league_team_player_data[t.team_players[0].team_id];return i&&i[e]},photoToShow(t){return t.length===1?t[0]:T.orderBy(t,"created_at","desc")[0]},openPlayerImageModal(t,e){this.viewPhotoResource=e,this.viewPhotoPlayer=t,this.$refs.playerImageModal.showModal(t,e)},configureColumns(){this.$refs.configureColumns.show(this.playerColumns)},saveColumns(t,e){return Q().post("club_admin/club_leagues/".concat(this.league.id),{extra:{player_list_columns:t,include_assignment_players:e}}).then(()=>{this.refresh({reload:!1}),this.reloading=!1})},dismissModal(t){this.playerVerificationOpen=!1,this.selectedPlayers=[],t!=null&&t.refreshData&&this.refresh(),this.$store.getters.shouldRefreshPlayerTab&&(this.$store.commit("setShouldRefreshPlayerTab",!1),this.refresh())},playerFormData(t,e){const i={visible_response:this.playerDataForField(t,e),form_field:null},[l,a,s]=this.getProgramDataFromField(e),u=this.programsById&&this.programsById[l];if(u){const m=T.get(u,"config.questions.".concat(a,"_questions"));if(m){const f=Ht.fieldsFor(m);i.form_field=f.find(v=>v.id===s)}i.visible_response&&typeof i.visible_response!="string"&&i.form_field&&i.form_field.type!=="file-upload"&&i.form_field.type!=="digital-document"&&(i.visible_response=i.visible_response.toString())}return i},subscriptionUserAndDate(t){const e=t.user&&t.user.name,i=t.created_at&&this.formatDate(t.created_at,"[on] ll [at] h:mm A"),l=ze.timezoneAbbrForDate(t.created_at,this.$store.getters.clubDetails.timezone);return"".concat(e?" by ".concat(e):"").concat(i?" ".concat(i," ").concat(l):"")},responseDisplay(t,e,i){if(!t)return null;let l=t;if(i&&i.type==="dropdown"&&i.fill_options==="regions"&&i.options){const m=T.keyBy(i.options,"value"),f=parseInt(l,10);f&&(l=m[f].display_name||"")}if(this.expandedTableData[e])return l;const a=l.split("\n"),s=this.stringTruncateLength(i&&i.type==="waiver");let u=nr(a[0],s);return a.length>1&&!u.endsWith("...")&&(u+="..."),u},tagNameFromColumn(t){const e=this.getTagIdFromField(t.field),i=this.clubResourceTagsById[e];return i.name||i.category},canExpand(t,e,i){return t&&(t.includes("\n")||e.endsWith("...")||this.expandedTableData[i])},stringTruncateLength(t){return t?60:30},tableCellKey(t,e){return"".concat(t.id,"_").concat(e==null?void 0:e.field)},toggleFullText(t){this.expandedTableData[t]=!this.expandedTableData[t]},lineHeightForRow(t,e){const i=this.tableCellKey(t,e);return this.expandedTableData[i]?1.5:t.image_url&&this.tableColumns.find(l=>l.field==="image")?"28px":this.showExpirationDate&&t.$isRegistered||this.showPlayerVerificationView?"24px":1.5},openFileUploadModal(t,e,i){const[l,a,s]=this.getProgramDataFromField(i.field),u=l&&e.program_subscriptions&&e.program_subscriptions.find(y=>!y.canceled_at&&y.program_id===l),m="Uploaded".concat(this.subscriptionUserAndDate(u)),f=this.playerDataForField(e,"birth_name"),v="".concat(f.replace(/\s/g,"_"),"-").concat(i.label.replace(/\s/g,"_"));this.$refs.viewFiles.showModal(t,a,s,u,m,v)}
1,openDigitalDocumentModal(t,e,i){const l=this.digitalDocumentTemplatesById[t.form_field&&t.form_field.template_id],a=l&&l.name||"",s=this.playerDataForField(e,"birth_name"),u="".concat(s.replace(/\s/g,"_"),"-").concat(a.replace(/\s/g,"_"),".pdf"),m={document_id:t.visible_response.id,name:u,type:"Document"};this.openFileUploadModal([m],e,i)},openResourceModal(t,e,i){const l=this.playerDataForField(e,"birth_name"),a="".concat(l.replace(/\s/g,"_"),"-").concat(i.label.replace(/\s/g,"_"));this.$refs.viewResources.showModal(t,e,a)},showExportModal(){this.$refs.exportLeaguePlayers.showModal()},getProgramDataFromField(t){const e=t.match(/\[program_(\d*?)\]/);if(e&&e[1]){const i=parseInt(e[1],10),l=t.match(/player_form\.(\d*)/);if(l&&l[1])return[i,"player",parseInt(l[1],10)];const a=t.match(/program_form\.(\d*)/);if(a&&a[1])return[i,"program",parseInt(a[1],10)]}return[0,"",0]},getTagIdFromField(t){const e=t.match(/\[tag_(\d*?)\]/);return e&&e[1]?parseInt(e[1],10):null},isRegistered(t){return this.sanctioningBodyPlayers[t.id]&&this.sanctioningBodyPlayers[t.id].registered_at},expirationDate(t){const e=this.sanctioningBodyPlayers[t.id];return e&&e.expiry_date||this.defaultExpirationDate},isExpiredRegistration(t){if(!t.$isRegistered)return!1;const e=this.expirationDate(t);return Y(e).isBefore(this.today,"day")},needsUpdate(t){if(!this.showPlayerVerificationView||!t.$isRegistered)return!1;const e=this.sanctioningBodyPlayers[t.id];return e&&e.registered_at&&e.verified_at&&e.registered_at<e.verified_at?!0:this.hasExpiredVerifications(e)},checkAll(){this.clickedCheckAll=!0},confirmMarkAsRegistered(){this.$refs.confirmMarkAsRegisteredModal.showModal(this.selectedPlayers,this.defaultExpirationDate)},confirmMarkAsNotRegistered(){this.$refs.modalConfirm.confirm({title:"Mark as Not Registered",message:"You are about to mark <b>".concat(this.selectedPlayers.length,"</b> ").concat(Fe(this.selectedPlayers.length,"player",!1)," as Not Registered."),confirmText:"Mark as Not Registered",onConfirm:()=>this.markAsNotRegistered()})},markAsNotRegistered(){const t=T.map(this.selectedPlayers,"id");return Q().post("club_admin/club_leagues/".concat(this.league.id,"/club_sanctioning_bodies/").concat(this.league.sanctioning_body_id,"/players/unregister"),{ids:t}).then(()=>{this.refresh()})},openMessageLeaguePlayers(){const t=T.uniq(this.selectedPlayers.map(e=>"player_".concat(e.id)));this.$refs.messageLeaguePlayersModal.show(t)},closeMessageLeaguePlayers(t){t.refreshData&&(this.selectedPlayers=[])},openVerifyPlayers(){this.$refs.playerVerificationModal.showModal(this.selectedPlayers),this.playerVerificationOpen=!0},verificationStatus(t){const e=this.sanctioningBodyPlayers[t==null?void 0:t.id];if(e&&e.verified_at&&!this.hasExpiredVerifications(e))return"verified";const i=this.requestInfoFormRequestPlayerForms[t==null?void 0:t.id];return i&&!i.submitted_at?"info_requested":"not_verified"},parseResourceTagId(t){var i;const e=((i=t==null?void 0:t.field)==null?void 0:i.replace(/\D/g,""))||"";return parseInt(e,10)},getPlayerVerificationRequirement(t,e){var a;const i=this.sanctioningBodyPlayers[t==null?void 0:t.id],l=this.parseResourceTagId(e);return(a=i==null?void 0:i.verification_data)==null?void 0:a.find(s=>(s==null?void 0:s.resource_tag_id)===l)},isPlayerVerified(t){return mt.insensitiveEquals(this.verificationStatus(t),"verified")},isVerifiedOffline(t,e){var i;return((i=this.getPlayerVerificationRequirement(t,e))==null?void 0:i.resource_id)===-1},isExpiredResource(t,e){var l;this.sanctioningBodyPlayers[t==null?void 0:t.id];const i=(l=this.getPlayerVerificationRequirement(t,e))==null?void 0:l.expiry_date;return i?Y(i).isBefore(this.today,"day"):!1},isVerificationRequirement(t){const e=this.parseResourceTagId(t);return this.verificationRequirements.find(l=>l.resource_tag_id===e)!=null},getPlayerSelectedResource(t,e){if(!t||t.length<=0||!e)return null;const i=this.leaguePlayerResources[e.id],l=[];return i==null||i.forEach(s=>s!=null&&s.id?l.push(s.id):null),t==null?void 0:t.filter(s=>l==null?void 0:l.includes(s.id))},hasExpiredVerifications(t){const e=t==null?void 0:t.verification_data;
1return T.some(e,i=>(i==null?void 0:i.expiry_date)&&!Y(i.expiry_date).isAfter(this.today,"day"))},isPlayerIncluded(t){return(this.registrationStatusFilter.length===0||(this.showPlayerVerificationView&&(!this.registrationStatusFilter.includes("update_needed")||t.$needsUpdate)||!this.showPlayerVerificationView&&(!this.registrationStatusFilter.includes("expired")||t.$isExpiredRegistration))&&(this.registrationStatusFilter.includes("not_registered")===this.registrationStatusFilter.includes("registered")||this.registrationStatusFilter.includes("not_registered")&&!t.$isRegistered||this.registrationStatusFilter.includes("registered")&&t.$isRegistered))&&(this.verificationStatusFilter.length===0||this.verificationStatusFilter.includes(this.verificationStatus(t)))&&(!this.showOnlyIneligiblePlayers||this.hasIneligibility(t))},hasIneligibility(t){return wl.hasIneligibility(t)},clearExtraFilters(){this.registrationStatusFilter=[],this.verificationStatusFilter=[],this.showOnlyIneligiblePlayers=!1},isRowCheckable(t){return this.$store.getters.canAdminRegionID(t.team.club_region_id)},greyOut(t){return this.isRowCheckable(t)?"":"has-text-grey-light"},requestMissingResources(){this.$refs.requestMissingInfoModal.showModal()},getLeaguePlayerGrade(t){return We.getPlayerGrade(t,this.playingSeasonOffset)},getLeaguePlayerAgeGroup(t){return We.getPlayerAgeGroupBySport(t,this.playingSeasonOffset,this.effectiveSport)},getLeaguePlayerBirthYear(t){return We.getPlayerBirthYear(t)},setToday(){this.today=Y().tz(this.$store.getters.clubDetails.timezone).format("YYYY-MM-DD")},expiryDate(t){const e=this.$store.getters.clubSeasonByID(this.league.season_id);if(e){const i=this.verificationRequirements.find(l=>l.id===t.requirement_id);if(i&&(i.expiry_anniversary||i.expiry_period)){if(i.expiry_anniversary){const l=Y(e.end_date),a=i.expiry_anniversary.split("-"),s=parseInt(a[0],10),u=parseInt(a[1],10);let m=l.year();return(u<l.month()||u===l.month()&&s<=l.date())&&(m+=1),l.year(m).month(u).date(s).format("YYYY-MM-DD")}else if(i.expiry_period){const l=Y(),a=i.expiry_period.split("-"),s=parseInt(a[0],10),u=a[1];return Y(l).add(s,u).subtract(1,"day").format("YYYY-MM-DD")}}}return null},cropPhoto(t,e){if(!t||!e)return;const i="Resource:".concat(e.id,":0:jpeg:").concat(e.url),l={type:"Resource",id:e.id};Li().fetchThumbnail(i,l).then(a=>fetch(a.url)).then(a=>{if(!a.ok)throw new Error("Could not retrieve image");return a.blob()}).then(a=>(a.name=el.fileNameFromUrl(e.url),this.$refs.imageCropModal.showModal(a,{player:t,resource:e}))).catch(()=>{this.toast.error("Could not open image for crop")})},saveCroppedPhoto(t,{player:e,resource:i}){!e||!i||(this.uploadInProgressPlayer=e,this.$refs.playerImageModal.dismissModal(),Q({toast:!0,showError:!0}).doFileUpload(t,null,{}).then(l=>this.$store.dispatch("savePlayerResource",{...i,player_id:e.id,url:l.url})).then(()=>{this.refresh({reload:!1})}).finally(()=>{this.uploadInProgressPlayer=null}))},selectionToolbarCta(t){t.text===ba||t.text===wa?this.openVerifyPlayers():t.text===Ca?this.confirmMarkAsRegistered():t.text===Sa?this.confirmMarkAsNotRegistered():t.text===ka&&this.openMessageLeaguePlayers()},isRequirementForSeason(t,e){return!t||!e?!1:t.effective_date?Y(t.effective_date).isSameOrBefore(e.start_date,"day"):!0}}},QS={class:"league-players-table"},JS={key:1},KS={class:"header-left-container"},XS={class:"columns"},ZS={class:"column"},ek={key:1,class:"title__subsection is-marginless is-flex",style:{"align-items":"center"}},tk={key:0},sk={key:0,class:"column is-narrow is-vertical-center"},ik={key:1,class:"title__subsection is-flex",style:{height:"52.5px","align-items":"center",margin:"0 0 0.5rem 0"}},ak={key:0},lk={key:1},nk=["onClick"],rk={key:0},ok={key:1},dk={key:0,class:"is-vertical-center"},uk=["onClick"],ck={key:1,class:"is-vertical-center"},mk={key:0,class:"is-text-size-5"},fk={key:2},hk={key:3},gk={class:"is-vertical-center"},pk={key:0,class:"has-text-success-dark is-text-size-5",style:{"margin-right":"0.5rem"}},_k={key:4},yk=["onClick"],vk={key:6},bk={key:7},Ck={key:8},Sk={key:9},kk={key:10},wk={key:11},Tk={key:12},xk={key:13},Fk={key:0,class:"text-grey has-text-centered"},Ak={key:1,class:"has-text-centered"},Mk={key:0},Dk=["onClick"],Rk={key:1,class:"league-players-table__photo-resource-wrapper"}
1,Ik=["onClick"],Ek={key:2},Vk=["onClick"],Pk={key:3},Bk={key:2,class:"has-text-centered"},qk=["onClick"],Ok={key:2,class:"has-text-centered"},Uk={key:14},Lk=["onClick"],Gk={key:1},Nk=["onClick"],jk={key:1},Yk=["onClick"],zk={key:0},Hk={key:1},$k={key:15},Wk={key:0,style:{"margin-top":"1.5rem"}},Qk={class:"has-text-danger"};function Jk(t,e,i,l,a,s){const u=c("spinner"),m=c("AlertBox"),f=c("b-tab-item"),v=c("b-tabs"),y=c("IconLegend"),g=c("SelectionToolbar"),b=c("fa-icon"),S=c("b-tag"),F=c("ContextAvatar"),w=c("MissingResourceIcon"),C=c("b-loading"),D=c("b-table-column"),B=c("BaseTable"),N=c("b-checkbox"),M=c("b-field"),I=c("FilterSection"),V=c("b-switch"),P=c("PlayersFilter"),E=c("ConfigureColumns"),X=c("b-button"),q=c("PlayerImageModal"),he=c("ImageCropModal"),ve=c("ViewFilesModal"),re=c("ViewResourcesModal"),W=c("ExportLeaguePlayers"),K=c("ConfirmMarkAsRegisteredModal"),j=c("MessageLeaguePlayersModal"),ge=c("PlayerVerificationModal"),de=c("RequestMissingInfoModal"),we=c("modal-confirm");return d(),h("div",QS,[s.loading?(d(),x(u,{key:0})):(d(),h("div",JS,[s.leagueSeasonEnded?(d(),x(m,{key:0,type:"info",message:"This league is linked to a past season. Registration is only available in a current or upcoming season."})):k("",!0),n(B,{ref:"checkboxTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[2]||(e[2]=U=>s.checkedRows=U),data:a.filteredPlayers,searchable:"",filterable:"","filters-active":s.filtersActive,checkable:s.canSelectPlayers,"is-row-checkable":s.isRowCheckable,"row-class":s.greyOut,"sticky-checkbox":"",name:"leaguePlayers",onCheckAll:s.checkAll,onQueryUpdated:e[3]||(e[3]=U=>a.searchQuery=U)},{"header-left":o(()=>[r("div",KS,[r("div",XS,[r("div",ZS,[s.hasTabs?(d(),x(v,{key:0,modelValue:a.activeTabIndex,"onUpdate:modelValue":e[0]||(e[0]=U=>a.activeTabIndex=U),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[(d(!0),h(G,null,ue(s.tabs,U=>(d(),x(f,{key:U,label:U},null,8,["label"]))),128))]),_:1},8,["modelValue"])):(d(),h("p",ek,[p(_(l.pluralize(a.filteredPlayers.length,"Player"))+" ",1),s.isUpdateNeededTab?(d(),h("span",tk,"Â Need"+_(s.playersForTab.length===1?"s":"")+" an Update",1)):k("",!0)]))]),s.trackRegistration?(d(),h("div",sk,[n(y,{"legend-items":s.legendItems,position:"is-bottom-left"},null,8,["legend-items"])])):k("",!0)])])]),"table-header":o(({column:U})=>[s.trackRegistration&&s.showHeader?(d(),h(G,{key:0},[s.canSelectPlayers&&a.selectedPlayers.length>0?(d(),x(g,{key:0,"checked-rows":a.selectedPlayers,actions:s.selectionToolbarActions,onCtaClicked:s.selectionToolbarCta,onOnCancel:e[1]||(e[1]=ee=>a.selectedPlayers=[])},null,8,["checked-rows","actions","onCtaClicked"])):s.hasLeagueTrackingPermission&&s.hasTabs?(d(),h("p",ik,[p(_(l.pluralize(a.filteredPlayers.length,"Player"))+" ",1),s.isUpdateNeededTab?(d(),h("span",ak,"Â Need"+_(s.playersForTab.length===1?"s":"")+" an Update",1)):s.isAllPlayersTab?k("",!0):(d(),h("span",lk,_(s.playersForTab.length===1?"Â is ":"Â are ")+" "+_(s.activeTab),1))])):k("",!0)],64)):(d(!0),h(G,{key:1},ue([s.responseDisplay(U==null?void 0:U.label,s.tableCellKey({id:"header"},U))],(ee,le)=>(d(),h("span",{key:le,style:it(a.expandedTableData[s.tableCellKey({id:"header"},U)]?"display: inline-block; min-width: 280px":"")},[r("span",{style:it(a.expandedTableData[s.tableCellKey({id:"header"},U)]?"white-space: pre-wrap":"")},_(ee),5),s.canExpand(U==null?void 0:U.label,ee,s.tableCellKey({id:"header"},U))?(d(),h("a",{key:0,class:"is-underline has-text-weight-medium",onClick:He(me=>s.toggleFullText(s.tableCellKey({id:"header"},U)),["stop"])},[a.expandedTableData[s.tableCellKey({id:"header"},U)]?(d(),h("span",rk,"less")):(d(),h("span",ok,"more"))],8,nk)):k("",!0)],4))),128))]),default:o(()=>[(d(!0),h(G,null,ue(s.tableColumns,U=>(d(),x(D,ja({ref_for:!0},U,{key:U.field}),{default:o(({row:ee})=>[r("span",{style:it("line-height: ".concat(s.lineHeightForRow(ee,U)))},[U.field==="ineligible_icon"?(d(),h("span",dk,[r("a",{class:"has-text-danger is-text-size-7","aria-label":"View Player Profile",onClick:He(le=>t.$emit("select",ee,"eligibility"),["stop"])},[s.hasIneligibility(ee)?(d(),x(b,{key:0,icon:["fas","user-slash"],transform:"up-1"})):k("",!0)],8,uk)])):U.field==="registration_icon"&&s.isAllPlayersTab?(d(),h("span",ck,[s.trackRegistration?(d(),h("span",mk,[s.showExpirationView&&ee.$isExpiredRegistration?(d(),x(b,{key:0,icon:["far","clock"],class:"has-text-danger"})):ee.$needsUpdate?(d(),x(b,{key:1,icon:["fas","repeat"],class:"has-text-color-warning"})):ee.$isRegistered?(d(),x(b,{key:2,icon:["fas","check-circle"],class:"has-text-success-dark"})):s.showPlayerVerificationView&&!ee.$isRegistered?(d(),x(b,{key:3,icon:["fas","exclamation-circle"],class:"has-text-danger"})):k("",!0)])):k("",!0)])):U.field==="expiration_date"?(d(),h("span",fk,[ee.$isRegistered?(d(),x(S,{key:0,class:Ce(["expiration-date-tag",{"is-expired":ee.$isExpiredRegistration}
1]),rounded:""},{default:o(()=>[p(_(l.formatDate(s.expirationDate(ee),"ll")),1)]),_:2},1032,["class"])):k("",!0)])):U.field==="verification_status"?(d(),h("span",hk,[n(S,{class:Ce("verification-status-tag ".concat(s.verificationStatus(ee))),rounded:""},{default:o(()=>[r("span",gk,[s.verificationStatus(ee)==="verified"?(d(),h("span",pk,[n(b,{icon:["far","check"]})])):k("",!0),r("span",null,_(l.titleize(s.verificationStatus(ee))),1)])]),_:2},1032,["class"])])):U.field==="user.first_name"?(d(),h("span",_k,_(s.playerDataForField(ee,U.field))+" "+_(s.playerDataForField(ee,"user.last_name")),1)):U.field==="image"&&s.playerDataForField(ee,U.field)?(d(),h("a",{key:5,"aria-label":"View Player Photo",onClick:le=>s.openPlayerImageModal(ee)},[n(F,{"context-type":"Player",context:ee,size:"28"},null,8,["context"])],8,yk)):U.field==="gender"?(d(),h("span",vk,_(l.asGenderWord(s.playerDataForField(ee,U.field))),1)):U.field==="birth_date"?(d(),h("span",bk,_(l.formatDate(s.playerDataForField(ee,U.field),"ll")),1)):U.field==="age_by_grade"?(d(),h("span",Ck,_(s.getLeaguePlayerGrade(ee)),1)):U.field==="age_group"?(d(),h("span",Sk,_(s.getLeaguePlayerAgeGroup(ee)),1)):U.field==="age_by_birth_year"?(d(),h("span",kk,_(s.getLeaguePlayerBirthYear(ee)),1)):U.field==="user.mobile_number"?(d(),h("span",wk,_(l.phone(s.playerDataForField(ee,U.field))),1)):U.field==="team.name"||U.field==="number"||U.field==="position"?(d(),h("span",Tk,_(s.teamPlayerDataForField(ee,U.field)),1)):U.field&&U.field.startsWith("resources")?(d(),h("span",xk,[(d(!0),h(G,null,ue([s.playerDataForField(ee,U.field)],(le,me)=>{var ne,Ae;return d(),h("span",{key:me},[s.isVerificationRequirement(U)?(d(),h(G,{key:0},[s.isVerifiedOffline(ee,U)?(d(),h("div",Fk," Verified Offline ")):le&&le.length>0?(d(),h("div",Ak,[s.isExpiredResource(ee,U)?(d(),h("div",Mk,[n(w,{class:"mr-2"}),r("a",{onClick:ce=>s.openResourceModal(le,ee,U)}," Expired ",8,Dk)])):s.tagNameFromColumn(U)==="Player Photo"&&!s.isExpiredResource(ee,U)?(d(),h("div",Rk,[r("a",{"aria-label":"View Player Photo",onClick:ce=>s.openPlayerImageModal(ee,s.photoToShow(le))},[n(F,{"context-type":"Resource",context:s.photoToShow(le),"context-url-key":"url",size:"28"},null,8,["context"])],8,Ik),n(C,{"model-value":((ne=a.uploadInProgressPlayer)==null?void 0:ne.id)===ee.id,"is-full-page":!1},null,8,["model-value"])])):((Ae=s.getPlayerSelectedResource(le,ee))==null?void 0:Ae.length)>0?(d(),h("div",Ek,[r("a",{onClick:ce=>s.openResourceModal(s.getPlayerSelectedResource(le,ee),ee,U)}," View File ",8,Vk)])):(d(),h("div",Pk,[n(w)]))])):(d(),h("div",Bk,[n(w)]))],64)):le&&le.length>0?(d(),h("a",{key:1,class:"has-text-centered",onClick:ce=>s.openResourceModal(le,ee,U)}," View "+_(l.pluralize(le.length,"File")),9,qk)):s.showPlayerVerificationView?(d(),h("div",Ok,[n(w)])):k("",!0)])}),128))])):U.field&&U.field.startsWith("subscriptions")?(d(),h("span",Uk,[(d(!0),h(G,null,ue([s.playerFormData(ee,U.field)],(le,me)=>(d(),h("span",{key:me},[le.form_field&&le.form_field.type==="file-upload"?(d(),h(G,{key:0},[le.visible_response&&le.visible_response.length>0?(d(),h("a",{key:0,onClick:ne=>s.openFileUploadModal(le.visible_response,ee,U)}," View "+_(l.pluralize(le.visible_response.length,"File")),9,Lk)):s.showPlayerVerificationView?(d(),h("div",Gk,[n(w,{class:"ml-2"})])):k("",!0)],64)):le.form_field&&le.form_field.type==="digital-document"?(d(),h(G,{key:1},[le.visible_response?(d(),h("a",{key:0,onClick:ne=>s.openDigitalDocumentModal(le,ee,U)}," View File ",8,Nk)):s.showPlayerVerificationView?(d(),h("div",jk,[n(w)])):k("",!0)],64)):(d(!0),h(G,{key:2},ue([s.responseDisplay(le.visible_response,s.tableCellKey(ee,U),le.form_field)],(ne,Ae)=>(d(),h("span",{key:Ae,style:it(a.expandedTableData[s.tableCellKey(ee,U)]?"display: inline-block; min-width: 280px":"")},[r("span",{style:it(a.expandedTableData[s.tableCellKey(ee,U)]?"white-space: pre-wrap":"")},_(ne),5),s.canExpand(le.visible_response,ne,s.tableCellKey(ee,U))?(d(),h("a",{key:0,class:"is-underline",onClick:ce=>s.toggleFullText(s.tableCellKey(ee,U))},[a.expandedTableData[s.tableCellKey(ee,U)]?(d(),h("span",zk,"less")):(d(),h("span",Hk,"more"))],8,Yk)):k("",!0)],4))),128))]))),128))])):(d(),h("span",$k,_(s.playerDataForField(ee,U.field)),1))],4)]),_:2},1040))),128))]),_:1},8,["checked-rows","data","filters-active","checkable","is-row-checkable","row-class","onCheckAll"])])),a.playerVerificationOpen?k("",!0):(d(),x(P,{key:2,players:s.playersForTab,"search-query":a.searchQuery,"hide-levels-filter":!0,"hide-positions-filter":!0,"hide-archived-filter":!0,"hide-region-filter":!0,"hide-contacts-filter":!0,"hide-custom-filters":!0,"slot-children-first":!0,"age-group-filter":i.league.extra&&i.league.extra.age_group_cutoff,"age-classification":s.leagueSeasonAgeClass,sport:s.effectiveSport,"playing-season-offset":s.playingSeasonOffset,"form-question-fields":s.questionFields,"teams-for-filter":s.teams,"is-filters-active":s.filtersActive,"filter-context":"league_view",onFiltered:e[14]||(e[14]=U=>a.filteredPlayers=U),onFiltersCleared:s.clearExtraFilters},{default:o(()=>[s.showPlayerVerificationView?(d(),x(I,{key:0,label:"Status",collapsible:!0,"default-open":!0,"filter-active":a.verificationStatusFilter.length>0},{default:o(()=>[r("div",null,[e[20]||(e[20]=r("p",{class:"filter-subtitle"},"Verification Status",-1)),n(M,null,{default:o(()=>[n(N,{modelValue:a.verificationStatusFilter,"onUpdate:modelValue":e[4]||(e[4]=U=>a.verificationStatusFilter=U),"native-value":"not_verified"},{default:o(()=>[...e[17]||(e[17]=[p(" Not Verified ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(M,null,{default:o(()=>[n(N,{modelValue:a.verificationStatusFilter,"onUpdate:modelValue":e[5]||(e[5]=U=>a.verificationStatusFilter=U),"native-value":"info_requested"},{default:o(()=>[...e[18]||(e[18]=[p(" Info Requested ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(M,null,{default:o(()=>[n(N,{modelValue:a.verificationStatusFilter,"onUpdate:modelValue":e[6]||(e[6]=U=>a.verificationStatusFilter=U),"native-value":"verified"},{default:o(()=>[...e[19]||(e[19]=[p(" Verified ",-1)])]),_:1},8,["modelValue"])]),_:1})]),s.isAllPlayersTab?(d(),h("div",Wk,[e[24]||(e[24]=r("p",{class:"filter-subtitle"},"Registration Status",-1)),n(M,null,{default:o(()=>[n(N,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[7]||
1(e[7]=U=>a.registrationStatusFilter=U),"native-value":"not_registered"},{default:o(()=>[...e[21]||(e[21]=[p(" Not Registered ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(M,null,{default:o(()=>[n(N,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[8]||(e[8]=U=>a.registrationStatusFilter=U),"native-value":"update_needed"},{default:o(()=>[...e[22]||(e[22]=[p(" Update Needed ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(M,null,{default:o(()=>[n(N,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[9]||(e[9]=U=>a.registrationStatusFilter=U),"native-value":"registered"},{default:o(()=>[...e[23]||(e[23]=[p(" Registered ",-1)])]),_:1},8,["modelValue"])]),_:1})])):k("",!0)]),_:1},8,["filter-active"])):s.trackRegistration&&s.isAllPlayersTab?(d(),x(I,{key:1,label:"Registration Status"},{default:o(()=>[n(M,null,{default:o(()=>[n(N,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[10]||(e[10]=U=>a.registrationStatusFilter=U),"native-value":"not_registered"},{default:o(()=>[...e[25]||(e[25]=[p(" Not Registered ",-1)])]),_:1},8,["modelValue"])]),_:1}),s.showExpirationView?(d(),x(M,{key:0},{default:o(()=>[n(N,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[11]||(e[11]=U=>a.registrationStatusFilter=U),"native-value":"expired"},{default:o(()=>[...e[26]||(e[26]=[p(" Expired ",-1)])]),_:1},8,["modelValue"])]),_:1})):k("",!0),n(M,null,{default:o(()=>[n(N,{modelValue:a.registrationStatusFilter,"onUpdate:modelValue":e[12]||(e[12]=U=>a.registrationStatusFilter=U),"native-value":"registered"},{default:o(()=>[...e[27]||(e[27]=[p(" Registered ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})):k("",!0),n(I,{label:"Eligibility"},{default:o(()=>[n(M,null,{default:o(()=>[n(V,{modelValue:a.showOnlyIneligiblePlayers,"onUpdate:modelValue":e[13]||(e[13]=U=>a.showOnlyIneligiblePlayers=U)},{default:o(()=>[r("span",Qk,[n(b,{icon:["fas","user-slash"]})]),e[28]||(e[28]=r("span",null,"Show Ineligible Players Only",-1))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["players","search-query","age-group-filter","age-classification","sport","playing-season-offset","form-question-fields","teams-for-filter","is-filters-active","onFiltersCleared"])),n(E,{ref:"configureColumns",context:"player",league:i.league,programs:a.programs,"programs-by-id":a.programsById,"club-resource-tags":a.clubResourceTags,"club-resource-tags-by-id":a.clubResourceTagsById,onDismissed:s.dismissModal},null,8,["league","programs","programs-by-id","club-resource-tags","club-resource-tags-by-id","onDismissed"]),n(q,{ref:"playerImageModal"},ht({_:2},[a.viewPhotoPlayer&&a.viewPhotoResource?{name:"actions",fn:o(()=>[n(X,{type:"is-primary",outlined:"",onClick:e[15]||(e[15]=U=>s.cropPhoto(a.viewPhotoPlayer,a.viewPhotoResource))},{default:o(()=>[...e[29]||(e[29]=[p(" Crop Image ",-1)])]),_:1})]),key:"0"}:void 0]),1536),n(he,{ref:"imageCropModal",onSave:s.saveCroppedPhoto},null,8,["onSave"]),n(ve,{ref:"viewFiles"},null,512),n(re,{ref:"viewResources"},null,512),n(W,{ref:"exportLeaguePlayers",league:i.league,"has-documents":s.hasDocuments,players:s.players,teams:s.teams},null,8,["league","has-documents","players","teams"]),n(K,{ref:"confirmMarkAsRegisteredModal","association-id":i.league.sanctioning_body_id,"can-expire":s.associationRegistrationCanExpire,"player-verification-enabled":!!s.showPlayerVerificationView,"player-verifications":s.sanctioningBodyPlayers,"league-id":i.league.id},null,8,["association-id","can-expire","player-verification-enabled","player-verifications","league-id"]),n(j,{ref:"messageLeaguePlayersModal",onDismissed:s.closeMessageLeaguePlayers},null,8,["onDismissed"]),n(ge,{ref:"playerVerificationModal","verification-requirements":s.verificationRequirements,"sanctioning-body-players":s.sanctioningBodyPlayers,league:i.league,"request-info-form-request-player
1-forms":s.requestInfoFormRequestPlayerForms,"read-only":s.leagueSeasonEnded,onDismissModal:e[16]||(e[16]=U=>{s.dismissModal(U)})},null,8,["verification-requirements","sanctioning-body-players","league","request-info-form-request-player-forms","read-only"]),n(de,{ref:"requestMissingInfoModal",players:s.players,"sanctioning-body-players":s.sanctioningBodyPlayers,"verification-requirements":s.verificationRequirements,"league-id":i.league.id,"season-id":i.league.season_id,"sanctioning-body-id":i.league.sanctioning_body_id},null,8,["players","sanctioning-body-players","verification-requirements","league-id","season-id","sanctioning-body-id"]),n(we,{ref:"modalConfirm","max-width":"428px"},{default:o(()=>[...e[30]||(e[30]=[r("br",null,null,-1)])]),_:1},512)])}const Kk=ie(WS,[["render",Jk],["__scopeId","data-v-0ab92cf0"]]),Xk={components:{Modal:Qe},inject:["refresh"],props:{leagueId:{type:Number,required:!0},teamsDisplay:{type:Function,required:!0},typeClass:{type:Function,required:!0}},emits:["dismissModal"],setup(){return{toast:Se()}},data(){return{selectedRosterChanges:null,isShowingMore:!1,saving:!1}},computed:{NUM_TO_SHOW(){return 10},dataForTable(){return this.isShowingMore?this.selectedRosterChanges:this.selectedRosterChanges.slice(0,this.NUM_TO_SHOW)},canShowMore(){return this.selectedRosterChanges.length>this.NUM_TO_SHOW}},methods:{showModal(t){this.selectedRosterChanges=t,this.isShowingMore=!1,this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$refs.modal.dismissModal(),this.$emit("dismissModal",t)},markAsResolved(){this.saving=!0;const t="club_admin/club_leagues/".concat(this.leagueId,"/resolve_roster_changes"),e=this.selectedRosterChanges.map(i=>i.id);Q().post(t,e).then(()=>{this.refresh(),this.dismissModal({refreshData:!0}),this.toast.success("Roster Changes Resolved")}).finally(()=>{this.saving=!1})}}},Zk={key:0,style:{"padding-bottom":"0.5rem"}},ew=["innerHTML"],tw={key:0},sw={key:1};function iw(t,e,i,l,a,s){const u=c("b-table-column"),m=c("b-tag"),f=c("BaseTable"),v=c("b-button"),y=c("Modal");return d(),x(y,{ref:"modal",title:"Resolve Roster Changes"},{footer:o(()=>[n(v,{type:"is-primary",disabled:a.saving,loading:a.saving,onClick:s.markAsResolved},{default:o(()=>[...e[3]||(e[3]=[p(" Mark as Resolved ",-1)])]),_:1},8,["disabled","loading","onClick"])]),default:o(()=>[a.selectedRosterChanges?(d(),h("div",Zk,[r("p",null,[e[1]||(e[1]=p(" You are about to resolve the following ",-1)),r("b",null,_(a.selectedRosterChanges.length),1),e[2]||(e[2]=p(" roster changes: ",-1))]),n(f,{name:"rosterChanges",data:s.dataForTable,class:"bis-table",style:{margin:"1.5rem 0 1rem 0"},"show-all":""},{default:o(()=>[n(u,{field:"player_name",label:"Name"},{default:o(({row:g})=>[p(_(g.player_name),1)]),_:1}),n(u,{label:"Team(s)"},{default:o(({row:g})=>[r("span",{innerHTML:i.teamsDisplay(g)},null,8,ew)]),_:1}),n(u,{field:"type",label:"Type",sortable:"",centered:""},{default:o(({row:g})=>[n(m,{class:Ce([i.typeClass(g),"change-status"]),rounded:""},{default:o(()=>[p(_(g.type),1)]),_:2},1032,["class"])]),_:1})]),_:1},8,["data"]),s.canShowMore?(d(),h("a",{key:0,class:"is-underline",onClick:e[0]||(e[0]=g=>a.isShowingMore=!a.isShowingMore)},[a.isShowingMore?(d(),h("span",tw,"Show Less")):(d(),h("span",sw,"Show More"))])):k("",!0)])):k("",!0)]),_:1},512)}const aw=ie(Xk,[["render",iw]]),lw={components:{SelectionToolbar:_t,ConfirmMarkAsResolvedModal:aw},props:{league:{type:Object,required:!0},rosterChanges:{type:Array,required:!0},leagueRosterChangesKeyed:{type:Object,required:!0}},setup(){const{formatDate:t}=Xe();return{formatDate:t}},data(){return{activeTab:0,searchQuery:"",selectedRosterChanges:[],clickedCheckAll:!1}},computed:{isShowingResolved(){return this.activeTab===1},isShowingOpen(){return this.activeTab===0},rosterChangesForTab(){let t=this.rosterChanges.filter(e=>this.isResolved(e)===this.isShowingResolved);return this.isShowingResolved?t=T.orderBy(t,e=>this.leagueRosterChangesKeyed[e.id]&&this.leagueRosterChangesKeyed[e.id].resolved_at,"desc"):t=T.orderBy(t,"created_at","desc"),t},filteredRosterChanges(){let t=this.rosterChangesForTab;return this.searchQuery!==""&&(t=t.filter(e=>this.searchInChange(e))),t},checkedRows:{get(){return this.selectedRosterChanges},set(t){let e=T.clone(t);this.clickedCheckAll&&(this.$refs.checkboxTable.getIsAllChecked()?e=T.unionBy(e,this.checkableRosterChanges,"id"):e=T.differenceBy(e,this.checkableRosterChanges,"id")),this.selectedRosterChanges=e,this.clickedCheckAll=!1}},teamsByID(){const t=T.flatMap(this.league.league_teams,e=>e.team);return T.keyBy(t,"id")},checkableRosterChanges(){return this.filteredRosterChanges.filter(t=>this.isRowCheckable(t))},isAdmin(){return this.$store.getters.isClubAdmin}},methods:{isResolved(t){return!!this.resolvedAt(t)},resolvedAt(t){return this.leagueRosterChangesKeyed[t.id]&&this.leagueRosterChangesKeyed[t.id].resolved_at},resolvedBy(t){const e=this.leagueRosterChangesKeyed[t.id]&&this.leagueRosterChangesKeyed[t.id].user;return e&&e.name},searchInChange(t){const e=this.searchQuery.toLowerCase();return t.player_name.toLowerCase().includes(e)||t.from_team_name.toLowerCase().includes(e)||t.to_team_name.toLowerCase().includes(e)},teamsDisplay(t){return t.type==="Transfer"?"".concat(t.from_team_name," → ").concat(t.to_team_name):t.type==="Removal"?t.from_team_name:t.to_team_name},typeClass(t){return jo.typeClass(t)},checkAll(){this.clickedCheckAll=!0},confirmMarkAsResolved(){this.$refs.confirmMarkAsResolvedModal.showModal(this.selectedRosterChanges)},isRowCheckable(t){const e=this.teamsByID[t.from_team_id],i=this.teamsByID[t.to_team_id];return e&&this.$store.getters.canAdminRegionID(e.club_region_id)||i&&this.$store.getters.canAdminRegionID(i.club_region_id)},greyOut(t){return this.isRowCheckable(t)?"":"has-text-grey-light"},goToPlayerProfile(t){this.$router.push({name:"PlayerProfile",params:{player:t.player_id}})}}},nw={class:"league-roster-changes-tab"},rw={key:0},ow={key:1,class:"title__subsection is-flex",style:{height:"52.5px","align-items":"center",margin:"0 0 0.5rem 0"}},dw=["onClick"],uw={key:1},cw=["innerHTML"];function mw(t,e,i,l,a,s){const u=c("b-tab-item"),m=c("b-tabs"),f=c("EmptyStateComponent"),v=c("SelectionToolbar"),y=c("b-table-column"),g=c("b-tag"),b=c("BaseTable"),S=c("ConfirmMarkAsResolvedModal");return d(),h("div",nw,[s.rosterChangesForTab.length===0?(d(),h("div",rw,[n(m,{modelValue:a.activeTab,"onUpdate:modelValue":e[0]||(e[0]=F=>a.activeTab=F),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[n(u,{label:"Open"}),n(u,{label:"Resolved"})]),_:1},8,["modelValue"]),n(f,{header:"There are no ".concat(s.isShowingResolved?"Resolved":"Open"," Roster Changes"),body:s.isShowingResolved?"When roster changes are resolved, they will appear here.":"When player additions, removals, or transfers occur, they will appear here.","img-src":"/static/images/empty-states-icons/league-roster-changes.png",class:"mt-6"},null,8,["header","body"])])):(d(),x(b,{key:1,ref:"checkboxTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[3]||(e[3]=F=>s.checkedRows=F),data:s.filteredRosterChanges,searchable:"",filterable:!1,name:"leagueRosterChanges",checkable:s.isShowingOpen,"is-row-checkable":s.isRowCheckable,"row-class":s.greyOut,onCheckAll:s.checkAll,onQueryUpdated:e[4]||(e[4]=F=>a.searchQuery=F)},{"header-left":o(()=>[n(m,{modelValue:a.activeTab,"onUpdate:modelValue":e[1]||(e[1]=F=>a.activeTab=F),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[n(u,{label:"Open"}),n(u,{label:"Resolved"})]),_:1},8,["modelValue"])]),"table-header":o(()=>[s.isShowingOpen&&a.selectedRosterChanges.length>0?(d(),x(v,{key:0,"checked-rows":a.selectedRosterChanges,actions:[{text:"Mark as Resolved"}],onCtaClicked:s.confirmMarkAsResolved,onOnCancel:e[2]||(e[2]=F=>a.selectedRosterChanges=[])},null,8,["checked-rows","onCtaClicked"])):(d(),h("p",ow,_(s.rosterChangesForTab.length)+" "+_(s.isShowingResolved?"Â Resolved":"Â Open")+" Roster Change"+_(s.rosterChangesForTab.length===1?"":"s"),1))]),default:o(()=>[n(y,{label:"Date",field:"created_at",sortable:""},{default:o(({row:F})=>[p(_(l.formatDate(F.created_at,"ll")),1)]),_:1}),n(y,{label:"Player",field:"player_name"},{default:o(({row:F})=>[s.isAdmin||s.isRowCheckable(F)?(d(),h("div",{key:0,class:"clickable is-un
1derline",onClick:w=>s.goToPlayerProfile(F)},_(F.player_name),9,dw)):(d(),h("div",uw,_(F.player_name),1))]),_:1}),n(y,{field:"teams",label:"Team(s)"},{default:o(({row:F})=>[r("span",{innerHTML:s.teamsDisplay(F)},null,8,cw)]),_:1}),n(y,{label:"Type",field:"type",sortable:"",centered:""},{default:o(({row:F})=>[n(g,{class:Ce([s.typeClass(F),"change-status"]),rounded:""},{default:o(()=>[p(_(F.type),1)]),_:2},1032,["class"])]),_:1}),n(y,{visible:s.isShowingResolved,label:"Resolved At",field:"resolved_at"},{default:o(({row:F})=>[p(_(l.formatDate(s.resolvedAt(F),"ll")),1)]),_:1},8,["visible"]),n(y,{visible:s.isShowingResolved,label:"Resolved By",field:"resolved_by"},{default:o(({row:F})=>[p(_(s.resolvedBy(F)),1)]),_:1},8,["visible"])]),_:1},8,["checked-rows","data","checkable","is-row-checkable","row-class","onCheckAll"])),n(S,{ref:"confirmMarkAsResolvedModal","league-id":i.league.id,"teams-display":s.teamsDisplay,"type-class":s.typeClass},null,8,["league-id","teams-display","type-class"])])}const fw=ie(lw,[["render",mw],["__scopeId","data-v-3f9dba2e"]]),hw={components:{ChooseMultipleTeams:Yo,Modal:Qe},props:{teams:{type:Array,required:!0},league:{type:Object,required:!0}},data(){return{selectedTeams:[]}},computed:{invalid(){return this.selectedTeams.length===0},hasDivisions(){var t;return((t=this.league.league_divisions)==null?void 0:t.length)>0},teamsWithPlayers(){return this.teams.filter(t=>{var e;return((e=t.team_players)==null?void 0:e.length)>0})},dataForSelectObjects(){return this.teamsWithPlayers.map(t=>{var e;return{...t,division:(e=this.divisionForTeam(t))==null?void 0:e.name}})}},methods:{showModal(){this.selectedTeams=[],this.$refs.modal.showModal()},printRosters(){const t={name:"PrintRosters"};t.query={teams:[this.selectedTeams.map(i=>i.id)].join(","),league:this.league.id};const e=this.$router.resolve(t);this.$refs.modal.dismissModal(),window.open(e.href,"_blank")},doCancel(){this.$refs.modal.dismissModal()},divisionForTeam(t){var i,l,a;const e=(l=(i=this.league.league_teams)==null?void 0:i.find(s=>s.team.id===t.id))==null?void 0:l.league_division_id;return(a=this.league.league_divisions)==null?void 0:a.find(s=>s.id===e)}}};function gw(t,e,i,l,a,s){const u=c("ChooseMultipleTeams"),m=c("b-button"),f=c("Modal");return d(),h("div",null,[n(f,{ref:"modal","is-all-white":"","max-width":"500px",title:"Print Team Rosters","has-cancel-button":!1},{footer:o(()=>[r("button",{class:"button is-text has-text-weight-normal cancel-button",onClick:e[1]||(e[1]=v=>s.doCancel())}," Cancel "),n(m,{class:"button has-text-weight-normal is-primary",disabled:s.invalid,onClick:e[2]||(e[2]=v=>s.printRosters())},{default:o(()=>[...e[4]||(e[4]=[p(" Continue ",-1)])]),_:1},8,["disabled"])]),default:o(()=>[Lt(t.$slots,"default",{},()=>[r("div",null,[e[3]||(e[3]=r("p",{class:"is-font-mont has-text-weight-semibold is-text-size-5",style:{"margin-bottom":"1rem"}}," Select Teams ",-1)),n(u,{modelValue:a.selectedTeams,"onUpdate:modelValue":e[0]||(e[0]=v=>a.selectedTeams=v),context:"selectForPrintRostersModalTeams","include-region":"","other-fields":s.hasDivisions?["division"]:null,"icon-only":"","hide-seasons-filter":"","show-division-filter":"","select-title":"Print Team Rosters",teams:s.dataForSelectObjects},null,8,["modelValue","other-fields","teams"])])])]),_:3},512)])}const pw=ie(hw,[["render",gw]]),_w={components:{SelectMultipleTeams:zo},props:{league:{type:Object,required:!0}},emits:["saveSelected","dismissed"],data(){return{teams:null}},computed:{loading(){return this.teams===null},leagueTeamIds(){return(this.league.league_teams||[]).map(t=>t.team.id)},lockedTeamIds(){return(this.league.league_teams||[]).filter(t=>!!this.teamsWithMatchup[t.team.id]||t.league_division_id!==0).map(t=>t.team.id)},teamsWithMatchup(){const t={},e=T.flatMap(this.league.game_schedulers,"matchups");return T.forEach(e,i=>{t[i.home_team_id]=(t[i.home_team_id]||0)+1,t[i.away_team_id]=(t[i.away_team_id]||0)+1}),t},hasRegions(){return this.$store.getters.clubHasRegions},clubRegionId(){return this.league.club_region_id},seasonsById(){const t=(this.$store.getters.clubDetails.seasons||[]).filter(e=>!e.archived);return T.keyBy(t,"id")},clubRegionsById(){const t=this.$store.getters.currentRole,e=this.$store.getters.clubDetails.regions.filter(i=>!i.archived&&or.hasRegionAccess(i.id,t));return T.keyBy(e,"id")},filteredTeams(){return(this.teams||[]).filter(t=>t.season_id===this.league.season_id&&(!this.clubRegionId||t.club_region_id===this.clubRegionId))},warningMessage(){const t=this.seasonsById[this.league.season_id]&&this.seasonsById[this.league.season_id].name,e=this.clubRegionsById[this.clubRegionId]&&this.clubRegionsById[this.clubRegionId].name;return this.clubRegionId?"This list is limited to Teams associated with the ".concat(t,"\n season and ").concat(e," ").concat(this.$store.getters.clubDictionary("region")):"This list is limited to Teams associated with the ".concat(t," season")},userHasAllRegionAccess(){return this.$store.getters.isRegionlessAdmin}},created(){this.fetchTeams()},methods:{fetchTeams(){this.teams=null,Q().get("/teams?populate=num_players").then(t=>{const e=T.sortBy(t.data.filter(i=>this.userHasAllRegionAccess||this.$store.getters.canAdminRegionID(i.club_region_id))||[],"name");this.teams=Object.freeze(e)})},showModal(){this.$refs.selectTeamsModal.showModal()},dismissModal(){this.$refs.selectTeamsModal.dismissModal(),this.$emit("dismissed",{refresh:!0})}}};
1function yw(t,e,i,l,a,s){const u=c("message-box"),m=c("spinner"),f=c("SelectMultipleTeams");return d(),x(f,{ref:"selectTeamsModal",teams:s.filteredTeams,"initial-selected-ids":s.leagueTeamIds,"initial-locked-ids":s.lockedTeamIds,"include-region":"","include-season":!1,"include-num-players":"","include-head-coach":"",onSaveSelected:e[0]||(e[0]=v=>t.$emit("saveSelected",v))},ht({warning:o(()=>[n(u,{type:"is-cyan",message:s.warningMessage,icon:{icon:["fas","info-circle"],type:"cyan"}},null,8,["message"])]),_:2},[s.loading?{name:"empty",fn:o(()=>[n(m)]),key:"0"}:void 0]),1032,["teams","initial-selected-ids","initial-locked-ids"])}const vw=ie(_w,[["render",yw]]),bw={components:{SelectMultipleObjects:Ml},props:{league:{type:Object,required:!0}},emits:["saveSelectedAssignments"],data(){return{assignments:[]}},computed:{title(){return"".concat(this.league.name," Team Assignments")},regionsEnabled(){return this.$store.getters.clubHasRegions},assignmentFields(){const t=["team_assignment","sign_up_program","number_of_teams","status"];return this.regionsEnabled&&t.unshift("region"),t},filteredAssignments(){return this.assignments.filter(t=>t.league_id===0||t.league_id===this.league.id)},mappedAssignments(){return this.filteredAssignments.map(t=>({id:t.id,region:this.regionsEnabled?this.region(t.club_region_id):"",region_id:t.club_region_id,team_assignment:t.name,sign_up_program:t.signup_program_name?t.signup_program_name:"-",signup_program_id:t.signup_program_id||0,number_of_teams:t.num_teams,status:t.closed_at?"Closed":"Open"}))},leagueTeamAssignments(){var t,e;return(e=(t=this.league)==null?void 0:t.team_assignments)==null?void 0:e.map(i=>i.id)}},created(){this.fetchAssignments()},methods:{fetchAssignments(){Q().get("/team_assignments?populate=count").then(t=>{t.status===200&&(this.assignments=t.data.filter(e=>!e.closed_at))})},showModal(){this.$refs.selectTeamAssignmentsModal.showModal()},region(t){if(t===0)return"Multi-Regional";{const e=this.$store.getters.clubRegionByID(t);return e?e.name:"Unknown"}}}};function Cw(t,e,i,l,a,s){const u=c("SelectMultipleObjects");return d(),x(u,{ref:"selectTeamAssignmentsModal",data:s.mappedAssignments,title:s.title,fields:s.assignmentFields,"initial-selected-ids":s.leagueTeamAssignments,"initial-locked-ids":s.leagueTeamAssignments,type:"team assignments","save-text":"Save Changes",onSaveSelected:e[0]||(e[0]=m=>t.$emit("saveSelectedAssignments",m))},null,8,["data","title","fields","initial-selected-ids","initial-locked-ids"])}const Sw=ie(bw,[["render",Cw]]),kw={components:{StandingsTable:to,MultipleSelect:zi,CreateEditRuleSet:Ho},inject:["refresh"],props:{league:{type:Object,required:!0}},data(){return{localDivisions:[],selectedDivisions:[],searchQuery:""}},computed:{sportConfig(){return this.$store.getters.clubSportConfig(this.league.sport)},pointTerm(){var t;return((t=this.sportConfig)==null?void 0:t.point_term)||"Point"},hasRankedDivisions(){return this.league.league_divisions.some(t=>!!t.rule_set)},divisionsWithStandings(){return T.filter(this.league.league_divisions,t=>!!t.team_standings)},divisionsSorted(){return T.sortBy(this.divisionsWithStandings,["name"])},divisionsMappedByID(){return T.keyBy(this.divisionsWithStandings,"id")},divisionsFilteredForDisplay(){let t=this.divisionsSorted;return t=t.map(e=>({division:Object.assign({},e),originalDivision:e})),this.selectedDivisions.length>0&&(t=T.filter(t,e=>this.selectedDivisions.includes(e.division.id))),this.searchQuery.length>0&&(t=T.filter(t,e=>{const i=T.filter(e.division.team_standings,l=>l.team_name.toLowerCase().includes(this.searchQuery.toLowerCase()));return i.length?(e.division.team_standings=i,!0):!1})),t},someDivisionHasPoints(){return this.divisionsFilteredForDisplay.some(t=>t.division.rule_set.type==="points")},someDivisionHasPercentage(){return this.divisionsFilteredForDisplay.some(t=>t.division.rule_set.type==="percentage")},legendItems(){const t=[{key:"GP",text:"Games Played"},{key:"W",text:"Wins"},{key:"L",text:"Losses"},{key:"T",text:"Ties"},{key:"".concat(this.pointTerm.charAt(0),"F"),text:"".concat(this.pointTerm,"s For")},{key:"".concat(this.pointTerm.charAt(0),"A"),text:"".concat(this.pointTerm,"s Against")},{key:"".concat(this.pointTerm.charAt(0),"D"),text:"".concat(this.pointTerm," Differential")}];return this.someDivisionHasPoints&&t.push({key:"PTS",text:"Points"}),this.someDivisionHasPercentage&&t.push({key:"PCT",text:"Win Percentage"}),t}},methods:{createRule(){this.$refs.createRuleSetModal.show()}
1,dismissModal(t={refreshData:!1}){t.refreshData&&this.refresh()},divisionName(t){return t.name}}},ww={class:"standings"},Tw={key:0,class:"level"},xw={class:"level-left"},Fw={class:"level-right"},Aw={style:{"margin-left":"1rem","min-width":"280px"}};function Mw(t,e,i,l,a,s){const u=c("IconLegend"),m=c("MultipleSelect"),f=c("b-button"),v=c("EmptyStateComponent"),y=c("StandingsTable"),g=c("CreateEditRuleSet");return d(),h("div",ww,[s.hasRankedDivisions?(d(),h("div",Tw,[r("div",xw,[n(u,{"legend-items":s.legendItems},null,8,["legend-items"])]),r("div",Fw,[e[2]||(e[2]=r("div",{class:"has-text-weight-bold"},"Divisions:",-1)),n(m,{modelValue:a.selectedDivisions,"onUpdate:modelValue":e[0]||(e[0]=b=>a.selectedDivisions=b),options:s.divisionsSorted,"display-name":s.divisionName,type:"divisions","allow-select-all":s.divisionsSorted.length!==1,"show-placeholder":"",style:{"margin-left":"0.5rem",width:"200px"}},null,8,["modelValue","options","display-name","allow-select-all"]),r("div",Aw,[Ys(r("input",{"onUpdate:modelValue":e[1]||(e[1]=b=>a.searchQuery=b),placeholder:"Search for teams",class:"input",type:"text"},null,512),[[yn,a.searchQuery]])])])])):k("",!0),s.hasRankedDivisions?s.divisionsFilteredForDisplay.length===0?(d(),x(v,{key:2,header:"No Teams Found",body:"No teams match the criteria provided.","img-src":"/static/images/empty-states-icons/league-standings.png",class:"mt-6"},{action:o(()=>[n(f,{class:"empty-button is-primary",onClick:s.createRule},{default:o(()=>[...e[4]||(e[4]=[p("Create Scoring Rule",-1)])]),_:1},8,["onClick"])]),_:1})):(d(!0),h(G,{key:3},ue(s.divisionsFilteredForDisplay,b=>(d(),x(y,{key:b.division.id,"augmented-division":b,league:i.league,"show-missing-scores-banner":""},null,8,["augmented-division","league"]))),128)):(d(),x(v,{key:1,header:"No Scoring Rules Defined",body:"None of this league's divisions have scoring rules defined yet.","img-src":"/static/images/empty-states-icons/league-standings.png",class:"mt-6"},{action:o(()=>[n(f,{class:"empty-button is-primary",onClick:s.createRule},{default:o(()=>[...e[3]||(e[3]=[p("Create Scoring Rule",-1)])]),_:1},8,["onClick"])]),_:1})),n(g,{ref:"createRuleSetModal",league:i.league,onDismissed:s.dismissModal},null,8,["league","onDismissed"])])}const Dw=ie(kw,[["render",Mw]]),{formatDate:vi}=Xe(),Rw={statuses:[],dueDateRange:{},submissionDateRange:{},expirationDateRange:{},showOfficialsWithNoTeams:!1,showArchivedTeams:!1},Iw="",Hl="app-pending",$l="app-ready",Ns="canceled",Ew="dispatched-qc",Wl="draft",Vw="new",Ql="pending",Jl="pending-review",Pw="qa-review",Mi="complete",Bw=[Iw,Hl,$l,Wl],Kl=[Vw,Ew,Pw,Ql,Jl],$i="declined",Xl="approved",qw="pending",Ow="in_review",Uw="cleared",Lw="This account is not yet set up on Yardstik's clearance platform";function js(t){return Bw.includes(t)}function Ft(t,e){if(!t||!e)return!1;const i=e.created_at,l=t.completed_date;return!i||!l?!1:Y(i).isAfter(Y(l),"day")}const Di={needs_consideration:{text:"Needs Consideration",class:"primary-tag"},incomplete:{text:"Incomplete",class:"warning-tag",icon:["far","exclamation-circle"]}},Gw=t=>{const e=Y();return t&&t.completed_date?t.expiry_date?e.isAfter(Y(t.expiry_date))?{status:"expired",text:"Expired on ".concat(vi(t.expiry_date,"ll")),type:"is-danger",icon:["fas","clock"],icon_type:"danger",tag:"Expired"}:{status:"complete",text:"Completed, expires on ".concat(vi(t.expiry_date,"ll")),type:"is-success",icon:["fas","check"],icon_type:"success",tag:"Complete"}:{status:"complete",text:"Completed on ".concat(vi(t.completed_date,"ll")),type:"is-success",icon:["fas","check"],icon_type:"success",tag:"Completed"}:{status:"incomplete",text:"Incomplete",type:"is-warning",icon:["fas","exclamation-circle"],icon_type:"warning",tag:"Incomplete"}};function tt(t,e){var i;if(!Array.isArray(e)||e.length===0)return null;if(!t||t.vendor===wi)return e[e.length-1]||null;if(t.vendor===Dl){const l=(i=t==null?void 0:t.extra)==null?void 0:i.taz_product_guid;if(!l)return e[e.length-1]||null;const a=(e||[]).filter(s=>(s==null?void 0:s.product_id)===l||(s==null?void 0:s.isLegacyYardstikReport));return a.length?a[a.length-1]:null}return null}const Zl=(t,e,i=null,l=!1)=>{const a=Y(),s=Y().add(30,"days"),u=tt(e,t),m=Ft(i,u);if(i&&!m){const f=Y(i.expiry_date);return f.isBefore(a)?"Expired":f.isBetween(a,s)?"Expiring Soon":"Cleared"}else if(u&&!l)switch(u.status){case"expired":return"Overdue";case"created":return u.extra&&Y(u.extra.invite_due_date).add(1,"days").isBefore(a)?"Overdue":"Request Sent";case"processing":case"pending":case"queued":case"ys_qa_review":case"info_requested":case"pending_approval":case"approved_to_process":return"Processing";case"dispute":return"In Dispute";case"consider":return"Needs Consideration";case"proceed":case"clear":return"Cleared";case"pre_adverse":case"final_adverse":return"Not Cleared";case Ns:return"Canceled";default:return u.status}else return u?u.risk_manager_decision===$i?"Not Cleared":u.risk_manager_decision===Xl||u.status===Mi&&!u.vend
1or_flagged?"Cleared":u.status===$l?"Duplicate":js(u.status)&&Y(u.due_on).add(1,"days").isBefore(a)?"Overdue":js(u.status)?"Request Sent":u.vendor_flagged?"Needs Consideration":Kl.includes(u.status)?"Processing":u.status===Ns?"Canceled":"Unscreened":"Unscreened"},Nw=(t,e,i,l=!1)=>{if(Pe(e)){const s=Zl(i,e,t,l);switch(s){case"Overdue":return{text:s,class:"danger-tag-light",icon:["far","clock"]};case"Request Sent":return{text:s,class:"warning-tag",icon:["far","exclamation-circle"]};case"Processing":return{text:s,class:"primary-tag",icon:["far","exclamation-circle"]};case"In Dispute":return{text:s,class:"warning-tag",icon:["far","exclamation-circle"]};case"Needs Consideration":return Di.needs_consideration;case"Expired":return{text:s,class:"danger-tag-light",icon:["far","clock"]};case"Duplicate":return{text:s,class:"duplicate-tag",icon:["far","copy"]};case"Expiring Soon":return{text:s,class:"warning-tag",icon:["far","exclamation-circle"]};case"Cleared":return{text:s,class:"success-tag",icon:["far","check"]};case"Not Cleared":return{text:s,class:"danger-tag",icon:["far","ban"]};case"Canceled":return{text:s,class:"failure-tag",icon:["far","times"]};default:return{text:s,class:"warning-tag",icon:["far","exclamation-circle"]}}}else{let s=Di.incomplete;const u=Y();return t&&t.completed_date&&(s={text:"Completed",class:"success-tag",icon:["far","check"]},t.expiry_date&&u.isAfter(Y(t.expiry_date))&&(s={text:"Expired",class:"danger-tag-light",icon:["far","clock"]})),s}},yt=(t,e)=>e.find(i=>i.user.id===t.user_id),jw=(t,e,i)=>t.filter(l=>{const a=yt(l,e),s=l.clearance_requirements_by_id[i==null?void 0:i.id];return!tt(i,a==null?void 0:a.reports)&&!s}),Yw=(t,e,i)=>t.filter(l=>{const a=l.clearance_requirements_by_id[i==null?void 0:i.id],s=yt(l,e);if(!(s!=null&&s.reports))return!1;const u=tt(i,s.reports);if(!u)return!1;const m=Ft(a,u);if(a&&!m)return!1;const{extra:f,status:v,due_on:y}=u,g=f?f.invite_due_date:y;return(v==="expired"||v==="created"||js(v))&&Y(g).add(1,"days").isBefore(Y())}),zw=(t,e,i)=>t.filter(l=>{const a=l.clearance_requirements_by_id[i==null?void 0:i.id],s=yt(l,e);if(!(s!=null&&s.reports))return!1;const u=tt(i,s.reports);if(!u)return!1;const m=Ft(a,u);if(a&&!m||u.vendor_flagged)return!1;const{extra:f,status:v,due_on:y}=u,g=f?f.invite_due_date:y;return["processing","pending","queued","dispute","ys_qa_review","info_requested","pending_approval","approved_to_process"].includes(v)||Kl.includes(v)||(v==="created"||js(v))&&Y(g).add(1,"days").isAfter(Y())}),Hw=(t,e,i)=>t.filter(l=>{const a=l.clearance_requirements_by_id[i==null?void 0:i.id],s=yt(l,e);if(!(s!=null&&s.reports))return!1;const u=tt(i,s.reports);if(!u)return!1;const m=Ft(a,u);return a&&!m||u.risk_manager_decision?!1:u.status==="consider"||u.vendor_flagged}),$w=(t,e,i)=>t.filter(l=>{const a=l.clearance_requirements_by_id[i==null?void 0:i.id];if(!a)return!1;const s=yt(l,e),u=tt(i,s==null?void 0:s.reports);return Ft(a,u)?!1:Y(a.expiry_date).add(1,"days").isBefore(Y())}),Ww=(t,e,i)=>t.filter(l=>{const a=Y(),s=Y().add(30,"days"),u=l.clearance_requirements_by_id[i==null?void 0:i.id];if(!u)return!1;const m=yt(l,e),f=tt(i,m==null?void 0:m.reports);return Ft(u,f)?!1:Y(u.expiry_date).add(1,"days").isBetween(a,s)}),Qw=(t,e,i)=>t.filter(l=>{const a=Y(),s=Y().add(30,"days"),u=l.clearance_requirements_by_id[i==null?void 0:i.id];if(!u)return!1;const m=yt(l,e),f=tt(i,m==null?void 0:m.reports);return Ft(u,f)?!1:!u.expiry_date||Y(u.expiry_date).add(1,"days").isAfter(a)&&!Y(u.expiry_date).add(1,"days").isBetween(a,s)}),Jw=(t,e,i)=>t.filter(l=>{const a=l.clearance_requirements_by_id[i==null?void 0:i.id],s=yt(l,e),u=s==null?void 0:s.reports;if(!u)return!1;const m=tt(i,u);if(!m)return!1;const f=Ft(a,m);return a&&!f?!1:m.status==="pre_adverse"||m.status==="final_adverse"||m.risk_manager_decision===$i}),Kw=(t,e,i)=>t.filter(l=>{const a=l.clearance_requirements_by_id[i==null?void 0:i.id],s=yt(l,e);if(!(s!=null&&s.reports))return!1;const u=tt(i,s.reports),m=Ft(a,u);return a&&!m?!1:(u==null?void 0:u.status)===Ns}),Xw=(t,e,i)=>({unscreened:jw(t,e,i),overdue:Yw(t,e,i),in_progress:zw(t,e,i),consider:Hw(t,e,i),expired:$w(t,e,i),expiring_soon:Ww(t,e,i),cleared:Qw(t,e,
1i),not_cleared:Jw(t,e,i),canceled:Kw(t,e,i)}),Zw=t=>{const e=T.map(t.league_teams||[],"team"),i=T.cloneDeep(t.league_officials||[]);return i.forEach(l=>{l.teams=e.filter(a=>T.map(a.coaches,"user_id").includes(l.user_id)||T.map(a.managers,"user_id").includes(l.user_id))}),i};function eT(t){switch(t){case"expired":case"created":return Hl;case"processing":case"pending":case"queued":case"ys_qa_review":case"info_requested":case"pending_approval":case"approved_to_process":case"dispute":case"pre_adverse":return Ql;case"consider":return Jl;case"proceed":case"clear":return Mi;case"final_adverse":return Mi;case"canceled":return Ns;default:return Wl}}function tT(t){const e={...t};return t.status==="consider"&&(e.vendor_flagged=!0),(t.status==="proceed"||t.status==="clear")&&(e.risk_manager_decision=Xl),t.status==="final_adverse"&&(e.risk_manager_decision=$i),t.extra&&(e.due_on=t.extra.invite_due_date),e.status=eT(t.status),e.isLegacyYardstikReport=!0,e}function sT(t,e){if(!t||!e)return[];const i=O.keyBy(e,l=>l.user.id);return t.forEach(l=>{const a=i[l.user.id];if(!a)return null;if(l.reports){const s=T.last(l.reports);if((s==null?void 0:s.status)==="expired")return null;const u=tT(s);a.reports||(a.reports=[]),a.reports.unshift(u)}return null})}function iT(t){return!!t.isLegacyYardstikReport}function aT(t,e){if(!t)return!1;const i=yt(t,e);if(!i)return!1;const l=T.last(i.reports);return l?iT(l):!1}function lT(t,e){if(t.extra.clearance_requirement_expiry_anniversary!==""){const i=t.extra.clearance_requirement_expiry_anniversary.split("-"),l=Y().month(i[1]).day(i[0]);return Y(e.completed_date).isAfter(l)&&l.add(1,"year"),l}else if(t.extra.clearance_requirement_expiry_period!==""){const i=t.extra.clearance_requirement_expiry_period.split("-"),l=parseInt(i[0],10),a=i[1];return Y(e.completed_date).add(l,a)}return null}function nT(t){var e,i;return t?!!((e=t.verification)!=null&&e.verified_at)&&(!((i=t.verification)!=null&&i.expiry_date)||Y().isBefore(t.verification.expiry_date,"day")):!1}const be={defaultBackgroundScreeningFilters:Rw,noYardstikAccountForUserMessage:Lw,tags:Di,status:Gw,yardstikStatusForDisplay:Zl,statusForTag:Nw,candidateForOfficial:yt,officialsByYardstikStatus:Xw,officialsWithTeams:Zw,appendTransformedLastYSReportToTazReports:sT,getIsYardstikLegacyOfficial:aT,getClearanceRequirementExpirationDate:lT,CLEARANCE_REQUIREMENT_STATUS_PENDING:qw,CLEARANCE_REQUIREMENT_STATUS_IN_REVIEW:Ow,CLEARANCE_REQUIREMENT_STATUS_CLEARED:Uw,isOfficialVerified:nT},rT={props:{league:{type:Object,default:()=>({})},clubVendor:{type:Object,default:()=>({})},isUsingJdp:{type:Boolean,default:null}},emits:["riskManagement"],setup(){return{isBackgroundScreening:Pe}},computed:{loading(){return this.clubVendor===null},leagueOfficials(){return this.league.league_officials||[]},screeningApplicants(){var t,e;return this.isUsingJdp?((t=this.clubVendor)==null?void 0:t.applicants)||[]:((e=this.clubVendor)==null?void 0:e.candidates)||[]},leagueClearanceRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]).filter(i=>!i.archived_at)},backgroundClearanceRequirement(){return this.leagueClearanceRequirements.find(t=>Pe(t))},officialsByStatus(){return be.officialsByYardstikStatus(this.leagueOfficials,this.screeningApplicants,this.backgroundClearanceRequirement)},unscreenedCount(){return this.officialsByStatus.unscreened.length},overdueCount(){return this.officialsByStatus.overdue.length},inProgressCount(){return this.officialsByStatus.in_progress.length},incompleteTotal(){return this.unscreenedCount+this.overdueCount+this.inProgressCount},needsConsiderationCount(){return this.officialsByStatus.consider.length},expiredCount(){return this.officialsByStatus.expired.length},expiringSoonCount(){return this.officialsByStatus.expiring_soon.length},needsReviewTotal(){return this.needsConsiderationCount+this.expiredCount+this.expiringSoonCount},clearedCount(){return this.officialsByStatus.cleared.length},notClearedCount(){return this.officialsByStatus.not_cleared.length},canceledCount(){return this.officialsByStatus.canceled.length},completedTotal(){return this.clearedCount+this.notClearedCount+this.canceledCount}}
1,methods:{showRiskManagementModal(){this.$emit("riskManagement")}}},oT={class:"columns"},dT={class:"column is-narrow"},uT={key:1,class:"background-screenings-summary columns"},cT={class:"column"},mT={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-primary"},fT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},hT={class:"dot-leader__count"},gT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},pT={class:"dot-leader__count"},_T={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},yT={class:"dot-leader__count"},vT={class:"column"},bT={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-primary"},CT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},ST={class:"dot-leader__count"},kT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},wT={class:"dot-leader__count"},TT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},xT={class:"dot-leader__count"},FT={class:"column"},AT={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-primary"},MT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},DT={class:"dot-leader__count"},RT={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},IT={class:"dot-leader__count"},ET={class:"is-font-mont has-text-weight-semibold is-text-size-7 dot-leader",style:{"margin-top":"0.5rem"}},VT={class:"dot-leader__count"};function PT(t,e,i,l,a,s){const u=c("b-button"),m=c("spinner");return d(),h("div",null,[r("div",oT,[e[1]||(e[1]=r("div",{class:"column is-font-mont has-text-weight-bold is-text-size-4",style:{"margin-bottom":"1rem"}}," Background Screenings ",-1)),r("div",dT,[s.loading?k("",!0):(d(),x(u,{key:0,onClick:s.showRiskManagementModal},{default:o(()=>[...e[0]||(e[0]=[p(" Manage Screenings ",-1)])]),_:1},8,["onClick"]))])]),s.loading?(d(),x(m,{key:0})):(d(),h("div",uT,[r("div",cT,[e[8]||(e[8]=r("div",{class:"is-font-mont has-text-weight-semibold"}," Incomplete Screenings ",-1)),r("div",mT,_(s.incompleteTotal),1),r("div",fT,[e[2]||(e[2]=r("span",{class:"dot-leader__label"},"Unscreened",-1)),e[3]||(e[3]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",hT,_(s.unscreenedCount),1)]),r("div",gT,[e[4]||(e[4]=r("span",{class:"dot-leader__label"},"Overdue",-1)),e[5]||(e[5]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",pT,_(s.overdueCount),1)]),r("div",_T,[e[6]||(e[6]=r("span",{class:"dot-leader__label"},"In Progress",-1)),e[7]||(e[7]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",yT,_(s.inProgressCount),1)])]),r("div",vT,[e[15]||(e[15]=r("div",{class:"is-font-mont has-text-weight-semibold"}," Needs Review ",-1)),r("div",bT,_(s.needsReviewTotal),1),r("div",CT,[e[9]||(e[9]=r("span",{class:"dot-leader__label"},"Needs Consideration",-1)),e[10]||(e[10]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",ST,_(s.needsConsiderationCount),1)]),r("div",kT,[e[11]||(e[11]=r("span",{class:"dot-leader__label"},"Expired",-1)),e[12]||(e[12]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",wT,_(s.expiredCount),1)]),r("div",TT,[e[13]||(e[13]=r("span",{class:"dot-leader__label"},"Expiring Soon",-1)),e[14]||(e[14]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",xT,_(s.expiringSoonCount),1)])]),r("div",FT,[e[22]||(e[22]=r("div",{class:"is-font-mont has-text-weight-semibold"}," Completed ",-1)),r("div",AT,_(s.completedTotal),1),r("div",MT,[e[16]||(e[16]=r("span",{class:"dot-leader__label"},"Cleared",-1)),e[17]||(e[17]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",DT,_(s.clearedCount),1)]),r("div",RT,[e[18]||(e[18]=r("span",{class:"dot-leader__label"},"Not Cleared",-1)),e[19]||(e[19]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",IT,_(s.notClearedCount),1)]),r("div",ET,[e[20]||(e[20]=r("span",{class:"dot-leader__label"},"Canceled",-1)),e[21]||(e[21]=r("span",{class:"dot-leader__leader"},null,-1)),r("span",VT,_(s.canceledCount),1)])])]))])}const BT=ie(rT,[["render",PT],["__scopeId","data-v-987a6355"]]),qT={components:{Modal:Qe,PasswordRevealInput:dr},props:{title:{type:String,default:"Confirm Password"},message:{type:String,default:"Confirm your password to continue."},buttonText:{type:String,default:"Confirm"}},emits:["authenticated","dismissed"],data(){return{password:""}},computed:{loginError(){return this.$store.getters.notification},passwordErrorType(){return this.loginError&&this.loginError.message?"is-danger":""},passwordErrorMessage(){return this.loginError&&this.loginError.message?this.loginError.message:""},buttonDisabled(){return this.password.length===0}},methods:{showModal(){this.$store.dispatch("clearNotification"),this.password="",this.$refs.modal.showModal()},dismissModal(){this.$emit("dismissed"),this.clearPassword(),this.$refs.modal.dismissModal()},checkPassword(){this.$store.dispatch("clearNotification"),this.$store.dispatch("confirmPassword",{email:this.$store.getters.user.email,password:this.password}).then(t=>{const e=t;return e&&(this.$emit("authenticated",Y()),this.dismissModal()),e})},clearPassword(){this.password=""},submit(){this.checkPassword()}}},OT={class:"columns"},UT={class:"column"},LT={class:"text"},GT=["disabled"];function NT(t,e,i,l,a,s){const u=c("PasswordRevealInput"),m=c("Modal");return d(),x(m,{ref:"modal",title:i.title,"has-cancel-button":"","max-width":"500px",onDismissModal:s.clearPassword},{default:o(()=>[r("div",OT,[e[3]||(e[3]=r("div",{class:"column is-narrow"},[r("img",{src:ur,alt:"Lock"})],-1)),r("div",UT,[r("div",LT,_(i.message),1)])]),r("form",{onSubmit:e[1]||(e[1]=He(f=>s.submit(),["prevent"]))},[n(u,{password:a.password,"onUpdate:password":e[0]||(e[0]=f=>a.password=f),type:s.passwordErrorType,message:s.passwordErrorMessage,"input-field-only":"",autocomplete:"current-password",label:"Password",placeholder:"Enter Password"},null,8,["password","type","message"])],32)]),footer:o(()=>[r("button",{ref:"submitButton",class:"button is-primary",disabled:s.buttonDisabled,onClick:e[2]||(e[2]=f=>s.submit())},_(i.buttonText),9,GT)]),_:1},8,["title","onDismissModal"])}const en=ie(qT,[["render",NT]]),jT={components:{Modal:Qe},props:{league:{type:Object,default:()=>{}},baseUrl:{type:String,default:""},clubVendorId:{type:Number,required:!0}},emits:["dismissModal"],setup(){const t=Se();
1return{isBackgroundScreening:Pe,toast:t}},data(){return{official:null,expDate:null,processing:!1}},computed:{yesterday(){return Y().subtract(1,"days").toDate()},leagueClearanceRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]).filter(i=>!i.archived_at)},yardstikClearanceRequirement(){return this.leagueClearanceRequirements.find(Pe)}},methods:{showModal(t){this.official=t,this.expDate=null,this.processing=!1;const{clearance_requirement_expiry_anniversary:e,clearance_requirement_expiry_period:i}=this.yardstikClearanceRequirement.extra;if(e){const l=e.split("-"),a=parseInt(l[0],10),s=parseInt(l[1],10),u=Y().set("date",a).set("month",s);this.expDate=u.isAfter(Y())?u.toDate():u.add(1,"years").toDate()}else if(i){const l=i.split("-"),a=parseInt(l[0],10),s=l[1];this.expDate=Y().add(a,s).toDate()}this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t),this.$refs.modal.dismissModal()},dateCreator:vs,formatDate:ys,markAsCleared(){this.processing=!0;const t={exp_date:this.expDate,official:this.official};Q().post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/applicants/mark_as_cleared"),t).then(()=>{this.processing=!1,this.toast.success("Candidate Cleared"),this.dismissModal({refreshData:!0})})}}},YT={class:"columns"},zT={class:"column is-narrow"},HT={class:"column"};function $T(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-datepicker"),f=c("b-button"),v=c("Modal");return d(),x(v,{ref:"modal",title:"Mark as Cleared","modal-class":"mark-clear-modal","has-cancel-button":""},{default:o(()=>[r("div",YT,[r("div",zT,[n(u,{icon:["far","check-circle"],class:"icon is-large has-text-primary"})]),r("div",HT," You are about to manually mark the background screening for "+_(a.official.display_name||"")+" as cleared. ",1)]),e[1]||(e[1]=r("div",{class:"is-font-mont has-text-weight-bold"}," Clearance Expiration Date ",-1)),n(m,{modelValue:a.expDate,"onUpdate:modelValue":e[0]||(e[0]=y=>a.expDate=y),"min-date":s.yesterday,"date-creator":s.dateCreator,"date-formatter":s.formatDate,"append-to-body":"",icon:"calendar",style:{"margin-top":"1.25rem","max-width":"150px"}},null,8,["modelValue","min-date","date-creator","date-formatter"])]),footer:o(()=>[n(f,{class:"button is-primary",loading:a.processing,onClick:s.markAsCleared},{default:o(()=>[...e[2]||(e[2]=[p(" Update Clearance ",-1)])]),_:1},8,["loading","onClick"])]),_:1},512)}const Wi=ie(jT,[["render",$T]]),WT={components:{TeamsFilterForContext:Hi,FilterSection:at,DateRangeFilter:Cl,AdvancedTeamSelection:Yi},props:{title:{type:String,default:""},officials:{type:Array,default:()=>{}},isSecondaryFilter:{type:Boolean,default:!1},showScreeningStatus:{type:Boolean,default:!1},showDueDate:{type:Boolean,default:!1},showSubmissionDate:{type:Boolean,default:!1},showExpirationStatus:{type:Boolean,default:!1},showCompletedStatus:{type:Boolean,default:!1},showExpirationDate:{type:Boolean,default:!1}},emits:["filtered","filters-cleared","teams-filtered"],data(){return{backgroundScreeningFilters:T.cloneDeep(be.defaultBackgroundScreeningFilters),filteredTeams:[],teamFiltersActive:!1,advancedFilterTeamIDs:[]}},computed:{teams(){return T.compact(T.uniqBy(T.flatMap(this.officials,"teams"),"id"))},backgroundScreeningFiltersActive(){return!!this.backgroundScreeningFilters.statuses.length||!!this.backgroundScreeningFilters.dueDateRange.start_date||!!this.backgroundScreeningFilters.dueDateRange.end_date||!!this.backgroundScreeningFilters.submissionDateRange.start_date||!!this.backgroundScreeningFilters.submissionDateRange.end_date}},watch:{backgroundScreeningFilters:{deep:!0,handler(){this.$emit("filtered",{filtered:this.backgroundScreeningFilters,filterActive:this.backgroundScreeningFiltersActive})}},advancedFilterTeamIDs(){this.emitTeamsFiltered()}},methods:{handleFiltersCleared(){this.backgroundScreeningFilters=T.cloneDeep(be.defaultBackgroundScreeningFilters),this.$emit("filters-cleared")},handleTeamsFiltered(t){this.filteredTeams=t.filtered,this.teamFiltersActive=t.filterActive,this.emitTeamsFiltered()},emitTeamsFiltered(){let t=this.teams;this.teamFiltersActive&&(t=this.filteredTeams),this.advancedFilterTeamIDs.length&&(t=t.filter(e=>this.advancedFilterTeamIDs.includes(e.id))),this.$emit("teams-filtered",{filtered:t,filterActive:this.teamFiltersActive||!T.isEmpty(this.advancedFilterTeamIDs)})}}},QT={class:"field"},JT={class:"field"},KT={class:"field"},XT={class:"field"},ZT={class:"field"},ex={class:"field"},tx={class:"field"},sx={class:"field"};function ix(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-field"),f=c("FilterSection"),v=c("DateRangeFilter"),y=c("AdvancedTeamSelection"),g=c("b-switch"),b=c("TeamsFilterForContext");return d(),x(b,{title:i.title,teams:s.teams,context:"risk_management","is-second-bottom-menu":i.isSecondaryFilter,"hide-seasons":"","show-archived-filter":!1,"show-all-archived":a.backgroundScreeningFilters.showArchivedTeams,"outer-filter-active":s.backgroundScreeningFiltersActive,onFiltered:e[14]||(e[14]=S=>s.handleTeamsFiltered(S)),onFiltersCleared:s.handleFiltersCleared},{default:o(()=>[i.showScreeningStatus?(d(),x(f,{key:0,label:"Screening Status"},{default:o(()=>[n(m,null,{default:o(()=>[r("div",QT,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[0]||(e[0]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"request sent"},{default:o(()=>[...e[15]||(e[15]=[p(" Request Sent ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",JT,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[1]||(e[1]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"processing"},{default:o(()=>[...e[16]||(e[16]=[p(" Processing ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",KT,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[2]||(e[2]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"in dispute"},{default:o(()=>[...e[17]||(e[17]=[p(" In Dispute ",-1)])]),_:1},8,["modelValue"])])]),_:1})]),_:1})):k("",!0),i.showDueDate?(d(),x(v,{key:1,modelValue:a.backgroundScreeningFilters.dueDateRange,"onUpdate:modelValue":e[3]||(e[3]=S=>a.backgroundScreeningFilters.dueDateRange=S),title:"Due Date Range"},null,8,["modelValue"])):k("",!0),i.showSubmissionDate?(d(),x(v,{key:2,modelValue:a.backgroundScreeningFilters.submissionDateRange,"onUpdate:modelValue":e[4]||(e[4]=S=>a.backgroundScreeningFilters.submissionDateRange=S),title:"Submission Date Range"},null,8,["modelValue"])):k("",!0),i.showExpirationStatus?(d(),x(f,{key:3,label:"Expiration Status"},{default:o(()=>[n(m,null,{default:o(()=>[r("div",XT,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[5]||(e[5]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"expired"},{default:o(()=>[...e[18]||(e[18]=[p(" Expired ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",ZT,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[6]||(e[6]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"expiring soon"},{default:o(()=>
1[...e[19]||(e[19]=[p(" Expiring Soon ",-1)])]),_:1},8,["modelValue"])])]),_:1})]),_:1})):k("",!0),i.showCompletedStatus?(d(),x(f,{key:4,label:"Screening Status"},{default:o(()=>[n(m,null,{default:o(()=>[r("div",ex,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[7]||(e[7]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"cleared"},{default:o(()=>[...e[20]||(e[20]=[p(" Cleared ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",tx,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[8]||(e[8]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"not cleared"},{default:o(()=>[...e[21]||(e[21]=[p(" Not Cleared ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",sx,[n(u,{modelValue:a.backgroundScreeningFilters.statuses,"onUpdate:modelValue":e[9]||(e[9]=S=>a.backgroundScreeningFilters.statuses=S),"native-value":"canceled"},{default:o(()=>[...e[22]||(e[22]=[p(" Canceled ",-1)])]),_:1},8,["modelValue"])])]),_:1})]),_:1})):k("",!0),i.showExpirationDate?(d(),x(v,{key:5,modelValue:a.backgroundScreeningFilters.expirationDateRange,"onUpdate:modelValue":e[10]||(e[10]=S=>a.backgroundScreeningFilters.expirationDateRange=S),title:"Expiration Date Range"},null,8,["modelValue"])):k("",!0)]),"bottom-content":o(()=>[n(f,{label:"Advanced",collapsible:""},{default:o(()=>[n(y,{modelValue:a.advancedFilterTeamIDs,"onUpdate:modelValue":e[11]||(e[11]=S=>a.advancedFilterTeamIDs=S),teams:s.teams,"show-autocomplete":"","autocomplete-label":"Filter By Teams"},null,8,["modelValue","teams"]),n(m,null,{default:o(()=>[n(g,{modelValue:a.backgroundScreeningFilters.showOfficialsWithNoTeams,"onUpdate:modelValue":e[12]||(e[12]=S=>a.backgroundScreeningFilters.showOfficialsWithNoTeams=S)},{default:o(()=>[...e[23]||(e[23]=[p(" Only show people without a team assigned ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(m,null,{default:o(()=>[n(g,{modelValue:a.backgroundScreeningFilters.showArchivedTeams,"onUpdate:modelValue":e[13]||(e[13]=S=>a.backgroundScreeningFilters.showArchivedTeams=S)},{default:o(()=>[...e[24]||(e[24]=[p(" Include Archived Teams ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["title","teams","is-second-bottom-menu","show-all-archived","outer-filter-active","onFiltersCleared"])}const Qi=ie(WT,[["render",ix]]),ax={components:{Modal:Qe},props:{league:{type:Object,default:()=>{}},baseUrl:{type:String,required:!0},clubVendorId:{type:Number,required:!0}},emits:["dismissModal"],setup(){return{toast:Se()}},data(){return{officials:[],dueDate:null,isSendingRequest:!1}},computed:{modalHeader(){return this.officials.length===1?"The following person will receive an email asking them to complete a background check.":"The selected ".concat(this.officials.length," people will receive an email asking them to complete a background check.")},dateHeader(){return this.officials.length===1?"Specify the latest date the person has to submit their background screening.":"Specify the latest date these people have to submit their background screening."},buttonText(){return"Send Request".concat(this.officials.length===1?"":"s")},invalid(){return this.dueDate===null},today(){return new Date}},methods:{showModal(t){this.officials=t,this.isSendingRequest=!1,this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t),this.$refs.modal.dismissModal()},officialIsCoach(t){return t.roles&&t.roles.includes("Coach")},officialIsTeamStaff(t){return t.roles&&t.roles.includes("Manager")},dateCreator:vs,formatDate:ys,sendRequests(){this.isSendingRequest=!0;const t={due_date:this.dueDate,officials:this.officials};Q({showError:!1}).post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/applicants/invite"),t).then(()=>
1{this.toast.success("Background Screening Request Sent"),this.dismissModal({refreshData:!0})}).catch(e=>{e.response.status===403?this.toast.error(be.noYardstikAccountForUserMessage):this.toast.error(e.response.data.error),this.dismissModal()}).finally(()=>{this.isSendingRequest=!1})}}},lx={key:0,style:{"margin-top":"1rem"}},nx={class:"is-font-mont has-text-weight-semibold",style:{"margin-left":"1rem"}};function rx(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-tag"),f=c("b-datepicker"),v=c("b-button"),y=c("Modal");return d(),x(y,{ref:"modal",title:"Send Screening Request"},{default:o(()=>[r("div",null,[r("div",null,_(s.modalHeader),1),a.officials.length===1?(d(),h("div",lx,[n(u,{icon:["far","user-circle"],class:"has-text-primary"}),r("span",nx,_(a.officials[0].display_name),1),s.officialIsCoach(a.officials[0])?(d(),x(m,{key:0,class:"role-tag",style:{"max-height":"1.5rem","margin-left":"1rem"}},{default:o(()=>[...e[1]||(e[1]=[p(" Coach ",-1)])]),_:1})):k("",!0),s.officialIsTeamStaff(a.officials[0])?(d(),x(m,{key:1,class:"role-tag",style:{"max-height":"1.5rem","margin-left":"1rem"}},{default:o(()=>[...e[2]||(e[2]=[p(" Team Staff ",-1)])]),_:1})):k("",!0)])):k("",!0),e[3]||(e[3]=r("hr",null,null,-1)),e[4]||(e[4]=r("div",{class:"is-font-mont is-text-size-5 has-text-weight-bold"}," Set Due Date ",-1)),r("div",null,_(s.dateHeader),1),n(f,{modelValue:a.dueDate,"onUpdate:modelValue":e[0]||(e[0]=g=>a.dueDate=g),"min-date":s.today,"append-to-body":"","date-creator":s.dateCreator,"date-formatter":s.formatDate,icon:"calendar",style:{"margin-top":"1.25rem","max-width":"150px"}},null,8,["modelValue","min-date","date-creator","date-formatter"])])]),footer:o(()=>[n(v,{class:"button is-primary",disabled:s.invalid,loading:a.isSendingRequest,onClick:s.sendRequests},{default:o(()=>[p(_(s.buttonText),1)]),_:1},8,["disabled","loading","onClick"])]),_:1},512)}const Ji=ie(ax,[["render",rx]]),ox={components:{FullScreenModal:Pt,FormModalHeader:zs},props:{clubVendorId:{type:Number,required:!0}},emits:["dismissed"],setup(){return{toast:Se()}},data(){return{iframeData:{}}},computed:{loading(){return T.isEmpty(this.iframeData)}},methods:{showModal(t){this.iframeData={},this.report=null,this.fetchIFrameData().then(()=>{this.report=new vn.Yardstik.CandidateReportIframe({reportId:t,container:this.$refs.reportIFrame,width:window.innerWidth,height:window.innerHeight-100,...this.iframeData})}),this.$refs.modal.show()},dismissModal(){this.$emit("dismissed"),this.$refs.modal.dismiss()},fetchIFrameData(){return Q({showError:!1}).get("/club_admin/club_background_checkers/".concat(this.clubVendorId,"/iframe_data")).then(t=>{this.iframeData=t.data}).catch(t=>{t.response.status===403?this.toast.error(be.noYardstikAccountForUserMessage):this.toast.error(t.response.data.error),this.dismissModal()})}}},dx={ref:"reportIFrame"};function ux(t,e,i,l,a,s){const u=c("FormModalHeader"),m=c("spinner"),f=c("FullScreenModal");return d(),x(f,{ref:"modal"},{header:o(()=>[n(u,{title:"View Screening Report","wide-form":"",onDismiss:s.dismissModal},null,8,["onDismiss"])]),default:o(()=>[s.loading?(d(),x(m,{key:0})):k("",!0),r("div",dx,null,512)]),_:1},512)}const tn=ie(ox,[["render",ux]]),cx={props:{data:{type:Object,default:()=>{}},currentUserIsRiskmanager:{type:Boolean,default:!1},showMoreGranularStatuses:{type:Boolean,default:!1}},computed:{tagData(){return!this.currentUserIsRiskmanager&&this.data.text==="Not Cleared"?be.tags.needs_consideration:!this.showMoreGranularStatuses&&(this.data.text==="Unscreened"||this.data.text==="Overdue"||this.data.text==="Processing"||this.data.text==="Request Sent")?be.tags.incomplete:this.data}}};function mx(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-tag");return d(),x(m,{rounded:"",class:Ce(["clearance-tag",s.tagData.class])},{default:o(()=>[s.tagData.icon?(d(),x(u,{key:0,icon:s.tagData.icon,class:"clearance-icon mr-1"},null,8,["icon"])):k("",!0),r("span",null,_(s.tagData.text),1)]),_:1},8,["class"])}const qt=ie(cx,[["render",mx],["__scopeId","data-v-adaa4c2a"]]),fx={components:{TiptapEditor:xl,BaseModal:pt,ComposeAttachments:Fl},props:{genericRecipientLabel:{type:Boolean,default:!1}},emits:["dismissed"],setup(){return{toast:Se(),TIPTAP_TOOLBAR_COMPOSE_SIMPLE:cr}},data(){return{message:"",subject:"",recipients:null,type:"",attachments:[]}},computed:{invalid(){return ze.isWYSIWYGEditorEmpty(this.message)||this.subject===""||!this.recipients||this.recipients.length===0},recipientText(){return this.genericRecipientLabel?"".concat(this.recipients.length," ").concat(this.recipients.length===1?"Person":"People"," Selected"):this.type==="Coaches"?"".concat(this.recipients.length," Coach").concat(this.recipients.length===1?"":"es"," Selected"):"".concat(this.recipients.length," Team Staff Selected")},messageObject(){return{title:this.subject,body:this.message,bcc_list:this.recipients,send_now:!0,extra:{attachments:this.attachments}}}},methods:{show(t,e){this.subject="",this.message="",this.attachments=[],this.recipients=t,this.type=e,this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$refs.modal.close(t),this.$emit("dismissed",t)},sendMessage(){Q().post("/comm/messages",this.messageObject).then(()=>{this.toast.success("Message Sent"),this.dismissModal({refreshData:!0})})}}},hx={key:0},gx={class:"recipients"},px=["disabled"];function _x(t,e,i,l,a,s){const u=c("b-input"),m=c("b-field"),f=c("TiptapEditor"),v=c("ComposeAttachments"),y=c("BaseModal");return d(),h("div",null,[n(y,{ref:"modal",title:"Compose Message",class:"message-officials"},{footer:o(()=>[r("button",{disabled:s.invalid,class:"button is-primary",onClick:e[3]||(e[3]=g=>s.sendMessage())}," Send ",8,px)]),default:o(()=>[a.recipients?(d(),h("div",hx,[r("p",gx,"BCC: "+_(s.recipientText),1),n(m,{label:"Subject"},{default:o(()=>[n(u,{modelValue:a.subject,"onUpdate:modelValue":e[0]||(e[0]=g=>a.subject=g),required:"",expanded:""},null,8,["modelValue"])]),_:1}),n(m,{label:"Message"},{default:o(()=>[n(f,{modelValue:a.message,"onUpdate:modelValue":e[1]||(e[1]=g=>a.message=g),toolbar:t.$store.getters.isMobile?null:l.TIPTAP_TOOLBAR_COMPOSE_SIMPLE},null,8,["modelValue","toolbar"])]),_:1}),n(v,{modelValue:a.attachments,"onUpdate:modelValue":e[2]||(e[2]=g=>a.attachments=g)},null,8,["modelValue"])])):k("",!0)]),_:1},512)])}const Cs=ie(fx,[["render",_x],["__scopeId","data-v-0a820bb7"]]),yx={components:{SelectionToolbar:_t,SendScreeningRequestModal:Ji,MessageOfficials:Cs,RiskManagementFilters:Qi,ManuallyMarkAsClearedModal:Wi,ModalConfirm:Hs,ConfirmPasswordToContinue:en,ViewYardstikReport:tn,ClearanceStatusTag:qt},inject:["refresh"],props:{league:{type:Object,required:!0},baseUrl:{type:String,required:!0},usingJdp:{type:Boolean,required:!0},clubVendorId:{type:Number,required:!0},yardstikCandidates:{type:Array,default:()=>[]}}
1,emits:["refresh"],setup(){return{toast:Se(),isBackgroundScreening:Pe}},data(){return{selectedOfficials:[],searchQuery:"",roleFilter:"All Roles",filteredTeams:[],teamFiltersActive:!1,backgroundScreeningFilters:T.cloneDeep(be.defaultBackgroundScreeningFilters),backgroundScreeningFiltersActive:!1,officialForAction:{},newExpDate:null}},computed:{isArchived(){return!!this.league.archived_at},clearedCount(){return this.officialsThatAreCleared.length},notClearedCount(){return this.officialsThatAreNotCleared.length},canceledCount(){return this.officialsThatAreCanceled.length},loggedInAsOtherUser(){return this.$store.getters.isAccessKeyOveridden},tableTitleText(){return"".concat(this.officialsForTable.length," Completed Screening").concat(this.officialsForTable.length===1?"":"s")},leagueOfficialsWithTeams(){return be.officialsWithTeams(this.league)},leagueClearanceRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]).filter(i=>!i.archived_at)},screeningClearanceRequirement(){return this.leagueClearanceRequirements.find(t=>Pe(t))},officialsByStatus(){return be.officialsByYardstikStatus(this.leagueOfficialsWithTeams,this.yardstikCandidates,this.screeningClearanceRequirement)},officialsThatAreCleared(){return this.officialsByStatus.cleared},officialsThatAreNotCleared(){return this.officialsByStatus.not_cleared},officialsThatAreCanceled(){return this.officialsByStatus.canceled},filteredTeamIDs(){return T.map(this.filteredTeams,"id")},expirationDateFilterActive(){return this.backgroundScreeningFilters.expirationDateRange.start_date||this.backgroundScreeningFilters.expirationDateRange.end_date},officialsForTable(){let t=this.officialsThatAreCleared;return t=t.concat(this.officialsThatAreNotCleared),t=t.concat(this.officialsThatAreCanceled),t=t.filter(e=>(this.searchQuery===""||e.display_name.toLowerCase().includes(this.searchQuery.toLowerCase())||e.teams.some(i=>i.name.toLowerCase().includes(this.searchQuery.toLowerCase())))&&(this.roleFilter==="All Roles"||this.rolesForOfficial(e).includes(this.roleFilter))&&(!this.teamFiltersActive||e.teams.some(i=>this.filteredTeamIDs.includes(i.id)))&&(!this.backgroundScreeningFilters.showOfficialsWithNoTeams||e.teams.length===0)&&(this.backgroundScreeningFilters.statuses.length===0||this.backgroundScreeningFilters.statuses.includes(this.statusForOfficial(e).toLowerCase()))&&(!this.expirationDateFilterActive||Y(this.expDateForOfficial(e)).isBetween(Y(this.backgroundScreeningFilters.expirationDateRange.start_date||Y().subtract(100,"years")),Y(this.backgroundScreeningFilters.expirationDateRange.end_date||Y().add(100,"years")),void 0,"[]"))),t=T.sortBy(t,["last_name","first_name"]),t=t.map(e=>({official:e,id:e.user_id,name:e.display_name,teams:this.teamsForOfficial(e),role:this.rolesForOfficial(e),completionDate:this.completionDateForOfficial(e),expDate:this.expDateForOfficial(e),status:this.statusForOfficial(e)})),t},checkedRows:{get(){return this.selectedOfficials},set(t){this.selectedOfficials=t}},roleFilters(){return["All Roles","Coach","Team Staff"]},adjustExpDateText(){return!T.isEmpty(this.officialForAction)||this.selectedOfficials.length===1?"Set the date when the clearance should expire.":"Set the date when these clearances should expire."},today(){return new Date},doubleAuthenticationTimestamp(){return this.$store.getters.doubleAuthenticationTimestamp}},methods:{resetTableAndFilters(t){this.selectedOfficials=[],this.$refs.completeBackgroundScreeningsTable&&(this.$refs.completeBackgroundScreeningsTable.searchQuery=t||""),this.roleFilter="All Roles"},isRowChecked(t,e){return t.id===e.id},teamsForOfficial(t){return t.teams.map(e=>e.name).join(", ")},rolesForOfficial(t){const e=[];return t.roles.forEach(i=>{i==="Manager"?e.push("Team Staff"):e.push(i)}),e.join(", ")},candidateForOfficial(t){return be.candidateForOfficial(t,this.yardstikCandidates)},statusForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id];return be.yardstikStatusForDisplay(e==null?void 0:e.reports,this.screeningClearanceRequirement,i,this.usingJdp)},statusTagForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id?t.clearance_requirements_by_id[this.screeningClearanceRequirement.i
1d]:{};return be.statusForTag(i,this.screeningClearanceRequirement,e==null?void 0:e.reports,this.usingJdp)},expDateForOfficial(t){const e=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id];return e!=null&&e.expiry_date?Y(e.expiry_date).format("MMM D, YYYY"):"-"},completionDateForOfficial(t){const e=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id],i=this.statusForOfficial(t);if(i==="Cleared")return e?Y(e.completed_date).format("MMM D, YYYY"):"-";if(i==="Canceled"){const l=this.candidateForOfficial(t),a=tt(this.screeningClearanceRequirement,l==null?void 0:l.reports);return a&&a.extra&&Y(a.extra.cancellation_date).format("MMM D, YYYY")||"-"}return"-"},sendScreeningRequest(t){let e=[];t?e=[t]:e=T.map(this.selectedOfficials,i=>i.official),this.$refs.sendScreeningRequestModal.showModal(e)},handleScreeningRequestSent(){this.$emit("refresh"),this.refresh({reload:!1}),this.resetTableAndFilters()},sendMessage(t){let e=[];t?e=["".concat(t.roles.includes("Coach")?"coach":"manager","_").concat(t.id)]:e=T.map(this.selectedOfficials,i=>"".concat(i.official.roles.includes("Coach")?"coach":"manager","_").concat(i.official.id)),this.$refs.messageOfficials.show(e)}
1,markOfficialAsCleared(t){this.$refs.manuallyMarkAsClearedModal.showModal(t)},handleMarkAsClearDismissed(t={refreshData:!1}){t.refreshData&&(this.$emit("refresh"),this.refresh({reload:!1}),this.selectedOfficials=[])},showReportForNotClearOfficial(t){const e=this.candidateForOfficial(t),i=tt(this.screeningClearanceRequirement,e==null?void 0:e.reports);return i&&(i.status==="pre_adverse"||i.extra&&Y(i.extra.not_cleared_date).add(90,"days").isAfter(Y()))},adjustExpDate(t){t?(this.newExpDate=Y(t.clearance_requirements_by_id[this.screeningClearanceRequirement.id].expiry_date).toDate(),this.officialForAction=t):(this.newExpDate=null,this.selectedOfficials.map(i=>i.official).forEach(i=>{const l=Y(i.clearance_requirements_by_id[this.screeningClearanceRequirement.id].expiry_date);this.newExpDate===null?this.newExpDate=l.toDate():l.isAfter(Y(this.newExpDate))&&(this.newExpDate=l.toDate())}),this.officialForAction={}),this.$refs.adjustExpDateModal.showModal({title:"Adjust Expiration Date",type:"is-primary",confirmText:"Save Date",onConfirm:()=>{this.doAdjustExpDate()}})},doAdjustExpDate(){const t={new_exp_date:this.newExpDate};T.isEmpty(this.officialForAction)?t.officials=this.selectedOfficials.map(e=>e.official):t.officials=[this.officialForAction],Q().post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/applicants/adjust_exp_date"),t).then(()=>{this.toast.success("Expiration Date".concat(T.isEmpty(this.officialForAction)?"s":""," Updated")),this.$emit("refresh"),this.refresh({reload:!1}),T.isEmpty(this.officialForAction)&&(this.selectedOfficials=[])})},viewReport(t){this.officialForAction=t,!this.usingJdp&&(!this.doubleAuthenticationTimestamp||Y(this.doubleAuthenticationTimestamp).add(30,"minutes").isBefore(Y()))?this.$refs.confirmPassword.showModal():this.showReport()},handleSuccessfulAuthentication(){this.$store.dispatch("successfulRiskManagerAuthentication",{timestamp:Y(),leagueID:this.league.id}),this.showReport(!1)},showReport(t=!0){t&&this.$store.dispatch("successfulRiskManagerAuthentication",{timestamp:Y(),leagueID:this.league.id});const e=this.candidateForOfficial(this.officialForAction),i=tt(this.screeningClearanceRequirement,e==null?void 0:e.reports);this.usingJdp?i&&i.report_link?window.open(i.report_link,"_blank"):i&&i.isLegacyYardstikReport?this.$refs.viewYardstikReport.showModal(i.vendor_id):this.toast.error("Unable to find JDP Report. Please try again later."):this.$refs.viewYardstikReport.showModal(i.vendor_id)},handleReportClosed(){this.officialForAction={},this.$emit("refresh")},dateCreator:vs,formatDate:ys}},vx={class:"complete-background-screenings"},bx={class:"columns"},Cx={class:"column"},Sx={class:"summary-box"},kx={class:"columns",style:{"margin-bottom":"0"}},wx={class:"column is-font-mont has-text-weight-semibold"},Tx={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-primary"},xx={class:"column"},Fx={class:"summary-box"},Ax={class:"columns",style:{"margin-bottom":"0"}},Mx={class:"column is-font-mont has-text-weight-semibold"},Dx={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-danger"},Rx={class:"column"},Ix={class:"summary-box"},Ex={class:"columns",style:{"margin-bottom":"0"}},Vx={class:"column is-font-mont has-text-weight-semibold"},Px={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-primary"},Bx={class:"button roles-filter-button"},qx={key:1,class:"title__subsection is-marginless is-flex",style:{height:"52.5px","align-items":"center"}},Ox={key:0},Ux={key:0,class:"is-underline disabled-link"},Lx=["onClick"],Gx={"aria-label":"Actions"},Nx={class:"is-italic has-text-blue-slate-light"};function jx(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-tooltip"),f=c("b-dropdown-item"),v=c("b-dropdown"),y=c("SelectionToolbar"),g=c("b-table-column"),b=c("ClearanceStatusTag"),S=c("BaseTable"),F=c("SendScreeningRequestModal"),w=c("MessageOfficials"),C=c("RiskManagementFilters"),D=c("ManuallyMarkAsClearedModal"),B=c("b-datepicker"),N=c("ModalConfirm"),M=c("ConfirmPasswordToContinue"),I=c("ViewYardstikReport");return d(),h("div",vx,[r("div",bx,[r("div",Cx,[r("div",Sx,[r("div",kx,[r("div",wx,[e[8]||(e[8]=p(" Cleared ",-1)),n(m,{label:"The number of people whose background screening results have been cleared to participate in this league.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",Tx,_(s.clearedCount||"-"),1)])]),r("div",xx,[r("div",Fx,[r("div",Ax,[r("div",Mx,[e[9]||(e[9]=p(" Not
1Cleared ",-1)),n(m,{label:"The number of people whose background screening resulted in them not being cleared to participate in this league.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",Dx,_(s.notClearedCount||"-"),1)])]),r("div",Rx,[r("div",Ix,[r("div",Ex,[r("div",Vx,[e[10]||(e[10]=p(" Canceled ",-1)),n(m,{label:"The number of people whose background screening requests have been canceled.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",Px,_(s.canceledCount||"-"),1)])])]),n(S,{ref:"completeBackgroundScreeningsTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[1]||(e[1]=V=>s.checkedRows=V),name:"completeBackgroundScreenings",class:"complete-background-screenings-table",data:s.officialsForTable,checkable:"",searchable:"",filterable:"","custom-is-checked":s.isRowChecked,"use-secondary-filter-menu":"","filters-active":a.teamFiltersActive||a.backgroundScreeningFiltersActive,"empty-message":"No Results Found",onQueryUpdated:e[2]||(e[2]=V=>a.searchQuery=V)},{"header-right-item":o(()=>[n(v,null,{trigger:o(()=>[r("button",Bx,[p(_(a.roleFilter)+" ",1),n(u,{icon:["fas","angle-down"],style:{"margin-left":"0.5rem"}})])]),default:o(()=>[(d(!0),h(G,null,ue(s.roleFilters,V=>(d(),x(f,{key:V,onClick:P=>a.roleFilter=V},{default:o(()=>[p(_(V),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),"table-header":o(()=>[a.selectedOfficials.length>0?(d(),x(y,{key:0,"checked-rows":a.selectedOfficials,actions:[{text:"Message Accounts"}],onCtaClicked:s.sendMessage,onOnCancel:e[0]||(e[0]=V=>a.selectedOfficials=[])},null,8,["checked-rows","onCtaClicked"])):(d(),h("p",qx,_(s.tableTitleText),1))]),default:o(()=>[n(g,{field:"name",label:"Name",sortable:""},{default:o(({row:V})=>[p(_(V.name),1)]),_:1}),n(g,{field:"teams",label:"Teams",sortable:""},{default:o(({row:V})=>[p(_(V.teams),1)]),_:1}),n(g,{field:"role",label:"Role",sortable:""},{default:o(({row:V})=>[p(_(V.role),1)]),_:1}),n(g,{field:"completionDate",label:"Completion Date",sortable:""},{default:o(({row:V})=>[p(_(V.completionDate),1)]),_:1}),n(g,{field:"expDate",label:"Expiration Date",sortable:""},{default:o(({row:V})=>[p(_(V.expDate),1)]),_:1}),n(g,{visible:!i.usingJdp,field:"report",label:"Report"},{default:o(({row:V})=>[!s.isArchived&&s.statusForOfficial(V.official)==="Not Cleared"&&s.showReportForNotClearOfficial(V.official)?(d(),h("span",Ox,[s.loggedInAsOtherUser?(d(),h("span",Ux," View Report ")):(d(),h("a",{key:1,onClick:P=>s.viewReport(V.official)}," View Report ",8,Lx))])):k("",!0)]),_:1},8,["visible"]),n(g,{field:"status",label:"Status",sortable:"",centered:""},{default:o(({row:V})=>[n(b,{data:s.statusTagForOfficial(V.official),"current-user-is-riskmanager":"","show-more-granular-statuses":""},null,8,["data"])]),_:1}),n(g,{field:"actions",label:"Actions",centered:""},{default:o(({row:V})=>[n(v,null,{trigger:o(()=>[r("a",Gx,[n(u,{icon:["far","ellipsis-h"],"aria-label":"View Actions"})])]),default:o(()=>[V.status==="Canceled"&&!s.isArchived?(d(),x(f,{key:0,onClick:P=>s.sendScreeningRequest(V.official)},{default:o(()=>[...e[11]||(e[11]=[p(" Send Screening Request ",-1)])]),_:1},8,["onClick"])):k("",!0),n(f,{onClick:P=>s.sendMessage(V.official)},{default:o(()=>[...e[12]||(e[12]=[p(" Message Account ",-1)])]),_:1},8,["onClick"]),V.status==="Cleared"&&!s.isArchived?(d(),x(f,{key:1,onClick:P=>s.adjustExpDate(V.official)},{default:o(()=>[...e[13]||(e[13]=[p(" Adjust Expiration Date ",-1)])]),_:1},8,["onClick"])):k("",!0),(V.status==="Not Cleared"||V.status==="Canceled")&&!s.isArchived?(d(),h(G,{key:2},[e[15]||(e[15]=r("hr",{style:{margin:"0.25rem 0"}},null,-1)),n(f,{onClick:P=>s.markOfficialAsCleared(V.official)},{default:o(()=>[...e[14]||(e[14]=[p(" Mark as Cleared ",-1)])]),_:1},8,["onClick"])],64)):k("",!0)]),_:2},1024)]),_:1})]),_:1},8,["checked-rows","data","custom-is-checked","filters-active"]),n(F,{ref:"sendScreeningRequestModal",league:i.league,"base-url":i.baseUrl,"club-vendor-id":i.clubVendorId,onDismissModal:s.handleScreeningRequestSent},null,8,["league","base-url","club-vendor-id","onDismissModal"]),n(w,{ref:"messageOfficials","generic-recipient-label":""},null,512),n(C,{title:"Filter Officials",officials:s.leagueOfficialsWithTeams,"is-secondary-filter":"","show-completed-status":"","show-expiration-date":"",onTeamsFiltered:e[3]||(e[3]=V=>{a.filteredTeams=V.filtered,a.teamFiltersActive=V.filterActive}),onFiltered:e[4]||(e[4]=V=>{a.backgroundScreeningFilters=V.filtered,a.backgroundScreeningFiltersActive=V.filterActive})}
1,null,8,["officials"]),n(D,{ref:"manuallyMarkAsClearedModal",league:i.league,"base-url":i.baseUrl,"club-vendor-id":i.clubVendorId,onDismissModal:e[5]||(e[5]=V=>s.handleMarkAsClearDismissed(V))},null,8,["league","base-url","club-vendor-id"]),n(N,{ref:"adjustExpDateModal",class:"adjust-exp-date-modal allow-overflow"},{default:o(()=>[r("p",Nx,_(s.adjustExpDateText),1),n(B,{modelValue:a.newExpDate,"onUpdate:modelValue":e[6]||(e[6]=V=>a.newExpDate=V),"min-date":s.today,"date-creator":s.dateCreator,"date-formatter":s.formatDate,icon:"calendar",style:{"margin-top":"1.25rem","max-width":"150px"}},null,8,["modelValue","min-date","date-creator","date-formatter"])]),_:1},512),n(M,{ref:"confirmPassword",class:"confirm-password-modal",message:"In order to view your league's screening results, please enter your password.",onAuthenticated:e[7]||(e[7]=V=>s.handleSuccessfulAuthentication())},null,512),n(I,{ref:"viewYardstikReport","club-vendor-id":i.clubVendorId,onDismissed:s.handleReportClosed},null,8,["club-vendor-id","onDismissed"])])}const Yx=ie(yx,[["render",jx],["__scopeId","data-v-d78f1613"]]),Ta="Send Screening Request",xa="Message Accounts",Fa="Adjust Due Date",Aa="Cancel Screening",zx={components:{SelectionToolbar:_t,SendScreeningRequestModal:Ji,MessageOfficials:Cs,RiskManagementFilters:Qi,ManuallyMarkAsClearedModal:Wi,ModalConfirm:Hs,ClearanceStatusTag:qt},inject:["refresh"],props:{league:{type:Object,required:!0},yardstikCandidates:{type:Array,default:()=>[]},usingJdp:{type:Boolean,required:!0},clubVendorId:{type:Number,required:!0},baseUrl:{type:String,required:!0}},emits:["refresh"],setup(){return{toast:Se(),isBackgroundScreening:Pe}},data(){return{activeTabIndex:0,selectedOfficials:[],searchQuery:"",roleFilter:"All Roles",filteredTeams:[],teamFiltersActive:!1,backgroundScreeningFilters:T.cloneDeep(be.defaultBackgroundScreeningFilters),backgroundScreeningFiltersActive:!1,officialForAction:{},notifyOfCancellation:!1,cancellationMessage:"",newDueDate:null}},computed:{isArchived(){return!!this.league.archived_at},unscreenedCount(){return this.officialsThatAreUnscreened.length},overdueCount(){return this.officialsThatAreOverdue.length},inProgressCount(){return this.officialsThatAreInProgress.length},tabs(){return["Unscreened","Overdue","In Progress"]},activeTab(){return this.tabs[this.activeTabIndex]},tableTitleText(){const t=this.officialsForTable.length;return this.activeTab==="Unscreened"?t===1?"".concat(t," Unscreened Person"):"".concat(t," Unscreened People"):this.activeTab==="Overdue"?"".concat(t," Overdue Screening").concat(t===1?"":"s"):this.activeTab==="In Progress"?"".concat(t," In-Progress Screening").concat(t===1?"":"s"):""},leagueOfficialsWithTeams(){return be.officialsWithTeams(this.league)},leagueClearanceRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]).filter(i=>!i.archived_at)},screeningClearanceRequirement(){return this.leagueClearanceRequirements.find(t=>Pe(t))},officialsByStatus(){return be.officialsByYardstikStatus(this.leagueOfficialsWithTeams,this.yardstikCandidates,this.screeningClearanceRequirement)},officialsThatAreUnscreened(){return this.officialsByStatus.unscreened},officialsThatAreOverdue(){return this.officialsByStatus.overdue},officialsThatAreInProgress(){return this.officialsByStatus.in_progress},filteredTeamIDs(){return T.map(this.filteredTeams,"id")},dueDateFilterActive(){return this.backgroundScreeningFilters.dueDateRange.start_date||this.backgroundScreeningFilters.dueDateRange.end_date},submissionDateFilterActive(){return this.backgroundScreeningFilters.submissionDateRange.start_date||this.backgroundScreeningFilters.submissionDateRange.end_date},officialsForTable(){let t=[];return this.activeTab==="Unscreened"?t=this.officialsThatAreUnscreened:this.activeTab==="Overdue"?t=this.officialsThatAreOverdue:this.activeTab==="In Progress"&&(t=this.officialsThatAreInProgress),t=t.filter(e=>(this.searchQuery===""||e.display_name.toLowerCase().includes(this.searchQuery.toLowerCase())||e.teams.some(i=>i.name.toLowerCase().includes(this.searchQuery.toLowerCase())))&&(this.roleFilter==="All Roles"||this.rolesForOfficial(e).includes(this.roleFilter))&&(!this.teamFiltersActive||e.teams.some(i=>this.filteredTeamIDs.includes(i.id)))&&(!this.backgroundScreeningFilters.showOfficialsWithNoTeams||e.teams.length===0)&&(this.activeTab==="Unscreened"||this.activeTab==="Overdue"||this.backgroundScreeningFilters.statuses.length===0||this.backgroundScreeningFilters.statuses.includes(this.statusForOfficial(e).toLowerCase()))&&
1(this.activeTab==="Unscreened"||!this.dueDateFilterActive||Y(this.dueDateForOfficial(e)).isBetween(Y(this.backgroundScreeningFilters.dueDateRange.start_date||Y().subtract(100,"years")),Y(this.backgroundScreeningFilters.dueDateRange.end_date||Y().add(100,"years")),void 0,"[]"))&&(this.activeTab==="Unscreened"||this.activeTab==="Overdue"||!this.submissionDateFilterActive||Y(this.submissionDateForOfficial(e)).isBetween(Y(this.backgroundScreeningFilters.submissionDateRange.start_date||Y().subtract(100,"years")),Y(this.backgroundScreeningFilters.submissionDateRange.end_date||Y().add(100,"years")),void 0,"[]"))),t=T.sortBy(t,["last_name","first_name"]),t=t.map(e=>({official:e,id:e.user_id,name:e.display_name,teams:this.teamsForOfficial(e),role:this.rolesForOfficial(e),dueDate:this.dueDateForOfficial(e),submissionDate:this.submissionDateForOfficial(e)})),t},checkedRows:{get(){return this.selectedOfficials},set(t){this.selectedOfficials=t}},roleFilters(){return["All Roles","Coach","Team Staff"]},notifyOfCancelText(){return T.isEmpty(this.officialForAction)?"Notify ".concat(this.selectedOfficials.length," ").concat(this.selectedOfficials.length===1?"person":"people"," of cancellation"):"Notify ".concat(this.officialForAction.display_name," of cancellation")},adjustDueDateText(){return!T.isEmpty(this.officialForAction)||this.selectedOfficials.length===1?"Set the date that the screening request is due. The candidate will no longer able to submit their background screening after this date unless you adjust it later on.":"Set the date that the screening requests are due. The candidates will no longer able to submit their background screenings after this date unless you adjust it later on."},today(){return new Date},selectionToolbarActions(){const t=[];return this.activeTab==="Unscreened"&&!this.isArchived&&t.push({text:Ta}),t.push({text:xa}),this.activeTab==="Overdue"&&!this.isArchived&&t.push({text:Fa}),this.activeTab==="Overdue"&&!this.isArchived&&t.push({text:Aa}),t}},methods:{resetTableAndFilters(t){this.selectedOfficials=[],this.$refs.incompleteBackgroundScreeningsTable&&(this.$refs.incompleteBackgroundScreeningsTable.searchQuery=t&&t.name||""),this.roleFilter="All Roles",t&&(t.status==="Overdue"?this.activeTabIndex=this.tabs.findIndex(e=>e==="Overdue"):(t.status==="Request Sent"||t.status==="Processing"||t.status==="In Dispute")&&(this.activeTabIndex=this.tabs.findIndex(e=>e==="In Progress")))},isRowChecked(t,e){return t.id===e.id},teamsForOfficial(t){return t.teams.map(e=>e.name).join(", ")},rolesForOfficial(t){const e=[];return t.roles.forEach(i=>{i==="Manager"?e.push("Team Staff"):e.push(i)}),e.join(", ")},candidateForOfficial(t){return be.candidateForOfficial(t,this.yardstikCandidates)},statusForOfficial(t){const e=this.candidateForOfficial(t);return(e==null?void 0:e.reports)&&be.yardstikStatusForDisplay(e.reports,this.screeningClearanceRequirement,null,this.usingJdp)},statusTagForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id?t.clearance_requirements_by_id[this.screeningClearanceRequirement.id]:{};return be.statusForTag(i,this.screeningClearanceRequirement,e==null?void 0:e.reports,this.usingJdp)},dueDateForOfficial(t){const e=this.candidateForOfficial(t),i=tt(this.screeningClearanceRequirement,e==null?void 0:e.reports);let l=i&&i.due_on;return l||(l=(i==null?void 0:i.extra)&&i.extra.invite_due_date),l?Y(l).format("MMM D, YYYY"):"-"},submissionDateForOfficial(t){const e=this.candidateForOfficial(t),i=tt(this.screeningClearanceRequirement,e==null?void 0:e.reports),l=i==null?void 0:i.extra;return l&&l.submission_date?Y(l.submission_date).format("MMM D, YYYY"):"-"},selectionToolbarCta(t){t.text===Ta?this.sendScreeningRequest():t.text===xa?this.sendMessage():t.text===Fa?this.adjustDueDate():t.text===Aa&&this.cancelScreening()},sendScreeningRequest(t){let e=[];t?e=[t]:e=T.map(this.selectedOfficials,i=>i.official),this.$refs.sendScreeningRequestModal.showModal(e)},handleScreeningRequestSent(){this.$emit("refresh"),this.selectedOfficials=[]},sendMessage(t){let e=[];
1t?e=["".concat(t.roles.includes("Coach")?"coach":"manager","_").concat(t.id)]:e=T.map(this.selectedOfficials,i=>"".concat(i.official.roles.includes("Coach")?"coach":"manager","_").concat(i.official.id)),this.$refs.messageOfficials.show(e)},markOfficialAsCleared(t){this.$refs.manuallyMarkAsClearedModal.showModal(t)},handleMarkAsClearDismissed(t={refreshData:!1}){t.refreshData&&(this.refresh({reload:!1}),this.selectedOfficials=[])},adjustDueDate(t){this.newDueDate=Y().add(1,"days").toDate(),t?this.officialForAction=t:this.officialForAction={},this.$refs.adjustDueDateModal.showModal({title:"Adjust Due Date",type:"is-primary",confirmText:"Save Date",onConfirm:()=>{this.doAdjustDueDate()}})},doAdjustDueDate(){const t={new_due_date:this.newDueDate};T.isEmpty(this.officialForAction)?t.officials=this.selectedOfficials.map(e=>e.official):t.officials=[this.officialForAction],Q({showError:!1}).post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/applicants/adjust_due_date"),t).then(()=>{this.toast.success("Due Date".concat(T.isEmpty(this.officialForAction)?"s":""," Updated")),this.$emit("refresh"),this.selectedOfficials=[]}).catch(e=>{e.response.status===403?this.toast.error(be.noYardstikAccountForUserMessage):this.toast.error(e.response.data.error),this.$refs.adjustDueDateModal.dismissModal()})},cancelScreening(t){t?(this.officialForAction=t,this.notifyOfCancellation=!1,this.$refs.cancelModal.showModal({title:"Cancel Screening Request",message:"You are about to cancel the screening request for ".concat(this.officialForAction.display_name,". This will no longer allow this person to submit a background screening for this league.<br><br>Are you sure you want to continue?"),icon:"info-circle",type:"is-danger",confirmText:"Yes, Cancel Screening",onConfirm:()=>{this.doCancelScreening()}})):(this.officialForAction={},this.notifyOfCancellation=!1,this.$refs.cancelModal.showModal({title:"Cancel Screening Requests",message:"You are about to cancel the screening request for ".concat(this.selectedOfficials.length," people. This will no longer allow these people to submit a background screening for this league.<br><br>Are you sure you want to continue?"),icon:"info-circle",type:"is-danger",confirmText:"Yes, Cancel Screening",onConfirm:()=>{this.doCancelScreening()}}))},doCancelScreening(){const t={notify:this.notifyOfCancellation,notify_message:this.cancellationMessage};T.isEmpty(this.officialForAction)?t.officials=this.selectedOfficials.map(e=>e.official):t.officials=[this.officialForAction],Q({showError:!1}).post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/applicants/cancel_invites"),t).then(()=>{this.toast.success("Screening".concat(T.isEmpty(this.officialForAction)?"s":""," Canceled")),this.$emit("refresh"),this.selectedOfficials=[]}).catch(e=>{e.response.status===403?this.toast.error(be.noYardstikAccountForUserMessage):this.toast.error(e.response.data.error),this.$refs.cancelModal.dismissModal()})},dateCreator:vs,formatDate:ys}},Hx={class:"incomplete-background-screenings"},$x={class:"columns"},Wx={class:"column"},Qx={class:"summary-box"},Jx={class:"columns",style:{"margin-bottom":"0"}},Kx={class:"column is-font-mont has-text-weight-semibold"},Xx={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-yellow"},Zx={class:"column"},eF={class:"summary-box"},tF={class:"columns",style:{"margin-bottom":"0"}},sF={class:"column is-font-mont has-text-weight-semibold"},iF={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-danger"},aF={class:"column"},lF={class:"summary-box"},nF={class:"columns",style:{"margin-bottom":"0"}},rF={class:"column is-font-mont has-text-weight-semibold"},oF={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-primary"},dF={class:"button roles-filter-button"},uF={key:1,class:"title__subsection is-marginless is-flex",style:{height:"52.5px","align-items":"center"}},cF={"aria-label":"Actions"},mF={class:"is-italic has-text-blue-slate-light"},fF={key:0,style:{"margin-top":"1rem"}};function hF(t,e,i,l,a,s){const u=c("fa-icon"),m=c("b-tooltip"),f=c("b-tab-item"),v=c("b-tabs"),y=c("b-dropdown-item"),g=c("b-dropdown"),b=c("SelectionToolbar"),S=c("b-table-column"),F=c("ClearanceStatusTag"),w=c("BaseTable"),C=c("SendScreeningRequestModal"),D=c("MessageOfficials"),B=c("RiskManagementFilters"),N=c("ManuallyMarkAsClearedModal"),M=c("b-datepicker"),I=c("ModalConfirm"),V=c("b-switch"),P=c("b-input");return d(),h("div",Hx,[r("div",$x,[r("div",Wx,[r("div",Qx,[r("div",Jx,[r("div",Kx,[e[11]||(e[11]=p(" Unscreened People ",-1)),n(m,{label:"The number of people who have not been sent a screening request yet.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",Xx,_(s.unscreenedCount||"-"),1)])]),r("div",Zx,[r("div",eF,[r("div",tF,[r("div",sF,[e[12]||(e[12]=p(" Overdue Screenings ",-1)),n(m,{label:"The number of people who have not completed their requested screening and are now past their due date.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",iF,_(s.overdueCount||"-"),1)])]),r("div",aF,[r("div",lF,[r("div",nF,[r("div",rF,[e[13]||(e[13]=p(" In-Progress Screenings ",-1)),n(m,{label:"The number of people whose final screening results are in-progress.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",oF,_(s.inProgressCount||"-"),1)])])]),n(w,{ref:"incompleteBackgroun
1dScreeningsTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[3]||(e[3]=E=>s.checkedRows=E),name:"incompleteBackgroundScreenings",class:"incomplete-background-screenings-table",data:s.officialsForTable,checkable:"","custom-is-checked":s.isRowChecked,searchable:"",filterable:"","use-secondary-filter-menu":"","filters-active":a.teamFiltersActive||a.backgroundScreeningFiltersActive,"empty-message":"No Results Found",onQueryUpdated:e[4]||(e[4]=E=>a.searchQuery=E)},{"header-left":o(()=>[r("div",{class:"header-left-container",onClick:e[1]||(e[1]=(...E)=>s.resetTableAndFilters&&s.resetTableAndFilters(...E))},[n(v,{modelValue:a.activeTabIndex,"onUpdate:modelValue":e[0]||(e[0]=E=>a.activeTabIndex=E),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[(d(!0),h(G,null,ue(s.tabs,E=>(d(),x(f,{key:E,label:E},null,8,["label"]))),128))]),_:1},8,["modelValue"])])]),"header-right-item":o(()=>[n(g,null,{trigger:o(()=>[r("button",dF,[p(_(a.roleFilter)+" ",1),n(u,{icon:["fas","angle-down"],style:{"margin-left":"0.5rem"}})])]),default:o(()=>[(d(!0),h(G,null,ue(s.roleFilters,E=>(d(),x(y,{key:E,onClick:X=>a.roleFilter=E},{default:o(()=>[p(_(E),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),"table-header":o(()=>[a.selectedOfficials.length>0?(d(),x(b,{key:0,"checked-rows":a.selectedOfficials,actions:s.selectionToolbarActions,onCtaClicked:s.selectionToolbarCta,onOnCancel:e[2]||(e[2]=E=>a.selectedOfficials=[])},null,8,["checked-rows","actions","onCtaClicked"])):(d(),h("p",uF,_(s.tableTitleText),1))]),default:o(()=>[n(S,{field:"name",label:"Name",sortable:""},{default:o(({row:E})=>[p(_(E.name),1)]),_:1}),n(S,{field:"teams",label:"Teams",sortable:""},{default:o(({row:E})=>[p(_(E.teams),1)]),_:1}),n(S,{field:"role",label:"Role",sortable:""},{default:o(({row:E})=>[p(_(E.role),1)]),_:1}),n(S,{visible:s.activeTab==="Overdue"||s.activeTab==="In Progress",field:"dueDate",label:"Due Date",sortable:""},{default:o(({row:E})=>[p(_(E.dueDate),1)]),_:1},8,["visible"]),n(S,{visible:s.activeTab==="In Progress",field:"submissionDate",label:"Submission Date",sortable:""},{default:o(({row:E})=>[p(_(E.submissionDate),1)]),_:1},8,["visible"]),n(S,{visible:s.activeTab==="In Progress",field:"status",label:"Status",sortable:"",centered:""},{default:o(({row:E})=>[n(F,{data:s.statusTagForOfficial(E.official),"current-user-is-riskmanager":"","show-more-granular-statuses":""},null,8,["data"])]),_:1},8,["visible"]),n(S,{field:"actions",label:"Actions",centered:""},{default:o(({row:E})=>[n(g,null,{trigger:o(()=>[r("a",cF,[n(u,{icon:["far","ellipsis-h"],"aria-label":"View Actions"})])]),default:o(()=>[s.activeTab==="Unscreened"&&!s.isArchived?(d(),x(y,{key:0,onClick:X=>s.sendScreeningRequest(E.official)},{default:o(()=>[...e[14]||(e[14]=[p(" Send Screening Request ",-1)])]),_:1},8,["onClick"])):k("",!0),n(y,{onClick:X=>s.sendMessage(E.official)},{default:o(()=>[...e[15]||(e[15]=[p(" Message Account ",-1)])]),_:1},8,["onClick"]),s.activeTab==="Overdue"&&!s.isArchived?(d(),x(y,{key:1,onClick:X=>s.adjustDueDate(E.official)},{default:o(()=>[...e[16]||(e[16]=[p(" Adjust Due Date ",-1)])]),_:1},8,["onClick"])):k("",!0),s.activeTab==="Unscreened"||s.activeTab==="Overdue"||s.activeTab==="In Progress"&&(s.statusForOfficial(E.official)==="Request Sent"||s.statusForOfficial(E.official)==="Duplicate")&&!s.isArchived?(d(),h(G,{key:2},[e[18]||(e[18]=r("hr",{class:"my-1 mx-0"},null,-1)),n(y,{onClick:X=>s.markOfficialAsCleared(E.official)},{default:o(()=>[...e[17]||(e[17]=[p(" Mark as Cleared ",-1)])]),_:1},8,["onClick"])],64)):k("",!0),s.activeTab==="Overdue"||s.activeTab==="In Progress"&&s.statusForOfficial(E.official)==="Request Sent"&&!s.isArchived?(d(),h(G,{key:3},[e[20]||(e[20]=r("hr",{class:"my-1 mx-0"},null,-1)),n(y,{class:"has-text-danger",onClick:X=>s.cancelScreening(E.official)},{default:o(()=>[n(u,{icon:["far","times"]}),e[19]||(e[19]=p("Â Cancel Screening ",-1))]),_:1},8,["onClick"])],64)):k("",!0)]),_:2},1024)]),_:1})]),_:1},8,["checked-rows","data","custom-is-checked","filters-active"]),n(C,{ref:"sendScreeningRequestModal",league:i.league,"base-url":i.baseUrl,"club-vendor-id":i.clubVendorId,onDismissModal:s.handleScreeningRequestSent},null,8,["league","base-url","club-vendor-id","onDismissModal"]),n(D,{ref:"messageOfficials","generic-recipient-label":""},null,512),n(B,{title:"Filter Officials",officials:s.leagueOfficialsWithTeams,"is-secondary-filter":"","show-screening-status":s.activeTab==="In Progress","show-due-date":s.activeTab==="Overdue"||s.activeTab==="In Progress","show-submission-date":s.activeTab==="In Progress",onTeamsFiltered:e[5]||(e[5]=E=>{a.filteredTeams=E.filtered,a.teamFiltersActive=E.filterActive}),onFiltered:e[6]||(e[6]=E=>{a.backgroundScreeningFilters=E.filtered,a.backgroundScreeningFiltersActive=E.filterActive})},null,8,["officials","show-screening-status","show-due-date","show-submission-date"]),n(N,{ref:"manually
1MarkAsClearedModal",league:i.league,"base-url":i.baseUrl,"club-vendor-id":i.clubVendorId,onDismissModal:e[7]||(e[7]=E=>s.handleMarkAsClearDismissed(E))},null,8,["league","base-url","club-vendor-id"]),n(I,{ref:"adjustDueDateModal",class:"adjust-due-date-modal allow-overflow"},{default:o(()=>[r("p",mF,_(s.adjustDueDateText),1),n(M,{modelValue:a.newDueDate,"onUpdate:modelValue":e[8]||(e[8]=E=>a.newDueDate=E),"min-date":s.today,"date-creator":s.dateCreator,"date-formatter":s.formatDate,icon:"calendar",style:{"margin-top":"1.25rem","max-width":"150px"}},null,8,["modelValue","min-date","date-creator","date-formatter"])]),_:1},512),n(I,{ref:"cancelModal",class:"cancel-modal"},{default:o(()=>[n(V,{modelValue:a.notifyOfCancellation,"onUpdate:modelValue":e[9]||(e[9]=E=>a.notifyOfCancellation=E)},{default:o(()=>[p(_(s.notifyOfCancelText),1)]),_:1},8,["modelValue"]),a.notifyOfCancellation?(d(),h("div",fF,[e[21]||(e[21]=r("div",null,[p(" Additional details "),r("span",{class:"is-italic",style:{"margin-left":"0.25rem"}},"(optional)")],-1)),n(P,{modelValue:a.cancellationMessage,"onUpdate:modelValue":e[10]||(e[10]=E=>a.cancellationMessage=E),type:"textarea"},null,8,["modelValue"])])):k("",!0)]),_:1},512)])}const gF=ie(zx,[["render",hF],["__scopeId","data-v-a84e313f"]]),Ma="Send Screening Request",Da="Message Accounts",Ra="Adjust Expiration Date",pF={components:{ConfirmModal:rt,ManuallyMarkAsClearedModal:Wi,SelectionToolbar:_t,SendScreeningRequestModal:Ji,MessageOfficials:Cs,RiskManagementFilters:Qi,ModalConfirm:Hs,ConfirmPasswordToContinue:en,ViewYardstikReport:tn,ClearanceStatusTag:qt},inject:["refresh"],props:{league:{type:Object,required:!0},baseUrl:{type:String,required:!0},usingJdp:{type:Boolean,required:!0},clubVendorId:{type:Number,required:!0},yardstikCandidates:{type:Array,default:()=>[]}},emits:["refresh"],setup(){return{toast:Se(),isBackgroundScreening:Pe}},data(){return{activeTabIndex:0,selectedOfficials:[],searchQuery:"",roleFilter:"All Roles",filteredTeams:[],teamFiltersActive:!1,backgroundScreeningFilters:T.cloneDeep(be.defaultBackgroundScreeningFilters),backgroundScreeningFiltersActive:!1,officialForAction:{},newExpDate:null}},computed:{isArchived(){return!!this.league.archived_at},needsConsiderationCount(){return this.officialsThatNeedConsideration.length},expiredCount(){return this.officialsThatExpired.length},expiringSoonCount(){return this.officialsThatExpireSoon.length},tabs(){return["Consider","Expirations"]},lastReportForAction(){const t=this.candidateForOfficial(this.officialForAction);return tt(this.screeningClearanceRequirement,t==null?void 0:t.reports)},activeTab(){return this.tabs[this.activeTabIndex]},tableTitleText(){const t=this.officialsForTable.length;return this.activeTab==="Consider"?"".concat(t," Screening").concat(t===1?"":"s"," Need").concat(t===1?"s":""," Consideration"):this.activeTab==="Expirations"?"".concat(t," Expiring or Expired Screening").concat(t===1?"":"s"):""},leagueOfficialsWithTeams(){return be.officialsWithTeams(this.league)},leagueClearanceRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]).filter(i=>!i.archived_at)},screeningClearanceRequirement(){return this.leagueClearanceRequirements.find(t=>Pe(t))},officialsByStatus(){return be.officialsByYardstikStatus(this.leagueOfficialsWithTeams,this.yardstikCandidates,this.screeningClearanceRequirement)},loggedInAsOtherUser(){return this.$store.getters.isAccessKeyOveridden},officialsThatNeedConsideration(){const t=this.officialsByStatus.consider;return t.forEach(e=>{e.isYardstikLegacyOfficial=be.getIsYardstikLegacyOfficial(e,this.yardstikCandidates)}),t},officialsThatExpired(){return this.officialsByStatus.expired},officialsThatExpireSoon(){return this.officialsByStatus.expiring_soon},filteredTeamIDs(){return T.map(this.filteredTeams,"id")},dueDateFilterActive(){return this.backgroundScreeningFilters.dueDateRange.start_date||this.backgroundScreeningFilters.dueDateRange.end_date},submissionDateFilterActive(){return this.backgroundScreeningFilters.submissionDateRange.start_date||this.backgroundScreeningFilters.submissionDateRange.end_date},officialsForTable(){let t=[];return this.activeTab==="Consider"?t=this.officialsThatNeedConsideration:this.activeTab==="Expirations"&&(t=this.officialsThatExpired,t=t.concat(this.officialsThatExpireSoon)),t=t.filter(e=>(this.searchQuery===""||e.display_name.toLowerCase().includes(this.searchQuery.toLowerCase())||e.teams.some(i=>i.name.toLowerCase().includes(this.searchQuery.toLowerCase())))&&(this.roleFilter==="All Roles"||this.rolesForOfficial(e).includes(this.roleFilter))&&(!this.teamFiltersActive||e.teams.some(i=>this.filteredTeamIDs.includes(i.id)))&&(!this.backgroundScreeningFilters.showOfficialsWithNoTeams||e.teams.length===0)&&(this.activeTab==="Consider"||this.backgroundScreeningFilters.statuses.length===0||this.backgroundScreeningFilters.statuses.includes(this.statusForOfficial(e).toLowerCase()))),t=T.sortBy(t,["last_name","first_name"]),t=t.map(e=>({official:e,id:e.user_id,name:e.display_name,teams:this.teamsForOfficial(e),role:this.rolesForOfficial(e),submissionDate:this.submissionDateForOfficial(e),clearedDate:this.clearDateForOfficial(e),expDate:this.expDateForOfficial(e)})),t},checkedRows:{get(){return this.selectedOfficials},set(t){this.selectedOfficials=t}},roleFilters(){return["All Roles","Coach","Team Staff"]},adjustExpDateText(){return!T.isEmpty(this.officialForAction)||this.selectedOfficials.length===1?"Set the date when the clearance should expire.":"Set the date when these clearances should expire."},today(){return new Date},doubleAuthenticationTimestamp(){return this.$store.getters.doubleAuthenticationTimestamp},selectionToolbarActions(){const t=[];return this.activeTab==="Expirations"&&!this.isArchived&&t.push({text:Ma}),t.push({text:Da}),this.activeTab==="Expirations"&&!this.isArchived&&t.push({text:Ra}),t}},methods:{resetTableAndFilters(t){this.selectedOfficials=[],this.$refs.needsReviewBackgroun
1dScreeningsTable&&(this.$refs.needsReviewBackgroundScreeningsTable.searchQuery=t&&t.name||""),this.roleFilter="All Roles",t&&(t.status==="Needs Consideration"?this.activeTabIndex=this.tabs.findIndex(e=>e==="Consider"):(t.status==="Expired"||t.status==="Expiring Soon")&&(this.activeTabIndex=this.tabs.findIndex(e=>e==="Expirations")))},isRowChecked(t,e){return t.id===e.id},teamsForOfficial(t){return t.teams.map(e=>e.name).join(", ")},rolesForOfficial(t){const e=[];return t.roles.forEach(i=>{i==="Manager"?e.push("Team Staff"):e.push(i)}),e.join(", ")},candidateForOfficial(t){return be.candidateForOfficial(t,this.yardstikCandidates)},statusForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id];return be.yardstikStatusForDisplay(e==null?void 0:e.reports,this.screeningClearanceRequirement,i,this.usingJdp)},statusTagForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id?t.clearance_requirements_by_id[this.screeningClearanceRequirement.id]:{};return be.statusForTag(i,this.screeningClearanceRequirement,e==null?void 0:e.reports,this.usingJdp)}
1,markOfficialAsCleared(t){this.$refs.manuallyMarkAsClearedModal.showModal(t)},markOfficialAsNotCleared(t){this.officialForAction=t,this.$refs.confirmMarkAsNotCleared.showModal()},async doMarkAsNotCleared(){if(!this.lastReportForAction){this.toast.error("Unable to find JDP Report. Please try again later.");return}try{await Q({showError:!1}).post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/reports/").concat(this.lastReportForAction.id,"/mark_as_not_cleared"),{official:this.officialForAction}),this.toast.success("Official Marked as Not Cleared"),this.$emit("refresh"),this.selectedOfficials=[],this.officialForAction={},this.$refs.confirmMarkAsNotCleared.close()}catch(t){this.toast.error("There was an error marking the official as not cleared. Please try again.")}},handleMarkAsClearDismissed(t={refreshData:!1}){t.refreshData&&(this.refresh({reload:!1}),this.selectedOfficials=[])},submissionDateForOfficial(t){const e=this.candidateForOfficial(t),i=tt(this.screeningClearanceRequirement,e==null?void 0:e.reports);if(!i)return"-";const l=i&&i.extra,a=l&&l.submission_date||i.submitted_at;return a?Y(a).format("MMM D, YYYY"):"-"},clearDateForOfficial(t){const e=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id];return e?Y(e.completed_date).format("MMM D, YYYY"):"-"},expDateForOfficial(t){const e=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id];return e?Y(e.expiry_date).format("MMM D, YYYY"):"-"},selectionToolbarCta(t){t.text===Ma?this.sendScreeningRequest():t.text===Da?this.sendMessage():t.text===Ra&&this.adjustExpDate()},sendScreeningRequest(t){let e=[];t?e=[t]:e=T.map(this.selectedOfficials,i=>i.official),this.$refs.sendScreeningRequestModal.showModal(e)},handleScreeningRequestSent(){this.$emit("refresh"),this.resetTableAndFilters()},sendMessage(t){let e=[];t?e=["".concat(t.roles.includes("Coach")?"coach":"manager","_").concat(t.id)]:e=T.map(this.selectedOfficials,i=>"".concat(i.official.roles.includes("Coach")?"coach":"manager","_").concat(i.official.id)),this.$refs.messageOfficials.show(e)},adjustExpDate(t){t?(this.newExpDate=Y(t.clearance_requirements_by_id[this.screeningClearanceRequirement.id].expiry_date).toDate(),this.officialForAction=t):(this.newExpDate=null,this.selectedOfficials.map(i=>i.official).forEach(i=>{const l=Y(i.clearance_requirements_by_id[this.screeningClearanceRequirement.id].expiry_date);this.newExpDate===null?this.newExpDate=l.toDate():l.isAfter(Y(this.newExpDate))&&(this.newExpDate=l.toDate())}),this.officialForAction={}),this.$refs.adjustExpDateModal.showModal({title:"Adjust Expiration Date",type:"is-primary",confirmText:"Save Date",onConfirm:()=>{this.doAdjustExpDate()}})},doAdjustExpDate(){const t={new_exp_date:this.newExpDate};T.isEmpty(this.officialForAction)?t.officials=this.selectedOfficials.map(e=>e.official):t.officials=[this.officialForAction],Q().post("".concat(this.baseUrl,"/").concat(this.clubVendorId,"/applicants/adjust_exp_date"),t).then(()=>{this.toast.success("Expiration Date".concat(T.isEmpty(this.officialForAction)?"s":""," Updated")),this.$emit("refresh"),T.isEmpty(this.officialForAction)&&(this.selectedOfficials=[])})},viewReport(t){this.officialForAction=t,!this.usingJdp&&(!this.doubleAuthenticationTimestamp||Y(this.doubleAuthenticationTimestamp).add(30,"minutes").isBefore(Y()))?this.$refs.confirmPassword.showModal():this.showReport()},handleSuccessfulAuthentication(){this.$store.dispatch("successfulRiskManagerAuthentication",{timestamp:Y(),leagueID:this.league.id}),this.showReport(!1)},showReport(t=!0){t&&this.$store.dispatch("successfulRiskManagerAuthentication",{timestamp:Y(),leagueID:this.league.id}),this.usingJdp?this.lastReportForAction&&this.lastReportForAction.report_link?window.open(this.lastReportForAction.report_link,"_blank"):this.lastReportForAction&&this.lastReportForAction.isLegacyYardstikReport?this.$refs.viewYardstikReport.showModal(this.lastReportForAction.vendor_id):this.toast.error("Unable to find Background Check. Please try again later."):this.$refs.viewYardstikReport.showModal(this.lastReportForAction.vendor_id)},handleReportClosed(){if(!this.lastReportForAction){this.toast.error("Unable to find Backgroun
1d Report. Please try again later.");return}Q().post("/club_admin/club_background_checkers/reports/".concat(this.lastReportForAction.id,"/update_from_yardstik")).then(()=>{this.$emit("refresh")}),this.officialForAction={}},dateCreator:vs,formatDate:ys}},_F={class:"needs-review-background-screenings"},yF={class:"columns"},vF={class:"column"},bF={class:"summary-box"},CF={class:"columns",style:{"margin-bottom":"0"}},SF={class:"column is-font-mont has-text-weight-semibold"},kF={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-danger"},wF={class:"column"},TF={class:"summary-box"},xF={class:"columns",style:{"margin-bottom":"0"}},FF={class:"column is-font-mont has-text-weight-semibold"},AF={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-danger"},MF={class:"column"},DF={class:"summary-box"},RF={class:"columns",style:{"margin-bottom":"0"}},IF={class:"column is-font-mont has-text-weight-semibold"},EF={class:"is-font-mont has-text-weight-bold is-text-size-3 has-text-yellow"},VF={class:"button roles-filter-button"},PF={key:1,class:"title__subsection is-marginless is-flex",style:{height:"52.5px","align-items":"center"}},BF={key:0},qF={key:0,class:"is-underline disabled-link"},OF=["onClick"],UF={"aria-label":"Actions"},LF={class:"is-italic has-text-blue-slate-light"};function GF(t,e,i,l,a,s){var X;const u=c("fa-icon"),m=c("b-tooltip"),f=c("b-tab-item"),v=c("b-tabs"),y=c("b-dropdown-item"),g=c("b-dropdown"),b=c("SelectionToolbar"),S=c("b-table-column"),F=c("ClearanceStatusTag"),w=c("BaseTable"),C=c("SendScreeningRequestModal"),D=c("MessageOfficials"),B=c("RiskManagementFilters"),N=c("b-datepicker"),M=c("ModalConfirm"),I=c("ConfirmPasswordToContinue"),V=c("ViewYardstikReport"),P=c("ManuallyMarkAsClearedModal"),E=c("ConfirmModal");return d(),h("div",_F,[r("div",yF,[r("div",vF,[r("div",bF,[r("div",CF,[r("div",SF,[e[12]||(e[12]=p(" Needs Consideration ",-1)),n(m,{label:"The number of people whose screening results require a final decision by you.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",kF,_(s.needsConsiderationCount||"-"),1)])]),r("div",wF,[r("div",TF,[r("div",xF,[r("div",FF,[e[13]||(e[13]=p(" Expired Clearances ",-1)),n(m,{label:"The number of people whose previous clearance is now expired.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",AF,_(s.expiredCount||"-"),1)])]),r("div",MF,[r("div",DF,[r("div",RF,[r("div",IF,[e[14]||(e[14]=p(" Clearances Expiring Soon ",-1)),n(m,{label:"The number of people whose previous clearance will expire within 30 days.",type:"is-dark",position:"is-bottom",multilined:""},{default:o(()=>[n(u,{class:"clickable",icon:["far","info-circle"],style:{"margin-top":"0.25rem"}})]),_:1})])]),r("div",EF,_(s.expiringSoonCount||"-"),1)])])]),n(w,{ref:"needsReviewBackgroundScreeningsTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[3]||(e[3]=q=>s.checkedRows=q),name:"needsReviewBackgroundScreenings",class:"needs-review-background-screenings-table",data:s.officialsForTable,checkable:s.activeTab==="Expirations","custom-is-checked":s.isRowChecked,searchable:"",filterable:"","use-secondary-filter-menu":"","filters-active":a.teamFiltersActive||a.backgroundScreeningFiltersActive,"empty-message":"No Results Found",onQueryUpdated:e[4]||(e[4]=q=>a.searchQuery=q)},{"header-left":o(()=>[r("div",{class:"header-left-container",onClick:e[1]||(e[1]=(...q)=>s.resetTableAndFilters&&s.resetTableAndFilters(...q))},[n(v,{modelValue:a.activeTabIndex,"onUpdate:modelValue":e[0]||(e[0]=q=>a.activeTabIndex=q),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[(d(!0),h(G,null,ue(s.tabs,q=>(d(),x(f,{key:q,label:q},null,8,["label"]))),128))]),_:1},8,["modelValue"])])]),"header-right-item":o(()=>[n(g,null,{trigger:o(()=>[r("button",VF,[p(_(a.roleFilter)+" ",1),n(u,{icon:["fas","angle-down"],style:{"margin-left":"0.5rem"}})])]),default:o(()=>[(d(!0),h(G,null,ue(s.roleFilters,q=>(d(),x(y,{key:q,onClick:he=>a.roleFilter=q},{default:o(()=>[p(_(q),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),"table-header":o(()=>[a.selectedOfficials.length>0?(d(),x(b,{key:0,"checked-rows":a.selectedOfficials,actions:s.selectionToolbarActions,onCtaClicked:s.selectionToolbarCta,onOnCancel:e[2]||(e[2]=q=>a.selectedOfficials=[])},null,8,["checked-rows","actions","onCtaClicked"])):(d(),h("p",PF,_(s.tableTitleText),1))]),default:o(()=>[n(S,{field:"name",label:"Name",sortable:""},{default:o(({row:q})=>[p(_(q.name),1)]),_:1}),n(S,{field:"teams",label:"Teams",sortable:""},{default:o(({row:q})=>[p(_(q.teams),1)]),_:1}),n(S,{field:"role",label:"Role",sortable:""},{default:o(({row:q})=>[p(_(q.role),1)]),_:1}),n(S,{visible:s.activeTab==="Consider",field:"submissionDate",label:"Submission Date",sortable:""},{default:o(({row:q})=>[p(_(q.submissionDate),1)]),_:1},8,["visible"]),n(S,{visible:s.activeTab==="Consider",field:"report",label:"Report"},{default:o(({row:q})=>
1[s.isArchived?k("",!0):(d(),h("span",BF,[s.loggedInAsOtherUser?(d(),h("span",qF," View Report ")):(d(),h("a",{key:1,onClick:he=>s.viewReport(q.official)}," View Report ",8,OF))]))]),_:1},8,["visible"]),n(S,{visible:s.activeTab==="Expirations",field:"clearedDate",label:"Cleared Date",sortable:""},{default:o(({row:q})=>[p(_(q.clearedDate),1)]),_:1},8,["visible"]),n(S,{visible:s.activeTab==="Expirations",field:"expDate",label:"Expiration Date",sortable:""},{default:o(({row:q})=>[p(_(q.expDate),1)]),_:1},8,["visible"]),n(S,{visible:s.activeTab==="Expirations",field:"status",label:"Status",sortable:"",centered:""},{default:o(({row:q})=>[n(F,{data:s.statusTagForOfficial(q.official),"current-user-is-riskmanager":"","show-more-granular-statuses":""},null,8,["data"])]),_:1},8,["visible"]),n(S,{field:"actions",label:"Actions",centered:""},{default:o(({row:q})=>[n(g,null,{trigger:o(()=>[r("a",UF,[n(u,{icon:["far","ellipsis-h"],"aria-label":"View Actions"})])]),default:o(()=>[s.activeTab==="Expirations"&&!s.isArchived?(d(),x(y,{key:0,onClick:he=>s.sendScreeningRequest(q.official)},{default:o(()=>[...e[15]||(e[15]=[p(" Send Screening Request ",-1)])]),_:1},8,["onClick"])):k("",!0),n(y,{onClick:he=>s.sendMessage(q.official)},{default:o(()=>[...e[16]||(e[16]=[p(" Message Account ",-1)])]),_:1},8,["onClick"]),i.usingJdp&&s.activeTab==="Consider"&&!s.isArchived&&!q.official.isYardstikLegacyOfficial?(d(),h(G,{key:1},[e[19]||(e[19]=r("hr",{class:"my-1 mx-0"},null,-1)),n(y,{onClick:he=>s.markOfficialAsCleared(q.official)},{default:o(()=>[...e[17]||(e[17]=[p(" Mark as Cleared ",-1)])]),_:1},8,["onClick"]),n(y,{class:"has-text-danger",onClick:he=>s.markOfficialAsNotCleared(q.official)},{default:o(()=>[...e[18]||(e[18]=[p(" Mark as Not Cleared ",-1)])]),_:1},8,["onClick"])],64)):k("",!0),s.activeTab==="Expirations"&&!s.isArchived?(d(),x(y,{key:2,onClick:he=>s.adjustExpDate(q.official)},{default:o(()=>[...e[20]||(e[20]=[p(" Adjust Expiration Date ",-1)])]),_:1},8,["onClick"])):k("",!0)]),_:2},1024)]),_:1})]),_:1},8,["checked-rows","data","checkable","custom-is-checked","filters-active"]),n(C,{ref:"sendScreeningRequestModal",league:i.league,"base-url":i.baseUrl,"club-vendor-id":i.clubVendorId,onDismissModal:s.handleScreeningRequestSent},null,8,["league","base-url","club-vendor-id","onDismissModal"]),n(D,{ref:"messageOfficials","generic-recipient-label":""},null,512),n(B,{title:"Filter Officials",officials:s.leagueOfficialsWithTeams,"is-secondary-filter":"","show-expiration-status":s.activeTab==="Expirations",onTeamsFiltered:e[5]||(e[5]=q=>{a.filteredTeams=q.filtered,a.teamFiltersActive=q.filterActive}),onFiltered:e[6]||(e[6]=q=>{a.backgroundScreeningFilters=q.filtered,a.backgroundScreeningFiltersActive=q.filterActive})},null,8,["officials","show-expiration-status"]),n(M,{ref:"adjustExpDateModal",class:"adjust-exp-date-modal allow-overflow"},{default:o(()=>[r("p",LF,_(s.adjustExpDateText),1),n(N,{modelValue:a.newExpDate,"onUpdate:modelValue":e[7]||(e[7]=q=>a.newExpDate=q),"min-date":s.today,"date-creator":s.dateCreator,"date-formatter":s.formatDate,icon:"calendar",style:{"margin-top":"1.25rem","max-width":"150px"}},null,8,["modelValue","min-date","date-creator","date-formatter"])]),_:1},512),n(I,{ref:"confirmPassword",class:"confirm-password-modal",message:"In order to view your league's screening results, please enter your password.",onAuthenticated:e[8]||(e[8]=q=>s.handleSuccessfulAuthentication())},null,512),n(V,{ref:"viewYardstikReport","club-vendor-id":i.clubVendorId,onDismissed:e[9]||(e[9]=q=>s.handleReportClosed(q))},null,8,["club-vendor-id"]),n(P,{ref:"manuallyMarkAsClearedModal",league:i.league,"base-url":i.baseUrl,"club-vendor-id":i.clubVendorId,onDismissModal:e[10]||(e[10]=q=>s.handleMarkAsClearDismissed(q))},null,8,["league","base-url","club-vendor-id"]),n(E,{ref:"confirmMarkAsNotCleared",title:"Mark as Not Cleared",description:"If you continue, ".concat((X=a.officialForAction)==null?void 0:X.display_name," will have their background screening clearance marked as not cleared."),"confirm-button-text":"Yes, Mark as Not Cleared",type:"is-danger",icon:["far","minus-hexagon"],size:"sm",onConfirm:e[11]||(e[11]=q=>s.doMarkAsNotCleared())},{default:o(()=>[...e[21]||(e[21]=[p(" Are you sure you want to continue? ",-1)])]),_:1},8,["description"])])}const NF=ie(pF,[["render",GF],["__scopeId","data-v-d7ec3630"]]),jF={components:{FilterTray:Bt,FilterSection:at},props:{officials:{type:Array,default:()=>[]},showAsColumn:{type:Boolean,default:!1}},emits:["filtered","filters-cleared"],data(){return{filters:this.$store.getters.officialFilters,filterActive:this.$store.getters.officialFilterActive}},computed:{teams(){return T.compact(T.uniqBy(T.flatMap(T.map(this.officials,"official"),"teams"),"id"))},filtered(){return this.officials.filter(t=>this.officialIncluded(t))}},watch:{filters:{deep:!0,handler(){this.filterChanged()}}},created(){this.changed()},methods:{officialIncluded(t){return(!this.filters.statuses.length||this.filters.statuses.includes(t["Backgroun
1d Screening Status"].toLowerCase()))&&(!this.filters.roles.length||t.official.roles.some(e=>this.filters.roles.includes(e.toLowerCase())))&&(!this.filters.teams.length||t.official.teams.some(e=>this.filters.teams.includes(e.name)))&&(!this.filters.showOnlyNoTeam||t.official.teams.length===0)},changed(){this.$emit("filtered",this.filtered)},clearFilters(){this.$store.dispatch("clearOfficialFilters").then(()=>{this.filters=this.$store.getters.officialFilters}),this.$emit("filters-cleared"),this.changed()},filterChanged(){this.$store.commit("setOfficialFilters",this.filters),this.filterActive=this.$store.getters.officialFilterActive,this.changed()}}},YF={class:"field"},zF={class:"field"},HF={class:"field"},$F={class:"field"},WF={class:"field"},QF={class:"field"},JF={class:"field"},KF={class:"field"},XF={class:"field"},ZF={class:"field"},eA={class:"field"};function tA(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-field"),f=c("FilterSection"),v=c("b-switch"),y=c("FilterTray");return d(),x(y,{title:"Filter League Officials","filters-active":a.filterActive,"is-fixed-column":i.showAsColumn,onClearFilters:s.clearFilters},{content:o(()=>[n(f,{label:"Screening Status",collapsible:""},{default:o(()=>[n(m,null,{default:o(()=>[r("div",YF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[0]||(e[0]=g=>a.filters.statuses=g),"native-value":"unscreened"},{default:o(()=>[...e[15]||(e[15]=[p(" Unscreened ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",zF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[1]||(e[1]=g=>a.filters.statuses=g),"native-value":"request sent"},{default:o(()=>[...e[16]||(e[16]=[p(" Request Sent ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",HF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[2]||(e[2]=g=>a.filters.statuses=g),"native-value":"overdue"},{default:o(()=>[...e[17]||(e[17]=[p(" Overdue ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",$F,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[3]||(e[3]=g=>a.filters.statuses=g),"native-value":"processing"},{default:o(()=>[...e[18]||(e[18]=[p(" Processing ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",WF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[4]||(e[4]=g=>a.filters.statuses=g),"native-value":"needs consideration"},{default:o(()=>[...e[19]||(e[19]=[p(" Needs Consideration ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",QF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[5]||(e[5]=g=>a.filters.statuses=g),"native-value":"cleared"},{default:o(()=>[...e[20]||(e[20]=[p(" Cleared ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",JF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[6]||(e[6]=g=>a.filters.statuses=g),"native-value":"not cleared"},{default:o(()=>[...e[21]||(e[21]=[p(" Not Cleared ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",KF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[7]||(e[7]=g=>a.filters.statuses=g),"native-value":"canceled"},{default:o(()=>[...e[22]||(e[22]=[p(" Canceled ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",XF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[8]||(e[8]=g=>a.filters.statuses=g),"native-value":"in dispute"},{default:o(()=>[...e[23]||(e[23]=[p(" In Dispute ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",ZF,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[9]||(e[9]=g=>a.filters.statuses=g),"native-value":"expired"},{default:o(()=>[...e[24]||(e[24]=[p(" Expired ",-1)])]),_:1},8,["modelValue"])])]),_:1}),n(m,null,{default:o(()=>[r("div",eA,[n(u,{modelValue:a.filters.statuses,"onUpdate:modelValue":e[10]||(e[10]=g=>a.filters.statuses=g),"native-value":"expiring soon"},{default:o(()=>[...e[25]||(e[25]=[p(" Expiring Soon ",-1)])]),_:1},8,["modelValue"])])]),_:1})]),_:1}),n(f,{label:"Roles",collapsible:""},{default:o(()=>[n(m,null,{default:o(()=>[n(u,{modelValue:a.filters.roles,"onUpdate:modelValue":e[11]||(e[11]=g=>a.filters.roles=g),"native-value":"coach"},{default:o(()=>[...e[26]||(e[26]=[p(" Coach ",-1)])]),_:1},8,["modelValue"])]),_:1}),n(m,null,{default:o(()=>[n(u,{modelValue:a.filters.roles,"onUpdate:modelValue":e[12]||(e[12]=g=>a.filters.roles=g),"native-value":"manager"},{default:o(()=>[...e[27]||(e[27]=[p(" Team Staff ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(f,{label:"Teams",collapsible:""},{default:o(()=>[(d(!0),h(G,null,ue(s.teams,g=>(d(),x(m,{key:g.id},{default:o(()=>[n(u,{modelValue:a.filters.teams,"onUpdate:modelValue":e[13]||(e[13]=b=>a.filters.teams=b),"native-value":g.name,style:{"word-wrap":"break-word","overflow-wrap":"break-word"}},{default:o(()=>[p(_(g.name),1)]),_:2},1032,["modelValue","native-value"])]),_:2},1024))),128))]),_:1}),n(f,{label:"Advanced",collapsible:""},{default:o(()=>[n(m,null,{default:o(()=>[n(v,{modelValue:a.filters.showOnlyNoTeam,"onUpdate:modelValue":e[14]||(e[14]=g=>a.filters.showOnlyNoTeam=g)},{default:o(()=>[...e[28]||(e[28]=[p(" Show only officials without an assigned team ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["filters-active","is-fixed-column","onClearFilters"])}const sA=ie(jF,[["render",tA]]),iA={components:{FullScreenModal:Pt,PlannerHeader:Js,PageNavigation:tl,IncompleteBackgroun
1dScreenings:gF,NeedsReviewBackgroundScreenings:NF,CompleteBackgroundScreenings:Yx,SelectMultipleObjects:Ml,MessageOfficials:Cs,LeagueOfficialsFilter:sA,ClearanceStatusTag:qt},props:{league:{type:Object,required:!0},clubVendor:{type:Object,required:!0},isUsingJdp:{type:Boolean,required:!0}},emits:["refresh"],setup(){return{isBackgroundScreening:Pe}},data(){return{activeTab:"Incomplete",numSelectedForMessage:0,filteredOfficials:[]}},computed:{tabs(){return[{name:"Incomplete"},{name:"Needs Review"},{name:"Completed"}]},leagueOfficialsWithTeams(){return be.officialsWithTeams(this.league)},baseUrl(){return"/club_admin/club_background_checkers"},screeningApplicants(){var i,l;const t=((i=this.clubVendor)==null?void 0:i.applicants)||[],e=((l=this.clubVendor)==null?void 0:l.candidates)||[];return this.isUsingJdp?t:e},leagueClearanceRequirements(){var e;return(((e=this.league.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]).filter(i=>!i.archived_at)},screeningClearanceRequirement(){return this.leagueClearanceRequirements.find(Pe)},coachRequired(){return this.screeningClearanceRequirement.coach_required},staffRequired(){return this.screeningClearanceRequirement.team_staff_required},officialsForSelect(){let t=[];return this.coachRequired&&t.push(...this.leagueOfficialsWithTeams.filter(e=>e.roles.includes("Coach"))),this.staffRequired&&t.push(...this.leagueOfficialsWithTeams.filter(e=>e.roles.includes("Manager"))),t=T.uniqBy(t,"user_id"),t=t.map(e=>({official:e,id:e.user_id,Name:e.display_name,Teams:e.teams?e.teams.map(i=>i.name).join(", "):"",Role:this.rolesForOfficial(e),"Background Screening Status":this.statusForOfficial(e)||"Unscreened"})),t},teamsForSelect(){return this.league.league_teams.map(t=>t.team)},tabLabel(){return this.coachRequired&&this.staffRequired?"roles":this.coachRequired?"coaches":this.staffRequired?"team staff":"roles"}},methods:{showModal(t={status:"",name:""}){switch(this.$refs.modal.show(),t.status){case"Overdue":case"Request Sent":case"Processing":case"In Dispute":this.activeTab="Incomplete";break;case"Needs Consideration":case"Expiring Soon":case"Expired":this.activeTab="Needs Review";break;case"Cleared":case"Not Cleared":case"Canceled":this.activeTab="Completed";break;default:this.activeTab="Incomplete"}this.$nextTick(()=>{this.activeTab==="Incomplete"?this.$refs.incompleteBackgroundScreenings.resetTableAndFilters(t):this.activeTab==="Needs Review"?this.$refs.needsReviewBackgroundScreenings.resetTableAndFilters(t):this.activeTab==="Completed"&&this.$refs.completeBackgroundScreenings.resetTableAndFilters(t.name)})},dismissModal(){this.$refs.modal.dismiss()},messageAccounts(){this.$refs.selectModal.showModal()},dismissSelect(){this.$refs.selectModal.dismissModal()},sendMessage(){const t=T.map(this.$refs.selectModal.selectedItems,e=>"".concat(e.official.roles.includes("Coach")?"coach":"manager","_").concat(e.id));this.$refs.messageOfficials.show(t)},rolesForOfficial(t){const e=[];return t.roles&&t.roles.forEach(i=>{i==="Manager"?e.push("Team Staff"):e.push(i)}),e.join(", ")},candidateForOfficial(t){return be.candidateForOfficial(t,this.screeningApplicants)},statusForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id[this.screeningClearanceRequirement.id];return be.yardstikStatusForDisplay(e==null?void 0:e.reports,this.screeningClearanceRequirement,i,this.isUsingJdp)},statusTagForOfficial(t){const e=this.candidateForOfficial(t),i=t.clearance_requirements_by_id?t.clearance_requirements_by_id[this.screeningClearanceRequirement.id]:{};return be.statusForTag(i,this.screeningClearanceRequirement,e==null?void 0:e.reports,this.isUsingJdp)}}}
1,aA={class:"content"},lA=["disabled"],nA={key:1};function rA(t,e,i,l,a,s){const u=c("PlannerHeader"),m=c("PageNavigation"),f=c("IncompleteBackgroundScreenings"),v=c("NeedsReviewBackgroundScreenings"),y=c("CompleteBackgroundScreenings"),g=c("FullScreenModal"),b=c("ClearanceStatusTag"),S=c("LeagueOfficialsFilter"),F=c("SelectMultipleObjects"),w=c("MessageOfficials");return d(),h("div",null,[n(g,{ref:"modal"},{header:o(()=>[n(u,{name:"Manage Background Screenings","tool-name":i.league.name,sticky:"","use-wide-label":"",onExit:s.dismissModal},{ctas:o(()=>[r("button",{class:"button is-black is-outlined",onClick:e[0]||(e[0]=(...C)=>s.messageAccounts&&s.messageAccounts(...C))}," Message Accounts ")]),_:1},8,["tool-name","onExit"])]),default:o(()=>[r("div",aA,[n(m,{"page-title":"",tabs:s.tabs,"active-tab":a.activeTab,onTabClicked:e[1]||(e[1]=C=>a.activeTab=C)},null,8,["tabs","active-tab"]),a.activeTab==="Incomplete"?(d(),x(f,{key:0,ref:"incompleteBackgroundScreenings",league:i.league,"base-url":s.baseUrl,"using-jdp":i.isUsingJdp,"club-vendor-id":i.clubVendor.id,"yardstik-candidates":s.screeningApplicants,onRefresh:e[2]||(e[2]=C=>t.$emit("refresh"))},null,8,["league","base-url","using-jdp","club-vendor-id","yardstik-candidates"])):a.activeTab==="Needs Review"?(d(),x(v,{key:1,ref:"needsReviewBackgroundScreenings",league:i.league,"base-url":s.baseUrl,"using-jdp":i.isUsingJdp,"club-vendor-id":i.clubVendor.id,"yardstik-candidates":s.screeningApplicants,onRefresh:e[3]||(e[3]=C=>t.$emit("refresh"))},null,8,["league","base-url","using-jdp","club-vendor-id","yardstik-candidates"])):a.activeTab==="Completed"?(d(),x(y,{key:2,ref:"completeBackgroundScreenings",league:i.league,"base-url":s.baseUrl,"using-jdp":i.isUsingJdp,"club-vendor-id":i.clubVendor.id,"yardstik-candidates":s.screeningApplicants,onRefresh:e[4]||(e[4]=C=>t.$emit("refresh"))},null,8,["league","base-url","using-jdp","club-vendor-id","yardstik-candidates"])):k("",!0)])]),_:1},512),n(F,{ref:"selectModal",data:a.filteredOfficials,fields:["Name","Teams","Role","Background Screening Status"],title:"",type:"officials","tab-label":s.tabLabel,"filter-active":t.$store.getters.officialFilterActive,onNumSelected:e[8]||(e[8]=C=>a.numSelectedForMessage=C)},{header:o(()=>[n(u,{"edit-mode":!0,name:"Message Accounts","tool-name":"Background Screenings"},{ctas:o(()=>[r("button",{style:{margin:"0 1rem"},class:"button is-primary is-outlined",onClick:e[5]||(e[5]=He((...C)=>s.dismissSelect&&s.dismissSelect(...C),["stop"]))},[...e[9]||(e[9]=[r("span",null,"Cancel",-1)])]),r("button",{disabled:a.numSelectedForMessage===0,class:"button is-wide",onClick:e[6]||(e[6]=(...C)=>s.sendMessage&&s.sendMessage(...C))}," Compose Message ",8,lA)]),_:1})]),"table-cell":o(({field:C,row:D})=>[C==="Background Screening Status"?(d(),x(b,{key:0,data:s.statusTagForOfficial(D.official),"current-user-is-riskmanager":"","show-more-granular-statuses":""},null,8,["data"])):(d(),h("span",nA,_(D[C]),1))]),filter:o(()=>[n(S,{officials:s.officialsForSelect,"show-as-column":t.$store.getters.isDesktop,onFiltered:e[7]||(e[7]=C=>a.filteredOfficials=C)},null,8,["officials","show-as-column"])]),_:1},8,["data","tab-label","filter-active"]),n(w,{ref:"messageOfficials","generic-recipient-label":"",onDismissed:s.dismissSelect},null,8,["onDismissed"])])}const oA=ie(iA,[["render",rA],["__scopeId","data-v-045e8761"]]),dA={__name:"AddDirectorToLeagueModal",emits:["addDirectors"],setup(t,{expose:e,emit:i}){const l=[{name:"Director",id:0},{name:"Coach",id:1},{name:"Team Staff",id:2}],a=H([]),s=H(""),u=i,{directors:m,fetchDirectors:f}=Qo(),v=A(()=>{if(a.value.length===0||a.value.some(F=>F.id===0)){if(s.value){const F=s.value.toLowerCase();return m.value.filter(w=>"".concat(w.first_name," ").concat(w.last_name).toLowerCase().includes(F))}return m.value}return[]});function y(F){return((F==null?void 0:F.teams)||[]).map(w=>w.name).join(", ")}const g=_e("modal");function b(){a.value=[],g.value.showModal(),f()}function S(F){if(F.length===0)return;const w=F.map(C=>({...C,role:"director",teams:void 0}));u("addDirectors",w)}return e({showModal:b}),(F,w)=>{const C=c("b-table-column");return d(),x($(bl),{ref_key:"modal",ref:g,title:"Select Staff","change-required":"","all-data":$(m),"filtered-data":v.value,onSaveSelected:S,onQueryUpdated:w[2]||(w[2]=D=>s.value=D)},{filter:o(()=>[n(Bt,{title:"Filter Club Staff","is-fixed-column":"",onClearFilters:w[1]||(w[1]=D=>a.value=[])},{default:o(()=>[n($(Wo),{modelValue:a.value,"onUpdate:modelValue":w[0]||(w[0]=D=>a.value=D),"list-items":l,label:"Role"},null,8,["modelValue"])]),_:1})]),default:o(()=>[n(C,{label:"Name",field:"last_name",sortable:""},{default:o(({row:D})=>[p(_(D.first_name)+" "+_(D.last_name),1)]),_:1}),n(C,{label:"Teams",field:"teams"},{default:o(({row:D})=>
1[p(_(y(D)),1)]),_:1})]),_:1},8,["all-data","filtered-data"])}}},uA={components:{"app-mapping-entry":ql},props:{modelValue:{type:Object,required:!0},headersFromFile:{type:Array,required:!0},columns:{type:Array,required:!0},clearanceColumns:{type:Array,required:!0},columnTypesFromFile:{type:Object,default:()=>{}},subject:{type:String,default:""}},emits:["update:modelValue","hasErrors"],data(){return{errors:{}}},computed:{headersFromFileByColumn(){return T.invert(this.modelValue)},availableColumnsFromFile(){const t=Object.keys(this.modelValue);return this.headersFromFile.filter(e=>!t.includes(e)).sort()}},watch:{errors:{handler(){let t=!1;Object.keys(this.errors).forEach(e=>{t=t||!!this.errors[e]}),this.$emit("hasErrors",t)},deep:!0}},methods:{handleSelectColumnMapping(t,e){const i=this.headersFromFileByColumn[t];if(i){const{[i]:l,...a}=this.modelValue;e?this.$emit("update:modelValue",{...a,[e]:t}):this.$emit("update:modelValue",a)}else e&&this.$emit("update:modelValue",{...this.modelValue,[e]:t})},handleSelectClearanceColumnMapping(t,e){this.errors.clearances=!1,this.handleSelectColumnMapping(t,e)},messageForField(t){const e=this.headersFromFileByColumn[t.id];if(!e)return this.errors[t.id]!=="required"?(this.errors[t.id]=!1,""):"This is a required column field";const i=this.columnTypesFromFile[e];let l=!1;return Object.keys(t.types).forEach(a=>{i&&i.includes(a)&&(l=!0)}),l=l||t.acceptEmpty&&i.length===0,i&&l?(this.errors[t.id]=!1,""):t.types.date?(this.errors[t.id]="type","Values need to be in a MM/DD/YYYY date format"):t.types.time?(this.errors[t.id]="type","Values need to be in a time format"):t.types.string?(this.errors[t.id]="type","Values cannot be in a ".concat(i[0]," format")):t.types.number?(this.errors[t.id]="type","Values need to be in a number format"):""},markRequired(){let t=!1;this.columns.forEach(e=>{!this.headersFromFileByColumn[e.id]&&e.required&&(this.errors[e.id]="required",t||(this.$refs[e.id][0].$el.scrollIntoView({behavior:"smooth"}),t=!0))})},markClearancesRequired(){this.errors.clearances=!0}}},cA={class:"column-mapping"},mA={class:"is-font-mont has-text-weight-bold is-text-size-5",style:{"margin-top":"3rem"}},fA={key:0,class:"danger-banner"};function hA(t,e,i,l,a,s){const u=c("app-mapping-entry"),m=c("fa-icon");return d(),h("div",cA,[e[1]||(e[1]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Column Mapping",-1)),e[2]||(e[2]=r("div",{class:"is-italic has-text-blue-slate-light",style:{"margin-top":"0.5rem"}}," Map the column names from your import file to the columns required for the import. Map optional column names if they are in your import file. ",-1)),r("div",mA,_(i.subject)+" Details ",1),e[3]||(e[3]=Ut('<div class="columns" style="margin-bottom:0;margin-top:1rem;" data-v-948e8fa3><div class="column" data-v-948e8fa3><div class="is-font-mont has-text-weight-semibold" data-v-948e8fa3>In PlayMetrics</div></div><div class="column is-narrow" data-v-948e8fa3><div class="spacer" data-v-948e8fa3></div></div><div class="column" data-v-948e8fa3><div class="is-font-mont has-text-weight-semibold" data-v-948e8fa3>Uploaded CSV File</div></div></div>',1)),(d(!0),h(G,null,ue(i.columns,f=>(d(),x(u,{key:f.id,ref_for:!0,ref:f.id,"mapping-key":f,"possible-values":s.availableColumnsFromFile,value:s.headersFromFileByColumn[f.id],placeholder:"Select Column","error-message":s.messageForField(f),onInput:v=>s.handleSelectColumnMapping(f.id,v),onClearValue:v=>s.handleSelectColumnMapping(f.id)},null,8,["mapping-key","possible-values","value","error-message","onInput","onClearValue"]))),128)),e[4]||(e[4]=r("div",{class:"is-font-mont has-text-weight-bold is-text-size-5",style:{"margin-top":"3rem"}}," Clearance Details ",-1)),e[5]||(e[5]=r("div",{class:"is-italic has-text-blue-slate-light",style:{"margin-top":"0.5rem"}}," Map to at least one of the following clearance detail columns. ",-1)),a.errors.clearances?(d(),h("div",fA,[n(m,{class:"has-text-danger",icon:["fas","info-circle"],style:{"margin-right":"0.5rem"}}),e[0]||(e[0]=p(" To proceed, this import needs to pertain to at least one of your clearance's dates. ",-1))])):k("",!0),e[6]||(e[6]=Ut('<div class="columns" style="margin-bottom:0;margin-top:1rem;" data-v-948e8fa3><div class="column" data-v-948e8fa3><div class="is-font-mont has-text-weight-semibold" data-v-948e8fa3>In PlayMetrics</div></div><div class="column is-narrow" data-v-948e8fa3><div class="spacer" data-v-948e8fa3></div></div><div class="column" data-v-948e8fa3><div class="is-font-mont has-text-weight-semibold" data-v-948e8fa3>Uploaded CSV File</div></div></div>',1)),(d(!0),h(G,null,ue(i.clearanceColumns,f=>(d(),x(u,{key:f.id,"mapping-key":f,"possible-values":s.availableColumnsFromFile,value:s.headersFromFileByColumn[f.id],placeholder:"Select Column","error-message":s.messageForField(f),onInput:v=>s.handleSelectClearanceColumnMapping(f.id,v),onClearValue:v=>s.handleSelectColumnMapping(f.id)},null,8,["mapping-key","possible-values","value","error-message","onInput","onClearValue"]))),128))])}const gA=ie(uA,[["render",hA],["__scopeId","data-v-948e8fa3"]]),pA={components:{Modal:Qe},props:{data:{type:Object,default:()=>{}},subject:{type:String,default:""},numToCreate:{type:Number,default:-1},numToUpdate:{type:Number,default:-1},numToSkip:{type:Number,default:-1},downloadInProgress:{type:Boolean,default:!1},importInProgress:{type:Boolean,default:!1},saveInProgress:{type:Boolean,default:!1}},emits:["closeModal","dismissModal","import","summary"],computed:{loading(){return this.data===null},disableImport(){const t=this.numToCreate>0||this.numToUpdate>0;return this.saveInProgress||!t},errorsLength(){var t;return((t=this.data.errors)==null?void 0:t.length)||0},messagesLength(){var t;return((t=this.data.messages)==null?void 0:t.length)||0},errorsTitle(){const t=this.errorsLength,e=this.messagesLength;return t===0&&e===0?"":"".concat(t+e," Error").concat(t+e>1?"s":"")}},methods:{showModal(){this.$refs.modal.showModal()},dismissModal(){this.$refs.modal.dismissModal(),this.$emit("dismissModal")}}},_A={class:"columns has-background-white-bis",style:{padding:"1rem"}},yA={key:0,class:"column"},vA={class:"is-font-mont has-text-weight-semibold"},bA={class:"is-font-mont has-text-weight-bold is-text-size-3"},CA={key:1,class:"column"},SA={class:"is-font-mont has-text-weight-semibold"},kA={class:"is-font-mont has-text-weight-bold is-text-size-3"},wA={key:2,class:"column"},TA={class:"is-font-mont has-text-weight-semibold"},xA={class:"is-font-mont has-text-weight-bold is-text-size-3"},FA={key:0,style:{"margin-top":"3rem"}},AA={class:"is-font-mont has-text-weight-bold is-text-size-5",style:{"margin-bottom":"0.5rem"}},MA={class:"columns",style:{margin:"0"}},DA={class:"column has-text-danger",style:{"padding-left":"0"}},RA={class:"column is-narrow has-text-blue-slate-light"},IA={key:0,style:{margin:"0.5rem 0"}},EA={class:"columns",style:{margin:"0"}},VA={class:"column has-text-danger",style:{"padding-left":"0"}},PA={class:"column is-narrow has-text-blue-slate-light"},BA={key:0,style:{margin:"0.5rem 0"}};function qA(t,e,i,l,a,s){const u=c("spinner"),m=c("b-button"),f=c("Modal");return d(),x(f,{ref:"modal",title:"Import Summary",onCloseModal:e[2]||(e[2]=v=>t.$emit("closeModal"))},{footer:o(()=>[r("div",null,[n(m,{class:"has-text-primary no-focus",disabled:s.loading||i.saveInProgress,loading:i.downloadInProgress,"icon-left":"download",onClick:e[0]||(e[0]=v=>t.$emit("summary"))},{default:o(()=>[...e[3]||(e[3]=[p(" Download Summary ",-1)])]),_:1},8,["disabled","loading"]),n(m,{class:"is-primary",disabled:s.loading||s.disableImport,loading:i.importInProgress,onClick:e[1]||(e[1]=v=>t.$emit("import"))},{default:o(()=>[p(" Import "+_(i.subject)+"s ",1)]),_:1},8,["disabled","loading"])])]),default:o(()=>[s.loading?(d(),x(u,{key:0})):(d(),h(G,{key:1},[r("div",_A,[i.numToCreate>=0?(d(),h("div",yA,[r("div",vA,_(i.subject)+"s creating ",1),r("div",bA,_(i.numToCreate.toLocaleStr
1ing()),1)])):k("",!0),i.numToUpdate>=0?(d(),h("div",CA,[r("div",SA,_(i.subject)+"s modifying ",1),r("div",kA,_(i.numToUpdate.toLocaleString()),1)])):k("",!0),i.numToSkip>=0?(d(),h("div",wA,[r("div",TA,_(i.subject)+"s skipping ",1),r("div",xA,_(i.numToSkip.toLocaleString()),1)])):k("",!0)]),s.errorsLength||s.messagesLength?(d(),h("div",FA,[r("div",AA,_(s.errorsTitle),1),(d(!0),h(G,null,ue(i.data.errors,(v,y)=>(d(),h("div",{key:"".concat(y,"-").concat(v.message)},[r("div",MA,[r("div",DA,_(v.message),1),r("div",RA," Line "+_(v.line),1)]),y!==s.errorsLength-1||s.messagesLength?(d(),h("hr",IA)):k("",!0)]))),128)),(d(!0),h(G,null,ue(i.data.messages,(v,y)=>(d(),h("div",{key:"".concat(y,"-").concat(v.message)},[r("div",EA,[r("div",VA,_(v.message),1),r("div",PA," Line "+_(v.line),1)]),y!==s.messagesLength-1?(d(),h("hr",BA)):k("",!0)]))),128))])):k("",!0)],64))]),_:1},512)}const OA=ie(pA,[["render",qA],["__scopeId","data-v-46932004"]]),Is=Q({showError:!1}),UA=t=>t==="Import Status"||t==="Import Comments",LA={components:{ImportMappingModal:Ol,ColumnMapping:gA,ImportSummaryModal:OA},props:{league:{type:Object,default:()=>{}},subject:{type:String,default:""}},emits:["refresh","input","submit"],data(){return{loading:!0,file:null,currentStepIdx:-1,parsedCSV:{},previousMappings:null,column_mapping:{},hasErrors:!1,exiting:!1,uploadInProgress:!1,draft:null,data:null,downloadInProgress:!1,importInProgress:!1,saveInProgress:!1,dateTimeFormat:"MM/DD/YYYY",initialParsedCSV:{},initialFile:null}},computed:{steps(){return[{id:"columns",display:"Column Mapping"}]},currentStep(){return this.steps[this.currentStepIdx]||{}},isCoachImport(){return this.subject==="Coach Clearance"},isTeamStaffImport(){return this.subject==="Team Staff Clearance"},hasLeagueTrackingPermission(){return xt(this.$store,Kt)},coachClearanceRequirements(){return this.league.sanctioning_body&&this.league.sanctioning_body.sanctioning_body_clearance_requirements.filter(t=>t.coach_required)},managerClearanceRequirements(){return this.league.sanctioning_body&&this.league.sanctioning_body.sanctioning_body_clearance_requirements.filter(t=>t.team_staff_required)},clearanceRequirementsForSubject(){return this.subject==="Coach Clearance"?this.coachClearanceRequirements:this.managerClearanceRequirements},columns(){const t=[];return t.push({display:"Email",id:"email",types:{string:!0},required:!0,acceptEmpty:!1,alternateNames:["Coach's Email","Team Staff's Email"]},{display:"First Name",id:"first_name",types:{string:!0},required:!1,acceptEmpty:!1,alternateNames:["Coach's First Name","Team Staff's First Name"]},{display:"Last Name",id:"last_name",types:{string:!0},required:!1,acceptEmpty:!1,alternateNames:["Coach's Last Name","Team Staff's Last Name"]}),t},clearanceColumns(){const t=[];return this.hasLeagueTrackingPermission&&this.clearanceRequirementsForSubject.forEach(e=>{const i=e.name.toLowerCase().replaceAll(" ","_");t.push({display:"".concat(e.name," Completion Date"),id:"".concat(i,"_completion_date"),types:{date:!0},required:!0,acceptEmpty:!0,alternateNames:["".concat(i,"_complete")]},{display:"".concat(e.name," Expiration Date"),id:"".concat(i,"_expiration_date"),types:{date:!0},required:!0,acceptEmpty:!0,alternateNames:["".concat(i,"_exp")]})}),t},headersFromFile(){var t,e;return(((e=(t=this.parsedCSV)==null?void 0:t.meta)==null?void 0:e.fields)||[]).filter(i=>!UA(i))},columnTypesFromFile(){const t={};return this.headersFromFile.forEach(e=>{t[e]=[]}),this.parsedCSV.data&&this.parsedCSV.data.forEach(e=>{this.headersFromFile.forEach(i=>{const l=typeof e[i];let a;if(l==="number")a=l;else if(l==="string"){const s=e[i].match(ft.CHARACTER_REGEX)&&!e[i].match(ft.ENDS_IN_AM_PM_REGEX);e[i].match(ze.PHONE_NUMBER_REGEX)?a=l:!s&&new Date(e[i]).toString()!=="Invalid Date"?a="date":!s&&new Date("1970-01-01 ".concat(e[i]))?a="time":a=l}a&&t[i].indexOf(a)===-1&&t[i].push(a)})}),t},columnSubject(){return this.subject==="Coach Clearance"?"Coach":"Team Staff"},numToUpdate(){return this.data&&this.data.created+this.data.updated},numToSkip(){return this.data&&this.data.skipped+this.data.skipped_with_errors+this.data.not_changed}},methods:{showModal(t){this.$store.commit("setChatHide",!0),this.$refs.modal.show(),this.loading=!0,this.column_mapping={},this.exiting=!1,Promise.all([Is.get("club_admin/club_leagues/".concat(this.league.id,"/clearances/import/mappings")).then(e=>{this.previousMappings=e.data}).catch(()=>{}),new Promise((e,i)=>{t.type==="file"?(this.file=t.file,e(this.file)):i(new Error("Invalid input type: ".concat((t==null?void 0:t.type)||"undefined")))}).then(e=>new Promise((i,l)=>{cs.parse(e,{complete:i,download:typeof e=="string",dynamicTyping:!0,error:l,header:!0,worker:!0})})).then(e=>{this.parsedCSV=e,this.initialFile=new File([this.file],this.file.name),this.initialParsedCSV=T.cloneDeep(this.parsedCSV)})]).then(()=>{this.currentStepIdx=0,ft.autoMapColumns(this.column_mapping,this.previousMappings.column_mapping,this.columns,this.headersFromFile),ft.autoMapColumns(this.column_mapping,this.previousMappings.column_mapping,this.clearanceColumns,this.headersFromFile),this.loading=!1}
1).catch(e=>{console.error(e),this.dismissModal()})},dismissModal(t=!1){t&&this.$emit("refresh"),this.$refs.modal.dismiss(),this.$store.commit("setChatHide",!1)},confirmDismiss(t=!1){this.$confirm.showModal({message:"There are outstanding changes that have not been imported. These changes will not be finalized until they are imported.<br><br>Are you sure you want to exit?",title:"Unfinished Changes",type:"is-danger",confirmText:"Exit Without Finishing",icon:"minus-hexagon",onConfirm:()=>{this.exiting=!0,this.dismissModal(t)}})},findMappedName(t){const e=this.clearanceColumns.find(s=>mt.insensitiveContains(s.id,t)),i=[e.id,...e.alternateNames];let l,a;return i.forEach(s=>{Object.keys(this.column_mapping).forEach(m=>{ft.toStandardFormat(this.column_mapping[m])===ft.toStandardFormat(s)&&(l=m,a=s)})}),{mappedName:l,usedName:a}},handleAddingDynamicExpirationDate(t){const e=this.clearanceColumns.filter(i=>mt.insensitiveContains(i.id,"completion_date")&&Object.keys(this.column_mapping).some(l=>mt.insensitiveEquals(i.id,l)||i.alternateNames.some(a=>mt.insensitiveEquals(a,l))));return e.forEach(i=>{const l=this.findMappedName(i.id);i.mappedName=l.mappedName;const a=l.usedName.replace("completion_date","expiration_date"),s=this.findMappedName(a);i.associatedMappedName=s.mappedName}),t.data.forEach(i=>{e.forEach(l=>{var a,s,u;if(i[l.mappedName]!=null){const m=ft.toStandardFormat((a=l.id)==null?void 0:a.replace("_completion_date","")),f=this.clearanceRequirementsForSubject.find(v=>ft.toStandardFormat(v.name)===m);i[l.mappedName]&&!i[l.associatedMappedName]&&f&&((s=f.extra)!=null&&s.clearance_requirement_expiry_anniversary?i[l.associatedMappedName]=this.calculateExpiryAnniversary(i[l.mappedName],f.extra.clearance_requirement_expiry_anniversary):(u=f.extra)!=null&&u.clearance_requirement_expiry_period&&(i[l.associatedMappedName]=this.calculateExpiryPeriod(i[l.mappedName],f.extra.clearance_requirement_expiry_period)))}})}),t},calculateExpiryAnniversary(t,e){const i=Y(t),l=i.year(),a="".concat(e,"-").concat(l),s=Y(a,"DD-MM-YYYY");return i.isAfter(s)&&s.add(1,"y"),s.format(this.dateTimeFormat)},calculateExpiryPeriod(t,e){const i=parseInt(e,10);if(!(i>=0))return null;const l=Y(t);return mt.insensitiveContains(e,"years")?l.add(i,"y").format(this.dateTimeFormat):mt.insensitiveContains(e,"month")?l.add(i,"M").format(this.dateTimeFormat):mt.insensitiveContains(e,"day")?l.add(i,"d").format(this.dateTimeFormat):null},submit(){this.stepValid()&&(this.parsedCSV=this.handleAddingDynamicExpirationDate(this.parsedCSV),this.file=new Blob([cs.unparse(this.parsedCSV)],{name:this.initialFile.name,type:"text/csv"}),this.data=null,this.file?(this.uploadInProgress=!0,Is.doFileUpload(this.file,()=>{},{}).then(t=>Is.post("club_admin/club_leagues/".concat(this.league.id,"/clearances/import"),{config:{column_mapping:this.column_mapping},upload_url:t.upload_url})).then(t=>{this.draft=t.data,this.file=null,this.uploadInProgress=!1,this.refreshSummary(),this.$refs.summaryModal.showModal()})):(this.refreshSummary(),this.$refs.summaryModal.showModal()))},stepValid(){const t=T.invert(this.column_mapping),e=this.columns.some(l=>!t[l.id]&&l.required);e&&this.$refs.columnMapping.markRequired();const i=!this.clearanceColumns.some(l=>t[l.id]);return i&&this.$refs.columnMapping.markClearancesRequired(),!(e||i)},performSummaryRequest(t){this.saveInProgress=!0;const e={coach_import:this.isCoachImport,staff_import:this.isTeamStaffImport,column_mapping:this.column_mapping},i={config:e};return Is.post("club_admin/club_leagues/".concat(this.league.id,"/clearances/import/").concat(this.draft.id,"/").concat(t),i).then(l=>(this.$emit("input",{...this.draft,config:e}),l)).finally(()=>{this.saveInProgress=!1})},handleSummaryCancel(){this.parsedCSV=this.initialParsedCSV,this.file=this.initialFile},refreshSummary(){this.performSummaryRequest("summary").then(t=>{this.data=t.data})},summarySubmit(){this.importInProgress=!0,this.performSummaryRequest("submit").then(()=>{this.dismissModal(),this.$emit("submit")}).finally(()=>{this.importInProgress=!1})},handleDownloadSummaryCSV(t){this.downloadInProgress=!0,Q().serverURL("club_admin/club_leagues/".concat(this.league.id,"/clearances/import/").concat(this.draft.id,"/summary.csv")).then(e=>{Wa().clickExternalLink(t,e)||window.open(e,"_blank")}).finally(()=>{this.downloadInProgress=!1})},handleImport(){this.summarySubmit()}}};
1function GA(t,e,i,l,a,s){const u=c("spinner"),m=c("ColumnMapping"),f=c("ImportSummaryModal"),v=c("ImportMappingModal");return d(),x(v,{ref:"modal",steps:s.steps,"current-step-idx":a.currentStepIdx,name:"".concat(i.subject," Import"),"tool-name":i.league.name,"next-disabled":a.hasErrors,"next-loading":a.uploadInProgress,onNext:s.submit,onExit:e[2]||(e[2]=y=>s.confirmDismiss(!0))},{default:o(()=>[a.loading||a.exiting?(d(),x(u,{key:0,"loading-message":a.exiting?"Saving and Exiting":""},null,8,["loading-message"])):s.currentStep.id==="columns"?(d(),x(m,{key:1,ref:"columnMapping",modelValue:a.column_mapping,"onUpdate:modelValue":e[0]||(e[0]=y=>a.column_mapping=y),"headers-from-file":s.headersFromFile,columns:s.columns,"clearance-columns":s.clearanceColumns,"column-types-from-file":s.columnTypesFromFile,subject:s.columnSubject,onHasErrors:e[1]||(e[1]=y=>a.hasErrors=y)},null,8,["modelValue","headers-from-file","columns","clearance-columns","column-types-from-file","subject"])):k("",!0),n(f,{ref:"summaryModal",subject:i.subject,data:a.data,"num-to-update":s.numToUpdate,"num-to-skip":s.numToSkip,"download-in-progress":a.downloadInProgress,"import-in-progress":a.importInProgress,"save-in-progress":a.saveInProgress,onSummary:s.handleDownloadSummaryCSV,onImport:s.handleImport,onCloseModal:s.handleSummaryCancel},null,8,["subject","data","num-to-update","num-to-skip","download-in-progress","import-in-progress","save-in-progress","onSummary","onImport","onCloseModal"])]),_:1},8,["steps","current-step-idx","name","tool-name","next-disabled","next-loading","onNext"])}const NA=ie(LA,[["render",GA]]),jA={key:0},YA={class:"is-font-mont"},zA={class:"has-text-weight-medium"},sn={__name:"SetTeamAccess",props:{league:{type:Object,required:!0}},emits:["dismissModal"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=H(null),u=H(null),m=_e("modal");function f(g,b){s.value=g,u.value=b,m.value.showModal()}function v(g={refreshData:!1}){a("dismissModal",g),m.value.close()}e({showModal:f});function y(){const g=u.value.map(b=>({team_id:b.id,status:b.is_locked?"clearance_required":"cleared"}));Q().post("club_admin/club_leagues/".concat(l.league.id,"/league_official/").concat(s.value.user_id,"/set_team_access"),g).then(()=>{v({refreshData:!0})})}return(g,b)=>{const S=c("b-switch"),F=c("b-field");return d(),x($(pt),{ref:"modal",title:"Set Team Access",size:"sm"},{footer:o(()=>[r("button",{class:"button is-primary",onClick:y}," Save Changes ")]),default:o(()=>[s.value?(d(),h("div",jA,[r("p",null,[b[0]||(b[0]=p(" If team access is enabled for a league team, ",-1)),r("b",null,_(s.value.display_name),1),b[1]||(b[1]=p(" can view the team without completing all clearance requirements. ",-1))]),b[4]||(b[4]=r("br",null,null,-1)),r("div",YA,[b[2]||(b[2]=r("p",{class:"has-text-weight-semibold"},"Team Access Status:",-1)),b[3]||(b[3]=r("br",null,null,-1)),(d(!0),h(G,null,ue(u.value,w=>(d(),h("div",{key:w.id,class:"mb-3"},[n(F,null,{default:o(()=>[n(S,{modelValue:w.is_locked,"onUpdate:modelValue":C=>w.is_locked=C,"true-value":!1,"false-value":!0},{default:o(()=>[r("span",zA,_(w.name),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024)]))),128))])])):k("",!0)]),_:1},512)}}},HA={class:"columns"},$A={class:"column pb-2"},WA={class:"is-font-mont has-text-weight-semibold"},QA={class:"is-flex is-align-items-center"},JA={class:"eyebrow-header"},KA={__name:"MembershipVerificationToolMemberCard",props:{member:{type:Object,required:!0},isSelected:{type:Boolean,default:!1},showVerificationStatus:{type:Boolean,default:!1}},setup(t){const e=t,i=A(()=>e.isSelected?"selected":""),l=A(()=>{var a,s;switch((s=(a=e.member)==null?void 0:a.status)==null?void 0:s.toLowerCase()){case Il:return{class:"success-tag",icon:["far","check"],text:"Verified"};case Rl:return{class:"danger-tag",text:"Expired"};default:return{class:"grey-tag",text:"Not Verified"}}});return(a,s)=>(d(),h("div",{class:Ce(["box member-card clickable",i.value])},[r("div",HA,[r("div",$A,[r("p",WA,_(t.member.first_name)+" "+_(t.member.last_name),1),r("div",QA,[r("span",JA,_(t.member.rolesDisplay),1),n(qt,{class:"ml-2",data:l.value},null,8,["data"])])])])],2))}},XA=ie(KA,[["__scopeId","data-v-f6216c71"]]),ZA={class:"columns is-vcentered"},eM={class:"column"},tM={class:"column is-narrow"},sM={class:"staff-list"},iM={key:0},aM={__name:"MembershipVerificationToolMemberList",props:{members:{type:Array,required:!0},selectedMember:{type:Object,default:null},showVerificationStatus:{type:Boolean,default:!1}},emits:["update:selectedMember"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=H(!1),u=H(""),m=H([]),f=H([]),v=A(()=>!!(m.value.length||f.value.length)),y=A(()=>{var w;return((w=l.members)==null?void 0:w.length)===1}),g=A(()=>{let w=l.members||[];if(m.value.length&&(w=w.filter(C=>O.intersection(m.value,C.roles).length>0)),f.value.length&&(w=w.filter(C=>f.value.includes(C.status))),u.value.length){const C=u.value.toLowerCase();w=w.filter(D=>D.display_name.toLowerCase().includes(C))}return w});function b(w){a("update:selectedMember",w)}function S(){m.value=[],f.value=[],s.value=!1}function F(){const w=g.value.indexOf(l.selectedMember);w<g.value.length-1?b(g.value[w+1]):w>0&&b(g.value[0])}return e({goToNext:F}),(w,C)=>{const D=c("b-input"),B=c("b-field"),N=c("b-button"),M=c("b-checkbox");return d(),h("div",{class:"membership-verification-staff-list",onClick:C[11]||(C[11]=I=>s.value=!1)},[r("div",ZA,[r("div",eM,[n(B,null,{default:o(()=>[n(D,{modelValue:u.value,"onUpdate:modelValue":C[0]||(C[0]=I=>u.value=I),"aria-label":"Search staff",icon:"search",placeholder:"Search for...",disabled:y.value},null,8,["modelValue","disabled"])]),_:1})]),r("div",tM,[n(Al,{"aria-label":"Filter staff","filters-active":v.value,"icon-only":"","use-secondary-filter-menu":"",disabled:y.value,onToggleSecondFilterTrayOpen:C[1]||(C[1]=I=>s.value=!s.value)},null,8,["filters-active","disabled"])])]),r("div",sM,[(d(!0),h(G,null,ue(g.value,I=>(d(),x(XA,{key:I.id,"is-selected":I===t.selectedMember,member:I,"show-verification-status":t.showVerificationStatus,onClick:V=>b(I)},null,8,["is-selected","member","show-verification-status","onClick"]))),128)),g.value.length===0?(d(),h("p",iM," No members found ")):k("",!0)]),n(bn,{name:"memberlist-filter-drawer"},{default:o(()=>[s.value?(d(),h("div",{key:0,class:"membership-verification-staff-list__filter-drawer",title:"Filter Staff",onClick:C[10]||(C[10]=He(()=>{},["stop"]))},[r("div",{class:Ce(["is-flex is-justify-content-space-between is-align-items-center mb-4 mr-3",v.value?"mb-2":"mb-5"])},[n(Ve,{size:"md",text:"Filter Staff"}),n(N,{class:"delete is-medium","aria-label":"close filters",onClick:C[2]||(C[2]=I=>s.value=!1)}
1)],2),v.value?(d(),x(N,{key:0,type:"is-text",class:"pl-0 mb-2",onClick:S},{default:o(()=>[...C[12]||(C[12]=[p(" Clear Filters ",-1)])]),_:1})):k("",!0),n(at,{label:"Status",collapsible:"","default-open":""},{default:o(()=>[n(B,null,{default:o(()=>[n(M,{modelValue:f.value,"onUpdate:modelValue":C[3]||(C[3]=I=>f.value=I),"native-value":"Verified"},{default:o(()=>[...C[13]||(C[13]=[p("Verified",-1)])]),_:1},8,["modelValue"])]),_:1}),n(B,null,{default:o(()=>[n(M,{modelValue:f.value,"onUpdate:modelValue":C[4]||(C[4]=I=>f.value=I),"native-value":"Needs Attention"},{default:o(()=>[...C[14]||(C[14]=[p("Not Verified",-1)])]),_:1},8,["modelValue"])]),_:1}),n(B,null,{default:o(()=>[n(M,{modelValue:f.value,"onUpdate:modelValue":C[5]||(C[5]=I=>f.value=I),"native-value":"Expired"},{default:o(()=>[...C[15]||(C[15]=[p("Expired",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(at,{label:"Role",collapsible:"","default-open":""},{default:o(()=>[n(B,null,{default:o(()=>[n(M,{modelValue:m.value,"onUpdate:modelValue":C[6]||(C[6]=I=>m.value=I),"native-value":"Coach"},{default:o(()=>[...C[16]||(C[16]=[p("Coach",-1)])]),_:1},8,["modelValue"])]),_:1}),n(B,null,{default:o(()=>[n(M,{modelValue:m.value,"onUpdate:modelValue":C[7]||(C[7]=I=>m.value=I),"native-value":"Manager"},{default:o(()=>[...C[17]||(C[17]=[p("Team Staff",-1)])]),_:1},8,["modelValue"])]),_:1}),n(B,null,{default:o(()=>[n(M,{modelValue:m.value,"onUpdate:modelValue":C[8]||(C[8]=I=>m.value=I),"native-value":"Director"},{default:o(()=>[...C[18]||(C[18]=[p("Club Staff",-1)])]),_:1},8,["modelValue"])]),_:1}),n(B,null,{default:o(()=>[n(M,{modelValue:m.value,"onUpdate:modelValue":C[9]||(C[9]=I=>m.value=I),"native-value":"Volunteer"},{default:o(()=>[...C[19]||(C[19]=[p("Volunteer",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})])):k("",!0)]),_:1})])}}},lM=ie(aM,[["__scopeId","data-v-c423dd4a"]]),nM={class:"membership-verification-member-area__header"},rM={class:"level"},oM={class:"level-left is-flex-shrink-1"},dM={class:"eyebrow-header"},uM={class:"is-flex is-align-items-center"},cM={class:"is-font-mont has-text-weight-semibold"},mM={class:"level-right"},fM={class:"level-item"},hM={class:"level-item"},gM={class:"level-item"},pM={__name:"MembershipVerificationToolMemberReviewHeader",props:{member:{type:Object,required:!0}},emits:["reject","verify","requestUpdates"],setup(t){const e=t,i=A(()=>{var u,m;return((u=e.member)==null?void 0:u.requirements.in_review.length)||((m=e.member)==null?void 0:m.requirements.incomplete.length)}),l=A(()=>be.isOfficialVerified(e.member)),a=A(()=>i.value||l.value),s=A(()=>{var u,m;switch((m=(u=e.member)==null?void 0:u.status)==null?void 0:m.toLowerCase()){case Il:return{class:"success-tag",icon:["far","check"],text:"Verified"};case Rl:return{class:"danger-tag",text:"Expired"};default:return{class:"grey-tag",text:"Not Verified"}}});return(u,m)=>{const f=c("b-button");return d(),h("div",nM,[r("div",rM,[r("div",oM,[r("div",null,[r("span",dM,_(t.member.rolesDisplay),1),r("div",uM,[r("p",cM,_(t.member.first_name)+" "+_(t.member.last_name),1),n(qt,{class:"ml-2",data:s.value},null,8,["data"])])])]),r("div",mM,[r("div",fM,[n(f,{class:"is-primary is-outlined",disabled:l.value||!i.value,onClick:m[0]||(m[0]=v=>u.$emit("requestUpdates"))},{default:o(()=>[...m[3]||(m[3]=[p(" Request Updates ",-1)])]),_:1},8,["disabled"])]),r("div",hM,[n(f,{class:"is-danger is-outlined",onClick:m[1]||(m[1]=v=>u.$emit("reject"))},{default:o(()=>[...m[4]||(m[4]=[p(" Reject ",-1)])]),_:1})]),r("div",gM,[n(f,{class:"is-primary",disabled:a.value,onClick:m[2]||(m[2]=v=>u.$emit("verify"))},{default:o(()=>[...m[5]||(m[5]=[p(" Verify ",-1)])]),_:1},8,["disabled"])])])])])}}},_M=ie(pM,[["__scopeId","data-v-81b77c26"]]),yM={class:"completion-date"},vM={class:"columns mb-0 is-vcentered"},bM={class:"column is-narrow"},CM={key:0,class:"completion-date__min-date-message"},SM={__name:"MemberShipVerificationCompletionDate",props:{gracePeriod:{type:Number,default:0},minDate:{type:Date,default:null},readonly:{type:Boolean,default:!1},modelValue:{type:String,default:""},hideMinDateMessage:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const i=t,l=H(""),a=A(()=>
1!!l.value),s=e,u=new Date,m=A(()=>i.gracePeriod?"Completion date cannot occur more than ".concat(Fe(i.gracePeriod,"day")," before the season's start date"):"");function f(v){l.value="";const y=Y(v);if(!y||Y(i.minDate).isAfter(y)||Y(u).isBefore(y)){l.value="Please provide a valid date";return}s("update:modelValue",v)}return(v,y)=>{const g=c("b-field");return d(),h("div",yM,[r("div",vM,[y[0]||(y[0]=r("div",{class:"column is-narrow"},[r("span",{class:"completion-date__label"},"Completion Date:")],-1)),r("div",bM,[n(g,{class:"mt-0",message:l.value,type:a.value?"is-danger":""},{default:o(()=>[n(nd,{"model-value":t.modelValue,disabled:t.readonly,placeholder:"Select Date",icon:"calendar",readonly:t.readonly,"max-date":$(u),"min-date":t.minDate,position:"is-bottom-left","onUpdate:modelValue":f},null,8,["model-value","disabled","readonly","max-date","min-date"])]),_:1},8,["message","type"])])]),t.gracePeriod&&!t.hideMinDateMessage?(d(),h("p",CM,_(m.value),1)):k("",!0)])}}},bi=ie(SM,[["__scopeId","data-v-7b5d1a3b"]]),kM={__name:"MembershipVerificationToolClearanceStatusTag",props:{staffer:{type:Object,required:!0},requirement:{type:Object,required:!0}},setup(t){const e=t,i=A(()=>{var a,s,u;return((u=(a=e.staffer)==null?void 0:a.clearance_requirements_by_id)==null?void 0:u[(s=e.requirement)==null?void 0:s.id])||{}}),l=A(()=>i.value.expiry_date&&Y(i.value.expiry_date).isSameOrBefore(Y(),"day")?{text:"Expired",class:"danger-tag"}:i.value.approved_at?{text:"Completed",icon:["fas","check"],class:"success-tag is-success is-light"}:i.value.completed_by_user_id?{text:"Pending",class:"warning-tag"}:{text:"Incomplete",icon:["far","circle-exclamation"],class:"warning-tag--light is-warning is-light"});return(a,s)=>{const u=c("fa-icon"),m=c("b-tag");return d(),x(m,{rounded:"",class:Ce(["clearance-tag",l.value.class])},{default:o(()=>[l.value.icon?(d(),x(u,{key:0,icon:l.value.icon,class:"clearance-icon mr-1"},null,8,["icon"])):k("",!0),r("span",null,_(l.value.text),1)]),_:1},8,["class"])}}},Vs=ie(kM,[["__scopeId","data-v-a11b2dd0"]]),wM={class:"px-5 pb-4 pt-3"},TM={class:"is-flex is-justify-content-space-between"},xM={class:"is-flex is-align-items-center"},FM={key:1,class:"requirement__completion-details"},AM={class:"is-flex is-justify-content-space-between is-align-items-center"},MM={key:0,class:"requirement__completion-details__attribution"},DM={key:1,class:"requirement__completion-details__attribution"},RM={class:"mt-3"},IM=["href"],EM={class:"is-flex is-align-items-center"},VM={class:"resource-list"},PM={class:"pl-4 pr-4"},BM={class:"bis-box"},qM={class:"pl-4 pr-4 mt-6"},Es="MMM D, YYYY",OM="h:mm A",UM={__name:"MembershipVerificationToolMemberVerificationRequirement",props:{league:{type:Object,required:!0},staffer:{type:Object,required:!0},requirement:{type:Object,required:!0},screeningApplicants:{type:Object,required:!0}},emits:["update:staffer"],setup(t,{emit:e}){const i=t,l=e,{formatDate:a}=Xe(),s=lt(),u=A(()=>s.getters.user),m=Ei("isUsingJdp"),f=A(m),v=H([]),y=H([]),g=H(!1),b=H(""),S=_e("fileUploadModal"),F=A(()=>"Upload ".concat(i.requirement.name," Certificate")),w=A(()=>g.value||!S.value.fileSelectionComplete),C=A(()=>be.isOfficialVerified(i.staffer)),D=A(()=>{var R,z,pe;return((pe=(R=i.staffer)==null?void 0:R.clearance_requirements_by_id)==null?void 0:pe[(z=i.requirement)==null?void 0:z.id])||{}});function B(R,z){const pe=be.candidateForOfficial(R,i.screeningApplicants);return be.statusForTag(D.value,z,pe==null?void 0:pe.reports,f.value)}const N=A(()=>B(i.staffer,i.requirement)),M=A(()=>{var R;return["completed","cleared"].includes((R=N.value.text)==null?void 0:R.toLowerCase())});function I(R){return R.type==="file-upload"?"File Upload":"Waiver"}const V=A(()=>I(i.requirement)),P=A(()=>V.value==="File Upload"),E=A(()=>{var R;return!!((R=D.value.resource_ids)!=null&&R.length)}),X=A(()=>{let R=Y(D.value.expiry_date);return(!D.value.expiry_date||!R.isValid())&&(R=be.getClearanceRequirementExpirationDate(i.requirement,D.value)),R?R.format(Es):"Does not expire"});function q(){b.value="",S.value.showModal(v.value)}const he=Se();async function ve(R){if(!(R!=null&&R.length)){S.value.dismissModal();return}v.value=R;const z="/club_admin/club_leagues/".concat(i.league.id,"/club_sanctioning_bodies/").concat(i.league.sanctioning_body_id,"/staff/").concat(i.staffer.id);g.value=!0;
1try{const pe=await da(i.requirement.id,v.value,b.value,z);S.value.dismissModal(),l("update:staffer",{...i.staffer,clearance_requirements_by_id:{...i.staffer.clearance_requirements_by_id,[i.requirement.id]:pe}})}catch(pe){throw he.error("Error uploading file"),pe}g.value=!1}async function re(){g.value=!0;try{const R=await sd(i.league.id,i.league.sanctioning_body_id,i.staffer.id,i.requirement.id),z={in_review:i.staffer.requirements.in_review.filter(pe=>pe.id!==i.requirement.id),incomplete:i.staffer.requirements.incomplete.filter(pe=>pe.id!==i.requirement.id),complete:[...i.staffer.requirements.complete,i.requirement]};l("update:staffer",{...i.staffer,requirements:z,clearance_requirements_by_id:{...i.staffer.clearance_requirements_by_id,[i.requirement.id]:R}})}catch(R){throw he.error("Error approving requirement"),R}finally{g.value=!1}}async function W(){g.value=!0;try{await ld(i.league.id,i.league.sanctioning_body_id,i.staffer.id,i.requirement.id);const R={incomplete:[...i.staffer.requirements.incomplete,i.requirement],in_review:i.staffer.requirements.in_review,complete:i.staffer.requirements.complete.filter(z=>z.id!==i.requirement.id)};l("update:staffer",{...i.staffer,requirements:R,clearance_requirements_by_id:{...i.staffer.clearance_requirements_by_id,[i.requirement.id]:void 0}})}catch(R){throw he.error("Error unapproving requirement"),R}finally{g.value=!1}}function K(){y.value=[];const R="/club_admin/club_leagues/".concat(i.league.id,"/club_sanctioning_bodies/").concat(i.league.sanctioning_body_id,"/staff/").concat(i.staffer.id);D.value.resource_ids.map(async z=>{const pe=await id(z,!1,R);y.value.push(pe)})}const j=A(()=>Pe(i.requirement)),ge=A(()=>!i.requirement.type),de=A(()=>{var R;return ge.value&&D.value.completed_date?!0:!!(P.value&&D.value.approved_at&&!((R=D.value.resource_ids)!=null&&R.length))}),we=H(de.value),U=A(()=>P.value&&(!M.value||de.value)&&i.requirement.allow_offline_approval),ee=_e("approveOfflineModal"),le=_e("removeOfflineApprovalModal");function me(R){b.value=null,R?ee.value.showModal():le.value.showModal()}function ne(R){R.preventDefault()}async function Ae(){const R="/club_admin/club_leagues/".concat(i.league.id,"/club_sanctioning_bodies/").concat(i.league.sanctioning_body_id,"/staff/").concat(i.staffer.id);await da(i.requirement.id,[],b.value,R),await re(),ee.value.close()}async function ce(){await W(),le.value.close()}const Z=_e("editCompletionDate");function se(){b.value=D.value.completed_date,Z.value.showModal()}async function ke(R,z){const pe="/club_admin/club_leagues/".concat(i.league.id,"/club_sanctioning_bodies/").concat(i.league.sanctioning_body_id,"/staff/").concat(i.staffer.id),Ue=await ad(i.requirement.id,R,z,pe);l("update:staffer",{...i.staffer,clearance_requirements_by_id:{...i.staffer.clearance_requirements_by_id,[i.requirement.id]:Ue}})}async function Me(){try{await ke(D.value.resource_ids,b.value)}catch(R){throw he.error("Error saving completion date"),R}Z.value.close()}async function te(){try{await ke([],null),await W()}catch(R){throw he.error("Error removing resource"),R}}return(R,z)=>{const pe=c("b-button"),Ue=c("b-checkbox"),xe=c("b-field"),J=c("fa-icon"),oe=c("b-dropdown-item"),De=c("b-dropdown"),Ze=c("b-tab-item");return d(),h(G,null,[n($(ms),Cn(Sn(R.$attrs)),{default:o(()=>{var Ee,st;return[r("div",wM,[r("div",TM,[r("div",xM,[n($(Ve),{size:"md"},{default:o(()=>[p(_(t.requirement.name),1)]),_:1}),n(Vs,{class:"ml-3",staffer:t.staffer,requirement:t.requirement},null,8,["staffer","requirement"])]),j.value?k("",!0):(d(),h(G,{key:0},[P.value&&!M.value?(d(),x(pe,{key:0,type:"is-primary",outlined:"","icon-left":"plus",onClick:q},{default:o(()=>[...z[6]||(z[6]=[p("Add Resource",-1)])]),_:1})):D.value.approved_at?k("",!0):(d(),x(pe,{key:1,"icon-left":"check",type:"is-primary",outlined:"",onClick:re},{default:o(()=>[...z[7]||(z[7]=[p(" Approve ",-1)])]),_:1}))],64))]),n($(ps),{"tag-text":V.value},null,8,["tag-text"]),U.value?(d(),x(xe,{key:0,class:"mt-3 mb-0"},{default:o(()=>[n(Ue,{modelValue:we.value,"onUpdate:modelValue":[z[0]||(z[0]=Le=>we.value=Le),me],disabled:C.value,"native-value":!0,onChange:ne},{default:o(()=>[...z[8]||(z[8]=[p("Approved Offline",-1)])]),_:1},8,["modelValue","disabled"])]),_:1})):k("",!0),M.value?(d(),h("div",FM,[r("div",AM,[n($(Ve),{size:"sm",class:"mb-0"},{default:o(()=>[p(_(t.requirement.name),1)]),_:1}),C.value?k("",!0):(d(),x(De,{key:0,position:"is-bottom-left"},{trigger:o(()=>[n(pe,{"aria-label":"Edit requirement actions",type:"is-ghost"},{default:o(()=>[n(J,{icon:["far","ellipsis"]})]),_:1})]),default:o(()=>[n(oe,{onClick:se},{default:o(()=>[...z[9]||(z[9]=[p(" Edit Completion Date ",-1)])]),_:1}),P.value&&E.value?(d(),x(oe,{key:0,onClick:te},{default:o(()=>[...z[10]||(z[10]=[p(" Remove Resource ",-1)])]),_:1})):k("",!0)]),_:1}))]),j.value?k("",!0):(d(),h(G,{key:0},[de.value?(d(),h("div",MM,[z[11]||(z[11]=p(" Approved offline ",-1)),(Ee=D.value.approved_by_user)!=null&&Ee.name?(d(),h(G,{key:0},[p(" by "+_(D.value.approved_by_user.name),1)],64)):k("",!0),p(" on "+_($(a)(D.value.approved_at,Es))+" ",1),D.value.approved_by_user_id?(d(),h(G,{key:1},[p("at "+_($(a)(D.value.approved_at,OM)),1)],64)):k("",!0)])):(d(),h("div",DM,[z[12]||(z[12]=p(" Added ",-1)),(st=D.value.completed_by)!=null&&st.name?(d(),h(G,{key:0},[p(" by "+_(D.value.completed_by.name),1)],64)):k("",!0),p(" on "+_($(a)(D.value.completed_date,Es)),1)]))],64)),r("div",RM,[r("div",null,"Completed: "+_($(a)(D.value.completed_date,Es)),1),r("div",null,"Expires: "+_(X.value),1)]),P.value&&E.value&&!y.value.length?(d(),x(pe,{key:1,type:"is-text",class:"has-text-primary pl-0",onClick:K},{default:o(()=>[...z[13]||(z[13]=[p(" Show Resources ",-1)])]),_:1})):k("",!0),(d(!0),h(G,null,ue(y.value,Le=>(d(),h("div",{key:Le.id},[r("a",{href:Le.url,target:"_blank"},_(Le.name),9,IM)]))),128))])):P.value?(d(),x($(fs),{key:2,"img-src":"",header:"There are no resources available"},{body:o(()=>[r("span",EM,[z[15]||(z[15]=p(" You can either ",-1)),n(pe,{type:"is-text",class:"py-0 px-1 has-text-primary",onClick:q},{default:o(()=>[...z[14]||(z[14]=[p("Add a Resource",-1)])]),_:1}),z[16]||(z[16]=p(" or request information. ",-1))])]),_:1})):k("",!0)])]}),_:1},16),n(rd,{ref:"fileUploadModal",files:v.value,max:1,min:1,saving:g.value,title:F.value,user:u.value,type:"certificate",onAttachFiles:ve},ht({default:o(()=>[r("div",PM,[r("div",BM,[z[17]||(z[17]=r("p",{class:"mb-2"},"Provide when this clearance was completed.",-1)),n(bi,{modelValue:b.value,"onUpdate:modelValue":z[1]||(z[1]=Ee=>b.value=Ee),readonly:w.value},null,8,["modelValue","readonly"])])])]),_:2},[y.value.length>0?{name:"tab",fn:o(()=>[n(Ze,{label:"Resources"},{default:o(()=>[r("div",VM,[(d(!0),h(G,null,ue(y.value,(Ee,st)=>(d(),x(od,{key:"existing_".concat(Ee.url),file:Ee,"is-selected":S.value.fileIsSelected(Ee),"is-last":st===y.value.length-1,disabled:S.value.fileIsDisabled(Ee),onUpdateSelected:Le=>S.value.updateSelectedFiles(Le,Ee)},null,8,["file","is-selected","is-last","disabled","onUpdateSelected"]))),128))])]),_:1})]),key:"0"}:void 0]),1032,["files","saving","title","user"]),n($(rt),{ref_key:"approveOfflineModal",ref:ee,title:"Offline File Approval",icon:["far","check-circle"],type:"is-primary","confirm-button-text":"Yes, Approve Requirement",disabled:!b.value,loading:g.value,onConfirm:Ae,onClose:z[3]||(z[3]=Ee=>we.value=de.value)},{default:o(()=>[z[18]||(z[18]=r("p",null,[p(" If you continue, you are confirming that the member has provided the necessary files to verify this requirement offline. "),r("br"),r("br"),p(" Are you sure you want to continue? ")],-1)),r("div",qM,[n(bi,{modelValue:b.value,"onUpdate:modelValue":z[2]||(z[2]=Ee=>b.value=Ee)},null,8,["modelValue"])])]),_:1},8,["disabled","loading"]),n($(rt),{ref_key:"removeOfflineApprovalModal",ref:le,title:"Remove Offline Approval",icon:["far","hexagon-minus"],type:"is-danger",size:"sm","confirm-button-text":"Yes, Mark as Incomplete",loading:g.value,onConfirm:ce,onClose:z[4]||(z[4]=Ee=>we.value=de.value)},{default:o(()=>[...z[19]||(z[19]=[r("p",null,[p(" If you continue, this file upload requirement will be reverted back to an Incomplete status "),r("br"),r("br"),p(" Are you sure you want to continue? ")],-1)])]),_:1},8,["loading"]),n($(pt),{ref:"editCompletionDate",title:"Edit Completion Date",size:"sm"},{footer:o(()=>[n(pe,{type:"is-primary",onClick:Me},{default:o(()=>[...z[20]||(z[20]=[p(" Save ",-1)])]),_:1})]),default:o(()=>
1[n(bi,{modelValue:b.value,"onUpdate:modelValue":z[5]||(z[5]=Ee=>b.value=Ee)},null,8,["modelValue"])]),_:1},512)],64)}}},Ia=ie(UM,[["__scopeId","data-v-14b157d6"]]),LM={key:0},GM={class:"is-font-mont has-text-weight-medium"},NM={key:0,class:"has-text-blue-slate is-text-size-7 is-italic has-text-weight-normal is-font-fira ml-1"},jM={key:1,class:"has-text-blue-slate is-text-size-7 is-italic has-text-weight-normal is-font-fira ml-1"},YM={__name:"MembershipVerificationToolRequestUpdatesModal",props:{staffer:{type:Object,required:!0},requirements:{type:Array,default:()=>[]},league:{type:Object,required:!0}},emits:["update"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=Se(),u=lt(),m=H([]),f=H(""),v=H(!1),y=A(()=>m.value.length===0);function g(N){var M,I;return N.type!=="file-upload"?!1:l.staffer.clearance_requirements_by_id[N.id]&&!((I=(M=l.staffer.clearance_requirements_by_id[N.id])==null?void 0:M.resource_ids)!=null&&I.length)}function b(N){const M=l.staffer.clearance_requirements_by_id[N.id];if(!M)return!1;const I=be.getClearanceRequirementExpirationDate(N,M);return!!(I&&I.isBefore(Y().tz(u.getters.clubDetails.timezone)))}function S(N){return l.staffer.clearance_requirements_by_id[N.id]}function F(N){const M=S(N);return M?!M.approved_at&&!M.completed_by_user_id:!0}const w=_e("modal");function C(){m.value=l.requirements.filter(N=>F(N)).map(N=>N.id),f.value="",w.value.showModal()}function D(){w.value.close()}async function B(){v.value=!0;const N="/club_admin/club_leagues/".concat(l.league.id,"/club_sanctioning_bodies/").concat(l.league.sanctioning_body_id,"/staff/").concat(l.staffer.id,"/request_more_info"),M={requirements:m.value,message:f.value};try{await Q().post(N,M)}catch(I){throw s.error("Error requesting updates"),I}finally{v.value=!1}a("update"),s.success("Request Sent"),D()}return e({showModal:C,close:D}),(N,M)=>{const I=c("b-checkbox"),V=c("b-input"),P=c("b-field"),E=c("b-button");return d(),x($(pt),{ref_key:"modal",ref:w,title:"Request Information"},{footer:o(()=>[n(E,{disabled:y.value||v.value,loading:v.value,type:"is-primary",onClick:M[2]||(M[2]=X=>B())},{default:o(()=>[...M[6]||(M[6]=[p(" Send Request ",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>[t.staffer?(d(),h("div",LM,[M[3]||(M[3]=r("p",{class:"mb-5"},"Send a message to the staff member requesting the selected resources",-1)),M[4]||(M[4]=r("p",{class:"is-font-mont has-text-weight-semibold"},"Select Requirements",-1)),r("div",GM,[(d(!0),h(G,null,ue(t.requirements,X=>(d(),h("div",{key:X.id,class:"pt-5"},[n(I,{modelValue:m.value,"onUpdate:modelValue":M[0]||(M[0]=q=>m.value=q),"native-value":X.id},{default:o(()=>[p(_(X.name)+" ",1),g(X)?(d(),h("span",NM," (Missing Resource) ")):k("",!0),b(X)?(d(),h("span",jM," (Expired) ")):k("",!0)]),_:2},1032,["modelValue","native-value"])]))),128))]),M[5]||(M[5]=r("p",{class:"mt-5 mb-2"},[r("span",{class:"is-font-mont has-text-weight-semibold"},"Message"),r("span",{class:"is-italic has-text-blue-slate"},"Â (optional)")],-1)),n(P,null,{default:o(()=>[n(V,{modelValue:f.value,"onUpdate:modelValue":M[1]||(M[1]=X=>f.value=X),maxlength:"250",type:"textarea"},null,8,["modelValue"])]),_:1})])):k("",!0)]),_:1},512)}}},zM={class:"modal-body"},HM={key:1,class:"verification-modal__member-review"},$M={class:"verification-modal__member-review__header"},WM={class:"columns verification-modal__member-review__member-section"},QM={class:"column verification-modal__member-review__member-info"},JM={class:"column verification-modal__member-review__requirements"},KM={class:"is-flex is-justify-content-space-between mb-3"},XM={class:"box flat-box"},ZM={key:0},eD={__name:"MembershipVerificationTool",props:{league:{type:Object,required:!0},screeningApplicants:{type:Object,required:!0}},emits:["refresh"],setup(t,{expose:e,emit:i}){const l=t,a=i,s=H([]),u=H(null),m=H(!1),f=A(()=>{var le,me,ne;return((ne=(me=(le=l.league)==null?void 0:le.sanctioning_body)==null?void 0:me.sanctioning_body_clearance_requirements)==null?void 0:ne.filter(Ae=>!Ae.archived_at))||[]}),v=A(()=>(u.value.roles||[]).includes(Bs)),y=A(()=>(u.value.roles||[]).includes(qs)),g=A(()=>(u.value.roles||[]).includes(Os)),b=A(()=>(u.value.roles||[]).includes(Gs)),S=A(()=>u.value?f.value.filter(le=>le.coach_required&&v.value||le.team_staff_required&&y.value||le.club_director_required&&g.value||b.value&&O.intersection(le.volunteer_position_ids,u.value.position_ids).length>0):[]),F=A(()=>S.value.filter(le=>!Pe(le))),w=A(()=>F.value.filter(le=>{var me;return!((me=u.value.clearance_requirements_by_id[le.id])!=null&&me.approved_at)})),C=A(()=>S.value.filter(le=>Pe(le)));function D(le){const me=s.value.indexOf(u.value);s.value[me]=le,u.value=le,m.value=!0}const B=_e("modal");function N(le){s.value=O.cloneDeep(le),s.value.sort(Jo),u.value=s.value[0],m.value=!1,B.value.showModal()}function M(){m.value&&a("refresh"),B.value.close()}const I=_e("requestUpdatesModal");function V(){I.value.showModal()}const P=_e("memberList"),E=Se();async function X(){const le="/club_admin/club_leagues/".concat(l.league.id,"/club_sanctioning_bodies/").concat(l.league.sanctioning_body_id,"/staff/").concat(u.value.id,"/verify");try{await Q({showError:!1}).post(le),m.value=!0}catch(me){throw me.response.data.error?E.error(me.response.data.error):E.error("Error verifying staffer"),me}s.value.length>1?P.value.goToNext():(M(),E.success("Staffer verified"))}const q=A(()=>{var le,me;return(me=(le=l.league)==null?void 0:le.extra)==null?void 0:me.require_clearances}),he=A(()=>!!be.isOfficialVerified(u.value));function ve(le){const me=ed(le,u.value);let ne=!1;return me.forEach(Ae=>{ne=ne||Ae.cleared_status!==td}),ne}function re(le){var Ae,ce,Z;const me=u.value,ne=[];return(Ae=le.managers)!=null&&Ae.some(se=>
1se.user_id===me.id)&&ne.push(Ti),(ce=le.coaches)!=null&&ce.some(se=>se.user_id===me.id)&&ne.push(xi),(Z=le.directors)!=null&&Z.some(se=>se.user_id===me.id)&&ne.push(Fi),ne}const W=A(()=>(l.league.league_teams||[]).filter(me=>Zo(me.team,u.value)).map(me=>({...me.team,is_locked:ve(me.team),roles:re(me.team)}))),K=A(()=>W.value.every(le=>le.is_locked)),j=_e("setTeamAccess");function ge(){j.value.showModal(u.value,O.cloneDeep(W.value))}const de=Ei("refresh");function we(le={}){le.refreshData&&(m.value=!0,de({reload:!1}))}const U=lt();function ee(le){return U.getters.clubSeasonByID(le).name}return e({showModal:N,close:M}),(le,me)=>{const ne=c("b-input"),Ae=c("b-field"),ce=c("fa-icon"),Z=c("b-button"),se=c("AlertBox"),ke=c("b-table-column"),Me=c("b-tag"),te=c("BaseTable");return d(),h(G,null,[n($(Pi),{ref_key:"modal",ref:B},{header:o(()=>{var R;return[n($(Xo),{title:"Verify Staff",subtitle:(R=t.league)==null?void 0:R.name,onExit:M},null,8,["subtitle"])]}),"fullwidth-top":o(()=>[r("div",zM,[n(lM,{ref_key:"memberList",ref:P,"selected-member":u.value,"onUpdate:selectedMember":me[0]||(me[0]=R=>u.value=R),members:s.value},null,8,["selected-member","members"]),u.value?(d(),h("div",HM,[r("div",$M,[n(_M,{member:u.value,onVerify:X,onRequestUpdates:V},null,8,["member"])]),r("div",WM,[r("div",QM,[n($(Ve),{size:"md",class:"mb-5"},{default:o(()=>[...me[2]||(me[2]=[p("Member Data",-1)])]),_:1}),n(Ae,{label:"First Name"},{default:o(()=>[n(ne,{"model-value":u.value.first_name,disabled:""},null,8,["model-value"])]),_:1}),n(Ae,{label:"Last Name"},{default:o(()=>[n(ne,{"model-value":u.value.last_name,disabled:""},null,8,["model-value"])]),_:1}),n(Ae,{label:"Email Address"},{default:o(()=>[n(ne,{disabled:"","model-value":u.value.email},null,8,["model-value"])]),_:1}),n(Ae,{label:"Phone"},{default:o(()=>[n(ne,{disabled:"","model-value":u.value.mobile_number},null,8,["model-value"])]),_:1})]),r("div",JM,[q.value&&W.value.length?(d(),h(G,{key:0},[r("div",KM,[n($(Ve),{size:"md"},{default:o(()=>[...me[3]||(me[3]=[p("Team Access",-1)])]),_:1}),n(Z,{outlined:"",onClick:ge},{default:o(()=>[n(ce,{icon:["far","unlock"]}),me[4]||(me[4]=p("Â Set Team Access ",-1))]),_:1})]),r("div",XM,[he.value?k("",!0):(d(),h("div",ZM,[K.value?(d(),x(se,{key:0,type:"info",message:"All teams are locked. Clearance requirement completion is required to access locked teams.",icon:["fas","info-circle"]})):(d(),x(se,{key:1,type:"warning",message:"Teams are unlocked. Clearance requirement completion is not required to access unlocked teams.",icon:["fas","info-circle"]}))])),n(te,{name:"officialTeams",data:W.value,"show-all":"",class:"mb-4"},{default:o(()=>[n(ke,{"custom-key":"locked"},{default:o(({row:R})=>[R.is_locked?(d(),x(ce,{key:0,icon:["fas","lock"],class:"has-text-grey",title:"Access to team is locked"})):k("",!0)]),_:1}),n(ke,{label:"Team"},{default:o(({row:R})=>[p(_(R.name),1)]),_:1}),n(ke,{label:"Season"},{default:o(({row:R})=>[p(_(ee(R.season_id)),1)]),_:1}),n(ke,{label:"Role"},{default:o(({row:R})=>[(d(!0),h(G,null,ue(R.roles,z=>(d(),x(Me,{key:z,class:"mr-2"},{default:o(()=>[p(_(z),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["data"])])],64)):k("",!0),F.value.length?(d(),h(G,{key:1},[n($(Ve),{size:"md"},{default:o(()=>[...me[5]||(me[5]=[p("Requirements",-1)])]),_:1}),(d(!0),h(G,null,ue(F.value,R=>(d(),x(Ia,{key:R.id,class:"my-5",staffer:u.value,requirement:R,"screening-applicants":t.screeningApplicants,league:t.league,"onUpdate:staffer":D},null,8,["staffer","requirement","screening-applicants","league"]))),128))],64)):k("",!0),C.value.length?(d(),h(G,{key:2},[n($(Ve),{size:"md"},{default:o(()=>[...me[6]||(me[6]=[p("Integrated Requirements",-1)])]),_:1}),(d(!0),h(G,null,ue(C.value,R=>(d(),x(Ia,{key:R.id,class:"my-5",staffer:u.value,requirement:R,"screening-applicants":t.screeningApplicants,league:t.league,"onUpdate:staffer":D},null,8,["staffer","requirement","screening-applicants","league"]))),128))],64)):k("",!0)])])])):(d(),x($(fs),{key:0,class:"mt-6 pt-6",header:"No Members Found",body:"There are no members that match the current search criteria","img-src":"/static/images/empty-states-icons/contract.svg"}))]),n(YM,{ref_key:"requestUpdatesModal",ref:I,staffer:u.value,league:t.league,requirements:w.value,onUpdate:me[1]||(me[1]=R=>m.value=!0)},null,8,["staffer","league","requirements"])]),_:1},512),n(sn,{ref:"setTeamAccess",league:t.league,onDismissModal:we},null,8,["league"])],64)}}},tD=ie(eD,[["__scopeId","data-v-3dad9663"]]),sD={class:"header-left-container"},iD={class:"columns"},aD={class:"column"},lD={class:"has-text-left"},nD={class:"is-flex is-justify-content-space-between"},rD={class:"pt-4 pb-5 px-5"},oD={class:"staffer-requirements__requirement-title"},dD={class:"has-text-left"},uD={class:"is-flex is-justify-content-space-between"},cD={class:"p-5"},mD={class:"staffer-requirements__requirement-title"},fD={class:"staffer-requirements__requirement-title"},hD={key:1,class:"mt-4"},gD={class:"staffer-requirements__requirement-title"},pD="Compose Message",_D="View Requirements",yD={__name:"LeagueTeamOfficialsClearanceStatusesTable",props:{league:{type:Object,required:!0},filtersActive:{type:Boolean,default:!1},requiresClearanceForAccess:{type:Boolean,default:!1},screeningApplicants:{type:Array,default:()=>[]},currentUserIsRiskManager:{type:Boolean,default:!1},isUsingJdp:{type:Boolean,default:!1},externallyFilteredOfficials:{type:Array,default:null}},emits:["refresh","composeMessage","officialsComputed"],setup(t,{emit:e}){const i=[{id:0,name:"Needs Attention"},{id:1,name:"Not Verified"},{id:2,name:"All"}],l=t,a=e,s=lt(),u=H(0),m=H([]),f=A(()=>u.value===0),v=A(()=>u.value===1),y=A(()=>{var te,R;return((R=(te=l.league)==null?void 0:te.league_teams)==null?void 0:R.map(z=>z.team))||[]}),g=A(()=>["Pending Review","Clearance Progress","Verification Status"][u.value]),b=A(()=>{const te={};
1return l.league.league_teams.forEach(R=>{const z=R.team;[].concat(z.coaches,z.directors,z.managers).forEach(Ue=>{te[Ue.id]||(te[Ue.id]=[]),te[Ue.id].push(z)})}),te}),S=H(null),F=A(()=>l.requiresClearanceForAccess?[{icon:["fas","lock"],icon_color:["grey"],text:"Team Access Locked"}]:null),w=A(()=>{var te,R;return(((R=(te=l.league)==null?void 0:te.sanctioning_body)==null?void 0:R.sanctioning_body_clearance_requirements)||[]).filter(z=>!z.archived_at)});function C(te){const R=te.roles.includes(Bs),z=te.roles.includes(qs),pe=te.roles.includes(Os),Ue=te.roles.includes(Gs);return w.value.filter(xe=>xe.coach_required&&R||xe.team_staff_required&&z||xe.club_director_required&&pe||Ue&&O.intersection(xe.volunteer_position_ids,te.position_ids).length>0)}function D(te){return s.getters.isRegionlessAdmin?!0:(te.teams||[]).some(R=>s.getters.canAdminRegionID(R.club_region_id))}function B(te){return b.value[te.id]||[]}function N(te){const R=O.uniq(B(te).map(z=>z.name));return R.length===0?"-":R.sort().join(", ")}function M(te){return D(te)?"clickable":"has-text-grey-light"}const I={[Bs]:xi,[qs]:Ti,[Os]:Fi};function V(te){return(te||[]).map(R=>I[R]||R).sort().join(", ")}function P(te,R){const z=be.candidateForOfficial(te,l.screeningApplicants),pe=te.clearance_requirements_by_id?te.clearance_requirements_by_id[R.id]:{};return be.statusForTag(pe,R,z==null?void 0:z.reports,l.isUsingJdp)}function E(te){const R=C(te),z={complete:[],in_review:[],incomplete:[]};return R.forEach(pe=>{if(Pe(pe)){P(te,pe).text.toLowerCase()===be.CLEARANCE_REQUIREMENT_STATUS_CLEARED?z.complete.push(pe):z.incomplete.push(pe);return}const Ue=te.clearance_requirements_by_id?te.clearance_requirements_by_id[pe.id]:{};switch((Ue==null?void 0:Ue.status)||be.CLEARANCE_REQUIREMENT_STATUS_PENDING){case be.CLEARANCE_REQUIREMENT_STATUS_IN_REVIEW:z.in_review.push(pe);break;case be.CLEARANCE_REQUIREMENT_STATUS_CLEARED:z.complete.push(pe);break;default:z.incomplete.push(pe)}}),z.total=z.complete.length+z.in_review.length+z.incomplete.length,z}
1function X(te,R){if(te.incomplete.length>0)return"Needs Attention";if(R){const z=Y();return R.expiry_date&&z.isAfter(R.expiry_date,"day")?"Expired":"Verified"}return"Not Verified"}const q=A(()=>O.keyBy(l.league.sanctioning_body.verified_staff,"user_id")),he=A(()=>{var te,R;return O.groupBy((R=(te=l.league)==null?void 0:te.sanctioning_body)==null?void 0:R.sanctioning_body_official_clearances,"user_id")}),ve=A(()=>(l.league.volunteer_requests||[]).map(te=>({...te.volunteer,user_id:te.user_id,display_name:"".concat(te.volunteer.first_name," ").concat(te.volunteer.last_name),position_ids:te.position_ids,roles:[Gs],clearance_requirements_by_id:O.keyBy(he.value[te.user_id],"sanctioning_body_clearance_requirement_id")}))),re=A(()=>{const te={};return[...l.league.league_officials||[],...ve.value].forEach(R=>{if(te[R.user_id]===void 0){const pe=E(R);te[R.user_id]={...R,requirements:pe,teams:B(R),teamsDisplay:N(R),rolesDisplay:V(R.roles),status:X(pe,q.value[R.user_id]),verification:q.value[R.user_id]};return}const z=te[R.user_id];z.roles=[...R.roles,...z.roles],z.rolesDisplay=V(z.roles),z.position_ids=z.position_ids||R.position_ids,z.requirements=E(z),z.status=X(z.requirements,q.value[R.user_id])}),Object.values(te)});It(re,te=>a("officialsComputed",te),{immediate:!0});const W=A(()=>f.value?re.value.filter(te=>te.requirements.in_review.length):v.value?re.value.filter(te=>!be.isOfficialVerified(te)):re.value),K=_e("coachProfile");function j(te={refreshData:!1}){te.refreshData&&a("refresh")}const ge=_e("addEditStaff"),de=_e("addEditStaffFullScreenModal");function we(te){return I[te.roles[0]]||Ti}function U(te){const R=we(te);R===xi?K.value.showModal(te.id,re.value):R===Ko||R===Fi?de.value.showModal(R,re.value,te,!0):ge.value.showModal(R,re.value,te)}const ee=_e("removeOfficialModal"),le=_e("removeVolunteer");function me(te){var R;if(S.value=te,(R=te.position_ids)!=null&&R.length){const z=l.league.volunteer_requests.find(pe=>pe.user_id===te.user_id);le.value.showModal(z);return}ee.value.showModal()}const ne=H(""),Ae=A(()=>{const te=l.externallyFilteredOfficials!==null?l.externallyFilteredOfficials.filter(z=>W.value.some(pe=>pe.user_id===z.user_id)):W.value,R=ne.value.trim().toLowerCase();return te.filter(z=>!R||z.display_name.toLowerCase().includes(R)||z.teamsDisplay.toLowerCase().includes(R))}),ce=Se();async function Z(){try{await Q().delete("club_admin/club_leagues/".concat(l.league.id,"/league_official/").concat(S.value.user_id))}catch(te){throw ce.error("Error removing member"),te}ce.success("Member deleted"),ee.value.close(),a("refresh")}const se=[{isDropdown:!0,icon:["far","ellipsis-h"],subActions:[{text:"Remove member",onClick:me}]}],ke=_e("verificationModal"),Me=[{text:pD,action:()=>a("composeMessage",m.value)},{text:_D,action:()=>ke.value.showModal(m.value)}];return(te,R)=>{const z=c("b-button"),pe=c("b-table-column"),Ue=c("fa-icon"),xe=c("BaseTable");return d(),h(G,null,[n(xe,{ref:"checkboxTable","checked-rows":m.value,"onUpdate:checkedRows":R[6]||(R[6]=J=>m.value=J),data:Ae.value,"default-current-sort":["last_name","asc"],"filters-active":t.filtersActive,"row-class":M,"is-row-checkable":D,checkable:"",name:"leagueTeamOfficials",hoverable:"","legend-items":F.value,class:"league-officials-table",filterable:"",searchable:"","search-placeholder-text":"Search by name or team...",onSelect:R[7]||(R[7]=J=>te.$refs.verificationModal.showModal([J])),onQueryUpdated:R[8]||(R[8]=J=>ne.value=J)},{"header-left":o(()=>[r("div",sD,[r("div",iD,[r("div",aD,[n($($s),{"active-tab":u.value,"onUpdate:activeTab":R[0]||(R[0]=J=>u.value=J),tabs:i},null,8,["active-tab"])])])])]),"table-header":o(()=>[m.value.length>0?(d(),x($(_t),{key:0,"checked-rows":m.value,actions:Me,onCtaClicked:R[1]||(R[1]=J=>J.action()),onOnCancel:R[2]||(R[2]=J=>m.value=[])},null,8,["checked-rows"])):k("",!0)]),default:o(()=>[n(pe,{field:"last_name",label:"Name",sortable:""},{default:o(({row:J})=>[n(z,{type:"is-ghost",onClick:He(oe=>U(J),["stop"])},{default:o(()=>[p(_(J.display_name),1)]),_:2},1032,["onClick"])]),_:1}),n(pe,{field:"teamsDisplay",label:"Teams",sortable:""},{default:o(({row:J})=>[p(_(J.teamsDisplay),1)]),_:1}),n(pe,{field:"roles",label:"Role"},{default:o(({row:J})=>[p(_(J.rolesDisplay),1)]),_:1}),n(pe,{centered:"",label:g.value},{default:o(({row:J})=>[f.value?(d(),x($(oa),{key:0,onClick:R[3]||(R[3]=He(()=>{},["stop"]))},{trigger:o(()=>[n(z,{type:"is-text"},{default:o(()=>[p(_($(Fe)(J.requirements.in_review.length,"Requirement")),1)]),_:2},1024)]),default:o(({close:oe})=>[r("div",lD,[r("div",nD,[n($(Ve),{size:"md",class:"pl-5 pt-4"},{default:o(()=>[...R[11]||(R[11]=[p("Pending Review",-1)])]),_:1}
1),n(z,{"aria-label":"close",type:"is-text",class:"mr-2 mt-2",onClick:De=>oe()},{default:o(()=>[n(Ue,{icon:["far","times"]})]),_:1},8,["onClick"])]),r("div",rD,[(d(!0),h(G,null,ue(J.requirements.in_review,De=>(d(),h("div",{key:De.id,class:"staffer-requirements"},[r("div",oD,_(De.name),1),r("div",null,[n($(ps),{"tag-text":"Review",type:"is-warning-light",icon:"circle-exclamation",rounded:""})])]))),128))])])]),_:2},1024)):v.value?(d(),x($(oa),{key:1,onClick:R[4]||(R[4]=He(()=>{},["stop"]))},{trigger:o(()=>[n(z,{type:"is-text"},{default:o(()=>[p(_(J.requirements.complete.length)+"/"+_($(Fe)(J.requirements.total,"Requirement")),1)]),_:2},1024)]),default:o(({close:oe})=>[r("div",dD,[r("div",uD,[n($(Ve),{size:"md",class:"pl-5 pt-4"},{default:o(()=>[...R[12]||(R[12]=[p("Clearance Progress",-1)])]),_:1}),n(z,{"aria-label":"close",type:"is-text",class:"mr-2 mt-2",onClick:De=>oe()},{default:o(()=>[n(Ue,{icon:["far","times"]})]),_:1},8,["onClick"])]),r("div",cD,[J.requirements.incomplete.length||J.requirements.in_review.length?(d(),x($(Ve),{key:0,size:"sm",class:"clearance-popover__subheader"},{default:o(()=>[...R[13]||(R[13]=[p("Needs Attention",-1)])]),_:1})):k("",!0),(d(!0),h(G,null,ue(J.requirements.incomplete,De=>(d(),h("div",{key:De.id,class:"columns staffer-requirements"},[r("div",mD,_(De.name),1),n(Vs,{staffer:J,requirement:De},null,8,["staffer","requirement"])]))),128)),(d(!0),h(G,null,ue(J.requirements.in_review,De=>(d(),h("div",{key:De.id,class:"columns staffer-requirements"},[r("div",fD,_(De.name),1),n(Vs,{staffer:J,requirement:De},null,8,["staffer","requirement"])]))),128)),(J.requirements.incomplete.length||J.requirements.in_review.length)&&J.requirements.complete.length?(d(),h("hr",hD)):k("",!0),J.requirements.complete.length?(d(),h(G,{key:2},[n($(Ve),{size:"sm",class:"clearance-popover__subheader"},{default:o(()=>[...R[14]||(R[14]=[p("Completed",-1)])]),_:1}),(d(!0),h(G,null,ue(J.requirements.complete,De=>(d(),h("div",{key:De.id,class:"columns staffer-requirements"},[r("div",gD,_(De.name),1),n(Vs,{staffer:J,requirement:De},null,8,["staffer","requirement"])]))),128))],64)):k("",!0)])])]),_:2},1024)):(d(),h(G,{key:2},[p(_(J.status==="Verified"?"Verified":"Not Verified"),1)],64))]),_:1},8,["label"]),n(pe,{label:"Actions"},{default:o(({row:J})=>[n($(Ni),{row:J,actions:se,onClick:R[5]||(R[5]=He(()=>{},["stop"]))},null,8,["row"])]),_:1})]),_:1},8,["checked-rows","data","filters-active","legend-items"]),n(dd,{ref:"coachProfile",onDismissModal:j},null,512),n(Co,{ref:"addEditStaff","all-teams":y.value,onDismissModal:j},null,8,["all-teams"]),n(So,{ref:"addEditStaffFullScreenModal","all-teams":y.value,onDismissModal:j},null,8,["all-teams"]),n(tD,{ref_key:"verificationModal",ref:ke,league:t.league,"screening-applicants":t.screeningApplicants,onRefresh:R[9]||(R[9]=J=>a("refresh"))},null,8,["league","screening-applicants"]),n($(rt),{ref_key:"removeOfficialModal",ref:ee,title:"Remove Member",size:"sm",type:"is-danger","confirm-button-text":"Yes, remove member",icon:["far","triangle-exclamation"],onConfirm:Z},{default:o(()=>{var J,oe;return[R[15]||(R[15]=p(" You are about to remove ",-1)),r("b",null,_((J=S.value)==null?void 0:J.display_name),1),p(" from "+_(t.league.name)+". Once removed all clearance details will be removed from the league and the user will be removed from any league teams. ",1),R[16]||(R[16]=r("br",null,null,-1)),R[17]||(R[17]=r("br",null,null,-1)),R[18]||(R[18]=p(" Are you sure you want to remove ",-1)),r("b",null,_((oe=S.value)==null?void 0:oe.display_name),1),R[19]||(R[19]=p("? ",-1))]}),_:1},512),n(Yl,{ref:"removeVolunteer",league:t.league,onRefresh:R[10]||(R[10]=J=>a("refresh"))},null,8,["league"])],64)}}},vD=ie(yD,[["__scopeId","data-v-32ad1100"]]),bD={components:{Modal:Qe,StaffDetailsForm:To,CoachTeamsForm:wo,ManagerTeamsForm:ko,InviteStatus:ud},props:{league:{type:Object,required:!0}},emits:["addLeagueOfficial"],data(){return{user:{},matchingUsers:[],showAdditionalFields:!1,sendInvitation:!0,editing:!1,errors:{},hasName:!1,saving:!1,selectedRoles:[],selectedCoachAssignments:[],selectedStaffAssignments:[]}},computed:{hasMatchingUser(){return this.user&&this.user.id&&!this.editing},invalidMobileNumber(){return this.user&&fr(this.user.mobile_number)},dropdownHidden(){return this.editing||T.isEmpty(this.matchingUsers)&&!!this.invalidEmail(this.user.email)},hasError(){return!T.isEmpty(this.errors.emailErrorMessage)},invalid(){return T.isEmpty(this.user)||this.errors.email||!this.user.email||this.invalidMobileNumber||!this.user.first_name||this.user.first_name===""||!this.user.last_name||this.user.last_name===""||this.selectedRoles.length===0||this.selectedRoles.includes("Team Staff")&&(T.isEmpty(this.selectedStaffAssignments)||T.isEmpty(this.selectedStaffAssignments[this.selectedStaffAssignments.length-1]))},hasRegions(){return this.$store.getters.clubHasRegions},teams(){return this.league?T.map(this.league.league_teams,"team"):[]},showSendInviteCheckbox(){return this.showAdditionalFields&&(!this.editing||!this.user.registered_at&&this.user.email!==this.initialUser.email)},coachRoleSelected(){return this.selectedRoles.includes("Coach")},staffRoleSelected(){return this.selectedRoles.includes("Team Staff")},selectedCoachAssignmentsById(){return T.map(this.selectedCoachAssignments,"id")},selectedStaffAssignmentsById(){return T.map(this.selectedStaffAssignments,"id")},existingOfficials(){return this.league.league_officials}},methods:{userInfoUpdate(t,e){if(t){const i=T.clone(this.user);i[t]=e,this.user=i}},showModal(){this.saving=!1,this.$refs.modal.showModal()},invalidEmail(t){return mr(t,!0)},clearPreviousMatch(){this.hasMatchingUser&&(this.user={email:this.user.email,first_name:"",last_name:"",mobile_number:"",title:null},this.selectedRoles=[],this.selectedCoachAssignments=[],this.selectedStaffAssignments=[])},checkErrors(t){const e=this.invalidEmail(t);return e?this.errors.emailErrorMessage=e:(this.errors.emailErrorMessage="",this.errors.email=""),T.find(this.existingOfficials,l=>l.email===t)&&(this.errors.emailErrorMessage="User is already in clearance tracking"),this.existingOfficials&&(this.showAdditionalFields=!1),this.hasError},findMatchingUsers:T.debounce(function(e){if(this.user.email=e,T.isEmpty(e)){this.editing?this.errors={}:this.user={};return}else this.editing||this.clearPreviousMatch();e.length>2?Q().post("/club/users/search",{email:e,club_id:this.clubId}).then(i=>{this.matchingUsers=i.data}):this.matchingUsers=[]},250,{leading:!0}),async checkEmail(t){if(this.user.email=T.trim(this.user.email),this.editing)T.find(this.matchingUsers,i=>i.email===this.user.email&&i.id!==this.user.id)&&(this.errors.emailErrorMessage="Email already in use");else if(!this.hasMatchingUser&&!this.checkErrors(this.user.email)){const e=T.find(this.matchingUsers,i=>i.email===this.user.email);e?this.selectUser(e):await Q().post("/club/users/search",{email:this.user.email}).then(i=>{const l=T.find(i.data,a=>a.email===this.user.email);l?this.selectUser(l):this.showAdditionalFields=!0})}t&&!this.invalid&&this.saveLeagueOfficial()},selectUser(t){this.user.email=t?t.email:this.user.email,t&&!this.checkErrors(t.email)&&(this.showAdditionalFields=!1,this.user=T.assign({},t,{teams:this.user.teams,title:this.user.title}),this.hasName=this.user.first_name&&this.user.last_name)}
1,saveLeagueOfficial(){if(this.saving=!0,this.user.id)this.$emit("addLeagueOfficial",this.userToSend(this.user));else{const t=T.pick(this.user,["email","first_name","last_name","mobile_number"]);Q().post("club_admin/club_leagues/".concat(this.league.id,"/league_official"),t).then(e=>{const i=T.pick(e.data,["id","email","first_name","last_name","mobile_number"]);this.$emit("addLeagueOfficial",this.userToSend(i))}).finally(()=>{this.saving=!1})}},userToSend(t){const e=[];if(this.coachRoleSelected){const i=T.assign({id:t.id,role:"coach",send_invitation:this.sendInvitation},T.pick(t,["email","first_name","last_name","mobile_number"]));i.teams=T.map(this.selectedCoachAssignments,l=>T.assign({can_admin:!0},T.pick(l,["id","head_coach"]))),e.push(i)}if(this.staffRoleSelected){const i=T.assign({id:t.id,role:"team_staff",send_invitation:this.sendInvitation},T.pick(t,["email","first_name","last_name","mobile_number"]));i.teams=T.map(this.selectedStaffAssignments,l=>({can_admin:!0,id:l.id})),e.push(i)}return e},selectTeamsForCoachRole(){this.$refs.selectCoachTeamsModal.showModal()},selectTeamsForStaffRole(){this.$refs.selectTeamsForStaffRole.showModal()},checkMobileNumber(){this.errors.mobileNumber=this.invalidMobileNumber}}},CD={class:"body"},SD={class:"columns"},kD={class:"column"},wD={key:0},TD={key:1,class:"columns"},xD={class:"column"},FD={class:"field"},AD={key:2,class:"columns"},MD={class:"column"},DD={class:"has-background-white-bis",style:{padding:"0 1rem"}},RD={class:"columns is-mobile is-vcentered"},ID={class:"column has-text-success is-narrow",style:{"font-size":"2.5rem"}},ED={class:"column"},VD={key:0,class:"is-font-mont is-text-size-6 has-text-weight-bold"},PD={key:3,class:"role-selection"},BD={class:"columns"},qD={class:"column v-centered"},OD={key:0},UD={class:"columns"},LD={class:"column v-centered"},GD={key:0},ND=["disabled"];function jD(t,e,i,l,a,s){const u=c("InviteStatus"),m=c("b-autocomplete"),f=c("b-field"),v=c("b-checkbox"),y=c("StaffDetailsForm"),g=c("fa-icon"),b=c("CoachTeamsForm"),S=c("ManagerTeamsForm"),F=c("Modal");return d(),h("div",null,[n(F,{ref:"modal",title:"Add Team Staff","has-cancel-button":"","modal-class":"modal-min-height",class:"add-edit-staff"},{footer:o(()=>[r("button",{class:Ce(["button is-primary",{"is-loading":a.saving}]),disabled:s.invalid||a.saving,onClick:e[8]||(e[8]=w=>s.checkEmail(!0))}," Add User ",10,ND)]),default:o(()=>[r("div",CD,[a.editing?(d(),x(u,{key:0,user:a.user,"email-changed":t.emailChanged},null,8,["user","email-changed"])):k("",!0),r("div",SD,[r("div",kD,[n(f,{type:s.hasError?"is-danger":"",message:a.errors.emailErrorMessage,label:"Email"},{default:o(()=>[n(m,{modelValue:a.user.email,"onUpdate:modelValue":e[0]||(e[0]=w=>a.user.email=w),data:a.editing?[]:a.matchingUsers,type:"search",placeholder:"Enter email address...",field:"email",class:Ce({"no-dropdown":s.dropdownHidden||a.showAdditionalFields}),onTyping:s.findMatchingUsers,onBlur:e[1]||(e[1]=w=>s.checkEmail()),onSelect:s.selectUser},{default:o(({option:w})=>[r("span",null,[p(_(w.email)+" ",1),w.first_name||w.last_name?(d(),h("span",wD," Â ("+_(w.first_name)+" "+_(w.last_name)+") ",1)):k("",!0)])]),empty:o(()=>[r("span",null,'use "'+_(a.user.email)+'"',1)]),_:1},8,["modelValue","data","class","onTyping","onSelect"])]),_:1},8,["type","message"])])]),s.showSendInviteCheckbox?(d(),h("div",TD,[r("div",xD,[r("div",FD,[n(v,{modelValue:a.sendInvitation,"onUpdate:modelValue":e[2]||(e[2]=w=>a.sendInvitation=w),class:"is-font-mont has-text-weight-medium"},{default:o(()=>[...e[9]||(e[9]=[p(" Send Registration Invitation ",-1)])]),_:1},8,["modelValue"])])])])):k("",!0),n(y,{value:a.user,"show-additional-fields":a.showAdditionalFields,errors:a.errors,"is-league-official":"",onCheckMobileNumber:s.checkMobileNumber,onCaptureMobile:e[3]||(e[3]=w=>t.captureMobileNumber=w),onUserInfoUpdate:s.userInfoUpdate},null,8,["value","show-additional-fields","errors","onCheckMobileNumber","onUserInfoUpdate"]),s.hasMatchingUser?(d(),h("div",AD,[r("div",MD,[r("div",DD,[r("div",RD,[r("div",ID,[n(g,{icon:["fas","check-circle"]})]),r("div",ED,[e[10]||(e[10]=r("div",{class:"is-font-mont has-text-blue-slate is-text-size-7 has-text-weight-semibold"},"Matching User Found",-1)),a.hasName?(d(),h("div",VD,_(a.user.first_name)+" "+_(a.user.last_name),1)):k("",!0)])])])])])):k("",!0),s.hasMatchingUser||a.showAdditionalFields?(d(),h("div",PD,[n(f,{label:"Select Role"}),r("div",{class:Ce(["box flat-box clickable",{"box-selected-outlined":a.selectedRoles.includes("Coach")}])},[r("div",BD,[r("div",qD,[n(v,{modelValue:a.selectedRoles,"onUpdate:modelValue":e[4]||(e[4]=w=>a.selectedRoles=w),"native-value":"Coach",class:"is-font-mont has-text-weight-medium"},{default:o(()=>[...e[11]||(e[11]=[p(" Coach ",-1)])]),_:1},8,["modelValue"])])]),s.coachRoleSelected?(d(),h("div",OD,[n(b,{value:a.selectedCoachAssignments,"all-teams":s.teams,user:a.user,"onUpdate:value":e[5]||(e[5]=w=>a.selectedCoachAssignments=w)},null,8,["value","all-teams","user"])])):k("",!0)],2),r("div",{class:Ce(["box flat-box clickable",{"box-selected-outlined":a.selectedRoles.includes("Team Staff")}])},[r("div",UD,[r("div",LD,[n(v,{modelValue:a.selectedRoles,"onUpdate:modelValue":e[6]||(e[6]=w=>a.selectedRoles=w),"native-value":"Team Staff",class:"is-font-mont has-text-weight-medium"},{default:o(()=>[...e[12]||(e[12]=[p(" Team Staff ",-1)])]),_:1},8,["modelValue"])])]),s.staffRoleSelected?(d(),h("div",GD,[n(S,{value:a.selectedStaffAssignments,"all-teams":s.teams,user:a.user,"is-editing":a.editing,"onUpdate:value":e[7]||
1(e[7]=w=>a.selectedStaffAssignments=w)},null,8,["value","all-teams","user","is-editing"])])):k("",!0)],2)])):k("",!0)])]),_:1},512)])}const YD=ie(bD,[["render",jD],["__scopeId","data-v-85ae7160"]]),zD={name:"ClearanceFilter",components:{FilterSection:at,TeamsFilterForContext:Hi},props:{staff:{type:Array,required:!0},filterContext:{type:String,default:"clearances"},title:{type:String,default:""},clearanceRequirements:{type:Array,default:()=>[]},hasLeagueTrackingPermission:{type:Boolean,default:!0},leagueSeasonAgeClass:{type:String,default:""},usingJdp:{type:Boolean,default:!1},hasRequiresClearanceForAccess:{type:Boolean,default:!1},clubYardstik:{type:Object,default:null}},emits:["filtered","filters-cleared"],setup(){return{isBackgroundScreening:Pe}},data(){return{clearanceFilters:{},clearanceFilter:[],teamAccessStatus:[],filteredTeams:[],filteredStaff:[],showOfficialsWithNoTeams:!1}},computed:{teams(){return T.compact(T.uniqBy(T.flatMap(this.staff,"teams"),"id"))},teamFilterActive(){return this.$store.getters.teamsFilterForContextActive(this.filterContext)},clearanceFiltersActive(){let t=!1;return this.clearanceRequirements.forEach(e=>{T.isEmpty(this.clearanceFilters[e.id])||(t=!0)}),t},clearanceFilterActive(){return this.clearanceFilter.length>0},outerFilterActive(){return this.clearanceFilterActive||this.clearanceFiltersActive||!!this.teamAccessStatus.length},filterActive(){return this.teamFilterActive||this.outerFilterActive},today(){return Y()},yardstikCandidates(){var t;return((t=this.clubYardstik)==null?void 0:t.candidates)||[]}},watch:{filteredStaff(){this.changed()},filteredTeams(){this.filterStaff()},clearanceFilters:{deep:!0,handler(){this.filterStaff()}},clearanceFilter(){this.filterStaff()},clearanceRequirements(){this.initializeRequirementFilters()},showOfficialsWithNoTeams(){this.filterStaff()},teamAccessStatus(){this.filterStaff()}},created(){this.updateFilteredTeams(this.teams),this.initializeRequirementFilters()},methods:{updateFilteredTeams(t){this.filteredTeams=t},initializeRequirementFilters(){this.hasLeagueTrackingPermission?(this.clearanceFilters={},this.clearanceRequirements.forEach(t=>{this.clearanceFilters[t.id]=[]})):this.clearanceFilter=[]},clearFilters(){this.teamAccessStatus=[],this.initializeRequirementFilters()},filterStaff(){this.filteredStaff=T.filter(this.staff,t=>(!this.teamFilterActive||!T.isEmpty(T.intersectionBy(this.filteredTeams,t.teams,"id")))&&(!this.showOfficialsWithNoTeams||!t.teams.length)&&(T.isEmpty(this.teamAccessStatus)||this.teamAccessStatus.includes("locked")&&t.is_locked||this.teamAccessStatus.includes("unlocked")&&!t.is_locked)&&this.filterStaffClearance(t))},filterStaffClearance(t){let e=!0;return this.hasLeagueTrackingPermission?this.clearanceRequirements.forEach(i=>{e=e&&(T.isEmpty(this.clearanceFilters[i.id])||this.clearanceFilters[i.id].includes(this.clearanceRequirementStatus(t,i)))}):e=T.isEmpty(this.clearanceFilter)||this.clearanceFilter.includes("cleared")&&!this.officialNeedsAttention(t)||this.clearanceFilter.includes("awaiting")&&this.officialNeedsAttention(t),e},clearanceRequirementStatus(t,e){const i=t.clearance_requirements_by_id?t.clearance_requirements_by_id[e.id]:{};if(Pe(e)){const l=this.candidateForOfficial(t),a=be.yardstikStatusForDisplay(l==null?void 0:l.reports,e,i,this.usingJdp);return a==="Unscreened"||a==="Overdue"||a==="Processing"||a==="Request Sent"?"incomplete":a==="Needs Consideration"?"needs-review":a.toLowerCase()}else{let l="incomplete";return i&&i.completed_date&&(l="completed",i.expiry_date&&(this.today.isAfter(Y(i.expiry_date))?l="expired":this.today.isAfter(Y(i.expiry_date).subtract(30,"d"))&&(l="expiring"))),l}},officialNeedsAttention(t){let e=!1;return T.forEach(this.clearanceRequirements,i=>{const l=this.clearanceRequirementStatus(t,i);(l==="incomplete"||l==="expired")&&(e=!0)}),e},candidateForOfficial(t){return be.candidateForOfficial(t,this.yardstikCandidates)},changed(){this.$emit("filtered",{filtered:this.filteredStaff,filterActive:this.filterActive})}}},HD={key:0},$D={class:"field"},WD={class:"field"},QD={class:"field"},JD={class:"field"},KD={key:0,class:"field"},XD={key:1,class:"field"},ZD={class:"field"},eR={class:"field"},tR={class:"field"},sR={key:0,class:"field"},iR={class:"field"},aR={key:0},lR={class:"field"},nR={class:"field"}
1,rR={key:1},oR={class:"field"},dR={class:"field"};function uR(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-field"),f=c("FilterSection"),v=c("b-switch"),y=c("TeamsFilterForContext");return d(),x(y,{ref:"teamsFilter",teams:s.teams,"hide-seasons":!0,"show-advanced-selection":!0,"show-archived-filter":!0,context:i.filterContext,"league-season-age-class":i.leagueSeasonAgeClass,title:i.title,"outer-filter-active":s.outerFilterActive,onFiltered:e[5]||(e[5]=g=>s.updateFilteredTeams(g.filtered)),onFiltersCleared:e[6]||(e[6]=g=>{s.clearFilters(),t.$emit("filters-cleared")})},{default:o(()=>[i.hasLeagueTrackingPermission?(d(),h("div",HD,[(d(!0),h(G,null,ue(i.clearanceRequirements,g=>(d(),h("div",{key:g.id},[l.isBackgroundScreening(g)?(d(),x(f,{key:0,label:g.name},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",$D,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"cleared"},{default:o(()=>[...e[7]||(e[7]=[p(" Cleared ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",WD,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"not-cleared"},{default:o(()=>[...e[8]||(e[8]=[p(" Not Cleared ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",QD,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"incomplete"},{default:o(()=>[...e[9]||(e[9]=[p(" Incomplete ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",JD,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"needs-review"},{default:o(()=>[...e[10]||(e[10]=[p(" Needs Review ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),g.extra&&(g.extra.clearance_requirement_expiry_anniversary||g.extra.clearance_requirement_expiry_period)?(d(),h("div",KD,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"expiring"},{default:o(()=>[...e[11]||(e[11]=[p(" Expiring Soon ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0),g.extra&&(g.extra.clearance_requirement_expiry_anniversary||g.extra.clearance_requirement_expiry_period)?(d(),h("div",XD,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"expired"},{default:o(()=>[...e[12]||(e[12]=[p(" Expired ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0),r("div",ZD,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"canceled"},{default:o(()=>[...e[13]||(e[13]=[p(" Canceled ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024)]),_:2},1032,["label"])):(d(),x(f,{key:1,label:g.name},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",eR,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"completed"},{default:o(()=>[...e[14]||(e[14]=[p(" Completed ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",tR,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"incomplete"},{default:o(()=>[...e[15]||(e[15]=[p(" Incomplete ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),g.extra&&(g.extra.clearance_requirement_expiry_anniversary||g.extra.clearance_requirement_expiry_period)?(d(),h("div",sR,[n(u,{modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"expiring"},{default:o(()=>[...e[16]||(e[16]=[p(" Expiring Soon ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0),r("div",iR,[g.extra&&(g.extra.clearance_requirement_expiry_anniversary||g.extra.clearance_requirement_expiry_period)?(d(),x(u,{key:0,modelValue:a.clearanceFilters[g.id],"onUpdate:modelValue":b=>a.clearanceFilters[g.id]=b,"native-value":"expired"},{default:o(()=>[...e[17]||(e[17]=[p(" Expired ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):k("",!0)])])]),_:2},1024)]),_:2},1032,["label"]))]))),128)),i.hasRequiresClearanceForAccess?(d(),h("div",aR,[n(f,{label:"Team Access Status"},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",lR,[n(u,{modelValue:a.teamAccessStatus,"onUpdate:modelValue":e[0]||(e[0]=g=>a.teamAccessStatus=g),"native-value":"locked"},{default:o(()=>[...e[18]||(e[18]=[p(" Locked ",-1)])]),_:1},8,["modelValue"])]),r("div",nR,[n(u,{modelValue:a.teamAccessStatus,"onUpdate:modelValue":e[1]||(e[1]=g=>a.teamAccessStatus=g),"native-value":"unlocked"},{default:o(()=>[...e[19]||(e[19]=[p(" Unlocked ",-1)])]),_:1},8,["modelValue"])])])]),_:1})]),_:1})])):k("",!0)])):(d(),h("div",rR,[n(f,{label:"Clearance"},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",oR,[n(u,{modelValue:a.clearanceFilter,"onUpdate:modelValue":e[2]||(e[2]=g=>a.clearanceFilter=g),"native-value":"cleared"},{default:o(()=>[...e[20]||(e[20]=[p(" Cleared ",-1)])]),_:1},8,["modelValue"])]),r("div",dR,[n(u,{modelValue:a.clearanceFilter,"onUpdate:modelValue":e[3]||(e[3]=g=>a.clearanceFilter=g),"native-value":"awaiting"},{default:o(()=>[...e[21]||(e[21]=[p(" Awaiting Clearance ",-1)])]),_:1},8,["modelValue"])])])]),_:1})]),_:1})]))]),"advanced-content":o(()=>[n(m,null,{default:o(()=>[n(v,{modelValue:a.showOfficialsWithNoTeams,"onUpdate:modelValue":e[4]||(e[4]=g=>a.showOfficialsWithNoTeams=g)},{default:o(()=>[...e[22]||(e[22]=[p(" Only show people without a team assigned ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["teams","context","league-season-age-class","title","outer-filter-active"])}const cR=ie(zD,[["render",uR]]),mR={[Bs]:"Coach",[qs]:"Team Staff",[Os]:"Director"},fR={name:"ClearanceStatusesFilter",components:{FilterSection:at,TeamsFilterForContext:Hi},props:{staff:{type:Array,required:!0},league:{type:Object,required:!0},clearanceRequirements:{type:Array,default:()=>[]},hasLeagueTrackingPermission:{type:Boolean,default:!0},leagueSeasonAgeClass:{type:String,default:""},requiresClearanceForAccess:{type:Boolean,default:!1},screeningApplicants:{type:Array,default:()=>[]},isUsingJdp:{type:Boolean,default:!1}},emits:["filtered"],setup(){const{clubPositionsByID:t}=cd();
1return{isBackgroundScreening:Pe,clubPositionsByID:t}},data(){return{verificationStatus:[],roleFilters:[],clearanceFilters:{},teamAccessStatus:[],filteredTeams:[],filteredStaff:[]}},computed:{teams(){return T.compact(T.uniqBy(T.flatMap(this.staff,"teams"),"id"))},volunteerPositions(){const t=[],e=new Set;return(this.league.volunteer_requests||[]).forEach(i=>{(i.position_ids||[]).forEach(l=>{var a;if(!e.has(l)){e.add(l);const s=((a=this.clubPositionsByID[l])==null?void 0:a.name)||"Volunteer (".concat(l,")");t.push({id:l,name:s})}})}),t},teamFilterActive(){return this.$store.getters.teamsFilterForContextActive("clearance_statuses")},outerFilterActive(){return this.verificationStatus.length>0||this.roleFilters.length>0||this.teamAccessStatus.length>0||this.clearanceFiltersActive},clearanceFiltersActive(){return this.clearanceRequirements.some(t=>!T.isEmpty(this.clearanceFilters[t.id]))},filterActive(){return this.teamFilterActive||this.outerFilterActive},today(){return Y()}},watch:{filteredStaff(){this.emitFiltered()},filteredTeams(){this.filterStaff()},verificationStatus(){this.filterStaff()},roleFilters(){this.filterStaff()},teamAccessStatus(){this.filterStaff()},clearanceFilters:{deep:!0,handler(){this.filterStaff()}},clearanceRequirements(){this.initializeClearanceFilters()},staff(){this.updateFilteredTeams(this.teams)}},created(){this.updateFilteredTeams(this.teams),this.initializeClearanceFilters()},methods:{hasExpiry(t){return t.extra&&(t.extra.clearance_requirement_expiry_anniversary||t.extra.clearance_requirement_expiry_period)},initializeClearanceFilters(){this.clearanceFilters={},this.clearanceRequirements.forEach(t=>{this.clearanceFilters[t.id]=[]})},clearFilters(){this.verificationStatus=[],this.roleFilters=[],this.teamAccessStatus=[],this.initializeClearanceFilters()},updateFilteredTeams(t){this.filteredTeams=t},filterStaff(){this.filteredStaff=this.staff.filter(t=>this.passesAllFilters(t))},passesAllFilters(t){if(this.teamFilterActive&&T.isEmpty(T.intersectionBy(this.filteredTeams,t.teams,"id")))return!1;if(this.verificationStatus.length>0){const e=t.status==="Verified";if(this.verificationStatus.includes("verified")&&!e||this.verificationStatus.includes("not_verified")&&e)return!1}if(this.roleFilters.length>0){const e=(t.roles||[]).map(u=>mR[u]||u),i=(t.position_ids||[]).map(u=>{var m;return((m=this.clubPositionsByID[u])==null?void 0:m.name)||"Volunteer (".concat(u,")")}),l=this.volunteerPositions.map(u=>u.name),a=this.roleFilters.filter(u=>l.includes(u)),s=a.length>0&&t.roles.includes(Gs)&&a.some(u=>i.includes(u));if(!this.roleFilters.some(u=>e.includes(u))&&!s)return!1}if(this.teamAccessStatus.length>0){const e=t.is_locked;if(!(this.teamAccessStatus.includes("locked")&&e||this.teamAccessStatus.includes("unlocked")&&!e))return!1}return!!this.filterClearances(t)},filterClearances(t){return this.clearanceRequirements.every(e=>{const i=this.clearanceFilters[e.id];if(T.isEmpty(i))return!0;const l=this.getClearanceStatus(t,e);return i.includes(l)})},getClearanceStatus(t,e){var l,a;const i=(a=(l=t.clearance_requirements_by_id)==null?void 0:l[e.id])!=null?a:{};if(Pe(e)){const s=be.candidateForOfficial(t,this.screeningApplicants),u=be.yardstikStatusForDisplay(s==null?void 0:s.reports,e,i,this.isUsingJdp);return["Unscreened","Overdue","Processing","Request Sent"].includes(u)?"incomplete":u==="Needs Consideration"?"needs-review":u.toLowerCase()}if(!(i!=null&&i.completed_date))return"incomplete";if(i.expiry_date){if(this.today.isAfter(Y(i.expiry_date)))return"expired";if(this.today.isAfter(Y(i.expiry_date).subtract(30,"d")))return"expiring"}return"completed"},emitFiltered(){this.$emit("filtered",{filtered:this.filteredStaff,filterActive:this.filterActive})}}},hR={class:"field"},gR={class:"field"},pR={class:"field"},_R={class:"field"},yR={class:"field"},vR={class:"field"},bR={class:"field"},CR={class:"field"},SR={class:"field"},kR={key:0,class:"field"},wR={key:1,class:"field"},TR={class:"field"},xR={class:"field"},FR={class:"field"},AR={key:0,class:"field"},MR={key:1,class:"field"},DR={class:"field"},RR={class:"field"};function IR(t,e,i,l,a,s){const u=c("b-checkbox"),m=c("b-field"),f=c("FilterSection"),v=c("TeamsFilterForContext");return d(),x(v,{ref:"teamsFilter",teams:s.teams,"hide-seasons":!0,"show-advanced-selection":!0,"show-archived-filter":!0,context:"clearance_statuses","league-season-age-class":i.leagueSeasonAgeClass,title:"Filter Clearances","outer-filter-active":s.outerFilterActive,onFiltered:e[8]||(e[8]=y=>s.updateFilteredTeams(y.filtered)),onFiltersCleared:s.clearFilters},{default:o(()=>[n(f,{label:"Verification Status","default-open":!0},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",hR,[n(u,{modelValue:a.verificationStatus,"onUpdate:modelValue":e[0]||(e[0]=y=>a.verificationStatus=y),"native-value":"verified"},{default:o(()=>[...e[9]||(e[9]=[p("Verified",-1)])]),_:1},8,["modelValue"])]),r("div",gR,[n(u,{modelValue:a.verificationStatus,"onUpdate:modelValue":e[1]||(e[1]=y=>a.verificationStatus=y),"native-value":"not_verified"},{default:o(()=>[...e[10]||(e[10]=[p("Not Verified",-1)])]),_:1},8,["modelValue"])])])]),_:1})]),_:1}),n(f,{label:"Role","default-open":!0},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",pR,[n(u,{modelValue:a.roleFilters,"onUpdate:modelValue":e[2]||(e[2]=y=>a.roleFilters=y),"native-value":"Coach"},{default:o(()=>[...e[11]||(e[11]=[p("Coach",-1)])]),_:1},8,["modelValue"])]),r("div",_R,[n(u,{modelValue:a.roleFilters,"onUpdate:modelValue":e[3]||(e[3]=y=>a.roleFilters=y),"native-value":"Team Staff"},{default:o(()=>[...e[12]||(e[12]=[p("Team Staff",-1)])]),_:1},8,["modelValue"])]),r("div",yR,[n(u,{modelValue:a.roleFilters,"onUpdate:modelValue":e[4]||(e[4]=y=>a.roleFilters=y),"native-value":"Director"},{default:o(()=>[...e[13]||(e[13]=[p("Director",-1)])]),_:1},8,["modelValue"])]),(d(!0),h(G,null,ue(s.volunteerPositions,y=>(d(),h("div",{key:y.id,class:"field"},[n(u,{modelValue:a.roleFilters,"onUpdate:modelValue":e[5]||(e[5]=g=>a.roleFilters=g),"native-value":y.name},{default:o(()=>[p(_(y.name),1)]),_:2},1032,["modelValue","native-value"])]))),128))])]),_:1})]),_:1}),i.hasLeagueTrackingPermission?(d(!0),h(G,{key:0},ue(i.clearanceRequirements,y=>(d(),h("div",{key:y.id}
1,[l.isBackgroundScreening(y)?(d(),x(f,{key:0,label:y.name},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",vR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"cleared"},{default:o(()=>[...e[14]||(e[14]=[p("Cleared",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",bR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"not-cleared"},{default:o(()=>[...e[15]||(e[15]=[p("Not Cleared",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",CR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"incomplete"},{default:o(()=>[...e[16]||(e[16]=[p("Incomplete",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",SR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"needs-review"},{default:o(()=>[...e[17]||(e[17]=[p("Needs Review",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),s.hasExpiry(y)?(d(),h("div",kR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"expiring"},{default:o(()=>[...e[18]||(e[18]=[p("Expiring Soon",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0),s.hasExpiry(y)?(d(),h("div",wR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"expired"},{default:o(()=>[...e[19]||(e[19]=[p("Expired",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0),r("div",TR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"canceled"},{default:o(()=>[...e[20]||(e[20]=[p("Canceled",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024)]),_:2},1032,["label"])):(d(),x(f,{key:1,label:y.name},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",xR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"completed"},{default:o(()=>[...e[21]||(e[21]=[p("Completed",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),r("div",FR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"incomplete"},{default:o(()=>[...e[22]||(e[22]=[p("Incomplete",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])]),s.hasExpiry(y)?(d(),h("div",AR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"expiring"},{default:o(()=>[...e[23]||(e[23]=[p("Expiring Soon",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0),s.hasExpiry(y)?(d(),h("div",MR,[n(u,{modelValue:a.clearanceFilters[y.id],"onUpdate:modelValue":g=>a.clearanceFilters[y.id]=g,"native-value":"expired"},{default:o(()=>[...e[24]||(e[24]=[p("Expired",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])):k("",!0)])]),_:2},1024)]),_:2},1032,["label"]))]))),128)):k("",!0),i.requiresClearanceForAccess?(d(),x(f,{key:1,label:"Team Access"},{default:o(()=>[n(m,null,{default:o(()=>[r("div",null,[r("div",DR,[n(u,{modelValue:a.teamAccessStatus,"onUpdate:modelValue":e[6]||(e[6]=y=>a.teamAccessStatus=y),"native-value":"locked"},{default:o(()=>[...e[25]||(e[25]=[p("Locked",-1)])]),_:1},8,["modelValue"])]),r("div",RR,[n(u,{modelValue:a.teamAccessStatus,"onUpdate:modelValue":e[7]||(e[7]=y=>a.teamAccessStatus=y),"native-value":"unlocked"},{default:o(()=>[...e[26]||(e[26]=[p("Unlocked",-1)])]),_:1},8,["modelValue"])])])]),_:1})]),_:1})):k("",!0)]),_:1},8,["teams","league-season-age-class","outer-filter-active","onFiltersCleared"])}const ER=ie(fR,[["render",IR]]),VR={components:{ExportModal:Qs},props:{leagueId:{type:Number,required:!0},type:{type:String,default:"Coaches"}},emits:["dismissModal"],computed:{customMessage(){return"Generate a custom .csv file to edit your ".concat(this.type==="Coaches"?"coach":"team staff"," clearances in bulk.")},serverEndpoint(){const t=this.type==="Coaches"?"coach":"team-staff";return"".concat(t,"-clearances.csv")}},methods:{showModal(){this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t)}}};function PR(t,e,i,l,a,s){const u=c("ExportModal");return d(),x(u,{ref:"modal","custom-message":s.customMessage,"server-url":"club_admin/club_leagues/".concat(i.leagueId,"/league_official"),"server-endpoint":s.serverEndpoint,type:i.type,onDismissModal:s.dismissModal},null,8,["custom-message","server-url","server-endpoint","type","onDismissModal"])}const BR=ie(VR,[["render",PR]]),qR={components:{Modal:Qe,EditableText:md},props:{league:{type:Object,required:!0},requirements:{type:Array,default:()=>[]},forOfficial:{type:Boolean,default:!0},currentUserIsRiskManager:{type:Boolean,default:!1}},emits:["dismissModal"],setup(){const{formatDate:t}=Xe(),e=Se();return{formatDate:t,toast:e}},data(){return{selectedRequirementIDs:[],officials:null,officialClearances:[],saving:!1}},computed:{invalid(){return this.selectedRequirementIDs.length===0},requirementsById(){return T.keyBy(this.requirements,"id")},officialClearancesById(){return T.keyBy(this.officialClearances,"sanctioning_body_clearance_requirement_id")},clearanceRequirements(){var t,e;return((e=(t=this.league)==null?void 0:t.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]},hasYardstikClearance(){return this.clearanceRequirements.some(t=>Pe(t))},messageBoxMessage(){let t="Updating Clearance will override previously entered completion and/or expiration dates.";return this.hasYardstikClearance&&this.currentUserIsRiskManager&&(t="".concat(t," In addition, background screenings cannot be managed from this area.")),t}}
1,methods:{isBackgroundScreening:Pe,showModal(t){this.officials=T.cloneDeep(t),this.selectedRequirementIDs=[],this.officialClearances=[],this.forOfficial&&(this.officialClearances=T.flatMap(t[0].clearance_requirements_by_id)),this.$refs.modal.showModal()},dismissModal(t={refreshData:!1}){this.$emit("dismissModal",t),this.$refs.modal.dismissModal()},status(t){const e=Y();return t&&t.completed_date?t.expiry_date&&e.isAfter(Y(t.expiry_date))?"Expired":"Completed":"Incomplete"},requirementExpirationDetails(t){const e=T.get(t,"extra.clearance_requirement_expiry_anniversary"),i=T.get(t,"extra.clearance_requirement_expiry_period");if(e){const l=Y(),a=e.split("-"),s=parseInt(a[0],10),u=parseInt(a[1],10)-1;let m=l.year();(u<l.month()||u===l.month()&&s<=l.date())&&(m+=1);const f=l.year(m).month(u).date(s).toDate();return"The expiration date will default to ".concat(this.formatDate(f,"ll"),".")}else if(i){const l=i.split("-"),a=parseInt(l[0],10),u=l[1].split("s")[0];return"The expiration date will default to ".concat(Fe(a,u)," from the completion date.")}return""},selectRequirement(t){this.officialClearancesById[t]||this.officialClearances.push({sanctioning_body_id:this.league.sanctioning_body_id,sanctioning_body_clearance_requirement_id:t,completed_date:null,expiry_date:null})},requirementSelected(t){return this.selectedRequirementIDs.includes(t)},defaultExpirationDate(t){const e=Y(t.completed_date),i=this.requirementsById[t.sanctioning_body_clearance_requirement_id],l=T.get(i,"extra.clearance_requirement_expiry_anniversary"),a=T.get(i,"extra.clearance_requirement_expiry_period");if(t.completed_date===null)t.expiry_date=null;else if(l){const u=l.split("-"),m=parseInt(u[0],10),f=parseInt(u[1],10)-1;let v=e.year();(f<e.month()||f===e.month()&&m<=e.date())&&(v+=1);const y=e.year(v).month(f).date(m).toDate();t.expiry_date=Y(y).format("YYYY-MM-DD")}else if(a){const u=a.split("-"),m=parseInt(u[0],10),f=u[1];e.add(m,f).subtract(1,"day"),t.expiry_date=Y(e).format("YYYY-MM-DD")}else t.expiry_date=null;const s=T.findIndex(this.officialClearances,u=>u.sanctioning_body_clearance_requirement_id===i.id);this.officialClearances[s]=t},updateClearance(){this.saving=!0;const t=T.map(this.selectedRequirementIDs,i=>this.officialClearancesById[i]),e=[];this.officials.forEach(i=>{t.forEach(l=>{const a=T.assign({},l,{user_id:i.user_id});e.push(a)})}),Q().post("club_admin/club_sanctioning_bodies/".concat(this.league.sanctioning_body_id,"/update_official_clearances"),e).then(()=>{this.toast.success("Clearances Updated"),this.dismissModal({refreshData:!0}),this.saving=!1})}}},OR={class:"is-font-mont has-text-weight-bold"},UR={key:0,class:"is-italic has-text-grey-light"},LR={key:0,class:"blue-notif"},GR={key:1},NR={class:"has-text-grey"},jR={class:"columns"},YR={class:"column"},zR={class:"column"},HR=["disabled"];function $R(t,e,i,l,a,s){const u=c("message-box"),m=c("b-checkbox"),f=c("EditableText"),v=c("Modal");return d(),x(v,{ref:"modal","has-datepicker":!0,title:"Update Clearance","has-cancel-button":"","modal-class":"modal-min-height"},{footer:o(()=>[r("button",{class:Ce(["button is-primary",{"is-loading":a.saving}]),disabled:s.invalid||a.saving,onClick:e[1]||(e[1]=(...y)=>s.updateClearance&&s.updateClearance(...y))}," Update Clearance ",10,HR)]),default:o(()=>[r("div",null,[n(u,{type:"is-cyan",message:s.messageBoxMessage,icon:{icon:["fas","info-circle"],type:"info"},"is-box":!0},null,8,["message"]),e[5]||(e[5]=r("div",null,[r("p",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Update Clearance")],-1)),e[6]||(e[6]=r("br",null,null,-1)),(d(!0),h(G,null,ue(i.requirements,y=>(d(),h("div",{key:y.id},[r("div",{class:Ce(["box",{"box-selected-outlined":s.requirementSelected(y.id)}]),style:{display:"flex","margin-bottom":"1rem"}},[n(m,{modelValue:a.selectedRequirementIDs,"onUpdate:modelValue":[e[0]||(e[0]=g=>a.selectedRequirementIDs=g),g=>s.selectRequirement(y.id)],disabled:s.isBackgroundScreening(y),"native-value":y.id},{default:o(()=>[r("span",OR,_(y.name),1),i.forOfficial?(d(),h("span",UR,"Â ("+_(s.status(s.officialClearancesById[y.id]))+")",1)):k("",!0)]),_:2},1032,["modelValue","disabled","native-value","onUpdate:modelValue"]),s.isBackgroun
1dScreening(y)&&!i.currentUserIsRiskManager?(d(),h("span",LR,"Managed by Risk Managers")):k("",!0),s.requirementSelected(y.id)?(d(),h("div",GR,[r("p",NR,_(s.requirementExpirationDetails(y)),1),e[4]||(e[4]=r("br",null,null,-1)),r("div",jR,[r("div",YR,[e[2]||(e[2]=r("p",{class:"is-font-mont has-text-grey has-text-weight-semibold is-text-size-7"},"Completion Date",-1)),n(f,{modelValue:s.officialClearancesById[y.id].completed_date,"onUpdate:modelValue":[g=>s.officialClearancesById[y.id].completed_date=g,g=>s.defaultExpirationDate(s.officialClearancesById[y.id])],class:"is-font-mont has-text-weight-semibold",type:"date",placeholder:"Add Completion Date",onChange:g=>s.defaultExpirationDate(s.officialClearancesById[y.id])},null,8,["modelValue","onUpdate:modelValue","onChange"])]),r("div",zR,[e[3]||(e[3]=r("p",{class:"is-font-mont has-text-grey has-text-weight-semibold is-text-size-7"},"Expiration Date",-1)),n(f,{modelValue:s.officialClearancesById[y.id].expiry_date,"onUpdate:modelValue":g=>s.officialClearancesById[y.id].expiry_date=g,"display-text":s.officialClearancesById[y.id].expiry_date||"-",class:"is-font-mont has-text-weight-semibold",type:"date"},null,8,["modelValue","onUpdate:modelValue","display-text"])])])])):k("",!0)],2)]))),128))])]),_:1},512)}const an=ie(qR,[["render",$R],["__scopeId","data-v-bf05a62b"]]),WR={components:{ClearanceStatusTag:qt},props:{requirement:{type:Object,required:!0},officialClearances:{type:Object,required:!0},officialIsCoach:{type:Boolean,default:!1},officialIsTeamStaff:{type:Boolean,default:!1},usingJdp:{type:Boolean,default:!1},yardstikReports:{type:Array,default:()=>[]},currentUserIsRiskManager:{type:Boolean,default:!1}},setup(){const{formatDate:t}=Xe();return{formatDate:t}},methods:{isBackgroundScreening:Pe,statusForTag(t){const e=this.officialClearances[t];return be.statusForTag(e,this.requirement,this.yardstikReports,this.usingJdp)},formattedDate(t){return t?this.formatDate(t,"ll"):"-"}}},QR={class:"box flat-box clearance"},JR={class:"clearance-header"},KR={class:"is-font-mont is-text-size-6 has-text-weight-semibold"},XR={class:"has-text-grey"},ZR={class:"clearance-details"},eI={class:"columns"},tI={class:"column"},sI={class:"column"},iI={class:"column"},aI={key:0,class:"column"};function lI(t,e,i,l,a,s){var f;const u=c("b-tag"),m=c("ClearanceStatusTag");return d(),h("div",QR,[r("div",JR,[r("p",KR,_(i.requirement.name),1),r("p",XR,_(i.requirement.details),1),r("div",null,[i.requirement.coach_required&&i.officialIsCoach?(d(),x(u,{key:0,class:"role-tag",style:{"max-height":"1.5rem","margin-right":".5rem"}},{default:o(()=>[...e[0]||(e[0]=[p(" Coach ",-1)])]),_:1})):k("",!0),i.requirement.team_staff_required&&i.officialIsTeamStaff?(d(),x(u,{key:1,class:"role-tag",style:{"max-height":"1.5rem"}},{default:o(()=>[...e[1]||(e[1]=[p(" Team Staff ",-1)])]),_:1})):k("",!0)])]),r("div",ZR,[r("div",eI,[r("div",tI,[e[2]||(e[2]=r("p",null,"Status",-1)),n(m,{data:s.statusForTag(i.requirement.id),"current-user-is-riskmanager":i.currentUserIsRiskManager},null,8,["data","current-user-is-riskmanager"])]),r("div",sI,[e[3]||(e[3]=r("p",null,"Completion Date",-1)),r("span",null,_(s.formattedDate(i.officialClearances[i.requirement.id]&&i.officialClearances[i.requirement.id].completed_date)),1)]),r("div",iI,[e[4]||(e[4]=r("p",null,"Expiration Date",-1)),r("span",null,_(s.formattedDate(i.officialClearances[i.requirement.id]&&i.officialClearances[i.requirement.id].expiry_date)),1)]),s.isBackgroundScreening(i.requirement)?k("",!0):(d(),h("div",aI,[e[5]||(e[5]=r("p",null,"Completed By",-1)),r("span",null,_(i.officialClearances[i.requirement.id]&&((f=i.officialClearances[i.requirement.id].completed_by)==null?void 0:f.name)||"-"),1)]))])])])}const nI=ie(WR,[["render",lI],["__scopeId","data-v-c7de9b3d"]]);var Ga;const rI={components:{FullScreenModal:Pt,FormModalHeader:zs,ContextAvatar:Ui,UpdateClearanceModal:an,UserClearanceInfoBlock:nI},inject:["refresh","officialClearedByReqs","showSetTeamAccessModal"],props:{league:{type:Object,required:!0},clubYardstik:{type:Object,default:()=>{}},clearanceRequirements:{type:Array,required:!0},usingJdp:{type:Boolean,default:!1},currentUserIsRiskManager:{type:Boolean,default:!1}},emits:["dismissModal","riskManagement"],setup(){const{escapeHTMLTags:t}=Sl();return{toast:Se(),escapeHTMLTags:t}},data(){return{official:null}}
1,computed:{ACTION_DELETE(){return"delete"},actions(){return[this.ACTION_DELETE]},hasLeagueTrackingPermission(){return xt(this.$store,Kt)},requiresClearanceForAccess(){return this.league&&this.league.extra.require_clearances},officialIsCoach(){return this.official.roles.includes("Coach")},officialIsTeamStaff(){return this.official.roles.includes("Manager")},requirementsForOfficial(){return this.official?T.filter(this.clearanceRequirements,t=>t.coach_required&&this.officialIsCoach||t.team_staff_required&&this.officialIsTeamStaff):[]},coachRequirements(){return this.clearanceRequirements.filter(t=>t.coach_required)},managerRequirements(){return this.clearanceRequirements.filter(t=>t.team_staff_required)},integratedRequirementsForOfficial(){return this.official?T.filter(this.requirementsForOfficial,t=>Pe(t)):[]},customRequirementsForOfficial(){return this.official?T.filter(this.requirementsForOfficial,t=>!Pe(t)):[]},officialClearances(){return this.official.clearance_requirements_by_id?this.official.clearance_requirements_by_id:{}},coachAccesses(){const t={};return(this.league.league_teams||[]).forEach(e=>{var l;const i=(l=e.team.coaches)==null?void 0:l.find(a=>a.user_id===this.official.user_id);i&&(t[e.team.id]=i)}),t},managerAccesses(){const t={};return(this.league.league_teams||[]).forEach(e=>{var l;const i=(l=e.team.managers)==null?void 0:l.find(a=>a.user_id===this.official.user_id);i&&(t[e.team.id]=i)}),t},officialTeams(){const t=(this.league.league_teams||[]).filter(e=>this.coachAccesses[e.team.id]||this.managerAccesses[e.team.id]?(e.team.is_locked=this.getOfficialIsLocked(e.team),!0):!1);return T.map(t,"team")},hasTeams(){return this.officialTeams&&this.officialTeams.length>0},allTeamsLocked(){return this.officialTeams.every(t=>t.is_locked)},officialNeedsAttention(){let t=!1;return T.forEach(this.requirementsForOfficial,e=>{const i=this.status(e.id);(i.status==="incomplete"||i.text==="expired")&&(t=!0)}),t},yardstikCandidates(){return this.usingJdp?this.clubYardstik&&this.clubYardstik.applicants||[]:this.clubYardstik&&this.clubYardstik.candidates||[]},candidateForOfficial(){return be.candidateForOfficial(this.official,this.yardstikCandidates)},yardstikReports(){return this.candidateForOfficial&&this.candidateForOfficial.reports&&this.candidateForOfficial.reports},statusForYardstikClearance(){const t=this.integratedRequirementsForOfficial[0],e=this.officialClearances[t.id];return be.yardstikStatusForDisplay(this.yardstikReports,t,e,this.usingJdp)}},watch:{league:{deep:!0,handler(){this.official=T.find(this.league.league_officials,t=>t.user_id===(this.official||{}).user_id)}}},methods:{showModal(t){this.official=T.cloneDeep(t),this.$refs.modal.show()},dismissModal(t={refreshData:!1}){this.$refs.modal.dismiss(),this.$emit("dismissModal",t)},seasonName(t){return this.$store.getters.clubSeasonByID(t).name},getOfficialIsLocked(t){const e=this.coachAccesses[t.id],i=this.managerAccesses[t.id];let l=[];e&&i?l=this.coachRequirements.concat(this.managerRequirements):e?l=this.coachRequirements:i&&(l=this.managerRequirements);const a=e?e.cleared_status!=="cleared":!1,s=i?i.cleared_status!=="cleared":!1;return(a||s)&&!this.officialClearedByReqs(this.official,l)},isCoach(t){return!!this.coachAccesses[t.id]},isManager(t){return!!this.managerAccesses[t.id]},showUpdateClearanceModal(){this.$refs.updateClearanceModal.showModal([this.official])},status(t){const e=this.officialClearances[t];return be.status(e)},confirmRemoveOfficial(){this.$confirm.confirm({title:"Remove Team Official",message:this.escapeHTMLTags(Ga||(Ga=ni(["You are about to remove <b>","</b> from ",". Once removed all clearance details will also be deleted and this user will be removed from any league teams.<br><br>Are you sure you want to remove <b>","</b>?"])),this.official.display_name,this.league.name,this.official.display_name),confirmText:"Yes, remove official",cancelText:"No, do not remove",type:"is-danger",icon:"exclamation-triangle",onConfirm:()=>this.removeOfficial()})},removeOfficial(){return Q().delete("club_admin/club_leagues/".concat(this.league.id,"/league_official/").concat(this.official.user_id)).then(()=>{this.toast.success("League Official Deleted"),this.dismissModal({refreshData:!0})})}
1,showRiskManagementModal(){this.$emit("riskManagement",{status:this.statusForYardstikClearance,name:this.official.display_name}),this.dismissModal()},dismissClearanceModal(t={refreshData:!1}){t.refreshData&&this.refresh({reload:!1})},openSetTeamAccessModal(){this.showSetTeamAccessModal(this.official,this.officialTeams)},dismissSetTeamAccess(t={refreshData:!1}){t.refreshData&&this.refresh({reload:!1})}}},oI={key:0,class:"centered-tool view-team-official"},dI={key:0},uI={class:"columns is-vcentered"},cI={class:"column is-narrow"},mI={class:"column"},fI={class:"is-font-mont has-text-weight-bold is-text-size-3"},hI={key:0,class:"column is-narrow"},gI={style:{margin:"-1rem 0 1rem 0"}},pI={key:1,class:"box flat-box"},_I={key:0},yI={key:0},vI={key:2,class:"clearance-section"},bI={class:"columns is-vcentered"},CI={class:"column is-narrow"},SI={key:3,class:"clearance-section"},kI={class:"columns is-vcentered"},wI={class:"column is-narrow"};function TI(t,e,i,l,a,s){const u=c("FormModalHeader"),m=c("b-tag"),f=c("fa-icon"),v=c("ContextAvatar"),y=c("message-box"),g=c("b-table-column"),b=c("BaseTable"),S=c("UserClearanceInfoBlock"),F=c("FullScreenModal"),w=c("UpdateClearanceModal");return d(),h("div",null,[n(F,{ref:"modal"},{header:o(()=>[n(u,{title:"View Clearances",actions:s.actions,"wide-form":!0,onDismiss:s.dismissModal},{[s.ACTION_DELETE]:o(()=>[r("button",{class:"button is-outlined is-danger",onClick:e[0]||(e[0]=(...C)=>s.confirmRemoveOfficial&&s.confirmRemoveOfficial(...C))}," Remove From League ")]),_:2},1032,["actions","onDismiss"])]),default:o(()=>[a.official?(d(),h("div",oI,[s.hasLeagueTrackingPermission?k("",!0):(d(),h("div",dI,[s.officialNeedsAttention?(d(),x(m,{key:0,rounded:"",class:"clearance-tag incomplete-status"},{default:o(()=>[...e[4]||(e[4]=[p(" Awaiting Clearance ",-1)])]),_:1})):(d(),x(m,{key:1,rounded:"",class:"clearance-tag completed-status"},{default:o(()=>[n(f,{icon:["far","check"],class:"clearance-icon"}),e[5]||(e[5]=p(" Cleared ",-1))]),_:1}))])),r("div",uI,[r("div",cI,[n(v,{"context-type":"User",context:a.official,size:"28"},null,8,["context"])]),r("div",mI,[r("p",fI,_(a.official.display_name),1)]),s.requiresClearanceForAccess&&s.officialNeedsAttention?(d(),h("div",hI,[r("button",{class:"button is-outlined",onClick:e[1]||(e[1]=(...C)=>s.openSetTeamAccessModal&&s.openSetTeamAccessModal(...C))},[n(f,{icon:["far","unlock"]}),e[6]||(e[6]=p("Â Set Team Access ",-1))])])):k("",!0)]),r("div",gI,[s.officialIsCoach?(d(),x(m,{key:0,class:"role-tag",style:{"max-height":"1.5rem","margin-right":".5rem"}},{default:o(()=>[...e[7]||(e[7]=[p(" Coach ",-1)])]),_:1})):k("",!0),s.officialIsTeamStaff?(d(),x(m,{key:1,class:"role-tag",style:{"max-height":"1.5rem"}},{default:o(()=>[...e[8]||(e[8]=[p(" Team Staff ",-1)])]),_:1})):k("",!0)]),s.hasTeams?(d(),h("div",pI,[e[11]||(e[11]=r("div",{class:"columns is-vcentered"},[r("div",{class:"column"},[r("p",{class:"is-font-mont has-text-weight-semibold"},"Current Teams")])],-1)),s.requiresClearanceForAccess&&s.officialNeedsAttention?(d(),h("div",_I,[s.allTeamsLocked?(d(),x(y,{key:0,type:"is-cyan",message:"All teams are locked. Clearance requirement completion is required to access locked teams.",icon:{icon:["fas","info-circle"],type:"info"}})):(d(),x(y,{key:1,type:"is-yellow",message:"Teams are unlocked. Clearance requirement completion is not required to access unlocked teams.",icon:{icon:["fas","info-circle"],type:"warning"}}))])):k("",!0),r("div",null,[n(b,{name:"officialTeams",data:s.officialTeams,"show-all":""},{default:o(()=>[n(g,{visible:s.requiresClearanceForAccess,"custom-key":"locked"},{default:o(({row:C})=>[C.is_locked?(d(),h("div",yI,[n(f,{icon:["fas","lock"],class:"has-text-grey"})])):k("",!0)]),_:1},8,["visible"]),n(g,{label:"Team"},{default:o(({row:C})=>[p(_(C.name),1)]),_:1}),n(g,{label:"Season"},{default:o(({row:C})=>[p(_(s.seasonName(C.season_id)),1)]),_:1}),n(g,{label:"Role"},{default:o(({row:C})=>[s.isCoach(C)?(d(),x(m,{key:0,style:{"margin-right":".5rem"}},{default:o(()=>[...e[9]||(e[9]=[p(" Coach ",-1)])]),_:1})):k("",!0),s.isManager(C)?(d(),x(m,{key:1},{default:o(()=>[...e[10]||(e[10]=[p(" Team Staff ",-1)])]),_:1})):k("",!0)]),_:1})]),_:1},8,["data"])])])):k("",!0),s.integratedRequirementsForOfficial.length>0&&s.hasLeagueTrackingPermission?(d(),h("div",vI,[r("div",bI,[e[12]||(e[12]=r("div",{class:"column"},[r("p",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Integrated Clearances")],-1)),r("div",CI,[i.currentUserIsRiskManager?(d(),h("button",{key:0,class:"button is-outlined",onClick:e[2]||(e[2]=(...C)=>s.showRiskManagementModal&&s.showRiskManagementModal(...C))}," Manage Clearance ")):k("",!0)])]),i.currentUserIsRiskManager?k("",!0):(d(),x(y,{key:0,t
1ype:"is-primary",message:"Integrated background screenings are managed by your club's risk manager.",icon:{icon:["fas","exclamation-circle"],type:"primary"}})),(d(!0),h(G,null,ue(s.integratedRequirementsForOfficial,C=>(d(),x(S,{key:C.id,requirement:C,"official-clearances":s.officialClearances,"official-is-coach":s.officialIsCoach,"official-is-team-staff":s.officialIsTeamStaff,"using-jdp":i.usingJdp,"yardstik-reports":s.yardstikReports,"current-user-is-risk-manager":i.currentUserIsRiskManager},null,8,["requirement","official-clearances","official-is-coach","official-is-team-staff","using-jdp","yardstik-reports","current-user-is-risk-manager"]))),128))])):k("",!0),s.customRequirementsForOfficial.length>0&&s.hasLeagueTrackingPermission?(d(),h("div",SI,[r("div",kI,[e[14]||(e[14]=r("div",{class:"column"},[r("p",{class:"is-font-mont has-text-weight-bold is-text-size-4"},"Custom Clearances")],-1)),r("div",wI,[r("button",{class:"button is-outlined",onClick:e[3]||(e[3]=(...C)=>s.showUpdateClearanceModal&&s.showUpdateClearanceModal(...C))},[n(f,{icon:["far","pencil"]}),e[13]||(e[13]=p("Â Update Clearance ",-1))])])]),(d(!0),h(G,null,ue(s.customRequirementsForOfficial,C=>(d(),x(S,{key:C.id,requirement:C,"using-jdp":i.usingJdp,"official-clearances":s.officialClearances,"official-is-coach":s.officialIsCoach,"official-is-team-staff":s.officialIsTeamStaff},null,8,["requirement","using-jdp","official-clearances","official-is-coach","official-is-team-staff"]))),128))])):k("",!0)])):k("",!0)]),_:1},512),n(w,{ref:"updateClearanceModal",league:i.league,requirements:s.customRequirementsForOfficial,onDismissModal:s.dismissClearanceModal},null,8,["league","requirements","onDismissModal"])])}const xI=ie(rI,[["render",TI],["__scopeId","data-v-eebb57ae"]]);function Ci(t){return t?t.sort((e,i)=>Pe(e)?-1:Pe(i)?1:0):[]}const Ea="Compose Message",Va="Update Clearance",Pa="Set Team Access",Ba="Add Team Staff",qa="Add Club Staff",Oa="Import Clearances",Ua="Export Clearances",FI="Invite Volunteer",AI={components:{PageNavigationDesktopCtas:$o,AlertBox:Et,AddDirectorToLeagueModal:dA,SelectionToolbar:_t,ViewTeamOfficial:xI,AddTeamOfficialModal:YD,MessageOfficials:Cs,UpdateClearanceModal:an,ClearanceFilter:cR,ExportClearances:BR,ImportStartOrContinueModal:Ll,ClearanceImportMappingModal:NA,ClearanceStatusTag:qt,RiskManagementTool:oA,BackgroundScreeningsSummary:BT,SetTeamAccess:sn,LeagueTeamOfficialsClearanceStatusesTable:vD,ClearanceStatusesFilter:ER},inject:["refresh"],provide(){return{officialClearedByReqs:this.officialClearedByReqs,showSetTeamAccessModal:this.showSetTeamAccessModal,leagueSeasonAgeClassFromClearance:this.leagueSeasonAgeClass,isUsingJdp:()=>this.isUsingJdp}},props:{league:{type:Object,required:!0},importInProgress:{type:Boolean,default:!1},currentUserIsRiskManager:{type:Boolean,default:!1}},setup(){const t=Se(),e=Vt();return{isBackgroundScreening:Pe,toast:t,modulesStore:e}},data(){return{activeTabIndex:0,searchQuery:"",selectedOfficials:[],clickedCheckAll:!1,filteredOfficials:[],filterActive:!1,clubVendor:null,clubBackgroundCheckers:null,isUsingJdp:!1,computedOfficials:[],filteredComputedOfficials:[]}},computed:{leagueSeasonAgeClass(){const e=this.$store.getters.clubDetails.seasons.find(i=>{var l;return i.id===((l=this.league)==null?void 0:l.season_id)});return e==null?void 0:e.age_class},clubConfig(){return this.$store.getters.clubDetails.config},clearanceRequirements(){var t,e;return((e=(t=this.league)==null?void 0:t.sanctioning_body)==null?void 0:e.sanctioning_body_clearance_requirements)||[]},hasBackgroundScreening(){return this.clearanceRequirements.some(t=>this.isBackgroundScreening(t)&&!t.archived_at)},showBackgroundScreeningStuff(){return!!this.clubConfig.integrated_background_checks_enabled&&this.hasBackgroundScreening&&this.currentUserIsRiskManager},hasLeagueTrackingPermission(){return xt(this.$store,Kt)},requiresClearanceForAccess(){return this.league.extra&&this.league.extra.require_clearances},legendItems(){return this.requiresClearanceForAccess?[{icon:["fas","lock"],icon_color:["grey"],text:"Team Access Locked"}]:null},leagueOfficials(){return this.league.league_officials||[]},teams(){return(this.league.league_teams||[]).map(t=>t.team)},teamsByID(){return T.keyBy(this.teams,"id")},teamCoachesByID(){return T.groupBy(this.teams.flatMap(t=>t.coaches.map(e=>({...e,team_id:t.id}))),"user_id")},teamManagersByID(){return T.groupBy(this.teams.flatMap(t=>t.managers.map(e=>({...e,team_id:t.id}))),"user_id")}
1,coachOfficials(){const t=T.cloneDeep(this.leagueOfficials.filter(e=>e.roles.includes("Coach")));return t.forEach(e=>{var i;e.teams=((i=this.teamCoachesByID[e.user_id])==null?void 0:i.map(l=>({...this.teamsByID[l.team_id],is_locked:this.getOfficialIsLocked(e,l,this.teamsByID[l.team_id])})))||[],e.team_list=this.teamList(e),e.is_locked=this.officialLocked(e)}),t},managerOfficials(){const t=T.cloneDeep(this.leagueOfficials.filter(e=>e.roles.includes("Manager")));return t.forEach(e=>{var i;e.teams=((i=this.teamManagersByID[e.user_id])==null?void 0:i.map(l=>({...this.teamsByID[l.team_id],is_locked:this.getOfficialIsLocked(e,l,this.teamsByID[l.team_id])})))||[],e.team_list=this.teamList(e),e.is_locked=this.officialLocked(e)}),t},officialsForTab(){let t=[];return this.activeTab==="Coaches"&&(t=this.coachOfficials),this.activeTab==="Team Staff"&&(t=this.managerOfficials),t.filter(e=>this.searchQuery===""||e.display_name.toLowerCase().includes(this.searchQuery.toLowerCase())||e.team_list.toLowerCase().includes(this.searchQuery.toLowerCase()))},tabs(){return["Coaches","Team Staff"]},activeTab(){return this.tabs[this.activeTabIndex]},tableHeaderText(){return this.activeTab==="Coaches"?"".concat(this.officialsForTab.length," Coach").concat(this.officialsForTab.length===1?"":"es"):"".concat(this.officialsForTab.length," Team Staff")},clearanceRequirementsSorted(){const t=T.cloneDeep(this.clearanceRequirements.filter(e=>!e.archived_at));return Ci(t)},coachClearanceRequirements(){return this.clearanceRequirements.filter(t=>t.coach_required&&!t.archived_at)},coachClearanceRequirementsSorted(){const t=T.cloneDeep(this.coachClearanceRequirements);return Ci(t)},managerClearanceRequirements(){var t;return this.league.sanctioning_body&&((t=this.league.sanctioning_body.sanctioning_body_clearance_requirements)==null?void 0:t.filter(e=>e.team_staff_required&&!e.archived_at))},managerClearanceRequirementsSorted(){const t=T.cloneDeep(this.managerClearanceRequirements);return Ci(t)},clearanceRequirementsForTab(){return this.activeTab==="Coaches"?this.coachClearanceRequirementsSorted:this.managerClearanceRequirementsSorted},clearanceRequirementsForUpdateModal(){return this.currentUserIsRiskManager?this.clearanceRequirementsForTab.filter(t=>!Pe(t)):this.clearanceRequirementsForTab},showUpdateClearanceButton(){return this.clearanceRequirementsForTab.some(t=>!Pe(t))},checkedRows:{get(){return this.selectedOfficials},set(t){let e=T.clone(t);this.clickedCheckAll&&(this.$refs.checkboxTable.getIsAllChecked()?e=T.unionBy(e,this.checkableOfficials,"id"):e=T.differenceBy(e,this.checkableOfficials,"id")),this.selectedOfficials=e,this.clickedCheckAll=!1}},checkableOfficials(){return this.filteredOfficials.filter(t=>this.isRowCheckable(t))},filterContext(){return this.activeTab==="Coaches"?"coaches_clearance":"manager_clearance"},importSubject(){return this.activeTab==="Coaches"?"Coach Clearance":this.activeTab==="Team Staff"?"Team Staff Clearance":""},sampleImportCSV(){let t="";this.activeTab==="Coaches"?t="Coach":this.activeTab==="Team Staff"&&(t="Team Staff");const e=[];e.push("".concat(t,"'s First Name"),"".concat(t,"'s Last Name"),"".concat(t,"'s Email")),this.hasLeagueTrackingPermission?this.clearanceRequirementsForTab.forEach(l=>{Pe(l)||e.push("".concat(l.name," Completion Date"),"".concat(l.name," Expiration Date"))}):e.push("Clearance Completion Date","Clearance Expiration Date");const i=[];return i.push(e,["John","Doe","[email protected]","",""],["Jane","Doe","[email protected]",Y().format("MM/DD/YYYY"),Y().add(1,"day").format("MM/DD/YYYY")]),i},messageForImport(){return{}},screeningApplicants(){var t,e;return this.isUsingJdp?((t=this.clubVendor)==null?void 0:t.applicants)||[]:((e=this.clubVendor)==null?void 0:e.candidates)||[]},disableSetTeamAccess(){const t=this.selectedOfficials.filter(e=>e.is_locked).length;return this.selectedOfficials.some(e=>!this.officialNeedsAttention(e)&&!e.is_locked)||t>0&&t<this.selectedOfficials.length},selectionToolbarActions(){const t=[{text:Ea}];return this.hasLeagueTrackingPermission&&this.showUpdateClearanceButton&&t.push({text:Va}),this.requiresClearanceForAccess&&t.push({text:Pa,disabled:this.disableSetTeamAccess}),t},staffUpdatesEnabled(){return this.modulesStore.enableLeagueStaffClearanceSubmissions},clearanceCtas(){const t=[{text:Ba,dropdown_item:!0}];return this.staffUpdatesEnabled&&(t.push({text:qa,dropdown_item:!0}),t.push({text:FI,dropdown_item:!0,disabled:!0})),t.push({text:Oa,dropdown_item:!0}),this.hasLeagueTrackingPermission&&t.push(Ua),t}},watch:{activeTabIndex(){this.selectedOfficials=[]}},created(){this.fetchClubVendor()},methods:{async fetchClubVendor(t={reload:!1}){var e,i,l;
1if(t.reload&&(this.clubVendor=null),this.clubBackgroundCheckers=await this.fetchClubBackgroundCheckers(),this.clubVendor=(e=this.clubBackgroundCheckers)==null?void 0:e.find(a=>a.vendor===Dl),this.clubVendor){this.isUsingJdp=!0;const a=(i=this.clubBackgroundCheckers)==null?void 0:i.find(s=>s.vendor===wi);if(!a)return;be.appendTransformedLastYSReportToTazReports(a.candidates,this.clubVendor.applicants||[])}else this.clubVendor=(l=this.clubBackgroundCheckers)==null?void 0:l.find(a=>a.vendor===wi)},getOfficialIsLocked(t,e,i){let l=!1;this.requiresClearanceForAccess&&(this.activeTab==="Coaches"?l=i.managers.filter(s=>s.id===t.user_id).length>0:l=i.coaches.filter(s=>s.id===t.user_id).length>0);const a=l?this.coachClearanceRequirements.concat(this.managerClearanceRequirements):this.clearanceRequirementsForTab;return e.cleared_status==="clearance_required"||e.cleared_status===""&&!this.officialClearedByReqs(t,a)},officialClearedByReqs(t,e){return e.map(l=>this.clearanceRequirementStatus(t,l)).every(l=>l.text==="Completed"||l.text==="Cleared"||l.text==="Expiring Soon")},async fetchClubBackgroundCheckers(){var i;const e=gt({applicants:{reports:!0,user:!0}});try{return(await Q({showError:!1}).get("/club_admin/club_background_checkers?populate=".concat(e))).data}catch(l){if(((i=l.response)==null?void 0:i.status)===404)return null;this.toast.error(Q().errorToMessage(l))}return null},officialNeedsAttention(t){let e=!1;return this.clearanceRequirementsForTab.forEach(i=>{const l=this.clearanceRequirementStatus(t,i);(l.text==="Incomplete"||l.text==="Expired"||l.text==="Unscreened")&&(e=!0)}),e},officialLocked(t){return t.teams.some(e=>e.is_locked)},teamList(t){return t.teams.map(e=>e.name).join(", ")},candidateForOfficial(t){return be.candidateForOfficial(t,this.screeningApplicants)},clearanceRequirementStatus(t,e){const i=this.candidateForOfficial(t),l=t.clearance_requirements_by_id?t.clearance_requirements_by_id[e.id]:{};return be.statusForTag(l,e,i==null?void 0:i.reports,this.isUsingJdp)},showTeamOfficial(t){this.isRowCheckable(t)&&this.$refs.viewTeamOfficial.showModal(t)},openAddUserModal(){this.$refs.addUserModal.showModal()},addLeagueOfficial(t){const e=T.map(t,i=>Q().post("club_admin/club_leagues/".concat(this.league.id,"/league_official/").concat(i.id,"/").concat(i.role),T.pick(i,["id","email","first_name","last_name","mobile_number","teams"])).then(()=>{if(i.send_invitation){let l;i.role==="coach"&&(l="/club_admin/club/coaches/".concat(i.id,"/resend")),i.role==="team_staff"&&(l="/club_admin/club/team_managers/".concat(i.id,"/resend")),Q().post(l)}}));Promise.all(e).then(()=>{this.toast.success("User Added"),this.refresh()})},checkAll(){this.clickedCheckAll=!0},selectionToolbarCta(t){t.text===Ea?this.openMessageOfficials(this.selectedOfficials):t.text===Va?this.openUpdateClearanceModal():t.text===Pa&&this.setTeamAccess()},openMessageOfficials(t=[]){const e=this.activeTab==="Coaches"?"coach":"manager",i=t.map(l=>"".concat(e,"_").concat(l.user_id));this.$refs.messageOfficials.show(i,this.activeTab)},dismissMessageOfficials(t={refreshData:!1}){t.refreshData&&(this.selectedOfficials=[])},openUpdateClearanceModal(){this.$refs.updateClearanceModal.showModal(this.selectedOfficials)},dismissModal(t={refreshData:!1}){t.refreshData&&this.refresh()},showImportClearancesModal(){this.$refs.importClearances.showModal()},showExportClearancesModal(){return this.$refs.exportClearances.showModal()},handleClearanceImportModalInput(t){this.$refs.clearanceImportMappingModal.showModal(t)},isRowCheckable(t){return this.$store.getters.isRegionlessAdmin?!0:T.some(t.teams||[],e=>this.$store.getters.canAdminRegionID(e.club_region_id))},clickable(t){return this.isRowCheckable(t)?"clickable":"has-text-grey-light"},setTeamAccess(){this.selectedOfficials.length===1?this.showSetTeamAccessModal(this.selectedOfficials[0]):this.selectedOfficials.every(t=>this.officialLocked(t))?this.confirmTeamAccessAction("unlock"):this.confirmTeamAccessAction("lock")},showSetTeamAccessModal(t,e=null){const i=e||t.teams;this.$refs.setTeamAccess.showModal(t,i)},confirmTeamAccessAction(t){const e=this.selectedOfficials.length;let i="The <b>".concat(e,"</b> selected ").concat(this.activeTab," are currently uncleared and");t==="lock"?i="".concat(i," have team access. Locking team access will prevent access to their league teams without completing clearance requirements.<br><br>Are you sure you want to lock team access?"):i="".concat(i," locked for team access. Granting team access will unlock their league teams without completing clearance requirements.<br><br>Are you sure you want to allow team access?");const l=t==="lock"?"Lock Team Access":"Allow Team Access";this.$confirm.confirm({title:"Set Team Access",message:i,confirmText:l,type:"is-primary",onConfirm:()=>this.doSetTeamAccess(t)})},doSetTeamAccess(t){const e=this.activeTab==="Coaches"?"coach":"team_staff",l={user_ids:this.selectedOfficials.map(a=>
1a.user_id),access_type:e,action:t};return Q().post("club_admin/club_leagues/".concat(this.league.id,"/league_official/set_team_access"),l).then(()=>{this.refresh()})},cta(t){t.text===Ba?this.openAddUserModal():t.text===Oa?this.showImportClearancesModal():t===Ua?this.showExportClearancesModal():t.text===qa&&this.$refs.addDirectorModal.showModal()}}},MI={key:2,class:"is-font-mont has-text-weight-bold is-text-size-4",style:{"margin-bottom":"1rem","margin-top":"2rem"}},DI={class:"header-left-container"},RI={class:"columns"},II={class:"column"},EI={key:1,class:"title__subsection is-marginless is-flex",style:{height:"52.5px","align-items":"center"}},VI={key:0},PI={key:0},BI={key:1},qI={key:0,class:"indicator"};function OI(t,e,i,l,a,s){const u=c("PageNavigationDesktopCtas"),m=c("AlertBox"),f=c("BackgroundScreeningsSummary"),v=c("LeagueTeamOfficialsClearanceStatusesTable"),y=c("b-tab-item"),g=c("b-tabs"),b=c("SelectionToolbar"),S=c("fa-icon"),F=c("b-table-column"),w=c("ClearanceStatusTag"),C=c("BaseTable"),D=c("ClearanceFilter"),B=c("ClearanceStatusesFilter"),N=c("ViewTeamOfficial"),M=c("AddTeamOfficialModal"),I=c("MessageOfficials"),V=c("UpdateClearanceModal"),P=c("ImportStartOrContinueModal"),E=c("ClearanceImportMappingModal"),X=c("ExportClearances"),q=c("RiskManagementTool"),he=c("SetTeamAccess"),ve=c("AddDirectorToLeagueModal");return d(),h("div",null,[(d(),x(kn,{to:"#club-admin-league-ctas",defer:""},[n(u,{ctas:s.clearanceCtas,onCtaClicked:s.cta},null,8,["ctas","onCtaClicked"])])),i.importInProgress?(d(),x(m,{key:0,type:"warning",headline:"Clearance import is in progress.",icon:["far","check"]},{message:o(()=>[...e[10]||(e[10]=[p(" You'll be notified when all clearances are imported.",-1),r("br",null,null,-1),p(" This league will not be able to start a new import until this current one is completed. ",-1)])]),_:1})):k("",!0),s.showBackgroundScreeningStuff?(d(),x(f,{key:1,league:i.league,"is-using-jdp":a.isUsingJdp,"club-vendor":a.clubVendor,onRiskManagement:e[0]||(e[0]=re=>t.$refs.riskManagementTool.showModal())},null,8,["league","is-using-jdp","club-vendor"])):k("",!0),s.clubConfig.integrated_background_checks_enabled?(d(),h("div",MI," All Clearances ")):k("",!0),s.staffUpdatesEnabled?(d(),x(v,{key:3,"filters-active":a.filterActive,league:i.league,"screening-applicants":s.screeningApplicants,"current-user-is-risk-manager":i.currentUserIsRiskManager,"is-using-jdp":a.isUsingJdp,"requires-clearance-for-access":s.requiresClearanceForAccess,"league-season-age-class":s.leagueSeasonAgeClass,"externally-filtered-officials":a.filteredComputedOfficials,onRefresh:s.refresh,onComposeMessage:s.openMessageOfficials,onOfficialsComputed:e[1]||(e[1]=re=>a.computedOfficials=re)},null,8,["filters-active","league","screening-applicants","current-user-is-risk-manager","is-using-jdp","requires-clearance-for-access","league-season-age-class","externally-filtered-officials","onRefresh","onComposeMessage"])):(d(),x(C,{key:4,ref:"checkboxTable","checked-rows":s.checkedRows,"onUpdate:checkedRows":e[4]||(e[4]=re=>s.checkedRows=re),data:a.filteredOfficials,"default-current-sort":["last_name","asc"],"filters-active":a.filterActive,"row-class":s.clickable,"is-row-checkable":s.isRowCheckable,checkable:"",name:"leagueTeamOfficials",hoverable:"",searchable:"",filterable:"","legend-items":s.legendItems,class:"league-officials-table",onCheckAll:s.checkAll,onQueryUpdated:e[5]||(e[5]=re=>a.searchQuery=re),onSelect:s.showTeamOfficial},{"header-left":o(()=>[r("div",DI,[r("div",RI,[r("div",II,[n(g,{modelValue:a.activeTabIndex,"onUpdate:modelValue":e[2]||(e[2]=re=>a.activeTabIndex=re),type:"is-toggle",class:"b-tabs-no-content"},{default:o(()=>[(d(!0),h(G,null,ue(s.tabs,re=>(d(),x(y,{key:re,label:re},null,8,["label"]))),128))]),_:1},8,["modelValue"])])])])]),"table-header":o(()=>[a.selectedOfficials.length>0?(d(),x(b,{key:0,"checked-rows":a.selectedOfficials,actions:s.selectionToolbarActions,onCtaClicked:s.selectionToolbarCta,onOnCancel:e[3]||(e[3]=re=>a.selectedOfficials=[])},null,8,["checked-rows","actions","onCtaClicked"])):(d(),h("p",EI,_(s.tableHeaderText),1))]),default:o(()=>[n(F,{visible:s.hasLeagueTrackingPermission,field:"indicator","custom-key":"indicator"},{default:o(({row:re})=>[s.requiresClearanceForAccess?(d(),h("div",VI,[re.is_locked?(d(),h("div",PI,[n(S,{icon:["fas","lock"],class:"has-text-grey"})])):k("",!0)])):(d(),h("div",BI,[s.officialNeedsAttention(re)?(d(),h("div",qI)):k("",!0)]))]),_:1},8,["visible"]),n(F,{field:"last_name",label:"Name",sortable:""},{default:o(({row:re})=>[p(_(re.display_name),1)]),_:1}),n(F,{field:"team_list",label:"Teams",sortable:""},{default:o(({row:re})=>[p(_(re.team_list),1)]),_:1}),(d(!0),h(G,null,ue(s.clearanceRequirementsForTab,re=>(d(),x(F,{key:re.id,visible:s.hasLeagueTrackingPermission,field:"".concat(re.id),label:re.name,centered:""},{default:o(({row:W})=>[n(w,{data:s.clearanceRequirementStatus(W,re),"current-user-is-riskmanager"
1:i.currentUserIsRiskManager},null,8,["data","current-user-is-riskmanager"])]),_:2},1032,["visible","field","label"]))),128)),n(F,{visible:!s.hasLeagueTrackingPermission,field:"clearance",label:"Clearance",centered:""},{default:o(({row:re})=>[s.officialNeedsAttention(re)?(d(),x(w,{key:0,data:{class:"danger-tag",text:"Awaiting Clearance"}})):(d(),x(w,{key:1,data:{class:"success-tag",icon:["far","check"],text:"Cleared"}}))]),_:1},8,["visible"])]),_:1},8,["checked-rows","data","filters-active","row-class","is-row-checkable","legend-items","onCheckAll","onSelect"])),s.staffUpdatesEnabled?k("",!0):(d(),x(D,{key:5,title:"Filter ".concat(s.activeTab),staff:s.officialsForTab,"show-head-coaches-switch":!1,"clearance-requirements":s.clearanceRequirementsForTab,"has-league-tracking-permission":s.hasLeagueTrackingPermission,"league-season-age-class":s.leagueSeasonAgeClass,"has-requires-clearance-for-access":s.requiresClearanceForAccess,"filter-context":s.filterContext,"club-yardstik":a.clubVendor,"using-jdp":a.isUsingJdp,onFiltered:e[6]||(e[6]=re=>{a.filteredOfficials=re.filtered,a.filterActive=re.filterActive})},null,8,["title","staff","clearance-requirements","has-league-tracking-permission","league-season-age-class","has-requires-clearance-for-access","filter-context","club-yardstik","using-jdp"])),s.staffUpdatesEnabled?(d(),x(B,{key:6,league:i.league,staff:a.computedOfficials,"clearance-requirements":s.clearanceRequirementsSorted,"has-league-tracking-permission":s.hasLeagueTrackingPermission,"league-season-age-class":s.leagueSeasonAgeClass,"requires-clearance-for-access":s.requiresClearanceForAccess,"screening-applicants":s.screeningApplicants,"is-using-jdp":a.isUsingJdp,onFiltered:e[7]||(e[7]=re=>{a.filterActive=re.filterActive,a.filteredComputedOfficials=re.filtered})},null,8,["league","staff","clearance-requirements","has-league-tracking-permission","league-season-age-class","requires-clearance-for-access","screening-applicants","is-using-jdp"])):k("",!0),n(N,{ref:"viewTeamOfficial",league:i.league,"club-yardstik":a.clubVendor,"using-jdp":a.isUsingJdp,"clearance-requirements":s.clearanceRequirementsSorted,"current-user-is-risk-manager":i.currentUserIsRiskManager,onRiskManagement:e[8]||(e[8]=re=>t.$refs.riskManagementTool.showModal(re)),onDismissModal:s.dismissModal},null,8,["league","club-yardstik","using-jdp","clearance-requirements","current-user-is-risk-manager","onDismissModal"]),n(M,{ref:"addUserModal",league:i.league,onAddLeagueOfficial:s.addLeagueOfficial},null,8,["league","onAddLeagueOfficial"]),n(I,{ref:"messageOfficials",onDismissed:s.dismissMessageOfficials},null,8,["onDismissed"]),n(V,{ref:"updateClearanceModal",league:i.league,requirements:s.clearanceRequirementsForUpdateModal,"for-official":!1,"current-user-is-risk-manager":i.currentUserIsRiskManager,onDismissModal:s.dismissModal},null,8,["league","requirements","current-user-is-risk-manager","onDismissModal"]),n(P,{ref:"importClearances",subject:s.importSubject,"sample-c-s-v":s.sampleImportCSV,message:s.messageForImport,onInput:e[9]||(e[9]=re=>s.handleClearanceImportModalInput(re))},null,8,["subject","sample-c-s-v","message"]),n(E,{ref:"clearanceImportMappingModal",league:i.league,subject:s.importSubject,onSubmit:s.refresh},null,8,["league","subject","onSubmit"]),n(X,{ref:"exportClearances","league-id":i.league.id,type:s.activeTab},null,8,["league-id","type"]),s.showBackgroundScreeningStuff&&a.clubVendor?(d(),x(q,{key:7,ref:"riskManagementTool",league:i.league,"is-using-jdp":a.isUsingJdp,"club-vendor":a.clubVendor,onRefresh:s.fetchClubVendor},null,8,["league","is-using-jdp","club-vendor","onRefresh"])):k("",!0),n(he,{ref:"setTeamAccess",league:i.league,onDismissModal:s.dismissModal},null,8,["league","onDismissModal"]),n(ve,{ref:"addDirectorModal",onAddDirectors:s.addLeagueOfficial},null,8,["onAddDirectors"])])}const UI=ie(AI,[["render",OI],["__scopeId","data-v-7cdb175e"]]),LI={components:{ImportModal:pd},props:{league:{type:Object,required:!0}},emits:["dismissModal"],data(){return{}},computed:{serverURL(){return"/club_admin/club_leagues/".concat(this.league.id,"/upload_jersey_numbers")},sampleURL(){return"/club_admin/club_leagues/".concat(this.league.id,"/sample-jersey-numbers.csv")}},methods:{showModal(){this.$refs.modal.showModal()},dismissModal(t){let e={refreshData:!1};t&&(e=t),this.$emit("dismissModal",e)}}};function GI(t,e,i,l,a,s){const u=c("ImportModal");return d(),x(u,{ref:"modal","server-url":s.serverURL,"sample-url":s.sampleURL,type:"jersey_numbers",onDismissModal:e[0]||(e[0]=m=>s.dismissModal(m))},null,8,["server-url","sample-url"])}const NI=ie(LI,[["render",GI]]),jI={key:1},YI={key:1},zI={key:0},HI={key:1}
1,$I={key:2},WI={key:3},QI={key:4},JI={key:6},KI={key:7},UP={__name:"ClubAdminLeague",props:{defaultTab:{type:String,default:"Divisions"},showNewExternalLeagueLinks:{type:Boolean,default:!1}},setup(t){const e=t,i=lt(),l=Na(),a=Ii(),s=Vt(),{isTouch:u}=za(hr()),m=H(null),f=H(null),v=H(e.defaultTab),y=H(0),g=H(null),b=H(!1),S=H(!1),F=H([]),w=A(()=>f.value===null),C=A(()=>i.getters.isClubAdmin),D=A(()=>Jt(f.value)),B=A(()=>qi(f.value)),N=A(()=>f.value&&f.value.league_divisions&&f.value.league_divisions.length>0),M=A(()=>N.value&&f.value.league_divisions.some(L=>L.league_rule_set_id)),I=A(()=>M.value&&f.value.league_divisions.some(L=>L.league_rule_set_id!==0&&L.show_externally)),V=A(()=>{var L,ye;return(ye=(L=f.value)==null?void 0:L.extra)==null?void 0:ye.is_volunteer_signup_open}),P=A(()=>f.value&&(f.value.extra&&f.value.extra.enable_game_scheduler||!O.isEmpty(f.value.game_schedulers))),E=A(()=>xt(i,$a)),X=A(()=>xt(i,Kt)),q=A(()=>xt(i,_r)),he=A(()=>(C.value||q.value)&&D.value&&N.value),ve=A(()=>q.value&&s.enableLeagueRefAssignors),re=A(()=>{var L,ye;return(ye=(L=f.value)==null?void 0:L.extra)==null?void 0:ye.enable_game_cards}),W=A(()=>{const L=O.flatMap(f.value.league_teams,Be=>Be.team);return O.flatMap(L,Be=>Be.team_players).length>0}),K=A(()=>{var ye;const L=["Select Teams"];return L.push({text:"League Settings",dropdown_item:!0,icon:"cog"}),pr(i,(ye=f.value)==null?void 0:ye.club_region_id)&&L.push({text:"Add a New Team",dropdown_item:!0,icon:"plus"}),N.value&&L.push({text:"Division Assignments",dropdown_item:!0,icon:"clipboard-check"}),L.push({text:"Import Jersey Numbers",icon:"file-import",dropdown_item:!0}),L.push({text:"Export Rosters",icon:"sign-in",icon_transform:"rotate-90",dropdown_item:!0}),L.push({text:nt.VIEW_RECENT_EXPORTS,icon:"clock",dropdown_item:!0}),C.value&&W.value&&L.push({text:"Print Rosters",icon:"print",dropdown_item:!0}),L}),j=A(()=>{const L=[];return E.value&&(L.push({text:"League Settings",dropdown_item:!0,icon:"cog"}),N.value?(L.push({text:"Division Assignments",dropdown_item:!0,icon:"clipboard-check"}),L.push({text:"Build Divisions",dropdown_item:!0,icon:"list"}),L.push("Create Division")):L.push("Build Divisions")),L}),ge=A(()=>f.value.enable_coach_requests),de=A(()=>{var L;return(L=f.value.signup_program)==null?void 0:L.enable_team_signups}),we=A(()=>{const L=[];return de.value||L.push({text:"Select Team Assignments",dropdown_item:!0}),L.push({text:"Export Team Assignments",icon:"sign-in",icon_transform:"rotate-90",dropdown_item:!0}),de.value||L.push("Create Team Assignment"),L}),U=A(()=>{const L=[];return L.push({text:"Set Coaching Request Questions",icon:"file-alt",dropdown_item:!0}),L.push({text:"Export Coaching Requests",icon:"sign-in",icon_transform:"rotate-90",dropdown_item:!0}),L.push("Create Coach Request"),L}),ee=A(()=>f.value&&f.value.extra&&f.value.extra.enable_player_cards&&!O.isEmpty(O.flatMap(f.value.league_teams,L=>L.team.team_players))),le=A(()=>{var L;return f.value.sanctioning_body&&f.value.sanctioning_body.extra&&f.value.sanctioning_body.extra.track_player_registration&&X.value&&s.enableLeaguePlayerVerification&&(((L=f.value.sanctioning_body)==null?void 0:L.sanctioning_body_player_verification_requirements)||[]).filter(ye=>!ye.archived_at).length>0}),me=A(()=>{const L=[];return X.value&&(L.push({text:"Configure Columns",dropdown_item:!0}),le.value&&L.push({text:"Request Missing Resources",dropdown_item:!0}),ee.value&&L.push({text:"View Player Cards",dropdown_item:!0}),L.push("Export"),L.push({text:nt.VIEW_RECENT_EXPORTS,dropdown_item:!0})),L}),ne=A(()=>[{text:nt.VOLUNTEERS.SIGNUP_SETTINGS,dropdown_item:!0},{text:nt.VOLUNTEERS.EXPORT_VOLUNTEERS,dropdown_item:!0},{text:nt.VIEW_RECENT_EXPORTS,dropdown_item:!0},{text:nt.VOLUNTEERS.ADD_VOLUNTEER,classes:"is-primary"}]),Ae=A(()=>{const L=[];return L.push({text:"Add Game",dropdown_item:!0,disabled:P.value&&!ce.value}),(D.value||B.value&&f.value.extra.ref_assignors_enabled)&&ve.value&&L.push({text:"Edit Ref Assignors",dropdown_item:!0}),L.push({text:"Export Games",icon:"arrow-down-to-bracket",dropdown_item:!0}),(!P.value||B.value)&&L.push({text:"Import Games",classes:"is-primary",disabled:!f.value.league_teams||b.value}),P.value&&(L.push({text:"Export Game Assignments",icon:"arrow-down-to-bracket",dropdown_item:!0}),i.getters.clubDetails.config.enable_league_matchup_export&&f.value.league_divisions&&L.push({text:"Import Game Assignments",dropdown_item:!0})),re.value&&(L.push({text:nt.GAMES.EXPORT_GAME_CARDS,icon:"arrow-down-to-bracket",dropdown_item:!0}),L.push({text:nt.VIEW_RECENT_EXPORTS,icon:"arrow-down-to-bracket",dropdown_item:!0})),D.value&&E.value&&P.value&&L.push({text:"Manage Schedule",classes:"is-primary",disabled:!ce.value}),L}),ce=A(()=>!f.value||!f.value.game_schedulers?!1:O.some(f.value.game_schedulers,L=>L.matchups&&L.matchups.length>0)),Z=A(()=>M.value?[{text:"Manage Rules",icon:"cog",classes:"is-primary"}]:[]);function se(L){return i.getters.clubTeamNameByID(L)}const ke=A(()=>{if(w.value||!C.value)return[];const L=O.compact(O.map(f.value.league_roster_changes,ye=>ye.roster_change));
1return L.forEach(ye=>{ye.player_name=ye.player?"".concat(ye.player.first_name," ").concat(ye.player.last_name):"-",ye.from_team_name=ye.from_team_id>0?se(ye.from_team_id):"-",ye.to_team_name=ye.to_team_id>0?se(ye.to_team_id):"-"}),L}),Me=A(()=>{var L,ye;return!D.value&&!((ye=(L=f.value)==null?void 0:L.extra)!=null&&ye.create_divisions_during_import)}),te=A(()=>f.value&&f.value.extra&&f.value.extra.track_roster_changes&&f.value.sanctioning_body_id>0&&ke.value&&ke.value.length>0),R=A(()=>{var ye,Be,Ie;const L=[];return C.value&&!Me.value&&L.push({name:"Divisions",nameToShow:"Divisions",ctas:D.value?j.value:[]}),L.push({name:"Teams",ctas:K.value}),C.value&&(L.push({name:"Assignments",ctas:we.value}),ge.value&&L.push({name:"Coaching Requests",ctas:U.value})),C.value&&(L.push({name:"Players",ctas:me.value}),(ye=f.value.extra)!=null&&ye.enable_league_volunteers&&L.push({name:"Volunteers",ctas:ne.value}),f.value.sanctioning_body_id>0&&((Ie=(Be=f.value.sanctioning_body)==null?void 0:Be.extra)!=null&&Ie.track_team_officials)&&L.push({name:"Clearances",ctas:[]})),C.value&&te.value&&X.value&&L.push({name:"Roster Changes",ctas:[],indicator:"leagueRosterChangesUnresolvedByID",id_for_indicator:f.value&&f.value.id}),C.value&&L.push({name:"Schedule",ctas:Ae.value,indicator:"leagueGamesWithOpenScoreRequestsByID",id_for_indicator:f.value&&f.value.id}),he.value&&L.push({name:"Standings",ctas:Z.value,indicator:"leagueDivisionsWithMissingScoresByLeagueID",id_for_indicator:f.value&&f.value.id}),L}),z=A(()=>i.getters.clubTeams.filter(L=>L.id>0)||[]),pe=A(()=>R.value.length>1),Ue=A(()=>O.keyBy(f.value.league_roster_changes,"roster_change.id")),{populateForTab:xe,teamAssignmentsPopulate:J}=_d(v),oe=A(()=>f.value.volunteer_signup_url||""),De=A(()=>f.value.standings_url||""),Ze=A(()=>f.value.schedule_url||""),Ee=A(()=>f.value.external_url||""),st=A(()=>f.value.coach_request_url||""),Le=A(()=>M.value&&I.value),Ge=A(()=>(f.value.league_teams||[]).map(L=>L.team)),Oe=A(()=>F.value.some(L=>L.user_id===i.getters.user.id));function At(){g.value=null,Q({showError:!1}).get("/club_admin/club_leagues/".concat(l.params.league,"/games/import/draft")).then(L=>{g.value=L.data}).catch(()=>{})}let dt;function Ss(L=!1){L||(b.value=!1),Q({showError:!1}).get("/club_admin/club_leagues/".concat(l.params.league,"/games/import/importing")).then(ye=>{const Be=b.value;b.value=ye.data.importing,b.value?dt=setTimeout(()=>{dt=0,Ss(!0)},2e3):Be&&v.value==="Schedule"&&$e()}).catch(()=>{})}let Gt;function Xt(L=!1){L||(S.value=!1),Q({}).get("club_admin/club_leagues/".concat(l.params.league,"/clearances/import/importing")).then(ye=>{const Be=S.value;S.value=ye.data.importing,S.value?Gt=setTimeout(()=>{Gt=0,Xt(!0)},2e3):Be&&v.value==="Clearances"&&$e()})}function vt(L){return i.getters.clubRegionNameById(L)}function $e(L={reload:!0}){L.reload&&(f.value=null),v.value==="Schedule"&&(At(),Ss()),Xt();const ye="/club_admin/club_leagues/".concat(l.params.league,"?populate=").concat(xe.value);return Q({showError:!1}).get(ye).then(Be=>{const Ie=Be.data;if(v.value==="Teams"||v.value==="Players")(Ie.league_teams||[]).forEach(qe=>{qe.team.region_name=vt(qe.team.club_region_id),qe.team.num_players=qe.team.team_players.length,qe.team.coach_sortable="".concat(qe.team.coach_last_name||"",",").concat(qe.team.coach_first_name||""),qe.team.coach_display_name="".concat(qe.team.coach_first_name||""," ").concat(qe.team.coach_last_name||""),qe.team.type="team",qe.team.gender_display=ze.asGenderWord(qe.team.gender),qe.team.birth_year_display=qe.team.age_classification_min_year||"-",qe.team.team_players.forEach(ot=>{const Te=ot.player,ss=i.getters.clubTeamByID(ot.team_id);Te.player_name="".concat(Te.first_name," ").concat(Te.last_name);const si=Te.birth_first_name||Te.first_name||"",ii=Te.birth_middle_name?" ".concat(Te.birth_middle_name):"",ai=Te.birth_last_name||Te.last_name||"",li=Te.birth_suffix?" ".concat(Te.birth_suffix):"";Te.birth_name="".concat(si).concat(ii," ").concat(ai).concat(li),Te.name_sorted="".concat(Te.last_name,",").concat(Te.first_name),Te.type="player",Te.gender_display=ze.asGenderWord(Te.gender),Te.birth_year_display=Te.birth_year||"-",Te.level_display=ss&&ss.level||""})}),Ie.season=i.getters.clubSeasonByID(Ie.season_id);else if(v.value==="Clearances"){const qe=O.groupBy(Ie.sanctioning_body.sanctioning_body_official_clearances,"user_id");
1(Ie.league_officials||[]).forEach(ot=>{ot.clearance_requirements_by_id=O.keyBy(qe[ot.user_id],"sanctioning_body_clearance_requirement_id")})}else if(v.value==="Divisions"){const qe=O.groupBy(Ie.league_teams||[],"league_division_id");O.forEach(Ie.league_divisions,ot=>{ot.league_teams=qe[ot.id]||[]})}return(Ie.league_divisions||[]).forEach(qe=>{var ot;qe.game_schedulers=qe.game_schedulers||((ot=Ie.game_schedulers)==null?void 0:ot.filter(Te=>Te.league_division_id===qe.id))}),i.commit("setLeagueRosterChangesUnresolvedForLeague",{[Ie.id]:(Ie.league_roster_changes||[]).filter(qe=>qe.roster_change&&!qe.resolved_at).length}),i.commit("setLeagueGamesWithOpenScoreRequestsForLeague",{[Ie.id]:Ie.num_open_score_requests}),i.getters.isSuperAdmin&&i.commit("setLeagueDivisionsWithMissingScoresForLeague",{[Ie.id]:gr(Ie==null?void 0:Ie.league_divisions)}),Ie}).then(Be=>{var Ie;return v.value==="Players"&&((Ie=Be==null?void 0:Be.extra)!=null&&Ie.include_assignment_players)?Q({showError:!1}).get("/club_admin/club_leagues/".concat(l.params.league,"?populate=").concat(J.value)).then(qe=>(Be.team_assignments=qe.data.team_assignments||[],Be.team_assignments.forEach(ot=>{ot.players.forEach(Te=>{const ss=i.getters.clubTeamByID(Te.team_id);Te.player_name="".concat(Te.first_name," ").concat(Te.last_name);const si=Te.birth_first_name||Te.first_name||"",ii=Te.birth_middle_name?" ".concat(Te.birth_middle_name):"",ai=Te.birth_last_name||Te.last_name||"",li=Te.birth_suffix?" ".concat(Te.birth_suffix):"";Te.birth_name="".concat(si).concat(ii," ").concat(ai).concat(li),Te.name_sorted="".concat(Te.last_name,",").concat(Te.first_name),Te.type="player",Te.gender_display=ze.asGenderWord(Te.gender),Te.birth_year_display=Te.birth_year||"-",Te.level_display=ss&&ss.level||""})}),Be)):Be}).then(Be=>{f.value=Object.freeze(Be)}).catch(Be=>{m.value=Be})}It(u,L=>{L&&v.value==="Schedule"&&At()}),It(xe,()=>$e()),Tn("refresh",$e);function Xs(){return Q().get("/club_admin/risk_managers").then(L=>{F.value=L.data})}function ks(L){switch(v.value=L,L){case"Teams":a.push("/club-admin/leagues/".concat(f.value.id,"/Teams"));break;case"Divisions":a.push("/club-admin/leagues/".concat(f.value.id,"/Divisions"));break;case"Players":a.push("/club-admin/leagues/".concat(f.value.id,"/Players"));break;case"Roster Changes":a.push("/club-admin/leagues/".concat(f.value.id,"/Roster Changes"));break;case"Volunteers":a.push("/club-admin/leagues/".concat(f.value.id,"/Volunteers"));break;case"Clearances":a.push("/club-admin/leagues/".concat(f.value.id,"/Clearances"));break;case"Assignments":a.push("/club-admin/leagues/".concat(f.value.id,"/Assignments"));break;case"Coaching Requests":a.push("/club-admin/leagues/".concat(f.value.id,"/Coaching Requests"));break;case"Schedule":a.push("/club-admin/leagues/".concat(f.value.id,"/Schedule"));break;case"Standings":a.push("/club-admin/leagues/".concat(f.value.id,"/Standings"));break;default:a.push("/club-admin/leagues/".concat(f.value.id));break}}async function Zs(){await $e(),!m.value&&(R.value.some(L=>L.name===v.value)||ks(R.value[0].name),await Xs(),(i.getters.doubleAuthenticationLeagueID!==l.params.league||!Oe.value)&&await i.dispatch("clearRiskManagerAuthentication"))}wn(()=>{dt&&clearTimeout(dt),Gt&&clearTimeout(Gt)});const ws=_e("createEditLeagueDivisionSchedule"),Ts=_e("divisionBuilder"),xs=_e("selectTeamsModal"),Fs=_e("editLeague"),Zt=_e("createTeam"),Nt=_e("playersTab"),ei=_e("clearancesTab"),As=_e("selectTeamAssignmentsModal"),Ms=_e("exportTeamAssignments"),Ds=_e("exportCoachRequests"),St=_e("gamesTab"),ae=_e("exportGames"),fe=_e("exportMatchups"),Je=_e("printRosters"),Ne=_e("exportLeagueVolunteersModal"),Ke=_e("signupSettingsModal"),Mt=_e("createUserForVolunteerRequestModal"),kt=_e("createAssignmentModal"),bt=_e("createCoachRequestModal"),es=_e("exportRosters"),wt=_e("importJerseys");function ti(){kt.value.showModal()}function Re(){bt.value.showModal()}function jt(){es.value.showModal()}function ln(){wt.value.showModal()}const Ki=_e("leagueVolunteersTab");function nn(L){Ki.value.showVolunteerDetails(L)}function Xi(){Mt.value.showModal()}function Zi(L){if(L==="Create Division"||L.text==="Create Division")ws.value.showModal();else if(L==="Build Divisions"||L.text==="Build Divisions")Ts.value.show(f.value);else if(L==="Select Teams")xs.value.showModal();else if(L.text==="League Settings")Fs.value.show(f.value);else if(L.text==="Add a New Team")Zt.value.showModal();else if(L.text==="Configure Columns")Nt.value.configureColumns();else if(L.text==="Request Missing Resources")Nt.value.requestMissingResources();else if(L.text==="View Player Cards")a.push({name:"LeaguePlayerCards",params:{league:f.value.id}});else if(L==="Export")Nt.value.showExportModal();else if(L.text===nt.VIEW_RECENT_EXPORTS)a.push({name:"ClubAdminLeagueRecentExports",params:{league:f.value.id}});else if(L==="Create Team Assignment")ti();else if(L==="Create Coach Request")Re();else if(L.text==="Select Team Assignments")As.value.showModal();else if(L.text==="Export Team Assignments")Ms.value.showModal();else if(L.text==="Set Coaching Request Questions")a.push({name:"LeagueCoachingRequestQuestions",params:{league:f.value.id}});else if(L.text==="Export Coaching Requests")Ds.value.showModal();else if(L.text==="Edit Ref Assignors")St.value.editRefAssignors();else if(L.text==="Export Games")ae.value.showModal();else if(L.text==="Import Games"){if(b.value)return;St.value.showGameImportModal()}else L.text==="Export Game Assignments"?fe.value.showModal():L.text==="Import Game Assignments"?St.value.showGameImportModal():L.text==="Manage Rules"?a.push({name:"ManageRuleSets",params:{league:f.value.id}}):L.text==="Export Rosters"?jt():L.text==="Import Jersey Numbers"?ln():L.text==="Print Rosters"?Je.value.showModal():L.text==="Division Assignments"?a.push({name:"LeagueDivisionAssignments",params:{league:f.value.id}}):L.text==="Manage Schedule"?St.value.goToLeagueScheduler():L.text==="Add Game"?St.value.addGame(f.value):L.text===nt.GAMES.EXPORT_GAME_CARDS?St.value.showExportGameCardsModal():L.text===nt.VOLUNTEERS.ADD_VOLUNTEER?Xi():L.text===nt.VOLUNTEERS.EXPORT_VOLUNTEERS?Ne.value.showModal():L.text===nt.VOLUNTEERS.SIGNUP_SETTINGS&&Ke.value.showModal(f.value)}function ts(L={refreshData:!1}){L.refreshData&&$e()}function rn(L={refreshData:!1}){if(L.refreshData){const ye=(f.value.league_teams||[]).map(Be=>Be.team.id);ye.push(L.teamId),Q().post("/club_admin/club_leagues/".concat(f.value.id),{team_ids:ye}).then(()=>{ts(L)})}}function on(L,ye){const Be={player:L.id};ye&&(Be.activeTab=ye),a.push({name:"PlayerProfile",params:Be})}const ea=_e("gameImportMappingModal");function dn(L){ea.value.showModal(L)}function un(L){Q().post("club_admin/club_leagues/".concat(f.value.id),{team_ids:L.map(ye=>ye.id)}).then(()=>{$e()})}function cn(L){Q().post("club_admin/club_leagues/".concat(f.value.id,"/team_assignments"),{team_assignment_ids:L.map(ye=>ye.id)}).then(()=>{$e()})}return Zs(),(L,ye)=>{const Be=c("spinner");return $(u)?(d(),x(xn,{key:0,name:"Leagues"})):(d(),h("div",jI,[w.value?(d(),x(Be,{key:0,"api-error":m.value},null,8,["api-error"])):(d(),h("div",YI,[n(tl,{"page-title":f.value.name,"back-button":{routeNames:["ClubAdminLeagues"],routeFallback:"ClubAdminLeagues",name:"Back"},tabs:R.value.length>1?R.value:null,ctas:pe.value?[]:R.value[0].ctas,"active-tab":v.value,onTabClicked:ye[0]||(ye[0]=Ie=>ks(Ie)),onCtaClicked:ye[1]||(ye[1]=Ie=>Zi(Ie))},ht({_:2},[st.value&&v.value==="Coaching Requests"?{name:"ctas",fn:o(()=>[n(is,{class:"mr-4",link:st.value,"link-text":"Copy Coach Registration Link",title:"Coaching Requests Link","trigger-button-text":"Coach Request Link",description:"Direct potential coaches to your leagueâs coaching request page from your website and emails.\n Simply click the link to copy the URL."},null,8,["link"])]),key:"0"}:t.showNewExternalLeagueLinks&&Ee.value&&["Teams","Divisions","Schedule","Standings"].includes(v.value)?{name:"ctas",fn:o(()=>[n(is,{class:"mr-4",link:Ee.value,"link-text":"Copy League Link",title:"League Link","trigger-button-text":"League Link",description:"Direct people to this league's public views.<br/>Simply click the link to copy the URL.","legal-disclaimer":!0},null,8,["link"])]),key:"1"}:!t.showNewExternalLeagueLinks&&v.value==="Standings"?{name:"ctas",fn:o(()=>[Ys(n(is,{link:De.value,"link-text":"Copy Standings Link",title:"Standings Link","trigger-button-text":"Standings Link",description:"Direct people to this league's standings from your website and emails. Simply click the link to copy the URL."},null,8,["link"]),[[Ri,Le.value]])]),key:"2"}:v.value==="Volunteers"&&V.value?{name:"ctas",fn:o(()=>[n(is,{class:"mr-4",link:oe.value,"link-text":"Copy Volunteer Signup Link",title:"Volunteer Signup Link","trigger-button-text":"Signup Link",description:"Direct volunteers to this leagueâs volunteer signup page from your website and emails. Simply click the link to copy the URL."},null,8,["link"])]),key:"3"}:!t.showNewExternalLeagueLinks&&v.value==="Schedule"?{name:"ctas",fn:o(()=>[n(is,{class:"mr-4",link:Ze.value,"link-text":"Copy Schedules Link",title:"Schedules Link","trigger-button-text":"Schedules Link",description:"Direct people to this league's game schedules from your website and emails. Simply click the link to copy the URL."},null,8,["link"])]),key:"4"}:{name:"ctas",fn:o(()=>[ye[6]||(ye[6]=r("div",{id:"club-admin-league-ctas"},null,-1))]),key:"5"}]),1032,["page-title","tabs","ctas","active-tab"]),v.value==="Teams"||!pe.value?(d(),h("div",zI,[n(xv,{league:f.value},null,8,["league"])])):k("",!0),v.value==="Divisions"?(d(),h("div",HI,[D.value?(d(),x(im,{key:0,league:f.value,onCreateDivisions:ye[2]||(ye[2]=Ie=>Zi("Build Divisions")),onDismissed:ts,onRefresh:$e},null,8,["league"])):(d(),x(am,{key:1,league:f.value,onRefresh:$e},null,8,["league"]))])):k("",!0),v.value==="Schedule"?(d(),h("div",$I,[n(vv,{ref_key:"gamesTab",ref:St,league:f.value,"import-draft":g.value,"import-in-progress":b.value,onRefresh:$e,onImportInput:ye[3]||(ye[3]=Ie=>dn(Ie))},null,8,["league","import-draft","import-in-progress"])])):k("",!0),v.value==="Standings"?(d(),h("div",WI,[n(Dw,{ref:"standingsTab",league:f.value},null,8,["league"])])):k("",!0),v.value==="Players"?(d(),h("div",QI,[n(Kk,{ref_key:"playersTab",ref:Nt,league:f.value,onSelect:on},null,8,["league"])])):k("",!0),v.value==="Volunteers"?(d(),x(Sb,{key:5,ref_key:"leagueVolunteersTab",ref:Ki,league:f.value,onRefresh:$e,onAddVolunteer:Xi},null,8,["league"])):k("",!0),v.value==="Clearances"?(d(),h("div",JI,[n(UI,{ref_key:"clearancesTab",ref:ei,league:f.value,"import-in-progress":S.value,"current-user-is-risk-manager"
1:Oe.value,onRefresh:$e},null,8,["league","import-in-progress","current-user-is-risk-manager"])])):k("",!0),v.value==="Roster Changes"?(d(),h("div",KI,[n(fw,{league:f.value,"roster-changes":ke.value,"league-roster-changes-keyed":Ue.value},null,8,["league","roster-changes","league-roster-changes-keyed"])])):k("",!0),v.value==="Assignments"?(d(),x(wv,{key:8,league:f.value,onRefresh:$e,onSetActiveAssignments:ye[4]||(ye[4]=Ie=>y.value=Ie)},null,8,["league"])):k("",!0),v.value==="Coaching Requests"?(d(),x(wc,{key:9,league:f.value},null,8,["league"])):k("",!0),n(dl,{ref_key:"createEditLeagueDivisionSchedule",ref:ws,league:f.value,onDismissed:ts},null,8,["league"]),n(wr,{ref_key:"editLeague",ref:Fs,onDismissed:ts},null,512),n(gd,{ref_key:"createTeam",ref:Zt,teams:z.value,"default-season-id":f.value&&f.value.season&&f.value.season.id,onDismissCreateTeamModal:rn},null,8,["teams","default-season-id"]),n(Ac,{ref_key:"createUserForVolunteerRequestModal",ref:Mt,"league-id":f.value.id,onShowVolunteerDetails:nn,onRefresh:$e},null,8,["league-id"]),n(nm,{ref_key:"exportLeagueVolunteersModal",ref:Ne,"league-id":f.value.id},null,8,["league-id"]),n(Tr,{ref_key:"signupSettingsModal",ref:Ke,onRefresh:$e},null,512),n(fd,{ref_key:"createAssignmentModal",ref:kt,"league-id":f.value.id,"season-id":f.value.season_id},null,8,["league-id","season-id"]),n(El,{ref_key:"createCoachRequestModal",ref:bt,league:f.value,onRefresh:$e},null,8,["league"]),n(dm,{ref_key:"exportGames",ref:ae,"league-id":f.value.id},null,8,["league-id"]),n(Rc,{ref_key:"exportMatchups",ref:fe,"league-id":f.value.id},null,8,["league-id"]),n(Sw,{ref_key:"selectTeamAssignmentsModal",ref:As,league:f.value,onSaveSelectedAssignments:cn},null,8,["league"]),n(hd,{ref_key:"exportTeamAssignments",ref:Ms,"assignments-for-league":"",assignments:f.value.team_assignments||[]},null,8,["assignments"]),n(gu,{ref_key:"exportCoachRequests",ref:Ds,"league-id":f.value.id},null,8,["league-id"]),n(tp,{ref_key:"gameImportMappingModal",ref:ea,league:f.value,onRefresh:$e},null,8,["league"]),n(vw,{ref_key:"selectTeamsModal",ref:xs,league:f.value,onSaveSelected:un},null,8,["league"]),n(Io,{ref_key:"exportRosters",ref:es,league:f.value,teams:Ge.value},null,8,["league","teams"]),n(NI,{ref_key:"importJerseys",ref:wt,league:f.value},null,8,["league"]),n(pw,{ref_key:"printRosters",ref:Je,teams:Ge.value,league:f.value},null,8,["teams","league"]),n(Ar,{ref_key:"divisionBuilder",ref:Ts,onDismissed:ye[5]||(ye[5]=Ie=>ts(Ie))},null,512)]))]))}}};export{UP as default}; 2//# sourceMappingURL=ClubAdminLeague-CKBfTMFS.js.map
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.