User:Ahecht/Scripts/TemplateSearch.js: Difference between revisions

Content deleted Content added
use both oninput and onkeyup
Better interaction with Vector 2022's autocomplete
Tag: Reverted
Line 11:
/**/
 
function addKeyupListeneraddSearchBoxChangeListener(searchboxes, searchattr) {
searchboxes.forEach(function (searchbox) {
if (searchbox.classList.contains("cdx-text-input__input") || searchbox.classList.contains("search") || searchbox.id == "searchInput") {
searchbox.setAttribute("oninputonkeyup",searchattr"replaceBracesInSearch(this);searchbox.setAttribute("onkeyup",searchattr);
replaceBracesInSearch(searchbox);
}
} );
Line 20 ⟶ 21:
 
var SearchRegexes = SearchRegexes || {"^(\\\{\\\{|[Tt][Pp]:)":"Template:","\\\}\\\}$":""};
function replaceBracesInSearch(box) {
var searchattr = "";
for (var search in SearchRegexes) {
re = var replace =new SearchRegexes[RegExp(search]);
var replace = SearchRegexes[search];
searchattr += "if(/"+search+"/.test(this.value)){this.value=this.value.replace(/"+search+"/,\""+replace+"\")};";
if(re.test(box.value)) {
box.value=box.value.replace(re,replace);
}
}
}
 
$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then(function() {
var searchboxes = addSearchBoxChangeListener(document.getElementsByName("search"));
addKeyupListener(searchboxes, searchattr);
var x = new MutationObserver(function (e) {
searchboxes = addSearchBoxChangeListener(document.getElementsByName("search"));
addKeyupListener(searchboxes, searchattr);
});
document.querySelectorAll(".search-box, .vector-search-box").forEach(function (box) {