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

Merge branch 'fix/checkbackend' into 'develop'

Resolve "Check if backend is available"

See merge request jonasblatt/ma-jonasblatt-dmn-verifier!26
parents 7bc89f74 da7ede7e
No related branches found
No related tags found
No related merge requests found
...@@ -154,7 +154,13 @@ select:focus::-ms-value { ...@@ -154,7 +154,13 @@ select:focus::-ms-value {
#dmn-button-verify { #dmn-button-verify {
flex-grow: 1; flex-grow: 1;
max-width: 90px; max-width: 90px;
height: 35px; background: white;
border-radius: 2px;
}
#dmn-button-reload-verifier {
flex-grow: 1;
max-width: 120px;
background: white; background: white;
border-radius: 2px; border-radius: 2px;
} }
...@@ -162,6 +168,7 @@ select:focus::-ms-value { ...@@ -162,6 +168,7 @@ select:focus::-ms-value {
.dmn-verifier-header-item { .dmn-verifier-header-item {
margin: 8px 12px; margin: 8px 12px;
color: #0b3004; color: #0b3004;
min-height: 35px;
cursor: pointer; cursor: pointer;
font-family: 'Open Sans', sans-serif; font-family: 'Open Sans', sans-serif;
font-size: 13px; font-size: 13px;
......
...@@ -2,6 +2,10 @@ let rootUrl = 'http://' + window.location.hostname + ':8080/'; ...@@ -2,6 +2,10 @@ let rootUrl = 'http://' + window.location.hostname + ':8080/';
let dmnApi = rootUrl + 'api/dmn/'; let dmnApi = rootUrl + 'api/dmn/';
let inactiveBackend = true; let inactiveBackend = true;
$(document).ready(function () {
// load types
loadAvailableTypes();
});
/** /**
* Global definition for verification results * Global definition for verification results
* @type {VerifierResultSet} * @type {VerifierResultSet}
...@@ -19,71 +23,84 @@ let $verifierTypes; ...@@ -19,71 +23,84 @@ let $verifierTypes;
function handleStatus() { function handleStatus() {
let $dot = $('#backend-status'); let $dot = $('#backend-status');
if (inactiveBackend) { if (inactiveBackend) {
verifierResults = {};
$dot.removeClass('active'); $dot.removeClass('active');
$dot.addClass('inactive'); $dot.addClass('inactive');
alert(
"Error: The backend is currently not available. Please try again later.")
} else { } else {
$dot.removeClass('inactive'); $dot.removeClass('inactive');
$dot.addClass('active'); $dot.addClass('active');
} }
cleanDmnVerifierRoot();
} }
// load types function loadAvailableTypes() {
$.ajax({ $.ajax({
timeout: 500, timeout: 500,
url: dmnApi + 'verification/types', url: dmnApi + 'verification/types',
type: 'GET', type: 'GET',
contentType: 'text/xml', contentType: 'text/xml',
error: function (err) { error: function (err) {
verifierResults = {}; inactiveBackend = true;
inactiveBackend = true; handleStatus();
handleStatus(); },
}, success: function (data) {
success: function (data) { inactiveBackend = false;
inactiveBackend = false; types = data;
handleStatus(); // sort types by classification and name
types = data; types.sort(function (
// sort types by classification and name /** VerificationType */ firstEl, /** VerificationType */ secondEl) {
types.sort(function ( if (firstEl.classification.name
/** VerificationType */ firstEl, /** VerificationType */ secondEl) { === secondEl.classification.name) {
if (firstEl.classification.name if (firstEl.niceName === secondEl.niceName) {
=== secondEl.classification.name) { return 0;
if (firstEl.niceName === secondEl.niceName) { }
return 0; return firstEl.niceName < secondEl.niceName ? -1 : 1;
} else if (firstEl.classification.name
< secondEl.classification.name) {
return -1;
} else {
return 1;
} }
return firstEl.niceName < secondEl.niceName ? -1 : 1; });
} else if (firstEl.classification.name $verifierTypes = renderTypeOptions();
< secondEl.classification.name) { handleStatus();
return -1; }
} else { });
return 1; }
}
});
$verifierTypes = renderTypeOptions();
}
});
function cleanDmnVerifierRoot() { function cleanDmnVerifierRoot() {
let $root = $('#root-dmn-verifier').empty(); let $root = $('#root-dmn-verifier').empty();
let $header = $(` let $header = $(`
<div id="dmn-verifier-header"> <div id="dmn-verifier-header">
`); `);
// add types // check, if backend is available
$header.append($verifierTypes); if ($verifierTypes === undefined) {
$verifierTypes.select2({ $header.append($(`
containerCssClass: "dmn-verifier-header-item dmn-verifier-select clickable", <button class="clickable dmn-verifier-header-item" id="dmn-button-reload-verifier"
placeholder: { title="Reconnect backend" onClick="loadAvailableTypes()">
id: -1, Reconnect verification backend</button>
text: "All verifier" `));
}, } else {
allowClear: true $header.append($verifierTypes);
}); $verifierTypes.select2({
// Add Button containerCssClass: "dmn-verifier-header-item dmn-verifier-select clickable",
$header.append($(` placeholder: {
id: -1,
text: "All verifier"
},
allowClear: true
});
// Add Button
$header.append($(`
<button class="clickable dmn-verifier-header-item" id="dmn-button-verify" <button class="clickable dmn-verifier-header-item" id="dmn-button-verify"
title="Request verifications" onClick="checkVerifications()"> title="Request verifications" onClick="checkVerifications()">
Verify</button> Verify</button>
`)); `));
// add header to root }
// add header to root
$root.append($header); $root.append($header);
$root.append($(`<div id="dmn-verifier-content">`)); $root.append($(`<div id="dmn-verifier-content">`));
return $root; return $root;
...@@ -97,8 +114,7 @@ function checkVerifications() { ...@@ -97,8 +114,7 @@ function checkVerifications() {
function getVerifications() { function getVerifications() {
dmnModeler.saveXML({format: true}, function (err, xml) { dmnModeler.saveXML({format: true}, function (err, xml) {
if (err) { if (err) {
return console.log( return alert(err);
'There is an error in requesting the dmn verifications.. ' + err);
} else { } else {
console.log('Requesting dmn verifications..'); console.log('Requesting dmn verifications..');
} }
...@@ -122,6 +138,10 @@ function getVerifications() { ...@@ -122,6 +138,10 @@ function getVerifications() {
contentType: 'text/xml', contentType: 'text/xml',
data: xml, data: xml,
error: function (err) {
alert(
'Error: There was a fatal error while parsing the xml of the dmn.');
},
success: function (data) { success: function (data) {
console.log('successful dmn verification request:'); console.log('successful dmn verification request:');
console.log(data); console.log(data);
...@@ -221,17 +241,6 @@ function renderDmnVerifierOptions() { ...@@ -221,17 +241,6 @@ function renderDmnVerifierOptions() {
} }
} }
/**
*
* @param verifier
* @type VerifierResult
*/
function renderSelectEntry(verifier) {
return $(`
<option value="${verifier.type.name}">${verifier.type.niceName} (${verifier.size})</option>
`);
}
/** /**
* *
* @param verifierSelect * @param verifierSelect
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment