// This is a manifest file that'll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. // // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // compiled file. // // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details // about supported directives. // //= require jquery //= require jquery_ujs //= require foundation //= require cookies_eu //= require_tree . $(function(){ $(document).foundation(); }); // Load reviews on package's details page load_reviews = function() { // Display message while loading reviews // $('#reviews').html("Loading reviews..."); // Hide the DIV so that in can be faded in later $('#reviews').hide(); // The URL is specified in the #reviews's DIV data attribute var url = $('#reviews').attr('data-package-reviews-url'); $('#reviews').load(url, null, // Fade in the reviews as soon as the DIV is loaded and filled function(){ $(this).fadeIn('slow') } ); }; // Initialize the upload form. upload_form_init = function() { // 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); }; upload_form_files_selected = function() { 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').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); display_error('Did you copy a proper image into your clipboard?'); }, 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( '