forward uui colors to workspace menu items

This commit is contained in:
Jacob Overgaard
2024-02-28 15:15:16 +01:00
parent 197ad08969
commit f53a1fb070
2 changed files with 15 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ import type { UmbExtensionElementInitializer } from '@umbraco-cms/backoffice/ext
import { UmbExtensionsElementInitializer } from '@umbraco-cms/backoffice/extension-api';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
import type { UUIInterfaceColor, UUIInterfaceLook } from '@umbraco-cms/backoffice/external/uui';
@customElement('umb-workspace-action-menu')
export class UmbWorkspaceActionMenuElement extends UmbLitElement {
@@ -16,6 +17,12 @@ export class UmbWorkspaceActionMenuElement extends UmbLitElement {
@property({ type: Array })
workspaceActionAlias: Array<string> = [];
@property()
look: UUIInterfaceLook = 'secondary';
@property()
color: UUIInterfaceColor = 'default';
@state()
private _actions: Array<UmbExtensionElementInitializer<ManifestWorkspaceActionMenuItem, never>> = [];
@@ -47,7 +54,8 @@ export class UmbWorkspaceActionMenuElement extends UmbLitElement {
umbExtensionsRegistry,
'workspaceActionMenuItem', // TODO: Stop using string for 'workspaceActionMenuItem', we need to start using Const.
(action) =>
action.meta.workspaceActionAliases.some((alias) => this.workspaceActionAlias.includes(alias)) &&
(action.meta.workspaceActionAliases.some((alias) => this.workspaceActionAlias.includes(alias)) &&
!action.meta.entityTypes.length) ||
action.meta.entityTypes.includes(entityType),
(ctrls) => {
ctrls.forEach((ctrl) => {
@@ -73,7 +81,8 @@ export class UmbWorkspaceActionMenuElement extends UmbLitElement {
<uui-button
id="popover-trigger"
popovertarget="workspace-action-popover"
look="secondary"
look="${this.look}"
color="${this.color}"
label="Expand"
compact>
<uui-symbol-expand .open=${this._popoverOpen}></uui-symbol-expand>

View File

@@ -74,7 +74,10 @@ export class UmbWorkspaceActionElement extends UmbLitElement {
color=${this.manifest?.meta.color || 'default'}
label=${this.manifest?.meta.label || ''}
.state=${this._buttonState}></uui-button>
<umb-workspace-action-menu .workspaceActionAlias=${this.manifestAliases}></umb-workspace-action-menu>
<umb-workspace-action-menu
.workspaceActionAlias=${this.manifestAliases}
color="${this.manifest?.meta.color ?? 'default'}"
look="${this.manifest?.meta.look || 'default'}"></umb-workspace-action-menu>
</uui-button-group>
`;
}