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

מ 166 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-TemplatesExternalLinks.js יובאו
 
(48 גרסאות ביניים של 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'",
שורה 57: שורה 54:
"שם השיעור",
"שם השיעור",
"השיעור כשם שמופיע בקישור",
"השיעור כשם שמופיע בקישור",
"מספר גיליון, תאריך פרסום ומספרי עמודים (אופציונלי)",
"מספר גיליון, תאריך פרסום ומספרי עמודים",
"שם הערך בויקישיבה",
"שם הערך בויקישיבה",
"קידומת הקישור, אם שונה מ-www"
"קידומת הקישור, אם שונה מ-www",
"האותיות שמציינות את המדינה"
];
];


שורה 71: שורה 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: 'מעריב'},
שורה 82: שורה 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: ["האותיות שמציינות את המדינה"]},
{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]},
שורה 109: שורה 108:
{t: 'בבלי', p: [11,12,13], op: [2]},
{t: 'בבלי', p: [11,12,13], op: [2]},
{t: 'משנה', p: [11,9,14], op: [2]},
{t: 'משנה', p: [11,9,14], op: [2]},
{t: 'רמב"ם', p: [8,17,9,31], op: [2]},
{t: 'רמב"ם', p: [8,17,9,31], op: [0,3]},
{t: 'ירושלמי', p: [11,9,31], op: [2]},
{t: 'ירושלמי', p: [11,9,31], op: [2]},
{t: 'שולחן ערוך', p: [33,15,16], op: [2]},
{t: 'שולחן ערוך', p: [33,15,16], op: [2]},
שורה 116: שורה 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]},
שורה 135: שורה 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]},
שורה 142: שורה 138:
{t: 'One', p: [1,2,3,4], r: /(?:Article[\d\-\/,]*\/|id=)([\d\-\/,]*\d)/, rp: [3], bm: 1, op: [3]},
{t: 'One', p: [1,2,3,4], r: /(?:Article[\d\-\/,]*\/|id=)([\d\-\/,]*\d)/, rp: [3], bm: 1, op: [3]},
{t: 'קול הלשון - שיעור', p: [46,47,48,4], np: [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], r: /(?:PathFile=|Source=)([^&]*)/i, rp: [3], op: [3]},
{t: 'קול הלשון - שיעור', p: [46,47,48,4], np: [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], r: /(?:PathFile=|Source=)([^&]*)/i, rp: [3], op: [3]},
{t: 'ספר פרויקט גוטנברג', np: [["כותב", "שם כותב הספר (אופציונלי)", 1], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)', 1], ['מספר', 'מספר הספר בפרויקט']], r: /ebooks\/(\d+)/i, rp: [3]},
{t: 'ספר פרויקט גוטנברג', np: [["כותב", "שם כותב הספר", 1], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)', 1], ['מספר', 'מספר הספר בפרויקט']], r: /ebooks\/(\d+)/i, rp: [3]},
{t: 'imdb title', np: [['id', 'המספר שמופיע בקישור'], ['title', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /title\/tt(\d+)/i, rp: [1]},
{t: 'imdb title', np: [['id', 'המספר שמופיע בקישור'], ['title', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /title\/tt(\d+)/i, rp: [1]},
{t: 'imdb name', np: [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /name\/nm(\d+)/i, rp: [1]},
{t: 'imdb name', np: [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /name\/nm(\d+)/i, rp: [1]},
{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]}
שורה 169: שורה 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]));
שורה 183: שורה 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 = [],
שורה 191: שורה 187:
function createWikiCode() {
function createWikiCode() {
var par = ["{{" + template.t];
var par = ["{{" + template.t];
for (var i = 0; i < orderedFields.length; i++) {
for (var i = 0; i < orderedFields.length; i++)
var val = $.trim(orderedFields[i].val()).replace('|', '{{!}}');
par.push($.trim(orderedFields[i].val()).replace(/\|/g, '{{!}}').replace(/=/g, '{{=}}'));
if (val.indexOf('=') + 1)
 
val = (i + 1) + '=' + val;
par.push(val);
}
if (template.def)
if (template.def)
for (var parnum in template.def)
for (var parnum in template.def)
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) {
var pairs = [];
var pairs = [];
for (j in namedFields) {
for (j in namedFields) {
var val = $.trim(namedFields[j][1].val()).replace('|', '{{!}}');
var val = $.trim(namedFields[j][1].val()).replace(/\|/g, '{{!}}');
if (val.length)
if (val.length)
pairs.push(namedFields[j][0] + '=' + val);
pairs.push(namedFields[j][0] + '=' + val);
שורה 215: שורה 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;
שורה 232: שורה 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;
שורה 242: שורה 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'});
שורה 268: שורה 262:


$('.ltw_disposable').remove();
$('.ltw_disposable').remove();
 
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>'))


שורה 292: שורה 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
שורה 314: שורה 308:
orderedFields[valIndex - 1].val(pair[1]);
orderedFields[valIndex - 1].val(pair[1]);
}
}
} else  
} else
if (valIndex < orderedFields.length)
if (valIndex < orderedFields.length)
orderedFields[valIndex++].val(pair[0]);
orderedFields[valIndex++].val(pair[0]);
שורה 320: שורה 314:


dialog.dialog('option', 'buttons', {
dialog.dialog('option', 'buttons', {
'אישור': function() {insertTags('', '', createWikiCode()); dialog.dialog('close');},
'ביטול':
'ביטול': function() {dialog.dialog('close');}
function() {
dialog.dialog('close');
},
'אישור':
function() {
$("#wpTextbox1").textSelection( 'encapsulateSelection', {peri: createWikiCode(), replace: true} );
dialog.dialog('close');
}
});
});
$('.ui-dialog-buttonpane').css({backgroundColor: '#E0E0E0'});
$('.ui-dialog-buttonpane').css({backgroundColor: '#E0E0E0'});
שורה 329: שורה 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() {
 
var killold = $('#ltw_dialog').remove(), // kill existing popup when button is pressed again.
var killold = $('#ltw_dialog').remove(), // kill existing popup when button is pressed again.
title = 'יצירת תבנית קישור',
title = 'יצירת תבנית קישור',
שורה 357: שורה 345:
fullList = templates(false),
fullList = templates(false),
allTemplates = [];
allTemplates = [];
 
function fromTemplate(text) {
function fromTemplate(text) {
var regex = new RegExp('\\{\\{(' + allTemplates.join('|') + ')([^}]*)');
var regex = new RegExp('\\{\\{(' + allTemplates.join('|') + ')([^}]*)');
שורה 370: שורה 358:
return false;
return false;
}
}
 
 
for (var i in fullList)  
for (var i in fullList)
allTemplates.push(fullList[i].t);
allTemplates.push(fullList[i].t);
 
if (fromTemplate(findSelected()))
if (fromTemplate($("#wpTextbox1").textSelection('getSelection')))
return;
return;
 
var selector = $('<select>', {'class': 'ltw_disposable'}).change(function() { // class in quotes - reserved word.
var selector = $('<select>', {'class': 'ltw_disposable'}).change(function() { // class in quotes - reserved word.
if (! this.value) return;
if (! this.value) return;
שורה 388: שורה 376:
selector.append($('<option>', {text: allTemplates[i], value: allTemplates[i]}));
selector.append($('<option>', {text: allTemplates[i], value: allTemplates[i]}));
dialog.append(selector);
dialog.append(selector);
dialog.append($('<p>').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 button = $('<img>', {src: 'http://upload.wikimedia.org/wikipedia/commons/3/34/Button_LINK_HE1.png', title: 'תבנית קישור'})
var depend = ['ext.wikiEditor'];
.click(function() {
mw.loader.using(depend, function() {
mediaWiki.loader.using('jquery.ui.dialog', fireDialog);
if(typeof $.wikiEditor != 'undefined')
$(function() {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
'linkTemplatewizard': {
label: 'תבנית קישור',
filters: [ 'body.ns-subject' ],
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Gnome-web-browser.svg/22px-Gnome-web-browser.svg.png',
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.section-advanced > div:last').append(button);
$('div #toolbar').append(button);
}, 1000);
});
});