MediaWiki:Common.js: Difference between revisions

    From UNITApedia
    No edit summary
    No edit summary
     
    Line 1: Line 1:
    mw.loader.using('mediawiki.util', function () {
    mw.loader.using('mediawiki.util', function () {
       $(function () {
       $(function () {
         // PDF Export Button (for InternationalisationForms)
         // 📄 PDF Export Button (for InternationalisationForms pages)
         var cats = mw.config.get('wgCategories') || [];
         var cats = mw.config.get('wgCategories') || [];
         var targetCat = 'InternationalisationForms';
         var targetCat = 'InternationalisationForms';
    Line 32: Line 32:
         }
         }


         // Hide toolbox for anonymous users
         // 🧰 Hide toolbox for anonymous users
         if (mw.config.get('wgUserName') === null) {
         if (mw.config.get('wgUserName') === null) {
           $('#p-tb').hide();
           $('#p-tb').hide();
    Line 38: Line 38:
         }
         }


         // Hide “Switch to old look”
         // 🧼 Hide “Switch to old look” link
         function hideSkinSwitcher() {
         function hideSkinSwitcher() {
           $('a').filter(function () {
           $('a').filter(function () {
    Line 49: Line 49:
         observer.observe(document.body, { childList: true, subtree: true });
         observer.observe(document.body, { childList: true, subtree: true });


         // 🔽 COLLAPSIBLE TREE TABLE
         // 🌳 COLLAPSIBLE TREE TABLE (expand/collapse rows based on parent)
         $(".treetable .tree-row").each(function () {
         $(".treetable .tree-row").each(function () {
           const id = $(this).data("id");
           const id = $(this).data("id");

    Latest revision as of 11:37, 24 July 2025

    mw.loader.using('mediawiki.util', function () {
      $(function () {
        // 📄 PDF Export Button (for InternationalisationForms pages)
        var cats = mw.config.get('wgCategories') || [];
        var targetCat = 'InternationalisationForms';
    
        if (cats.indexOf(targetCat) !== -1) {
          var $pdfLink = $('<a>')
            .text('📄 Export this page to PDF')
            .attr('href', '#')
            .css({
              display: 'inline-block',
              padding: '0.39em 0.77em',
              'font-size': '0.82em',
              'background-color': '#19529E',
              color: '#fff',
              'text-decoration': 'none',
              'border-radius': '3px',
              margin: '0.39em'
            })
            .click(function (e) {
              e.preventDefault();
              window.print();
            });
    
          $('#content').before(
            $('<div>')
              .attr('id', 'export-to-pdf-container')
              .css({ 'text-align': 'right', padding: '0.5em' })
              .append($pdfLink)
          );
        }
    
        // 🧰 Hide toolbox for anonymous users
        if (mw.config.get('wgUserName') === null) {
          $('#p-tb').hide();
          $('#p-toolbox, #vector-page-tools, #vector-page-tools-dropdown').hide();
        }
    
        // 🧼 Hide “Switch to old look” link
        function hideSkinSwitcher() {
          $('a').filter(function () {
            return $(this).text().trim() === 'Switch to old look';
          }).closest('li, span, div').hide();
        }
    
        hideSkinSwitcher();
        const observer = new MutationObserver(hideSkinSwitcher);
        observer.observe(document.body, { childList: true, subtree: true });
    
        // 🌳 COLLAPSIBLE TREE TABLE (expand/collapse rows based on parent)
        $(".treetable .tree-row").each(function () {
          const id = $(this).data("id");
          const parent = $(this).data("parent");
    
          if (parent) {
            $(this).addClass("child-of-" + parent.replace(/\s/g, "-")).hide();
          } else {
            $(this).addClass("root-row").css("cursor", "pointer");
          }
        });
    
        $(".treetable .root-row").on("click", function () {
          const id = $(this).data("id").replace(/\s/g, "-");
          $(".child-of-" + id).toggle();
        });
      });
    });