forked from jxn-30/LSS-Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaao-tab-dragger.min.user.js
20 lines (18 loc) · 4.76 KB
/
aao-tab-dragger.min.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// ==UserScript==
// @name AAO-Tab-Dragger
// @namespace http://tampermonkey.net/
// @version 1.5.0
// @description Customize the order and names of your AAO-Tabs
// @author Jan (KBOE2)
// @include *://www.leitstellenspiel.de/missions/*
// @include *://www.leitstellenspiel.de/aaos*
// @include *://www.missionchief.com/missions/*
// @include *://www.missionchief.com/aaos*
// @include *://www.meldkamerspel.com/missions/*
// @include *://www.meldkamerspel.com/aaos*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const storageName="AAO-Drager";if(localStorage[storageName]||(localStorage[storageName]=JSON.stringify({taborder:[],tabnames:{},tabcolors:{}})),!JSON.parse(localStorage[storageName]).tabcolors){let storage=JSON.parse(localStorage[storageName]);storage.tabcolors={},localStorage[storageName]=JSON.stringify(storage)}if(localStorage[storageName]&&JSON.parse(localStorage[storageName]).taborder){let tabs=[];$.each(JSON.parse(localStorage[storageName]).taborder,function(){tabs[tabs.length]=$('#aao-tabs li a[href="'+this+'"]').parent(),$('#aao-tabs li a[href="'+this+'"]').parent().remove()}),$.each(tabs,function(){$("#aao-tabs").append($(this)),$(this).css("background-color",JSON.parse(localStorage[storageName]).tabcolors[$(this).find("a").attr("href")]||"#ffffff"),document.URL.match(/aaos/)||$(this).css("padding-top","1em")})}localStorage[storageName]&&JSON.parse(localStorage[storageName]).tabnames&&$.each(JSON.parse(localStorage[storageName]).tabnames,function(a,t){$('#aao-tabs a[href="'+a+'"').text(t)}),document.URL.match(/aaos/)&&($("head").append('<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"><\/script>'),$("#aao-tabs li").each(function(){$(this).prepend('<i class="pullAAO glyphicon glyphicon-resize-horizontal"></i> '),$(this).find("a").html("<span>"+$(this).find("a").html()+"</span>"),$(this).find("a").append(' <a class="btn btn-default btn-xs renameAAOTab"><span title="Bearbeiten" class="glyphicon glyphicon-pencil"></span></a>')}),$(".pullAAO").css("cursor","e-resize"),$("#aao-tabs").sortable({handle:".pullAAO"}),$("#aao-tabs").before('<a class="btn btn-xs btn-primary" id="saveAAOOrder">AAO-Tab Reihenfolge speichern</a><a class="btn btn-xs btn-info" id="exportAAO">Einstellungen exportieren</a><a class="btn btn-xs btn-success" id="importAAO">Einstellungen importieren</a><input type="file" accept=".AAODrag" style="display:none" id="importAAOInputField">'),$("#saveAAOOrder").click(function(){let a=[];$("#aao-tabs li").each(function(){a[a.length]=$(this).find("a").attr("href")});let t=JSON.parse(localStorage[storageName]).tabnames||{};localStorage[storageName]=JSON.stringify({taborder:a,tabnames:t})}),$("#exportAAO").click(function(){let a="text/json;charset=utf-8,"+encodeURIComponent(localStorage[storageName]);this.setAttribute("href","data:"+a),this.setAttribute("download","settings.AAODrag")}),$("#importAAO").click(function(){$("#importAAOInputField").click()}),$("#importAAOInputField:file").change(function(){let a=document.getElementById("importAAOInputField").files[0];if(a){let t=new FileReader;t.readAsText(a),t.onload=function(a){localStorage[storageName]=a.target.result,alert("Please reload to see result of import!")}}}),$(".renameAAOTab").click(function(){$(this).toggle();let a='<span id="'+$(this).parent().attr("href")+'"><input type="color" value="'+(JSON.parse(localStorage[storageName]).tabcolors[$(this).parent().attr("href")]||"#ffffff")+'"><br><input placeholder="'+$(this).parent().text()+'" type="text"><span class="label label-danger abortName"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></span><span class="label label-success approveName"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></span></span>';$(this).parent().before(a),$(".abortName").css("cursor","pointer"),$(".approveName").css("cursor","pointer"),$(".abortName").click(function(){$(this).parent().remove()}),$(".approveName").click(function(){let a=JSON.parse(localStorage[storageName]).tabnames||{},t=JSON.parse(localStorage[storageName]).taborder||[],e=JSON.parse(localStorage[storageName]).tabcolors||{};a[$(this).parent().attr("id")]=$(this).parent().find("input[type='text']").val().trim()||$(this).parent().find("input[type='text']").attr("placeholder").trim(),e[$(this).parent().attr("id")]=$(this).parent().find("input[type='color']").val(),$(this).parent().parent().css("background-color",$(this).parent().find("input[type='color']").val()),localStorage[storageName]=JSON.stringify({taborder:t,tabnames:a,tabcolors:e}),$($(this).parent().parent().find("a span")[0]).html(a[$(this).parent().attr("id")]),$(this).parent().parent().find("a a").toggle(),$(this).parent().remove()})}));
})();