|
1 | 1 | import type { UmbTemporaryFileModel } from '../../temporary-file/temporary-file-manager.class.js';
|
2 | 2 | import { UmbTemporaryFileManager } from '../../temporary-file/temporary-file-manager.class.js';
|
3 |
| -import { UMB_PROPERTY_DATASET_CONTEXT } from '../../property/property-dataset/property-dataset-context.token.js'; |
4 | 3 | import { UmbId } from '@umbraco-cms/backoffice/id';
|
5 | 4 | import {
|
6 | 5 | css,
|
@@ -49,28 +48,27 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen
|
49 | 48 | this.#setExtensions(value);
|
50 | 49 | }
|
51 | 50 | get fileExtensions(): Array<string> | undefined {
|
52 |
| - return this.extensions; |
| 51 | + return this._extensions; |
53 | 52 | }
|
54 | 53 |
|
55 | 54 | /**
|
56 | 55 | * @description Allows the user to upload multiple files.
|
57 |
| - * @type {Boolean} |
58 | 56 | * @default false
|
59 | 57 | * @attr
|
60 | 58 | */
|
61 | 59 | @property({ type: Boolean })
|
62 |
| - multiple = false; |
| 60 | + public multiple = false; |
63 | 61 |
|
64 | 62 | @state()
|
65 |
| - _files: Array<{ |
| 63 | + private _files: Array<{ |
66 | 64 | path: string;
|
67 | 65 | unique: string;
|
68 | 66 | queueItem?: UmbTemporaryFileModel;
|
69 | 67 | file?: File;
|
70 | 68 | }> = [];
|
71 | 69 |
|
72 | 70 | @state()
|
73 |
| - extensions?: string[]; |
| 71 | + private _extensions?: string[]; |
74 | 72 |
|
75 | 73 | @query('#dropzone')
|
76 | 74 | private _dropzone?: UUIFileDropzoneElement;
|
@@ -124,8 +122,13 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen
|
124 | 122 | }
|
125 | 123 |
|
126 | 124 | #setExtensions(value: Array<string>) {
|
| 125 | + if (!value) { |
| 126 | + this._extensions = undefined; |
| 127 | + return; |
| 128 | + } |
| 129 | + |
127 | 130 | // TODO: The dropzone uui component does not support file extensions without a dot. Remove this when it does.
|
128 |
| - this.extensions = value?.map((extension) => { |
| 131 | + this._extensions = value?.map((extension) => { |
129 | 132 | return `.${extension}`;
|
130 | 133 | });
|
131 | 134 | }
|
@@ -198,7 +201,7 @@ export class UmbInputUploadFieldElement extends UUIFormControlMixin(UmbLitElemen
|
198 | 201 | id="dropzone"
|
199 | 202 | label="dropzone"
|
200 | 203 | @change="${this.#onUpload}"
|
201 |
| - accept="${ifDefined(this.extensions?.join(', '))}" |
| 204 | + accept="${ifDefined(this._extensions?.join(', '))}" |
202 | 205 | ?multiple="${this.multiple}">
|
203 | 206 | <uui-button label=${this.localize.term('media_clickToUpload')} @click="${this.#handleBrowse}"></uui-button>
|
204 | 207 | </uui-file-dropzone>
|
|
0 commit comments