Переглянути джерело

save draft without routing to project search page

pull/5/head
cyril.tsui 6 місяці тому
джерело
коміт
fd69b6fb2b
1 змінених файлів з 14 додано та 5 видалено
  1. +14
    -5
      src/components/CreateProject/CreateProject.tsx

+ 14
- 5
src/components/CreateProject/CreateProject.tsx Переглянути файл

@@ -118,7 +118,7 @@ const hasErrorsInTab = (
const CreateProject: React.FC<Props> = ({
isEditMode,
isCopyMode,
draftId,
draftId: initDraftId,
isSubProject,
mainProjects,
defaultInputs,
@@ -139,6 +139,7 @@ const CreateProject: React.FC<Props> = ({
customerTypes,
abilities,
}) => {
const [draftId, setDraftId] = useState(initDraftId)
const [serverError, setServerError] = useState("");
const [tabIndex, setTabIndex] = useState(0);
const { t } = useTranslation();
@@ -562,9 +563,17 @@ const CreateProject: React.FC<Props> = ({
formProps.reset(draftInputs);
}, [draftId, formProps]);

const saveDraft = useCallback(() => {
saveToLocalStorage(draftId || Date.now(), formProps.getValues());
router.replace("/projects");
const saveDraft = useCallback(async () => {
const currentTimestamp = Date.now()

saveToLocalStorage(draftId || currentTimestamp, formProps.getValues());
const success = await successDialog("Save Success", t)

if (success && !draftId) {
setDraftId(currentTimestamp)
}
// router.replace("/projects");
}, [draftId, formProps, router]);

const handleDeleteDraft = useCallback(() => {
@@ -757,7 +766,7 @@ const CreateProject: React.FC<Props> = ({
>
{t("Save Draft")}
</Button>
{draftId &&
{draftId &&
<Button
variant="outlined"
color="error"


Завантаження…
Відмінити
Зберегти