Merge pull request #1158 from Kamidu/master

validation improvements
4.x.x
Rasika Perera 7 years ago committed by GitHub
commit 67a12dc57b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -56,7 +56,7 @@ function addTileUrl() {
var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/tile_servers.jag";
// TODO: If failure happens notify user about the error message
$.post(serverUrl, data, function (response) {
noty({text: '<span style="color: dodgerblue">' + response + '</span>', type: 'success' });
noty({text: '<span style="color: dodgerblue">' + response + '</span>', type: 'success'});
closeAll();
});
}
@ -75,9 +75,12 @@ function getTileServers() {
});*/
$.getJSON("/api/controllers/tile_servers?serverId=all", function (data) {
console.log(JSON.stringify(data));
$.each(data, function (key, val) {
noty({text: 'Loading... <span style="color: #ccfcff">' + val.NAME + '</span>', type: 'info'});
noty({
text: 'Loading... <span style="color: #ccfcff">' + val.NAME + '</span>',
type: 'info'
});
//baseLayers[val.name]
var newTileLayer = L.tileLayer(
val.URL, {
@ -152,8 +155,10 @@ function addWmsEndPoint() {
var serverUrl = "/api/controllers/wms_endpoints";
// TODO: If failure happens notify user about the error message
$.post(serverUrl, data, function (response) {
console.log("------->><wms_endpoints>"+ response);
noty({text: '<span style="color: dodgerblue">' + response + '</span>',type: 'success'});
noty({
text: '<span style="color: dodgerblue">' + response + '</span>',
type: 'success'
});
closeAll();
});
}
@ -184,7 +189,7 @@ function setSpeedAlert() {
if (!speedAlertValue) {
var message = "Speed cannot be empty.";
noty({text: message, type : 'error' });
noty({text: message, type: 'error'});
} else {
data = {
'parseData': JSON.stringify({'speedAlertValue': speedAlertValue, 'deviceId': deviceId}), // parseKey : parseValue pair , this key pair is replace with the key in the template file
@ -197,7 +202,7 @@ function setSpeedAlert() {
var responseHandler = function (data, textStatus, xhr) {
closeAll();
if (xhr.status == 200) {
noty({text: 'Successfully added alert', type : 'success'});
noty({text: 'Successfully added alert', type: 'success'});
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g;
var result = (ptrn.exec(data));
@ -207,12 +212,12 @@ function setSpeedAlert() {
} else {
errorTxt = data;
}
noty({text: textStatus + ' : ' + errorTxt, type : 'error'});
noty({text: textStatus + ' : ' + errorTxt, type: 'error'});
}
};
invokerUtil.put(serviceUrl,
data,
responseHandler, function (xhr) {
data,
responseHandler, function (xhr) {
responseHandler(xhr.responseText, xhr.statusText, xhr);
});
}
@ -234,30 +239,31 @@ function setWithinAlert(leafletId) {
if (areaName == null || areaName === undefined || areaName == "") {
var message = "Area Name cannot be empty.";
noty({text: message, type : 'error' });
} else if (areaName.indexOf(" ") > -1) {
noty({text: message, type: 'error'});
} else if ($.trim(areaName).indexOf(" ") > -1) {
var message = "Area Name cannot contain spaces.";
noty({text: message, type : 'error' });
noty({text: message, type: 'error'});
} else {
areaName = $.trim(areaName);
var data = {
'parseData': JSON.stringify({
'geoFenceGeoJSON': selectedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "WithIn", deviceId),
'areaName': areaName,
'deviceId' : deviceId
}),
'geoFenceGeoJSON': selectedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "WithIn", deviceId),
'areaName': areaName,
'deviceId': deviceId
}),
'executionPlan': 'Within',
'customName': areaName, // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'queryName': queryName,
'cepAction': 'deploy',
'deviceId' : deviceId
'deviceId': deviceId
};
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Within/' + deviceType + '/' + deviceId;
var responseHandler = function (data, textStatus, xhr) {
closeTools(leafletId);
if (xhr.status == 200) {
noty({text: 'Successfully added alert', type : 'success'});
noty({text: 'Successfully added alert', type: 'success'});
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g;
var errorTxt;
@ -267,12 +273,12 @@ function setWithinAlert(leafletId) {
} else {
errorTxt = data;
}
noty({text: textStatus + ' : ' + errorTxt, type : 'error'});
noty({text: textStatus + ' : ' + errorTxt, type: 'error'});
}
};
invokerUtil.post(serviceUrl,
data,
responseHandler, function (xhr) {
data,
responseHandler, function (xhr) {
responseHandler(xhr.responseText, xhr.statusText, xhr);
});
viewFenceByData(selectedAreaGeoJson, queryName, areaName, null, 'Within');
@ -292,30 +298,31 @@ function setExitAlert(leafletId) {
if (areaName == null || areaName === undefined || areaName == "") {
var message = "Area Name cannot be empty.";
noty({text: message, type : 'error' });
} else if (areaName.indexOf(" ") > -1) {
noty({text: message, type: 'error'});
} else if ($.trim(areaName).indexOf(" ") > -1) {
var message = "Area Name cannot contain spaces.";
noty({text: message, type : 'error' });
noty({text: message, type: 'error'});
} else {
areaName = $.trim(areaName);
var data = {
'parseData': JSON.stringify({
'geoFenceGeoJSON': selectedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "Exit", deviceId),
'areaName': areaName,
'deviceId' : deviceId
}),
'geoFenceGeoJSON': selectedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "Exit", deviceId),
'areaName': areaName,
'deviceId': deviceId
}),
'executionPlan': 'Exit',
'customName': areaName, // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'queryName': queryName,
'cepAction': 'deploy',
'deviceId' : deviceId
'deviceId': deviceId
};
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Exit/' + deviceType + '/' + deviceId;
var responseHandler = function (data, textStatus, xhr) {
closeTools(leafletId);
if (xhr.status == 200) {
noty({text: 'Successfully added alert', type : 'success'});
noty({text: 'Successfully added alert', type: 'success'});
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g;
var errorTxt;
@ -325,12 +332,12 @@ function setExitAlert(leafletId) {
} else {
errorTxt = data;
}
noty({text: textStatus + ' : ' + errorTxt, type : 'error'});
noty({text: textStatus + ' : ' + errorTxt, type: 'error'});
}
};
invokerUtil.post(serviceUrl,
data,
responseHandler, function (xhr) {
data,
responseHandler, function (xhr) {
responseHandler(xhr.responseText, xhr.statusText, xhr);
});
viewFenceByData(selectedAreaGeoJson, queryName, areaName, null, 'Exit');
@ -357,25 +364,26 @@ function setStationeryAlert(leafletId) {
if (stationeryName == null || stationeryName === undefined || stationeryName == "") {
var message = "Stationery Name cannot be empty.";
noty({text: message, type : 'error' });
} else if (stationeryName.indexOf(" ") > -1) {
noty({text: message, type: 'error'});
} else if ($.trim(stationeryName).indexOf(" ") > -1) {
var message = "Stationery Name cannot contain spaces.";
noty({text: message, type : 'error' });
noty({text: message, type: 'error'});
} else if (fluctuationRadius == null || fluctuationRadius === undefined || fluctuationRadius == "") {
var message = "Fluctuation Radius cannot be empty.";
noty({text: message, type : 'error' });
noty({text: message, type: 'error'});
} else if (time == null || time === undefined || time == "") {
var message = "Time cannot be empty.";
noty({text: message, type: 'error' });
noty({text: message, type: 'error'});
} else {
stationeryName = $.trim(stationeryName);
var data = {
'parseData': JSON.stringify({
'geoFenceGeoJSON': selectedProcessedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "Stationery", deviceId),
'stationeryName': stationeryName,
'stationeryTime': time,
'fluctuationRadius': fluctuationRadius
}),
'geoFenceGeoJSON': selectedProcessedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "Stationery", deviceId),
'stationeryName': stationeryName,
'stationeryTime': time,
'fluctuationRadius': fluctuationRadius
}),
'stationeryTime': time,
'fluctuationRadius': fluctuationRadius,
'executionPlan': 'Stationery',
@ -388,7 +396,7 @@ function setStationeryAlert(leafletId) {
var responseHandler = function (data, textStatus, xhr) {
closeTools(leafletId);
if (xhr.status == 200) {
noty({text: 'Successfully added alert', type : 'success'});
noty({text: 'Successfully added alert', type: 'success'});
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g;
var errorTxt;
@ -398,12 +406,12 @@ function setStationeryAlert(leafletId) {
} else {
errorTxt = data;
}
noty({text: textStatus + ' : ' + errorTxt, type : 'error'});
noty({text: textStatus + ' : ' + errorTxt, type: 'error'});
}
};
invokerUtil.post(serviceUrl,
data,
responseHandler, function (xhr) {
data,
responseHandler, function (xhr) {
responseHandler(xhr.responseText, xhr.statusText, xhr);
});
viewFenceByData(selectedProcessedAreaGeoJson, queryName, areaName, time, 'Stationery');
@ -458,7 +466,6 @@ function setTrafficAlert(leafletId) {
* this is against JSON standards so has been re-replaced when getting the data from governance registry
* (look in get_alerts for .replace() method)
* */
console.log("leafletId: " + leafletId);
var selectedAreaGeoJson = map._layers[leafletId].toGeoJSON().geometry;
//if a circle is drawn adding radius for the object
@ -476,29 +483,30 @@ function setTrafficAlert(leafletId) {
if (areaName == null || areaName === undefined || areaName == "") {
var message = "Area Name cannot be empty.";
noty({text: message, type : 'error' });
} else if (areaName.indexOf(" ") > -1) {
noty({text: message, type: 'error'});
} else if ($.trim(areaName).indexOf(" ") > -1) {
var message = "Area Name cannot contain spaces.";
noty({text: message, type : 'error' });
noty({text: message, type: 'error'});
} else {
areaName = $.trim(areaName);
var data = {
'parseData': JSON.stringify({
'geoFenceGeoJSON': selectedProcessedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "Traffic", deviceId),
'areaName': areaName
}),
'geoFenceGeoJSON': selectedProcessedAreaGeoJson,
'executionPlanName': createExecutionPlanName(queryName, "Traffic", deviceId),
'areaName': areaName
}),
'executionPlan': 'Traffic',
'customName': areaName, // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'queryName': queryName,
'cepAction': 'deploy',
'deviceId': deviceId
};
console.log(JSON.stringify(data));
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Traffic/' + deviceType + '/' + deviceId;
var responseHandler = function (data, textStatus, xhr) {
closeTools(leafletId);
if (xhr.status == 200) {
noty({text: 'Successfully added alert', type : 'success'});
noty({text: 'Successfully added alert', type: 'success'});
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g;
var errorTxt;
@ -508,12 +516,12 @@ function setTrafficAlert(leafletId) {
} else {
errorTxt = data;
}
noty({text: textStatus + ' : ' + errorTxt, type : 'error'});
noty({text: textStatus + ' : ' + errorTxt, type: 'error'});
}
};
invokerUtil.post(serviceUrl,
data,
responseHandler, function (xhr) {
data,
responseHandler, function (xhr) {
responseHandler(xhr.responseText, xhr.statusText, xhr);
});
}
@ -524,24 +532,23 @@ function removeGeoFence(geoFenceElement, id) {
var areaName = $(geoFenceElement).attr('data-areaName');
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/' + id + '/' + deviceType + '/' + deviceId + '?queryName='
+ queryName;
+ queryName;
invokerUtil.delete(serviceUrl, function (response) {
noty({
text: 'Successfully removed ' + id + ' alert',
type: 'success'
});
closeAll();
},
function (xhr) {
noty({
text: 'Could not remove ' + id + ' alert',
type: 'error'
})
});
noty({
text: 'Successfully removed ' + id + ' alert',
type: 'success'
});
closeAll();
},
function (xhr) {
noty({
text: 'Could not remove ' + id + ' alert',
type: 'error'
})
});
}
function getAlertsHistory(deviceType, deviceId, timeFrom, timeTo) {
var timeRange = '';
if (timeFrom && timeTo) {
@ -549,30 +556,30 @@ function getAlertsHistory(deviceType, deviceId, timeFrom, timeTo) {
}
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/history/' + deviceType + '/' + deviceId + timeRange;
invokerUtil.get(serviceUrl,
function (data) {
geoAlertsBar.clearAllAlerts();
var alerts = JSON.parse(data);
$.each(alerts, function (key, val) {
if(val.values){
val = val.values;
}
var msg = deviceType.charAt(0).toUpperCase() + deviceType.slice(1) +
" " + deviceId +" "+ val.information.replace("Alerts: ,", "") + " - " + timeSince(val.timeStamp);
switch (val.state) {
case "NORMAL":
return;
case "WARNING":
geoAlertsBar.addAlert('warn', msg, val);
break;
case "ALERTED":
geoAlertsBar.addAlert('danger', msg, val);
break;
case "OFFLINE":
geoAlertsBar.addAlert('info', msg, val);
break;
}
});
}, function (message) {
function (data) {
geoAlertsBar.clearAllAlerts();
var alerts = JSON.parse(data);
$.each(alerts, function (key, val) {
if (val.values) {
val = val.values;
}
var msg = deviceType.charAt(0).toUpperCase() + deviceType.slice(1) +
" " + deviceId + " " + val.information.replace("Alerts: ,", "") + " - " + timeSince(val.timeStamp);
switch (val.state) {
case "NORMAL":
return;
case "WARNING":
geoAlertsBar.addAlert('warn', msg, val);
break;
case "ALERTED":
geoAlertsBar.addAlert('danger', msg, val);
break;
case "OFFLINE":
geoAlertsBar.addAlert('info', msg, val);
break;
}
});
}, function (message) {
});
}
@ -584,14 +591,16 @@ function setProximityAlert() {
if (proximityDistance == null || proximityDistance === undefined || proximityDistance == "") {
var message = "Proximity distance cannot be empty.";
noty({text: message, type : 'error'});
noty({text: message, type: 'error'});
} else if (proximityTime == null || proximityTime === undefined || proximityTime == "") {
var message = "Proximity Time cannot be empty.";
noty({text: message, type : 'error'});
noty({text: message, type: 'error'});
} else {
var data = {
'parseData': JSON.stringify({'proximityTime': proximityTime, 'proximityDistance': proximityDistance}),
'parseData': JSON.stringify({
'proximityTime': proximityTime,
'proximityDistance': proximityDistance
}),
'proximityTime': proximityTime,
'proximityDistance': proximityDistance,
'executionPlan': 'Proximity',
@ -603,7 +612,7 @@ function setProximityAlert() {
var responseHandler = function (data, textStatus, xhr) {
closeAll();
if (xhr.status == 200) {
noty({text: 'Successfully added alert', type : 'success'});
noty({text: 'Successfully added alert', type: 'success'});
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g;
var errorTxt;
@ -613,12 +622,12 @@ function setProximityAlert() {
} else {
errorTxt = data;
}
noty({text: textStatus + ' : ' + errorTxt, type : 'error'});
noty({text: textStatus + ' : ' + errorTxt, type: 'error'});
}
};
invokerUtil.put(serviceUrl,
data,
responseHandler, function (xhr) {
data,
responseHandler, function (xhr) {
responseHandler(xhr.responseText, xhr.statusText, xhr);
});
@ -630,7 +639,7 @@ function createExecutionPlanName(queryName, id, deviceId) {
if (id == "WithIn") {
return 'Geo-ExecutionPlan-Within' + (queryName ? '_' + queryName : '') + "---" + (deviceId ? '_' + deviceId : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String)
} else if(id == "Exit"){
} else if (id == "Exit") {
return 'Geo-ExecutionPlan-Exit' + (queryName ? '_' + queryName : '') + "---" + (deviceId ? '_' + deviceId : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String)
} else if (id == "Stationery") {
return 'Geo-ExecutionPlan-Stationery' + (queryName ? '_' + queryName : '') + "---" + (deviceId ? '_' + deviceId : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String)

Loading…
Cancel
Save