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

לבקשת קיפודנחש
שורה 12: שורה 12:
"כותרת  המאמר",
"כותרת  המאמר",
"מספר (כפי שמופיע בקישור)",
"מספר (כפי שמופיע בקישור)",
"מידע נוסף (למשל תאריך)",
"מידע נוסף, למשל תאריך. נסו לשמור על הפורמט '30 באוגוסט 1958'",
"מספר הסדרה",
"מספר הסדרה",
"נתיב הדף - כמו שמופיע בקישור",
"נתיב הדף - כמו שמופיע בקישור",
שורה 30: שורה 30:
'מספר סדרת "ART"',
'מספר סדרת "ART"',
"",
"",
"תאריך כתבה (לדוגמה, 1949/07/25), כפי שמופיע בקישור",
"תאריך כתבה (בפורמט 1949/07/25, כפי שמופיע בקישור)",
"סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת",
"סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת",
"שם הספר",
"שם הספר",
שורה 67: שורה 67:
['כותרת', 'שם המאמר המקושר'],
['כותרת', 'שם המאמר המקושר'],
['כתובת', 'הקישור (כלומר ה-URL) עצמו'],
['כתובת', 'הקישור (כלומר ה-URL) עצמו'],
['תאריך', 'תאריך המאמר', 1],
['תאריך', 'תאריך המאמר, בפורמט "30 באוגוסט 1958"', 1],
['עמודים', 'מספר העמודים', 1],
['עמודים', 'מספר העמודים', 1],
['מידע נוסף', 'מידע נוסף (לא תאריך)', 1],
['מידע נוסף', 'מידע נוסף (לא תאריך)', 1],
שורה 182: שורה 182:
}
}


function templateDialog(dialog, template) {
function templateDialog(dialog, template, values) {
var brainDamage = $.browser.msie && $.browser.version < 8;
var brainDamage = $.browser.msie && $.browser.version < 8;
var orderedFields = [],
var orderedFields = [],
שורה 267: שורה 267:
}
}


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


שורה 298: שורה 300:
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', {
שורה 312: שורה 332:
$('.ui-dialog-buttonpane > button').css({float: 'right'}); // jQuery has problems with rtl dialogs + ie is braindamaged.
$('.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() {
$('#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: שורה 355:
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(findSelected()))
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>').text('או הדביקו כאן תבנית לעריכה:'));
dialog.append($('<input>', {type: 'text', maxLength: 1000, 'class': 'ltw_disposable'}).css({width: '14em'}).bind('paste cut drop input change', function() {fromTemplate(this.value);}));
}
}