לדלג לתוכן

מדיה ויקי:Gadget-WLM.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
אין תקציר עריכה
אין תקציר עריכה
שורה 1: שורה 1:
function seen(obj) {
function seen(obj) {
obj.before( // ◆
if (obj.closest('.mw-changeslist-line-watched').find('a[href*="diff"]').length > 0)
$('<a>', {text: '📖', title: 'סימון כעריכה שנקראה', href: '#nw', class: "mark-all-edits"})
obj.before( // ◆
.css({marginLeft: '0.3em', marginRight: '0.1em', color: '#990066', "font-size": iconsize}).click(function() {
$('<a>', {text: '📖', title: 'סימון כעריכה שנקראה', href: '#nw', class: "mark-all-edits"})
var $this = $(this);
.css({marginLeft: '0.3em', marginRight: '0.1em', color: '#990066', "font-size": iconsize}).click(function() {
if (grouping) {
var $this = $(this);
$this.closest('body').find('.yellowedit').hide();
if (grouping) {
}
$this.closest('body').find('.yellowedit').hide();
var diff = /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').prop('href'))[1];
}
new mw.Api().postWithToken('csrf', {
var diff = /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').prop('href'))[1];
action: 'setnotificationtimestamp',
new mw.Api().postWithToken('csrf', {
titles: $this.next().text(),
action: 'setnotificationtimestamp',
newerthanrevid: diff
titles: $this.next().text(),
}).done(function() {
newerthanrevid: diff
unseen($this);
}).done(function() {
$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched')
unseen($this);
.addClass('mw-changeslist-line-not-watched').removeClass('blueedit').addClass('yellowedit');
$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched')
markrest($this, diff);
.addClass('mw-changeslist-line-not-watched').removeClass('blueedit').addClass('yellowedit');
$this.remove();
markrest($this, diff);
});
$this.remove();
}) );
});
}
}) );
function markrest($this, diff) {
var name = $this.closest('.mw-changeslist-line-not-watched').find('.mw-changeslist-title').text();
var prevs = $this.closest('body').find('.mw-changeslist-line-watched')
.find('.mw-changeslist-title').filter(function() {
var thediff = $(this).closest('.mw-changeslist-line-watched')
.find('a[href*="diff"]').prop('href');
if (thediff)
thediff = thediff.match(/.*diff=([0-9]+).*oldid.*/);
  return thediff && $(this).text() == name && thediff[1] < diff;
}).closest('.mw-changeslist-line-watched');
prevs.removeClass('blueedit').addClass('yellowedit').removeClass('mw-changeslist-line-watched')
.addClass('mw-changeslist-line-not-watched').find('.mark-all-edits').remove();
unseen(prevs.find('span.mw-title'));
}
}
function unseen(obj) {
function unseen(obj) {
$(obj).before(
$(obj).before(
$('<a>', {text: '▣', title: 'סימון כעריכה שלא נקראה', href: '#nw', class: "unmark-edits"})
$('<a>', {text: '▣', title: 'סימון כעריכה שלא נקראה', href: '#nw', class: "unmark-edits"})
.css({marginLeft: '0.3em', marginRight: '0.1em', color: 'green', "font-size": iconsize}).click(function() {
.css({marginLeft: '0.3em', marginRight: '0.1em', color: 'green', "font-size": iconsize}).click(function() {
var $this = $(this);
var $this = $(this);
var oldrev = //$this.closest('.mw-changeslist-line-not-watched').find('abbr.newpage').length > 0 ? 0
var diffcond = $this.closest('.mw-changeslist-line-not-watched').find('abbr.newpage').length > 0;
/oldid=([0-9]+)/.exec($this.parent().find('a[href*="oldid"]').prop('href'))[1];
var oldrev = diffcond ? 0 : /oldid=([0-9]+)/.exec($this.parent().find('a[href*="oldid"]').prop('href'))[1];
var diff = /diff=([0-9]+)/.exec($this.parent().find('a[href*="diff"]').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', {
new mw.Api().postWithToken('csrf', {
action: 'setnotificationtimestamp',
action: 'setnotificationtimestamp',
שורה 67: שורה 54:
});
});
} ) );
} ) );
}
function markrest($this, diff) {
var name = $this.closest('.mw-changeslist-line-not-watched').find('.mw-changeslist-title').text();
var prevs = $this.closest('body').find('.mw-changeslist-line-watched')
.find('.mw-changeslist-title').filter(function() {
var thediff = $(this).closest('.mw-changeslist-line-watched')
.find('a[href*="diff"]').prop('href');
if (thediff)
thediff = thediff.match(/.*diff=([0-9]+).*oldid.*/);
  return thediff && $(this).text() == name && thediff[1] < diff;
}).closest('.mw-changeslist-line-watched');
prevs.removeClass('blueedit').addClass('yellowedit').removeClass('mw-changeslist-line-watched')
.addClass('mw-changeslist-line-not-watched').find('.mark-all-edits').remove();
unseen(prevs.find('span.mw-title'));
}
}
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Watchlist' ) {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Watchlist' ) {

גרסה מ־14:40, 20 בספטמבר 2016

function seen(obj) {
	if (obj.closest('.mw-changeslist-line-watched').find('a[href*="diff"]').length > 0)
		obj.before( // ◆
			$('<a>', {text: '📖', title: 'סימון כעריכה שנקראה', href: '#nw', class: "mark-all-edits"})
					.css({marginLeft: '0.3em', marginRight: '0.1em', color: '#990066', "font-size": iconsize}).click(function() {
				var $this = $(this);
				if (grouping) {
					$this.closest('body').find('.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')
					.addClass('mw-changeslist-line-not-watched').removeClass('blueedit').addClass('yellowedit');
				markrest($this, diff);
				$this.remove();
			});
		}) );
}
function unseen(obj) {
	$(obj).before(
		$('<a>', {text: '▣', title: 'סימון כעריכה שלא נקראה', href: '#nw', class: "unmark-edits"})
				.css({marginLeft: '0.3em', marginRight: '0.1em', color: 'green', "font-size": iconsize}).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')
				.addClass('mw-changeslist-line-watched').removeClass('yellowedit').addClass('blueedit');
			seen($this);
			var name = $this.closest('.mw-changeslist-line-watched').find('.mw-changeslist-title').text();
			var prevs = $this.closest('body').find('.mw-changeslist-line-not-watched')
					.find('.mw-changeslist-title').filter(function() {
				var thediff = $(this).closest('.mw-changeslist-line-not-watched')
					.find('a[href*="diff"]').prop('href');
				if (thediff)
					thediff = thediff.match(/.*diff=([0-9]+).*oldid.*/);
  				return thediff && $(this).text() == name && thediff[1] > diff;
			}).closest('.mw-changeslist-line-not-watched');
			prevs.removeClass('yellowedit').addClass('blueedit').removeClass('mw-changeslist-line-not-watched')
				.addClass('mw-changeslist-line-watched').find('.unmark-edits').remove();
			seen(prevs.find('span.mw-title'));
			markrest($this, diff);
			$this.remove();
		});
	} ) );
}
function markrest($this, diff) {
	var name = $this.closest('.mw-changeslist-line-not-watched').find('.mw-changeslist-title').text();
	var prevs = $this.closest('body').find('.mw-changeslist-line-watched')
			.find('.mw-changeslist-title').filter(function() {
		var thediff = $(this).closest('.mw-changeslist-line-watched')
			.find('a[href*="diff"]').prop('href');
		if (thediff)
			thediff = thediff.match(/.*diff=([0-9]+).*oldid.*/);
  		return thediff && $(this).text() == name && thediff[1] < diff;
	}).closest('.mw-changeslist-line-watched');
	prevs.removeClass('blueedit').addClass('yellowedit').removeClass('mw-changeslist-line-watched')
		.addClass('mw-changeslist-line-not-watched').find('.mark-all-edits').remove();
	unseen(prevs.find('span.mw-title'));
}
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Watchlist' ) {
	grouping = $('span.mw-enhancedchanges-arrow-space').length > 0;
	window.script96 = window.script96 || grouping;
	iconsize = (typeof window.orientation == 'undefined') ? "80%" : "120%";
	$("<style type='text/css'> .yellowedit{ background-color: yellow; } </style>").appendTo("head");
	$("<style type='text/css'> .blueedit{ background-color: #B0E2FF; } </style>").appendTo("head");
	unseen('.mw-changeslist-line-not-watched span.mw-title');
	$('.mw-changeslist-line-watched td.mw-enhanced-rc, .mw-changeslist-line-not-watched td.mw-enhanced-rc,'
			+ ' span.mw-changeslist-date').before(
		$('<a>', {text: 'x', title: 'הסתרת העריכה', href: '#nw', class: "close-edit"})
				.css({marginLeft: '0.3em', marginRight: '0.1em', color: 'black'}).click(function() {
			$(this).parent().hide();
		} ) );
	if (window.script96 !== "unhide") {
		$('.mw-changeslist-line-not-watched ').hide();
	}
	seen($('.mw-changeslist-line-watched span.mw-title'));
	$('.mw-changeslist-line-watched a.mw-title').before(
		$('<a>', {text: '📖', title: 'סימון כעריכה שנקראה', href: '#nw', class: "mark-all-flow-edits"})
				.css({marginLeft: '0.3em', marginRight: '0.1em', color: '#990066', "font-size": iconsize}).click(function() {
			var $this = $(this);
			if (grouping) {
				$this.closest('body').find('.yellowedit').hide();
			}
			$.getJSON($this.siblings('a.mw-title').attr('href'));
			$this.closest('.mw-changeslist-line-watched').removeClass('mw-changeslist-line-watched')
				.addClass('mw-changeslist-line-not-watched').removeClass('blueedit').addClass('yellowedit');
			$this.remove();
		} ) );
	mw.loader.using('mediawiki.util').done( function() { 
		$( mw.util.addPortletLink('p-personal', '#', 'הסתרת עריכות שנקראו') ).click(function() {
			$('.mw-changeslist-line-not-watched ').hide();
			} );
		$( mw.util.addPortletLink('p-personal', '#', 'הצגת עריכות שהוסתרו') ).click(function() {
			$('.mw-changeslist-line-not-watched ').show();
			$('.mw-changeslist-line-watched ').show();
			} );
		} );
}