ব্যবহারকারী:আফতাবুজ্জামান/test.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন।
- অপেরা: Ctrl-F5 টিপুন।
"use strict";
/*globals mw, jQuery */
// {{documentation}}
var conf = mw.config.get([
'wgPageName',
'wgUserLanguage',
'wgNamespaceNumber',
'wgNamespaceIds',
'wgTitle',
'wgCanonicalNamespace'
]);
var tabs = {};
var titlesQueue = [];
var msgQueue = (conf.wgUserLanguage !== 'bn') ? {} : null;
var msgs = {
'nstab-main': "ভুক্তি",
'nstab-talk': "আলোচনা",
'nstab-citations': "উদ্ধৃতি",
'nstab-template': "টেমপ্লেট",
'nstab-template_talk': "আলোচনা",
'nstab-module': "মডিউল",
'nstab-module_talk': "আলোচনা",
'nstab-documentation': "নথি",
'tooltip-ca-nstab-main': "ভুক্তি পাতাটি দেখুন",
'tooltip-ca-nstab-module': "",
'tooltip-ca-nstab-template': "টেমপ্লেট দেখুন",
'tooltip-ca-nstab-citations': "উদ্ধৃতি পাতাটি দেখুন",
'tooltip-ca-nstab-documentation': "নথি পাতাটি দেখুন",
'tooltip-ca-talk': "ভুক্তি সম্পর্কে আলোচনা দেখুন"
};
var api = new mw.Api();
if (conf.wgUserLanguage !== 'bn') {
try {
var msgsCache = JSON.parse(window.sessionStorage.getItem('DocTabs-messages-' + conf.wgUserLanguage));
if (msgsCache)
msgs = msgsCache;
else
throw void('tantrum');
} catch (e) {
api.get({
action: 'query',
meta: 'allmessages',
amlang: conf.wgUserLanguage,
ammessages: Object.keys(msgs).join('|')
}).done(function (result) {
for (var i = 0; i < result.query.allmessages.length; ++i) {
var mesg = result.query.allmessages[i];
if ('missing' in mesg)
continue;
msgs[mesg.name] = mesg['*'];
if (msgQueue && msgQueue[mesg.name])
msgQueue[mesg.name].elem[msgQueue[mesg.name].prop] = mesg['*'];
}
msgQueue = null;
try {
window.sessionStorage.setItem('DocTabs-messages-' + conf.wgUserLanguage, JSON.stringify(msgs));
} catch (e) {
/* swallow */
}
});
}
}
function makeThird(page1, page2, msgroot, msgtalk, msgmine) {
msgtalk = msgtalk || (msgroot + '_talk');
var portlet = document.getElementById('p-namespaces') || document.getElementById('p-cactions');
var ul = portlet.getElementsByTagName('ul')[0];
var first = ul.firstElementChild;
ul.removeChild(first.nextElementSibling);
var pl1 = tabs[page1] = mw.util.addPortletLink(portlet.id, mw.util.getUrl(page1), msgs['nstab-' + msgroot], 'ca-nstab-' + msgroot, msgs['tooltip-ca-nstab-' + msgroot], 'c', first);
var pl2 = tabs[page2] = mw.util.addPortletLink(portlet.id, mw.util.getUrl(page2), msgs['nstab-' + msgtalk], 'ca-talk', msgs['tooltip-ca-talk'], 't', first);
titlesQueue.push(page1, page2);
var firstLink = first.getElementsByTagName('a')[0];
if (msgmine) {
firstLink.textContent = msgs['nstab-' + msgmine];
firstLink.title = msgs['tooltip-ca-nstab-' + msgmine];
}
firstLink.accessKey = '3';
if (!msgQueue)
return;
msgQueue['nstab-' + msgroot] = {
elem: pl1.getElementsByTagName('a')[0],
prop: 'textContent'
};
msgQueue['nstab-' + msgtalk] = {
elem: pl2.getElementsByTagName('a')[0],
prop: 'textContent'
};
msgQueue['tooltip-ca-nstab-' + msgroot] = {
elem: pl1.getElementsByTagName('a')[0],
prop: 'title'
};
msgQueue['tooltip-ca-talk'] = {
elem: pl2.getElementsByTagName('a')[0],
prop: 'title'
};
}
function addThird(page, msgroot) {
var portlet = document.getElementById('p-namespaces') ? 'p-namespaces' : 'p-cactions';
var pl = tabs[page] = mw.util.addPortletLink(portlet,
mw.util.getUrl(page),
msgs['nstab-' + msgroot],
'ca-nstab-' + msgroot,
msgs['tooltip-ca-nstab-' + msgroot],
'3',
portlet === 'p-cactions' ?
(document.getElementById('ca-edit') || document.getElementById('ca-viewsource')) :
null
);
pl.isThird = true;
titlesQueue.push(page);
if (!msgQueue)
return;
msgQueue['nstab-' + msgroot] = {
elem: pl.getElementsByTagName('a')[0],
prop: 'textContent'
};
msgQueue['tooltip-ca-nstab-' + msgroot] = {
elem: pl.getElementsByTagName('a')[0],
prop: 'title'
};
}
jQuery(document).ready(function () {
if ( mw.config.get( 'wgIsMainPage' ) ) return;
if (conf.wgNamespaceNumber === conf.wgNamespaceIds.citations) {
makeThird(conf.wgTitle, 'Talk:' + conf.wgTitle, 'main', 'talk');
} else if ((conf.wgNamespaceNumber === 0) || (conf.wgNamespaceNumber === conf.wgNamespaceIds.talk)) {
addThird('উদ্ধৃতি:' + conf.wgTitle, 'citations');
} else if (
(conf.wgNamespaceNumber === conf.wgNamespaceIds.module) || (conf.wgNamespaceNumber === conf.wgNamespaceIds.template) ||
(conf.wgNamespaceNumber === conf.wgNamespaceIds.module_talk) || (conf.wgNamespaceNumber === conf.wgNamespaceIds.template_talk)
) {
if (/\/documentation$/.test(conf.wgPageName)) {
if (!(conf.wgNamespaceNumber & 1)) { // talk namespace
var basename = conf.wgTitle.replace(/\/নথি$/, '');
makeThird(
conf.wgCanonicalNamespace + ':' + basename,
conf.wgCanonicalNamespace + ' আলোচনা:' + basename,
(conf.wgNamespaceNumber & ~1) == conf.wgNamespaceIds.module ? 'মডিউল' : 'টেমপ্লেট',
null, 'নথি'
);
} else
return;
} else {
addThird(conf.wgCanonicalNamespace.replace(/[_ ]আলোচনা$/, '') + ':' + conf.wgTitle + '/নথি', 'documentation');
}
} else
return;
if (titlesQueue.length) {
api.get({
action: 'query',
titles: titlesQueue.join('|')
}).done(function (result) {
if (!result.query) {
return;
}
for (var pageid in result.query.pages) {
var page = result.query.pages[pageid];
if (parseInt(pageid, 10) < 0) {
var link = tabs[page.title].getElementsByTagName('a')[0];
var query = { action: 'edit', redlink: '1' };
if (tabs[page.title].isThird && (conf.wgNamespaceNumber !== 0 && conf.wgNamespaceNumber !== 1)) {
if (conf.wgNamespaceNumber === conf.wgNamespaceIds.module)
if (/\/testcases$/.test(conf.wgTitle))
query.preload = 'টেমপ্লেট:নথি/preloadModuleTestcases';
else
query.preload = 'টেমপ্লেট:নথি/preloadModule';
else
query.preload = 'টেমপ্লেট:নথি/preloadTemplate';
}
link.href = mw.util.getUrl(page.title, query);
jQuery(tabs[page.title]).addClass('new');
}
}
});
}
});