diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.kind.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.kind.ts index 5bae68e01d..a26a2d7302 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.kind.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.kind.ts @@ -14,6 +14,7 @@ export const manifest: UmbBackofficeManifestKind = { weight: 700, forEntityTypes: [], meta: { + icon: 'icon-enter', label: '#actions_move', bulkMoveRepositoryAlias: '', treeAlias: '', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/default/default.action.kind.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/default/default.action.kind.ts index f36eaf6dd4..2b13205e93 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/default/default.action.kind.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/default/default.action.kind.ts @@ -11,6 +11,7 @@ export const UMB_ENTITY_BULK_ACTION_DEFAULT_KIND_MANIFEST: UmbBackofficeManifest weight: 1000, element: () => import('../entity-bulk-action.element.js'), meta: { + icon: '', label: 'Default Entity Bulk Action', }, }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/entity-bulk-action.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/entity-bulk-action.element.ts index d1ccb48953..0478595f71 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/entity-bulk-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/entity-bulk-action.element.ts @@ -1,6 +1,6 @@ import type { UmbEntityBulkAction } from './entity-bulk-action.interface.js'; import type { UmbEntityBulkActionElement } from './entity-bulk-action-element.interface.js'; -import { html, ifDefined, customElement, property } from '@umbraco-cms/backoffice/external/lit'; +import { html, customElement, property, when } from '@umbraco-cms/backoffice/external/lit'; import { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { @@ -32,11 +32,10 @@ export class UmbEntityBulkActionDefaultElement< override render() { return html` - + + ${when(this.manifest?.meta.icon, () => html``)} + ${this.localize.string(this.manifest?.meta.label ?? '')} + `; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts index 7bd4c186e7..fa05144d4e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts @@ -23,6 +23,16 @@ export interface ManifestEntityBulkActionDefaultKind extends ManifestEntityBulkA } export interface MetaEntityBulkActionDefaultKind extends MetaEntityBulkAction { + /** + * An icon to represent the action to be performed + * + * @examples [ + * "icon-box", + * "icon-grid" + * ] + */ + icon: string; + /** * The friendly name of the action to perform * diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts index 1053c25ce1..2fbc3bd2a6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts @@ -18,7 +18,8 @@ export const entityBulkActions: Array = [ weight: 50, api: () => import('./publish/publish.action.js'), meta: { - label: 'Publish', + icon: 'icon-globe', + label: '#actions_publish', }, forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE], conditions: [ @@ -40,7 +41,8 @@ export const entityBulkActions: Array = [ weight: 40, api: () => import('./unpublish/unpublish.action.js'), meta: { - label: 'Unpublish', + icon: 'icon-globe', + label: '#actions_unpublish', }, forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE], conditions: [