diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.element.ts index 1342efd1a8..186f6cd874 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.element.ts @@ -60,6 +60,18 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) { this.#pickerContext.setSelection(ids); } + @property({ type: String }) + startNodeId?: string; + + @property({ type: String }) + filter?: string; + + @property({ type: Boolean }) + showOpenButton?: boolean; + + @property({ type: Boolean }) + ignoreUserStartNodes?: boolean; + @property() public set value(idsString: string) { // Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection. @@ -95,20 +107,24 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) { } protected _openPicker() { + // TODO: Configure the content picker, with `startNodeId`, `filter` and `ignoreUserStartNodes` [LK] + console.log("_openPicker", [this.startNodeId, this.filter, this.ignoreUserStartNodes]); this.#pickerContext.openPicker({ hideTreeRoot: true, }); } + protected _openItem(item: DocumentItemResponseModel) { + // TODO: Implement the Content editing infinity editor. [LK] + console.log('TODO: _openItem', item); + } + protected getFormElement() { return undefined; } render() { - return html` - ${this.#renderItems()} - ${this.#renderAddButton()} - `; + return html` ${this.#renderItems()} ${this.#renderAddButton()} `; } #renderItems() { @@ -136,8 +152,9 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) { if (!item.id) return; return html` - + ${this._renderIsTrashed(item)} + ${this._renderOpenButton(item)} this.#pickerContext.requestRemoveItem(item.id!)} label="Remove document ${item.name}" @@ -148,6 +165,18 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) { `; } + private _renderIsTrashed(item: DocumentItemResponseModel) { + if (!item.isTrashed) return; + return html`Trashed`; + } + + private _renderOpenButton(item: DocumentItemResponseModel) { + if (!this.showOpenButton) return; + return html` this._openItem(item)} label="Open document ${item.name}" + >${this.localize.term('general_open')}`; + } + static styles = [ css` #add-button {