@ -56,7 +56,7 @@ function addTileUrl() {
var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/tile_servers.jag" ;
var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/tile_servers.jag" ;
// TODO: If failure happens notify user about the error message
// TODO: If failure happens notify user about the error message
$ . post ( serverUrl , data , function ( response ) {
$ . 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 ( ) ;
closeAll ( ) ;
} ) ;
} ) ;
}
}
@ -77,7 +77,10 @@ function getTileServers() {
$ . getJSON ( "/api/controllers/tile_servers?serverId=all" , function ( data ) {
$ . getJSON ( "/api/controllers/tile_servers?serverId=all" , function ( data ) {
console . log ( JSON . stringify ( data ) ) ;
console . log ( JSON . stringify ( data ) ) ;
$ . each ( data , function ( key , val ) {
$ . 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]
//baseLayers[val.name]
var newTileLayer = L . tileLayer (
var newTileLayer = L . tileLayer (
val . URL , {
val . URL , {
@ -152,8 +155,11 @@ function addWmsEndPoint() {
var serverUrl = "/api/controllers/wms_endpoints" ;
var serverUrl = "/api/controllers/wms_endpoints" ;
// TODO: If failure happens notify user about the error message
// TODO: If failure happens notify user about the error message
$ . post ( serverUrl , data , function ( response ) {
$ . post ( serverUrl , data , function ( response ) {
console . log ( "------->><wms_endpoints>" + 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 ( ) ;
closeAll ( ) ;
} ) ;
} ) ;
}
}
@ -184,7 +190,7 @@ function setSpeedAlert() {
if ( ! speedAlertValue ) {
if ( ! speedAlertValue ) {
var message = "Speed cannot be empty." ;
var message = "Speed cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else {
} else {
data = {
data = {
'parseData' : JSON . stringify ( { 'speedAlertValue' : speedAlertValue , 'deviceId' : deviceId } ) , // parseKey : parseValue pair , this key pair is replace with the key in the template file
'parseData' : JSON . stringify ( { 'speedAlertValue' : speedAlertValue , 'deviceId' : deviceId } ) , // parseKey : parseValue pair , this key pair is replace with the key in the template file
@ -197,7 +203,7 @@ function setSpeedAlert() {
var responseHandler = function ( data , textStatus , xhr ) {
var responseHandler = function ( data , textStatus , xhr ) {
closeAll ( ) ;
closeAll ( ) ;
if ( xhr . status == 200 ) {
if ( xhr . status == 200 ) {
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
} else {
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var result = ( ptrn . exec ( data ) ) ;
var result = ( ptrn . exec ( data ) ) ;
@ -207,7 +213,7 @@ function setSpeedAlert() {
} else {
} else {
errorTxt = data ;
errorTxt = data ;
}
}
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
}
}
} ;
} ;
invokerUtil . put ( serviceUrl ,
invokerUtil . put ( serviceUrl ,
@ -234,30 +240,31 @@ function setWithinAlert(leafletId) {
if ( areaName == null || areaName === undefined || areaName == "" ) {
if ( areaName == null || areaName === undefined || areaName == "" ) {
var message = "Area Name cannot be empty." ;
var message = "Area Name cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( areaName. indexOf ( " " ) > - 1 ) {
} else if ( $. trim ( areaName) . indexOf ( " " ) > - 1 ) {
var message = "Area Name cannot contain spaces." ;
var message = "Area Name cannot contain spaces." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else {
} else {
areaName = $ . trim ( areaName ) ;
var data = {
var data = {
'parseData' : JSON . stringify ( {
'parseData' : JSON . stringify ( {
'geoFenceGeoJSON' : selectedAreaGeoJson ,
'geoFenceGeoJSON' : selectedAreaGeoJson ,
'executionPlanName' : createExecutionPlanName ( queryName , "WithIn" , deviceId ) ,
'executionPlanName' : createExecutionPlanName ( queryName , "WithIn" , deviceId ) ,
'areaName' : areaName ,
'areaName' : areaName ,
'deviceId' : deviceId
'deviceId' : deviceId
} ) ,
} ) ,
'executionPlan' : 'Within' ,
'executionPlan' : 'Within' ,
'customName' : areaName , // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'customName' : areaName , // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'queryName' : queryName ,
'queryName' : queryName ,
'cepAction' : 'deploy' ,
'cepAction' : 'deploy' ,
'deviceId' : deviceId
'deviceId' : deviceId
} ;
} ;
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Within/' + deviceType + '/' + deviceId ;
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Within/' + deviceType + '/' + deviceId ;
var responseHandler = function ( data , textStatus , xhr ) {
var responseHandler = function ( data , textStatus , xhr ) {
closeTools ( leafletId ) ;
closeTools ( leafletId ) ;
if ( xhr . status == 200 ) {
if ( xhr . status == 200 ) {
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
} else {
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var errorTxt ;
var errorTxt ;
@ -267,7 +274,7 @@ function setWithinAlert(leafletId) {
} else {
} else {
errorTxt = data ;
errorTxt = data ;
}
}
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
}
}
} ;
} ;
invokerUtil . post ( serviceUrl ,
invokerUtil . post ( serviceUrl ,
@ -292,30 +299,31 @@ function setExitAlert(leafletId) {
if ( areaName == null || areaName === undefined || areaName == "" ) {
if ( areaName == null || areaName === undefined || areaName == "" ) {
var message = "Area Name cannot be empty." ;
var message = "Area Name cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( areaName. indexOf ( " " ) > - 1 ) {
} else if ( $. trim ( areaName) . indexOf ( " " ) > - 1 ) {
var message = "Area Name cannot contain spaces." ;
var message = "Area Name cannot contain spaces." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else {
} else {
areaName = $ . trim ( areaName ) ;
var data = {
var data = {
'parseData' : JSON . stringify ( {
'parseData' : JSON . stringify ( {
'geoFenceGeoJSON' : selectedAreaGeoJson ,
'geoFenceGeoJSON' : selectedAreaGeoJson ,
'executionPlanName' : createExecutionPlanName ( queryName , "Exit" , deviceId ) ,
'executionPlanName' : createExecutionPlanName ( queryName , "Exit" , deviceId ) ,
'areaName' : areaName ,
'areaName' : areaName ,
'deviceId' : deviceId
'deviceId' : deviceId
} ) ,
} ) ,
'executionPlan' : 'Exit' ,
'executionPlan' : 'Exit' ,
'customName' : areaName , // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'customName' : areaName , // TODO: fix , When template copies there can be two queryName and areaName id elements in the DOM
'queryName' : queryName ,
'queryName' : queryName ,
'cepAction' : 'deploy' ,
'cepAction' : 'deploy' ,
'deviceId' : deviceId
'deviceId' : deviceId
} ;
} ;
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Exit/' + deviceType + '/' + deviceId ;
var serviceUrl = '/api/device-mgt/v1.0/geo-services/alerts/Exit/' + deviceType + '/' + deviceId ;
var responseHandler = function ( data , textStatus , xhr ) {
var responseHandler = function ( data , textStatus , xhr ) {
closeTools ( leafletId ) ;
closeTools ( leafletId ) ;
if ( xhr . status == 200 ) {
if ( xhr . status == 200 ) {
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
} else {
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var errorTxt ;
var errorTxt ;
@ -325,7 +333,7 @@ function setExitAlert(leafletId) {
} else {
} else {
errorTxt = data ;
errorTxt = data ;
}
}
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
}
}
} ;
} ;
invokerUtil . post ( serviceUrl ,
invokerUtil . post ( serviceUrl ,
@ -357,17 +365,18 @@ function setStationeryAlert(leafletId) {
if ( stationeryName == null || stationeryName === undefined || stationeryName == "" ) {
if ( stationeryName == null || stationeryName === undefined || stationeryName == "" ) {
var message = "Stationery Name cannot be empty." ;
var message = "Stationery Name cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( stationeryName. indexOf ( " " ) > - 1 ) {
} else if ( $. trim ( stationeryName) . indexOf ( " " ) > - 1 ) {
var message = "Stationery Name cannot contain spaces." ;
var message = "Stationery Name cannot contain spaces." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( fluctuationRadius == null || fluctuationRadius === undefined || fluctuationRadius == "" ) {
} else if ( fluctuationRadius == null || fluctuationRadius === undefined || fluctuationRadius == "" ) {
var message = "Fluctuation Radius cannot be empty." ;
var message = "Fluctuation Radius cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( time == null || time === undefined || time == "" ) {
} else if ( time == null || time === undefined || time == "" ) {
var message = "Time cannot be empty." ;
var message = "Time cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else {
} else {
stationeryName = $ . trim ( stationeryName ) ;
var data = {
var data = {
'parseData' : JSON . stringify ( {
'parseData' : JSON . stringify ( {
'geoFenceGeoJSON' : selectedProcessedAreaGeoJson ,
'geoFenceGeoJSON' : selectedProcessedAreaGeoJson ,
@ -388,7 +397,7 @@ function setStationeryAlert(leafletId) {
var responseHandler = function ( data , textStatus , xhr ) {
var responseHandler = function ( data , textStatus , xhr ) {
closeTools ( leafletId ) ;
closeTools ( leafletId ) ;
if ( xhr . status == 200 ) {
if ( xhr . status == 200 ) {
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
} else {
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var errorTxt ;
var errorTxt ;
@ -398,7 +407,7 @@ function setStationeryAlert(leafletId) {
} else {
} else {
errorTxt = data ;
errorTxt = data ;
}
}
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
}
}
} ;
} ;
invokerUtil . post ( serviceUrl ,
invokerUtil . post ( serviceUrl ,
@ -476,11 +485,12 @@ function setTrafficAlert(leafletId) {
if ( areaName == null || areaName === undefined || areaName == "" ) {
if ( areaName == null || areaName === undefined || areaName == "" ) {
var message = "Area Name cannot be empty." ;
var message = "Area Name cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( areaName. indexOf ( " " ) > - 1 ) {
} else if ( $. trim ( areaName) . indexOf ( " " ) > - 1 ) {
var message = "Area Name cannot contain spaces." ;
var message = "Area Name cannot contain spaces." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else {
} else {
areaName = $ . trim ( areaName ) ;
var data = {
var data = {
'parseData' : JSON . stringify ( {
'parseData' : JSON . stringify ( {
'geoFenceGeoJSON' : selectedProcessedAreaGeoJson ,
'geoFenceGeoJSON' : selectedProcessedAreaGeoJson ,
@ -498,7 +508,7 @@ function setTrafficAlert(leafletId) {
var responseHandler = function ( data , textStatus , xhr ) {
var responseHandler = function ( data , textStatus , xhr ) {
closeTools ( leafletId ) ;
closeTools ( leafletId ) ;
if ( xhr . status == 200 ) {
if ( xhr . status == 200 ) {
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
} else {
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var errorTxt ;
var errorTxt ;
@ -508,7 +518,7 @@ function setTrafficAlert(leafletId) {
} else {
} else {
errorTxt = data ;
errorTxt = data ;
}
}
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
}
}
} ;
} ;
invokerUtil . post ( serviceUrl ,
invokerUtil . post ( serviceUrl ,
@ -541,7 +551,6 @@ function removeGeoFence(geoFenceElement, id) {
}
}
function getAlertsHistory ( deviceType , deviceId , timeFrom , timeTo ) {
function getAlertsHistory ( deviceType , deviceId , timeFrom , timeTo ) {
var timeRange = '' ;
var timeRange = '' ;
if ( timeFrom && timeTo ) {
if ( timeFrom && timeTo ) {
@ -553,11 +562,11 @@ function getAlertsHistory(deviceType, deviceId, timeFrom, timeTo) {
geoAlertsBar . clearAllAlerts ( ) ;
geoAlertsBar . clearAllAlerts ( ) ;
var alerts = JSON . parse ( data ) ;
var alerts = JSON . parse ( data ) ;
$ . each ( alerts , function ( key , val ) {
$ . each ( alerts , function ( key , val ) {
if ( val . values ) {
if ( val . values ) {
val = val . values ;
val = val . values ;
}
}
var msg = deviceType . charAt ( 0 ) . toUpperCase ( ) + deviceType . slice ( 1 ) +
var msg = deviceType . charAt ( 0 ) . toUpperCase ( ) + deviceType . slice ( 1 ) +
" " + deviceId + " " + val . information . replace ( "Alerts: ," , "" ) + " - " + timeSince ( val . timeStamp ) ;
" " + deviceId + " " + val . information . replace ( "Alerts: ," , "" ) + " - " + timeSince ( val . timeStamp ) ;
switch ( val . state ) {
switch ( val . state ) {
case "NORMAL" :
case "NORMAL" :
return ;
return ;
@ -584,14 +593,17 @@ function setProximityAlert() {
if ( proximityDistance == null || proximityDistance === undefined || proximityDistance == "" ) {
if ( proximityDistance == null || proximityDistance === undefined || proximityDistance == "" ) {
var message = "Proximity distance cannot be empty." ;
var message = "Proximity distance cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else if ( proximityTime == null || proximityTime === undefined || proximityTime == "" ) {
} else if ( proximityTime == null || proximityTime === undefined || proximityTime == "" ) {
var message = "Proximity Time cannot be empty." ;
var message = "Proximity Time cannot be empty." ;
noty ( { text : message , type : 'error' } ) ;
noty ( { text : message , type : 'error' } ) ;
} else {
} else {
var data = {
var data = {
'parseData' : JSON . stringify ( { 'proximityTime' : proximityTime , 'proximityDistance' : proximityDistance } ) ,
'parseData' : JSON . stringify ( {
'proximityTime' : proximityTime ,
'proximityDistance' : proximityDistance
} ) ,
'proximityTime' : proximityTime ,
'proximityTime' : proximityTime ,
'proximityDistance' : proximityDistance ,
'proximityDistance' : proximityDistance ,
'executionPlan' : 'Proximity' ,
'executionPlan' : 'Proximity' ,
@ -603,7 +615,7 @@ function setProximityAlert() {
var responseHandler = function ( data , textStatus , xhr ) {
var responseHandler = function ( data , textStatus , xhr ) {
closeAll ( ) ;
closeAll ( ) ;
if ( xhr . status == 200 ) {
if ( xhr . status == 200 ) {
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
noty ( { text : 'Successfully added alert' , type : 'success' } ) ;
} else {
} else {
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var ptrn = /(?:<am\:description>)(.*)(?:<\/am\:description>)/g ;
var errorTxt ;
var errorTxt ;
@ -613,7 +625,7 @@ function setProximityAlert() {
} else {
} else {
errorTxt = data ;
errorTxt = data ;
}
}
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
noty ( { text : textStatus + ' : ' + errorTxt , type : 'error' } ) ;
}
}
} ;
} ;
invokerUtil . put ( serviceUrl ,
invokerUtil . put ( serviceUrl ,
@ -630,7 +642,7 @@ function createExecutionPlanName(queryName, id, deviceId) {
if ( id == "WithIn" ) {
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)
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)
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" ) {
} 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)
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)