MediaWiki:Common.js
Appearance
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
/* Advanced Search binder for OregonChurch.net */
mw.loader.using('mediawiki.util').then(function () {
function q(s) { return '"' + String(s).replace(/"/g, '\\"') + '"'; }
function buildQuery(denom, county, lang) {
var parts = [];
if (denom) parts.push('incategory:' + q('Category:' + denom));
if (county) parts.push('incategory:' + q('Category:Churches in ' + county + ' County'));
if (lang) parts.push('incategory:' + q('Category:' + lang));
if (parts.length === 0) {
// Fallback if all are ANY – adjust to your umbrella category if you have one
// parts.push('incategory:"Category:Churches in Oregon"');
}
return parts.join(' ');
}
function bindAdvancedSearch(root) {
var $root = $(root);
var denom = $root.find('#oc-denom')[0];
var county = $root.find('#oc-county')[0];
var lang = $root.find('#oc-lang')[0];
var runBtn = $root.find('#oc-run')[0];
var reset = $root.find('#oc-reset')[0];
if (!denom || !county || !lang || !runBtn || !reset) return;
runBtn.addEventListener('click', function () {
var query = buildQuery(denom.value.trim(), county.value.trim(), lang.value.trim());
var url = mw.util.getUrl('Special:Search', { search: query, ns0: 1 });
location.href = url;
});
reset.addEventListener('click', function () {
denom.value = '';
county.value = '';
lang.value = '';
});
}
// Bind once per #oc-adv on the page
$(function () {
$('#oc-adv').each(function (_, el) { bindAdvancedSearch(el); });
});
});