MediaWiki:ManageBookCover.js
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
- Opera: натисніть Ctrl-F5
$(function () {
var ns = mw.config.get( 'wgNamespaceNumber' );
if( ns !== 0 ) return;
var action = mw.config.get( 'wgAction' );
if ( action !== 'view' ) return;
var obj_div = document.getElementById('ukws-book-cover');
if(obj_div == null) return;
var textHTML = obj_div.innerHTML;
var storageKey = 'managebookcoverstate';
function getSelectedState() {
var state;
state = mw.storage.get( storageKey ) || mw.storage.session.get( storageKey );
return state;
}
function saveSelectedState( state ) {
var result = mw.storage.set( storageKey, state ) || mw.storage.session.set( storageKey, state );
}
var choice_state = getSelectedState();
var message = [
"Обкладинку показати",
"Обкладинку приховати"
];
if (choice_state == null) {
choice_state = 1;
saveSelectedState( choice_state );
}
var portletLink = mw.util.addPortletLink(
"p-do",
"#",
message[choice_state],
"d-manage_book_cover",
"Приховати/показати обкладинку книги"
);
$( portletLink ).on( "click", function ( e ) {
e.preventDefault();
toggle();
} );
change_html();
function toggle () {
choice_state = 1 - choice_state;
saveSelectedState( choice_state );
change_html();
}
function change_html () {
if (choice_state == 0) {
obj_div.innerHTML = "";
obj_div.style.visibility = "hidden";
}
else {
obj_div.innerHTML = textHTML;
obj_div.style.visibility = "visible";
}
$( "#d-manage_book_cover" ).children( "a" ).html( message[choice_state] );
}
});