diff --git a/packages/ui-default/components/problemconfig/ProblemConfigTree.tsx b/packages/ui-default/components/problemconfig/ProblemConfigTree.tsx index 5d39dc2a4..34a755897 100644 --- a/packages/ui-default/components/problemconfig/ProblemConfigTree.tsx +++ b/packages/ui-default/components/problemconfig/ProblemConfigTree.tsx @@ -111,11 +111,16 @@ export function SubtaskConfigTree() { const store = useStore(); function autoConfigure() { const state = store.getState(); - const subtasks = readSubtasksFromFiles(state.testdata, state.config); + const subtasks = readSubtasksFromFiles(state.testdata.map((t) => t.name), state.config); + const cases = subtasks.reduce((a, b) => a.concat(b.cases), []); dispatch({ type: 'CONFIG_AUTOCASES_UPDATE', subtasks: normalizeSubtasks(subtasks, (i) => i, state.config.time, state.config.memory, true), }); + dispatch({ + type: 'problemconfig/delTestcases', + cases, + }); } return (
diff --git a/packages/ui-default/components/problemconfig/reducer/config.ts b/packages/ui-default/components/problemconfig/reducer/config.ts index 9849568e8..5d42ad6cb 100644 --- a/packages/ui-default/components/problemconfig/reducer/config.ts +++ b/packages/ui-default/components/problemconfig/reducer/config.ts @@ -161,6 +161,10 @@ export default function reducer(state = { } return { ...state, subtasks, __cases }; } + case 'problemconfig/delTestcases': { + const testcases = action.cases; + return { ...state, __cases: state.__cases.filter((i) => !testcases.find((j) => i.input === j.input && i.output === j.output)) }; + } case 'problemconfig/deleteSubtask': { const subtasks = state.subtasks.filter((i) => i.id !== action.id); return { ...state, subtasks }; diff --git a/packages/ui-default/components/problemconfig/tree/SubtaskSettings.tsx b/packages/ui-default/components/problemconfig/tree/SubtaskSettings.tsx index 0abc4a475..f5781a9ae 100644 --- a/packages/ui-default/components/problemconfig/tree/SubtaskSettings.tsx +++ b/packages/ui-default/components/problemconfig/tree/SubtaskSettings.tsx @@ -124,6 +124,8 @@ export function SubtaskSettings(props: SubtaskSettingsProps) {
  • + +    {i18n('Scoring method')}