Skip to content

Commit fc440b4

Browse files
committed
Bugfix: Dropzones should be clickable
1 parent 1e85b22 commit fc440b4

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

src/packages/media/media/components/input-image-cropper/input-image-cropper.element.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { UmbImageCropperPropertyEditorValue } from './types.js';
22
import type { UmbInputImageCropperFieldElement } from './image-cropper-field.element.js';
3-
import { html, customElement, property, query, state } from '@umbraco-cms/backoffice/external/lit';
3+
import { html, customElement, property, query, state, css } from '@umbraco-cms/backoffice/external/lit';
44
import type { UUIFileDropzoneElement, UUIFileDropzoneEvent } from '@umbraco-cms/backoffice/external/uui';
55
import { UmbId } from '@umbraco-cms/backoffice/id';
66
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
@@ -61,8 +61,9 @@ export class UmbInputImageCropperElement extends UmbLitElement {
6161
this.dispatchEvent(new UmbChangeEvent());
6262
}
6363

64-
#onBrowse() {
64+
#onBrowse(e: Event) {
6565
if (!this._dropzone) return;
66+
e.stopImmediatePropagation();
6667
this._dropzone.browse();
6768
}
6869

@@ -105,7 +106,7 @@ export class UmbInputImageCropperElement extends UmbLitElement {
105106

106107
#renderDropzone() {
107108
return html`
108-
<uui-file-dropzone id="dropzone" label="dropzone" @change="${this.#onUpload}">
109+
<uui-file-dropzone id="dropzone" label="dropzone" @change="${this.#onUpload}" @click=${this.#onBrowse}>
109110
<uui-button label=${this.localize.term('media_clickToUpload')} @click="${this.#onBrowse}"></uui-button>
110111
</uui-file-dropzone>
111112
`;
@@ -131,6 +132,22 @@ export class UmbInputImageCropperElement extends UmbLitElement {
131132
</uui-button>
132133
</umb-image-cropper-field> `;
133134
}
135+
136+
static override styles = [
137+
css`
138+
uui-file-dropzone {
139+
position: relative;
140+
display: block;
141+
}
142+
uui-file-dropzone::after {
143+
content: '';
144+
position: absolute;
145+
inset: 0;
146+
cursor: pointer;
147+
border: 1px dashed var(--uui-color-divider-emphasis);
148+
}
149+
`,
150+
];
134151
}
135152

136153
declare global {

src/packages/media/media/components/input-upload-field/input-upload-field.element.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,9 @@ export class UmbInputUploadFieldElement extends UmbLitElement {
8686
}
8787
}
8888

89-
#handleBrowse() {
89+
#handleBrowse(e: Event) {
9090
if (!this._dropzone) return;
91+
e.stopImmediatePropagation();
9192
this._dropzone.browse();
9293
}
9394

@@ -98,6 +99,7 @@ export class UmbInputUploadFieldElement extends UmbLitElement {
9899
#renderDropzone() {
99100
return html`
100101
<uui-file-dropzone
102+
@click=${this.#handleBrowse}
101103
id="dropzone"
102104
label="dropzone"
103105
@change="${this.#onUpload}"
@@ -195,8 +197,17 @@ export class UmbInputUploadFieldElement extends UmbLitElement {
195197
}
196198
197199
uui-file-dropzone {
200+
position: relative;
201+
display: block;
198202
padding: 3px; /** Dropzone background is blurry and covers slightly into other elements. Hack to avoid this */
199203
}
204+
uui-file-dropzone::after {
205+
content: '';
206+
position: absolute;
207+
inset: 0;
208+
cursor: pointer;
209+
border: 1px dashed var(--uui-color-divider-emphasis);
210+
}
200211
`,
201212
];
202213
}

0 commit comments

Comments
 (0)