From fd64ef526e826b1a1685d1903481a0617b80b27f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20M=C3=B8ller=20Jensen?= Date: Wed, 5 Oct 2022 12:00:40 +0200 Subject: [PATCH] delete now works --- .../views/users/editor-view-users-user-details.element.ts | 3 ++- src/Umbraco.Web.UI.Client/src/core/stores/store.ts | 7 +++++++ .../src/core/stores/user/user.store.ts | 6 +++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/editors/users/views/users/editor-view-users-user-details.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/editors/users/views/users/editor-view-users-user-details.element.ts index 50c74d1ab5..35725a7589 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/editors/users/views/users/editor-view-users-user-details.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/editors/users/views/users/editor-view-users-user-details.element.ts @@ -116,7 +116,8 @@ export class UmbEditorViewUsersUserDetailsElement extends UmbContextConsumerMixi if (!this._user || !this._userStore) return; this._userStore.deleteUsers([this._user.key]); - // history.back(); //TODO Should redirect to users section + + history.pushState(null, '', '/section/users/view/users/overview'); } private renderLeftColumn() { diff --git a/src/Umbraco.Web.UI.Client/src/core/stores/store.ts b/src/Umbraco.Web.UI.Client/src/core/stores/store.ts index 7d31d0994f..8da1cdd170 100644 --- a/src/Umbraco.Web.UI.Client/src/core/stores/store.ts +++ b/src/Umbraco.Web.UI.Client/src/core/stores/store.ts @@ -21,6 +21,13 @@ export class UmbDataStoreBase implements UmbD protected _items: BehaviorSubject> = new BehaviorSubject(>[]); public readonly items: Observable> = this._items.asObservable(); + public delete(deletedKeys: Array): void { + const remainingItems = this._items + .getValue() + .filter((item) => item.key && deletedKeys.includes(item.key) === false); + this._items.next(remainingItems); + } + /** * @description - Update the store with new items. Existing items are updated, new items are added. Existing items are matched by the compareKey. * @param {Array} updatedItems diff --git a/src/Umbraco.Web.UI.Client/src/core/stores/user/user.store.ts b/src/Umbraco.Web.UI.Client/src/core/stores/user/user.store.ts index f8fda7a4ed..6cbe539c93 100644 --- a/src/Umbraco.Web.UI.Client/src/core/stores/user/user.store.ts +++ b/src/Umbraco.Web.UI.Client/src/core/stores/user/user.store.ts @@ -107,9 +107,9 @@ export class UmbUserStore extends UmbDataStoreBase { 'Content-Type': 'application/json', }, }); - const json = await res.json(); - this.update(json); - this._entityStore.update(json); + const deletedKeys = await res.json(); + this.delete(deletedKeys); + this._entityStore.delete(deletedKeys); } catch (error) { console.error('Delete Users failed', error); }