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: [],