From e1fb464bb26c6fdb058d44051fee49ce27743bad Mon Sep 17 00:00:00 2001 From: Presley Date: Mon, 6 Jun 2022 23:19:19 +0000 Subject: [PATCH] Clear error on cancel --- .../src/pages/UsersPage/CreateUserPage/CreateUserPage.tsx | 5 ++++- site/src/xServices/users/usersXService.ts | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/site/src/pages/UsersPage/CreateUserPage/CreateUserPage.tsx b/site/src/pages/UsersPage/CreateUserPage/CreateUserPage.tsx index 907835753d705..4d3f4330b054d 100644 --- a/site/src/pages/UsersPage/CreateUserPage/CreateUserPage.tsx +++ b/site/src/pages/UsersPage/CreateUserPage/CreateUserPage.tsx @@ -31,7 +31,10 @@ export const CreateUserPage: React.FC = () => { usersSend({ type: "CREATE", user })} - onCancel={() => navigate("/users")} + onCancel={() => { + usersSend("CANCEL_CREATE_USER") + navigate("/users") + }} isLoading={usersState.hasTag("loading")} error={genericError} myOrgId={myOrgId ?? ""} diff --git a/site/src/xServices/users/usersXService.ts b/site/src/xServices/users/usersXService.ts index abbd1d5cf49b6..91317d584a488 100644 --- a/site/src/xServices/users/usersXService.ts +++ b/site/src/xServices/users/usersXService.ts @@ -44,6 +44,7 @@ export interface UsersContext { export type UsersEvent = | { type: "GET_USERS" } | { type: "CREATE"; user: TypesGen.CreateUserRequest } + | { type: "CANCEL_CREATE_USER" } // Suspend events | { type: "SUSPEND_USER"; userId: TypesGen.User["id"] } | { type: "CONFIRM_USER_SUSPENSION" } @@ -86,6 +87,7 @@ export const usersMachine = createMachine( on: { GET_USERS: "gettingUsers", CREATE: "creatingUser", + CANCEL_CREATE_USER: { actions: ["clearCreateUserError"] }, SUSPEND_USER: { target: "confirmUserSuspension", actions: ["assignUserIdToSuspend"], @@ -120,12 +122,13 @@ export const usersMachine = createMachine( tags: "loading", }, creatingUser: { + entry: "clearCreateUserError", invoke: { src: "createUser", id: "createUser", onDone: { target: "idle", - actions: ["displayCreateUserSuccess", "redirectToUsersPage", "clearCreateUserError"], + actions: ["displayCreateUserSuccess", "redirectToUsersPage"], }, onError: [ { @@ -283,7 +286,8 @@ export const usersMachine = createMachine( }), clearCreateUserError: assign((context: UsersContext) => ({ ...context, - createUserError: undefined, + createUserErrorMessage: undefined, + createUserFormErrors: undefined, })), clearSuspendUserError: assign({ suspendUserError: (_) => undefined,