Zum Inhalt springen

„MediaWiki:Gadget-uploadtools.js“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Inhalt gelöscht Inhalt hinzugefügt
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.
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>