diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/trash.action.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/delete/delete.action.ts similarity index 90% rename from src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/trash.action.ts rename to src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/delete/delete.action.ts index c5bce34666..07124f1d78 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/trash.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/delete/delete.action.ts @@ -5,7 +5,7 @@ import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-ap import type { UmbModalManagerContext } from '@umbraco-cms/backoffice/modal'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; -export class UmbMediaTrashEntityBulkAction extends UmbEntityBulkActionBase { +export class UmbMediaDeleteEntityBulkAction extends UmbEntityBulkActionBase { #modalContext?: UmbModalManagerContext; constructor(host: UmbControllerHostElement, repositoryAlias: string, selection: Array) { @@ -17,7 +17,8 @@ export class UmbMediaTrashEntityBulkAction extends UmbEntityBulkActionBase = [ - { - type: 'entityBulkAction', - alias: 'Umb.EntityBulkAction.Media.Move', - name: 'Move Media Entity Bulk Action', - weight: 100, - api: UmbMediaMoveEntityBulkAction, - meta: { - label: 'Move', - repositoryAlias: UMB_MEDIA_DETAIL_REPOSITORY_ALIAS, - }, - conditions: [ - { - // TODO: this condition should be based on entity types in the selection - alias: UMB_COLLECTION_ALIAS_CONDITION, - match: UMB_MEDIA_COLLECTION_ALIAS, - }, - ], - }, +export const manifests: Array = [ { type: 'entityBulkAction', alias: 'Umb.EntityBulkAction.Media.Copy', name: 'Copy Media Entity Bulk Action', - weight: 90, + weight: 30, api: UmbMediaCopyEntityBulkAction, meta: { label: 'Copy', @@ -37,30 +23,55 @@ const entityActions: Array = [ }, conditions: [ { - // TODO: this condition should be based on entity types in the selection alias: UMB_COLLECTION_ALIAS_CONDITION, match: UMB_MEDIA_COLLECTION_ALIAS, }, + { + alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, + match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkCopy, + }, ], }, { type: 'entityBulkAction', - alias: 'Umb.EntityBulkAction.Media.Trash', - name: 'Trash Media Entity Bulk Action', - weight: 80, - api: UmbMediaTrashEntityBulkAction, + alias: 'Umb.EntityBulkAction.Media.Move', + name: 'Move Media Entity Bulk Action', + weight: 20, + api: UmbMediaMoveEntityBulkAction, meta: { - label: 'Trash', + label: 'Move', repositoryAlias: UMB_MEDIA_DETAIL_REPOSITORY_ALIAS, }, conditions: [ { - // TODO: this condition should be based on entity types in the selection alias: UMB_COLLECTION_ALIAS_CONDITION, match: UMB_MEDIA_COLLECTION_ALIAS, }, + { + alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, + match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkMove, + }, + ], + }, + { + type: 'entityBulkAction', + alias: 'Umb.EntityBulkAction.Media.Delete', + name: 'Delete Media Entity Bulk Action', + weight: 10, + api: UmbMediaDeleteEntityBulkAction, + meta: { + label: 'Delete', + repositoryAlias: UMB_MEDIA_DETAIL_REPOSITORY_ALIAS, + }, + conditions: [ + { + alias: UMB_COLLECTION_ALIAS_CONDITION, + match: UMB_MEDIA_COLLECTION_ALIAS, + }, + { + alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, + match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkDelete, + }, ], }, ]; - -export const manifests = [...entityActions]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move/move.action.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move/move.action.ts index c8c021fdba..c96fc4316d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move/move.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move/move.action.ts @@ -17,6 +17,8 @@ export class UmbMediaMoveEntityBulkAction extends UmbEntityBulkActionBase