//====================================================================== // Printer configurations //====================================================================== var config = { name: "DX100", sizes: [ { format: "15x10", cost: 0.20 }, { format: "15x20", cost: 0.40 }, { format: "20x30", cost: 0.80 } ] }; //====================================================================== // DON'T CHANGE PARAMETERS BELOW THIS LINE //====================================================================== $(document).ready(function() { //---------------------------------------------------------------------- // generate unique identifiers for upload entries. //---------------------------------------------------------------------- // last used identifier (global) var uid = 0; // generate and return next identifier. function nextId() { uid += 1; return uid; } //---------------------------------------------------------------------- // show notifications. //---------------------------------------------------------------------- function notify(msg,mode) { $.bootstrapGrowl(msg, { type: mode, delay: 2000, }); } //---------------------------------------------------------------------- // check capabilities of used browser (file reader, drag-n-drop). //---------------------------------------------------------------------- var hasFileRdr = 'FileReader' in window; var hasFileDrag = function() { var div = document.createElement('div'); return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && 'FormData' in window && hasFileRdr; }(); //---------------------------------------------------------------------- // handle file lists for devices. //---------------------------------------------------------------------- // check if a change in a print job is allowed. function checkChangeAllowed(e) { if (!$('#final').hasClass('hidden')) { notify('Druckauftrag ist abgeschlossen - Änderungen nicht mehr möglich!', 'danger'); e.preventDefault(); e.stopPropagation(); return false; } return true; } // add a (raw) file to the table. function addFile(f) { // assemble file-info object var fi = new Object(); fi.file = f; fi.preview = ""; fi.id = nextId(); // add to table instance var row = $('#filelist').find('tr.entry-template'); var clone = row.clone(true) .removeClass('hidden entry-template') .attr('data-refid', fi.id); clone.find('.entry-name').text(fi.file.name); clone.find('.entry-del').attr('data-refid', fi.id); row.before(clone); // copy preset values var selSize = clone.find('.img-size'); $.each(config.sizes, function() { selSize.append($('