@xcpcio/board-app 0.63.6 → 0.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/404.html +1 -1
- package/dist/assets/{Balloon.vue_vue_type_script_setup_true_lang-CET-mMZR.js → Balloon.vue_vue_type_script_setup_true_lang-DwBrrom6.js} +1 -1
- package/dist/assets/{Board-8sf8oyGd.js → Board-BO2oDVPE.js} +54 -54
- package/dist/assets/{Board-BSiTVmnM.css → Board-Bw50IitD.css} +1 -1
- package/dist/assets/{ContestStateBadge-B1Ucze9l.js → ContestStateBadge-DrpQq5N4.js} +1 -1
- package/dist/assets/{Countdown-BaWJgQAy.js → Countdown-C_GA1usV.js} +1 -1
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-Cr0K67q9.js +1 -0
- package/dist/assets/{Footer-DFQx98c3.js → Footer-DNR-ilJ5.js} +1 -1
- package/dist/assets/{NavBar-B7WTvgoh.js → NavBar-DU4kcs_k.js} +1 -1
- package/dist/assets/{Resolver-AOYbOhN8.js → Resolver--KusTBWk.js} +1 -1
- package/dist/assets/{RightArrowIcon-BxjJs4Ct.js → RightArrowIcon-Cx82txLy.js} +1 -1
- package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-CXmYfgXL.js → TheInput.vue_vue_type_script_setup_true_lang-BfGQccfF.js} +1 -1
- package/dist/assets/{Tooltip.vue_vue_type_script_setup_true_lang-fFuPmGFl.js → Tooltip.vue_vue_type_script_setup_true_lang-BiZQbZpU.js} +1 -1
- package/dist/assets/{_...all_-J3L3yOUE.js → _...all_-CJpyse53.js} +1 -1
- package/dist/assets/_...all_-DrWZoiU0.js +6 -0
- package/dist/assets/{_name_-CEfOFlXD.js → _name_-aS9b9-yu.js} +1 -1
- package/dist/assets/{about-DvmX7HMc.js → about-B1R70Y8f.js} +1 -1
- package/dist/assets/board-CTGu5nLW.js +1 -0
- package/dist/assets/{board-layout-DRWTK9V8.js → board-layout-DpYiD2TY.js} +1 -1
- package/dist/assets/{constant-CnS2fVjb.js → constant-BLR-mMXv.js} +1 -1
- package/dist/assets/{contest-f4yfN3Qx.js → contest-BX77J6xB.js} +1 -1
- package/dist/assets/{dayjs-vVJyKnCl.js → dayjs-CeI8Tzzs.js} +1 -1
- package/dist/assets/{default-D0rm-AQz.js → default-B-oEEZYB.js} +1 -1
- package/dist/assets/{headless-UvI-PXpZ.js → headless-vGEFxcro.js} +1 -1
- package/dist/assets/{home-C7ejzeFY.js → home-C-hiyiKF.js} +1 -1
- package/dist/assets/index-BPQNJR9C.css +5 -0
- package/dist/assets/{index-CGyzkfo6.js → index-Bqh8RKJZ.js} +1 -1
- package/dist/assets/{index-CyIXT9B6.js → index-BySc0CqQ.js} +1 -1
- package/dist/assets/index-CM3RvXoz.js +67 -0
- package/dist/assets/{index-BT5d-KwK.js → index-CSH4p42n.js} +1 -1
- package/dist/assets/{index-DZrKhRkz.js → index-D0568hUU.js} +1 -1
- package/dist/assets/index-gbWfw8RI.js +1 -0
- package/dist/assets/{index-layout-BqcDW4wj.js → index-layout-DMOaRWHr.js} +1 -1
- package/dist/assets/{pagination-tohTnV4i.js → pagination-xM3o6sP4.js} +3 -3
- package/dist/assets/{query-Dg0GRAti.js → query-CJJZPkfS.js} +1 -1
- package/dist/assets/{rank-_s25hyNU.js → rank-DeeyMXnu.js} +1 -1
- package/dist/assets/test-Cy4YHoDZ.js +1 -0
- package/dist/assets/{use-vmodel-DFEPqg5n.js → use-vmodel-CcIbVTPv.js} +1 -1
- package/dist/assets/{user-DMPa_Wji.js → user-DmhaXJDh.js} +1 -1
- package/dist/assets/{virtual_pwa-register-CTcdTvQC.js → virtual_pwa-register-DPwqiWvr.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +22 -22
- package/src/components/battle-of-giants/GiantsOptions.vue +2 -3
- package/src/components/board/FilterModal.vue +7 -22
- package/src/components/board/Modal.vue +2 -1
- package/src/components/board/OptionsModal.vue +5 -0
- package/src/components/board/SubmissionsTable.vue +7 -9
- package/src/components/common/MultiSelectEnhanced.vue +48 -0
- package/src/components/rating/RatingTable.vue +2 -4
- package/src/components.d.ts +1 -0
- package/src/styles/vue-search-select-dark.css +11 -0
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-k14tEiV3.js +0 -1
- package/dist/assets/_...all_-DTqTceG9.js +0 -6
- package/dist/assets/board-BvAnnNNG.js +0 -1
- package/dist/assets/index-Ci_yO4J4.js +0 -1
- package/dist/assets/index-CvZYulHD.js +0 -67
- package/dist/assets/index-DgN4ZhPo.css +0 -5
- package/dist/assets/test-CjEjUi7J.js +0 -1
package/src/components.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ declare module 'vue' {
|
|
|
33
33
|
HeatMapTooltip: typeof import('./components/board/HeatMapTooltip.vue')['default']
|
|
34
34
|
Modal: typeof import('./components/board/Modal.vue')['default']
|
|
35
35
|
ModalMenu: typeof import('./components/board/ModalMenu.vue')['default']
|
|
36
|
+
MultiSelectEnhanced: typeof import('./components/common/MultiSelectEnhanced.vue')['default']
|
|
36
37
|
NavBar: typeof import('./components/NavBar.vue')['default']
|
|
37
38
|
OptionsModal: typeof import('./components/board/OptionsModal.vue')['default']
|
|
38
39
|
ProblemBlock: typeof import('./components/board/ProblemBlock.vue')['default']
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
/* Vue Search Select Dark Mode Styles */
|
|
2
2
|
|
|
3
|
+
/* Fix for IME (Chinese input method) width issue - applies to all modes */
|
|
4
|
+
.ui.multiple.search.dropdown > input.search {
|
|
5
|
+
flex: 1 1 auto !important;
|
|
6
|
+
transition: width 0.2s ease;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Expand input width when composing (Chinese/Japanese/Korean input) */
|
|
10
|
+
.is-composing.ui.multiple.search.dropdown > input.search {
|
|
11
|
+
width: 96% !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
3
14
|
/* Dark mode overrides for vue-search-select when html.dark is applied */
|
|
4
15
|
html.dark .ui.dropdown {
|
|
5
16
|
background: var(--global-background);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-CXmYfgXL.js";import{d as f,u as _,m as h,g,H as b,c as v,q as S,h as a,o as x,b as t,a as U,X as V,z as k,k as l}from"./index-CvZYulHD.js";import{g as y}from"./query-Dg0GRAti.js";const w={key:0,class:"flex flex-col items-center"},D={"w-128":""},I=["disabled"],u="Data Source URL",K=f({__name:"DataSourceInput",setup(R){const{t:r}=_(),s=y(),e=h(s.value),c=g(),d=b();function n(){d.push(`${c.fullPath}/?data-source=${e.value.trim()}`)}return(B,o)=>{const i=p;return a(s).length===0?(x(),v("div",w,[t("div",D,[U(i,{modelValue:a(e),"onUpdate:modelValue":o[0]||(o[0]=m=>k(e)?e.value=m:null),"w-full":"",placeholder:u,autocomplete:"false",onKeydown:V(n,["enter"])},null,8,["modelValue"]),t("label",{class:"hidden",for:"input"},l(u))]),o[1]||(o[1]=t("div",{"py-2":""},null,-1)),t("div",null,[t("button",{"m-3":"","text-sm":"",btn:"",disabled:a(e).length===0,onClick:n},l(a(r)("button.go")),9,I)])])):S("",!0)}}});export{K as _};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{_ as j,h as U,P as H,w as Y,a as W}from"./pagination-tohTnV4i.js";import{_ as G}from"./Tooltip.vue_vue_type_script_setup_true_lang-fFuPmGFl.js";import{d as T,f as p,c as f,o as h,a as _,w as y,b as r,n as D,h as o,k as x,G as O,z as $,m as v,q as A,C as V,j as X,F as q,E as K,u as Q,A as C,B as Z,g as tt}from"./index-CvZYulHD.js";import{R as et,d as J}from"./constant-CnS2fVjb.js";import{c as F}from"./dayjs-vVJyKnCl.js";class R{constructor(t=""){this.name=t}toJSON(){return{name:this.name}}static fromJSON(t){typeof t=="string"&&(t=JSON.parse(t));const s=new R;return s.name=t.name,s}}function S(c){if(typeof c=="string"){for(const t of" ,、|")if(c.includes(t))return c.split(t).map(s=>new R(s));return[new R(c)]}return c.map(t=>new R(t))}class L{constructor(){this.rank=0,this.rating=0,this.teamName="",this.organization="",this.members=[],this.coaches=[],this.contestID="",this.contestName="",this.contestLink="",this.contestTime=F()}toJSON(){return{rank:this.rank,rating:this.rating,teamName:this.teamName,organization:this.organization,members:this.members.map(t=>t.toJSON()),coaches:this.coaches.map(t=>t.toJSON()),contestID:this.contestID,contestName:this.contestName,contestLink:this.contestLink,contestTime:this.contestTime.toDate()}}static fromJSON(t){typeof t=="string"&&(t=JSON.parse(t));const s=new L;return s.rank=t.rank,s.rating=t.rating,s.teamName=t.teamName,s.organization=t.organization,s.members=t.members.map(a=>R.fromJSON(a)),s.coaches=t.coaches.map(a=>R.fromJSON(a)),s.contestID=t.contestID,s.contestName=t.contestName,s.contestLink=t.contestLink,s.contestTime=F(t.contestTime),s}}class E{constructor(){this.id="",this.name="",this.organization="",this.members=[],this.coaches=[],this.rating=0,this.minRating=1061109567,this.maxRating=-1061109567,this.rank=0,this.oldRating=0,this.seed=1,this.delta=0,this.ratingHistories=[]}UpdateRating(t){this.rating=t,this.minRating=Math.min(this.minRating,t),this.maxRating=Math.max(this.maxRating,t)}toJSON(){return{id:this.id,name:this.name,organization:this.organization,members:this.members.map(t=>t.toJSON()),coaches:this.coaches.map(t=>t.toJSON()),rating:this.rating,minRating:this.minRating,maxRating:this.maxRating,ratingHistories:this.ratingHistories.map(t=>t.toJSON())}}static fromJSON(t){typeof t=="string"&&(t=JSON.parse(t));const s=new E;s.id=t.id,s.name=t.name,s.organization=t.organization,s.members=t.members.map(a=>R.fromJSON(a)),s.coaches=t.coaches.map(a=>R.fromJSON(a)),s.rating=t.rating,s.minRating=t.minRating,s.maxRating=t.maxRating;for(const a of t.ratingHistories)s.ratingHistories.push(L.fromJSON(a));return s}}class st{constructor(){this.users=[]}calculate(){this.calculateInternal()}calcP(t,s){return 1/(1+10**((s.oldRating-t.oldRating)/400))}getExSeed(t,s,a){const l=new E;l.oldRating=s;let e=0;return t.forEach(n=>{n.id!==a.id&&(e+=this.calcP(n,l))}),e}calcRating(t,s,a){let l=1,e=8e3;for(;e-l>1;){const n=Math.floor((l+e)/2);this.getExSeed(t,n,a)<s?e=n:l=n}return l}calculateInternal(){for(let e=0;e<this.users.length;e++){const n=this.users[e];n.seed=1;for(let i=0;i<this.users.length;i++)if(e!==i){const u=this.users[i];n.seed+=this.calcP(u,n)}}let t=0;for(let e=0;e<this.users.length;e++){const n=this.users[e];n.delta=Math.floor((this.calcRating(this.users,Math.sqrt(n.rank*n.seed),n)-n.oldRating)/2),t+=n.delta}let s=Math.floor(-t/this.users.length)-1;for(let e=0;e<this.users.length;e++){const n=this.users[e];n.delta+=s}this.users=this.users.sort((e,n)=>n.oldRating-e.oldRating);const a=Math.min(this.users.length,Math.floor(4*Math.round(Math.sqrt(this.users.length))));let l=0;for(let e=0;e<a;e++)l+=this.users[e].delta;s=Math.min(Math.max(Math.floor(-l/a),-10),0),this.users.forEach(e=>{e.delta+=s,e.UpdateRating(e.oldRating+e.delta)}),this.users=this.users.sort((e,n)=>e.rank-n.rank)}}class z{constructor(){this.id="",this.name="",this.baseRating=1500,this.contestIDs=[],this.users=[],this.ranks=[],this.userMap=new Map}buildRating(){for(const t of this.ranks){t.buildRank();const s=new st;for(const a of t.teams){const l=this.generateTeamId(a);let e=null;this.userMap.has(l)?(e=this.userMap.get(l),e.rank=a.rank,e.oldRating=e.rating,s.users.push(e)):(e=new E,e.id=l,e.name=a.name,e.organization=a.organization,e.members=S(a.members??[]),e.coaches=S(a.coach??[]),e.rank=a.rank,e.oldRating=this.baseRating,e.UpdateRating(this.baseRating),this.userMap.set(l,e),this.users.push(e),s.users.push(e));{const n=new L;n.rank=a.rank,n.rating=e.rating,n.teamName=a.name,n.organization=a.organization,n.members=S(a.members??[]),n.coaches=S(a.coach??[]),n.contestID=t.contest.id,n.contestLink=n.contestID,n.contestName=t.contest.name,n.contestTime=t.contest.startTime,e.ratingHistories.push(n)}}s.calculate();for(const a of s.users)a.ratingHistories.at(-1).rating=a.rating}}generateTeamId(t){const s=S(t.members??[]);return s.length>0?s.map(a=>a.name.trim()).sort().join("|"):`${t.organization}-${t.name}`}toJSON(){return{id:this.id,name:this.name,baseRating:this.baseRating,contestIDs:this.contestIDs,users:this.users.map(t=>t.toJSON())}}static fromJSON(t){typeof t=="string"&&(t=JSON.parse(t));const s=new z;s.id=t.id,s.name=t.name,s.baseRating=t.baseRating,s.contestIDs=t.contestIDs;for(const a of t.users)s.users.push(E.fromJSON(a));return s}}const P={NEWBIE:"Newbie",PUPIL:"Pupil",SPECIALIST:"Specialist",EXPERT:"Expert",CANDIDATE_MASTER:"Candidate Master",MASTER:"Master",INTERNATIONAL_MASTER:"International Master",GRANDMASTER:"Grandmaster",INTERNATIONAL_GRANDMASTER:"International Grandmaster",LEGENDARY_GRANDMASTER:"Legendary Grandmaster"};class M{static getRatingLevel(t){return t>=3e3?"LEGENDARY_GRANDMASTER":t>=2600?"INTERNATIONAL_GRANDMASTER":t>=2400?"GRANDMASTER":t>=2300?"INTERNATIONAL_MASTER":t>=2100?"MASTER":t>=1900?"CANDIDATE_MASTER":t>=1600?"EXPERT":t>=1400?"SPECIALIST":t>=1200?"PUPIL":"NEWBIE"}static getRatingLevelClass(t){if(typeof t=="number")return this.getRatingLevelClass(this.getRatingLevel(t));switch(t){case"NEWBIE":return"user-gray";case"PUPIL":return"user-green";case"SPECIALIST":return"user-cyan";case"EXPERT":return"user-blue";case"CANDIDATE_MASTER":return"user-violet";case"MASTER":return"user-orange";case"INTERNATIONAL_MASTER":return"user-orange";case"GRANDMASTER":return"user-red";case"INTERNATIONAL_GRANDMASTER":return"user-red";case"LEGENDARY_GRANDMASTER":return"user-legendary"}}}const nt={"text-md":""},at=T({__name:"RatingBadge",props:{rating:null},setup(c){const t=c,s=p(()=>t.rating);return(a,l)=>{const e=G;return h(),f("div",null,[_(e,null,{popper:y(()=>[r("div",nt,x(o(P)[o(M).getRatingLevel(o(s))]),1)]),default:y(()=>[r("div",{"font-mono":"","font-bold":"",class:D(o(M).getRatingLevelClass(o(s)))},x(o(s)),3)]),_:1})])}}});function rt(c,t){const s=t-c;return t>c?`+${s.toString()}`:s.toString()}function ot(c){const t=[];{let l=0;for(const e of c.ratingHistories){const n={};n.x=e.contestTime.unix()*1e3,n.y=e.rating,n.diffRating=rt(l,e.rating),n.rank=e.rank,n.contestName=e.contestName,n.link=`/board/${e.contestID}`,n.contestTime=e.contestTime.format("YYYY-MM-DD HH:mm:ss"),n.teamName=e.teamName,n.ratingTitle=P[M.getRatingLevel(e.rating)],t.push(n),l=e.rating}}let s=[1200,1400,1600,1900,2100,2300,2400,2600,3e3];{let e=Math.max(0,c.minRating-100),n=c.maxRating+100;for(let i=0;i<s.length;++i)if(s[i]>n){n=s[i];break}for(let i=s.length-1;i>=0;--i)if(s[i]<e){e=s[i];break}e<1200&&(s=[e,...s]),n>3e3&&s.push(n),s=s.filter(i=>i>=e&&i<=n)}return{chart:{type:"line",height:"408px"},title:{text:null},xAxis:{tickWidth:0,gridLineWidth:.4,minRange:720*60*60*1e3,type:"datetime",showFirstLabel:!0,showLastLabel:!0,dateTimeLabelFormats:{month:"%b %Y"}},yAxis:{showEmpty:!1,showFirstLabel:!1,showLastLabel:!1,tickPositions:s,tickWidth:0,gridLineWidth:.6,labels:{enabled:!0,format:"{value}"},title:{text:null},plotBands:[{from:0,to:1199,color:"#CCCCCC"},{from:1200,to:1399,color:"#98FA87"},{from:1400,to:1599,color:"#90DABD"},{from:1600,to:1899,color:"#A9ACF9"},{from:1900,to:2099,color:"#EF91F9"},{from:2100,to:2299,color:"#F7CD91"},{from:2300,to:2399,color:"#F5BD67"},{from:2400,to:2599,color:"#Ef7F7B"},{from:2600,to:2999,color:"#EB483F"},{from:3e3,to:1061109567,color:"#9C1E14"}]},credits:{enabled:!1},plotOptions:{line:{color:"#ffec3d",dataLabels:{enabled:!1},enableMouseTracking:!0,marker:{enabled:!0,fillColor:"#fffb8f"}}},tooltip:{enabled:!0,headerFormat:"",useHTML:!0,shared:!0,shadow:!0,followPointer:!1,followTouchMove:!1,pointFormat:`= {point.y} ({point.diffRating}), {point.ratingTitle}
|
|
2
|
-
<br/>Rank: {point.rank}
|
|
3
|
-
<br/>TeamName: {point.teamName}
|
|
4
|
-
<br/>ContestTime: {point.contestTime}
|
|
5
|
-
<br/><a href="{point.link}">{point.contestName}</a>
|
|
6
|
-
<br/>`},series:[{showInLegend:!1,allowPointSelect:!0,data:t}]}}const it={"w-full":"","max-w-screen-xl":"","mx-auto":"","px-4":"","lg:px-8":""},lt={relative:"","overflow-hidden":"","bg-white":"","dark:bg-gray-800":""},ct={flex:"","flex-col":"","items-center":"","justify-between":"","md:flex-row":"","space-y-3":"","md:space-y-0":""},ut={flex:"","flex-row":"","space-x-3":""},mt={"text-gray-900":"","dark:text-white":"","text-2xl":"","font-sans":"","font-semibold":"",italic:""},dt={flex:"","flex-col":"","justify-start":"","items-start":""},ht={"w-full":"","font-bold":"","font-mono":"",flex:"","items-center":"","justify-center":""},gt={"w-full":""},ft=T({__name:"RatingInfoModal",props:{isHidden:{type:Boolean},ratingUser:null},emits:["update:isHidden"],setup(c,{emit:t}){const s=c,a=t,l=p({get(){return s.isHidden},set(i){a("update:isHidden",i)}}),e=p(()=>s.ratingUser),n=p(()=>{let i="";return e.value.organization.length>0&&(i+=`${e.value.organization} - `),i+=`${e.value.name}`,e.value.members.length>0&&(i+=` - ${e.value.members.map(u=>u.name).join(",")}`),e.value.coaches.length>0&&(i+=` - ${e.value.coaches.map(u=>u.name).join(",")}(coach)`),i});return(i,u)=>{const b=G,m=j;return h(),O(m,{"is-hidden":o(l),"onUpdate:isHidden":u[0]||(u[0]=I=>$(l)?l.value=I:null),width:"w-278"},{header:y(()=>[r("div",it,[r("div",lt,[r("div",ct,[r("div",ut,[_(b,null,{popper:y(()=>[r("div",dt,[r("div",null," TeamID: "+x(o(e).id),1)])]),default:y(()=>[r("h3",mt,x(o(n)),1)]),_:1})])])])])]),default:y(()=>[r("div",ht,[r("div",gt,[_(o(U.Chart),{options:("getRatingGraphOptions"in i?i.getRatingGraphOptions:o(ot))(o(e))},null,8,["options"])])])]),_:1},8,["is-hidden"])}}}),pt={class:"border-b dark:border-gray-600 hover:bg-gray-100 dark:hover:bg-gray-700"},_t={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},xt={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},bt={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},Rt={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},vt={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},Nt=T({__name:"RatingUserUI",props:{ix:null,ratingUser:null},setup(c){const t=c,s=p(()=>t.ratingUser),a=v(!0);function l(){a.value=!1}return(e,n)=>{const i=ft,u=at;return h(),f("tr",pt,[r("td",_t,x(o(s).organization),1),r("td",null,[r("div",{class:D(["whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white",o(M).getRatingLevelClass(o(s).rating)]),"cursor-pointer":"",onClick:l},x(o(s).name),3),r("div",null,[o(a)?A("",!0):(h(),O(i,{key:0,"is-hidden":o(a),"onUpdate:isHidden":n[0]||(n[0]=b=>$(a)?a.value=b:null),"rating-user":o(s)},null,8,["is-hidden","rating-user"]))])]),r("td",xt,x(o(s).members.map(b=>b.name.trim()).join(" ")),1),r("td",bt,[_(u,{rating:o(s).rating},null,8,["rating"])]),r("td",Rt,[_(u,{rating:o(s).maxRating},null,8,["rating"])]),r("td",vt,[_(u,{rating:o(s).minRating},null,8,["rating"])])])}}}),wt={"mx-auto":"","w-full":""},yt={"space-y-3":"",flex:"","flex-col":"","px-4":"","py-3":"","lg:flex-row":"","lg:items-center":"","lg:justify-between":"","lg:space-x-4":"","lg:space-y-0":""},Tt={flex:"","flex-shrink-0":"","flex-col":"","md:flex-row":"","md:items-center":"","lg:justify-end":"","space-y-3":"","md:space-x-3":"","md:space-y-0":""},kt={"w-108":""},St={class:"overflow-x-auto"},At={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400","font-medium":"","font-mono":""},Et=T({__name:"RatingTable",props:{rating:null,pageSize:null,removeBorder:{type:Boolean}},setup(c){const t=c,s=p(()=>t.rating),a=v({organizations:[],members:[]}),l=p(()=>{let g=s.value.users.map(d=>d.organization);return g=Array.from(new Set(g)),g.map(d=>({value:d,text:d}))}),e=v([]),n=v({});function i(g,d){e.value=g,n.value=d}const u=p(()=>s.value.users.filter(d=>{const N=a.value;if(N.organizations.length===0&&N.members.length===0)return!0;for(const k of N.organizations)if(k===d.organization)return!0;for(const k of N.members)for(const w of d.members)if(k===w.name)return!0;return!1}));function b(){const g={organizations:[],members:[]};g.organizations=e.value.map(d=>d.value),a.value=g}const m=v(new H);m.value.currentPage=0,m.value.pageSize=t.pageSize??20,m.value.totalSize=u.value.length,V(u,()=>{m.value.totalSize=u.value.length,m.value.currentPage>=m.value.totalPage&&(m.value.currentPage=m.value.totalPage-1)});const I=p(()=>u.value.slice(m.value.currentLeft,m.value.currentRight));return(g,d)=>{const N=Nt,k=W;return h(),f("section",null,[r("div",wt,[r("div",{relative:"","overflow-hidden":"","bg-white":"","dark:bg-gray-800":"",class:D({"shadow-md":t.removeBorder!==!0,"sm:rounded-sm":t.removeBorder!==!0})},[r("div",yt,[r("div",Tt,[r("div",kt,[_(o(Y),{options:o(l),"selected-options":o(e),placeholder:"Organization",onSelect:i},null,8,["options","selected-options"])]),r("div",null,[r("button",{type:"button",class:"flex flex-shrink-0 items-center justify-center border border-gray-200 rounded-lg bg-white px-3 py-2 text-sm font-medium text-gray-900 focus:z-10 dark:border-gray-600 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-primary-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-700",onClick:b},[...d[1]||(d[1]=[r("div",{"i-material-symbols-search":"","mr-1":"","h-5":"","w-5":""},null,-1),X(" Filter ",-1)])])])])]),r("div",St,[r("table",At,[d[2]||(d[2]=r("thead",{"text-xs":"","bg-gray-50":"","text-gray-700":"","dark:bg-gray-700":"","dark:text-gray-400":""},[r("tr",null,[r("th",{scope:"col",class:"px-4 py-3","w-68":""}," Organization "),r("th",{scope:"col",class:"px-4 py-3","w-128":""}," TeamName "),r("th",{scope:"col",class:"px-4 py-3","w-68":""}," Members "),r("th",{scope:"col",class:"px-4 py-3"}," Rating "),r("th",{scope:"col",class:"px-4 py-3"}," MaxRating "),r("th",{scope:"col",class:"px-4 py-3"}," MinRating ")])],-1)),r("tbody",null,[(h(!0),f(q,null,K(o(I),(w,B)=>(h(),O(N,{key:w.id,ix:B,"rating-user":w},null,8,["ix","rating-user"]))),128))])])]),_(k,{pagination:o(m),"onUpdate:pagination":d[0]||(d[0]=w=>$(m)?m.value=w:null)},null,8,["pagination"])],2)])])}}}),It={class:"sm:w-[1024px] lg:w-screen","lg:of-x-hidden":"",flex:"","flex-col":"","justify-center":"","items-center":""},Mt={key:0,"mt-4":"","mb-4":"",class:"sm:w-[1000px] lg:w-screen",flex:"","justify-center":"","items-center":""},Lt={key:0},Dt={key:1},Ot={key:1,flex:"","flex-col":"","justify-center":"","items-center":""},$t={"text-4xl":"","font-medium":"","font-serif":""},zt={"mt-4":""},Ct=T({__name:"Rating",props:{id:null},setup(c){const t=c,s=p(()=>t.id);function a(){return`${et.value}${s.value}/rating.json`}const l=v(a()),e=v({}),{t:n}=Q();C(J);const{error:i,isFetching:u,isFinished:b}=Z(l,{refetch:!0,afterFetch:m=>(e.value=z.fromJSON(m.data),C(`${e.value.name} | ${J}`),m)}).get();return(m,I)=>{const g=Et;return h(),f("div",It,[r("div",null,[o(u)||o(i)?(h(),f("div",Mt,[o(u)?(h(),f("div",Lt,x(o(n)("common.loading"))+"... ",1)):A("",!0),o(i)?(h(),f("div",Dt,x(o(i)),1)):A("",!0)])):A("",!0),o(b)?(h(),f("div",Ot,[r("div",$t,x(o(e).name),1),r("div",zt,[_(g,{rating:o(e),"remove-border":!0},null,8,["rating"])])])):A("",!0)])])}}}),jt=T({__name:"[...all]",setup(c){const s=tt().path.split("/").pop();return(a,l)=>{const e=Ct;return h(),f("div",null,[_(e,{id:o(s)},null,8,["id"])])}}});export{jt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as i}from"./Board-8sf8oyGd.js";import{_ as u}from"./DataSourceInput.vue_vue_type_script_setup_true_lang-k14tEiV3.js";import{g as f}from"./query-Dg0GRAti.js";import{d,c as e,o as t,a as n,q as l,h as a,F as B,G as g}from"./index-CvZYulHD.js";import{b as c}from"./route-block-B_A1xBdJ.js";import{_ as h}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./pagination-tohTnV4i.js";import"./Tooltip.vue_vue_type_script_setup_true_lang-fFuPmGFl.js";import"./TheInput.vue_vue_type_script_setup_true_lang-CXmYfgXL.js";import"./use-vmodel-DFEPqg5n.js";import"./rank-_s25hyNU.js";import"./contest-f4yfN3Qx.js";import"./dayjs-vVJyKnCl.js";import"./ContestStateBadge-B1Ucze9l.js";import"./constant-CnS2fVjb.js";const k={key:0},x=d({__name:"CustomBoard",setup(s){const o=f();return(r,b)=>{const _=u,p=i;return t(),e(B,null,[n(_),a(o).length>0?(t(),e("div",k,[n(p,{"data-source-url":a(o)},null,8,["data-source-url"])])):l("",!0)],64)}}}),m={};function C(s,o){const r=x;return t(),g(r)}typeof c=="function"&&c(m);const z=h(m,[["render",C]]);export{z as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as p}from"./Countdown-BaWJgQAy.js";import{_ as d}from"./DataSourceInput.vue_vue_type_script_setup_true_lang-k14tEiV3.js";import{g as f}from"./query-Dg0GRAti.js";import{d as l,c as t,o as e,F as h,q as s,h as n,b as C,a as r}from"./index-CvZYulHD.js";import{b as a}from"./route-block-B_A1xBdJ.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./contest-f4yfN3Qx.js";import"./dayjs-vVJyKnCl.js";import"./constant-CnS2fVjb.js";import"./TheInput.vue_vue_type_script_setup_true_lang-CXmYfgXL.js";import"./use-vmodel-DFEPqg5n.js";const k={key:0},x={"mt-20":""},v={key:1},b=l({__name:"CustomCountdown",setup(m){const o=f();return(c,y)=>{const u=d,i=p;return e(),t(h,null,[n(o).length===0?(e(),t("div",k,[C("div",x,[r(u)])])):s("",!0),n(o).length>0?(e(),t("div",v,[r(i,{"data-source-url":n(o)},null,8,["data-source-url"])])):s("",!0)],64)}}}),_={};function w(m,o){const c=b;return e(),t("div",null,[r(c)])}typeof a=="function"&&a(_);const j=g(_,[["render",w]]);export{j as default};
|