MediaWiki:Editace.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.
/**
 * Úpravy editačního rozhraní WikiSkript
 *
 * @file Úpravy editačního rozhraní a editoru WikiSkript
 * @license https://www.gnu.org/licenses/gpl.html GNU General Public License 3.0
 */

var upravyEditace = {

    /**
     * Uživatelská tlačítka
     */
     uzivatelskaTlacitka: function() {

        // tlačítko "Literatura na konci článku"
        $('#wpTextbox1').wikiEditor('addToToolbar', {
            'section': 'main',
            'group': 'insert',
            'tools': {
                'literaturebutton': {
                    label: 'Literatura na konci článku',
                    type: 'button',
                    icon: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Wikieditor-references.png/19px-Wikieditor-references.png',
                    action: {
                        type: 'encapsulate',
                        options: {
                            pre: "<noinclude>\n== Odkazy ==\n=== Související články ===\n=== Externí odkazy ===\n=== Převzato z ===\n=== Použitá literatura ===\n=== Reference ===\n<references />\n</noinclude>\n"
                        }
                    }
                }
            }
        });
 
        // tlačítko "Vložit šablonu"
        $('#wpTextbox1').wikiEditor('addToToolbar', {
            'section': 'advanced',
            'group': 'insert',
            'tools': {
                'templatebutton': {
                    label: 'Vložit šablonu',
                    type: 'button',
                    icon: 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Norwegian_template_sign.png/19px-Norwegian_template_sign.png',
                    action: {
                        type: 'encapsulate',
                        options: {
                            pre: "{{",
                            peri: "Šablona",
                            post: "}}"
                        }
                    }
                }
            }
        });
 
        // tlačítko "Vložený článek"
        $('#wpTextbox1').wikiEditor('addToToolbar', {
            'section': 'advanced',
            'group': 'insert',
            'tools': {
                'insertbutton': {
                    label: 'Tento článek je součástí jiného článku',
                    type: 'button',
                    icon: 'https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Toolbaricon_insert_reference_plus.png/19px-Toolbaricon_insert_reference_plus.png',
                action: {
                        type: 'encapsulate',
                        options: {
                            pre: "{{subst:Vlož" + "ený článek}}"
                        }
                    }
                }
            }
        });
    },

    /**
     * Nástroj "Citace"
     */
    citace: function() {
    	if (mw.config.get("wgUserName") === null) return;
        mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Citace.js&action=raw&ctype=text/javascript");
    },

    /**
     * Nástroj "Pahýl"
     */
    pahyl: function() {
        mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Pahyl.js&action=raw&ctype=text/javascript");
    },
 
    /**
     * Nástroj "Redakční tlačítka"
     */
    redakce: function() {
        mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Redakce.js&action=raw&ctype=text/javascript");
    },

    /**
     * Nástroj "Tlačítka pro pedagogy"
     */
    ucitel: function() {
        mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Ucitel.js&action=raw&ctype=text/javascript");
    },

    /**
     * Nástroj upravující důvody smazání stránky
     */
    duvodySmazani: function() {

        // bez mazání ani nezačínat s funkcí
        if (mw.config.get("wgAction") != "delete") return;

        // smazání důvodů
        wpReason = document.getElementById("wpReason");
        if (!wpReason) return;

        // obvyklé důvody
        obvykleDuvody = /(obsah byl|stránka byla prázdná|obsah před vyprázdněním byl)/i;

        // pomocný řetězec
        wpReasonMale = wpReason.value.toLowerCase();

        // zpracování důvodu
        if (obvykleDuvody.test(wpReasonMale)) {
            if((wpReasonMale.indexOf("{{smazat|") != -1) && (wpReasonMale.indexOf("}}") != -1)) {
                indexStart = wpReasonMale.indexOf("{{smazat|") + 9;
                indexEnd = wpReasonMale.indexOf("}}");
                wpReason.value = wpReason.value.substring(indexStart, indexEnd);
            } else {
            wpReason.value = "";
            }
        }
    },

     /**
      * Start funkcí
      */
    start: function() {

        /* uživatelská tlačítka */
		if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
			mw.loader.using( 'user.options' ).then( function () {
				// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
				if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
					$.when(
						mw.loader.using( 'ext.wikiEditor' ), $.ready
					).then( upravyEditace.uzivatelskaTlacitka );
				}
			} );
		}

        /* nástroj citace */
        if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) upravyEditace.citace();

        /* nástroj pahýl */
        if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) upravyEditace.pahyl();

        /* nástroje pro redakci */
        if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1 && mwGetUserRight("editor")) upravyEditace.redakce();

        /* nástroje pro učitele */
        if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1 && mwGetUserRight("pedagogue")) upravyEditace.ucitel();

        /* upravit důvody smazání stránky */
        if (mw.config.get("wgAction") === "delete") upravyEditace.duvodySmazani();

        /* přidání editačních klávesových zkratek */
        if ($.inArray(mw.config.get("wgAction"), ["edit", "submit"]) !== -1) mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:EditacniKlavesoveZkratky.js&action=raw&ctype=text/javascript");
    }
}

/**
 * nastartovat funkce při načtení stránky
 */
$(upravyEditace.start());