מדיה ויקי:Gadget-TemplatesExternalLinks.js: הבדלים בין גרסאות בדף
לבקשת קיפודנחש |
לבקשת משתמש:קיפודנחש |
||
| שורה 12: | שורה 12: | ||
"כותרת המאמר", | "כותרת המאמר", | ||
"מספר (כפי שמופיע בקישור)", | "מספר (כפי שמופיע בקישור)", | ||
"מידע נוסף | "מידע נוסף, למשל תאריך. נסו לשמור על הפורמט '30 באוגוסט 1958'", | ||
"מספר הסדרה", | "מספר הסדרה", | ||
"נתיב הדף - כמו שמופיע בקישור", | "נתיב הדף - כמו שמופיע בקישור", | ||
| שורה 30: | שורה 30: | ||
'מספר סדרת "ART"', | 'מספר סדרת "ART"', | ||
"", | "", | ||
"תאריך כתבה ( | "תאריך כתבה (בפורמט 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() | |||
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), | ||
allTemplates = []; | |||
function fromTemplate(text) { | |||
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: 'בחרו תבנית מהרשימה'})); | ||
for (var i in allTemplates) | |||
for (var i in | selector.append($('<option>', {text: allTemplates[i], value: allTemplates[i]})); | ||
selector.append($('<option>', {text: | |||
dialog.append(selector); | dialog.append(selector); | ||
dialog.append($('<p>').css({ | 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);})); | |||
} | } | ||