Skip to content
Snippets Groups Projects
Commit 2ba9ab26 authored by Jonas Blatt's avatar Jonas Blatt :ant:
Browse files

Add dmn type for js frontend

parent f0b162ce
Branches
Tags
No related merge requests found
......@@ -56,7 +56,7 @@ public class VerificationResultEntry extends AbstractResultObject {
*
* @return the {@link VerificationClassification}
*/
@JsonbProperty("verificationClassifications")
@JsonbProperty("verificationClassification")
public VerificationClassification getVerificationClassification() {
return verificationClassification;
}
......
......@@ -18,19 +18,20 @@
<link href="css/dmnEditorTabs.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="root">
<input id="dmn-file-upload" type="file">
<div id="content-dmn">
<div class="editor-parent">
<div class="editor-container"></div>
<div class="editor-tabs"></div>
</div>
<input id="dmn-file-upload" type="file">
<div id="content-dmn">
<div class="editor-parent">
<div class="editor-container"></div>
<div class="editor-tabs"></div>
</div>
<input id="dmn-verify" name="Verify" onclick="checkVerifications()" type="button">
<div id="verifier-dmn"></div>
</div>
<button id="button-dmn-verify" onclick="checkVerifications()">Get verifications</button>
<div id="root-dmn-verifier"></div>
</div>
<!-- load jquery -->
<script src="https://unpkg.com/jquery@3.4.1/dist/jquery.js" type="text/javascript"></script>
<!-- load dmn modeler -->
<script src="https://unpkg.com/dmn-js@7.0.1/dist/dmn-modeler.development.js"></script>
<script src="js/upload.js" type="text/javascript"></script>
......
/**
* @typedef VerifierResultSet
* @type {object}
* @property {number} id
* @property {number} size
* @property {Array.<VerifierResult>} verifier
*/
/**
* @typedef VerifierResult
* @type {object}
* @property {number} id
* @property {number} executionTime
* @property {number} size
* @property {Array.<VerificationEntry>} entries
* @property {VerificationType} type
*/
/**
* @typedef VerificationEntry
* @type {object}
* @property {number} id
* @property {number} size
* @property {string} message
* @property {string} verificationClassification
* @property {Array.<VerificationEntryElements>} elements
* @property {Array.<VerificationFixes>} verificationFixes
*/
/**
* @typedef VerificationEntryElements
* @type {object}
* @property {number} id
* @property {Object.<string, number>} identifier
*/
/**
* @typedef VerificationFixes
* @type {object}
* @property {string} fixName
* @property {Array.<Actions>} actions
*/
/**
* @typedef Actions
* @type {object}
* @property {number} id
* @property {string} actionScope
* @property {string} actionType SHOW, UPDATE, INSERT, DELETE
* @property {Object.<string, number>} actionValues
*/
/**
* @typedef VerificationType
* @type {object}
* @property {string} description
* @property {string} name
* @property {VerificationClassification} classification
*/
/**
* @typedef VerificationClassification
* @type {object}
* @property {string} description
* @property {string} name
*/
let rootUrl = 'http://localhost:8080/';
let dmnApi = rootUrl + 'api/dmn/';
/**
* Global definition for verification results
* @type {VerifierResultSet}
*/
let verifierResults = {};
function checkVerifications() {
getVerifications();
}
......@@ -8,19 +14,41 @@ function checkVerifications() {
function getVerifications() {
dmnModeler.saveXML({format: true}, function (err, xml) {
if (err) {
return console.log('could not save DMN 1.1 diagram');
return console.log(
'There is an error in requesting the dmn verifications.. ' + err);
} else {
console.log('saving dmn..');
console.log('Requesting dmn verifications..');
}
$.ajax({
url: dmnApi + 'verification',
type: 'POST',
contentType: 'text/xml',
data: xml,
success: function (data) {
console.log('dmn saved');
console.log('successful dmn verification request:');
console.log(data);
verifierResults = data;
renderDmnVerifierOptions();
}
});
});
}
var i = 0;
function renderDmnVerifierOptions() {
// reset div
let root = $('#root-dmn-verifier');
root.html('verifier' + i++);
for (let i = 0; i < verifierResults.verifier.length; i++) {
console.log(verifierResults.verifier[i]);
let verifier = verifierResults.verifier[i];
let verifierTab = $(`
<button class="but-verifier">
${verifier.type.name}
</button>
`);
root.append(verifierTab);
}
}
......@@ -12,10 +12,13 @@ $tabs.delegate('.tab', 'click', function (e) {
dmnModeler.open(view);
});
// modeler instance
var dmnModeler = new DmnJS({
/**
*
* @type {DmnJS}
*/
let dmnModeler = new DmnJS({
container: $container,
height: 350,
height: 600,
width: '100%',
keyboard: {
bindTo: window
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment