diff --git a/src/Umbraco.Web.UI.Client/src/packages/language/components/input-language/input-language.element.ts b/src/Umbraco.Web.UI.Client/src/packages/language/components/input-language/input-language.element.ts index 28b8baac25..eb119c9875 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/language/components/input-language/input-language.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/language/components/input-language/input-language.element.ts @@ -122,6 +122,7 @@ export class UmbInputLanguageElement extends UUIFormControlMixin(UmbLitElement, #openPicker() { this.#pickerContext.openPicker({ filter: this.filter, + multiple: this.max > 1 ? true : false, }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.element.ts index f5a050a8cd..474e0be07c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.element.ts @@ -21,6 +21,10 @@ export class UmbLanguagePickerModalElement extends UmbModalBaseElement< this.#selectionManager.setSelectable(true); this.#selectionManager.setMultiple(this.data?.multiple ?? false); this.#selectionManager.setSelection(this.value?.selection ?? []); + + this.observe(this.#selectionManager.selection, (selection) => { + this.value = { selection }; + }); } async firstUpdated() { @@ -37,7 +41,6 @@ export class UmbLanguagePickerModalElement extends UmbModalBaseElement< } #submit() { - this.value = { selection: this.#selectionManager.getSelection() }; this.modalContext?.submit(); } @@ -57,7 +60,7 @@ export class UmbLanguagePickerModalElement extends UmbModalBaseElement< selectable @selected=${() => this.#selectionManager.select(item.unique)} @deselected=${() => this.#selectionManager.deselect(item.unique)} - ?selected=${this.#selectionManager.isSelected(item.unique)}> + ?selected=${this.value.selection.includes(item.unique)}> `, diff --git a/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts index 46d8e93d94..664a71aefe 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts @@ -41,7 +41,7 @@ export class UmbLanguageServerDataSource implements UmbDetailDataSource