মিডিয়াউইকি:Gadget-BookMakerLoader.js
টীকা: সংরক্ষণ করার পর, পরিবর্তনসমূহ তৎক্ষণাৎ নাও দেখাতে পারে। আপনার ব্রাউজারের ক্যাশ কিভাবে এড়াবেন তা জানতে এখানে ক্লিক করুন।
- ফায়ারফক্স / সাফারি: Shift ধরে রাখা অবস্থায়পুনঃলোড করুন-এ ক্লিক করুন, অথবা Ctrl-F5 বা Ctrl-R (ম্যাক-এ ⌘-R) চাপুন
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাক-এ ⌘-Shift-R) চাপুন
- ইন্টারনেট এক্সপ্লোরার: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 চাপুন
- অপেরা: মেনু → ব্যবস্থাপনাসমূহ-এ যান (ম্যাকে অপেরা → পছন্দসমূহ) এবং এরপর গোপনীয়তা ও সুরক্ষা → ব্রাউজিং-এর তথ্য পরিষ্কার করুন → ক্যাশে করা ছবি ও ফাইলগুলি।
অন্যান্য ব্রাউজার সম্পর্কে বিশদ নির্দেশাবলীর জন্য, উইকিপিডিয়া:আপনার ক্যাশে বাইপাস করুন দেখুন।
/**
* Gadget that loads [[MediaWiki:BookMaker.js]] after clicking the
* relevant button (or if a book is alread in progress.
* This script also does any processing and DOM modification that needs
* to be shown before any user interaction.
*
* Help at [[Help:Gadget-BookMaker]]
*
* @rev 1 (2012-06-16)
* @author Inductiveload, 2012
*
*/
/*global jQuery:false, mediaWiki:false*/
(function ($, mw) {
'use strict';
if ($.inArray(mw.config.get('wgNamespaceNumber'), [0, 2]) === -1) { return; }
var bmi, // ImporterInstance
waiting = false,
onScriptLoad = function (evt, st, instance) {
if ('BookMaker' !== st || !instance) { return; }
bmi = instance;
waiting = false;
$(document).off('scriptLoaded.BookMaker');
loadBookMaker();
},
loadBookMaker = function () {
if (waiting) { return; }
if (bmi) {
if (bmi.wantToStart) {
bmi.start_bookmaker();
}
} else {
waiting = true;
$(document).on('scriptLoaded.BookMaker', onScriptLoad);
mw.loader.load('//en.wikisource.org/w/index.php?title=MediaWiki:BookMaker.js&action=raw&ctype=text/javascript&dummy=0');
}
};
window.BookMaker = function () {
//parameters we need in the loader script
this.bookTemplateID = 'ws-savedbook'; //matches pages that could be books
this.localstorage_name = 'wikisource_bookmakerpersistentdata';
this.portletID = 'coll-bookmaker';
this.wantToStart = false; //sometimes we want to load the script. but not start the editor
this.initMsg = { //messages that are shown before the bookmaker starts
editBook: 'Edit this book',
createBook: 'Create a book',
tooltip: 'Open the BookMaker tool to create a collection of pages for export'
};
this.add_create_book_link();
//if we are editing a book, display bookmaker right away
if (localStorage.hasOwnProperty(this.localstorage_name)) {
this.wantToStart = true;
loadBookMaker();
}
//loadBookMaker(); //uncomment to load automatically for testing.
};
//generates a link element to a Special:PrefixIndex page
window.BookMaker.prototype.generate_prefix_link = function (prefix, text) {
return $('<a>', {'href': mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=Special:PrefixIndex&prefix=' + prefix, 'text': (text || prefix)});
};
window.BookMaker.prototype.add_create_book_link = function () {
var myself = this;
//remove the PediaPress tool portlet link if any, plus any existing bookmaker portlet
$('#coll-create_a_book, #' + this.portletID).remove();
var linktext, portlet;
if ($('#' + this.bookTemplateID).length > 0) {
linktext = this.initMsg.editBook;
loadBookMaker();
} else {
linktext = this.initMsg.createBook;
}
portlet = mw.util.addPortletLink('p-coll-print_export', '#', linktext, this.portletID, this.initMsg.tooltip);
$(portlet).click( function () {
myself.wantToStart = true;
loadBookMaker();
});
};
window.BookMakerInstance = new window.BookMaker();
}(jQuery, mediaWiki));