Gebruiker:Rots61/Gadget-LinkTeller.js: verschil tussen versies
		
		
		
		
		
		Naar navigatie springen
		Naar zoeken springen
		
				
		
		
	
 (Nieuwe pagina aangemaakt met '→*  * LinkTeller.JS  * Features: [[WikiKids:LinkTeller]]  * Made by [[User:Rots61]]  *:   // Create variables  function startAP() {  // Get the number of articles...')  | 
				|||
| Regel 1: | Regel 1: | ||
| + | /**  | ||
| + |  * CountPages.JS  | ||
| + |  *  | ||
| + |  * Made by [[User:Rots61]]   | ||
| + | **/  | ||
/**  | /**  | ||
  * LinkTeller.JS  |   * LinkTeller.JS  | ||
| Regel 6: | Regel 11: | ||
// Create variables  | // Create variables  | ||
| + | var api = new mw.Api();  | ||
function startAP() {  | function startAP() {  | ||
// Get the number of articles    | // Get the number of articles    | ||
| − | + | getPageCountAP().then( function (ECarticlecount) { // The new page count we got will be passed here.  | |
| − | |||
     document.getElementById("ooui-php-9").innerHTML +=    |      document.getElementById("ooui-php-9").innerHTML +=    | ||
         "<p>Er zijn " + ECarticlecount + " pagina's die aan deze voorwaarden voldoen.</p>";    |          "<p>Er zijn " + ECarticlecount + " pagina's die aan deze voorwaarden voldoen.</p>";    | ||
| Regel 17: | Regel 22: | ||
}  | }  | ||
| − | function   | + | function getPageCountAP( apiContinue ) {       | 
| − | |||
     return api.get( {  |      return api.get( {  | ||
         action: "query",  |          action: "query",  | ||
| Regel 30: | Regel 34: | ||
     } ).then( function (data) {  |      } ).then( function (data) {  | ||
         if ( data.continue ) {  |          if ( data.continue ) {  | ||
| − |              return   | + |              return getPageCountAP( data.continue )  | 
                 .then( function ( addedLength ) {    |                  .then( function ( addedLength ) {    | ||
                     return addedLength + data.query.allpages.length;  |                      return addedLength + data.query.allpages.length;  | ||
| Regel 42: | Regel 46: | ||
if(mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "AllePaginas" || mw.config.get('wgTitle') === "Allepaginas")  | if(mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "AllePaginas" || mw.config.get('wgTitle') === "Allepaginas")  | ||
) {  | ) {  | ||
| − | |||
var queryString = window.location.search;  | var queryString = window.location.search;  | ||
var urlParams = new URLSearchParams(queryString);  | var urlParams = new URLSearchParams(queryString);  | ||
| Regel 49: | Regel 52: | ||
var urlns = urlParams.get('namespace');  | var urlns = urlParams.get('namespace');  | ||
var urlredirect = urlParams.get('hideredirects');  | var urlredirect = urlParams.get('hideredirects');  | ||
| − | |||
$.when( $.ready, mw.loader.using(['mediawiki.util'])).done( startAP());  | $.when( $.ready, mw.loader.using(['mediawiki.util'])).done( startAP());  | ||
}  | }  | ||
| − | + | ||
| + | |||
| + | function showLT() {  | ||
| + | 	mw.util.$content.append( '<br><button onclick="startLT()">Aantal links: </button> <span id="Gadget-LinkTeller"></span>' );  | ||
| + | }  | ||
| + | |||
| + | function startLT() {  | ||
| + | // Get the number of links   | ||
| + | var temp;  | ||
| + | getPageCountLT().then( function (linkcount) { // The page count we got will be passed here.  | ||
| + |     document.getElementById("Gadget-LinkTeller").innerHTML = linkcount; } );  | ||
| + | }  | ||
| + | |||
| + | function getPageCountLT( apiContinue ) {      | ||
| + |     return api.get( {  | ||
| + |         action: "query",  | ||
| + |         prop: "links",  | ||
| + |         titles: mw.config.get('wgPageName'),   | ||
| + |         pllimit: "5000",  | ||
| + |     } ).then( function (data) {  | ||
| + |             temp = data.query.pages;  | ||
| + |             temp = temp[mw.config.get('wgArticleId')];  | ||
| + |             if (typeof temp.links !== 'undefined') {  | ||
| + |             	return temp.links.length;  | ||
| + |             } else {   | ||
| + |             	return 0;  | ||
| + |             }  | ||
| + |     } );  | ||
| + | }  | ||
| + | |||
| + | if (mw.config.get('wgArticleId') > 1 ) {   | ||
| + | 	$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( setTimeout(showLT, 1000));  | ||
| + | }  | ||
Versie van 9 dec 2022 23:04
/**
 * CountPages.JS
 *
 * Made by [[User:Rots61]] 
**/
/**
 * LinkTeller.JS
 * Features: [[WikiKids:LinkTeller]]
 * Made by [[User:Rots61]] 
**/
// Create variables
var api = new mw.Api();
function startAP() {
// Get the number of articles 
getPageCountAP().then( function (ECarticlecount) { // The new page count we got will be passed here.
    document.getElementById("ooui-php-9").innerHTML += 
        "<p>Er zijn " + ECarticlecount + " pagina's die aan deze voorwaarden voldoen.</p>"; 
} );
}
function getPageCountAP( apiContinue ) {    
    return api.get( {
        action: "query",
        list: "allpages",
        apfrom: urlfrom ? urlfrom : undefined,
        aplimit: "5000",
        apto: urlto ? urlto : undefined,
        apnamespace: urlns ? urlns : undefined,
        apfilterredir: urlredirect ? "nonredirects" : "all",
        apcontinue: apiContinue ? apiContinue.apcontinue : undefined
    } ).then( function (data) {
        if ( data.continue ) {
            return getPageCountAP( data.continue )
                .then( function ( addedLength ) { 
                    return addedLength + data.query.allpages.length;
                } );
        } else {
            return data.query.allpages.length;
        }
    } );
}
if(mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "AllePaginas" || mw.config.get('wgTitle') === "Allepaginas")
) {
var queryString = window.location.search;
var urlParams = new URLSearchParams(queryString);
var urlfrom = urlParams.get('from');
var urlto = urlParams.get('to');
var urlns = urlParams.get('namespace');
var urlredirect = urlParams.get('hideredirects');
$.when( $.ready, mw.loader.using(['mediawiki.util'])).done( startAP());
}
function showLT() {
	mw.util.$content.append( '<br><button onclick="startLT()">Aantal links: </button> <span id="Gadget-LinkTeller"></span>' );
}
function startLT() {
// Get the number of links 
var temp;
getPageCountLT().then( function (linkcount) { // The page count we got will be passed here.
    document.getElementById("Gadget-LinkTeller").innerHTML = linkcount; } );
}
function getPageCountLT( apiContinue ) {    
    return api.get( {
        action: "query",
        prop: "links",
        titles: mw.config.get('wgPageName'), 
        pllimit: "5000",
    } ).then( function (data) {
            temp = data.query.pages;
            temp = temp[mw.config.get('wgArticleId')];
            if (typeof temp.links !== 'undefined') {
            	return temp.links.length;
            } else { 
            	return 0;
            }
    } );
}
if (mw.config.get('wgArticleId') > 1 ) { 
	$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( setTimeout(showLT, 1000));
}