bpmn-js/example/index.html
Nico Rehwaldt 423c757f1d chore(testsuite): organize tests into node/browser
This commit introduces a clean separation of node and browser tests.

ALL tests should be organized according to where they are run

non browser (áka node tests): `test/spec/node`
browser tests: `test/spec/browser`
2014-03-13 11:33:25 +01:00

63 lines
1.5 KiB
HTML

<html>
<head>
<title>bpmn-js demo</title>
</head>
<body>
<div id="drop-zone">Drop files here</div>
<output id="list"></output>
<div class="canvas"></div>
<script src="../bpmn.js"></script>
<script>
var bpmn = require('bpmn');
var Model = require('bpmn/Model');
</script>
<script>
function handleFileSelect(evt) {
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
// files is a FileList of File objects. List some properties.
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
reader.onload = function(e) {
var xml = e.target.result;
Model.fromXML(xml, 'bpmn:Definitions', function(err, definitions) {
if (err) {
console.error(err);
} else {
console.log(definitions);
}
});
/*renderer.renderXML(xml, function(err) {
console.log('diagram rendererd');
});*/
};
reader.readAsText(f);
}
}
function handleDragOver(evt) {
evt.stopPropagation();
evt.preventDefault();
evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
}
// Setup the dnd listeners.
var dropZone = document.getElementById('drop-zone');
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleFileSelect, false);
</script>
</html>