Merge pull request #1177 from umbraco/bugfix/document-picker-unique

Bugfix: Document Picker fixes, after model/unique remapping
This commit is contained in:
Lee Kelleher
2024-02-06 15:40:41 +00:00
committed by GitHub
2 changed files with 13 additions and 17 deletions

View File

@@ -6,6 +6,6 @@ import { UMB_DOCUMENT_PICKER_MODAL } from '@umbraco-cms/backoffice/modal';
export class UmbDocumentPickerContext extends UmbPickerInputContext<UmbDocumentItemModel> {
constructor(host: UmbControllerHostElement) {
super(host, UMB_DOCUMENT_ITEM_REPOSITORY_ALIAS, UMB_DOCUMENT_PICKER_MODAL);
super(host, UMB_DOCUMENT_ITEM_REPOSITORY_ALIAS, UMB_DOCUMENT_PICKER_MODAL, (entry) => entry.unique);
}
}

View File

@@ -5,25 +5,21 @@ import { FormControlMixin } from '@umbraco-cms/backoffice/external/uui';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { splitStringToArray } from '@umbraco-cms/backoffice/utils';
import { UMB_WORKSPACE_MODAL, UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/modal';
import { type UmbSorterConfig, UmbSorterController } from '@umbraco-cms/backoffice/sorter';
import { UmbSorterController } from '@umbraco-cms/backoffice/sorter';
import type { UmbDocumentItemModel } from '@umbraco-cms/backoffice/document';
const SORTER_CONFIG: UmbSorterConfig<string> = {
getUniqueOfElement: (element) => {
return element.getAttribute('detail');
},
getUniqueOfModel: (modelEntry) => {
return modelEntry;
},
identifier: 'Umb.SorterIdentifier.InputDocument',
itemSelector: 'uui-ref-node',
containerSelector: 'uui-ref-list',
};
@customElement('umb-input-document')
export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) {
#sorter = new UmbSorterController(this, {
...SORTER_CONFIG,
#sorter = new UmbSorterController<string>(this, {
getUniqueOfElement: (element) => {
return element.getAttribute('detail');
},
getUniqueOfModel: (modelEntry) => {
return modelEntry;
},
identifier: 'Umb.SorterIdentifier.InputDocument',
itemSelector: 'uui-ref-node',
containerSelector: 'uui-ref-list',
onChange: ({ model }) => {
this.selectedIds = model;
},
@@ -164,7 +160,7 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) {
}
render() {
return html` ${this.#renderItems()} ${this.#renderAddButton()} `;
return html`${this.#renderItems()} ${this.#renderAddButton()}`;
}
#renderItems() {