Skip to content

Commit 0c2de0c

Browse files
authored
Merge pull request #4227 from manyfold3d/fix-tubro-upload-behaviour
FIx upload box behaviour on turbo load
2 parents 56de0d6 + 77a08db commit 0c2de0c

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

app/javascript/controllers/upload_controller.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,14 @@ export default class extends Controller {
6666
event.formData.set('uploads', JSON.stringify(uploads))
6767
})
6868
}
69+
70+
disconnect (): void {
71+
this.uppy?.destroy()
72+
this.uppy = null
73+
}
74+
75+
reconnect (): void {
76+
this.disconnect()
77+
this.connect()
78+
}
6979
}

app/views/models/new.html.erb

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@
1717
</div>
1818
<% end %>
1919

20-
<div class="row mb-3 input-group">
20+
<div class="row mb-3 input-group" data-turbo-permanent>
2121
<%= form.label :files, t(".files.label"), class: "col-sm-2 col-form-label" %>
2222
<div class='col-sm-10 ps-0'>
23-
<%= content_tag :div, nil,
24-
"data-controller": "upload",
25-
"data-max-file-size": SiteSettings.max_file_upload_size,
26-
"data-allowed-file-types": input_accept_string,
27-
"data-upload-endpoint": upload_path %>
23+
<%= content_tag :div, nil, data: {
24+
controller: "upload",
25+
action: "turbo:morph@window->upload#reconnect",
26+
max_file_size: SiteSettings.max_file_upload_size,
27+
allowed_file_types: input_accept_string,
28+
upload_endpoint: upload_path
29+
} %>
2830
</div>
2931
</div>
3032

app/views/models/show.html.erb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,13 @@
181181
<%= card :warning, t(".upload_card.heading") do %>
182182
<%= form_with url: model_model_files_path(@model), id: "upload-form", class: "d-grid" do |form| %>
183183

184-
<%= content_tag :div, nil,
185-
class: "mb-3",
186-
"data-controller": "upload",
187-
"data-max-file-size": SiteSettings.max_file_upload_size,
188-
"data-allowed-file-types": input_accept_string,
189-
"data-upload-endpoint": upload_path %>
190-
184+
<%= content_tag :div, nil, class: "mb-3", data: {
185+
controller: "upload",
186+
action: "turbo:morph@window->upload#reconnect",
187+
max_file_size: SiteSettings.max_file_upload_size,
188+
allowed_file_types: input_accept_string,
189+
upload_endpoint: upload_path
190+
} %>
191191
<%= submit_tag translate(".submit"), class: "btn btn-primary d-block" %>
192192
<% end %>
193193
<% end %>

0 commit comments

Comments
 (0)