From 055c34faf3f565edc97f740f7efe2280f2024f85 Mon Sep 17 00:00:00 2001 From: Exodus4D Date: Sat, 3 Sep 2016 19:03:14 +0200 Subject: [PATCH] - added warning for active characters to "delete systems?" - dialog, closed #305 --- js/app/map/system.js | 23 +++++++++++++++++------ public/js/v1.1.4/app/map/system.js | 23 +++++++++++++++++------ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/js/app/map/system.js b/js/app/map/system.js index a63c9403..3a0a6310 100644 --- a/js/app/map/system.js +++ b/js/app/map/system.js @@ -68,15 +68,18 @@ define([ $.fn.showDeleteSystemDialog = (map, systems = []) => { var mapContainer = $( map.getContainer() ); var validDeleteSystems = []; - + var activeCharacters = 0; // check if systems belong to map -> security check for (let system of systems) { + let systemElement = $(system); if( - $(system).data('mapid') === mapContainer.data('id') && - !$(system).data('locked') + systemElement.data('mapid') === mapContainer.data('id') && + !systemElement.data('locked') ){ // system belongs to map -> valid system validDeleteSystems.push(system); + + activeCharacters += (systemElement.data('userCount') ? parseInt( systemElement.data('userCount') ) : 0); } } @@ -88,6 +91,11 @@ define([ msg = 'Delete ' + validDeleteSystems.length + ' selected systems and their connections?'; } + // add warning for active characters + if(activeCharacters > 0){ + msg += ' Warning: ' + activeCharacters + ' active characters'; + } + var systemDeleteDialog = bootbox.confirm(msg, result => { if(result){ deleteSystems(map, validDeleteSystems, (systems) => { @@ -149,6 +157,11 @@ define([ * @param systems */ var removeSystems = (map, systems) => { + + var removeSystemCallbak = function(deleteSystem){ + map.remove(deleteSystem); + }; + for (let system of systems){ system = $(system); @@ -169,9 +182,7 @@ define([ // remove system system.velocity('transition.whirlOut', { duration: Init.animationSpeed.mapDeleteSystem, - complete: function(){ - map.remove(this); - } + complete: removeSystemCallbak }); } }; diff --git a/public/js/v1.1.4/app/map/system.js b/public/js/v1.1.4/app/map/system.js index a63c9403..3a0a6310 100644 --- a/public/js/v1.1.4/app/map/system.js +++ b/public/js/v1.1.4/app/map/system.js @@ -68,15 +68,18 @@ define([ $.fn.showDeleteSystemDialog = (map, systems = []) => { var mapContainer = $( map.getContainer() ); var validDeleteSystems = []; - + var activeCharacters = 0; // check if systems belong to map -> security check for (let system of systems) { + let systemElement = $(system); if( - $(system).data('mapid') === mapContainer.data('id') && - !$(system).data('locked') + systemElement.data('mapid') === mapContainer.data('id') && + !systemElement.data('locked') ){ // system belongs to map -> valid system validDeleteSystems.push(system); + + activeCharacters += (systemElement.data('userCount') ? parseInt( systemElement.data('userCount') ) : 0); } } @@ -88,6 +91,11 @@ define([ msg = 'Delete ' + validDeleteSystems.length + ' selected systems and their connections?'; } + // add warning for active characters + if(activeCharacters > 0){ + msg += ' Warning: ' + activeCharacters + ' active characters'; + } + var systemDeleteDialog = bootbox.confirm(msg, result => { if(result){ deleteSystems(map, validDeleteSystems, (systems) => { @@ -149,6 +157,11 @@ define([ * @param systems */ var removeSystems = (map, systems) => { + + var removeSystemCallbak = function(deleteSystem){ + map.remove(deleteSystem); + }; + for (let system of systems){ system = $(system); @@ -169,9 +182,7 @@ define([ // remove system system.velocity('transition.whirlOut', { duration: Init.animationSpeed.mapDeleteSystem, - complete: function(){ - map.remove(this); - } + complete: removeSystemCallbak }); } };