/** * system effects dialog */ define([ 'jquery', 'app/init', 'app/util', 'app/render', 'bootbox', 'app/map/util' ], function($, Init, Util, Render, bootbox, MapUtil) { 'use strict'; var config = { // system effect dialog systemEffectDialogWrapperClass: 'pf-system-effect-dialog-wrapper' // class for system effect dialog }; var cache = { systemEffectDialog: false // system effect info dialog }; /** * show system effect dialog */ $.fn.showSystemEffectInfoDialog = function(){ // cache table structure if(!cache.systemEffectDialog){ var dialogWrapperElement = $('
', { class: config.systemEffectDialogWrapperClass }); var systemEffectData = Util.getSystemEffectData(); $.each( systemEffectData.wh, function( effectName, effectData ) { var table = $('', { class: ['table', 'table-condensed'].join(' ') }); var tbody = $(''); var thead = $(''); var rows = []; // get formatted system effect name var systemEffectName = MapUtil.getEffectInfoForSystem(effectName, 'name'); var systemEffectClass = MapUtil.getEffectInfoForSystem(effectName, 'class'); $.each( effectData, function( areaId, areaData ) { var systemType = 'C' + areaId; var securityClass = Util.getSecurityClassForSystem( systemType ); if(areaId === '1'){ rows.push( $('') ); thead.append( rows[0] ); rows[0].append( $('') ); tbody.append(rows[i + 1]); // add label rows[i + 1].append( $('
').html( '  ' + systemEffectName).prepend( $('', { class: ['fa', 'fa-square', 'fa-fw', systemEffectClass].join(' ') }) ) ); } rows[0].append( $('', { class: ['text-right', 'col-xs-1', securityClass].join(' ') }).text( systemType )); $.each( areaData, function( i, data ) { if(areaId === '1'){ rows.push( $('
').text( data.effect )); } rows[i + 1].append( $('', { class: 'text-right' }).text( data.value )); }); }); dialogWrapperElement.append( table.append( thead ).append( tbody ) ); cache.systemEffectDialog = dialogWrapperElement; }); } bootbox.dialog({ title: 'System effect information', message: cache.systemEffectDialog }); }; });