1import{_ as z,b as f,e as s,w as n,r as a,W as r,N as _,i as v,o as m,m as u,$ as L,x as y,g as c,l as R,F as C,f as w,c as D,t as g,d as T}from"./index-BXzZPibv.js";import{p as E}from"./pool-ranking-print-D4uz5u_6.js";import"./game-CWTcBvZ_.js";const F={data:()=>({filters:{"division.phase.id":null,"division.id":null},phasesOptions:[],divisionsOptions:[],teamPassesByPhase:[],loading:!1}),computed:{selectedPhaseId(){return this.filters["division.phase.id"]},filteredDivisionsOptions(){const e=this.selectedPhaseId;return e?this.divisionsOptions.filter(i=>String(i.original.phaseId)===String(e)):this.divisionsOptions}},watch:{selectedPhaseId(){const e=this.filters["division.id"];e&&!this.filteredDivisionsOptions.some(i=>i.value===e)&&(this.filters["division.id"]=null)}},methods:{applyFilters(){this.filter()},resetFilters(){this.filters={"division.phase.id":null,"division.id":null},this.filter()},getClubId(){return parseInt(this.$route.params.clubId)},filter(){v.createCollectionQuery("teamPasses").select(` 2 pool.{ name }, 3 division.{ 4 name, 5 contest.{ name, identifier }, 6 organization.{ id, name }, 7 phase.{ name } 8 }, 9 team.{ 10 name, position 11 } 12 `).where("club.id",this.getClubId());for(let e in this.filters)this.filters[e]!==null&&v.where(e,this.filters[e]);this.loading=!0,v.execute().then(({teamPasses:e})=>{this.divisionsOptions.length||(this.divisionsOptions=this.extractDivisionsOptions(e)),this.teamPassesByPhase=this.groupTeamPassesByPhase(e)}).finally(()=>{this.loading=!1})},extractDivisionsOptions(e){const i={};return e.forEach(t=>{i[t.division.id]={label:t.division.name,value:t.division.id,original:{contest:r(t,"division.contest.name")||"",phaseId:r(t,"division.phase.id")}}}),Object.values(i).sort((t,o)=>t.original.contest.localeCompare(o.original.contest)||t.label.localeCompare(o.label))},groupTeamPassesByPhase(e){const i={};return e.forEach(t=>{const o=t.division.phase,l=t.division.contest;i[o.name]||(i[o.name]={}),i[o.name][l.identifier]||(i[o.name][l.identifier]={contest:l,teams:[]}),i[o.name][l.identifier].teams.push({id:t.id,teamId:t.team.id,name:t.team.name,position:t.team.position,division:t.division,pool:t.pool})}),Object.values(i).forEach(t=>{Object.values(t).forEach(({teams:o})=>{o.sort((l,b)=>l.position-b.position||String(l.division.name).localeCompare(String(b.division.name)))})}),i},printPool(e){_.showLoadingToast("Récupération du classement en cours"),v.createCollectionQuery("pools").as("poolsWithResults").select(` 13 name, 14 results.{ 15 definitiveRank, 16 definitivePoints, 17 sportMatchCount, 18 sportMatchWin, 19 sportMatchDraw, 20 sportMatchLost, 21 forfeit, 22 penality, 23 gamePointWin, 24 gamePointLost, 25 opponent.{ team.{ name }} 26 } 27 `).where("id",e.pool.id).createCollectionQuery("pools").as("poolsWithSportMatches").select(` 28 roundGrid.{ 29 rounds.{ 30 startDate, 31 roundNumber, 32 day.{ position } 33 } 34 }, 35 sportMatches.{ 36 date, 37 time, 38 roundNumber, 39 homeOpponent.{ team.{ name }}, 40 awayOpponent.{ team.{ name }}, 41 winner, 42 homeGamePoints, 43 awayGamePoints, 44 forfeit, 45 penalty 46 } 47 `).where("id",e.pool.id).execute().then(({poolsWithResults:i,poolsWithSportMatches:t})=>{_.hideCurrentToast();const o=i[0]||e.pool,l=t[0]||{};E({contestName:r(e,"division.contest.name"),divisionName:r(e,"division.name"),poolName:o.name,teamId:e.teamId,teamName:e.name,results:o.results,sportMatches:l.sportMatches,roun
47ds:r(l,"roundGrid.rounds")})}).catch(()=>_.showErrorToast("La récupération du classement a échoué"))},redirectToPool(e,i){this.$router.push({name:"contest_team_consult",params:{},query:{orgId:r(i,"division.organization.id"),contestId:r(i,"division.contest.id"),divisionId:r(i,"division.id"),poolId:r(i,"pool.id")}})}},created(){this.filter()}},W=F,j={class:"md-layout-item md-layout-field"},G={class:"md-layout-item md-layout-field"},Q={class:"md-layout-item fg"},U={class:"mtl mbs md-size-100 md-small-size-100 colorPrimary"};function A(e,i,t,o,l,b){const N=a("graphql-select"),B=a("select-row"),k=a("md-button"),M=a("button-container"),I=a("content-block"),h=a("md-table-cell"),V=a("icon-button"),$=a("simple-list"),q=a("form-group");return m(),f("div",null,[s(I,{title:"Critères de recherche"},{default:n(()=>[u("div",{class:"md-layout md-gutter",onKeyup:i[3]||(i[3]=L(y(d=>e.filter(e.filters),["prevent"]),["enter"]))},[u("div",j,[s(N,{modelValue:e.filters["division.phase.id"],"onUpdate:modelValue":i[0]||(i[0]=d=>e.filters["division.phase.id"]=d),options:e.phasesOptions,"onUpdate:options":i[1]||(i[1]=d=>e.phasesOptions=d),label:"Phase","collection-query":"phases","value-prop":"id","returns-prop":"id"},null,8,["modelValue","options"])]),u("div",G,[s(B,{modelValue:e.filters["division.id"],"onUpdate:modelValue":i[2]||(i[2]=d=>e.filters["division.id"]=d),label:"Division",options:e.filteredDivisionsOptions,"group-by":"contest",disabled:!e.filteredDivisionsOptions.length},null,8,["modelValue","options","disabled"])]),u("div",Q,[s(M,null,{default:n(()=>[s(k,{type:"submit",class:"btnPrimary mts",onClick:y(e.applyFilters,["prevent"])},{default:n(()=>[...i[5]||(i[5]=[c("Rechercher",-1)])]),_:1},8,["onClick"]),s(k,{type:"submit",class:"btnPrimaryLight mts",onClick:y(e.resetFilters,["prevent"])},{default:n(()=>[...i[6]||(i[6]=[c("Réinitialiser",-1)])]),_:1},8,["onClick"])]),_:1})])],32)]),_:1}),s(I,{title:"Liste des équipes",loading:e.loading},{default:n(()=>[Object.keys(e.teamPassesByPhase).length!==0?(m(!0),f(C,{key:0},w(e.teamPassesByPhase,(d,O)=>(m(),D(q,{key:O,title:String(O)},{default:n(()=>[(m(!0),f(C,null,w(d,(P,S)=>(m(),f(C,{key:S},[u("h3",U,g(P.contest.name),1),s($,{class:"teams-list",items:P.teams,emptyLabel:"Aucune équipe",onRowClick:e.redirectToPool},{columns:n(({item:p})=>[s(h,{"md-label":"Nom de l'équipe",class:"md-layout-item md-size-45"},{default:n(()=>[c(g(p.name),1)]),_:2},1024),s(h,{"md-label":"Division",class:"md-layout-item md-size-40"},{default:n(()=>[c(g(p.division.name),1)]),_:2},1024),s(h,{"md-label":"Poule",class:"md-layout-item md-size-10"},{default:n(()=>[c(g(p.pool?p.pool.name:"--"),1)]),_:2},1024),s(h,{"md-label":"",class:"md-layout-item md-size-5 tac",onClick:i[4]||(i[4]=y(()=>{},["stop"]))},{default:n(()=>[p.pool?(m(),D(V,{key:0,action:"Imprimer la poule",onClick:K=>e.printPool(p)},{default:n(()=>[...i[7]||(i[7]=[c("print",-1)])]),_:1},8,["onClick"])):T("",!0)]),_:2},1024)]),_:1},8,["items","onRowClick"])],64))),128))]),_:2},1032,["title"]))),128)):R(e.$slots,"empty",{key:1},()=>[i[8]||(i[8]=u("div",{class:"no-data noDataCompact"},"Aucune équipe",-1))],!0)]),_:3},8,["loading"])])}const Y=z(W,[["render",A],["__scopeId","data-v-c2020cf5"]]);export{Y as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.