Skip to content
This repository was archived by the owner on Nov 6, 2025. It is now read-only.

Commit 8b96296

Browse files
committed
member and member group
1 parent 91355e1 commit 8b96296

File tree

4 files changed

+26
-24
lines changed

4 files changed

+26
-24
lines changed

src/packages/members/member-group/components/input-member-group/input-member-group.element.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
77
import { UmbSorterController } from '@umbraco-cms/backoffice/sorter';
88
import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/modal';
99
import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';
10-
import { UUIFormControlMixin } from '@umbraco-cms/backoffice/external/uui';
10+
import { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation';
1111

1212
@customElement('umb-input-member-group')
13-
export class UmbInputMemberGroupElement extends UUIFormControlMixin(UmbLitElement, '') {
13+
export class UmbInputMemberGroupElement extends UmbFormControlMixin<string | undefined, typeof UmbLitElement>(
14+
UmbLitElement,
15+
) {
1416
#sorter = new UmbSorterController<string>(this, {
1517
getUniqueOfElement: (element) => {
1618
return element.id;
@@ -87,12 +89,12 @@ export class UmbInputMemberGroupElement extends UUIFormControlMixin(UmbLitElemen
8789
@property({ type: Array })
8890
allowedContentTypeIds?: string[] | undefined;
8991

90-
@property()
91-
public set value(idsString: string) {
92-
this.selection = splitStringToArray(idsString);
92+
@property({ type: String })
93+
public set value(selectionString: string | undefined) {
94+
this.selection = splitStringToArray(selectionString);
9395
}
94-
public get value(): string {
95-
return this.selection.join(',');
96+
public get value(): string | undefined {
97+
return this.selection.length > 0 ? this.selection.join(',') : undefined;
9698
}
9799

98100
@property({ type: Object, attribute: false })

src/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ export class UmbPropertyEditorUIMemberGroupPickerElement extends UmbLitElement i
1818
if (!config) return;
1919

2020
const minMax = config?.getValueByAlias<UmbNumberRangeValueType>('validationLimit');
21-
this.min = minMax?.min ?? 0;
22-
this.max = minMax?.max ?? Infinity;
21+
this._min = minMax?.min ?? 0;
22+
this._max = minMax?.max ?? Infinity;
2323
}
2424

2525
@state()
26-
min = 0;
26+
_min = 0;
2727

2828
@state()
29-
max = Infinity;
29+
_max = Infinity;
3030

3131
#onChange(event: CustomEvent & { target: UmbInputMemberGroupElement }) {
3232
this.value = event.target.value;
@@ -36,9 +36,9 @@ export class UmbPropertyEditorUIMemberGroupPickerElement extends UmbLitElement i
3636
render() {
3737
return html`
3838
<umb-input-member-group
39-
.min=${this.min}
40-
.max=${this.max}
41-
.value=${this.value ?? ''}
39+
.min=${this._min}
40+
.max=${this._max}
41+
.value=${this.value}
4242
?showOpenButton=${true}
4343
@change=${this.#onChange}></umb-input-member-group>
4444
`;

src/packages/members/member/components/input-member/input-member.element.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
77
import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/modal';
88
import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';
99
import { UmbSorterController } from '@umbraco-cms/backoffice/sorter';
10-
import { UUIFormControlMixin } from '@umbraco-cms/backoffice/external/uui';
10+
import { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation';
1111

1212
@customElement('umb-input-member')
13-
export class UmbInputMemberElement extends UUIFormControlMixin(UmbLitElement, '') {
13+
export class UmbInputMemberElement extends UmbFormControlMixin<string | undefined, typeof UmbLitElement>(
14+
UmbLitElement,
15+
) {
1416
#sorter = new UmbSorterController<string>(this, {
1517
getUniqueOfElement: (element) => {
1618
return element.id;
@@ -87,12 +89,12 @@ export class UmbInputMemberElement extends UUIFormControlMixin(UmbLitElement, ''
8789
@property({ type: Array })
8890
allowedContentTypeIds?: string[] | undefined;
8991

90-
@property()
91-
public set value(idsString: string) {
92-
this.selection = splitStringToArray(idsString);
92+
@property({ type: String })
93+
public set value(selectionString: string | undefined) {
94+
this.selection = splitStringToArray(selectionString);
9395
}
94-
public get value(): string {
95-
return this.selection.join(',');
96+
public get value(): string | undefined {
97+
return this.selection.length > 0 ? this.selection.join(',') : undefined;
9698
}
9799

98100
@property({ type: Object, attribute: false })

src/packages/members/member/property-editor/member-picker/property-editor-ui-member-picker.element.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ export class UmbPropertyEditorUIMemberPickerElement extends UmbLitElement implem
2222
}
2323

2424
render() {
25-
return html`
26-
<umb-input-member min="0" max="1" .value=${this.value ?? ''} @change=${this.#onChange}></umb-input-member>
27-
`;
25+
return html` <umb-input-member min="0" max="1" .value=${this.value} @change=${this.#onChange}></umb-input-member> `;
2826
}
2927
}
3028

0 commit comments

Comments
 (0)