„MediaWiki:Gadget-uploadtools.js“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
Saibo (Diskussion | Beiträge) Neuer Code aus MediaWiki_Diskussion:Onlyifuploading.js von Benutzer:Schnark mit Kleinigkeiten von mir. Neu: keine Infovorlage bei Upload von neuer Dateiversion. Vorschau bei Upl. v. neuer D.version realitätsnaher. Verbesserte WikEd-Kompat. |
Leyo (Diskussion | Beiträge) Höhe Eingabefeld, siehe Disk. |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 34: | Zeile 34: | ||
} else { |
} else { |
||
parseAsSummary = true; // bei Upload von neuer Dateiversion wird eingegebener Text nur im Log erscheinen |
parseAsSummary = true; // bei Upload von neuer Dateiversion wird eingegebener Text nur im Log erscheinen |
||
$editbox.replaceWith(mw.html.element('input', {'class': 'mw-summary', id: 'wpUploadDescription', |
|||
maxlength: '250', size: '60', value: '', name: 'wpUploadDescription', |
|||
type: 'text'})); //durch einzeiliges Eingabefeld ersetzen |
|||
$editbox = $('#wpUploadDescription'); //neues Eingabefeld speichern |
|||
$editbox.css('height', 'auto'); //Höhe korrigieren |
|||
$('.hide-for-reupload').hide(); |
|||
$('.show-for-reupload').show(); |
|||
} |
} |
||
Version vom 3. September 2011, 11:42 Uhr
/**
* Lädt die Informationsvorlage beim Hochladen direkt im Beschreibungsfeld
* und ermöglicht eine Vorschau der Beschreibung auf [[Spezial:Hochladen]]
* wird in [[MediaWiki:Common.js]] eingebunden
* Code von [[Benutzer:Schnark]]
* <nowiki>
*/
$(document).ready(function(){
var $editbox = $('#wpUploadDescription');
if ($editbox.length != 1) return; // exits silently if not exactly one #wpUploadDescription is found
var parseAsSummary; // Fallunterscheidung für Vorschaufunktion
if (mw.util.getParamValue('wpForReUpload') != '1') { // Kein Upload von neuer Dateiversion?
parseAsSummary = false; // bei Upload der ersten Dateiversion wird eingegebener Text auf der Seite erscheinen
if (typeof wikEd != 'undefined' && wikEd.useWikEd) { // if WikEd is active
wikEd.UpdateTextarea(); // transfer WikEd to $editbox
}
if ($editbox.val() === '') {
$editbox.val('{{Information\n' +
'|Beschreibung = \n' +
'|Quelle = \n' +
'|Urheber = \n' +
'|Datum = \n' +
'|Genehmigung = \n' +
'|Andere Versionen = \n' +
'|Anmerkungen = \n' +
'}}');
}
if (typeof wikEd != 'undefined' && wikEd.useWikEd) { // if WikEd is active
wikEd.UpdateFrame(); // transfer $editbox to WikEd
}
} else {
parseAsSummary = true; // bei Upload von neuer Dateiversion wird eingegebener Text nur im Log erscheinen
$editbox.replaceWith(mw.html.element('input', {'class': 'mw-summary', id: 'wpUploadDescription',
maxlength: '250', size: '60', value: '', name: 'wpUploadDescription',
type: 'text'})); //durch einzeiliges Eingabefeld ersetzen
$editbox = $('#wpUploadDescription'); //neues Eingabefeld speichern
$editbox.css('height', 'auto'); //Höhe korrigieren
$('.hide-for-reupload').hide();
$('.show-for-reupload').show();
}
if (!mw.config.get('wgEnableAPI')) return;
var previewText = 'Vorschau';
if ($('#mw-description-preview').length === 0) {
$('#mw-htmlform-description').before($(mw.html.element('div', {id: 'mw-description-preview'})));
}
$('input[name="wpUpload"]').after($(mw.html.element('input', {value: previewText, type: 'button'})).click(function(){
if (typeof wikEd != 'undefined'&& wikEd.useWikEd) { // if WikEd is active
wikEd.UpdateTextarea(); // transfer WikEd to $editbox
}
var param = {action: 'parse',
title: 'Datei:' + ($('#wpDestFile').val() || 'Beispiel.jpg'), //Titel, Datei:Beispiel.jpg als Standard
prop: 'text|categories|langlinks', //categories und langlinks noch nicht verwendet
pst: '',
format: 'json'};
param[ parseAsSummary ? 'summary' : 'text' ] = $editbox.val(); //Inhalt des Eingabefeldes entweder als Kommentar oder als Text parsen
$.getJSON(mw.util.wikiScript('api'), param, function (json) {
var content = parseAsSummary ? 'parsedsummary' : 'text'; //Geparster Inhalt entweder in parsedsummary oder in text
if (!json || !json.parse || !json.parse[content] || !json.parse[content]['*']) return;
var html = '<p><strong>' + previewText + ':</strong><p>' + json.parse[content]['*'];
$('#mw-description-preview').html(html);
}); //getJSON
})); //click
}); //ready
//</nowiki>