Jump to content

User:Arturopelayo/common.js

From Appropedia

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.
/**
 * TissueDB Direct Navigation Script
 * Enables "Try exact match" to navigate directly to tissue/material pages
 */
(function() {
    'use strict';
    
    // Only run on TissueDB page
    if (mw.config.get('wgPageName') !== 'TissueDB') {
        return;
    }
    
    mw.hook('wikipage.content').add(function() {
        var searchForms = document.querySelectorAll('.template-search-box form');
        
        searchForms.forEach(function(form) {
            var goButton = form.querySelector('input[name="go"]');
            var searchInput = form.querySelector('input[type="text"]');
            var prefixInput = form.querySelector('input[name="prefix"]');
            
            if (goButton && searchInput && prefixInput) {
                goButton.addEventListener('click', function(e) {
                    e.preventDefault();
                    e.stopPropagation();
                    
                    var searchTerm = searchInput.value.trim();
                    if (searchTerm) {
                        var pageName = searchTerm
                            .split(' ')
                            .map(function(word) {
                                return word.charAt(0).toUpperCase() + word.slice(1);
                            })
                            .join('_');
                        
                        var prefix = prefixInput.value;
                        window.location.href = mw.util.getUrl(prefix + pageName);
                    }
                    return false;
                });
            }
        });
    });
})();
Cookies help us deliver our services. By using our services, you agree to our use of cookies.