מדיה ויקי:Gadget-WLM.js: הבדלים בין גרסאות בדף
מראה
אין תקציר עריכה |
אין תקציר עריכה |
||
| שורה 1: | שורה 1: | ||
function i18n(name) { | |||
var msg = { | |||
mark: ['סימון כעריכה שנקראה', 'Mark as read'], | |||
unmark: ['סימון כעריכה שלא נקראה', 'Mark as unread'], | |||
close: ['הסתרת העריכה', 'Hide revision'], | |||
markFlow: ['סימון כעריכה שנקראה', 'Mark flow as read'], | |||
hideAll: ['הסתרת עריכות שנקראו', 'Hide all read'], | |||
showAll: ['הצגת עריכות שהוסתרו', 'Show all hidden'] | |||
}; | |||
return msg[name][lang]; | |||
} | |||
function seen(obj) { | function seen(obj) { | ||
obj.before( | obj.before( | ||
$('<a>', {text: '\u200f', title: ' | $('<a>', {text: '\u200f', title: i18n('mark'), href: '#nw', class: 'mark-all-edits WLM-icon'}).click(function() { | ||
var $this = $(this); | var $this = $(this); | ||
if (window.script96 !== 'unhide') | if (window.script96 !== 'unhide') $('.yellowedit').hide(); | ||
var diff = /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').prop('href'))[1]; | var diff = /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').prop('href'))[1]; | ||
new mw.Api().postWithToken('csrf', { | new mw.Api().postWithToken('csrf', { | ||
| שורה 13: | שורה 22: | ||
}).done(function() { | }).done(function() { | ||
unseen($this); | unseen($this); | ||
$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched') | $this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched blueedit') | ||
.addClass('mw-changeslist-line-not-watched | .addClass('mw-changeslist-line-not-watched yellowedit'); | ||
var name = $this.closest('.mw-changeslist-line-not-watched').find('.mw-changeslist-title').text(); | var name = $this.closest('.mw-changeslist-line-not-watched').find('.mw-changeslist-title').text(); | ||
var prevs = $ | var prevs = $('.mw-changeslist-line-watched .mw-changeslist-title').filter(function() { | ||
var thediff = /.*diff=([0-9]+).*oldid.*/.exec($(this).closest('.mw-changeslist-line-watched') | |||
var thediff = $(this).closest('.mw-changeslist-line-watched').find('a[href*="diff"]').prop('href') | .find('a[href*="diff"]').prop('href')); | ||
return thediff && $(this).text() == name && thediff[1] < diff; | return thediff && $(this).text() == name && thediff[1] < diff; | ||
}).closest('.mw-changeslist-line-watched'); | }).closest('.mw-changeslist-line-watched'); | ||
prevs | prevs.removeClass('mw-changeslist-line-watched blueedit') | ||
.addClass('mw-changeslist-line-not-watched').find('.mark-all-edits').remove(); | .addClass('mw-changeslist-line-not-watched yellowedit').find('.mark-all-edits').remove(); | ||
prevs.show(); | prevs.show(); | ||
unseen(prevs.find('span.mw-title')); | unseen(prevs.find('span.mw-title')); | ||
| שורה 33: | שורה 40: | ||
} | } | ||
function unseen(obj) { | function unseen(obj) { | ||
obj.before( | |||
$('<a>', {title: ' | $('<a>', {text: '\u200f', title: i18n('unmark'), href: '#nw', class: 'unmark-edits WLM-icon'}).click(function() { | ||
var $this = $(this); | var $this = $(this); | ||
var diffcond = $this.closest('.mw-changeslist-line-not-watched').find('abbr.newpage').length > 0; | var diffcond = $this.closest('.mw-changeslist-line-not-watched').find('abbr.newpage').length > 0; | ||
| שורה 45: | שורה 51: | ||
newerthanrevid: oldrev | newerthanrevid: oldrev | ||
}).done(function() { | }).done(function() { | ||
$this.closest('.mw-changeslist-line-not-watched').removeClass('mw-changeslist-line-not-watched') | $this.closest('.mw-changeslist-line-not-watched').removeClass('mw-changeslist-line-not-watched yellowedit') | ||
.addClass('mw-changeslist-line-watched | .addClass('mw-changeslist-line-watched blueedit'); | ||
seen($this); | seen($this); | ||
var name = $this.closest('.mw-changeslist-line-watched').find('.mw-changeslist-title').text(); | var name = $this.closest('.mw-changeslist-line-watched').find('.mw-changeslist-title').text(); | ||
var prevs = $ | var prevs = $('.mw-changeslist-line-not-watched .mw-changeslist-title').filter(function() { | ||
var thediff = /.*diff=([0-9]+).*oldid.*/.exec($(this).closest('.mw-changeslist-line-not-watched') | |||
var thediff = $(this).closest('.mw-changeslist-line-not-watched') | .find('a[href*="diff"]').prop('href')); | ||
.find('a[href*="diff"]').prop('href') | |||
return thediff && $(this).text() == name && thediff[1] > diff; | return thediff && $(this).text() == name && thediff[1] > diff; | ||
}).closest('.mw-changeslist-line-not-watched'); | }).closest('.mw-changeslist-line-not-watched'); | ||
prevs | prevs.removeClass('mw-changeslist-line-not-watched yellowedit') | ||
.addClass('mw-changeslist-line-watched').find('.unmark-edits').remove(); | .addClass('mw-changeslist-line-watched blueedit').find('.unmark-edits').remove(); | ||
prevs.show(); | prevs.show(); | ||
seen(prevs.find('span.mw-title')); | seen(prevs.find('span.mw-title')); | ||
| שורה 65: | שורה 68: | ||
} ) ); | } ) ); | ||
} | } | ||
function hider() { | |||
$('.mw-changeslist-line-not-watched, [class*="mw-changeslist-log"]').hide(); | |||
$('abbr.wikibase-edit').closest('.mw-changeslist-line-watched').hide(); | |||
} | |||
function closeedit() { | |||
$(' | $('td.mw-enhanced-rc, li span.mw-changeslist-date').parent().filter(function() { | ||
return $(this).find('td.mw-enhanced-rc-nested').length <= 0; | |||
}).prepend($('<a>', {text: '\u200f', title: i18n('close'), href: '#nw', class: 'close-edit'}).click(function() { | |||
$(this).closest('.mw-changeslist-line-not-watched, .mw-changeslist-line-watched').hide(); | |||
} ) ); | |||
$('td.mw-enhanced-rc').parent().find('td.mw-enhanced-rc-nested').prev().before($('<td>')); | |||
} | |||
function flowseen() { | |||
$('.mw-changeslist-line-watched a.mw-title').before( | |||
$('<a>', {text: '\u200f', title: i18n('markFlow'), href: '#nw', class: 'mark-all-flow-edits WLM-icon'}) | |||
$('<a>', {title: ' | |||
.click(function() { | .click(function() { | ||
var $this = $(this); | var $this = $(this); | ||
| שורה 94: | שורה 91: | ||
titles: topic + '|' + page, | titles: topic + '|' + page, | ||
}).done(function() { | }).done(function() { | ||
$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched') | $this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched blueedit') | ||
.addClass('mw-changeslist-line-not-watched | .addClass('mw-changeslist-line-not-watched yellowedit').hide(); | ||
$this.remove(); | $this.remove(); | ||
}); | }); | ||
} ) ); | |||
} | |||
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Watchlist' ) { | |||
$('.mw-body-content').addClass((typeof window.orientation == 'undefined') ? 'WLM-desktop' : 'WLM-mobile'); | |||
importStylesheet('User:IKhitron/96.css'); | |||
var lang = mw.user.options.get( 'language' ) == 'he' ? 0 : 1; | |||
seen($('.mw-changeslist-line-watched span.mw-title')); | |||
unseen($('.mw-changeslist-line-not-watched span.mw-title')); | |||
flowseen(); | |||
closeedit(); | |||
if (window.WLM !== 'unhide') hider(); | |||
mw.loader.using('mediawiki.util').done( function() { | mw.loader.using('mediawiki.util').done( function() { | ||
$( mw.util.addPortletLink('p-personal', '#', | $( mw.util.addPortletLink('p-personal', '#', i18n('hideAll')) ).click(hider); | ||
$( mw.util.addPortletLink('p-personal', '#', i18n('showAll')) ).click(function() { | |||
$('[class*="mw-changeslist"]').show(); | |||
$( mw.util.addPortletLink('p-personal', '#', ' | |||
$('[class*="mw-changeslist | |||
} ); | } ); | ||
} ); | } ); | ||
} | } | ||
גרסה מ־14:47, 22 בספטמבר 2016
function i18n(name) {
var msg = {
mark: ['סימון כעריכה שנקראה', 'Mark as read'],
unmark: ['סימון כעריכה שלא נקראה', 'Mark as unread'],
close: ['הסתרת העריכה', 'Hide revision'],
markFlow: ['סימון כעריכה שנקראה', 'Mark flow as read'],
hideAll: ['הסתרת עריכות שנקראו', 'Hide all read'],
showAll: ['הצגת עריכות שהוסתרו', 'Show all hidden']
};
return msg[name][lang];
}
function seen(obj) {
obj.before(
$('<a>', {text: '\u200f', title: i18n('mark'), href: '#nw', class: 'mark-all-edits WLM-icon'}).click(function() {
var $this = $(this);
if (window.script96 !== 'unhide') $('.yellowedit').hide();
var diff = /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').prop('href'))[1];
new mw.Api().postWithToken('csrf', {
action: 'setnotificationtimestamp',
titles: $this.next().text(),
newerthanrevid: diff
}).done(function() {
unseen($this);
$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched blueedit')
.addClass('mw-changeslist-line-not-watched yellowedit');
var name = $this.closest('.mw-changeslist-line-not-watched').find('.mw-changeslist-title').text();
var prevs = $('.mw-changeslist-line-watched .mw-changeslist-title').filter(function() {
var thediff = /.*diff=([0-9]+).*oldid.*/.exec($(this).closest('.mw-changeslist-line-watched')
.find('a[href*="diff"]').prop('href'));
return thediff && $(this).text() == name && thediff[1] < diff;
}).closest('.mw-changeslist-line-watched');
prevs.removeClass('mw-changeslist-line-watched blueedit')
.addClass('mw-changeslist-line-not-watched yellowedit').find('.mark-all-edits').remove();
prevs.show();
unseen(prevs.find('span.mw-title'));
$this.remove();
});
}) ).filter(function () {return $(this).closest('.mw-changeslist-line-watched').find('a[href*="diff"]').length <= 0})
.prev().remove();
}
function unseen(obj) {
obj.before(
$('<a>', {text: '\u200f', title: i18n('unmark'), href: '#nw', class: 'unmark-edits WLM-icon'}).click(function() {
var $this = $(this);
var diffcond = $this.closest('.mw-changeslist-line-not-watched').find('abbr.newpage').length > 0;
var oldrev = diffcond ? 0 : /oldid=([0-9]+)/.exec($this.parent().find('a[href*="oldid"]').prop('href'))[1];
var diff = diffcond ? 0 : /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').prop('href'))[1];
new mw.Api().postWithToken('csrf', {
action: 'setnotificationtimestamp',
titles: $this.next().text(),
newerthanrevid: oldrev
}).done(function() {
$this.closest('.mw-changeslist-line-not-watched').removeClass('mw-changeslist-line-not-watched yellowedit')
.addClass('mw-changeslist-line-watched blueedit');
seen($this);
var name = $this.closest('.mw-changeslist-line-watched').find('.mw-changeslist-title').text();
var prevs = $('.mw-changeslist-line-not-watched .mw-changeslist-title').filter(function() {
var thediff = /.*diff=([0-9]+).*oldid.*/.exec($(this).closest('.mw-changeslist-line-not-watched')
.find('a[href*="diff"]').prop('href'));
return thediff && $(this).text() == name && thediff[1] > diff;
}).closest('.mw-changeslist-line-not-watched');
prevs.removeClass('mw-changeslist-line-not-watched yellowedit')
.addClass('mw-changeslist-line-watched blueedit').find('.unmark-edits').remove();
prevs.show();
seen(prevs.find('span.mw-title'));
$this.remove();
});
} ) );
}
function hider() {
$('.mw-changeslist-line-not-watched, [class*="mw-changeslist-log"]').hide();
$('abbr.wikibase-edit').closest('.mw-changeslist-line-watched').hide();
}
function closeedit() {
$('td.mw-enhanced-rc, li span.mw-changeslist-date').parent().filter(function() {
return $(this).find('td.mw-enhanced-rc-nested').length <= 0;
}).prepend($('<a>', {text: '\u200f', title: i18n('close'), href: '#nw', class: 'close-edit'}).click(function() {
$(this).closest('.mw-changeslist-line-not-watched, .mw-changeslist-line-watched').hide();
} ) );
$('td.mw-enhanced-rc').parent().find('td.mw-enhanced-rc-nested').prev().before($('<td>'));
}
function flowseen() {
$('.mw-changeslist-line-watched a.mw-title').before(
$('<a>', {text: '\u200f', title: i18n('markFlow'), href: '#nw', class: 'mark-all-flow-edits WLM-icon'})
.click(function() {
var $this = $(this);
var topic = 'נושא:' + /title=[^:]*:(.+)&/.exec($this.parent().find('a[href*="fromnotif"]').prop('href'))[1];
var page = $this.parent().find('a.mw-title').prop('title');
new mw.Api().postWithToken('csrf', {
action: 'setnotificationtimestamp',
titles: topic + '|' + page,
}).done(function() {
$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched blueedit')
.addClass('mw-changeslist-line-not-watched yellowedit').hide();
$this.remove();
});
} ) );
}
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Watchlist' ) {
$('.mw-body-content').addClass((typeof window.orientation == 'undefined') ? 'WLM-desktop' : 'WLM-mobile');
importStylesheet('User:IKhitron/96.css');
var lang = mw.user.options.get( 'language' ) == 'he' ? 0 : 1;
seen($('.mw-changeslist-line-watched span.mw-title'));
unseen($('.mw-changeslist-line-not-watched span.mw-title'));
flowseen();
closeedit();
if (window.WLM !== 'unhide') hider();
mw.loader.using('mediawiki.util').done( function() {
$( mw.util.addPortletLink('p-personal', '#', i18n('hideAll')) ).click(hider);
$( mw.util.addPortletLink('p-personal', '#', i18n('showAll')) ).click(function() {
$('[class*="mw-changeslist"]').show();
} );
} );
}