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

לבקשת קיפודנחש
מ 166 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-TemplatesExternalLinks.js יובאו
 
(47 גרסאות ביניים של 9 משתמשים אינן מוצגות)
שורה 1: שורה 1:
//Adds wizard for using templates for external links
//Adds wizard for using templates for external links
//Written by [[User:קיפודנחש]]
//Written by [[User:קיפודנחש]]
if ($.inArray(wgAction, ['edit', 'submit']) + 1) $(document).ready(function() {
if (($.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit']) + 1) && ( !$('#wpTextbox1').prop( 'readonly' ) ))
mw.loader.using('jquery.textSelection', function() {


 
function templates(templateName) {
 
 
 
    function templates(templateName) {
var constants = ["",
var constants = ["",
"שם המחבר",
"שם המחבר",
"כותרת המאמר",
"כותרת המאמר",
"מספר (כפי שמופיע בקישור)",
"מספר (כפי שמופיע בקישור)",
"מידע נוסף, למשל תאריך. נסו לשמור על הפורמט '30 באוגוסט 1958'",
"מידע נוסף, למשל תאריך. נסו לשמור על הפורמט '30 באוגוסט 1958'",
שורה 72: שורה 69:
['מידע נוסף', 'מידע נוסף (לא תאריך)', 1],
['מידע נוסף', 'מידע נוסף (לא תאריך)', 1],
['שפה', 'שפה (אם המאמר לא בעברית)', 1],
['שפה', 'שפה (אם המאמר לא בעברית)', 1],
['פורמט', 'פורמט המאמר, אם אינו‏ HTML‏ ‏(PDF או DOC)', 1],
['ציטוט', 'ציטוט משפט מהדף המקושר (יכול לעזור במציאת הדף בעתיד, אם הקישור ישתנה)', 1]
['ציטוט', 'ציטוט משפט מהדף המקושר (יכול לעזור במציאת הדף בעתיד, אם הקישור ישתנה)', 1]
]},
]},
{t: 'הארץ', p: [1,2,3,4], r: /(?:spages\/|itemNo=)(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'הארץ', p: [1,2,3,4], r: /([.\d]+)$/i, rp: [3], bm: 1, op: [0,3]},
{t: 'דבר'},
{t: 'דבר'},
{t: 'מעריב'},
{t: 'מעריב'},
שורה 83: שורה 79:
{t: 'חבצלת'},
{t: 'חבצלת'},
{t: 'המליץ'},
{t: 'המליץ'},
{t: 'על המשמר'},
{t: 'היינט'},
{t: 'PalPost'},
{t: 'PalPost'},
            {t: 'חרות'},
{t: 'תנ"ך', p: [8,9,10], op:[2]},
{t: 'תנ"ך', p: [8,9,10], op:[2]},
{t: 'nrg', p: [1,2,3,4,0,19,20], r: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, rp: [6,7,3], bm: 1, op:[3,4,5,6]},
{t: 'nrg', p: [1,2,3,4,0,19,20], r: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, rp: [6,7,3], bm: 1, op:[3,4,5,6], nopop: 1},
{t: 'Mooma2', p: [42,3], r: /\?ArtistId=(\d+)/i, rp: [2]},
{t: 'Mooma2', p: [42,3], r: /\?ArtistId=(\d+)/i, rp: [2]},
{t: 'בחדרי חרדים', p: [1,2,3,4], r: /\/Article\.aspx\?id=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'בחדרי חרדים', p: [1,2,3,4], r: /\/Article\.aspx\?id=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'CIA factbook', p: [52]},
{t: 'CIA factbook', p: [52]},
{t: 'mynet', p: [1,2,3,4,0,5], r: /articles\/(\d+),7340,L-(\d+),00\.html/i, rp: [6,3], op: [3,4,5,6]},
{t: 'mynet', p: [1,2,3,4,0,5], r: /articles\/(\d+),7340,L-(\d+),00\.html/i, rp: [6,3], op: [3,4,5,6]},
{t: 'NFC', p: [1,2,3,4], r: /Archive\/([^\.]+)\.html/i, rp: [3], op: [3]},
{t: 'NFC', p: [1,2,3,4], r: /Archive\/([^\.]+)\.html/i, rp: [3], op: [3], bm: 1},
{t: 'Onlife', p: [1,2,3,4], r: /onlife\.co\.il\/([^\/]+)\/(.*)/i, rp: [1,3], op: [3]},
{t: 'Onlife', p: [1,2,3,4], r: /onlife\.co\.il\/([^\/]+)\/(.*)/i, rp: [1,3], op: [3]},
{t: 'ynet', p: [1,2,3,4,0,5,25], def: {6: 0, 7: 'articles'}, r: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]},
{t: 'ynet', p: [1,2,3,4], def: {6: 0, 7: 'articles'}, r: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]},
{t: 'Xnet', p: [1,2,3,4,0,5,25], def: {6: 0, 7: 'articles'}, r: /([^\/]+)\/(\d+),\d+,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]},
{t: 'Xnet', p: [1,2,3,4], def: {6: 0, 7: 'articles'}, r: /([^\/]+)\/(\d+),\d+,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]},
{t: 'וואלה!', p: [1,2,3,4,0,26], r: /\?w=\/(\d+)\/(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5]},
{t: 'וואלה!', p: [1,2,3,4,0,26], r: /\?w=\/(\d+)\/(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5]},
{t: 'גלובס', p: [1,2,3,4], r: /\/news\/article.aspx\?did=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'גלובס', p: [1,2,3,4], r: /\/news\/article.aspx\?did=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'כלכליסט', p: [1,2,3,4,0,19], r: /\/articles\/(\d+),7340,L-(\d+),00/i, rp: [6,3], op: [3,4,5,6]},
{t: 'כלכליסט', p: [1,2,3,4], r: /\/articles\/(\d+),7340,L-(\d+),00/i, rp: [6,3], op: [3,4,5,6], bm: 1},
{t: 'נענע10', p: [1,2,3,4,0,26], r: /http:\/\/([a-z]*)\.nana10\.co\.il\/Article\/\?ArticleID=(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5,6]},
{t: 'נענע10', p: [1,2,3,4,0,26], r: /http:\/\/([a-z]*)\.nana10\.co\.il\/Article\/\?ArticleID=(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5,6]},
{t: 'אנציקלופדיה ynet', p: [27,3,28,4], r: /\/yaan\/0,7340,L-(\d+)-([^-]*)-FreeYaan,00.html/i, rp: [2,3], op: [3]},
{t: 'תדהר', p: [29,13,27], op: [2]},
{t: 'תדהר', p: [29,13,27], op: [2]},
{t: 'אנשים ישראל', p: [1,2,3,4], r: /.*itemID=(\d+)&/i, rp: [3], op: [3]},
{t: 'אנשים ישראל', p: [1,2,3,4], r: /.*itemID=(\d+)&/i, rp: [3], op: [3]},
שורה 117: שורה 115:
{t: 'ישראל היום', p: [1,2,3,4], r: /newsletter_article\.php\?id=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'ישראל היום', p: [1,2,3,4], r: /newsletter_article\.php\?id=(\d+)/i, rp: [3], bm: 1, op: [3]},
{t: 'מממ', p: [1,2,3,4], r: /data\/pdf\/([^\.])\.pdf/i, rp: [3], op: [3]},
{t: 'מממ', p: [1,2,3,4], r: /data\/pdf\/([^\.])\.pdf/i, rp: [3], op: [3]},
{t: 'מממ2', p: [1,2,3,4], r: /data\/docs\/([^\.])\.rtf/i, rp: [3], op: [3]},
{t: 'משנה תורה', p: [12,3,34], r: /mechon-mamre.org\/\i\/(\d+)\.htm/i, rp: [2]},
{t: 'נזכור', p: [35,3], r: /HalalKorot\.aspx\?id=(\d+)/i, rp: [2]},
{t: 'נזכור', p: [35,3], r: /HalalKorot\.aspx\?id=(\d+)/i, rp: [2]},
{t: 'סגולה', p: [1,2,3,4], r: /view-article\.asp\?article=(\d+)/i, rp: [3], op: [3]},
{t: 'סגולה', p: [1,2,3,4], r: /view-article\.asp\?article=(\d+)/i, rp: [3], op: [3]},
שורה 136: שורה 132:
{t: 'ויקישיבה', p: [50]},
{t: 'ויקישיבה', p: [50]},
{t: 'HebrewBooks', p: [1,8,3,4], r: /hebrewbooks\.org\/(\d+)/i, rp: [3], op: [3]},
{t: 'HebrewBooks', p: [1,8,3,4], r: /hebrewbooks\.org\/(\d+)/i, rp: [3], op: [3]},
{t: 'HebrewBooksPage', p: [1,8,3,4,40], r: /pdfpager\.aspx\?.*req=(\d+).*&pgnum=(\d+)/i, rp: [3,5], op: [0,3]},
{t: 'גדולי ישראל', p: [29,40,41,13]},
{t: 'גדולי ישראל', p: [29,40,41,13]},
{t: 'עיתונות יהודית היסטורית 2', p: [43,44,1,2,22,3,7,0,23], def: {9: "Ar"}, r: /(?:Key|BaseHref)=([A-Z]{3})\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, rp: [2,5,9,6], replace: [[/%2F/gi,'/']], op: [6,8]},
{t: 'עיתונות יהודית היסטורית 2', p: [43,44,1,2,22,3,7,0,23], def: {9: "Ar"}, r: /(?:Key|BaseHref)=([A-Z]{3})\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, rp: [2,5,9,6], replace: [[/%2F/gi,'/']], op: [6,8]},
שורה 148: שורה 143:
{t: 'imdb company', np: [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']], r: /company\/co(\d+)/i, rp: [1]},
{t: 'imdb company', np: [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']], r: /company\/co(\d+)/i, rp: [1]},
{t: 'Google book', np: [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר', 1],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך', 1]], r: /id=([^&]*)/, rp: [1]},
{t: 'Google book', np: [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר', 1],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך', 1]], r: /id=([^&]*)/, rp: [1]},
{t: 'TheMarker1', p: [1,2,3,4,51], r: /http:\/\/(?:www)?(.*)\.themarker\.com\/([^\?]+)/i, rp: [5,3], op: [3,4]},
{t: 'TheMarker1', p: [1,2,3,4,51], r: /http:\/\/(?:www)?(.*)\.themarker\.com\/([^\?]+)/i, rp: [5,3], op: [3,4], bm: 1},
{t: 'מערכות', p: [1,2,3,49], r: /FILES\/(.*)\.pdf/i, rp: [3], op: [3]},
{t: 'מערכות', p: [1,2,3,49], r: /FILES\/(.*)\.pdf/i, rp: [3], op: [3]},
{t: 'mako', p: [1,2,3,6,4], r: /www\.mako\.co\.il\/(.*?)\/Article-(.*?)\.htm/i, rp: [4,3], bm: 1, op: [4]}
{t: 'mako', p: [1,2,3,6,4], r: /www\.mako\.co\.il\/(.*?)\/Article-(.*?)\.htm/i, rp: [4,3], bm: 1, op: [4]}
שורה 170: שורה 165:
template = templatesAr[i];
template = templatesAr[i];


var historic = {"דבר": "DAV", "מעריב": "MAR", "הצבי": "HZV", "הצפירה": "HZF", "המגיד": "MGD", "המליץ": "HMZ", "חבצלת": "HZT", "PalPost": "PLS"};
var historic = {"דבר": "DAV", "מעריב": "MAR", "הצבי": "HZV", "הצפירה": "HZF", "המגיד": "MGD", "המליץ": "HMZ", "חבצלת": "HZT", "PalPost": "PLS", "על המשמר" : "AHR", "היינט": "HYT", "חרות": "HRT"};
if (historic[template.t]) {
if (historic[template.t]) {
var r = new RegExp('=HISTNAME/(\\d{4}/\\d{1,2}/\\d{1,2})(?:.*&EntityId=|/\\d+/)([A-Z][a-z])(\\d+)'.replace('HISTNAME', historic[template.t]));
var r = new RegExp('=HISTNAME/(\\d{4}/\\d{1,2}/\\d{1,2})(?:.*&EntityId=|/\\d+/)([A-Z][a-z])(\\d+)'.replace('HISTNAME', historic[template.t]));
שורה 184: שורה 179:


function templateDialog(dialog, template, values) {
function templateDialog(dialog, template, values) {
var brainDamage = $.browser.msie && $.browser.version < 8;
var brainDamage = $.client.profile().name == 'msie' && $.client.profile().versionNumber < 8;
var orderedFields = [],
var orderedFields = [],
namedFields = [],
namedFields = [],
שורה 199: שורה 194:
if (par[parnum] == template.def[parnum])
if (par[parnum] == template.def[parnum])
par[parnum] = '';
par[parnum] = '';
while (par.length && !par[par.length-1].length && orderedFields[par.length-2].length) // last condition is to avoid remving "emptys"
if (! template.nopop)
par.pop();
while (par.length && !par[par.length-1].length && orderedFields[par.length-2].length) // last condition is to avoid remving "emptys"
par.pop();
var code = par.join("|");
var code = par.join("|");
if (namedFields) {
if (namedFields) {
שורה 213: שורה 209:
}
}
code += "}}";
code += "}}";
if ($('#ltw2_ref').attr('checked'))
if ($('#ltw2_ref').prop('checked'))
return "{{הערה|" + code + "}}";
return "{{הערה|" + code + "}}";
if ($('#ltw2_list').attr('checked'))
if ($('#ltw2_list').prop('checked'))
return "\n* " + code + "\n";
return "\n* " + code + "\n";
return code;
return code;
שורה 230: שורה 226:
canOK = 'disable';
canOK = 'disable';
$(".ui-dialog-buttonpane button:contains('אישור')").button(canOK);
$(".ui-dialog-buttonpane button:contains('אישור')").button(canOK);
$('#ltw2_list').attr('disabled', $('#ltw2_ref').attr('checked'));//disable list if ref
$('#ltw2_list').attr('disabled', $('#ltw2_ref').prop('checked'));//disable list if ref
$('#ltw2_ref').attr('disabled', $('#ltw2_list').attr('checked'));//disable ref if list
$('#ltw2_ref').attr('disabled', $('#ltw2_list').prop('checked'));//disable ref if list
if (brainDamage) { //IOW: internet explorer.
if (brainDamage) { //IOW: internet explorer.
var width = $('#ltw_dialog').width() - 12;
var width = $('#ltw_dialog').width() - 12;
שורה 240: שורה 236:


function addRow(labelText, paramName, optional) {
function addRow(labelText, paramName, optional) {
var inputField = $('<input>', {id: 'ltw2_inputfield_' + paramName, type: 'text', width: 600}).css({width: '28em'}).bind('paste cut drop input change', updatePreview);
var inputField = $('<input>', {id: 'ltw2_inputfield_' + paramName, type: 'text', width: 600}).css({width: '28em'}).on('paste cut drop input change', updatePreview);
if (! (optional || 0))
if (! (optional || 0))
inputField.addClass('ltw_required').css({border: '1px red solid'});
inputField.addClass('ltw_required').css({border: '1px red solid'});
שורה 269: שורה 265:
if (template.bm)
if (template.bm)
dialog.append($('<p>', {title: 'ראו דף "עזרה:בוקמרקלטים"'}).css({color: 'red', fontWeight: 'bold'})
dialog.append($('<p>', {title: 'ראו דף "עזרה:בוקמרקלטים"'}).css({color: 'red', fontWeight: 'bold'})
.text('קיים בוקמרקלט שמייצר תבנית "' + template.t + '" באופן אוטומטי. אנא שקלו להשתמש בו (ראו "עזרה:בוקמרקלטים").'))
.text('קיים בוקמרקלט שמייצר תבנית "' + template.t + '" באופן אוטומטי. אנא שקלו להשתמש בו (ראו "עזרה:בוקמרקלטים").'))
.append($('<hr>'));
.append($('<hr>'));


if (template.r)
if (template.r)
dialog.append($('<span>').text('הדביקו את הקישור כאן:').css({width: '20em'}))
dialog.append($('<span>').text('הדביקו את הקישור כאן:').css({width: '20em'}))
.append($('<input>', {type: "text", id: 'ltw_urlinput', maxLength: 600}).css({width: '26em'}).bind('paste cut drop input change', extractParamsFromURL))
.append($('<input>', {type: "text", id: 'ltw_urlinput', maxLength: 600}).css({width: '26em'}).on('paste cut drop input change', extractParamsFromURL))
.append($('<hr>'))
.append($('<hr>'))


שורה 290: שורה 286:


for (var i = 0; i < (template.p || []).length; i++)
for (var i = 0; i < (template.p || []).length; i++)
if (template.p[i].length == 0) // this allow defining an empty parameter. by use of a "pseudo field".
if (template.p[i].length == 0) // this allow defining an empty parameter. by use of a "pseudo field".
orderedFields.push(empty);
orderedFields.push(empty);
else
else
שורה 318: שורה 314:


dialog.dialog('option', 'buttons', {
dialog.dialog('option', 'buttons', {
'ביטול':
function() {
dialog.dialog('close');
},
'אישור':
'אישור':
function() {
function() {
insertTags('', createWikiCode(), '');
$("#wpTextbox1").textSelection( 'encapsulateSelection', {peri: createWikiCode(), replace: true} );
dialog.dialog('close');
dialog.dialog('close');
},
}
'ביטול':
function() {
dialog.dialog('close');
}
});
});
$('.ui-dialog-buttonpane').css({backgroundColor: '#E0E0E0'});
$('.ui-dialog-buttonpane').css({backgroundColor: '#E0E0E0'});
שורה 334: שורה 330:
position: [(window.width - dialog.width()) / 2, (window.height - dialog.height()) / 2]
position: [(window.width - dialog.width()) / 2, (window.height - dialog.height()) / 2]
});
});
$('.ui-dialog-buttonpane').css({direction: 'ltr'});
$('.ui-dialog-buttonpane').children().css({float: 'right'});
$('.ui-dialog-buttonpane > button').css({float: 'right'}); // jQuery has problems with rtl dialogs + ie is braindamaged.
updatePreview();
updatePreview();
}
}
function findSelected() {
if (document.selection && document.selection.createRange)
return document.selection.createRange().text;
else if (currentFocused.selectionStart) {
var start = currentFocused.selectionStart;
var end  = currentFocused.selectionEnd;
return $(currentFocused).val().substring(start, end);
}
return '';
}


function fireDialog() {
function fireDialog() {
שורה 380: שורה 363:
allTemplates.push(fullList[i].t);
allTemplates.push(fullList[i].t);


if (fromTemplate(findSelected()))
if (fromTemplate($("#wpTextbox1").textSelection('getSelection')))
return;
return;


שורה 394: שורה 377:
dialog.append(selector);
dialog.append(selector);
dialog.append($('<p>', {'class': 'ltw_disposable'}).text('או הדביקו כאן תבנית לעריכה:'));
dialog.append($('<p>', {'class': 'ltw_disposable'}).text('או הדביקו כאן תבנית לעריכה:'));
dialog.append($('<input>', {type: 'text', maxLength: 1000, 'class': 'ltw_disposable'}).css({width: '14em'}).bind('paste cut drop input change', function() {fromTemplate(this.value);}));
dialog.append($('<input>', {type: 'text', maxLength: 1000, 'class': 'ltw_disposable'}).css({width: '14em'}).on('paste cut drop input change', function() {fromTemplate(this.value);}));
}
}


setTimeout(function() {
if (mw.user.options.get('usebetatoolbar')) {
var buttonImage = 'http://upload.wikimedia.org/wikipedia/commons/3/34/Button_LINK_HE1.png';
var depend = ['ext.wikiEditor'];
$('div #toolbar').append( // "old style"
mw.loader.using(depend, function() {
$('<img>', {src: buttonImage, title: 'תבנית קישור', 'class': 'mw-toolbar-editbutton'})
if(typeof $.wikiEditor != 'undefined')
.css({cursor: 'pointer'})
$(function() {
.click(function() {mediaWiki.loader.using('jquery.ui.dialog', fireDialog);})
$('#wpTextbox1').wikiEditor('addToToolbar', {
);
section: 'main',
$('#wpTextbox1').wikiEditor('addToToolbar', {
group: 'insert',
section: 'advanced',
tools: {
group: 'more',
'linkTemplatewizard': {
tools: {
label: 'תבנית קישור',
'linkTemplatewizard': {
filters: [ 'body.ns-subject' ],
label: 'תבנית קישור',
type: 'button',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Gnome-web-browser.svg/22px-Gnome-web-browser.svg.png',
icon: buttonImage,
action: {type: 'callback', execute: fireDialog}
action: {type: 'callback', execute: fireDialog}
}
}
}
}
});
$('[rel= "linkTemplatewizard"]').css('float','left');
});
});
}
else
mw.loader.using('mediawiki.toolbar', function() {
$(function() {
$('div #toolbar').append( // "old style"
$('<img>', {src: '//upload.wikimedia.org/wikipedia/commons/3/34/Button_LINK_HE1.png', title: 'תבנית קישור', 'class': 'mw-toolbar-editbutton'})
.css({cursor: 'pointer'})
.click(function() {mw.loader.using('jquery.ui', fireDialog);})
);
});
});
$('div #toolbar').append(button); //"old" toolbar
});
}, 1000);
});
});