From 2794a866c2e2b9f6fa0569bcfb8bf365754efa2d Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 6 May 2021 13:44:09 +0800 Subject: [PATCH] ui: auto update editor height --- packages/ui-default/components/editor/index.js | 5 +++-- packages/ui-default/package.json | 2 +- packages/utils/lib/cases.ts | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/ui-default/components/editor/index.js b/packages/ui-default/components/editor/index.js index f1dcf573b..139931708 100644 --- a/packages/ui-default/components/editor/index.js +++ b/packages/ui-default/components/editor/index.js @@ -37,7 +37,7 @@ export default class Editor extends DOMAttachedObject { async initMonaco() { const monaco = await import('monaco-editor/esm/vs/editor/editor.api'); const { $dom } = this; - const hasFocus = $dom.is(':focus'); + const hasFocus = $dom.is(':focus') || $dom.hasClass('autofocus'); const origin = $dom.get(0); const ele = document.createElement('div'); $(ele).width('100%'); @@ -103,12 +103,13 @@ export default class Editor extends DOMAttachedObject { }); this.isValid = true; if (hasFocus) this.focus(); + updateEditorHeight(); } async initVditor() { const { default: Vditor } = await import('vditor'); const { $dom } = this; - const hasFocus = $dom.is(':focus'); + const hasFocus = $dom.is(':focus') || $dom.hasClass('autofocus'); const origin = $dom.get(0); const ele = document.createElement('div'); const value = $dom.val(); diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index a5ab34a8f..b43228a53 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.7.0", + "version": "4.7.1", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js", diff --git a/packages/utils/lib/cases.ts b/packages/utils/lib/cases.ts index 71c1607bd..88a35974f 100644 --- a/packages/utils/lib/cases.ts +++ b/packages/utils/lib/cases.ts @@ -32,9 +32,9 @@ export default async function readYamlCases(cfg: Record = {}, check } if (cfg.outputs) { config.type = 'submit_answer'; - } else if (cfg.cases) { + } else if (cfg.cases?.length) { config.subtasks = [{ - score: parseInt(cfg.score, 10) || Math.floor(100 / cfg.cases.length), + score: +cfg.score || Math.floor(100 / cfg.cases.length), time: parseTimeMS(cfg.time || '1s'), memory: parseMemoryMB(cfg.memory || '256m'), cases: [],