User:ArsenalBastion4093/common.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
$(function(){
function Encode(i) {
return encodeURI(i).split("?").join("%3F").split("&").join("%26").split("=").join("%3D").split(";").join("%3B").split("#").join("%23").split('"').join("%22").split("'").join("%27")
}
function URL_param_get(a) {
var arr = location.href.split("#")[0].slice(location.origin.length+location.pathname.length+1).split("&")
for (var i in arr) {
arr[i] = arr[i].split("=")
arr[i][0] = decodeURIComponent(arr[i][0])
arr[i][1] = decodeURIComponent(arr[i][1])
}
var obj= Object.fromEntries(arr)
if (typeof(obj[a])!="string") return null
else return obj[a]
}
function URL_param_getall() {
var arr = location.href.split("#")[0].slice(location.origin.length+location.pathname.length+1).split("&")
for (var i in arr) {
arr[i] = arr[i].split("=")
arr[i][0] = decodeURIComponent(arr[i][0])
arr[i][1] = decodeURIComponent(arr[i][1])
}
var obj = Object.fromEntries(arr)
delete obj[""]
return obj
}
function URL_param_parse(o) {
var arr = Object.entries(o)
for (var i in arr) {
arr[i] = Encode(arr[i][0]) + "=" + Encode(arr[i][1])
}
return "?" + arr.join("&")
}
window.ApiRequest = function(req){
return new Promise(function(r,t){
$.ajax("/w/api.php" + URL_param_parse(req),{
type: "post",
success: function(a){r(a)},
error: function(a){t(a)},
})
})
}
Object.defineProperties(String.prototype,{
containing:{
value(a){return this.split(a).length>1}
}
})
$("#firstHeading").before('<div class="editedtitletool notopen">[<a href="#" id="ca-done">✔</a> | <a href="#" id="ca-cancel">✘</a>]</div>')
$("<style>.editedtitletool{font-size: 1.8em;}.editedtitletool.notopen{display:none;}</style>").appendTo("head")
$("#firstHeading").attr("contentEditable","true").on("focus",function(){
if ($(this).hasClass("edited")) {
return;
}
$(".editedtitletool").removeClass("notopen")
$("#mw-content-subtitle").prepend("<div id='original-title'>"+$(this).html()+"</div>")
$(this).addClass("edited");
$(this).text(mw.config.values.wgPageName.split("_").join(" "));
$("#ca-done").click(function(){
$("#firstHeading").attr("contentEditable","false").text($("#firstHeading").text().split("\n").join(""));
location = location.origin + mw.util.getUrl($("#firstHeading").text());
})
$("#ca-cancel").click(function(){
$("#firstHeading").removeClass("edited").html($("#original-title").html())
$("#original-title").remove()
$(".editedtitletool").addClass("notopen")
})
$(this).on("keydown",function(e){
if (e.key == "Enter") {
$("#ca-done").click()
}
});
$("#vector-page-tools .vector-menu-content-list").append("<li id='t-qqx' class='mw-list-item'><a href='" + location + (location.toString().indexOf("?")==-1?"?uselang=qqx":"&uselang=qqx") + "'><span>QQX</span></a></li>")
});
})