Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/* Author: Karol "[[User:Nanaki]]" Dylewski */
/* License: CC-BY-SA 3.0 */
( function( $ ) {
var itemGridContainer = '#item-grid';
var itemGridFilters = {
'search': 'search',
'modes' : ['- Spielmodus - ',
['KdB', '• Classic 5v5'],
['ARAM', '• ARAM'],
]
};
function itemGridFiltering() {
var itemGrid = $(itemGridContainer)
if(!itemGrid.length) return
if(!itemGridFilteringSwitches()) return
window.itemGridElements = []
itemGrid.find('.item-icon').each(function() {
var obj = {}
var elem = $(this)
obj['*'] = elem
for(var x in itemGridFilters) {
obj[x] = elem.data(x).split(',')
for(var y=0;y<obj[x].length;y++) {
obj[x][y] = obj[x][y].replace(/^\s+|\s+$/g, '').toLowerCase()
}
}
window.itemGridElements.push(obj)
})
}
function itemGridFilteringSwitches() {
var flag = false
for(var x in itemGridFilters) {
var container = $('#item-grid-filter-'+x)
if(!container.length) continue;
flag = true
if(itemGridFilters[x] == 'search') {
var field = $('<input type="text" placeholder="Suche..." />').appendTo(container).attr('id', container.attr('id')+'-field').data('type', 'search')
field.keyup(function() {
itemGridFilteringApply()
})
} else if(itemGridFilters[x] instanceof Array) {
var field = $('<select></select>').appendTo(container).attr('id', container.attr('id')+'-field').data('type', 'select')
$('<option></option>').appendTo(field).attr('value', '').html(itemGridFilters[x][0])
for(var y=1;y<itemGridFilters[x].length;y++) {
$('<option></option>').appendTo(field).attr('value', itemGridFilters[x][y][0]).html(itemGridFilters[x][y][1])
}
field.val('')
field.change(function() {
itemGridFilteringApply()
})
}
}
return flag
}
function itemGridFilteringClear() {
for(var x in itemGridFilters) {
$('#item-grid-filter-'+x+'-field').val('')
}
itemGridFilteringApply()
}
function itemGridFilteringApply() {
for(var x=0;x<itemGridElements.length;x++) {
var elem = $(itemGridElements[x]['*'])
var active = true
for(var y in itemGridFilters) {
var field = $('#item-grid-filter-'+y+'-field')
var value = field.val().toLowerCase()
if(value === '') continue;
var type = field.data('type')
if(type == 'search') {
var rx = new RegExp('^.*?(' + value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + ').*?$','i');
var flag = rx.test(itemGridElements[x][y].join(', '))
if(!flag) active = false
} else if(type == 'select') {
if(itemGridElements[x][y].indexOf(value) == -1) active = false
}
}
if(active) itemGridFilteringShow(elem)
else itemGridFilteringHide(elem)
}
}
function itemGridFilteringHide(elem) {
$(elem).stop(true);
$(elem).fadeTo(200, 0.1);
}
function itemGridFilteringShow(elem) {
$(elem).stop(true);
$(elem).fadeTo(200, 1);
}
$( itemGridFiltering )
} )( jQuery );