everything is a folder

This commit is contained in:
Lone Iversen
2024-05-08 12:31:32 +02:00
parent a9854fde8c
commit 730a061c8d
3 changed files with 6 additions and 15 deletions

View File

@@ -39,16 +39,12 @@ export class UmbMediaPickerModalElement extends UmbModalBaseElement<UmbMediaPick
@state()
private _selectableNonImages = true;
@state()
private _selectableFolders = true;
@query('#dropzone')
private _dropzone!: UmbDropzoneElement;
connectedCallback(): void {
super.connectedCallback();
this._selectableNonImages = this.data?.selectableNonImages ?? true;
this._selectableFolders = this.data?.selectableFolders ?? true;
this._currentPath = this.data?.startNode ?? null;
this.#loadMediaFolder();
}
@@ -69,13 +65,12 @@ export class UmbMediaPickerModalElement extends UmbModalBaseElement<UmbMediaPick
const { data } = await this.#mediaUrlRepository.requestItems(items.map((item) => item.unique));
return items.map((item) => {
return items.map((item): UmbMediaCardItemModel => {
const url = data?.find((media) => media.unique === item.unique)?.url;
const extension = url?.split('.').pop();
const isFolder = isUmbracoFolder(item.mediaType?.unique);
const isImageRenderable = url ? !!mime.getType(url)?.startsWith('image/') : false;
const isImage = url ? !!mime.getType(url)?.startsWith('image/') : false;
return { name: item.name, unique: item.unique, isImageRenderable, url, isFolder, extension };
return { name: item.name, unique: item.unique, isImage, url, extension };
});
}
@@ -204,11 +199,9 @@ export class UmbMediaPickerModalElement extends UmbModalBaseElement<UmbMediaPick
@selected=${() => this.#onSelected(item)}
@deselected=${() => this.#onDeselected(item)}
?selected=${this.value?.selection?.find((value) => value === item.unique)}
?selectable=${(!item.isFolder || this._selectableFolders) &&
(item.isImageRenderable || this._selectableNonImages)}
?select-only=${!item.isFolder}
?selectable=${item.isImage || this._selectableNonImages}
file-ext=${ifDefined(item.extension)}>
${item.isImageRenderable && item.url ? html`<img src=${item.url} alt=${ifDefined(item.name)} />` : ''}
${item.isImage && item.url ? html`<img src=${item.url} alt=${ifDefined(item.name)} />` : ''}
</uui-card-media>
`;
}

View File

@@ -2,7 +2,6 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal';
export interface UmbMediaPickerModalData {
startNode?: string | null;
selectableFolders?: boolean;
selectableNonImages?: boolean;
multiple?: boolean;
}

View File

@@ -3,8 +3,7 @@ export interface UmbMediaCardItemModel {
unique: string;
url?: string;
extension?: string;
isFolder: boolean;
isImageRenderable: boolean;
isImage: boolean;
}
export interface UmbMediaPathModel {