diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-12-05 04:33:57 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-12-05 04:33:57 +0900 |
| commit | cc837f6d2109555e2392016e8f6820fb5fd46dd6 (patch) | |
| tree | 6d24d4b202d3373e1af897156edfd53b3d3fc829 | |
| parent | 42fc4b943e9531ae0cc38393d7c9600cba695661 (diff) | |
| download | phperkaigi-2024-albatross-archive-main.tar.gz phperkaigi-2024-albatross-archive-main.tar.zst phperkaigi-2024-albatross-archive-main.zip | |
| -rw-r--r-- | archive/assets/loading.js | 2 | ||||
| -rw-r--r-- | archive/assets/loading.js.map | 8 | ||||
| -rw-r--r-- | assets/loading.js | 61 |
3 files changed, 6 insertions, 65 deletions
diff --git a/archive/assets/loading.js b/archive/assets/loading.js index 109743d..6301b24 100644 --- a/archive/assets/loading.js +++ b/archive/assets/loading.js @@ -1,2 +1,2 @@ -(()=>{document.addEventListener("DOMContentLoaded",()=>{let m=document.getElementsByClassName("js-phper-token")[0],a=document.getElementsByClassName("js-aggregated-execution-status")[0],c=document.getElementsByClassName("js-aggregated-execution-status-loading-indicator")[0],u=a.dataset.answerId,s=t=>new Map(Array.from(document.getElementsByClassName(t)??[]).map(n=>[parseInt(n.dataset.testcaseExecutionId),n])),g=s("js-testcase-execution-status"),E=s("js-testcase-execution-status-loading-indicator"),x=s("js-testcase-execution-stdout"),p=s("js-testcase-execution-stderr");if(!c)return;let C=`/phperkaigi/2024/golf/api/answers/${u}/statuses`,d;d=setInterval(()=>{fetch(C).then(t=>t.json()).then(({aggregated_status:t,testcase_executions:n,phper_token:i})=>{i&&(m.innerHTML=`<div class="alert alert-success">\u30D0\u30FC\u30C7\u30A3\u30FC\uFF01 ${i}</div>`);for(let e of n){let r=g.get(e.id),l=E.get(e.id),f=x.get(e.id),I=p.get(e.id),{status:o,stdout:j,stderr:v}=e;o.label!==r.textContent&&(r.textContent=o.label,f.textContent=j,I.textContent=v,l&&!o.show_loading_indicator&&l.remove())}t.label!==a.textContent&&(a.textContent=t.label,t.show_loading_indicator||(c.remove(),clearInterval(d)))})},5*1e3)});})(); +(()=>{})(); //# sourceMappingURL=loading.js.map diff --git a/archive/assets/loading.js.map b/archive/assets/loading.js.map index 661dca3..9865211 100644 --- a/archive/assets/loading.js.map +++ b/archive/assets/loading.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../assets/loading.js"], - "sourcesContent": ["document.addEventListener('DOMContentLoaded', () => {\n const phperTokenElem = document.getElementsByClassName('js-phper-token')[0];\n\n const aggregatedStatusElem = document.getElementsByClassName('js-aggregated-execution-status')[0];\n const aggregatedStatusLoadingIndicatorElem = document.getElementsByClassName('js-aggregated-execution-status-loading-indicator')[0];\n const answerId = aggregatedStatusElem.dataset.answerId;\n\n const getElemsMap = cls => new Map(\n Array.from(document.getElementsByClassName(cls) ?? [])\n .map(e => [parseInt(e.dataset.testcaseExecutionId), e])\n );\n const statusElemsMap = getElemsMap('js-testcase-execution-status');\n const statusLoadingIndicatorElemsMap = getElemsMap('js-testcase-execution-status-loading-indicator');\n const stdoutElemsMap = getElemsMap('js-testcase-execution-stdout');\n const stderrElemsMap = getElemsMap('js-testcase-execution-stderr');\n\n if (!aggregatedStatusLoadingIndicatorElem) {\n return;\n }\n\n const apiUrl = `${process.env.ALBATROSS_BASE_PATH}/api/answers/${answerId}/statuses`;\n\n let timerId;\n timerId = setInterval(() => {\n fetch(apiUrl)\n .then(response => response.json())\n .then(({ aggregated_status, testcase_executions, phper_token }) => {\n if (phper_token) {\n phperTokenElem.innerHTML = `<div class=\"alert alert-success\">\u30D0\u30FC\u30C7\u30A3\u30FC\uFF01 ${phper_token}</div>`;\n }\n\n for (const ex of testcase_executions) {\n const statusElem = statusElemsMap.get(ex.id);\n const loadingIndicatorElem = statusLoadingIndicatorElemsMap.get(ex.id);\n const stdoutElem = stdoutElemsMap.get(ex.id);\n const stderrElem = stderrElemsMap.get(ex.id);\n\n const { status, stdout, stderr } = ex;\n if (status.label === statusElem.textContent) {\n continue;\n }\n statusElem.textContent = status.label;\n stdoutElem.textContent = stdout;\n stderrElem.textContent = stderr;\n if (loadingIndicatorElem && !status.show_loading_indicator) {\n loadingIndicatorElem.remove();\n }\n }\n\n if (aggregated_status.label === aggregatedStatusElem.textContent) {\n return;\n }\n aggregatedStatusElem.textContent = aggregated_status.label;\n if (!aggregated_status.show_loading_indicator) {\n aggregatedStatusLoadingIndicatorElem.remove();\n clearInterval(timerId);\n }\n });\n }, 5 * 1000);\n});\n"], - "mappings": "MAAA,SAAS,iBAAiB,mBAAoB,IAAM,CAClD,IAAMA,EAAiB,SAAS,uBAAuB,gBAAgB,EAAE,CAAC,EAEpEC,EAAuB,SAAS,uBAAuB,gCAAgC,EAAE,CAAC,EAC1FC,EAAuC,SAAS,uBAAuB,kDAAkD,EAAE,CAAC,EAC5HC,EAAWF,EAAqB,QAAQ,SAExCG,EAAcC,GAAO,IAAI,IAC7B,MAAM,KAAK,SAAS,uBAAuBA,CAAG,GAAK,CAAC,CAAC,EAClD,IAAIC,GAAK,CAAC,SAASA,EAAE,QAAQ,mBAAmB,EAAGA,CAAC,CAAC,CAC1D,EACMC,EAAiBH,EAAY,8BAA8B,EAC3DI,EAAiCJ,EAAY,gDAAgD,EAC7FK,EAAiBL,EAAY,8BAA8B,EAC3DM,EAAiBN,EAAY,8BAA8B,EAEjE,GAAI,CAACF,EACH,OAGF,IAAMS,EAAS,qCAAkDR,CAAQ,YAErES,EACJA,EAAU,YAAY,IAAM,CAC1B,MAAMD,CAAM,EACT,KAAKE,GAAYA,EAAS,KAAK,CAAC,EAChC,KAAK,CAAC,CAAE,kBAAAC,EAAmB,oBAAAC,EAAqB,YAAAC,CAAY,IAAM,CAC7DA,IACFhB,EAAe,UAAY,yEAA2CgB,CAAW,UAGnF,QAAWC,KAAMF,EAAqB,CACpC,IAAMG,EAAaX,EAAe,IAAIU,EAAG,EAAE,EACrCE,EAAuBX,EAA+B,IAAIS,EAAG,EAAE,EAC/DG,EAAaX,EAAe,IAAIQ,EAAG,EAAE,EACrCI,EAAaX,EAAe,IAAIO,EAAG,EAAE,EAErC,CAAE,OAAAK,EAAQ,OAAAC,EAAQ,OAAAC,CAAO,EAAIP,EAC/BK,EAAO,QAAUJ,EAAW,cAGhCA,EAAW,YAAcI,EAAO,MAChCF,EAAW,YAAcG,EACzBF,EAAW,YAAcG,EACrBL,GAAwB,CAACG,EAAO,wBAClCH,EAAqB,OAAO,EAEhC,CAEIL,EAAkB,QAAUb,EAAqB,cAGrDA,EAAqB,YAAca,EAAkB,MAChDA,EAAkB,yBACrBZ,EAAqC,OAAO,EAC5C,cAAcU,CAAO,GAEzB,CAAC,CACL,EAAG,EAAI,GAAI,CACb,CAAC", - "names": ["phperTokenElem", "aggregatedStatusElem", "aggregatedStatusLoadingIndicatorElem", "answerId", "getElemsMap", "cls", "e", "statusElemsMap", "statusLoadingIndicatorElemsMap", "stdoutElemsMap", "stderrElemsMap", "apiUrl", "timerId", "response", "aggregated_status", "testcase_executions", "phper_token", "ex", "statusElem", "loadingIndicatorElem", "stdoutElem", "stderrElem", "status", "stdout", "stderr"] + "sources": [], + "sourcesContent": [], + "mappings": "", + "names": [] } diff --git a/assets/loading.js b/assets/loading.js index 49d8b48..c6035e5 100644 --- a/assets/loading.js +++ b/assets/loading.js @@ -1,60 +1 @@ -document.addEventListener('DOMContentLoaded', () => { - const phperTokenElem = document.getElementsByClassName('js-phper-token')[0]; - - const aggregatedStatusElem = document.getElementsByClassName('js-aggregated-execution-status')[0]; - const aggregatedStatusLoadingIndicatorElem = document.getElementsByClassName('js-aggregated-execution-status-loading-indicator')[0]; - const answerId = aggregatedStatusElem.dataset.answerId; - - const getElemsMap = cls => new Map( - Array.from(document.getElementsByClassName(cls) ?? []) - .map(e => [parseInt(e.dataset.testcaseExecutionId), e]) - ); - const statusElemsMap = getElemsMap('js-testcase-execution-status'); - const statusLoadingIndicatorElemsMap = getElemsMap('js-testcase-execution-status-loading-indicator'); - const stdoutElemsMap = getElemsMap('js-testcase-execution-stdout'); - const stderrElemsMap = getElemsMap('js-testcase-execution-stderr'); - - if (!aggregatedStatusLoadingIndicatorElem) { - return; - } - - const apiUrl = `${process.env.ALBATROSS_BASE_PATH}/api/answers/${answerId}/statuses`; - - let timerId; - timerId = setInterval(() => { - fetch(apiUrl) - .then(response => response.json()) - .then(({ aggregated_status, testcase_executions, phper_token }) => { - if (phper_token) { - phperTokenElem.innerHTML = `<div class="alert alert-success">バーディー! ${phper_token}</div>`; - } - - for (const ex of testcase_executions) { - const statusElem = statusElemsMap.get(ex.id); - const loadingIndicatorElem = statusLoadingIndicatorElemsMap.get(ex.id); - const stdoutElem = stdoutElemsMap.get(ex.id); - const stderrElem = stderrElemsMap.get(ex.id); - - const { status, stdout, stderr } = ex; - if (status.label === statusElem.textContent) { - continue; - } - statusElem.textContent = status.label; - stdoutElem.textContent = stdout; - stderrElem.textContent = stderr; - if (loadingIndicatorElem && !status.show_loading_indicator) { - loadingIndicatorElem.remove(); - } - } - - if (aggregated_status.label === aggregatedStatusElem.textContent) { - return; - } - aggregatedStatusElem.textContent = aggregated_status.label; - if (!aggregated_status.show_loading_indicator) { - aggregatedStatusLoadingIndicatorElem.remove(); - clearInterval(timerId); - } - }); - }, 5 * 1000); -}); +// do nothing |
