mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: small enhancements
This commit is contained in:
1 parent
50b838d21d
commit
d7908aaff6
5 files changed
+24
-8
No files matched your search
@@ -44,7 +44,7 @@ langs:
|
||||
c:
|
||||
compile: /usr/bin/gcc -Wall --std=c99 -o foo foo.c -lm
|
||||
highlight: c
|
||||
monaco: cpp
|
||||
monaco: c
|
||||
display: C
|
||||
cc:
|
||||
compile: /usr/bin/g++ -Wall -std=c++14 -o foo foo.cc -lm
|
||||
|
||||
@@ -648,10 +648,9 @@ export class ProblemEditHandler extends ProblemManageHandler {
|
||||
) {
|
||||
if (newPid !== this.pdoc.pid && await problem.get(domainId, newPid)) throw new BadRequestError('new pid exists');
|
||||
const $update: Partial<ProblemDoc> = {
|
||||
title, content, pid: newPid, hidden, assign, tag: tag ?? [], difficulty,
|
||||
title, content, pid: newPid, hidden, assign, tag: tag ?? [], difficulty, html: false,
|
||||
};
|
||||
let pdoc = await problem.get(domainId, pid);
|
||||
pdoc = await problem.edit(domainId, pdoc.docId, $update);
|
||||
const pdoc = await problem.edit(domainId, this.pdoc.docId, $update);
|
||||
this.response.redirect = this.url('problem_detail', { pid: newPid || pdoc.docId });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,15 +58,21 @@ function load(data: Record<string, Record<string, string>>) {
|
||||
|
||||
export = load;
|
||||
|
||||
function collect(lang: string) {
|
||||
const s = translations[lang];
|
||||
if (!(s instanceof Array)) return {};
|
||||
const result = {};
|
||||
for (let i = s.length - 1; i >= 0; i--) Object.assign(result, s[i]);
|
||||
return result;
|
||||
}
|
||||
|
||||
global.Hydro.locales = new Proxy(translations, {
|
||||
get(self, lang: string) {
|
||||
if (!self[lang]) return {};
|
||||
return new Proxy(self[lang], {
|
||||
get(s, key) {
|
||||
if (typeof key === 'string') return app.i18n.get(key, lang);
|
||||
const result = {};
|
||||
for (let i = s.length - 1; i >= 0; i--) Object.assign(result, s[i]);
|
||||
return result;
|
||||
return Object.assign(collect(lang.split('_')[0]), collect(lang));
|
||||
},
|
||||
has(s, key: string) {
|
||||
return !!s.find((i) => !!i[key]);
|
||||
|
||||
Reference in new issue
Block a user