mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
core&ui: fix sidebar (#513)
Co-authored-by: panda <panda_dtdyy@outlook.com>
This commit is contained in:
1 parent
254f659f0a
commit
c347d36e99
7 files changed
+13
-12
No files matched your search
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hydrooj",
|
||||
"version": "4.7.4",
|
||||
"version": "4.7.5",
|
||||
"bin": "bin/hydrooj.js",
|
||||
"main": "src/plugin-api",
|
||||
"module": "src/plugin-api",
|
||||
|
||||
@@ -666,22 +666,22 @@ export class ProblemConfigHandler extends ProblemManageHandler {
|
||||
export class ProblemFilesHandler extends ProblemDetailHandler {
|
||||
notUsage = true;
|
||||
|
||||
@param('d', Types.CommaSeperatedArray, true)
|
||||
@param('pjax', Types.Boolean)
|
||||
@param('sidebar', Types.Boolean)
|
||||
async get(domainId: string, pjax = false, sidebar = false) {
|
||||
this.response.body.testdata = sortFiles(this.pdoc.data || []);
|
||||
async get(domainId: string, d = ['testdata', 'additional_file'], pjax = false, sidebar = false) {
|
||||
this.response.body.testdata = d.includes('testdata') ? sortFiles(this.pdoc.data || []) : [];
|
||||
this.response.body.reference = this.pdoc.reference;
|
||||
this.response.body.additional_file = sortFiles(this.pdoc.additional_file || []);
|
||||
this.response.body.additional_file = d.includes('additional_file') ? sortFiles(this.pdoc.additional_file || []) : [];
|
||||
if (pjax) {
|
||||
const { testdata, additional_file } = this.response.body;
|
||||
const owner = await user.getById(domainId, this.pdoc.owner);
|
||||
const args = {
|
||||
testdata, additional_file, pdoc: this.pdoc, owner_udoc: owner, sidebar,
|
||||
};
|
||||
const tasks = [
|
||||
this.renderHTML('partials/problem_files.html', { ...args, filetype: 'testdata' }),
|
||||
this.renderHTML('partials/problem_files.html', { ...args, filetype: 'additional_file' }),
|
||||
];
|
||||
const tasks = [];
|
||||
if (d.includes('testdata')) tasks.push(this.renderHTML('partials/problem_files.html', { ...args, filetype: 'testdata' }));
|
||||
if (d.includes('additional_file')) tasks.push(this.renderHTML('partials/problem_files.html', { ...args, filetype: 'additional_file' }));
|
||||
if (!sidebar) tasks.push(this.renderHTML('partials/problem-sidebar-information.html', args));
|
||||
this.response.body = {
|
||||
fragments: (await Promise.all(tasks)).map((i) => ({ html: i })),
|
||||
|
||||
@@ -6,6 +6,7 @@ export * from './components/dialog';
|
||||
export * as bus from './bus';
|
||||
export { default as AnsiUp } from 'ansi_up';
|
||||
export { default as loadMonaco } from './components/monaco/loader';
|
||||
export { default as uploadFiles } from './components/upload';
|
||||
export * as redux from 'react-redux';
|
||||
export * from './components/zipDownloader';
|
||||
export { default as $ } from 'jquery';
|
||||
|
||||
@@ -68,7 +68,7 @@ export default async function uploadFiles(endpoint = '', files: File[] | FileLis
|
||||
Notification.success(i18n('File uploaded successfully.'));
|
||||
if (options.pjax) {
|
||||
let params = '';
|
||||
if (options.type) params += `?testdata=${options.type === 'testdata'}&additional_file=${options.type === 'additional_file'}`;
|
||||
if (options.type) params += `?d=${options.type}`;
|
||||
if (options.sidebar) params += `${params ? '&' : '?'}sidebar=true`;
|
||||
await pjax.request({ push: false, url: `${endpoint}${params || ''}` });
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hydrooj/ui-default",
|
||||
"version": "4.47.3",
|
||||
"version": "4.47.4",
|
||||
"author": "undefined <i@undefined.moe>",
|
||||
"license": "AGPL-3.0",
|
||||
"main": "index.ts",
|
||||
|
||||
@@ -57,7 +57,7 @@ const page = new NamedPage('problem_config', () => {
|
||||
type: 'CONFIG_DELETE_TESTDATA',
|
||||
value: file,
|
||||
});
|
||||
await pjax.request({ url: './files?testdata=false&sidebar=true', push: false });
|
||||
await pjax.request({ url: './files?d=testdata&sidebar=true', push: false });
|
||||
} catch (error) {
|
||||
Notification.error(error.message);
|
||||
}
|
||||
|
||||
@@ -214,7 +214,7 @@ export default new NamedPage(['problem_create', 'problem_edit'], (pagename) => {
|
||||
type: 'additional_file',
|
||||
});
|
||||
Notification.success(i18n('File have been deleted.'));
|
||||
await pjax.request({ url: './files?testdata=false&sidebar=true', push: false });
|
||||
await pjax.request({ url: './files?d=additional_file&sidebar=true', push: false });
|
||||
} catch (error) {
|
||||
Notification.error(error.message);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user