diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/components/input-media-type/input-media-type.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/components/input-media-type/input-media-type.element.ts index a443132a7e..9180dcb9bc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/components/input-media-type/input-media-type.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/components/input-media-type/input-media-type.element.ts @@ -124,7 +124,7 @@ export class UmbInputMediaTypeElement extends FormControlMixin(UmbLitElement) { if (this.max === 1 && this.selection.length >= this.max) return; return html` @@ -152,7 +152,7 @@ export class UmbInputMediaTypeElement extends FormControlMixin(UmbLitElement) { static styles = [ css` - #add-button { + #btn-add { width: 100%; } `, diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-media/input-media.context.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-media/input-media.context.ts index 4d8ba6ece6..9947f2649d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-media/input-media.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-media/input-media.context.ts @@ -1,8 +1,8 @@ -import type { UmbMediaItemModel } from '../../repository/item/types.js'; import { UMB_MEDIA_ITEM_REPOSITORY_ALIAS } from '../../repository/index.js'; +import type { UmbMediaItemModel } from '../../repository/item/types.js'; import { UmbPickerInputContext } from '@umbraco-cms/backoffice/picker-input'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UMB_MEDIA_TREE_PICKER_MODAL } from '@umbraco-cms/backoffice/modal'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; export class UmbMediaPickerContext extends UmbPickerInputContext { constructor(host: UmbControllerHost) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/packages/package-builder/workspace/workspace-package-builder.element.ts b/src/Umbraco.Web.UI.Client/src/packages/packages/package-builder/workspace/workspace-package-builder.element.ts index c4a4a44461..c49b8f68f8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/packages/package-builder/workspace/workspace-package-builder.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/packages/package-builder/workspace/workspace-package-builder.element.ts @@ -1,3 +1,4 @@ +import { UmbMediaPickerContext } from '../../../media/media/components/input-media/input-media.context.js'; import { UmbPackageRepository } from '../../package/repository/index.js'; import type { UmbCreatedPackageDefinition } from '../../types.js'; import type { UmbInputLanguageElement } from '../../../language/components/input-language/input-language.element.js'; @@ -174,8 +175,7 @@ export class UmbWorkspacePackageBuilderElement extends UmbLitElement { return html` ${this.#renderDocumentSection()} - - ${this.#renderMediaSection()} + ${this.#renderMediaSection()} ${this.#renderDocumentTypeSection()} @@ -235,20 +235,38 @@ export class UmbWorkspacePackageBuilderElement extends UmbLitElement { `; } + #onMediaChange(event: { target: UmbInputEntityElement }) { + if (!this._package) return; + + this._package.mediaIds = event.target.selection ?? []; + + if (this._package.mediaLoadChildNodes && !this._package.mediaIds.length) { + this._package.mediaLoadChildNodes = false; + } + + this.requestUpdate('_package'); + } + #renderMediaSection() { + if (!this._package) return nothing; return html` -
- - - Include child nodes - -
+ +
+ item.mediaType.icon ?? 'icon-picture'} + .pickerContext=${UmbMediaPickerContext} + .selection=${this._package.mediaIds ?? []} + @change=${this.#onMediaChange}> + + (this._package!.mediaLoadChildNodes = e.target.checked)}> + Include child nodes + +
+
`; }