MediaWiki:Common.js: Diferență între versiuni

De la Wiki The-West RO
Jump to navigation
Fără descriere a modificării
Fără descriere a modificării
 
(Nu s-au afișat 217 versiuni intermediare efectuate de alți 3 utilizatori)
Linia 1: Linia 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
$('.tbbox-logo').wrap('<a href="/wiki/Pagina_principal%C4%83"></a>');
if ($('.item_container').length!==0) {
    $('.item_container').each(function() {
        $(this).append('<img src="https://westzz.innogamescdn.com/images/items/' + $(this).attr('data-url') + '?1">');
    });
    $.getScript("/wiki/Popup.js?action=raw");
}
$(window).scroll(function() {
    if ($(this).scrollTop() > 300) {
        $('#back-top').fadeIn();
    } else {
        $('#back-top').fadeOut();
    }
});
// Scroll body to top on click
$('#back-top a').click(function() {
    $('body,html').animate({
        scrollTop: 0
    }, 800);
    return false;
});
// Embed youtube videos
if ($('.youtube_video').length !== 0) {
    $('.youtube_video').each(function() {
        $(this).html('<iframe width="100%" height="100%" src="https://www.youtube.com/embed/' + $(this).attr('data-id') + '?cc_load_policy=1&cc_lang_pref=' + $(this).attr('data-subtitles') + '" frameborder="0" allowfullscreen></iframe>');
    });
}
//Configuration du tri des diacritique dans les tables de class "sortable"
mw.config.set( 'tableSorterCollation', {'à':'a', 'â':'a', 'æ':'ae', 'é':'e', 'è':'e', 'ê':'e', 'î':'i', 'ï':'i', 'ô':'o', 'œ':'oe', 'û':'u', 'ç':'c',  } );
if ($('#calcLvlLoss').length !== 0) {
  var context = $('#calcLvlLoss');
  var input_character_level = $('<input type="number" style="width:150px;" class="west" placeholder="Nivel" 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;
    }
    calcLvlLoss();
  }).appendTo(context.find(".character_level"));
  var input_duel_level = $('<input type="number" style="width:150px;" class="west" placeholder="Nivelul duelului" min="0" max="450">').bind("propertychange keyup input paste", function() {
    if (this.value > 450) {
      this.value = 450;
    } else if (this.value < 0) {
      this.value = 0;
    }
    calcLvlLoss();
  }).appendTo(context.find(".duel_level"));
  function calcLvlLoss() {
    var duel_lvl = parseInt(input_duel_level.val()),
      char_lvl = parseInt(input_character_level.val());
    if (isNaN(duel_lvl) || isNaN(char_lvl) || duel_lvl < char_lvl) {
      context.find('.result').html('');
    } else {
      var getXp = function(lvl) {
          return Math.ceil(Math.pow((lvl) / 0.1, 1 / 0.6));
        },
        getLvl = function(xp, perc) {
          return char_lvl + Math.floor(Math.pow(xp * (perc || 1), 0.6) * 0.1);
        };
      var minXp = getXp(duel_lvl - char_lvl),
        maxXp = duel_lvl === 450 ? '∞' : getXp(duel_lvl + 1 - char_lvl),
        minLvl = getLvl(minXp, 0.9),
        maxLvl = duel_lvl === 450 ? 450 : getLvl(maxXp, 0.9);
      context.find('.result').html('Experiența de duel actuală: ' + minXp + ' - ' + maxXp + '<br/>Nivelul de duel după utilizarea poțiunii: ' + minLvl + (maxLvl > minLvl ? ' - ' + maxLvl : ''));
    }
  }
}
//Quests header translation & repeatable translation - Criminus
$(".prq_dispo b").each(function() {
    $(this).text($(this).text().replace(/from/g, "De pe").replace(/at/g, "de la ora").replace(/until/g, "până pe"));
});
//Quest Realtime Search - Criminus
//Let's generate an input box - Criminus
$('.target_input p').each(function() {
var id = $(this).attr('id');
var phrase = $(this).text();
var newInput="<input type='number' name='input_nou' value='"+phrase+"' class='target' max='999' min='1' />";
$(this).replaceWith(newInput);
});
$(document).on('keyup', 'input[name=input_nou]', function() {
  var _this = $(this);
  var min = parseInt(_this.attr('min')) || 1; // if min attribute is not defined, 1 is default
  var max = parseInt(_this.attr('max')) || 100; // if max attribute is not defined, 100 is default
  var val = parseInt(_this.val()) || (min - 1); // if input char is not a number the value will be (min - 1) so first condition will be true
  if (val < min)
    _this.val(min);
  if (val > max)
    _this.val(max);
});
(function($) {
    $(document).ready(function() {
        var multiplierValue = 1;
        var currentAmountsArray = [];
        $('.amount').each(function(index) {
            currentAmountsArray[index] = parseInt($(this).text());
        });
        if ($("input[name='input_nou']").length > 0) {
            $("input[name='input_nou']").change(function() {
                multiplierValue = $(this).val();
                $('.amount').each(function(index) {
                    $(this).text(currentAmountsArray[index] * multiplierValue);
                });
                $('.craft_extra').show();
                $('.craft_extra .item_container').each(function() {
                    $(this).children().addClass('OverlayItem');
                });
            });
            $("input[name='input_nou']").keyup(function() {
                multiplierValue = $(this).val();
                $('.amount').each(function(index) {
                    $(this).text(currentAmountsArray[index] * multiplierValue);
                });
                $('.craft_extra').show();
                $('.craft_extra .item_container').each(function() {
                    $(this).children().addClass('OverlayItem');
                });
            });
        }
    });
})(jQuery);
//Live search through craft items - Criminus
$('.search_craft p').each(function() {
var id = $(this).attr('id');
var phrase = $(this).text();
var newInput="<input type='text' id='live_search' name='craft_search' value='"+phrase+"' class='craft_search' />";
$(this).replaceWith(newInput);
});
$("#live_search").on("keyup", function() {
    var value = $(this).val();
    $("table tr").each(function(index) {
        if (index !== 0) {
            $row = $(this);
            var id = $.map($row.find('td .item_container'), function(element) {
                return $(element).attr("data-popup")
            }).join(' ');
            if (id.toLowerCase().indexOf(value.toLowerCase()) < 0) {
                $row.hide();
            } else {
                $row.show();
            }
        }
    });
});
// As seen on https://bitbucket.org/cmcqueen1975/htmlfloatingtableheader/overview
function UpdateTableHeaders() {
$("div.divTableWithFloatingHeader").each(function() {
var originalHeaderRow = $(".tableFloatingHeaderOriginal", this);
var floatingHeaderRow = $(".tableFloatingHeader", this);
var offset = $(this).offset();
var scrollTop = $(window).scrollTop();
if ((scrollTop > originalHeaderRow.offset().top) && (scrollTop < offset.top + $(this).height() - originalHeaderRow.height())) {
floatingHeaderRow.css("visibility", "visible");
floatingHeaderRow.css("top", "0px");
// Copy cell widths from original header
$("th", floatingHeaderRow).each(function(index) {
var cellWidth = $("th", originalHeaderRow).eq(index).css('width');
$(this).css('width', cellWidth);
});
// Copy row width from whole table
floatingHeaderRow.css("width", $(this).css("width"));
}
else {
floatingHeaderRow.css("visibility", "hidden");
floatingHeaderRow.css("top", "0px");
}
});
};
$(function() {
$("table.tableWithFloatingHeader").each(function() {
$(this).wrap("<div class=\"divTableWithFloatingHeader\" style=\"position:relative\"></div>");
var cls = "tr.floatingHeader";
if($(cls, this).length == 0) {
cls = "tr";
}
var originalHeaderRow = $(cls, this).first();
var clonedHeaderRow = originalHeaderRow.clone().insertBefore(originalHeaderRow);
clonedHeaderRow.addClass("tableFloatingHeader");
clonedHeaderRow.css("position", "fixed");
clonedHeaderRow.css("top", "0px");
clonedHeaderRow.css("left", $(this).offset().left);
clonedHeaderRow.css("visibility", "hidden");
clonedHeaderRow.css("z-index", 1);
originalHeaderRow.addClass("tableFloatingHeaderOriginal");
});
UpdateTableHeaders();
$(window).on('scroll', UpdateTableHeaders);
$(window).on('resize', UpdateTableHeaders);
});
(function($) {
    $(document).ready(function() {
$('.radioButtonsHere').replaceWith('<center><input id="normal" type="radio" value="0" class="selectRadio" name="selectRadio"/> Job Normal <input id="silver" type="radio" value="50" class="selectRadio" name="selectRadio"/> Argint <input id="aura" type="radio" value="100" class="selectRadio" name="selectRadio"/> Aur</center>');
        var multiplierValue = 1;
        var currentXPArray = [];
var currentCashArray = [];
        $('.xp').each(function(index) {
            currentXPArray[index] = parseInt($(this).text());
        });
        $('.money').each(function(index) {
            var getNumber = $(this).text().replace(/[^0-9]/gi, '');
            currentCashArray[index] = parseFloat(getNumber, 10);
        });
        $("input[name='selectRadio']").change(function() {
            multiplierValue = $(this).val();
            $('.xp').each(function(index) {
var finalXP = currentXPArray[index] + (currentXPArray[index] * (multiplierValue / 100));
                $(this).text(Math.round(finalXP));
$(this).css({ 'font-weight': 'bold' });
            });
            $('.money').each(function(index) {
var finalCash = currentCashArray[index] + (currentCashArray[index] * (multiplierValue / 100));
var cashSymbol = "$ ";
                $(this).text(cashSymbol + Math.round(finalCash));
$(this).css({ 'font-weight': 'bold' });
            });
        });
$('.appImage').replaceWith('<img src="https://wiki.the-west.net/images/8/8c/Transparent.png" class="job_Type" style="position:absolute;margin-top:-6px;margin-left:-6px;" />');
$("input[name='selectRadio']").change(
function(){
var $src = "";
if ($(this).val() == '50') {
$src = "https://wiki.the-west.net/images/a/ac/Silverjob_small.png";
}
else if ($(this).val() == '100') {
$src = "https://wiki.the-west.net/images/a/a6/Goldjob_small.png";
}
else{
$src = "https://wiki.the-west.net/images/8/8c/Transparent.png"
$('.money').css({ 'font-weight': 'normal' });
$('.xp').css({ 'font-weight': 'normal' });
}
$('.job_Type').attr('src',$src);
});
    });
})(jQuery);

Versiunea curentă din 17 octombrie 2022 01:51

/* Any JavaScript here will be loaded for all users on every page load. */

/* Any JavaScript here will be loaded for all users on every page load. */
$('.tbbox-logo').wrap('<a href="/wiki/Pagina_principal%C4%83"></a>');

if ($('.item_container').length!==0) {
    $('.item_container').each(function() {
        $(this).append('<img src="https://westzz.innogamescdn.com/images/items/' + $(this).attr('data-url') + '?1">');
    });
    $.getScript("/wiki/Popup.js?action=raw");
}


$(window).scroll(function() {
    if ($(this).scrollTop() > 300) {
        $('#back-top').fadeIn();
    } else {
        $('#back-top').fadeOut();
    }
});
// Scroll body to top on click
$('#back-top a').click(function() {
    $('body,html').animate({
        scrollTop: 0
    }, 800);
    return false;
});
// Embed youtube videos
if ($('.youtube_video').length !== 0) {
    $('.youtube_video').each(function() {
        $(this).html('<iframe width="100%" height="100%" src="https://www.youtube.com/embed/' + $(this).attr('data-id') + '?cc_load_policy=1&cc_lang_pref=' + $(this).attr('data-subtitles') + '" frameborder="0" allowfullscreen></iframe>');
    });
}
//Configuration du tri des diacritique dans les tables de class "sortable"
mw.config.set( 'tableSorterCollation', {'à':'a', 'â':'a', 'æ':'ae', 'é':'e', 'è':'e', 'ê':'e', 'î':'i', 'ï':'i', 'ô':'o', 'œ':'oe', 'û':'u', 'ç':'c',  } );
if ($('#calcLvlLoss').length !== 0) {
  var context = $('#calcLvlLoss');
  var input_character_level = $('<input type="number" style="width:150px;" class="west" placeholder="Nivel" 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;
    }
    calcLvlLoss();
  }).appendTo(context.find(".character_level"));
  var input_duel_level = $('<input type="number" style="width:150px;" class="west" placeholder="Nivelul duelului" min="0" max="450">').bind("propertychange keyup input paste", function() {
    if (this.value > 450) {
      this.value = 450;
    } else if (this.value < 0) {
      this.value = 0;
    }
    calcLvlLoss();
  }).appendTo(context.find(".duel_level"));
  function calcLvlLoss() {
    var duel_lvl = parseInt(input_duel_level.val()),
      char_lvl = parseInt(input_character_level.val());
    if (isNaN(duel_lvl) || isNaN(char_lvl) || duel_lvl < char_lvl) {
      context.find('.result').html('');
    } else {
      var getXp = function(lvl) {
          return Math.ceil(Math.pow((lvl) / 0.1, 1 / 0.6));
        },
        getLvl = function(xp, perc) {
          return char_lvl + Math.floor(Math.pow(xp * (perc || 1), 0.6) * 0.1);
        };
      var minXp = getXp(duel_lvl - char_lvl),
        maxXp = duel_lvl === 450 ? '∞' : getXp(duel_lvl + 1 - char_lvl),
        minLvl = getLvl(minXp, 0.9),
        maxLvl = duel_lvl === 450 ? 450 : getLvl(maxXp, 0.9);
      context.find('.result').html('Experiența de duel actuală: ' + minXp + ' - ' + maxXp + '<br/>Nivelul de duel după utilizarea poțiunii: ' + minLvl + (maxLvl > minLvl ? ' - ' + maxLvl : ''));
    }
  }
}

//Quests header translation & repeatable translation - Criminus
$(".prq_dispo b").each(function() {
    $(this).text($(this).text().replace(/from/g, "De pe").replace(/at/g, "de la ora").replace(/until/g, "până pe")); 
});
//Quest Realtime Search - Criminus

//Let's generate an input box - Criminus
$('.target_input p').each(function() {
	var id = $(this).attr('id');
	var phrase = $(this).text();
	var newInput="<input type='number' name='input_nou' value='"+phrase+"' class='target' max='999' min='1' />";
	$(this).replaceWith(newInput);
});

$(document).on('keyup', 'input[name=input_nou]', function() {
  var _this = $(this);
  var min = parseInt(_this.attr('min')) || 1; // if min attribute is not defined, 1 is default
  var max = parseInt(_this.attr('max')) || 100; // if max attribute is not defined, 100 is default
  var val = parseInt(_this.val()) || (min - 1); // if input char is not a number the value will be (min - 1) so first condition will be true
  if (val < min)
    _this.val(min);
  if (val > max)
    _this.val(max);
});

(function($) {
    $(document).ready(function() {
        var multiplierValue = 1;
        var currentAmountsArray = [];
        $('.amount').each(function(index) {
            currentAmountsArray[index] = parseInt($(this).text());
        });
        if ($("input[name='input_nou']").length > 0) {
            $("input[name='input_nou']").change(function() {
                multiplierValue = $(this).val();
                $('.amount').each(function(index) {
                    $(this).text(currentAmountsArray[index] * multiplierValue);
                });
                $('.craft_extra').show();
                $('.craft_extra .item_container').each(function() {
                    $(this).children().addClass('OverlayItem');
                });

            });
            $("input[name='input_nou']").keyup(function() {
                multiplierValue = $(this).val();
                $('.amount').each(function(index) {
                    $(this).text(currentAmountsArray[index] * multiplierValue);
                });
                $('.craft_extra').show();
                $('.craft_extra .item_container').each(function() {
                    $(this).children().addClass('OverlayItem');
                });
            });
        }
    });
})(jQuery);

//Live search through craft items - Criminus
$('.search_craft p').each(function() {
	var id = $(this).attr('id');
	var phrase = $(this).text();
	var newInput="<input type='text' id='live_search' name='craft_search' value='"+phrase+"' class='craft_search' />";
	$(this).replaceWith(newInput);
});

$("#live_search").on("keyup", function() {
    var value = $(this).val();
    $("table tr").each(function(index) {
        if (index !== 0) {
            $row = $(this);
            var id = $.map($row.find('td .item_container'), function(element) {
                return $(element).attr("data-popup")
            }).join(' ');
            if (id.toLowerCase().indexOf(value.toLowerCase()) < 0) {
                $row.hide();
            } else {
                $row.show();
            }
        }
    });
});

// As seen on https://bitbucket.org/cmcqueen1975/htmlfloatingtableheader/overview
function UpdateTableHeaders() {
	$("div.divTableWithFloatingHeader").each(function() {
		var originalHeaderRow = $(".tableFloatingHeaderOriginal", this);
		var floatingHeaderRow = $(".tableFloatingHeader", this);
		var offset = $(this).offset();
		var scrollTop = $(window).scrollTop();
		if ((scrollTop > originalHeaderRow.offset().top) && (scrollTop < offset.top + $(this).height() - originalHeaderRow.height())) {
			floatingHeaderRow.css("visibility", "visible");
			floatingHeaderRow.css("top", "0px");

			// Copy cell widths from original header
			$("th", floatingHeaderRow).each(function(index) {
				var cellWidth = $("th", originalHeaderRow).eq(index).css('width');
				$(this).css('width', cellWidth);
			});

			// Copy row width from whole table
			floatingHeaderRow.css("width", $(this).css("width"));
		}
		else {
			floatingHeaderRow.css("visibility", "hidden");
			floatingHeaderRow.css("top", "0px");
		}
	});
};

$(function() {
	$("table.tableWithFloatingHeader").each(function() {
		$(this).wrap("<div class=\"divTableWithFloatingHeader\" style=\"position:relative\"></div>");

		var cls = "tr.floatingHeader";
		if($(cls, this).length == 0) {
			cls = "tr";
		}
		var originalHeaderRow = $(cls, this).first();
		var clonedHeaderRow = originalHeaderRow.clone().insertBefore(originalHeaderRow);

		clonedHeaderRow.addClass("tableFloatingHeader");
		clonedHeaderRow.css("position", "fixed");
		clonedHeaderRow.css("top", "0px");
		clonedHeaderRow.css("left", $(this).offset().left);
		clonedHeaderRow.css("visibility", "hidden");
		clonedHeaderRow.css("z-index", 1);

		originalHeaderRow.addClass("tableFloatingHeaderOriginal");
	});
	UpdateTableHeaders();
	$(window).on('scroll', UpdateTableHeaders);
	$(window).on('resize', UpdateTableHeaders);
});

(function($) {
    $(document).ready(function() {
		$('.radioButtonsHere').replaceWith('<center><input id="normal" type="radio" value="0" class="selectRadio" name="selectRadio"/> Job Normal <input id="silver" type="radio" value="50" class="selectRadio" name="selectRadio"/> Argint <input id="aura" type="radio" value="100" class="selectRadio" name="selectRadio"/> Aur</center>');
        var multiplierValue = 1;
        var currentXPArray = [];
		var currentCashArray = [];
        $('.xp').each(function(index) {
            currentXPArray[index] = parseInt($(this).text());
        });
        $('.money').each(function(index) {
            var getNumber = $(this).text().replace(/[^0-9]/gi, '');
            currentCashArray[index] = parseFloat(getNumber, 10);
        });
        $("input[name='selectRadio']").change(function() {
            multiplierValue = $(this).val();
            $('.xp').each(function(index) {
				var finalXP = currentXPArray[index] + (currentXPArray[index] * (multiplierValue / 100));
                $(this).text(Math.round(finalXP));
				$(this).css({ 'font-weight': 'bold' });
            });
            $('.money').each(function(index) {
				var finalCash = currentCashArray[index] + (currentCashArray[index] * (multiplierValue / 100));
				var cashSymbol = "$ ";
                $(this).text(cashSymbol + Math.round(finalCash));
				$(this).css({ 'font-weight': 'bold' });
            });
        });
		$('.appImage').replaceWith('<img src="https://wiki.the-west.net/images/8/8c/Transparent.png" class="job_Type" style="position:absolute;margin-top:-6px;margin-left:-6px;" />');
		$("input[name='selectRadio']").change(
			function(){
				var $src = "";
				if ($(this).val() == '50') {
					$src = "https://wiki.the-west.net/images/a/ac/Silverjob_small.png";
				}
				else if ($(this).val() == '100') {
					$src = "https://wiki.the-west.net/images/a/a6/Goldjob_small.png";
				}
				else{
					$src = "https://wiki.the-west.net/images/8/8c/Transparent.png"
					$('.money').css({ 'font-weight': 'normal' });
					$('.xp').css({ 'font-weight': 'normal' });
				}
				$('.job_Type').attr('src',$src);
		});
    });
})(jQuery);