Skip to content

Commit

Permalink
fix(frontend): save data after skipping
Browse files Browse the repository at this point in the history
  • Loading branch information
gary-Shen committed Apr 19, 2024
1 parent d2941dd commit 743cfb7
Showing 1 changed file with 74 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,78 +96,6 @@ const AnnotationRightCorner = ({ noSave, fetchNext, totalSize }: AnnotationRight
[navigate, searchParams],
);

const handleCancelSkipSample = async () => {
if (noSave) {
return;
}

await updateSampleState(
{
task_id: +taskId!,
sample_id: +sampleId!,
},
{
...currentSample,
state: SampleState.NEW,
},
);

setSamples(
samples.map((sample: SampleResponse) =>
sample.id === +sampleId! ? { ...sample, state: SampleState.NEW } : sample,
),
);
};

const handleSkipSample = async () => {
if (noSave) {
return;
}

await updateSampleState(
{
task_id: +taskId!,
sample_id: +sampleId!,
},
{
...currentSample,
state: SampleState.SKIPPED,
},
);

setSamples(
samples.map((sample: SampleResponse) =>
sample.id === +sampleId! ? { ...sample, state: SampleState.SKIPPED } : sample,
),
);
// 切换到下一个文件
if (!isLastSample) {
navigateWithSearch(`/tasks/${taskId}/samples/${_.get(samples, `[${sampleIndex + 1}].id`)}`);
} else {
navigateWithSearch(`/tasks/${taskId}/samples/finished`);
}
};

useHotkeys(
'ctrl+space, meta+space',
() => {
if (noSave) {
return;
}

if (currentSample.state === SampleState.SKIPPED) {
handleCancelSkipSample();
} else {
handleSkipSample();
}
},
{
keyup: true,
keydown: false,
},
[handleSkipSample, handleCancelSkipSample, currentSample],
);

const saveCurrentSample = useCallback(async () => {
if (currentSample?.state === SampleState.SKIPPED || noSave || !task?.media_type) {
return;
Expand Down Expand Up @@ -313,6 +241,60 @@ const AnnotationRightCorner = ({ noSave, fetchNext, totalSize }: AnnotationRight
setTimeout(revalidator.revalidate);
}, [saveCurrentSample, navigateWithSearch, taskId, revalidator.revalidate]);

const handleCancelSkipSample = async () => {
if (noSave) {
return;
}

await updateSampleState(
{
task_id: +taskId!,
sample_id: +sampleId!,
},
{
...currentSample,
state: SampleState.NEW,
},
);

setSamples(
samples.map((sample: SampleResponse) =>
sample.id === +sampleId! ? { ...sample, state: SampleState.NEW } : sample,
),
);
};

const handleSkipSample = async () => {
if (noSave) {
return;
}

await updateSampleState(
{
task_id: +taskId!,
sample_id: +sampleId!,
},
{
...currentSample,
state: SampleState.SKIPPED,
},
);

setSamples(
samples.map((sample: SampleResponse) =>
sample.id === +sampleId! ? { ...sample, state: SampleState.SKIPPED } : sample,
),
);

await saveCurrentSample();
// 切换到下一个文件
if (!isLastSample) {
navigateWithSearch(`/tasks/${taskId}/samples/${_.get(samples, `[${sampleIndex + 1}].id`)}`);
} else {
navigateWithSearch(`/tasks/${taskId}/samples/finished`);
}
};

const handleNextSample = useCallback(() => {
// 到达分页边界,触发加载下一页
if (sampleIndex === samples.length - 2 && samples.length < totalSize) {
Expand Down Expand Up @@ -372,6 +354,26 @@ const AnnotationRightCorner = ({ noSave, fetchNext, totalSize }: AnnotationRight
500,
);

useHotkeys(
'ctrl+space, meta+space',
() => {
if (noSave) {
return;
}

if (currentSample.state === SampleState.SKIPPED) {
handleCancelSkipSample();
} else {
handleSkipSample();
}
},
{
keyup: true,
keydown: false,
},
[handleSkipSample, handleCancelSkipSample, currentSample],
);

useEffect(() => {
document.addEventListener('keydown', onKeyDown);

Expand Down

0 comments on commit 743cfb7

Please sign in to comment.