diff options
Diffstat (limited to 'htdocs')
-rw-r--r-- | htdocs/page.js | 36 | ||||
-rw-r--r-- | htdocs/page.min.js | 14 |
2 files changed, 37 insertions, 13 deletions
diff --git a/htdocs/page.js b/htdocs/page.js index 9e5287a..15bf45b 100644 --- a/htdocs/page.js +++ b/htdocs/page.js @@ -69,12 +69,36 @@ } if(typeof strips[which] != "undefined") { this.parentNode.insertBefore(strips[which], this.nextSibling); - var newOrder = document.getElementsByClassName("strip"); - var newOrderString = ""; - for(var i=0; i<newOrder.length; i++) { - var name = newOrder[i].dataset.stripName; - newOrderString += (newOrderString.length > 0 ? "," : "") + name; - } + + var newOrder = []; + if(typeof localStorage["stripsOrder"] != "undefined") { + newOrder = localStorage["stripsOrder"].split(/,/); + var oldIndex = newOrder.indexOf(which); + if(oldIndex >= 0) { + newOrder.splice(oldIndex, 1); + } + if(typeof this.dataset.stripName == "undefined") { + newOrder.unshift(which); + } + else { + var insertAfter = newOrder.indexOf(this.dataset.stripName); + if(insertAfter == -1) { + newOrder.push(which); + } + else { + newOrder.splice(insertAfter + 1, 0, which); + } + } + } + else { + var newOrderElements = document.getElementsByClassName("strip"); + for(var i=0; i<newOrderElements.length; i++) { + newOrder.push(newOrderElements[i].dataset.stripName); + } + } + + var newOrderString = newOrder.join(","); + localStorage["stripsOrder"] = newOrderString; e.preventDefault(); } diff --git a/htdocs/page.min.js b/htdocs/page.min.js index ccfd75f..b5aca7e 100644 --- a/htdocs/page.min.js +++ b/htdocs/page.min.js @@ -1,7 +1,7 @@ -(function(){function k(){c="undefined"!=typeof localStorage.blocked&&0<localStorage.blocked.length?localStorage.blocked.split(","):[];var e=document.getElementById("blockDiv");"undefined"!=typeof e&&null!=e&&e.parentNode.removeChild(e);if(0<c.length){e=document.createElement("div");e.id="blockDiv";e.innerHTML="Ausgeblendete Inhalte: ";e.style.fontSize="10px";e.style.marginTop="50px";for(var a=0;a<c.length;a++)(function(a){var b=document.createElement("a");b.innerHTML=c[a];b.href="#";0<a&&e.appendChild(document.createTextNode(", ")); -b.onclick=function(e){c=c.slice(0,a).concat(c.slice(a+1));localStorage.blocked=c.join(",");document.location.reload();e.preventDefault();return!1};e.appendChild(b)})(a);document.getElementById("content").appendChild(e)}}for(var c="undefined"!=typeof localStorage.blocked&&0<localStorage.blocked.length?localStorage.blocked.split(","):[],a=0;a<c.length;a++){var b=document.querySelector("div[data-strip-name='"+c[a]+"']");null!=b&&b.parentNode.removeChild(b)}window.addEventListener("load",k,!1);var d= -document.getElementsByClassName("strip"),g=document.createElement("div");g.style.background="#888";g.style.fontSize="5px";g.innerHTML=" ";for(a=0;a<d.length;a++){d[d[a].dataset.stripName]=d[a];d[a].setAttribute("draggable","true");d[a].ondragstart=function(a){a.dataTransfer.setData("Text",this.dataset.stripName)};d[a].ondragover=function(a){this.parentNode.insertBefore(g,this.nextSibling);a.preventDefault();return!1};d[a].ondragleave=function(a){try{g.parentNode.removeChild(g)}catch(b){}return!1}; -d[a].ondrop=function(a){try{g.parentNode.removeChild(g)}catch(b){}var c=a.dataTransfer.getData("Text");if(c==this.dataset.stripName)a.preventDefault();else if("undefined"!=typeof d[c]){this.parentNode.insertBefore(d[c],this.nextSibling);for(var c=document.getElementsByClassName("strip"),f="",h=0;h<c.length;h++)f+=(0<f.length?",":"")+c[h].dataset.stripName;localStorage.stripsOrder=f;a.preventDefault()}};b=document.createElement("sup");b.innerHTML="[x]";b.style.fontWeight="normal";b.style.color="#900"; -b.style.fontSize="10px";b.style.position="absolute";b.style.display="none";b.style.cursor="pointer";var f=d[a].getElementsByTagName("h2")[0];f.appendChild(b);f.deleter=b;f.onmouseover=function(){this.deleter.style.display="inline"};f.onmouseout=function(){this.deleter.style.display="none"};b.onclick=function(){c.push(this.parentNode.parentNode.dataset.stripName);localStorage.blocked=c.join(",");k();this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)}}a=document.getElementsByTagName("h1")[1]; -a.ondrop=d[0].ondrop;a.ondragover=d[0].ondragover;if("undefined"!=typeof localStorage.stripsOrder)for(b=localStorage.stripsOrder.split(/,/),a=b.length-1;0<=a;a--)document.getElementsByClassName("strip")[0].dataset.stripName!=b[a]&&"undefined"!=typeof d[b[a]]&&document.getElementsByClassName("strip")[0].parentNode.insertBefore(d[b[a]],document.getElementsByClassName("strip")[0]);document.addEventListener("keydown",function(a){if("n"==a["char"]||78==a.keyCode){a=document.getElementsByClassName("strip"); -for(var b=0;b<a.length;b++)if(a[b].offsetTop>window.scrollY){window.scrollTo(0,a[b].offsetTop);break}}},!0)})(); +(function(){function l(){c="undefined"!=typeof localStorage.blocked&&0<localStorage.blocked.length?localStorage.blocked.split(","):[];var e=document.getElementById("blockDiv");"undefined"!=typeof e&&null!=e&&e.parentNode.removeChild(e);if(0<c.length){e=document.createElement("div");e.id="blockDiv";e.innerHTML="Ausgeblendete Inhalte: ";e.style.fontSize="10px";e.style.marginTop="50px";for(var a=0;a<c.length;a++)(function(a){var b=document.createElement("a");b.innerHTML=c[a];b.href="#";0<a&&e.appendChild(document.createTextNode(", ")); +b.onclick=function(e){c=c.slice(0,a).concat(c.slice(a+1));localStorage.blocked=c.join(",");document.location.reload();e.preventDefault();return!1};e.appendChild(b)})(a);document.getElementById("content").appendChild(e)}}for(var c="undefined"!=typeof localStorage.blocked&&0<localStorage.blocked.length?localStorage.blocked.split(","):[],a=0;a<c.length;a++){var b=document.querySelector("div[data-strip-name='"+c[a]+"']");null!=b&&b.parentNode.removeChild(b)}window.addEventListener("load",l,!1);var d= +document.getElementsByClassName("strip"),h=document.createElement("div");h.style.background="#888";h.style.fontSize="5px";h.innerHTML=" ";for(a=0;a<d.length;a++){d[d[a].dataset.stripName]=d[a];d[a].setAttribute("draggable","true");d[a].ondragstart=function(a){a.dataTransfer.setData("Text",this.dataset.stripName)};d[a].ondragover=function(a){this.parentNode.insertBefore(h,this.nextSibling);a.preventDefault();return!1};d[a].ondragleave=function(a){try{h.parentNode.removeChild(h)}catch(b){}return!1}; +d[a].ondrop=function(a){try{h.parentNode.removeChild(h)}catch(b){}var c=a.dataTransfer.getData("Text");if(c==this.dataset.stripName)a.preventDefault();else if("undefined"!=typeof d[c]){this.parentNode.insertBefore(d[c],this.nextSibling);var f=[];if("undefined"!=typeof localStorage.stripsOrder){var f=localStorage.stripsOrder.split(/,/),g=f.indexOf(c);0<=g&&f.splice(g,1);"undefined"==typeof this.dataset.stripName?f.unshift(c):(g=f.indexOf(this.dataset.stripName),-1==g?f.push(c):f.splice(g+1,0,c))}else for(c= +document.getElementsByClassName("strip"),g=0;g<c.length;g++)f.push(c[g].dataset.stripName);f=f.join(",");localStorage.stripsOrder=f;a.preventDefault()}};b=document.createElement("sup");b.innerHTML="[x]";b.style.fontWeight="normal";b.style.color="#900";b.style.fontSize="10px";b.style.position="absolute";b.style.display="none";b.style.cursor="pointer";var k=d[a].getElementsByTagName("h2")[0];k.appendChild(b);k.deleter=b;k.onmouseover=function(){this.deleter.style.display="inline"};k.onmouseout=function(){this.deleter.style.display= +"none"};b.onclick=function(){c.push(this.parentNode.parentNode.dataset.stripName);localStorage.blocked=c.join(",");l();this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)}}a=document.getElementsByTagName("h1")[1];a.ondrop=d[0].ondrop;a.ondragover=d[0].ondragover;if("undefined"!=typeof localStorage.stripsOrder)for(b=localStorage.stripsOrder.split(/,/),a=b.length-1;0<=a;a--)document.getElementsByClassName("strip")[0].dataset.stripName!=b[a]&&"undefined"!=typeof d[b[a]]&&document.getElementsByClassName("strip")[0].parentNode.insertBefore(d[b[a]], +document.getElementsByClassName("strip")[0]);document.addEventListener("keydown",function(a){if("n"==a["char"]||78==a.keyCode){a=document.getElementsByClassName("strip");for(var b=0;b<a.length;b++)if(a[b].offsetTop>window.scrollY){window.scrollTo(0,a[b].offsetTop);break}}},!0)})(); |