- added warning for active characters to "delete systems?" - dialog, closed #305

This commit is contained in:
Exodus4D
2016-09-03 19:03:14 +02:00
parent 6e9b445648
commit 055c34faf3
2 changed files with 34 additions and 12 deletions

View File

@@ -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 += ' <span class="txt-color txt-color-warning">Warning: ' + activeCharacters + ' active characters</span>';
}
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
});
}
};

View File

@@ -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 += ' <span class="txt-color txt-color-warning">Warning: ' + activeCharacters + ' active characters</span>';
}
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
});
}
};