| | |
| | | |
| | | //var save_svg_action = 'extensions/filesave.php'; |
| | | //var save_png_action = 'extensions/filesave.php'; |
| | | |
| | | |
| | | // Create upload target (hidden iframe) |
| | | var target = $('<iframe name="output_frame" />').hide().appendTo('body'); |
| | | |
| | | |
| | | //methodDraw.setCustomHandlers({ |
| | | // save: function(win, data) { |
| | | // var svg = "<?xml version=\"1.0\"?>\n" + data; |
| | | // |
| | | // |
| | | // var title = svgCanvas.getDocumentTitle(); |
| | | // var filename = title.replace(/[^a-z0-9\.\_\-]+/gi, '_'); |
| | | // |
| | | // |
| | | // var form = $('<form>').attr({ |
| | | // method: 'post', |
| | | // action: save_svg_action, |
| | |
| | | // }, |
| | | // pngsave: function(win, data) { |
| | | // var issues = data.issues; |
| | | // |
| | | // |
| | | // if(!$('#export_canvas').length) { |
| | | // $('<canvas>', {id: 'export_canvas'}).hide().appendTo('body'); |
| | | // } |
| | | // var c = $('#export_canvas')[0]; |
| | | // |
| | | // |
| | | // c.width = svgCanvas.contentW; |
| | | // c.height = svgCanvas.contentH; |
| | | // canvg(c, data.svg, {renderCallback: function() { |
| | | // var datauri = c.toDataURL('image/png'); |
| | | // |
| | | // |
| | | // var uiStrings = methodDraw.uiStrings; |
| | | // var note = ''; |
| | | // |
| | | // |
| | | // // Check if there's issues |
| | | // if(issues.length) { |
| | | // var pre = "\n \u2022 "; |
| | | // note += ("\n\n" + pre + issues.join(pre)); |
| | | // } |
| | | // |
| | | // } |
| | | // |
| | | // if(note.length) { |
| | | // alert(note); |
| | | // } |
| | | // |
| | | // |
| | | // var title = svgCanvas.getDocumentTitle(); |
| | | // var filename = title.replace(/[^a-z0-9\.\_\-]+/gi, '_'); |
| | | // |
| | | // |
| | | // var form = $('<form>').attr({ |
| | | // method: 'post', |
| | | // action: save_png_action, |
| | |
| | | // .submit().remove(); |
| | | // }}); |
| | | // |
| | | // |
| | | // |
| | | // } |
| | | //}); |
| | | |
| | | |
| | | // Do nothing if client support is found |
| | | if(window.FileReader) return; |
| | | |
| | | |
| | | var cancelled = false; |
| | | |
| | | |
| | | // Change these to appropriate script file |
| | | var open_svg_action = 'extensions/fileopen.php?type=load_svg'; |
| | | var import_svg_action = 'extensions/fileopen.php?type=import_svg'; |
| | | var import_img_action = 'extensions/fileopen.php?type=import_img'; |
| | | |
| | | |
| | | // Set up function for PHP uploader to use |
| | | methodDraw.processFile = function(str64, type) { |
| | | if(cancelled) { |
| | | cancelled = false; |
| | | return; |
| | | } |
| | | |
| | | |
| | | $('#dialog_box').hide(); |
| | | |
| | | |
| | | if(type != 'import_img') { |
| | | var xmlstr = svgCanvas.Utils.decode64(str64); |
| | | } |
| | | |
| | | |
| | | switch ( type ) { |
| | | case 'load_svg': |
| | | svgCanvas.clear(); |
| | |
| | | break; |
| | | case 'import_svg': |
| | | svgCanvas.importSvgString(xmlstr); |
| | | methodDraw.updateCanvas(); |
| | | methodDraw.updateCanvas(); |
| | | break; |
| | | case 'import_img': |
| | | svgCanvas.setGoodImage(str64); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | // Create upload form |
| | | var open_svg_form = $('<form>'); |
| | | open_svg_form.attr({ |
| | |
| | | action: open_svg_action, |
| | | target: 'output_frame' |
| | | }); |
| | | |
| | | |
| | | // Create import form |
| | | var import_svg_form = open_svg_form.clone().attr('action', import_svg_action); |
| | | |
| | | |
| | | // Create image form |
| | | var import_img_form = open_svg_form.clone().attr('action', import_img_action); |
| | | |
| | | // It appears necessory to rebuild this input every time a file is |
| | | |
| | | // It appears necessory to rebuild this input every time a file is |
| | | // selected so the same file can be picked and the change event can fire. |
| | | function rebuildInput(form) { |
| | | form.empty(); |
| | | var inp = $('<input type="file" name="svg_file">').appendTo(form); |
| | | |
| | | |
| | | |
| | | |
| | | function submit() { |
| | | // This submits the form, which returns the file data using methodDraw.uploadSVG |
| | | form.submit(); |
| | | |
| | | |
| | | rebuildInput(form); |
| | | $.process_cancel("Uploading...", function() { |
| | | cancelled = true; |
| | | $('#dialog_box').hide(); |
| | | }); |
| | | } |
| | | |
| | | |
| | | if(form[0] == open_svg_form[0]) { |
| | | inp.change(function() { |
| | | // This takes care of the "are you sure" dialog box |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | // Create the input elements |
| | | rebuildInput(open_svg_form); |
| | | rebuildInput(import_svg_form); |