User:Yethrosh/common.js
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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
// کاوشِ Yethrosh (2024ء)
/*
mw.loader.using(['mediawiki.util', 'jquery'], function () {
$(function () {
const textBox = document.getElementById('wpTextbox1');
const summaryLabel = document.getElementById('wpSummaryLabel');
if (!textBox) {
return;
}
// تمام عناصر کی یکساں کلاس
const counterClass = 'counters';
// Function to create counter element
const createCounter = function (id, label) {
const counter = document.createElement('p');
counter.classList.add(counterClass);
counter.id = id;
summaryLabel.insertBefore(counter, summaryLabel.lastChild);
counter.innerHTML = `${label}: 0`;
return counter;
};
// سطروں کی تعداد
const lineCounter = createCounter('lineCounter', 'سطروں کی تعداد');
const updateLineCounter = function () {
const text = textBox.value;
const lines = text.split('\n').filter(line => line.trim() !== '');
lineCounter.innerHTML = `سطروں کی تعداد: ${lines.length}`;
};
updateLineCounter();
textBox.addEventListener('keyup', updateLineCounter);
// سرخ روابط کی تعداد
const missingPagesCounter = createCounter('missingPagesCounter', 'سرخ روابط کی تعداد');
const fetchMissingPages = function () {
return new Promise((resolve, reject) => {
const pageName = mw.util.getParamValue('title');
console.log(pageName);
const params = {
action: 'query',
generator: 'links',
titles: pageName,
gpllimit: 'max',
format: 'json'
};
const api = new mw.Api();
api.get(params).done(function (data) {
const pages = data.query.pages;
let missingPages = [];
for (const p in pages) {
if (pages[p].hasOwnProperty('missing')) {
missingPages.push(pages[p].title);
}
}
resolve(missingPages);
}).fail(function (error) {
reject(error);
});
});
};
const updateMissingPagesCounter = function () {
fetchMissingPages().then(missingPages => {
missingPagesCounter.innerHTML = `سرخ روابط کی تعداد: ${missingPages.length}`;
}).catch(error => {
console.error('Error fetching missing pages:', error);
});
};
textBox.addEventListener('keyup', updateMissingPagesCounter);
});
});
*/
const pageName = mw.util.getParamValue('title');
var params = {
action: 'query',
generator: 'links',
titles: pageName,
gpllimit: 'max',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var pages = data.query.pages,
p;
for ( p in pages ) {
if( pages[ p ].hasOwnProperty('missing') ){
console.log( pages[ p ].title );
}
}
} );