1import{Q as se}from"./QSelect.4a7a82cb.js";import{_ as Ce,S as Ae,u as Pe,D as g,n as I,a as f,w as s,l as Fe,ce as Le,a$ as T,bH as ie,r as J,o as t,f as r,be as Z,e as k,t as d,Z as B,E as w,g as o,G as h,bc as re,F as x,Q as De,bL as Te,bf as Qe,ao as Ne,h as P}from"./index.2b547bdf.js";import{Q as Ve}from"./QBanner.77e7ff68.js";import{Q as K}from"./QBadge.c0401c4c.js";import{Q as _}from"./QTd.f20b1147.js";import{Q as C}from"./QTable.d9b8045c.js";import{Q}from"./QTr.a03831b5.js";import{Q as de}from"./QImg.2543a2cf.js";import{Q as Ue}from"./QPage.e86a065c.js";import{C as Oe}from"./ClosePopup.b825f705.js";import{F as qe,a as ue}from"./format.b69b6050.js";import{F as Re}from"./FilterForm.ae51a883.js";import{A as Ee}from"./AdUnit.7de10872.js";import{a as Be}from"./Player.a7302b4e.js";import{S as He}from"./SeasonOptions.ee46e913.js";import{S as Ge}from"./StageOptions.02ce4348.js";import{g as Me}from"./parameters.37341641.js";import"./QChip.48a7205d.js";import"./QItemSection.651b4d54.js";import"./QItemLabel.9869371e.js";import"./QMenu.38f15320.js";import"./position-engine.ed0e43e8.js";import"./QList.56ef8218.js";import"./QMarkupTable.eb7368f1.js";import"./QLinearProgress.02a53cc3.js";import"./use-fullscreen.638dc748.js";import"./Madden.512ec232.js";import"./season.e703db81.js";import"./_commonjsHelpers.294d03c4.js";import"./index.03fe765a.js";import"./QDrawer.d3e89147.js";import"./QResizeObserver.a1c39491.js";import"./QScrollObserver.70d85b5a.js";import"./QSpace.0aef7f10.js";import"./Filters.42184eb3.js";import"./leagueSeasonContext.e2c25521.js";import"./league.3a9ae125.js";let X=[{name:"weekIndex",align:"left",label:"Week",field:"weekIndex",sortable:!1},{name:"position",align:"center",label:"POS",field:"position",sortable:!1}];X=X.concat(Be);const We=[{name:"seasonIndex",align:"left",label:"Season",field:"seasonIndex",sortable:!1},{name:"stageIndex",align:"left",label:"Stage",field:"stageIndex",sortable:!1},{name:"weekIndex",align:"left",label:"Week",field:"weekIndex",sortable:!1},{name:"team",align:"left",label:"Team",field:"team",sortable:!1}],je=[{name:"seasonIndex",align:"left",label:"Season",field:"seasonIndex",sortable:!1},{name:"stageIndex",align:"left",label:"Stage",field:"stageIndex",sortable:!1},{name:"weekIndex",align:"left",label:"Week",field:"weekIndex",sortable:!1},{name:"devTrait",align:"left",label:"Development",field:"devTrait",format:u=>ue.devTrait(u),sortable:!1}],Ye=[{name:"seasonIndex",align:"left",label:"Season",field:"seasonIndex",sortable:!1},{name:"stageIndex",align:"left",label:"Stage",field:"stageIndex",sortable:!1},{name:"weekIndex",align:"left",label:"Week",field:"weekIndex",sortable:!1},{name:"age",align:"center",label:"AGE",field:"age",sortable:!1},{name:"height",align:"center",label:"HGT",field:"height",sortable:!1},{name:"weight",align:"center",label:"WGT",field:"weight",sortable:!1}],ze=[{name:"seasonIndex",align:"left",label:"Season",field:"seasonIndex",sortable:!1},{name:"stageIndex",align:"left",label:"Stage",field:"stageIndex",sortable:!1},{name:"weekIndex",align:"left",label:"Week",field:"weekIndex",sortable:!1},{name:"signatureSlotList",align:"left",label:"Abilities",field:"signatureSlotList",sortable:!1}],Je=[{name:"fullName",label:"Player",field:"fullName",align:"left"},{name:"position",label:"POS",field:"position",align:"center"},{name:"status",label:"Status",field:"status",align:"center"},{name:"ovr_delta",label:"OVR \u0394",field:"ovr_delta",align:"center"},{name:"dev_delta",label:"DEV \u0394",field:"dev_delta",align:"center"},{name:"trade_value_delta",label:"Value \u0394",field:"trade_value_delta",align:"center"}],Ze=[{name:"team",label:"Team",field:u=>{var i,y;return((i=u.team)==null?void 0:i.displayName)||((y=u.team)==null?void 0:y.abbrName)},align:"left"},{name:"snapshot_value",label:"Snapshot Value",field:"snapshot_value",align:"right"},{name:"current_value",label:"Current Value",field:"current_value",align:"right"},{name:"delta",label:"\u0394",field:"delta",align:"right"}],Ke={components:{FilterForm:Re,AdUnit:Ee},props:{league:{type:Object,required:!0},player:{type:Object,required:!0}},setup(u){const i=Fe("api"),y=Ae(),e=y.params.abbrev,$=y.params.rosterId,H=`/leagues/${e}/players/${$}/history/`,A=`/leagues/${e}
1/roster-snapshots/`,N=Pe(),b=g([]),n=g({remaining_capacity:25,daily_remaining:5,hourly_available_at:null}),a=g(null),p=g(null),G=g("changed"),ee=g(!1),M=g(""),S=g(!1),W=g(!1),me=I(()=>N.isPermitted(String(e),Le.EDIT_LEAGUE)),ge=I(()=>{var l;return Boolean((l=N.leagueMember(String(e)))==null?void 0:l.joined)}),ve=I(()=>b.value.length<25),ce=I(()=>b.value.map(l=>({...l,displayLabel:`${l.label||"Unnamed snapshot"} \xB7 ${new Date(l.created_at).toLocaleString()}`}))),fe=[{label:"Changed players",value:"changed"},{label:"Added players",value:"added"},{label:"Removed players",value:"removed"},{label:"All players",value:"all"}],pe=I(()=>p.value?G.value==="all"?p.value.players:p.value.players.filter(l=>l.status===G.value):[]),ye=I(()=>b.value.length>=25?"This league has reached the 25-snapshot limit. An EDIT_LEAGUE user must delete an old snapshot before creating another.":""),he=I(()=>{const l=n.value.hourly_available_at,v=l?`Hourly cooldown ends ${new Date(l).toLocaleString()}.`:"You can create a snapshot now.";return`You have ${n.value.remaining_capacity} snapshot slots and ${n.value.daily_remaining} daily creations remaining. ${v}`});function _e(l){return l==null?"-":l>0?`+${l}`:String(l)}function be(l){return l==="added"?"positive":l==="removed"?"negative":"primary"}function ae(){S.value=!0,i(A).then(({data:l})=>{var v;b.value=Array.isArray(l)?l:(v=l==null?void 0:l.results)!=null?v:[],l!=null&&l.limits&&(n.value=l.limits)}).catch(T).finally(()=>{S.value=!1})}function ne(l){p.value=null,l&&(S.value=!0,i(`${A}${l}/comparison/`).then(({data:v})=>{p.value=v}).catch(T).finally(()=>{S.value=!1}))}function ke(){W.value=!0,i.post(A,{label:M.value}).then(({data:l})=>{ee.value=!1,M.value="",ae(),a.value=l.id,ne(l.id),ie("Roster snapshot saved.")}).catch(T).finally(()=>{W.value=!1})}function we(){!a.value||!window.confirm("Delete this roster snapshot? This cannot be undone.")||(S.value=!0,i.delete(`${A}${a.value}/`).then(()=>{b.value=b.value.filter(l=>l.id!==a.value),a.value=null,p.value=null,ie("Roster snapshot deleted.")}).catch(T).finally(()=>{S.value=!1}))}const V=g(!0),j=g({sortBy:null,descending:!0,page:1,rowsPerPage:0,rowsNumber:0}),te=g([]),U=g([]),O=g([]),q=g([]),R=g([]),Y=g([{type:"select",value:u.league.season,default:u.league.season,field:"seasonIndex",label:"Season",options:He(u.league,!0)},{type:"select",value:u.league.stage,default:u.league.stage,field:"stageIndex",label:"Stage",options:Ge}]);function le({pagination:l,filter:v}){V.value=!0;const E=Array.isArray(v)?v:Y.value;i(Me(H,l,E)).then(({data:m})=>{var F,L;const c=Array.isArray(m)?m:(F=m==null?void 0:m.results)!=null?F:[];c.push(u.player),c.forEach(function(Ie,z){for(const[D,xe]of Object.entries(Ie))if(z>0&&(D.includes("Rating")||D==="playerBestOvr")){const oe=c[z-1];oe[D]!==xe&&(c[z][`${D}_prev`]=oe[D])}}),R.value=c,te.value=c,j.value={...l,rowsNumber:Array.isArray(m)?c.length:(L=m==null?void 0:m.count)!=null?L:l.rowsNumber},V.value=!1}).catch(m=>{V.value=!1,T(m)})}function Se(){i(`${H}?size=0`).then(({data:l})=>{var E;const v=Array.isArray(l)?l:(E=l==null?void 0:l.results)!=null?E:[];U.value=v.filter((m,c)=>{var F,L;return c===0||((F=m.team)==null?void 0:F.displayName)!==((L=v[c-1].team)==null?void 0:L.displayName)}),O.value=v.filter((m,c)=>c===0||m.devTrait!==v[c-1].devTrait),q.value=v.filter((m,c)=>c===0||JSON.stringify(m.signatureSlotList)!==JSON.stringify(v[c-1].signatureSlotList)),U.value.includes(u.player)||U.value.push(u.player),O.value.includes(u.player)||O.value.push(u.player),q.value.includes(u.player)||q.value.push(u.player),R.value.includes(u.player)||R.value.push(u.player)})}return le({pagination:j.value,filter:Y.value}),Se(),ae(),{attributeColumns:X,attributeData:te,teamColumns:We,teamData:U,devColumns:je,devData:O,abilityColumns:ze,abilityData:q,physicalData:R,physicalColumns:Ye,serverPagination:j,filters:Y,loading:V,requestAttributes:le,Format:qe,FormatPlayer:ue,snapshots:b,snapshotOptions:ce,selectedSnapshotId:a,comparison:p,comparisonPlayers:pe,comparisonPlayerColumns:Je,comparisonTeamColumns:Ze,comparisonStatus:G,statusOptions:fe,snapshotDialog:ee,snapshotLabel:M,snapshotLoading:S,snapshotSaving:W,canManageSnapshots:me,canUseSnapshots:ge,canCreateSnapshot:ve,snapshotLimitMessage:ye,snapshotCreationHint:he,createSnapshot:ke,deleteSnapshot:we,loadComparison:ne,signed:_e,statusColor:be}}},Xe={class:"row items-center q-col-gutter-md"},$e={class:"col-12 col-md"},ea={class:"text-caption text-grey-6"},aa={class:"col-12 col-md-4"},na={class:"col-auto"},ta={key:0,class:"row q-col-gutter-md q-mt-md"},la={class:"col-12 col-md-3"},oa={class:"col-12 col-md-auto q-pt-sm"},sa={class:"text-caption text-grey-6 q-mt-md"},ia={key:0}
1,ra={key:0},da={key:1},ua={key:1},ma={key:2},ga={key:0},va={key:0},ca={key:1},fa={key:1},pa={key:2},ya={key:3},ha={key:1},_a={key:0},ba={key:0},ka={key:1},wa={key:1},Sa={key:2},Ia={key:3},xa={key:0},Ca={key:0},Aa={key:1},Pa={key:1},Fa={key:2},La={key:3},Da={key:0},Ta={key:0},Qa={key:1},Na={key:1},Va={key:2},Ua={key:3},Oa={key:4},qa={key:5};function Ra(u,i,y,e,$,H){const A=J("FilterForm"),N=J("router-link"),b=J("AdUnit");return t(),f(Ue,{padding:""},{default:s(()=>[r(re,{flat:"",bordered:"",class:"q-mb-md"},{default:s(()=>[r(Z,null,{default:s(()=>[k("div",Xe,[k("div",$e,[i[10]||(i[10]=k("div",{class:"text-h6"},"Roster Snapshots",-1)),k("div",ea," Compare the current league roster and team values with a saved checkpoint. "+d(e.snapshots.length)+"/25 snapshots saved. ",1)]),k("div",aa,[r(se,{modelValue:e.selectedSnapshotId,"onUpdate:modelValue":[i[0]||(i[0]=n=>e.selectedSnapshotId=n),e.loadComparison],options:e.snapshotOptions,"option-value":"id","option-label":"displayLabel","emit-value":"","map-options":"",label:"Compare with snapshot",dense:"",outlined:"",clearable:"",loading:e.snapshotLoading},null,8,["modelValue","options","loading","onUpdate:modelValue"])]),k("div",na,[e.canUseSnapshots?(t(),f(B,{key:0,color:"primary",icon:"add",label:"Save Snapshot",disable:!e.canCreateSnapshot,onClick:i[1]||(i[1]=n=>e.snapshotDialog=!0)},null,8,["disable"])):w("",!0)])]),e.selectedSnapshotId&&e.comparison?(t(),o("div",ta,[k("div",la,[r(se,{modelValue:e.comparisonStatus,"onUpdate:modelValue":i[2]||(i[2]=n=>e.comparisonStatus=n),options:e.statusOptions,label:"Show players",dense:"",outlined:"","emit-value":"","map-options":""},null,8,["modelValue","options"])]),k("div",oa,[e.canManageSnapshots?(t(),f(B,{key:0,flat:"",color:"negative",icon:"delete",label:"Delete Snapshot",onClick:e.deleteSnapshot},null,8,["onClick"])):w("",!0)])])):w("",!0),e.snapshotLimitMessage?(t(),f(Ve,{key:1,class:"q-mt-md",dense:"",rounded:""},{default:s(()=>[h(d(e.snapshotLimitMessage),1)]),_:1})):w("",!0)]),_:1})]),_:1}),e.comparison?(t(),o(x,{key:0},[r(C,{rows:e.comparisonPlayers,columns:e.comparisonPlayerColumns,title:"Roster Changes","row-key":"rosterId",dense:"",flat:"",bordered:"",separator:"none"},{"body-cell-status":s(n=>[r(_,{props:n},{default:s(()=>[r(K,{color:e.statusColor(n.value)},{default:s(()=>[h(d(n.value),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),"body-cell-ovr_delta":s(n=>[r(_,{props:n},{default:s(()=>[h(d(e.signed(n.value)),1)]),_:2},1032,["props"])]),"body-cell-dev_delta":s(n=>[r(_,{props:n},{default:s(()=>[h(d(e.signed(n.value)),1)]),_:2},1032,["props"])]),"body-cell-trade_value_delta":s(n=>[r(_,{props:n},{default:s(()=>[h(d(e.signed(n.value)),1)]),_:2},1032,["props"])]),_:1},8,["rows","columns"]),r(C,{class:"q-mt-md",rows:e.comparison.teams,columns:e.comparisonTeamColumns,title:"Team Roster Value Changes","row-key":"team.id",dense:"",flat:"",bordered:"",separator:"none"},{"body-cell-delta":s(n=>[r(_,{props:n},{default:s(()=>[h(d(e.signed(n.value)),1)]),_:2},1032,["props"])]),_:1},8,["rows","columns"])],64)):w("",!0),r(Ne,{modelValue:e.snapshotDialog,"onUpdate:modelValue":i[4]||(i[4]=n=>e.snapshotDialog=n)},{default:s(()=>[r(re,{style:{"min-width":"320px","max-width":"520px"}},{default:s(()=>[r(Z,{class:"text-h6"},{default:s(()=>[...i[11]||(i[11]=[h("Save Roster Snapshot",-1)])]),_:1}),r(Z,null,{default:s(()=>[r(De,{modelValue:e.snapshotLabel,"onUpdate:modelValue":i[3]||(i[3]=n=>e.snapshotLabel=n),label:"Label (optional)",hint:"For example: Start of Season or Before Free Agency",maxlength:"100",counter:"",outlined:"",autofocus:""},null,8,["modelValue"]),k("div",sa,d(e.snapshotCreationHint),1)]),_:1}),r(Te,{align:"right"},{default:s(()=>[Qe(r(B,{flat:"",label:"Cancel"},null,512),[[Oe]]),r(B,{color:"primary",label:"Save",loading:e.snapshotSaving,onClick:e.createSnapshot},null,8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),r(A,{filters:e.filters},null,8,["filters"]),r(C,{pagination:e.serverPagination,"onUpdate:pagination":i[5]||(i[5]=n=>e.serverPagination=n),"rows-per-page-options":[10,25,50,100],rows:e.attributeData,columns:e.attributeColumns,filter:e.filters,loading:e.loading,title:"Attribute History",separator:"none",class:"sticky-first-column-table","binary-state-sort":"",dense:"","hide-pagination":"",onRequest:e.requestAttributes},{body:s(n=>[r(Q,{props:n},{default:s(()=>[(t(!0),o(x,null,P(n.cols,a=>(t(),f(_,{key:a.name,props:n},{default:s(()=>[a.name==="weekIndex"?(t(),o("span",ia,[a.value!==void 0?(t(),o("span",ra,d(e.Format.
1week(a.value)),1)):(t(),o("span",da,"Current"))])):(a.name.includes("Rating")||a.name==="playerBestOvr")&&n.row[`${a.name}_prev`]!==void 0?(t(),o("span",ua,[n.row[`${a.name}_prev`]<a.value?(t(),f(K,{key:0,color:"positive"},{default:s(()=>[h(d(a.value),1)]),_:2},1024)):(t(),f(K,{key:1,color:"negative"},{default:s(()=>[h(d(a.value),1)]),_:2},1024))])):(t(),o("span",ma,d(a.value),1))]),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),_:1},8,["pagination","rows","columns","filter","loading","onRequest"]),r(C,{pagination:e.serverPagination,"onUpdate:pagination":i[6]||(i[6]=n=>e.serverPagination=n),"rows-per-page-options":[10,25,50,100],rows:e.teamData,columns:e.teamColumns,loading:e.loading,title:"Team History",separator:"none",class:"q-mt-md","hide-pagination":"",dense:""},{body:s(n=>[r(Q,{props:n},{default:s(()=>[(t(!0),o(x,null,P(n.cols,a=>(t(),f(_,{key:a.name,props:n},{default:s(()=>[a.name==="seasonIndex"?(t(),o("span",ga,[a.value!==void 0?(t(),o("span",va,d(e.Format.season(a.value,y.league)),1)):(t(),o("span",ca,"Current"))])):a.name==="stageIndex"&&a.value!==void 0?(t(),o("span",fa,d(e.Format.stage(n.row.stageIndex,n.row.weekIndex)),1)):a.name==="weekIndex"&&a.value!==void 0?(t(),o("span",pa,d(e.Format.week(a.value)),1)):a.name==="team"?(t(),o("span",ya,[a.value?(t(),f(N,{key:0,to:{name:"Team",params:{abbrev:u.$route.params.abbrev,abbrName:a.value.abbrName}}},{default:s(()=>[a.value.logo?(t(),f(de,{key:0,"no-spinner":"",fit:"contain",style:{width:"25px"},src:a.value.logo},null,8,["src"])):(t(),f(de,{key:1,"no-spinner":"",fit:"contain",style:{width:"25px"},src:"https://cdn.neonsportz.com/teamlogos/256/"+a.value.logoId+".png"},null,8,["src"])),h(" "+d(a.value.displayName),1)]),_:2},1032,["to"])):(t(),o("span",ha,"FA"))])):w("",!0)]),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),_:1},8,["pagination","rows","columns","loading"]),r(b),r(C,{pagination:e.serverPagination,"onUpdate:pagination":i[7]||(i[7]=n=>e.serverPagination=n),"rows-per-page-options":[10,25,50,100],rows:e.devData,columns:e.devColumns,loading:e.loading,title:"Development History",separator:"none",class:"q-mt-md","hide-pagination":"",dense:""},{body:s(n=>[r(Q,{props:n},{default:s(()=>[(t(!0),o(x,null,P(n.cols,a=>(t(),f(_,{key:a.name,props:n},{default:s(()=>[a.name==="seasonIndex"?(t(),o("span",_a,[a.value!==void 0?(t(),o("span",ba,d(e.Format.season(a.value,y.league)),1)):(t(),o("span",ka,"Current"))])):a.name==="stageIndex"&&a.value!==void 0?(t(),o("span",wa,d(e.Format.stage(n.row.stageIndex,n.row.weekIndex)),1)):a.name==="weekIndex"&&a.value!==void 0?(t(),o("span",Sa,d(e.Format.week(a.value)),1)):(t(),o("span",Ia,d(a.value),1))]),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),_:1},8,["pagination","rows","columns","loading"]),r(C,{pagination:e.serverPagination,"onUpdate:pagination":i[8]||(i[8]=n=>e.serverPagination=n),"rows-per-page-options":[10,25,50,100],rows:e.abilityData,columns:e.abilityColumns,loading:e.loading,title:"Ability History",separator:"none",class:"q-mt-md","hide-pagination":"",dense:""},{body:s(n=>[r(Q,{props:n},{default:s(()=>[(t(!0),o(x,null,P(n.cols,a=>(t(),f(_,{key:a.name,props:n},{default:s(()=>[a.name==="seasonIndex"?(t(),o("span",xa,[a.value!==void 0?(t(),o("span",Ca,d(e.Format.season(a.value,y.league)),1)):(t(),o("span",Aa,"Current"))])):a.name==="stageIndex"&&a.value!==void 0?(t(),o("span",Pa,d(e.Format.stage(n.row.stageIndex,n.row.weekIndex)),1)):a.name==="weekIndex"&&a.value!==void 0?(t(),o("span",Fa,d(e.Format.week(a.value)),1)):a.name==="signatureSlotList"?(t(),o("span",La,[(t(!0),o(x,null,P(a.value,p=>(t(),o("div",{key:p},d(p.signatureAbility.signatureTitle),1))),128))])):w("",!0)]),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),_:1},8,["pagination","rows","columns","loading"]),r(C,{pagination:e.serverPagination,"onUpdate:pagination":i[9]||(i[9]=n=>e.serverPagination=n),"rows-per-page-options":[10,25,50,100],rows:e.physicalData,columns:e.physicalColumns,loading:e.loading,title:"Physical History",separator:"none",class:"q-mt-md","hide-pagination":"",dense:""},{body:s(n=>[r(Q,{props:n},{default:s(()=>[(t(!0),o(x,null,P(n.cols,a=>(t(),f(_,{key:a.name,props:n},{default:s(()=>{var p;return[a.name==="seasonIndex"?(t(),o("span",Da,[a.value!==void 0?(t(),o("span",Ta,d(e.Format.season(a.value,y.league)),1)):(t(),o("span",Qa,"Current"))])):a.name==="stageIndex"&&a.value!==void 0?(t(),o("span",Na,d(e.Format.stage(n.row.stageIndex,n.row.weekIndex)),1)):a.name==="weekIndex"&&a.value!==void 0?(t(),o("span",Va,d(e.Format.
1week(a.value)),1)):a.name==="age"?(t(),o("span",Ua,d(a.value),1)):a.name==="height"?(t(),o("span",Oa,d(e.FormatPlayer.height(a.value)),1)):a.name==="weight"?(t(),o("span",qa,d((p=a.value)!=null?p:"-"),1)):w("",!0)]}),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),_:1},8,["pagination","rows","columns","loading"])]),_:1})}var In=Ce(Ke,[["render",Ra]]);export{In 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.