Skip to content

Commit 6a7bc68

Browse files
committed
Allowed button-based multi-file uploads
Likely something that worked via dropzone before. This adds support for our custom dropzone file handling. Related to #4241
1 parent c17906c commit 6a7bc68

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

resources/js/components/dropzone.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export class Dropzone extends Component {
2121
this.uploadLimitMessage = this.$opts.uploadLimitMessage;
2222
this.zoneText = this.$opts.zoneText;
2323
this.fileAcceptTypes = this.$opts.fileAccept;
24+
this.allowMultiple = this.$opts.allowMultiple === 'true';
2425

2526
this.setupListeners();
2627
}
@@ -83,7 +84,12 @@ export class Dropzone extends Component {
8384
}
8485

8586
manualSelectHandler() {
86-
const input = elem('input', {type: 'file', style: 'left: -400px; visibility: hidden; position: fixed;', accept: this.fileAcceptTypes});
87+
const input = elem('input', {
88+
type: 'file',
89+
style: 'left: -400px; visibility: hidden; position: fixed;',
90+
accept: this.fileAcceptTypes,
91+
multiple: this.allowMultiple ? '' : null,
92+
});
8793
this.container.append(input);
8894
input.click();
8995
input.addEventListener('change', () => {

resources/js/services/dom.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ export function elem(tagName, attrs = {}, children = []) {
1010
const el = document.createElement(tagName);
1111

1212
for (const [key, val] of Object.entries(attrs)) {
13-
el.setAttribute(key, val);
13+
if (val === null) {
14+
el.removeAttribute(key);
15+
} else {
16+
el.setAttribute(key, val);
17+
}
1418
}
1519

1620
for (const child of children) {

resources/views/attachments/manager.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class="toolbox-tab-content">
1414
option:dropzone:upload-limit-message="{{ trans('errors.server_upload_limit') }}"
1515
option:dropzone:zone-text="{{ trans('entities.attachments_dropzone') }}"
1616
option:dropzone:file-accept="*"
17+
option:dropzone:allow-multiple="true"
1718
class="px-l files">
1819

1920
<div refs="attachments@list-container dropzone@drop-target" class="relative">

resources/views/pages/parts/image-manager.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
option:dropzone:upload-limit-message="{{ trans('errors.server_upload_limit') }}"
77
option:dropzone:zone-text="{{ trans('components.image_dropzone_drop') }}"
88
option:dropzone:file-accept="image/*"
9+
option:dropzone:allow-multiple="true"
910
option:image-manager:uploaded-to="{{ $uploaded_to ?? 0 }}"
1011
class="image-manager">
1112

0 commit comments

Comments
 (0)