From d77d7d9ade94a4baf74cc7b9f2109670a0b8f124 Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 27 Apr 2021 13:01:37 +0800 Subject: [PATCH] ui: fix problem_edit --- packages/ui-default/package.json | 6 +++--- packages/ui-default/pages/problem_edit.page.js | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index f24470c6f..d39483a81 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.6.19", + "version": "4.6.20", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js", @@ -28,7 +28,7 @@ "babel-loader": "^8.2.2", "babel-plugin-lodash": "^3.3.4", "babel-plugin-prismjs": "^2.0.1", - "chalk": "^4.1.0", + "chalk": "^4.1.1", "classnames": "^2.3.1", "clipboard": "^2.0.8", "copy-webpack-plugin": "^6.1.1", @@ -71,7 +71,7 @@ "prop-types": "^15.7.2", "react": "^17.0.2", "react-dom": "^17.0.2", - "react-redux": "^7.2.3", + "react-redux": "^7.2.4", "react-split-pane": "^0.1.92", "redux": "^4.0.5", "redux-logger": "^3.0.6", diff --git a/packages/ui-default/pages/problem_edit.page.js b/packages/ui-default/pages/problem_edit.page.js index 9ea296dc8..b49391166 100644 --- a/packages/ui-default/pages/problem_edit.page.js +++ b/packages/ui-default/pages/problem_edit.page.js @@ -236,19 +236,23 @@ export default new NamedPage(['problem_create', 'problem_edit'], (pagename) => { if (isObject) { if (content[i]) c = content[i]; else { - const list = Object.keys(content).filter(l => l.startsWith(i)); + const list = Object.keys(content).filter((l) => l.startsWith(i)); if (list.length) c = content[list[0]]; - i = list[0]; + [i] = list; } } else c = content; if (typeof c !== 'string') c = JSON.stringify(c); $dom.val(c); function onChange(val) { + if (!isObject) { + content = { [i]: val }; + isObject = true; + } const empty = /^\s*$/g.test(val); if (empty) delete content[i]; else content[i] = val; $main.val(JSON.stringify(content)); } CmEditor.getOrConstruct($dom, { upload, onChange }); - }) + }); });