- minor wording changes for wormhole effect labels, closed #624

- updated JS lib "jquery.hoverIntent" `v1.8.0` -> `v1.9.0`
This commit is contained in:
Mark Friedrich
2018-05-06 22:16:09 +02:00
parent 0f46d15149
commit 7ee1287c53
14 changed files with 342 additions and 270 deletions

View File

@@ -44,7 +44,7 @@ requirejs.config({
easyPieChart: 'lib/jquery.easypiechart.min', // v2.1.6 Easy Pie Chart - HTML 5 pie charts - http://rendro.github.io/easy-pie-chart
peityInlineChart: 'lib/jquery.peity.min', // v3.2.1 Inline Chart - http://benpickles.github.io/peity/
dragToSelect: 'lib/jquery.dragToSelect', // v1.1 Drag to Select - http://andreaslagerkvist.com/jquery/drag-to-select
hoverIntent: 'lib/jquery.hoverIntent.minified', // v1.8.0 Hover intention - http://cherne.net/brian/resources/jquery.hoverIntent.html
hoverIntent: 'lib/jquery.hoverIntent.min', // v1.9.0 Hover intention - http://cherne.net/brian/resources/jquery.hoverIntent.html
fullScreen: 'lib/jquery.fullscreen.min', // v0.6.0 Full screen mode - https://github.com/private-face/jquery.fullscreen
select2: 'lib/select2.min', // v4.0.3 Drop Down customization - https://select2.github.io
validator: 'lib/validator.min', // v0.10.1 Validator for Bootstrap 3 - https://github.com/1000hz/bootstrap-validator

View File

@@ -17,19 +17,19 @@ define([], function() {
effect: 'Damage',
value: '+30%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+15%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-15%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-15%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-15%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-15%'
}
],
@@ -38,19 +38,19 @@ define([], function() {
effect: 'Damage',
value: '+44%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+22%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-22%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-22%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-22%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-22%'
}
],
@@ -59,19 +59,19 @@ define([], function() {
effect: 'Damage',
value: '+58%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+29%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-29%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-29%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-29%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-29%'
}
],
@@ -80,19 +80,19 @@ define([], function() {
effect: 'Damage',
value: '+72%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+36%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-36%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-36%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-36%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-36%'
}
],
@@ -101,19 +101,19 @@ define([], function() {
effect: 'Damage',
value: '+86%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+43%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-43%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-43%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-43%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-43%'
}
],
@@ -122,19 +122,19 @@ define([], function() {
effect: 'Damage',
value: '+100%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+50%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-50%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-50%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-50%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-50%'
}
]
@@ -142,109 +142,109 @@ define([], function() {
redGiant: {
1: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+15%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+30%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+30%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+30%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+30%'
}
],
2: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+22%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+44%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+44%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+44%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+44%'
}
],
3: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+29%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+58%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+58%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+58%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+58%'
}
],
4: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+36%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+72%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+72%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+72%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+72%'
}
],
5: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+43%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+86%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+86%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+86%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+86%'
}
],
6: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+50%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+100%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+100%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+100%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+100%'
}
]
@@ -255,7 +255,7 @@ define([], function() {
effect: 'Shield HP',
value: '+30%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-15%'
},{
effect: 'Capacitor recharge',
@@ -264,7 +264,7 @@ define([], function() {
effect: 'Signature',
value: '+30%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+30%'
}
],
@@ -273,7 +273,7 @@ define([], function() {
effect: 'Shield HP',
value: '+44%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-22%'
},{
effect: 'Capacitor recharge',
@@ -282,7 +282,7 @@ define([], function() {
effect: 'Signature',
value: '+44%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+44%'
}
],
@@ -291,7 +291,7 @@ define([], function() {
effect: 'Shield HP',
value: '+58%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-29%'
},{
effect: 'Capacitor recharge',
@@ -300,7 +300,7 @@ define([], function() {
effect: 'Signature',
value: '+58%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+58%'
}
],
@@ -309,7 +309,7 @@ define([], function() {
effect: 'Shield HP',
value: '+72%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-36%'
},{
effect: 'Capacitor recharge',
@@ -318,7 +318,7 @@ define([], function() {
effect: 'Signature',
value: '+72%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+72%'
}
],
@@ -327,7 +327,7 @@ define([], function() {
effect: 'Shield HP',
value: '+86%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-43%'
},{
effect: 'Capacitor recharge',
@@ -336,7 +336,7 @@ define([], function() {
effect: 'Signature',
value: '+86%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+86%'
}
],
@@ -345,7 +345,7 @@ define([], function() {
effect: 'Shield HP',
value: '+100%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-50%'
},{
effect: 'Capacitor recharge',
@@ -354,7 +354,7 @@ define([], function() {
effect: 'Signature',
value: '+100%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+100%'
}
]
@@ -365,13 +365,13 @@ define([], function() {
effect: 'Armor HP',
value: '+30%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-15%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+60%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-15%'
}
],
@@ -380,13 +380,13 @@ define([], function() {
effect: 'Armor HP',
value: '+44%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-22%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+88%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-22%'
}
],
@@ -395,13 +395,13 @@ define([], function() {
effect: 'Armor HP',
value: '+58%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-29%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+116%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-29%'
}
],
@@ -410,13 +410,13 @@ define([], function() {
effect: 'Armor HP',
value: '+72%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-36%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+144%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-36%'
}
],
@@ -425,13 +425,13 @@ define([], function() {
effect: 'Armor HP',
value: '+86%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-43%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+172%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-43%'
}
],
@@ -440,13 +440,13 @@ define([], function() {
effect: 'Armor HP',
value: '+100%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-50%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+200%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-50%'
}
]
@@ -603,13 +603,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+15%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+30%'
},{
effect: 'Ship velocity',
value: '+30%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-15%'
},{
effect: 'Inertia',
@@ -624,13 +624,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+22%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+44%'
},{
effect: 'Ship velocity',
value: '+44%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-22%'
},{
effect: 'Inertia',
@@ -645,13 +645,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+29%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+58%'
},{
effect: 'Ship velocity',
value: '+58%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-29%'
},{
effect: 'Inertia',
@@ -666,13 +666,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+36%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+72%'
},{
effect: 'Ship velocity',
value: '+72%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-36%'
},{
effect: 'Inertia',
@@ -687,13 +687,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+43%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+86%'
},{
effect: 'Ship velocity',
value: '+86%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-43%'
},{
effect: 'Inertia',
@@ -708,13 +708,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+50%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+100%'
},{
effect: 'Ship velocity',
value: '+100%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-50%'
},{
effect: 'Inertia',

View File

@@ -328,8 +328,6 @@ define([
* @param options
*/
$.fn.toggleSystemTooltip = function(show, options){
// tooltip colors
let colorClasses = {
good: 'txt-color-green',
bad: 'txt-color-red'
@@ -525,7 +523,7 @@ define([
// System effect color
$('<i>', {
class: ['fas', 'fa-square ', 'fa-fw', effectBasicClass, effectClass].join(' ')
}).attr('title', effectName)
})
).append(
// expand option
$('<i>', {
@@ -1009,6 +1007,26 @@ define([
checkMapSize(mapWrapper[0]);
}
// system "effect" popover ------------------------------------------------------------------------------------
// -> event delegation to system elements, popup only if needed (hover)
mapWrapper.hoverIntent({
over: function(e){
let effectElement = $(this);
let systemElement = effectElement.closest('.' + config.systemClass);
let security = systemElement.data('security');
let effect = systemElement.data('effect');
effectElement.addSystemEffectTooltip(security, effect, {
trigger: 'manual',
placement: 'right'
}).popover('show');
},
out: function(e){
$(this).popover('destroy');
},
selector: '.' + config.systemClass + ' .' + MapUtil.getEffectInfoForSystem('effect', 'class')
});
};
/**

View File

@@ -285,8 +285,9 @@ define([
// do not fire a "connectionDetached" event
map.detachAllConnections(system, {fireEvent: false});
// hide tooltip
// destroy tooltip/popover
system.toggleSystemTooltip('destroy', {});
system.find('.' + MapUtil.getEffectInfoForSystem('effect', 'class')).popover('destroy');
// remove system
system.velocity('transition.whirlOut', {
@@ -299,7 +300,6 @@ define([
/**
* calculate the x/y coordinates for a new system - relativ to a source system
* @param sourceSystem
* @param grid
* @returns {{x: *, y: *}}
*/
let calculateNewSystemPosition = function(sourceSystem){

View File

@@ -990,16 +990,48 @@ define([
});
};
/**
* add system effect tooltip
* @param security
* @param effect
* @returns {*}
*/
$.fn.addSystemEffectTooltip = function(security, effect, options){
let systemEffectData = Util.getSystemEffectData(security, effect);
let title = '<span class="pf-font-capitalize">' + getEffectInfoForSystem(effect, 'name') + '</span>' +
'<span class="pull-right ' + Util.getSecurityClassForSystem(security) + '">' + security + '</span>';
let content = Util.getSystemEffectTable(systemEffectData);
let defaultOptions = {
placement: 'top',
html: true,
trigger: 'hover',
container: 'body',
title: title,
content: content,
delay: {
show: 150,
hide: 0
},
};
options = $.extend({}, defaultOptions, options);
return this.each(function(){
$(this).popover(options);
});
};
/**
* add a wormhole tooltip with wh specific data to elements
* @param tooltipData
* @returns {*}
*/
$.fn.addWormholeInfoTooltip = function(tooltipData){
return this.each(function() {
return this.each(function(){
let element = $(this);
requirejs(['text!templates/tooltip/wormhole_info.html', 'mustache'], function (template, Mustache) {
requirejs(['text!templates/tooltip/wormhole_info.html', 'mustache'], (template, Mustache) => {
// format tooltip data
let data = {};
if(tooltipData.massTotal){
@@ -1028,9 +1060,9 @@ define([
placement: 'top',
html: true,
trigger: 'hover',
content: '',
container: 'body',
title: title,
content: '',
delay: {
show: 150,
hide: 0

View File

@@ -331,30 +331,7 @@ define([
tooltipElements.tooltip();
// init system effect popover ----------------------------------------------------------------
let infoEffectElement = $(moduleElement).find('.' + config.systemInfoEffectInfoClass);
if(infoEffectElement.length){
// effect row exists -> get effect data
let systemEffectData = Util.getSystemEffectData( systemData.security, systemData.effect);
if(systemEffectData !== false){
// transform data into table
let systemEffectTable = Util.getSystemEffectTable( systemEffectData );
infoEffectElement.popover({
html: true,
trigger: 'hover',
placement: 'top',
delay: 200,
title: 'System effects',
container: 'body',
content: systemEffectTable
});
}else{
// effect data not found (e.g. !unknown! shattered system) -> hide "popover" icon icon
infoEffectElement.children().hide();
}
}
$(moduleElement).find('.' + config.systemInfoEffectInfoClass).addSystemEffectTooltip(systemData.security, systemData.effect);
// init static wormhole information ----------------------------------------------------------
if(systemData.statics){

9
js/lib/jquery.hoverIntent.min.js vendored Normal file
View File

@@ -0,0 +1,9 @@
/*!
* hoverIntent v1.9.0 // 2017.09.01 // jQuery v1.7.0+
* http://briancherne.github.io/jquery-hoverIntent/
*
* You may use hoverIntent under the terms of the MIT license. Basically that
* means you are free to use hoverIntent as long as this header is left intact.
* Copyright 2007-2017 Brian Cherne
*/
!function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):jQuery&&!jQuery.fn.hoverIntent&&factory(jQuery)}(function($){"use strict";var cX,cY,_cfg={interval:100,sensitivity:6,timeout:0},INSTANCE_COUNT=0,track=function(ev){cX=ev.pageX,cY=ev.pageY},compare=function(ev,$el,s,cfg){if(Math.sqrt((s.pX-cX)*(s.pX-cX)+(s.pY-cY)*(s.pY-cY))<cfg.sensitivity)return $el.off(s.event,track),delete s.timeoutId,s.isActive=!0,ev.pageX=cX,ev.pageY=cY,delete s.pX,delete s.pY,cfg.over.apply($el[0],[ev]);s.pX=cX,s.pY=cY,s.timeoutId=setTimeout(function(){compare(ev,$el,s,cfg)},cfg.interval)},delay=function(ev,$el,s,out){return delete $el.data("hoverIntent")[s.id],out.apply($el[0],[ev])};$.fn.hoverIntent=function(handlerIn,handlerOut,selector){var instanceId=INSTANCE_COUNT++,cfg=$.extend({},_cfg);$.isPlainObject(handlerIn)?(cfg=$.extend(cfg,handlerIn),$.isFunction(cfg.out)||(cfg.out=cfg.over)):cfg=$.isFunction(handlerOut)?$.extend(cfg,{over:handlerIn,out:handlerOut,selector:selector}):$.extend(cfg,{over:handlerIn,out:handlerIn,selector:handlerOut});var handleHover=function(e){var ev=$.extend({},e),$el=$(this),hoverIntentData=$el.data("hoverIntent");hoverIntentData||$el.data("hoverIntent",hoverIntentData={});var state=hoverIntentData[instanceId];state||(hoverIntentData[instanceId]=state={id:instanceId}),state.timeoutId&&(state.timeoutId=clearTimeout(state.timeoutId));var mousemove=state.event="mousemove.hoverIntent.hoverIntent"+instanceId;if("mouseenter"===e.type){if(state.isActive)return;state.pX=ev.pageX,state.pY=ev.pageY,$el.off(mousemove,track).on(mousemove,track),state.timeoutId=setTimeout(function(){compare(ev,$el,state,cfg)},cfg.interval)}else{if(!state.isActive)return;$el.off(mousemove,track),state.timeoutId=setTimeout(function(){delay(ev,$el,state,cfg.out)},cfg.timeout)}};return this.on({"mouseenter.hoverIntent":handleHover,"mouseleave.hoverIntent":handleHover},cfg.selector)}});

View File

@@ -44,7 +44,7 @@ requirejs.config({
easyPieChart: 'lib/jquery.easypiechart.min', // v2.1.6 Easy Pie Chart - HTML 5 pie charts - http://rendro.github.io/easy-pie-chart
peityInlineChart: 'lib/jquery.peity.min', // v3.2.1 Inline Chart - http://benpickles.github.io/peity/
dragToSelect: 'lib/jquery.dragToSelect', // v1.1 Drag to Select - http://andreaslagerkvist.com/jquery/drag-to-select
hoverIntent: 'lib/jquery.hoverIntent.minified', // v1.8.0 Hover intention - http://cherne.net/brian/resources/jquery.hoverIntent.html
hoverIntent: 'lib/jquery.hoverIntent.min', // v1.9.0 Hover intention - http://cherne.net/brian/resources/jquery.hoverIntent.html
fullScreen: 'lib/jquery.fullscreen.min', // v0.6.0 Full screen mode - https://github.com/private-face/jquery.fullscreen
select2: 'lib/select2.min', // v4.0.3 Drop Down customization - https://select2.github.io
validator: 'lib/validator.min', // v0.10.1 Validator for Bootstrap 3 - https://github.com/1000hz/bootstrap-validator

View File

@@ -17,19 +17,19 @@ define([], function() {
effect: 'Damage',
value: '+30%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+15%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-15%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-15%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-15%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-15%'
}
],
@@ -38,19 +38,19 @@ define([], function() {
effect: 'Damage',
value: '+44%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+22%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-22%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-22%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-22%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-22%'
}
],
@@ -59,19 +59,19 @@ define([], function() {
effect: 'Damage',
value: '+58%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+29%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-29%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-29%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-29%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-29%'
}
],
@@ -80,19 +80,19 @@ define([], function() {
effect: 'Damage',
value: '+72%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+36%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-36%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-36%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-36%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-36%'
}
],
@@ -101,19 +101,19 @@ define([], function() {
effect: 'Damage',
value: '+86%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+43%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-43%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-43%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-43%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-43%'
}
],
@@ -122,19 +122,19 @@ define([], function() {
effect: 'Damage',
value: '+100%'
},{
effect: 'Missile explosion radius',
effect: 'Missile exp. radius',
value: '+50%'
},{
effect: 'Drone Tracking',
effect: 'Drone tracking',
value: '-50%'
},{
effect: 'Targeting Range',
effect: 'Targeting range',
value: '-50%'
},{
effect: 'Tracking Speed',
effect: 'Tracking speed',
value: '-50%'
},{
effect: 'Target Painter Strength',
effect: 'Target Painter strength',
value: '-50%'
}
]
@@ -142,109 +142,109 @@ define([], function() {
redGiant: {
1: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+15%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+30%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+30%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+30%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+30%'
}
],
2: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+22%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+44%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+44%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+44%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+44%'
}
],
3: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+29%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+58%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+58%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+58%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+58%'
}
],
4: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+36%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+72%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+72%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+72%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+72%'
}
],
5: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+43%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+86%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+86%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+86%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+86%'
}
],
6: [
{
effect: 'Heat Damage',
effect: 'Heat damage',
value: '+50%'
},{
effect: 'Overload Bonus',
effect: 'Overload bonus',
value: '+100%'
},{
effect: 'Smart Bomb Range',
effect: 'Smart Bomb range',
value: '+100%'
},{
effect: 'Smart Bomb Damage',
effect: 'Smart Bomb damage',
value: '+100%'
},{
effect: 'Bomb Damage',
effect: 'Bomb damage',
value: '+100%'
}
]
@@ -255,7 +255,7 @@ define([], function() {
effect: 'Shield HP',
value: '+30%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-15%'
},{
effect: 'Capacitor recharge',
@@ -264,7 +264,7 @@ define([], function() {
effect: 'Signature',
value: '+30%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+30%'
}
],
@@ -273,7 +273,7 @@ define([], function() {
effect: 'Shield HP',
value: '+44%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-22%'
},{
effect: 'Capacitor recharge',
@@ -282,7 +282,7 @@ define([], function() {
effect: 'Signature',
value: '+44%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+44%'
}
],
@@ -291,7 +291,7 @@ define([], function() {
effect: 'Shield HP',
value: '+58%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-29%'
},{
effect: 'Capacitor recharge',
@@ -300,7 +300,7 @@ define([], function() {
effect: 'Signature',
value: '+58%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+58%'
}
],
@@ -309,7 +309,7 @@ define([], function() {
effect: 'Shield HP',
value: '+72%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-36%'
},{
effect: 'Capacitor recharge',
@@ -318,7 +318,7 @@ define([], function() {
effect: 'Signature',
value: '+72%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+72%'
}
],
@@ -327,7 +327,7 @@ define([], function() {
effect: 'Shield HP',
value: '+86%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-43%'
},{
effect: 'Capacitor recharge',
@@ -336,7 +336,7 @@ define([], function() {
effect: 'Signature',
value: '+86%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+86%'
}
],
@@ -345,7 +345,7 @@ define([], function() {
effect: 'Shield HP',
value: '+100%'
},{
effect: 'Armor Resists',
effect: 'Armor resist',
value: '-50%'
},{
effect: 'Capacitor recharge',
@@ -354,7 +354,7 @@ define([], function() {
effect: 'Signature',
value: '+100%'
},{
effect: 'NOS / Neut Drain Amount',
effect: 'NOS/Neut drain',
value: '+100%'
}
]
@@ -365,13 +365,13 @@ define([], function() {
effect: 'Armor HP',
value: '+30%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-15%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+60%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-15%'
}
],
@@ -380,13 +380,13 @@ define([], function() {
effect: 'Armor HP',
value: '+44%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-22%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+88%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-22%'
}
],
@@ -395,13 +395,13 @@ define([], function() {
effect: 'Armor HP',
value: '+58%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-29%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+116%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-29%'
}
],
@@ -410,13 +410,13 @@ define([], function() {
effect: 'Armor HP',
value: '+72%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-36%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+144%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-36%'
}
],
@@ -425,13 +425,13 @@ define([], function() {
effect: 'Armor HP',
value: '+86%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-43%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+172%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-43%'
}
],
@@ -440,13 +440,13 @@ define([], function() {
effect: 'Armor HP',
value: '+100%'
},{
effect: 'Shield Resist',
effect: 'Shield resist',
value: '-50%'
},{
effect: 'Small Weapon Damage',
effect: 'Small Weapon damage',
value: '+200%'
},{
effect: 'Signature Size',
effect: 'Signature size',
value: '-50%'
}
]
@@ -603,13 +603,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+15%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+30%'
},{
effect: 'Ship velocity',
value: '+30%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-15%'
},{
effect: 'Inertia',
@@ -624,13 +624,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+22%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+44%'
},{
effect: 'Ship velocity',
value: '+44%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-22%'
},{
effect: 'Inertia',
@@ -645,13 +645,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+29%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+58%'
},{
effect: 'Ship velocity',
value: '+58%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-29%'
},{
effect: 'Inertia',
@@ -666,13 +666,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+36%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+72%'
},{
effect: 'Ship velocity',
value: '+72%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-36%'
},{
effect: 'Inertia',
@@ -687,13 +687,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+43%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+86%'
},{
effect: 'Ship velocity',
value: '+86%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-43%'
},{
effect: 'Inertia',
@@ -708,13 +708,13 @@ define([], function() {
effect: 'Missile velocity',
value: '+50%'
},{
effect: 'Missile Explosion Velocity',
effect: 'Missile Explosion velocity',
value: '+100%'
},{
effect: 'Ship velocity',
value: '+100%'
},{
effect: 'Stasis Webifier Strength',
effect: 'Stasis Webifier strength',
value: '-50%'
},{
effect: 'Inertia',

View File

@@ -328,8 +328,6 @@ define([
* @param options
*/
$.fn.toggleSystemTooltip = function(show, options){
// tooltip colors
let colorClasses = {
good: 'txt-color-green',
bad: 'txt-color-red'
@@ -525,7 +523,7 @@ define([
// System effect color
$('<i>', {
class: ['fas', 'fa-square ', 'fa-fw', effectBasicClass, effectClass].join(' ')
}).attr('title', effectName)
})
).append(
// expand option
$('<i>', {
@@ -1009,6 +1007,26 @@ define([
checkMapSize(mapWrapper[0]);
}
// system "effect" popover ------------------------------------------------------------------------------------
// -> event delegation to system elements, popup only if needed (hover)
mapWrapper.hoverIntent({
over: function(e){
let effectElement = $(this);
let systemElement = effectElement.closest('.' + config.systemClass);
let security = systemElement.data('security');
let effect = systemElement.data('effect');
effectElement.addSystemEffectTooltip(security, effect, {
trigger: 'manual',
placement: 'right'
}).popover('show');
},
out: function(e){
$(this).popover('destroy');
},
selector: '.' + config.systemClass + ' .' + MapUtil.getEffectInfoForSystem('effect', 'class')
});
};
/**

View File

@@ -285,8 +285,9 @@ define([
// do not fire a "connectionDetached" event
map.detachAllConnections(system, {fireEvent: false});
// hide tooltip
// destroy tooltip/popover
system.toggleSystemTooltip('destroy', {});
system.find('.' + MapUtil.getEffectInfoForSystem('effect', 'class')).popover('destroy');
// remove system
system.velocity('transition.whirlOut', {
@@ -299,7 +300,6 @@ define([
/**
* calculate the x/y coordinates for a new system - relativ to a source system
* @param sourceSystem
* @param grid
* @returns {{x: *, y: *}}
*/
let calculateNewSystemPosition = function(sourceSystem){

View File

@@ -990,16 +990,48 @@ define([
});
};
/**
* add system effect tooltip
* @param security
* @param effect
* @returns {*}
*/
$.fn.addSystemEffectTooltip = function(security, effect, options){
let systemEffectData = Util.getSystemEffectData(security, effect);
let title = '<span class="pf-font-capitalize">' + getEffectInfoForSystem(effect, 'name') + '</span>' +
'<span class="pull-right ' + Util.getSecurityClassForSystem(security) + '">' + security + '</span>';
let content = Util.getSystemEffectTable(systemEffectData);
let defaultOptions = {
placement: 'top',
html: true,
trigger: 'hover',
container: 'body',
title: title,
content: content,
delay: {
show: 150,
hide: 0
},
};
options = $.extend({}, defaultOptions, options);
return this.each(function(){
$(this).popover(options);
});
};
/**
* add a wormhole tooltip with wh specific data to elements
* @param tooltipData
* @returns {*}
*/
$.fn.addWormholeInfoTooltip = function(tooltipData){
return this.each(function() {
return this.each(function(){
let element = $(this);
requirejs(['text!templates/tooltip/wormhole_info.html', 'mustache'], function (template, Mustache) {
requirejs(['text!templates/tooltip/wormhole_info.html', 'mustache'], (template, Mustache) => {
// format tooltip data
let data = {};
if(tooltipData.massTotal){
@@ -1028,9 +1060,9 @@ define([
placement: 'top',
html: true,
trigger: 'hover',
content: '',
container: 'body',
title: title,
content: '',
delay: {
show: 150,
hide: 0

View File

@@ -331,30 +331,7 @@ define([
tooltipElements.tooltip();
// init system effect popover ----------------------------------------------------------------
let infoEffectElement = $(moduleElement).find('.' + config.systemInfoEffectInfoClass);
if(infoEffectElement.length){
// effect row exists -> get effect data
let systemEffectData = Util.getSystemEffectData( systemData.security, systemData.effect);
if(systemEffectData !== false){
// transform data into table
let systemEffectTable = Util.getSystemEffectTable( systemEffectData );
infoEffectElement.popover({
html: true,
trigger: 'hover',
placement: 'top',
delay: 200,
title: 'System effects',
container: 'body',
content: systemEffectTable
});
}else{
// effect data not found (e.g. !unknown! shattered system) -> hide "popover" icon icon
infoEffectElement.children().hide();
}
}
$(moduleElement).find('.' + config.systemInfoEffectInfoClass).addSystemEffectTooltip(systemData.security, systemData.effect);
// init static wormhole information ----------------------------------------------------------
if(systemData.statics){

View File

@@ -0,0 +1,9 @@
/*!
* hoverIntent v1.9.0 // 2017.09.01 // jQuery v1.7.0+
* http://briancherne.github.io/jquery-hoverIntent/
*
* You may use hoverIntent under the terms of the MIT license. Basically that
* means you are free to use hoverIntent as long as this header is left intact.
* Copyright 2007-2017 Brian Cherne
*/
!function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):jQuery&&!jQuery.fn.hoverIntent&&factory(jQuery)}(function($){"use strict";var cX,cY,_cfg={interval:100,sensitivity:6,timeout:0},INSTANCE_COUNT=0,track=function(ev){cX=ev.pageX,cY=ev.pageY},compare=function(ev,$el,s,cfg){if(Math.sqrt((s.pX-cX)*(s.pX-cX)+(s.pY-cY)*(s.pY-cY))<cfg.sensitivity)return $el.off(s.event,track),delete s.timeoutId,s.isActive=!0,ev.pageX=cX,ev.pageY=cY,delete s.pX,delete s.pY,cfg.over.apply($el[0],[ev]);s.pX=cX,s.pY=cY,s.timeoutId=setTimeout(function(){compare(ev,$el,s,cfg)},cfg.interval)},delay=function(ev,$el,s,out){return delete $el.data("hoverIntent")[s.id],out.apply($el[0],[ev])};$.fn.hoverIntent=function(handlerIn,handlerOut,selector){var instanceId=INSTANCE_COUNT++,cfg=$.extend({},_cfg);$.isPlainObject(handlerIn)?(cfg=$.extend(cfg,handlerIn),$.isFunction(cfg.out)||(cfg.out=cfg.over)):cfg=$.isFunction(handlerOut)?$.extend(cfg,{over:handlerIn,out:handlerOut,selector:selector}):$.extend(cfg,{over:handlerIn,out:handlerIn,selector:handlerOut});var handleHover=function(e){var ev=$.extend({},e),$el=$(this),hoverIntentData=$el.data("hoverIntent");hoverIntentData||$el.data("hoverIntent",hoverIntentData={});var state=hoverIntentData[instanceId];state||(hoverIntentData[instanceId]=state={id:instanceId}),state.timeoutId&&(state.timeoutId=clearTimeout(state.timeoutId));var mousemove=state.event="mousemove.hoverIntent.hoverIntent"+instanceId;if("mouseenter"===e.type){if(state.isActive)return;state.pX=ev.pageX,state.pY=ev.pageY,$el.off(mousemove,track).on(mousemove,track),state.timeoutId=setTimeout(function(){compare(ev,$el,state,cfg)},cfg.interval)}else{if(!state.isActive)return;$el.off(mousemove,track),state.timeoutId=setTimeout(function(){delay(ev,$el,state,cfg.out)},cfg.timeout)}};return this.on({"mouseenter.hoverIntent":handleHover,"mouseleave.hoverIntent":handleHover},cfg.selector)}});