mida
Version:
Muiltiple Instance and Data Animator for BPMN models.
69 lines (50 loc) • 1.62 kB
JavaScript
;
var domify = require('min-dom/dist').domify,
domClasses = require('min-dom/dist').classes,
domEvent = require('min-dom/dist').event,
domQuery = require('min-dom/dist').query;
var elementHelper = require('../../util/ElementHelper'),
getBusinessObject = elementHelper.getBusinessObject,
is = elementHelper.is,
isTypedEvent = elementHelper.isTypedEvent;
var events = require('../../util/EventHelper'),
TOGGLE_MODE_EVENT = events.TOGGLE_MODE_EVENT;
var address;
function ModelSaver(eventBus, canvas) {
var self = this;
this._canvas = canvas;
eventBus.on(TOGGLE_MODE_EVENT, function(context) {
var simulationModeActive = context.simulationModeActive;
if (simulationModeActive) {
modeler.saveXML({
format : true
}, function(err, xml) {
if (err) {
return console.error('could not save BPMN 2.0 diagram', err);
}
else{
saveModel(xml)
}
});
}
});
}
function saveModel(xml) {
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://pros.unicam.it:8080/ModelSaver/rest/model/save", true);
xhr.setRequestHeader('tool', 'mida');
var json = {};
json['xml'] = xml;
json['address'] = getAddress();
xhr.send(JSON.stringify(json));
};
function getAddress() {
var xmlhttp;
if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","http://ip-api.com/json",false);
xmlhttp.send();
return xmlhttp.responseText
}
ModelSaver.$inject = [ 'eventBus', 'canvas' ];
module.exports = ModelSaver;