MediaWiki:Gadget-watchlist-notice-core.js: Difference between revisions
Appearance
Content deleted Content added
use CSS for this. |
rm unused |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
⚫ | |||
addOnloadHook(function() { |
|||
⚫ | |||
}); |
|||
/** Add dismiss buttons to watchlist-message ************************************* |
/** Add dismiss buttons to watchlist-message ************************************* |
||
* |
* |
||
Line 13: | Line 7: | ||
function addDismissButton() { |
function addDismissButton() { |
||
var watchItems = $("div.watchlist-message"); |
|||
var docobj = document.getElementById('bodyContent') || document.getElementById('content') || document; |
|||
if(watchItems.length == 0) watchItems = $("li.watchlist-message") |
|||
if(watchItems.length == 0) watchItems = getElementsByClassName(docobj, 'li', 'watchlist-message'); |
|||
if(watchItems.length == 0) return |
if(watchItems.length == 0) return |
||
for(var i=0;i<watchItems.length;i++) { |
for(var i=0;i<watchItems.length;i++) { |
||
Line 41: | Line 34: | ||
function dismissWatchlistMessage(num,cid) { |
function dismissWatchlistMessage(num,cid) { |
||
var watchItems = $("div.watchlist-message"); |
|||
var docobj = document.getElementById('bodyContent') || document.getElementById('content') || document |
|||
if(watchItems.length == 0) watchItems = $("li.watchlist-message") |
|||
if(watchItems.length == 0) watchItems = getElementsByClassName(docobj, 'li', 'watchlist-message'); |
|||
watchItems[num].style.display = 'none'; |
watchItems[num].style.display = 'none'; |
||
Line 50: | Line 42: | ||
document.cookie = 'hidewatchlistmessage-' + cid + '=yes; expires=' + e.toGMTString() + '; path=/'; |
document.cookie = 'hidewatchlistmessage-' + cid + '=yes; expires=' + e.toGMTString() + '; path=/'; |
||
} |
} |
||
addOnloadHook(addDismissButton); |
|||
/** |
/** |
||
Line 59: | Line 50: | ||
mw.util.addCSS( '#mw-wlheader-showupdated, #mw-watchlist-resetbutton { display: none; } ' ); |
mw.util.addCSS( '#mw-wlheader-showupdated, #mw-watchlist-resetbutton { display: none; } ' ); |
||
} |
} |
||
addDismissButton(); |
|||
⚫ | |||
⚫ | |||
}); |
}); |
Revision as of 05:04, 8 November 2013
/** Add dismiss buttons to watchlist-message *************************************
*
* Description: Allows multiple dismiss buttons on [[MediaWiki:Watchlist-details]] with bump-able cookie IDs.
* Note: HTML is backwards compatible with old version, new version ignores old syntax, except for dismissed IDs.
* Maintainers: [[User:Ruud Koot|Ruud Koot]], [[User:MZMcBride|MZMcBride]]
*/
function addDismissButton() {
var watchItems = $("div.watchlist-message");
if(watchItems.length == 0) watchItems = $("li.watchlist-message")
if(watchItems.length == 0) return
for(var i=0;i<watchItems.length;i++) {
var watchlistCookieID = parseInt(watchItems[i].className.replace(/.*cookie\-ID\_(\d*).*/ig,'$1'));
if(isNaN(watchlistCookieID)) continue
if(document.cookie.indexOf('hidewatchlistmessage-' + watchlistCookieID + '=yes') != -1) {
watchItems[i].style.display = 'none';
continue;
}
var Button = document.createElement('span');
var ButtonLink = document.createElement('a');
var ButtonText = document.createTextNode('dismiss');
ButtonLink.className = 'dismissButton';
ButtonLink.setAttribute('href','javascript:dismissWatchlistMessage(' + i + ',' + watchlistCookieID + ')');
ButtonLink.setAttribute('title','Hide this message');
ButtonLink.appendChild(ButtonText);
Button.appendChild(document.createTextNode(' ['));
Button.appendChild(ButtonLink);
Button.appendChild(document.createTextNode(']'));
watchItems[i].appendChild(Button);
}
}
function dismissWatchlistMessage(num,cid) {
var watchItems = $("div.watchlist-message");
if(watchItems.length == 0) watchItems = $("li.watchlist-message")
watchItems[num].style.display = 'none';
var e = new Date();
e.setTime( e.getTime() + (4*7*24*60*60*1000) );
document.cookie = 'hidewatchlistmessage-' + cid + '=yes; expires=' + e.toGMTString() + '; path=/';
}
/**
* Hide the "green bullets" message for those using enhanced recent changes.
*/
$j(document).ready( function() {
if( $('table.mw-enhanced-rc').length > 0 ) {
mw.util.addCSS( '#mw-wlheader-showupdated, #mw-watchlist-resetbutton { display: none; } ' );
}
addDismissButton();
/* Load the geonotices. See [[Wikipedia:Geonotice]]. */
importScriptURI( wgScript + '?title=MediaWiki:Geonotice.js&action=raw&ctype=text/javascript&maxage=3600&ver=2');
});