Popup.js: Difference between revisions

From Wiki The-West EN
Jump to navigation
No edit summary
No edit summary
Line 102: Line 102:
             }
             }
         }
         }
if (data.text){
for (var i = 0; i < data.text.length;i++){
html += '<p class="popup_text">'+data.text[i]+'</p>';
}
html+='<br/>';
}
if (data.text){
for (var i = 0; i < data.bonus.length;i++){
html += '<p class="popup_bonus">'+data.bonus[i]+'</p>';
}
html+='<br/>';
}
         html += '<div class="popup_infos">';
         html += '<div class="popup_infos">';
         if (data.spd) html += '<p class="popup_speed">Speed: +' + data.spd + '%</p><br/>';
         if (data.spd) html += '<p class="popup_speed">Speed: +' + data.spd + '%</p><br/>';
Line 110: Line 122:
             html += '<i>Unsalable</i><br/><br/>';
             html += '<i>Unsalable</i><br/><br/>';
         }
         }
         html += 'Level <b>' + data.lvl + '</b><br/>';
         if (data.lvl) html += 'Level <b>' + data.lvl + '</b><br/>';
         if (data.sex) {
         if (data.sex) {
             if (data.sex == 0) {
             if (data.sex == 0) {
Line 118: Line 130:
             }
             }
         }
         }
         if (data.upg) {
         if (data.upg == 0) {
            if (data.upg == 0) {
            html += '<span class="popup_txtred">Not upgradeable</span>';
                html += '<span class="popup_txtred">Not upgradeable</span>';
        } else {
            } else {
            html += '<span class="popup_txtgreen">Upgradeable</span>';
                html += '<span class="popup_txtgreen">Upgradeable</span>';
            }
 
         }
         }
         html += '<p class="popup_id"><br/>ID: <b>' + data.id + '</b></p></div>';
         html += '<p class="popup_id"><br/>[item=<b>' + data.id + '</b>]</p></div>';
         return html;
         return html;
     },
     },
Line 193: Line 202:
             fboffs: '<p class="popup_fb">+ #1 <b>Attack</b> (Fort battle sector bonus)</p>',
             fboffs: '<p class="popup_fb">+ #1 <b>Attack</b> (Fort battle sector bonus)</p>',
             fbdmgs: '<p class="popup_fb">+ #1 <b>Damages</b> (Fort battle sector bonus)</p>'
             fbdmgs: '<p class="popup_fb">+ #1 <b>Damages</b> (Fort battle sector bonus)</p>'
        },
        txt: {
            t1: '<p class="popup_text">#1</p>',
            t2: '<p class="popup_text">#1</p>',
            t3: '<p class="popup_text">#1</p>',
            t4: '<p class="popup_text">#1</p>'
        },
        bonus: {
            b1: '<p class="popup_bonus">#1</p>',
            b2: '<p class="popup_bonus">#1</p>',
            b3: '<p class="popup_bonus">#1</p>',
            b4: '<p class="popup_bonus">#1</p>'
         }
         }
     }
     }
};
};

Revision as of 14:55, 5 July 2017

$('body').append('

');

$(document).mousemove(function(e) {

   if (Popup.active) {
       Popup.setPosition(e);
   }

});

if ($("#input_level").length == 1) {

   var input_level = $('<input type="number" class="west" placeholder="Level" min="0" max="150">').bind("propertychange keyup input paste", function() {
       if (this.value > 150) {
           this.value = 150;
       } else if (this.value < 0) {
           this.value = 0;
       }
       $(".calc").each(function() {
           if (input_level.val() == 0) {
               $(this).html(this.id);
               $('.per_level_off').addClass('per_level').removeClass('per_level_off');
           } else {
               $(this).html(Math.ceil(Number(this.id) * input_level.val()));
               $('.per_level').addClass('per_level_off').removeClass('per_level');
           }
       });
   }).appendTo($("#input_level"));

}


//Search if ($("#input_search").length == 1) {

   var input_search = $('<input type="search" class="west" placeholder="Search">').bind("propertychange keyup input paste", function() {
       var val = this.value;
       if (val == ) {
           $('.item_container').show();
       } else {
           $('.item_container').hide();
           $('.item_container').filter(function() {
               return $(this).attr('data-popup').toLowerCase().indexOf(val) > -1;
           }).show();
       }
   }).appendTo($("#input_search"));

}


var Popup = {

   content : "",
   delay : 200,
   active : false,
   show: function(obj) {
       console.time('create_popup');
       Popup.content = Popup.createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'));
       Popup.active = true;
       Popup.setTimeout();
       Popup.getContainer().html(Popup.content);
       console.timeEnd('create_popup');
   },
   hide: function() {
       Popup.getEl().css({
           display: 'none',
           top: 0,
           left: 0
       });
       Popup.active = false;
       Popup.clearTimeout();
   },
   setTimeout: function() {
       Popup.clearTimeout();
       Popup.timer = window.setTimeout(function() {
           Popup.getEl().css('display', 'block');
       }, Popup.delay);
   },
   clearTimeout : function() {
       if (Popup.timer) window.clearTimeout(Popup.timer);
   },
   getEl : function() {
       return $('.popup_window');
   },
   getContainer : function() {
       return $('.popup_contents');
   },
   createPopup: function(data, cdn_cat, cdn_name) {
       data = JSON.parse(data);

var html = '


';

       for (var cat in Popup.data) {
           var cnt = 0;
           for (var key in Popup.data[cat]) {
               if (data.hasOwnProperty(key)) {
                   cnt++;
                   var per_level = "";
                   if (data[key] < 1 && cat == 'skills') {
                       if ($('#input_level input').val() > 0) {
                           data[key] = Math.ceil($('#input_level input').val() * data[key]);
                       } else {
                           per_level = " (per Level)";
                       }
                   }
                   html += Popup.data[cat][key].replace('#1', data[key]).replace('#2', per_level);
               }
           }
           if (cnt > 0) {
               html += '
'; } }

if (data.text){ for (var i = 0; i < data.text.length;i++){

html += '

';

} html+='
'; } if (data.text){ for (var i = 0; i < data.bonus.length;i++){

html += '

';

} html+='
'; }

html += '

';

       return html;
   },

setPosition : function (e) { var window_width = $(window).width();

       var window_height = $(window).height();
       var popup_width = Popup.getEl().outerWidth();
       var popup_height = Popup.getEl().outerHeight()
       var pos_x = e.clientX;
       var pos_y = e.clientY;
       var top;
       var left;
       var margin_top = 20;
       var margin_left = 20;
       if (pos_x + popup_width + margin_left > window_width) {
           left = pos_x - popup_width - margin_left + (e.pageX - e.clientX);
       } else {
           left = pos_x + margin_left + (e.pageX - e.clientX);
       }
       if (pos_y + popup_height + margin_top > window_height) {
           top = window_height - popup_height + (e.pageY - e.clientY);
       } else {
           top = pos_y + margin_top + (e.pageY - e.clientY);
       }
       Popup.getEl().css({
           top: top,
           left: left
       });

},

   data: {
       dmg: {

dmg: '

', dmglvl: '

'

       },
       skills: {

str: '

', mob: '

', dex: '

', cha: '

', con: '

', vig: '

', tou: '

', sta: '

', hea: '

', rid: '

', ref: '

', dod: '

', hid: '

', swi: '

', aim: '

', sho: '

', pit: '

', fin: '

', rep: '

', lea: '

', tac: '

', tra: '

', ani: '

', app: '

'

       },
       fb: {

fbdef: '

', fboff: '

', fbres: '

', fbdefs: '

', fboffs: '

', fbdmgs: '

'

       }
   }

};