From c71af319cd6944550b81219d284388e6c2a7eaf7 Mon Sep 17 00:00:00 2001 From: undefined Date: Sun, 21 Jul 2024 10:37:27 +0800 Subject: [PATCH] ui: support extending case comparasion detail --- ...ecord_detail.page.ts => record_detail.page.tsx} | 14 +++++++++++--- .../ui-default/templates/record_detail_status.html | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) rename packages/ui-default/pages/{record_detail.page.ts => record_detail.page.tsx} (68%) diff --git a/packages/ui-default/pages/record_detail.page.ts b/packages/ui-default/pages/record_detail.page.tsx similarity index 68% rename from packages/ui-default/pages/record_detail.page.ts rename to packages/ui-default/pages/record_detail.page.tsx index 67826790a..933b14787 100644 --- a/packages/ui-default/pages/record_detail.page.ts +++ b/packages/ui-default/pages/record_detail.page.tsx @@ -1,7 +1,10 @@ import $ from 'jquery'; +import React from 'react'; +import { InfoDialog } from 'vj/components/dialog'; import { NamedPage } from 'vj/misc/Page'; +import { tpl } from 'vj/utils'; -const page = new NamedPage('record_detail', async () => { +export default new NamedPage('record_detail', async () => { if (!UiContext.socketUrl) return; const [{ default: WebSocket }, { DiffDOM }] = await Promise.all([ import('../components/socket'), @@ -20,6 +23,11 @@ const page = new NamedPage('record_detail', async () => { dd.apply(oldSummary[0], dd.diff(oldSummary[0], newSummary[0])); if (typeof msg.status === 'number' && window.parent) window.parent.postMessage({ status: msg.status }); }; + $(document).on('click', '.subtask-case', function () { + const data = $(this).find('.message').text(); + if (!data?.trim()) return; + new InfoDialog({ + $body: tpl(
{data}
), + }).open(); + }); }); - -export default page; diff --git a/packages/ui-default/templates/record_detail_status.html b/packages/ui-default/templates/record_detail_status.html index 01c3cb946..8fb363af2 100644 --- a/packages/ui-default/templates/record_detail_status.html +++ b/packages/ui-default/templates/record_detail_status.html @@ -79,7 +79,7 @@ {{ (rdoc.subtasks[subtaskId]['score'] if _key != 'id' else rcdoc.score)|default(0) }} {% endif %} - {{ formatJudgeTexts([rcdoc.message]) if rcdoc.message else '' }} + {{ formatJudgeTexts([rcdoc.message]) if rcdoc.message else '' }} {% if rcdoc['status'] == STATUS.STATUS_TIME_LIMIT_EXCEEDED or rcdoc['status'] == STATUS.STATUS_MEMORY_LIMIT_EXCEEDED or rcdoc['status'] == STATUS.STATUS_OUTPUT_LIMIT_EXCEEDED %}≥{% endif %}{{ rcdoc.time|round|int }}ms {% if rcdoc['status'] == STATUS.STATUS_TIME_LIMIT_EXCEEDED or rcdoc['status'] == STATUS.STATUS_MEMORY_LIMIT_EXCEEDED or rcdoc['status'] == STATUS.STATUS_OUTPUT_LIMIT_EXCEEDED %}≥{% endif %}{{ size(rcdoc.memory, 1024) }}