diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.ts index 8370cc78b0..77dfcdcd2c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.ts @@ -53,7 +53,7 @@ export class UmbRestoreFromRecycleBinModalElement extends UmbModalBaseElement< this.#setDestinationValue({ unique: null, - entityType: 'unknown', + entityType: this.data?.entityType ?? 'unknown', }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.ts index cd8e4ac1b2..af7d3e410c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.ts @@ -1,7 +1,11 @@ import { UMB_RESTORE_FROM_RECYCLE_BIN_MODAL } from './modal/restore-from-recycle-bin-modal.token.js'; import type { MetaEntityActionRestoreFromRecycleBinKind } from './types.js'; import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; -import { UmbEntityActionBase, UmbRequestReloadStructureForEntityEvent } from '@umbraco-cms/backoffice/entity-action'; +import { + UmbEntityActionBase, + UmbRequestReloadChildrenOfEntityEvent, + UmbRequestReloadStructureForEntityEvent, +} from '@umbraco-cms/backoffice/entity-action'; import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action'; /** @@ -33,15 +37,20 @@ export class UmbRestoreFromRecycleBinEntityAction extends UmbEntityActionBase { dataCache: UmbManagementApiDetailDataCache; eventSources: Array; + eventTypes?: Array; } export class UmbManagementApiDetailDataCacheInvalidationManager extends UmbControllerBase { protected _dataCache: UmbManagementApiDetailDataCache; #eventSources: Array; + #eventTypes: Array; #serverEventContext?: typeof UMB_MANAGEMENT_API_SERVER_EVENT_CONTEXT.TYPE; constructor( @@ -22,6 +24,7 @@ export class UmbManagementApiDetailDataCacheInvalidationManager { this.#serverEventContext = context; @@ -42,7 +45,7 @@ export class UmbManagementApiDetailDataCacheInvalidationManager { if (!event) return; this._onServerEvent(event); diff --git a/src/Umbraco.Web.UI.Client/src/packages/management-api/item/cache-invalidation.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/management-api/item/cache-invalidation.manager.ts index ee6a275f78..8c8d397c75 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/management-api/item/cache-invalidation.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/management-api/item/cache-invalidation.manager.ts @@ -7,11 +7,13 @@ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; export interface UmbManagementApiItemDataInvalidationManagerArgs { dataCache: UmbManagementApiItemDataCache; eventSources: Array; + eventTypes?: Array; } export class UmbManagementApiItemDataCacheInvalidationManager extends UmbControllerBase { protected _dataCache: UmbManagementApiItemDataCache; #eventSources: Array; + #eventTypes: Array; #serverEventContext?: typeof UMB_MANAGEMENT_API_SERVER_EVENT_CONTEXT.TYPE; constructor(host: UmbControllerHost, args: UmbManagementApiItemDataInvalidationManagerArgs) { @@ -19,6 +21,7 @@ export class UmbManagementApiItemDataCacheInvalidationManager { this.#serverEventContext = context; @@ -40,7 +43,7 @@ export class UmbManagementApiItemDataCacheInvalidationManager { if (!event) return; this._onServerEvent(event); diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.ts index fb6933c10a..75a95ff9b2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.ts @@ -10,9 +10,10 @@ export class UmbManagementApiMediaItemDataCacheInvalidationManager extends UmbMa constructor(host: UmbControllerHost) { super(host, { dataCache: mediaItemCache, - /* The Media item model includes info about the Media Type. + /* The Media item model includes info about the Media Type. We need to invalidate the cache for both Media and MediaType events. */ eventSources: ['Umbraco:CMS:Media', 'Umbraco:CMS:MediaType'], + eventTypes: ['Updated', 'Deleted', 'Trashed'], }); }