UNPKG

mida

Version:

Muiltiple Instance and Data Animator for BPMN models.

69 lines (50 loc) 1.62 kB
'use strict'; 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;