MediaWiki:Gadget-stub.js

Z WikiSkript

Poznámka: Po zveřejnění musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.

  • Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
  • Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
  • Internet Explorer / Edge: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
  • Opera: Stiskněte Ctrl-F5.
/* ============== Pahýl ==================================================================
   autor:       User:Slepi
   dokumentace: [[MediaWiki:Gadget-stub.js/dokumentace]]
   popis:       skript vkládá tlačítko "Pahýl" s uvedením důvodu
   =======================================================================================
*/

var gadgetStub = {

  // FUNKCE VKLÁDAJÍCÍ ŠABLONU PAHÝLU NA POZICI KURZORU V TEXTOVÉM POLI
  // parametr "textovePole": ID textového pole, které měníme
  vlozitTextarea : function(reason) {

    textovePole = "wpTextbox1";

    pridanyText = "{{Pahýl|" + reason + "}}";

    // vyhledání zadaného ID
    if(!document.getElementById(textovePole)) return;
    textovePole = document.getElementById(textovePole);
 
    // Microsoft Internet Explorer
    if (document.selection) {
      textovePole.focus();
 
      // vložení do výběru
      oblastVlozeni = document.selection.createRange();
      oblastVlozeni.text = pridanyText;
    }
 
    // ostatní prohlížeče
    else if (textovePole.selectionStart || textovePole.selectionStart == 0) {
 
      // vložení do pole a aktualizace celého textu
      startText = textovePole.selectionStart;
      endText = textovePole.selectionEnd;
      aktualniText = textovePole.value;
      textovePole.value = aktualniText.substring(0, startText);
      textovePole.value += pridanyText;
      textovePole.value += aktualniText.substring(endText, aktualniText.length);
    }
 
    // nepodporující prohlížeče: vložení textu na konec pole
    else {
      textovePole.value += pridanyText;
    }
  },

  // FUNKCE VOLANÁ TLAČÍTKEM EDITAČNÍ LIŠTY
  thisIsStub : function() {
    reason = window.prompt("Upřesněte, prosím, co především danému článku chybí.", "");
    gadgetStub.vlozitTextarea(reason);
    return false;
  },

  // TLAČÍTKO "PAHÝL"
  insertStubButton : function() {
    $('#wpTextbox1').wikiEditor('addToToolbar', {
      'section': 'advanced',
      'group': 'insert',
      'tools': {'stub': {
        label: 'Označit jako pahýl',
        type: 'button',
        icon: 'http://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Symbol_stub_class.svg/22px-Symbol_stub_class.svg.png',
        action: {type: 'callback',
          execute: function(context){gadgetStub.thisIsStub();}
        }
      }}
    });
  }
}

// kontrola načtení všech potřebných modulů a spuštění...
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
	mw.loader.using('user.options', function() {
		if (mw.user.options.get('usebetatoolbar') && mw.user.options.get('showtoolbar')) {
			mw.loader.using( 'ext.wikiEditor.toolbar', function() {
				$(document).ready(gadgetStub.insertStubButton);
			});
		}
	});
}