Jump to content

MediaWiki:Common.js: Difference between revisions

From Transight Wiki
No edit summary
No edit summary
Line 18: Line 18:
});
});


/* === Transight custom footer injection (works across skins & SPA nav) === */
/* === Transightee custom footer injection === */
(function () {
(function () {
   function buildHTML() {
   function html() {
     var html = ''
     return '' +
      + '<div id="tg-footer" class="tg-footer">'
    '<div id="tg-footer" class="tg-footer">' +
      + '  <div class="tg-inner">'
    '  <div class="tg-inner">' +
      + '    <div class="tg-grid">'
    '    <div class="tg-grid">' +


      + '      <div class="tg-col">'
    '      <div class="tg-col">' +
      + '        <h3>Use Cases</h3>'
    '        <h3>Use Cases</h3>' +
      + '        <ul>'
    '        <ul>' +
      + '          <li><a href="/wiki/All_Use_Cases">All use cases</a></li>'
    '          <li><a href="/wiki/All_Use_Cases">All use cases</a></li>' +
      + '          <li><a href="/wiki/Fleet_Telematics">Fleet telematics</a></li>'
    '          <li><a href="/wiki/Fleet_Telematics">Fleet telematics</a></li>' +
      + '          <li><a href="/wiki/Logistics_and_Delivery_Services">Logistics &amp; delivery services</a></li>'
    '          <li><a href="/wiki/Logistics_and_Delivery_Services">Logistics &amp; delivery services</a></li>' +
      + '          <li><a href="/wiki/Car_Sharing_Rental_Leasing">Car sharing, rental &amp; leasing</a></li>'
    '          <li><a href="/wiki/Car_Sharing_Rental_Leasing">Car sharing, rental &amp; leasing</a></li>' +
      + '          <li><a href="/wiki/E-Mobility_Management">E-mobility management</a></li>'
    '          <li><a href="/wiki/E-Mobility_Management">E-mobility management</a></li>' +
      + '          <li><a href="/wiki/Utility_and_Emergency_Transport">Utility &amp; emergency transport</a></li>'
    '          <li><a href="/wiki/Utility_and_Emergency_Transport">Utility &amp; emergency transport</a></li>' +
      + '          <li><a href="/wiki/Agriculture_Construction_Mining">Agriculture, construction &amp; mining</a></li>'
    '          <li><a href="/wiki/Agriculture_Construction_Mining">Agriculture, construction &amp; mining</a></li>' +
      + '          <li><a href="/wiki/Assets_and_Workforce">Assets &amp; workforce</a></li>'
    '          <li><a href="/wiki/Assets_and_Workforce">Assets &amp; workforce</a></li>' +
      + '          <li><a href="/wiki/Driver_Safety">Driver safety</a></li>'
    '          <li><a href="/wiki/Driver_Safety">Driver safety</a></li>' +
      + '        </ul>'
    '        </ul>' +
      + '      </div>'
    '      </div>' +


      + '      <div class="tg-col">'
    '      <div class="tg-col">' +
      + '        <h3>Products</h3>'
    '        <h3>Products</h3>' +
      + '        <ul>'
    '        <ul>' +
      + '          <li><a href="/wiki/Trackers">Trackers</a></li>'
    '          <li><a href="/wiki/Trackers">Trackers</a></li>' +
      + '          <li><a href="/wiki/Accessories">Accessories</a></li>'
    '          <li><a href="/wiki/Accessories">Accessories</a></li>' +
      + '          <li><a href="/wiki/Solutions">Solutions</a></li>'
    '          <li><a href="/wiki/Solutions">Solutions</a></li>' +
      + '        </ul>'
    '        </ul>' +
      + '      </div>'
    '      </div>' +


      + '      <div class="tg-col">'
    '      <div class="tg-col">' +
      + '        <h3>Support</h3>'
    '        <h3>Support</h3>' +
      + '        <ul>'
    '        <ul>' +
      + '          <li><a href="/wiki/Product_Support">Product support</a></li>'
    '          <li><a href="/wiki/Product_Support">Product support</a></li>' +
      + '          <li><a href="/wiki/Wiki_Knowledge_Base">Wiki knowledge base</a></li>'
    '          <li><a href="/wiki/Wiki_Knowledge_Base">Wiki knowledge base</a></li>' +
      + '          <li><a href="/wiki/Community_Forum">Community forum</a></li>'
    '          <li><a href="/wiki/Community_Forum">Community forum</a></li>' +
      + '          <li><a href="/wiki/Warranty_and_Repair">Warranty &amp; repair</a></li>'
    '          <li><a href="/wiki/Warranty_and_Repair">Warranty &amp; repair</a></li>' +
      + '          <li><a href="/wiki/EOL_Products">EOL products</a></li>'
    '          <li><a href="/wiki/EOL_Products">EOL products</a></li>' +
      + '        </ul>'
    '        </ul>' +
      + '      </div>'
    '      </div>' +


      + '      <div class="tg-col">'
    '      <div class="tg-col">' +
      + '        <h3>About Us</h3>'
    '        <h3>About Us</h3>' +
      + '        <ul>'
    '        <ul>' +
      + '          <li><a href="/wiki/Mission_Vision_Values">Mission, vision &amp; values</a></li>'
    '          <li><a href="/wiki/Mission_Vision_Values">Mission, vision &amp; values</a></li>' +
      + '          <li><a href="/wiki/Brand_Guidelines">Brand guidelines</a></li>'
    '          <li><a href="/wiki/Brand_Guidelines">Brand guidelines</a></li>' +
      + '          <li><a href="/wiki/Career">Career</a></li>'
    '          <li><a href="/wiki/Career">Career</a></li>' +
      + '          <li><a href="/wiki/Contacts">Contacts</a></li>'
    '          <li><a href="/wiki/Contacts">Contacts</a></li>' +
      + '        </ul>'
    '        </ul>' +
      + '      </div>'
    '      </div>' +


      + '    </div>'
    '    </div>' +


      + '    <div class="tg-bottom">'
    '    <div class="tg-bottom">' +
      + '      <div>Copyright &copy; 2024, Transightee</div>'
    '      <div>Copyright &copy; 2024, Transightee</div>' +
      + '      <div class="tg-social" aria-label="Social links">'
    '      <div class="tg-social">' +
      + '        <a href="https://facebook.com/" aria-label="Facebook">f</a>'
    '        <a href="https://facebook.com/" aria-label="Facebook">f</a>' +
      + '        <a href="https://linkedin.com/" aria-label="LinkedIn">in</a>'
    '        <a href="https://linkedin.com/" aria-label="LinkedIn">in</a>' +
      + '        <a href="https://twitter.com/" aria-label="X/Twitter">x</a>'
    '        <a href="https://twitter.com/" aria-label="X/Twitter">x</a>' +
      + '        <a href="https://youtube.com/" aria-label="YouTube">&#9654;</a>'
    '        <a href="https://youtube.com/" aria-label="YouTube">&#9654;</a>' +
      + '        <a href="https://instagram.com/" aria-label="Instagram">&#9673;</a>'
    '        <a href="https://instagram.com/" aria-label="Instagram">&#9673;</a>' +
      + '      </div>'
    '      </div>' +
      + '    </div>'
    '    </div>' +


      + '  </div>'
    '  </div>' +
      + '</div>';
    '</div>';
    return html;
   }
   }


   function containerEl() {
   function mountPoint() {
     return document.querySelector('footer.mw-footer, #footer, #mw-footer, #page-footer, #minerva-footer') || document.body;
     return document.querySelector('.mw-footer-container') || document.body;
   }
   }


   function insertFooter() {
   function insert() {
     if (document.getElementById('tg-footer')) { return; }  // avoid duplicates on SPA nav
     if (document.getElementById('tg-footer')) return;
     var el = document.createElement('div');
     var wrapper = document.createElement('div');
     el.innerHTML = buildHTML();
     wrapper.innerHTML = html();
     var parent = containerEl();
     mountPoint().appendChild(wrapper.firstChild);
    parent.appendChild(el.firstChild);
   }
   }


   // Run on initial load + every PJAX navigation
   // Run after page content is loaded (Vector 2022 uses JS navigation)
   mw.hook('wikipage.content').add(function () { insertFooter(); });
   mw.hook('wikipage.content').add(insert);
   if (document.readyState === 'loading') {
   if (document.readyState === 'loading') {
     document.addEventListener('DOMContentLoaded', insertFooter);
     document.addEventListener('DOMContentLoaded', insert);
   } else {
   } else {
     insertFooter();
     insert();
   }
   }
})();
})();

Revision as of 06:30, 1 September 2025

$(document).ready(function() {
  $('input#searchInput').attr('placeholder', 'Search for Transight Wiki');
});

// Open all external links in a new tab
$(document).ready(function () {
    $("a.external").attr("target", "_blank");
});

mw.loader.using('mediawiki.util', function () {
    // Force small text
    document.documentElement.classList.remove('vector-feature-custom-font-size-standard', 'vector-feature-custom-font-size-large');
    document.documentElement.classList.add('vector-feature-custom-font-size-small');

    // Force wide layout
    document.documentElement.classList.remove('vector-feature-limited-width');
    document.documentElement.classList.add('vector-feature-wide-width');
});

/* === Transightee custom footer injection === */
(function () {
  function html() {
    return '' +
    '<div id="tg-footer" class="tg-footer">' +
    '  <div class="tg-inner">' +
    '    <div class="tg-grid">' +

    '      <div class="tg-col">' +
    '        <h3>Use Cases</h3>' +
    '        <ul>' +
    '          <li><a href="/wiki/All_Use_Cases">All use cases</a></li>' +
    '          <li><a href="/wiki/Fleet_Telematics">Fleet telematics</a></li>' +
    '          <li><a href="/wiki/Logistics_and_Delivery_Services">Logistics &amp; delivery services</a></li>' +
    '          <li><a href="/wiki/Car_Sharing_Rental_Leasing">Car sharing, rental &amp; leasing</a></li>' +
    '          <li><a href="/wiki/E-Mobility_Management">E-mobility management</a></li>' +
    '          <li><a href="/wiki/Utility_and_Emergency_Transport">Utility &amp; emergency transport</a></li>' +
    '          <li><a href="/wiki/Agriculture_Construction_Mining">Agriculture, construction &amp; mining</a></li>' +
    '          <li><a href="/wiki/Assets_and_Workforce">Assets &amp; workforce</a></li>' +
    '          <li><a href="/wiki/Driver_Safety">Driver safety</a></li>' +
    '        </ul>' +
    '      </div>' +

    '      <div class="tg-col">' +
    '        <h3>Products</h3>' +
    '        <ul>' +
    '          <li><a href="/wiki/Trackers">Trackers</a></li>' +
    '          <li><a href="/wiki/Accessories">Accessories</a></li>' +
    '          <li><a href="/wiki/Solutions">Solutions</a></li>' +
    '        </ul>' +
    '      </div>' +

    '      <div class="tg-col">' +
    '        <h3>Support</h3>' +
    '        <ul>' +
    '          <li><a href="/wiki/Product_Support">Product support</a></li>' +
    '          <li><a href="/wiki/Wiki_Knowledge_Base">Wiki knowledge base</a></li>' +
    '          <li><a href="/wiki/Community_Forum">Community forum</a></li>' +
    '          <li><a href="/wiki/Warranty_and_Repair">Warranty &amp; repair</a></li>' +
    '          <li><a href="/wiki/EOL_Products">EOL products</a></li>' +
    '        </ul>' +
    '      </div>' +

    '      <div class="tg-col">' +
    '        <h3>About Us</h3>' +
    '        <ul>' +
    '          <li><a href="/wiki/Mission_Vision_Values">Mission, vision &amp; values</a></li>' +
    '          <li><a href="/wiki/Brand_Guidelines">Brand guidelines</a></li>' +
    '          <li><a href="/wiki/Career">Career</a></li>' +
    '          <li><a href="/wiki/Contacts">Contacts</a></li>' +
    '        </ul>' +
    '      </div>' +

    '    </div>' +

    '    <div class="tg-bottom">' +
    '      <div>Copyright &copy; 2024, Transightee</div>' +
    '      <div class="tg-social">' +
    '        <a href="https://facebook.com/" aria-label="Facebook">f</a>' +
    '        <a href="https://linkedin.com/" aria-label="LinkedIn">in</a>' +
    '        <a href="https://twitter.com/" aria-label="X/Twitter">x</a>' +
    '        <a href="https://youtube.com/" aria-label="YouTube">&#9654;</a>' +
    '        <a href="https://instagram.com/" aria-label="Instagram">&#9673;</a>' +
    '      </div>' +
    '    </div>' +

    '  </div>' +
    '</div>';
  }

  function mountPoint() {
    return document.querySelector('.mw-footer-container') || document.body;
  }

  function insert() {
    if (document.getElementById('tg-footer')) return;
    var wrapper = document.createElement('div');
    wrapper.innerHTML = html();
    mountPoint().appendChild(wrapper.firstChild);
  }

  // Run after page content is loaded (Vector 2022 uses JS navigation)
  mw.hook('wikipage.content').add(insert);
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', insert);
  } else {
    insert();
  }
})();