MediaWiki:Common.js: Difference between revisions

From Tiny Rogues Wiki
(Created page with "→‎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;...")
 
No edit summary
Tag: Manual revert
 
(2 intermediate revisions by the same user not shown)
Line 18: Line 18:
   }
   }
}
}
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);
});

Latest revision as of 19:22, 30 March 2024

/* 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);
});