Skip to content

Commit 6aaa9d8

Browse files
Corrected rendering of member type icons on create button and picker (#18203)
* Corrected rendering of member type icons on create button and picker. * Removed debug code. * Member Picker: sets icon --------- Co-authored-by: leekelleher <[email protected]>
1 parent ee51f2a commit 6aaa9d8

File tree

7 files changed

+27
-13
lines changed

7 files changed

+27
-13
lines changed

src/Umbraco.Web.UI.Client/src/packages/members/member/collection/action/create-member-collection-action.element.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,14 @@ export class UmbCreateDocumentCollectionActionElement extends UmbLitElement {
5050
(option) => option.unique,
5151
(option) =>
5252
html`<uui-button
53+
class="create-member-type"
5354
compact
5455
label=${option.label}
5556
href="section/member-management/workspace/member/create/${option.unique}">
56-
<uui-icon name=${option.icon}></uui-icon>
57-
<span style="margin-left: var(--uui-size-space-2)">${option.label}</span>
57+
<div>
58+
<umb-icon name=${option.icon}></umb-icon>
59+
<span>${option.label}</span>
60+
</div>
5861
</uui-button>`,
5962
)}
6063
`;
@@ -84,6 +87,12 @@ export class UmbCreateDocumentCollectionActionElement extends UmbLitElement {
8487
flex-direction: column;
8588
--uui-button-content-align: left;
8689
}
90+
91+
uui-button.create-member-type > div {
92+
display: flex;
93+
align-items: center;
94+
gap: 5px;
95+
}
8796
`,
8897
];
8998
}

src/Umbraco.Web.UI.Client/src/packages/members/member/collection/repository/member-collection.server.data-source.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export class UmbMemberCollectionServerDataSource implements UmbCollectionDataSou
5959
isLockedOut: item.isLockedOut,
6060
groups: item.groups,
6161
isTwoFactorEnabled: item.isTwoFactorEnabled,
62-
memberType: { unique: item.memberType.id },
62+
memberType: { unique: item.memberType.id, icon: item.memberType.icon },
6363
username: item.username,
6464
values: item.values as UmbMemberValueModel[],
6565
};

src/Umbraco.Web.UI.Client/src/packages/members/member/components/input-member/input-member.element.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
import type { UmbMemberItemModel } from '../../repository/index.js';
22
import { UmbMemberPickerInputContext } from './input-member.context.js';
3-
import { css, customElement, html, nothing, property, repeat, state } from '@umbraco-cms/backoffice/external/lit';
3+
import { css, customElement, html, nothing, property, repeat, state, when } from '@umbraco-cms/backoffice/external/lit';
44
import { splitStringToArray } from '@umbraco-cms/backoffice/utils';
55
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
6+
import { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation';
67
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
7-
import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/workspace';
88
import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';
99
import { UmbSorterController } from '@umbraco-cms/backoffice/sorter';
10-
import { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation';
1110
import { UMB_MEMBER_TYPE_ENTITY_TYPE } from '@umbraco-cms/backoffice/member-type';
11+
import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/workspace';
1212

13-
const elementName = 'umb-input-member';
14-
15-
@customElement(elementName)
13+
@customElement('umb-input-member')
1614
export class UmbInputMemberElement extends UmbFormControlMixin<string | undefined, typeof UmbLitElement>(
1715
UmbLitElement,
1816
) {
@@ -215,6 +213,7 @@ export class UmbInputMemberElement extends UmbFormControlMixin<string | undefine
215213
if (!item.unique) return nothing;
216214
return html`
217215
<uui-ref-node-member name=${item.name} id=${item.unique} ?readonly=${this.readonly}>
216+
${when(item.memberType.icon, (icon) => html`<umb-icon slot="icon" name=${icon}></umb-icon>`)}
218217
<uui-action-bar slot="actions">
219218
${this.#renderOpenButton(item)} ${this.#renderRemoveButton(item)}
220219
</uui-action-bar>
@@ -228,7 +227,7 @@ export class UmbInputMemberElement extends UmbFormControlMixin<string | undefine
228227
<uui-button
229228
href="${this._editMemberPath}edit/${item.unique}"
230229
label="${this.localize.term('general_open')} ${item.name}">
231-
${this.localize.term('general_open')}
230+
<umb-localize key="general_open"></umb-localize>
232231
</uui-button>
233232
`;
234233
}
@@ -257,6 +256,6 @@ export { UmbInputMemberElement as element };
257256

258257
declare global {
259258
interface HTMLElementTagNameMap {
260-
[elementName]: UmbInputMemberElement;
259+
'umb-input-member': UmbInputMemberElement;
261260
}
262261
}

src/Umbraco.Web.UI.Client/src/packages/members/member/components/member-picker-modal/member-picker-modal.element.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ export class UmbMemberPickerModalElement extends UmbModalBaseElement<
127127
@selected=${() => this.#pickerContext.selection.select(item.unique)}
128128
@deselected=${() => this.#pickerContext.selection.deselect(item.unique)}
129129
?selected=${this.#pickerContext.selection.isSelected(item.unique)}>
130-
<uui-icon slot="icon" name="icon-user"></uui-icon>
130+
<umb-icon slot="icon" name=${item.memberType.icon}></umb-icon>
131131
</uui-menu-item>
132132
`;
133133
}

src/Umbraco.Web.UI.Client/src/packages/members/member/repository/detail/member-detail.server.data-source.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export class UmbMemberServerDataSource implements UmbDetailDataSource<UmbMemberD
3939
username: '',
4040
memberType: {
4141
unique: '',
42+
icon: '',
4243
},
4344
isApproved: false,
4445
isLockedOut: false,
@@ -88,6 +89,7 @@ export class UmbMemberServerDataSource implements UmbDetailDataSource<UmbMemberD
8889
username: data.username,
8990
memberType: {
9091
unique: data.memberType.id,
92+
icon: data.memberType.icon,
9193
},
9294
isApproved: data.isApproved,
9395
isLockedOut: data.isLockedOut,

src/Umbraco.Web.UI.Client/src/packages/members/member/types.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ export interface UmbMemberDetailModel extends UmbContentDetailModel {
1717
lastLockoutDate: string | null;
1818
lastLoginDate: string | null;
1919
lastPasswordChangeDate: string | null;
20-
memberType: { unique: string };
20+
memberType: {
21+
unique: string;
22+
icon: string;
23+
};
2124
newPassword?: string;
2225
oldPassword?: string;
2326
unique: string;

src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/member/member-workspace.context.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ export class UmbMemberWorkspaceContext
7878
preset: {
7979
memberType: {
8080
unique: memberTypeUnique,
81+
icon: "icon-user"
8182
},
8283
},
8384
});

0 commit comments

Comments
 (0)