diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-upload-field/input-upload-field.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-upload-field/input-upload-field.element.ts index dd0ea6b489..fada0c245d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-upload-field/input-upload-field.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-upload-field/input-upload-field.element.ts @@ -1,6 +1,5 @@ import type { UmbTemporaryFileModel } from '../../temporary-file/temporary-file-manager.class.js'; import { UmbTemporaryFileManager } from '../../temporary-file/temporary-file-manager.class.js'; -import { UMB_PROPERTY_DATASET_CONTEXT } from '../../property/property-dataset/property-dataset-context.token.js'; import { UmbId } from '@umbraco-cms/backoffice/id'; import { css, @@ -49,20 +48,19 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen this.#setExtensions(value); } get fileExtensions(): Array | undefined { - return this.extensions; + return this._extensions; } /** * @description Allows the user to upload multiple files. - * @type {Boolean} * @default false * @attr */ @property({ type: Boolean }) - multiple = false; + public multiple = false; @state() - _files: Array<{ + private _files: Array<{ path: string; unique: string; queueItem?: UmbTemporaryFileModel; @@ -70,7 +68,7 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen }> = []; @state() - extensions?: string[]; + private _extensions?: string[]; @query('#dropzone') private _dropzone?: UUIFileDropzoneElement; @@ -124,8 +122,13 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen } #setExtensions(value: Array) { + if (!value) { + this._extensions = undefined; + return; + } + // TODO: The dropzone uui component does not support file extensions without a dot. Remove this when it does. - this.extensions = value?.map((extension) => { + this._extensions = value?.map((extension) => { return `.${extension}`; }); } @@ -198,7 +201,7 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen id="dropzone" label="dropzone" @change="${this.#onUpload}" - accept="${ifDefined(this.extensions?.join(', '))}" + accept="${ifDefined(this._extensions?.join(', '))}" ?multiple="${this.multiple}">