MediaWiki:Common.js

From Tiny Rogues Wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
function filterSearch() {
  var input, filter, ul, li, a, i, txtValue;
  input = document.getElementById('FilterInput');
  filter = input.value.toUpperCase();
  ul = document.getElementById("FilterUL");
  li = ul.getElementsByTagName('li');

  for (i = 0; i < li.length; i++) {
    a = li[i].getElementsByTagName("a")[0];
    /* txtValue = a.textContent || a.innerText; */
    txtValue = a.title;
    if (txtValue.toUpperCase().indexOf(filter) > -1) {
      li[i].style.display = "";
    } else {
      li[i].style.display = "none";
    }
  }
}

function itemfilter_filterItems(val) {
    var attributes = ['type', 'subtype'];
    var str = value.toLowerCase();
    var items = document.querySelectorAll('#FilterUL li');

    items.forEach(function(item) {
        var check = false;
        for (var i = 0; i < attributes.length; i++) {
            var attribute_val = item.getAttribute('data-' + attributes[i]);
            if (attribute_val && attribute_val.toLowerCase().includes(filterValue)) {
                check = true;
                break;
            }
        }
        item.style.display = check ? 'block' : 'none';
    });
}

document.getElementById('FilterInput').addEventListener('keydown change', function() {
    itemfilter_filterItems(this.value);
});