Kullanıcı:Vito Genovese/Şablon yardımcısı/Taslak.js

Vikipedi, özgür ansiklopedi
Not: Sayfayı kaydettikten sonra değişiklikleri görebilmek için tarayıcınızın önbelleğinizi temizlemeniz gerekir. Google Chrome, Firefox, Microsoft Edge ve Safari: ⇧ Shift tuşuna basılı tutun ve Yeniden Yükle araç çubuğu düğmesine tıklayın. Ayrıntılar ve diğer tarayıcılara yönelik yönergeler için Vikipedi:Önbelleğinizi atlayın sayfasını inceleyin.
// ***************************************************************************************
// ŞABLON YARDIMCISI
// ***************************************************************************************
// [[Vikipedi:Araçlar/Şablon yardımcısı]] - [[VP:ŞY]] Taslak şablonu ekleme modülü
// ***************************************************************************************
 
// ***************************************************************************************
// BİLGİLER
// ***************************************************************************************
// Yazar / Author                            : [[:en:User:ais523]]
// Geliştirme / Enhancements                 : [[:en:User:Alai]] ve [[:en:User:jj137]] 
// Onarımlar / Fixes                         : [[:en:User:Zro]] ve [[:en:User:Amalthea]]
// Kaynak / Source                           : [[:en:User:Zro/stubtagtab3.js]]
// Bilgi / Info                              : [[Vikipedi:Araçlar/Taslak yardımcısı]]
// Türkçeleştirme / Localization             : [[Kullanıcı:Vito Genovese]]
 
// ***************************************************************************************
// BETİK KODU
// ***************************************************************************************

(function ($) { // Wrap with anonymous function
    function stubTagTab() {
        var $h, $hb, $newa,
            // Vikipedi:VikiProje taslak sınıflandırma altsayfaları
            a = ['Bilim ve teknoloji','Biyografi','Coğrafya','Diğer',
                 'Din, mitoloji ve inanç','Eğitim','Eğlence','Hukuk ve politika',
                 'Kurum','Kültür','Savaş','Spor','Tarih','Ticaret'];
        $h = $("<div></div>", {
                 "color": "#000000",
                 "background-color": "#fff8f8"
             });
        for (var i = 0; i < a.length; i++) {
            $newa = $("<a href=\"#\"></a>");
            $newa.click(function (e) {
                e.preventDefault();
                stubTagMenu($(this).text());
            });
            $newa.text(a[i]);
            $h.append($newa);
            if ((i + 1) < a.length) {
                $h.append(" &bull; ");
            }
        }
        $("#contentSub").append($h);

        $hb = $("<div></div>", {
                  "color": "#000000",
                  "background-color": "#fffff8"
              });
        $hb.attr("id", "stubtagmenu");
        $("#contentSub").append($hb);
    }

    function stubTagMenuRender(data) {
        var $parseData = $(data.parse.text["*"]);
        $parseData.find("a").each(function () {
            var link = $(this).attr("href"),
                index = link.indexOf("%C5%9Eablon:");
            if (index === -1) {
                $(this).attr({
                    "href": null,
                    "title": null
                });
                $(this).css({
                    "color": "#000000",
                    "text-decoration": "none"
                });
            } else {
                $(this).attr("href", mw.config.get("wgServer") + mw.config.get("wgScript")
                    + "?title=" + encodeURIComponent(mw.config.get("wgPageName"))
                    + "&action=edit&autoaddstubtag=" + decodeURIComponent(link.slice(index + 9)));
            }
        });
        $("#stubtagmenu").html($parseData);
    }

    function stubTagMenuFail() {
        $("#stubtagmenu").html("Taslak etiketleri yüklenemedi.");
    }

    function stubTagMenu(stubType) {
        // Add loading message
        $("#stubtagmenu").html("Taslak etiketleri yükleniyor. Lütfen bekleyin.");

        // Fetch the relevant subpage of the WikiProject
        $.ajax({
            url: mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/api.php?action=parse&prop=text&text=' + encodeURIComponent('__NOTOC____NOEDITSECTION__\{\{Vikipedi:VikiProje_Taslak_sınıflandırma/' + stubType + '}}') + '&format=json',
            dataType: "json",
            success: stubTagMenuRender,
            error: stubTagMenuFail
        });
    }

    $(function () {
        if ((mw.config.get("wgNamespaceNumber") === 0 ||
             mw.config.get("wgPageName") === "Vikipedi:Deneme_tahtası")
             && mw.config.get("wgAction") === "view" && $("#ca-edit").length !== 0) {
             	mw.loader.using( ['mediawiki.util'], function () {
		            var portletLink = mw.util.addPortletLink('p-cactions', '#', 'Taslak', 'ca-stubtag', 'Bu sayfaya bir taslak şablonu ekleyin', '');
		            $(portletLink).click(function (e) {
		                e.preventDefault();
		                stubTagTab();
                    });
             	});
        }
        if (location.href.indexOf("&autoaddstubtag=") !== -1 && $("#wpTextbox1").length !== 0) {
            var x = decodeURIComponent(location.href.split("&autoaddstubtag=")[1]);
            if (x.indexOf("-taslak") === -1 && x !== "Taslak") {
                x += "-taslak";
            }
            $("#wpTextbox1").val($("#wpTextbox1").val() + "\n{" + "{" + x + "}}"); // add to the end of the article
            $("#wpSummary").val("[[VP:ŞY|Şablon Yardımcısı]] kullanılarak {" + "{" + x + "}}  etiketi konuyor");
            $("#wpPreview").trigger("click");
        }
    });
} (jQuery)); // End wrap with anonymous function

//