User:1234qwer1234qwer4/BookCat.js



From Wikibooks, open books for an open world

< User:1234qwer1234qwer4


Jump to navigation  Jump to search  
Note: After saving, changes may not occur immediately. Click here to learn how to bypass your browser's cache.
  • Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac);
  • Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5;
  • Konqueror: simply click the Reload button, or press F5;
  • Opera users may need to completely clear their cache in Tools→Preferences.
  • // based on https://en.wikipedia.org/wiki/User:DannyS712/Draft_no_cat.js
    // Set `var bookCatAJAX = true;` to add BookCat without reloading the page
    $(() => {
    const bookCat = {};
    window.bookCat = bookCat;
    bookCat.config = {
     name: '[[User:1234qwer1234qwer4/BookCat.js|BookCat.js]]',
     debug: false
    };
    
    bookCat.summary = "Added {{[[Template:BookCat|BookCat]]}} using " + bookCat.config.name;
     
    bookCat.run = function () {
     var editSummary = bookCat.summary;
     
     if ( bookCat.config.debug ) {
      console.log ( editSummary );
     }
     
     var api = new mw.Api();
     api.get( {
      action: 'query',
      titles: mw.config.get( 'wgPageName' ),
      prop: 'revisions',
      rvprop: 'content',
      rvslots: 'main',
      formatversion: 2
     } ).done(
      function ( response ) {
       console.log( response );
       var text = response.query.pages[0].revisions[0].slots.main.content;
       if(text.match(/\{\{\s*Bookcat\s*\}\}/i)){
        return mw.notify("BookCat already present.");
       }
       text += '\n\n{{BookCat}}';
       api.postWithEditToken( {
        action: 'edit',
        minor: true,
        title: mw.config.get( 'wgPageName' ),
        text: text,
        summary: editSummary
       } ).done(
        function() {
         if(bookCatAJAX === undefined || bookCatAJAX == false){
          location.reload();
         }
         else mw.notify("BookCat successfully added.");
        }
       );
      }
     );
    };
    
    });
    
    $( document ).ready( () => {
     if ( mw.config.get( 'wgNamespaceNumber' ) === 0 && mw.config.get('wgAction') === 'view' && mw.config.get('wgCategories').every(e => !e.includes("Book:")) ) {
      mw.loader.using(
       [ 'mediawiki.util' ],
       function () {
        var  link = mw.util.addPortletLink( 'p-cactions', '#', 'BookCat', 'ca-bookcat', 'Add BookCat'); 
        $( link ).click( function ( event ) {
         event.preventDefault();
         mw.loader.using( 'mediawiki.api', window.bookCat.run );
        } );
       }
      );
     }
    } );
    

    Retrieved from "https://en.wikibooks.org/w/index.php?title=User:1234qwer1234qwer4/BookCat.js&oldid=3989250"

    Category: 
    Book:User:1234qwer1234qwer4/BookCat.js
     


    Navigation menu


    Personal tools  




    Not logged in
    Discussion for this IP address
    Contributions
    Create account
    Log in
     


    Namespaces  




    User page
    Discussion