Skip to content

Commit 68f851a

Browse files
leekelleheriOvergaard
authored andcommitted
Renamed "workspace-action-default-kind.element.ts"
to a more suitable filename. Exported element so can be reused in other packages, e.g. documents, for the new "save and preview" feature.
1 parent b2be9d1 commit 68f851a

File tree

8 files changed

+27
-38
lines changed

8 files changed

+27
-38
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './workspace-action-menu-item.element.js';

src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-action-menu-item/default/workspace-action-menu-item.element.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import type {
33
ManifestWorkspaceActionMenuItemDefaultKind,
44
MetaWorkspaceActionMenuItemDefaultKind,
55
} from '../../../extensions/types.js';
6+
import { customElement, html, ifDefined, property, state, when } from '@umbraco-cms/backoffice/external/lit';
67
import { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event';
7-
import { html, customElement, property, state, ifDefined, nothing } from '@umbraco-cms/backoffice/external/lit';
88
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
99
import type { UUIMenuItemEvent } from '@umbraco-cms/backoffice/external/uui';
1010

@@ -48,15 +48,11 @@ export class UmbWorkspaceActionMenuItemElement<
4848
override render() {
4949
return html`
5050
<uui-menu-item
51-
label=${ifDefined(
52-
this.manifest?.meta.label ? this.localize.string(this.manifest.meta.label) : this.manifest?.name,
53-
)}
51+
label=${ifDefined(this.localize.string(this.manifest?.meta.label ?? this.manifest?.name))}
5452
href=${ifDefined(this._href)}
55-
@click-label=${this.#onClickLabel}
56-
@click=${this.#onClick}>
57-
${this.manifest?.meta.icon
58-
? html`<umb-icon slot="icon" name="${this.manifest?.meta.icon}"></umb-icon>`
59-
: nothing}
53+
@click=${this.#onClick}
54+
@click-label=${this.#onClickLabel}>
55+
${when(this.manifest?.meta.icon, (icon) => html`<umb-icon slot="icon" name=${icon}></umb-icon>`)}
6056
</uui-menu-item>
6157
`;
6258
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
export * from './default/index.js';
12
export * from './workspace-action-menu-item-base.controller.js';

src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-action-menu/workspace-action-menu.element.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ export class UmbWorkspaceActionMenuElement extends UmbLitElement {
2929
override render() {
3030
if (!this.items?.length) return nothing;
3131

32-
return html`<uui-button
32+
return html`
33+
<uui-button
3334
id="popover-trigger"
3435
popovertarget="workspace-action-popover"
3536
look="${this.look}"
@@ -52,7 +53,8 @@ export class UmbWorkspaceActionMenuElement extends UmbLitElement {
5253
)}
5354
</uui-scroll-container>
5455
</umb-popover-layout>
55-
</uui-popover-container>`;
56+
</uui-popover-container>
57+
`;
5658
}
5759

5860
static override styles = [
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './workspace-action.element.js';

src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-action/default/manifests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export const manifest: UmbExtensionManifestKind = {
99
type: 'workspaceAction',
1010
kind: 'default',
1111
weight: 1000,
12-
element: () => import('./workspace-action-default-kind.element.js'),
12+
element: () => import('./workspace-action.element.js'),
1313
meta: {
1414
label: '(Missing label in manifest)',
1515
},

src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-action/default/workspace-action-default-kind.element.ts renamed to src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-action/default/workspace-action.element.ts

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,14 @@ import type {
44
MetaWorkspaceActionDefaultKind,
55
UmbWorkspaceActionDefaultKind,
66
} from '../../../types.js';
7+
import { customElement, html, property, state, when } from '@umbraco-cms/backoffice/external/lit';
8+
import { stringOrStringArrayIntersects } from '@umbraco-cms/backoffice/utils';
79
import { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event';
8-
import { html, customElement, property, state, when } from '@umbraco-cms/backoffice/external/lit';
9-
import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui';
10-
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
1110
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
12-
import {
13-
type UmbExtensionElementAndApiInitializer,
14-
UmbExtensionsElementAndApiInitializer,
15-
} from '@umbraco-cms/backoffice/extension-api';
16-
import { stringOrStringArrayIntersects } from '@umbraco-cms/backoffice/utils';
17-
18-
import '../../workspace-action-menu/index.js';
11+
import { UmbExtensionsElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';
12+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
13+
import type { UmbExtensionElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';
14+
import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui';
1915

2016
@customElement('umb-workspace-action')
2117
export class UmbWorkspaceActionElement<
@@ -167,7 +163,7 @@ export class UmbWorkspaceActionElement<
167163
this,
168164
umbExtensionsRegistry,
169165
'workspaceActionMenuItem',
170-
ExtensionApiArgsMethod,
166+
(manifest) => [{ meta: manifest.meta }],
171167
(action) => stringOrStringArrayIntersects(action.forWorkspaceActions, aliases),
172168
(extensionControllers) => {
173169
this._items = extensionControllers;
@@ -183,11 +179,11 @@ export class UmbWorkspaceActionElement<
183179
return html`
184180
<uui-button
185181
data-mark="workspace-action:${this.#manifest?.alias}"
186-
.href=${this._href}
187-
look=${this.#manifest?.meta.look ?? 'default'}
188182
color=${this.#manifest?.meta.color ?? 'default'}
183+
look=${this.#manifest?.meta.look ?? 'default'}
189184
label=${this._additionalOptions ? label + '…' : label}
190185
.disabled=${this._isDisabled}
186+
.href=${this._href}
191187
.state=${this._buttonState}
192188
@click=${this.#onClick}></uui-button>
193189
`;
@@ -196,16 +192,16 @@ export class UmbWorkspaceActionElement<
196192
#renderActionMenu() {
197193
return html`
198194
<umb-workspace-action-menu
199-
.items=${this._items}
200-
color="${this.#manifest?.meta.color ?? 'default'}"
201-
look="${this.#manifest?.meta.look ?? 'default'}"></umb-workspace-action-menu>
195+
color=${this.#manifest?.meta.color ?? 'default'}
196+
look=${this.#manifest?.meta.look ?? 'default'}
197+
.items=${this._items}></umb-workspace-action-menu>
202198
`;
203199
}
204200

205201
override render() {
206202
return when(
207203
this._items.length,
208-
() => html` <uui-button-group> ${this.#renderButton()} ${this.#renderActionMenu()} </uui-button-group> `,
204+
() => html`<uui-button-group>${this.#renderButton()}${this.#renderActionMenu()}</uui-button-group>`,
209205
() => this.#renderButton(),
210206
);
211207
}
@@ -223,12 +219,3 @@ declare global {
223219
'umb-workspace-action': UmbWorkspaceActionElement;
224220
}
225221
}
226-
227-
/**
228-
*
229-
* @param manifest
230-
* @returns An array of arguments to pass to the extension API initializer.
231-
*/
232-
function ExtensionApiArgsMethod(manifest: ManifestWorkspaceActionMenuItem) {
233-
return [{ meta: manifest.meta }];
234-
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export * from './common/index.js';
2+
export * from './default/index.js';
23
export * from './workspace-action-base.controller.js';

0 commit comments

Comments
 (0)