Difference between revisions of "MediaWiki:Perseids-toolbar.js"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
function generateButton(type, itemId, claimId, lang) { |
function generateButton(type, itemId, claimId, lang) { |
||
− | |||
if(type == 'edit') { |
if(type == 'edit') { |
||
var editUrl = 'http://sosol.perseids.org/sosol/cts_publications/create_from_agent?agent=' |
var editUrl = 'http://sosol.perseids.org/sosol/cts_publications/create_from_agent?agent=' |
||
Line 43: | Line 42: | ||
function makeAddButton() { |
function makeAddButton() { |
||
+ | var propToLang = { |
||
+ | 'p11': 'en', |
||
+ | 'p13': 'it', |
||
+ | 'p16': 'el', |
||
+ | 'p19': 'hu', |
||
+ | 'p14': 'es', |
||
+ | 'p17': 'ru', |
||
+ | 'p20': 'ro', |
||
+ | 'p57': 'hr', |
||
+ | 'p12': 'de', |
||
+ | 'p15': 'fr', |
||
+ | 'p18': 'si', |
||
+ | 'p61': 'se', |
||
+ | }; |
||
var itemId = wb.entity.getId(); |
var itemId = wb.entity.getId(); |
||
− | $(this).after(generateButton('add', itemId, null, 'EN')); |
||
+ | var langClass = $(this).parents('wb-claim-section').attr('class').split(' ')[1]; |
||
+ | var langProp = langClass.replace('wb-claim-section-', ''); |
||
+ | $(this).after(generateButton('add', itemId, null, propToLang[langProp])); |
||
} |
} |
||
+ | // Edit buttons |
||
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-innoneditmode .wikibase-toolbar .wikibase-toolbarbutton:first-child' ) |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-innoneditmode .wikibase-toolbar .wikibase-toolbarbutton:first-child' ) |
||
.each(makeEditButton); |
.each(makeEditButton); |
||
+ | // Add buttons |
||
$( '.wb-claimlist .wb-claim-section > .wb-addtoolbar .wb-editsection a.wikibase-toolbarbutton:first-child') |
$( '.wb-claimlist .wb-claim-section > .wb-addtoolbar .wb-editsection a.wikibase-toolbarbutton:first-child') |
||
.each(makeAddButton); |
.each(makeAddButton); |
||
+ | // Save buttons |
||
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar .wikibase-toolbarbutton:first-child') |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar .wikibase-toolbarbutton:first-child') |
||
.after(generateButton('save')); |
.after(generateButton('save')); |
||
− | / |
+ | // Quando clicco sul pulsante "edit"... |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup .wikibase-toolbarbutton:first-child:not(.wikibase-toolbarbutton-disabled)' ).click(function () { |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup .wikibase-toolbarbutton:first-child:not(.wikibase-toolbarbutton-disabled)' ).click(function () { |
||
− | / |
+ | // Genero il pulsante "save to Perseids" |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar:not(:has(.perseids-save)) .wikibase-toolbarbutton:first-child') |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar:not(:has(.perseids-save)) .wikibase-toolbarbutton:first-child') |
||
.after(generateButton('save')); |
.after(generateButton('save')); |
||
− | / |
+ | // Click su "annulla": rigenero il pulsante "edit" |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar .wikibase-toolbarbutton:last-child').click(function(){ |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar .wikibase-toolbarbutton:last-child').click(function(){ |
||
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-innoneditmode .wikibase-toolbar:not(:has(.perseids-edit)) .wikibase-toolbarbutton:first-child' ) |
$( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-innoneditmode .wikibase-toolbar:not(:has(.perseids-edit)) .wikibase-toolbarbutton:first-child' ) |
Revision as of 16:39, 15 September 2014
function generateButton(type, itemId, claimId, lang) { if(type == 'edit') { var editUrl = 'http://sosol.perseids.org/sosol/cts_publications/create_from_agent?agent=' + 'http://www.eagle-network.eu&id=' + itemId + '&filter=' + claimId; return $( '<a>' ) .attr( { 'class': 'wikibase-toolbarbutton perseids-edit', 'href': editUrl, } ) .before( '|' ) .text( 'edit in Perseids' ); } else if (type == 'save') { return $( '<a>' ) .attr( { 'class': 'wikibase-toolbarbutton perseids-save', 'href': 'javascript:void(0);' } ) .before( '|' ) .text( 'save to Perseids' ); } else if (type == 'add') { var addUrl = 'http://sosol.perseids.org/sosol/cts_publications/create_from_agent?agent=' + 'http://www.eagle-network.eu&id=' + itemId + '&lang=' + lang; return $( '<a>' ) .attr( { 'class': 'wikibase-toolbarbutton perseids-add', 'href': addUrl, } ) .before( '|' ) .text( 'add via Perseids' ); } } function makeEditButton() { var itemId = wb.entity.getId(); var claimClass = $(this).parents('.wb-statement-claim').find('.wb-claim').attr('class').split(' ')[1]; var claimId = claimClass.replace('wb-claim-', ''); $(this).after(generateButton('edit', itemId, claimId, null)); } function makeAddButton() { var propToLang = { 'p11': 'en', 'p13': 'it', 'p16': 'el', 'p19': 'hu', 'p14': 'es', 'p17': 'ru', 'p20': 'ro', 'p57': 'hr', 'p12': 'de', 'p15': 'fr', 'p18': 'si', 'p61': 'se', }; var itemId = wb.entity.getId(); var langClass = $(this).parents('wb-claim-section').attr('class').split(' ')[1]; var langProp = langClass.replace('wb-claim-section-', ''); $(this).after(generateButton('add', itemId, null, propToLang[langProp])); } // Edit buttons $( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-innoneditmode .wikibase-toolbar .wikibase-toolbarbutton:first-child' ) .each(makeEditButton); // Add buttons $( '.wb-claimlist .wb-claim-section > .wb-addtoolbar .wb-editsection a.wikibase-toolbarbutton:first-child') .each(makeAddButton); // Save buttons $( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar .wikibase-toolbarbutton:first-child') .after(generateButton('save')); // Quando clicco sul pulsante "edit"... $( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup .wikibase-toolbarbutton:first-child:not(.wikibase-toolbarbutton-disabled)' ).click(function () { // Genero il pulsante "save to Perseids" $( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar:not(:has(.perseids-save)) .wikibase-toolbarbutton:first-child') .after(generateButton('save')); // Click su "annulla": rigenero il pulsante "edit" $( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-ineditmode .wikibase-toolbar .wikibase-toolbarbutton:last-child').click(function(){ $( '.wb-claimlist .wb-statement-claim .wikibase-toolbareditgroup-innoneditmode .wikibase-toolbar:not(:has(.perseids-edit)) .wikibase-toolbarbutton:first-child' ) .each(makeEditButton); }); });