1
2
3
4
5
6
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"]
}
|