diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts new file mode 100644 index 0000000000..07d3d3522f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts @@ -0,0 +1,22 @@ +import { UmbDocumentMoveEntityBulkAction } from './move/move.action'; +import { ManifestEntityBulkAction } from '@umbraco-cms/extensions-registry'; + +const entityType = 'document'; +const repositoryAlias = 'Umb.Repository.Documents'; + +const entityActions: Array = [ + { + type: 'entityBulkAction', + alias: 'Umb.EntityBulkAction.Document.Move', + name: 'Move Document Entity Bulk Action', + weight: 1000, + meta: { + entityType, + label: 'Move', + repositoryAlias, + api: UmbDocumentMoveEntityBulkAction, + }, + }, +]; + +export const manifests = [...entityActions]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts new file mode 100644 index 0000000000..f87be29ac7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts @@ -0,0 +1,21 @@ +import { UmbDocumentRepository } from '../../repository/document.repository'; +import { UmbActionBase } from '../../../../shared/entity-actions'; +import { UmbControllerHostInterface } from '@umbraco-cms/controller'; + +export class UmbDocumentMoveEntityBulkAction extends UmbActionBase { + #selection: Array; + + constructor(host: UmbControllerHostInterface, repositoryAlias: string, selection: Array) { + super(host, repositoryAlias); + this.#selection = selection; + } + + setSelection(selection: Array) { + this.#selection = selection; + } + + async execute() { + console.log(`execute move for: ${this.#selection}`); + await this.repository?.move(); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts index 69525d290f..b7818bc6b0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts @@ -4,6 +4,7 @@ import { manifests as repositoryManifests } from './repository/manifests'; import { manifests as treeManifests } from './tree/manifests'; import { manifests as workspaceManifests } from './workspace/manifests'; import { manifests as entityActionManifests } from './entity-actions/manifests'; +import { manifests as entityBulkActionManifests } from './entity-bulk-actions/manifests'; export const manifests = [ ...collectionManifests, @@ -12,4 +13,5 @@ export const manifests = [ ...repositoryManifests, ...workspaceManifests, ...entityActionManifests, + ...entityBulkActionManifests, ];