1jQuery(document).ready(function() { 2 jQuery("textarea[id^=__bpmnio_]").each(function(i, tag) { try { 3 var xml = jQuery(tag).text(); 4 xml = atob(xml); 5 var id = jQuery(tag).attr('id'); 6 // avoid doing it twice 7 jQuery(tag).removeAttr('id'); 8 9 // bundle exposes the viewer / modeler via the BpmnJS variable 10 var BpmnViewer = window.BpmnJS; 11 var containerdiv = document.createElement('div'); 12 containerdiv.className = "canvas"; 13 jQuery(tag).parent().append(containerdiv); 14 var viewer = new BpmnViewer({ container: containerdiv }); 15 viewer.importXML(xml, function(err) { 16 if (err) { 17 containerdiv.text = err; 18 console.log('error rendering', err); 19 } else { 20 var canvas = viewer.get('canvas'); 21 var bboxViewport = canvas.getDefaultLayer().getBBox(true); 22 var bboxSvg = canvas.getSize(); 23 canvas.viewbox({ x: bboxViewport.x, y: bboxViewport.y, width: bboxSvg.width, height: bboxSvg.height }); 24 var height = bboxViewport.height + 4; 25 // hack: adjust the div height because it doesn't automatically.. 26 containerdiv.style.height = "" + height + 'px'; 27 } 28 }); 29 jQuery(tag).remove(); 30 }catch(err){ 31 console.warn(err.message); 32 }}); 33}); 34