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

לבקשת קיפודנחש
מ 166 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-TemplatesExternalLinks.js יובאו
 
(49 גרסאות ביניים של 10 משתמשים אינן מוצגות)
שורה 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: שורה 27:
'מספר סדרת "ART"',
'מספר סדרת "ART"',
"",
"",
"תאריך כתבה (לדוגמה, 1949/07/25), כפי שמופיע בקישור",
"תאריך כתבה (בפורמט 1949/07/25, כפי שמופיע בקישור)",
"סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת",
"סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת",
"שם הספר",
"שם הספר",
שורה 57: שורה 54:
"שם השיעור",
"שם השיעור",
"השיעור כשם שמופיע בקישור",
"השיעור כשם שמופיע בקישור",
"מספר גיליון, תאריך פרסום ומספרי עמודים (אופציונלי)",
"מספר גיליון, תאריך פרסום ומספרי עמודים",
"שם הערך בויקישיבה",
"שם הערך בויקישיבה",
"קידומת הקישור, אם שונה מ-www"
"קידומת הקישור, אם שונה מ-www",
"האותיות שמציינות את המדינה"
];
];


שורה 67: שורה 65:
['כותרת', 'שם המאמר המקושר'],
['כותרת', 'שם המאמר המקושר'],
['כתובת', 'הקישור (כלומר ה-URL) עצמו'],
['כתובת', 'הקישור (כלומר ה-URL) עצמו'],
['תאריך', 'תאריך המאמר', 1],
['תאריך', 'תאריך המאמר, בפורמט "30 באוגוסט 1958"', 1],
['עמודים', 'מספר העמודים', 1],
['עמודים', 'מספר העמודים', 1],
['מידע נוסף', 'מידע נוסף (לא תאריך)', 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]));
שורה 182: שורה 178:
}
}


function templateDialog(dialog, template) {
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'});
שורה 266: שורה 260:
updatePreview();
updatePreview();
}
}
$('.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>'))


שורה 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
שורה 298: שורה 294:
addRow(template.np[i][1], template.np[i][0], template.np[i][2]);
addRow(template.np[i][1], template.np[i][0], template.np[i][2]);


var valIndex = 0;
while (values && values.length) {
var next = values.shift();
var pair = next.split('=');
if (pair.length > 1) {
if (isNaN(pair[0])) {
for (var named in namedFields)
if (namedFields[named][0] == $.trim(pair[0]))
namedFields[named][1].val(pair[1]);
} else {
valIndex = parseInt(pair[0], 10);
if (valIndex <= orderedFields.length)
orderedFields[valIndex - 1].val(pair[1]);
}
} else
if (valIndex < orderedFields.length)
orderedFields[valIndex++].val(pair[0]);
}


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'});
שורה 309: שורה 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 fireDialog() {
function fireDialog() {
$('#ltw_dialog').remove(); // kill existing popup when button is pressed again.
 
var title = 'יצירת תבנית קישור',
var killold = $('#ltw_dialog').remove(), // kill existing popup when button is pressed again.
title = 'יצירת תבנית קישור',
dialog = $('<div>', {id: 'ltw_dialog'}).css({backgroundColor: '#E8E8E8', maxWidth: '58em'}).dialog({
dialog = $('<div>', {id: 'ltw_dialog'}).css({backgroundColor: '#E8E8E8', maxWidth: '58em'}).dialog({
title: title,
title: title,
שורה 322: שורה 343:
close: function() {$(this).remove();}
close: function() {$(this).remove();}
}),
}),
selector = $('<select>').change(function() {
fullList = templates(false),
if (! this.value) return;
allTemplates = [];
dialog.dialog('option', 'title', title + ' עבור ' + this.value);
 
$(this).remove();
function fromTemplate(text) {
templateDialog(dialog, templates(this.value));
var regex = new RegExp('\\{\\{(' + allTemplates.join('|') + ')([^}]*)');
});
match = text.match(regex);
if (match) {
template = match[1];
values = match[2].split('|');
values.shift();
templateDialog(dialog, templates(template), values);
return true;
}
return false;
}
 
 
for (var i in fullList)
allTemplates.push(fullList[i].t);
 
if (fromTemplate($("#wpTextbox1").textSelection('getSelection')))
return;


var selector = $('<select>', {'class': 'ltw_disposable'}).change(function() { // class in quotes - reserved word.
if (! this.value) return;
dialog.dialog('option', 'title', title + ' עבור ' + this.value);
$(this).remove();
templateDialog(dialog, templates(this.value));
});
selector.append($('<option>', {text: 'בחרו תבנית מהרשימה'}));
selector.append($('<option>', {text: 'בחרו תבנית מהרשימה'}));
var fullList = templates(false);
for (var i in allTemplates)
for (var i in fullList)
selector.append($('<option>', {text: allTemplates[i], value: allTemplates[i]}));
selector.append($('<option>', {text: fullList[i].t, value: fullList[i].t}));
dialog.append(selector);
dialog.append(selector);
dialog.append($('<p>').css({fontSize: '0.8em'}).text('הוראות שימוש ודיווח על בעיות בדף "עזרה:אשף תבניות קישורים"'));
dialog.append($('<p>', {'class': 'ltw_disposable'}).text('או הדביקו כאן תבנית לעריכה:'));
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);
});
});