lab
This commit is contained in:
parent
7cd9c68a10
commit
36984ff1d4
20 changed files with 321 additions and 391 deletions
|
|
@ -14,12 +14,14 @@
|
|||
// window.$ = window.jQuery = jQuery; // Expose globally (if needed)
|
||||
|
||||
// import "./foundation-sites/dist/js/foundation.min";
|
||||
import "./controllers";
|
||||
import "@hotwired/turbo-rails";
|
||||
|
||||
|
||||
// import jquery from "jquery";
|
||||
import jQuery from "./jquery.js";
|
||||
|
||||
// window.jQuery = jquery;
|
||||
// window.$ = jquery;
|
||||
window.$ = jQuery;
|
||||
|
||||
$(function () {
|
||||
$(document).foundation();
|
||||
|
|
@ -43,89 +45,3 @@ $(function () {
|
|||
// );
|
||||
// };
|
||||
|
||||
// Initialize the upload form.
|
||||
function upload_form_init() {
|
||||
// Disable the submit button if Javascript is supported.
|
||||
// Upload will start right after selecting images.
|
||||
$('#file-submit').hide();
|
||||
|
||||
// Install event handler to notice when files were selected.
|
||||
$('#file').on('change', upload_form_files_selected);
|
||||
};
|
||||
|
||||
function upload_form_files_selected() {
|
||||
no_files = this.files.length;
|
||||
if (no_files > 0) {
|
||||
$('#file-label').html(no_files+" files selected - uploading…"); // change label
|
||||
$('#file-select-button').attr('disabled','disabled'); // disable select button
|
||||
$('#file-form').trigger('submit'); // start upload
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Handle Ctrl-V to paste an image directly
|
||||
function upload_paste_handler(event)
|
||||
{
|
||||
console.log("paste!");
|
||||
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
|
||||
|
||||
// /*Make Sure Only One File is Copied*/
|
||||
// if (items.length != 1) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
for (var i = 0 ; i < items.length ; i++)
|
||||
{
|
||||
var item = items[i];
|
||||
console.log(item);
|
||||
console.log("item size="+item.size);
|
||||
if (!item.type.startsWith('image/'))
|
||||
{
|
||||
console.log("Skipping file with type "+item.type);
|
||||
continue
|
||||
}
|
||||
console.log(item.type);
|
||||
var file = item.getAsFile();
|
||||
console.log(file);
|
||||
upload_file_with_ajax(file);
|
||||
}
|
||||
}
|
||||
|
||||
function upload_file_with_ajax(file)
|
||||
{
|
||||
if (file==null)
|
||||
{
|
||||
console.log("File was null. Strange.");
|
||||
display_error('Maybe the image was too large.');
|
||||
return;
|
||||
}
|
||||
var formData = new FormData();
|
||||
formData.append('file', file);
|
||||
|
||||
$.ajax(ajax_upload_url,
|
||||
{
|
||||
type: 'POST',
|
||||
contentType: false,
|
||||
processData: false,
|
||||
data: formData,
|
||||
//dataType: 'json',
|
||||
error: function(xhr, txt, err)
|
||||
{
|
||||
console.log("AJAX file upload returned error: "+txt+" / "+err);
|
||||
response = JSON.parse(xhr.responseText);
|
||||
display_error(response);
|
||||
},
|
||||
success: function(res)
|
||||
{
|
||||
console.log("AJAX file upload was ok");
|
||||
// Go back to details page to show the new upload
|
||||
window.location.replace(after_upload_url);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function display_error(msg)
|
||||
{
|
||||
$('#messages').html(
|
||||
'<div class="callout alert alert-callout-subtle radius">Sorry, pasting did not work. ' + msg + '</div>')
|
||||
}
|
||||
|
|
|
|||
2
app/assets/javascripts/foundation.js
vendored
Normal file
2
app/assets/javascripts/foundation.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
app/assets/javascripts/jquery.js
vendored
Normal file
2
app/assets/javascripts/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue