MediaWiki:Skin/Feedbackknopf.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
J* (Diskussion | Beiträge) |
J* (Diskussion | Beiträge) |
||
Zeile 11: | Zeile 11: | ||
jQuery("body").append("<div id='f_b_background' style='display: none; position:fixed; opacity: 0.5; -moz-opacity: 0.5; width: 100%; height: 100%; top: 0px; left 0px; background-color: black;'> </div>"); | jQuery("body").append("<div id='f_b_background' style='display: none; position:fixed; opacity: 0.5; -moz-opacity: 0.5; width: 100%; height: 100%; top: 0px; left 0px; background-color: black;'> </div>"); | ||
− | jQuery("body").append("<div id='f_b' style='display: none; position:fixed; border: 1px black solid; background: white; left: 50%; top: 50%; width: 340px; height: 240px; padding: 30px; margin-left: -185px; margin-top: -135px;'><h5>Ultrakurzfeedback abgeben</h5><div style='font-size: 80%'>Füttere den Autor zurück: Text oder Bewertung oder beides.</div | + | jQuery("body").append("<div id='f_b' style='display: none; position:fixed; border: 1px black solid; background: white; left: 50%; top: 50%; width: 340px; height: 240px; padding: 30px; margin-left: -185px; margin-top: -135px;'><h5>Ultrakurzfeedback abgeben</h5><div style='font-size: 80%'>Füttere den Autor zurück: Text oder Bewertung oder beides.</div><div id='fb_preview_frame' style='display:none;'><div id='fb_preview_area'></div><div style='font-size:80%;'>(In der Vorschau werden die Schlangenlinien noch nicht ersetzt, später auf der Seite schon.)</div></div><form id='fb_form'><textarea style='height:100px;' /><br/><label for='fb_rating'>Kurzbewertung:</label><select name='fb_rating' id='fb_rating'><option value=''>ohne Kurzbewertung</option><option value='0'>0 Kamele (schlechteste)</option><option value='1'>1 Kamel</option><option value='2'>2 Kamele</option><option value='3'>3 Kamele</option><option value='4'>4 Kamele</option><option value='5'>5 Kamele (beste)</option></select><br/><input type='checkbox' id='fb_autosign' name='fb_autosign' checked='checked'><label for='fb_autosign'>automatisch unterschreiben</label><br/><input type='submit' value='Abschicken' /><input id='fb_preview' type='button' value='Vorschau'><input id='fb_reset' type='reset' value='abbrechen'></form></div>"); |
jQuery("#fb_reset").click( function () { | jQuery("#fb_reset").click( function () { |
Version vom 12. Oktober 2011, 10:33 Uhr
/* Ultrakurzfeedbackdings */
function fb_error_callback () {
jQuery('#mw-js-message').html("Bei der Zurückfütterung ist ein Fehler aufgetreten!");
jQuery('#mw-js-message').slideDown('fast');
}
addOnloadHook( function () {
jQuery("#p-views ul").append("<li id='ca-feedback'><span><a>F/b</a></span></li>");
jQuery("body").append("<div id='f_b_background' style='display: none; position:fixed; opacity: 0.5; -moz-opacity: 0.5; width: 100%; height: 100%; top: 0px; left 0px; background-color: black;'> </div>");
jQuery("body").append("<div id='f_b' style='display: none; position:fixed; border: 1px black solid; background: white; left: 50%; top: 50%; width: 340px; height: 240px; padding: 30px; margin-left: -185px; margin-top: -135px;'><h5>Ultrakurzfeedback abgeben</h5><div style='font-size: 80%'>Füttere den Autor zurück: Text oder Bewertung oder beides.</div><div id='fb_preview_frame' style='display:none;'><div id='fb_preview_area'></div><div style='font-size:80%;'>(In der Vorschau werden die Schlangenlinien noch nicht ersetzt, später auf der Seite schon.)</div></div><form id='fb_form'><textarea style='height:100px;' /><br/><label for='fb_rating'>Kurzbewertung:</label><select name='fb_rating' id='fb_rating'><option value=''>ohne Kurzbewertung</option><option value='0'>0 Kamele (schlechteste)</option><option value='1'>1 Kamel</option><option value='2'>2 Kamele</option><option value='3'>3 Kamele</option><option value='4'>4 Kamele</option><option value='5'>5 Kamele (beste)</option></select><br/><input type='checkbox' id='fb_autosign' name='fb_autosign' checked='checked'><label for='fb_autosign'>automatisch unterschreiben</label><br/><input type='submit' value='Abschicken' /><input id='fb_preview' type='button' value='Vorschau'><input id='fb_reset' type='reset' value='abbrechen'></form></div>");
jQuery("#fb_reset").click( function () {
jQuery("#f_b_background, #f_b").hide();
});
jQuery("#fb_preview").click( function () {
jQuery.ajax({
url: "/api.php",
type: "POST",
data: {
action: "parse",
text: "\n{{Kurzfeedback|text="+jQuery("#fb_form textarea").val()+(jQuery("#fb_autosign")[0].checked ? " --~~"+"~~" : "")+"|r="+jQuery("#fb_form select").val()+"}}",
format: "xml"
},
success: function (tr) {
jQuery("#fb_preview_frame").show();
jQuery("#fb_preview_area").html(jQuery(tr).find("text").text());
jQuery("#f_b").css("height","300px");
jQuery("#f_b").css("margin-top","-165px");
}
});
});
jQuery("#fb_form").submit( function () {
if (jQuery("#fb_form textarea").val()+jQuery("#fb_form select").val() == "")
{
alert("Eins von beidem, Text oder Bewertung, solltest du schon mindestens ausfüllen!");
return false;
}
window.fb_data = {
url: "/api.php",
data: {
action: "edit",
title: wgFormattedNamespaces[wgNamespaceNumber+1]+":"+wgTitle,
summary: "Kurzfeedback",
appendtext: "\n{{Kurzfeedback|text="+jQuery("#fb_form textarea").val()+(jQuery("#fb_autosign")[0].checked ? " --~~"+"~~" : "")+"|r="+jQuery("#fb_form select").val()+"}}"
},
success: function () {
jQuery("#f_b_background, #f_b").hide();
jQuery("#ca-feedback").addClass("done");
jQuery('#mw-js-message').html("Die Zurückfütterung war erfolgreich!");
jQuery('#mw-js-message').slideDown('fast');
},
error: fb_error_callback,
type: 'POST'
};
jQuery.ajax({
cache: false,
url: "/api.php",
data: {
format: "xml",
action: "query",
prop: "info",
intoken: "edit",
titles: wgFormattedNamespaces[wgNamespaceNumber+1]+":"+wgTitle
},
type: 'GET',
success: function(tr) {
var token = jQuery(tr).find("api query pages page").attr('edittoken');
fb_data.data.token = token;
var section_data = jQuery.ajax({
async: false,
url: "/api.php",
data: {
action: "parse",
prop: "sections",
page: fb_data.data.title,
format: "xml"
},
error: fb_error_callback
}).responseXML;
fb_data.data.section = jQuery(section_data).find('s[line="Kurzfeedback"]').index() + 1;
if (fb_data.data.section == 0)
{
fb_data.data.section = "new";
fb_data.data.text = fb_data.data.appendtext;
delete fb_data.data.appendtext;
}
jQuery.ajax(fb_data);
},
error: fb_error_callback
});
return false;
}
);
jQuery("#ca-feedback").click(function () {
jQuery("#f_b_background, #f_b").show();
jQuery("#fb_form textarea").focus();
});
});