Last active
August 13, 2018 16:08
-
-
Save da411d/f1a314d753741fb5cdf49d9ad1cc3d09 to your computer and use it in GitHub Desktop.
Onori
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
window.Onori = { | |
log: function(){ | |
Onori.console.apply(console.log, arguments); | |
}, | |
warn: function(){ | |
Onori.console.apply(console.warn, arguments); | |
}, | |
console: function(){ | |
var arr = []; | |
var notifStr = ""; | |
for(key in arguments){ | |
var t = arguments[key]; | |
notifStr += arguments[key].toString() + " "; | |
var current = []; | |
if(typeof t == "string"){ | |
t = t.replace(/([A-Z]+):{(.+?)}/g, (a, b, c)=>{ | |
if(b == "TITLE"){ | |
while(c.length < 56)c=" "+c+" "; | |
if(c.length > 56 && c[0] == " ")c = c.substr(1);; | |
c = "%c %c %c "+ c +" %c %c "; | |
current.push("background: #9575cd"); | |
current.push("background: #673ab7"); | |
current.push("color: #ffffff; background: #512da8;"); | |
current.push("background: #673ab7"); | |
current.push("background: #9575cd"); | |
return c; | |
}else{ | |
var style = "border-radius: 2px; padding: 1px 4px; line-height: 1.5em; "; | |
switch(b.toLowerCase()){ | |
case "r":current.push("color: #000000; background: #ffb3ba;"+style);break; | |
case "o":current.push("color: #000000; background: #ffdfba;"+style);break; | |
case "y":current.push("color: #000000; background: #ffffba;"+style);break; | |
case "g":current.push("color: #000000; background: #baffc9;"+style);break; | |
case "b":current.push("color: #000000; background: #bae1ff;"+style);break; | |
case "w":current.push("color: #ffffff; background: #000000;"+style);break; | |
default:current.push("color: #000000; background: #ffffff;"+style);break; | |
} | |
current.push("color: #000000; background: #ffffff;"); | |
return "%c"+c+"%c"; | |
} | |
}); | |
} | |
current.unshift(t); | |
arr = arr.concat(current); | |
} | |
this.apply(window, arr); | |
if(Onori.config("displayPoplog"))Onori.notif(notifStr); | |
}, | |
notif: function(data){ | |
if(!Onori.notif.selector)Onori.notif.selector = Onori.uuid(); | |
var rootId = "notif-"+Onori.notif.selector; | |
var root = document.querySelector("#"+rootId); | |
if (!root) { | |
root = document.createElement("div"); | |
root.id = rootId; | |
root.innerHTML = `<style> | |
#${rootId}{ | |
position:fixed; | |
top:0; | |
left:0; | |
display:block; | |
width:400px; | |
max-width:100vw; | |
height:auto; | |
margin:0; | |
padding:0; | |
z-index:10000000000000 | |
} | |
#${rootId}>div{ | |
display:block; | |
box-sizing:border-box; | |
width:100%; | |
margin:0 0 2px; | |
padding:8px; | |
background:#fafafa; | |
color:#000000; | |
border-radius:2px; | |
font-family:consolas; | |
font-size:14px; | |
transition-duration:.5s; | |
box-shadow:1px 2px 8px rgba(0,0,0,0.3) | |
} | |
#${rootId}>div.hidden{ | |
overflow:hidden; | |
max-height:0; | |
padding:0 8px; | |
argin-bottom:0; | |
opacity:0 | |
} | |
#${rootId}>div>span{border-radius:2px;padding:0px 4px;line-height:1.5em} | |
#${rootId}>div>span.${rootId}-R{color:#000000;background:#ffb3ba} | |
#${rootId}>div>span.${rootId}-O{color:#000000;background:#ffdfba} | |
#${rootId}>div>span.${rootId}-Y{color:#000000;background:#ffffba} | |
#${rootId}>div>span.${rootId}-G{color:#000000;background:#baffc9} | |
#${rootId}>div>span.${rootId}-B{color:#000000;background:#bae1ff} | |
#${rootId}>div>span.${rootId}-W{color:#ffffff;background:#000000} | |
#${rootId}>div>span.${rootId}-TITLE{ | |
display:block; | |
color:#ffffff; | |
background:#512da8; | |
font-weight:bold; | |
text-align:center | |
} | |
</style>`; | |
document.body.appendChild(root); | |
} | |
var el = document.createElement("div"); | |
el.addEventListener("contextmenu", e => { | |
el.className = "hidden"; | |
setTimeout(()=>el.outerHTML="", 1000); | |
e.preventDefault(); | |
}); | |
el.innerHTML = data.toString().replace(/([A-Z]+):{(.+?)}/g, (a, b, c) => `<span class="${rootId}-${b}">${c}</span>`); | |
root.appendChild(el); | |
setTimeout(() => { | |
el.className = "hidden"; | |
setTimeout(()=>el.outerHTML="", 1000); | |
}, 6000); | |
}, | |
md5: function(s){function L(k,d){return(k<<d)|(k>>>(32-d))}function K(G,k){var I,d,F,H,x;F=(G&2147483648);H=(k&2147483648);I=(G&1073741824);d=(k&1073741824);x=(G&1073741823)+(k&1073741823);if(I&d){return(x^2147483648^F^H)}if(I|d){if(x&1073741824){return(x^3221225472^F^H)}else{return(x^1073741824^F^H)}}else{return(x^F^H)}}function r(d,F,k){return(d&F)|((~d)&k)}function q(d,F,k){return(d&k)|(F&(~k))}function p(d,F,k){return(d^F^k)}function n(d,F,k){return(F^(d|(~k)))}function u(G,F,aa,Z,k,H,I){G=K(G,K(K(r(F,aa,Z),k),I));return K(L(G,H),F)}function f(G,F,aa,Z,k,H,I){G=K(G,K(K(q(F,aa,Z),k),I));return K(L(G,H),F)}function D(G,F,aa,Z,k,H,I){G=K(G,K(K(p(F,aa,Z),k),I));return K(L(G,H),F)}function t(G,F,aa,Z,k,H,I){G=K(G,K(K(n(F,aa,Z),k),I));return K(L(G,H),F)}function e(G){var Z;var F=G.length;var x=F+8;var k=(x-(x%64))/64;var I=(k+1)*16;var aa=Array(I-1);var d=0;var H=0;while(H<F){Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=(aa[Z]| (G.charCodeAt(H)<<d));H++}Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=aa[Z]|(128<<d);aa[I-2]=F<<3;aa[I-1]=F>>>29;return aa}function B(x){var k="",F="",G,d;for(d=0;d<=3;d++){G=(x>>>(d*8))&255;F="0"+G.toString(16);k=k+F.substr(F.length-2,2)}return k}function J(k){k=k.replace(/rn/g,"n");var d="";for(var F=0;F<k.length;F++){var x=k.charCodeAt(F);if(x<128){d+=String.fromCharCode(x)}else{if((x>127)&&(x<2048)){d+=String.fromCharCode((x>>6)|192);d+=String.fromCharCode((x&63)|128)}else{d+=String.fromCharCode((x>>12)|224);d+=String.fromCharCode(((x>>6)&63)|128);d+=String.fromCharCode((x&63)|128)}}}return d}var C=Array();var P,h,E,v,g,Y,X,W,V;var S=7,Q=12,N=17,M=22;var A=5,z=9,y=14,w=20;var o=4,m=11,l=16,j=23;var U=6,T=10,R=15,O=21;s=J(s);C=e(s);Y=1732584193;X=4023233417;W=2562383102;V=271733878;for(P=0;P<C.length;P+=16){h=Y;E=X;v=W;g=V;Y=u(Y,X,W,V,C[P+0],S,3614090360);V=u(V,Y,X,W,C[P+1],Q,3905402710);W=u(W,V,Y,X,C[P+2],N,606105819);X=u(X,W,V,Y,C[P+3],M,3250441966);Y=u(Y,X,W,V,C[P+4],S,4118548399);V=u(V,Y,X,W,C[P+5],Q,1200080426);W=u(W,V,Y,X,C[P+6],N,2821735955);X=u(X,W,V,Y,C[P+7],M,4249261313);Y=u(Y,X,W,V,C[P+8],S,1770035416);V=u(V,Y,X,W,C[P+9],Q,2336552879);W=u(W,V,Y,X,C[P+10],N,4294925233);X=u(X,W,V,Y,C[P+11],M,2304563134);Y=u(Y,X,W,V,C[P+12],S,1804603682);V=u(V,Y,X,W,C[P+13],Q,4254626195);W=u(W,V,Y,X,C[P+14],N,2792965006);X=u(X,W,V,Y,C[P+15],M,1236535329);Y=f(Y,X,W,V,C[P+1],A,4129170786);V=f(V,Y,X,W,C[P+6],z,3225465664);W=f(W,V,Y,X,C[P+11],y,643717713);X=f(X,W,V,Y,C[P+0],w,3921069994);Y=f(Y,X,W,V,C[P+5],A,3593408605);V=f(V,Y,X,W,C[P+10],z,38016083);W=f(W,V,Y,X,C[P+15],y,3634488961);X=f(X,W,V,Y,C[P+4],w,3889429448);Y=f(Y,X,W,V,C[P+9],A,568446438);V=f(V,Y,X,W,C[P+14],z,3275163606);W=f(W,V,Y,X,C[P+3],y,4107603335);X=f(X,W,V,Y,C[P+8],w,1163531501);Y=f(Y,X,W,V,C[P+13],A,2850285829);V=f(V,Y,X,W,C[P+2],z,4243563512);W=f(W,V,Y,X,C[P+7],y,1735328473);X=f(X,W,V,Y,C[P+12],w,2368359562);Y=D(Y,X,W,V,C[P+5],o,4294588738);V=D(V,Y,X,W,C[P+8],m,2272392833);W=D(W,V,Y,X,C[P+11],l,1839030562);X=D(X,W,V,Y,C[P+14],j,4259657740);Y=D(Y,X,W,V,C[P+1],o,2763975236);V=D(V,Y,X,W,C[P+4],m,1272893353);W=D(W,V,Y,X,C[P+7],l,4139469664);X=D(X,W,V,Y,C[P+10],j,3200236656);Y=D(Y,X,W,V,C[P+13],o,681279174);V=D(V,Y,X,W,C[P+0],m,3936430074);W=D(W,V,Y,X,C[P+3],l,3572445317);X=D(X,W,V,Y,C[P+6],j,76029189);Y=D(Y,X,W,V,C[P+9],o,3654602809);V=D(V,Y,X,W,C[P+12],m,3873151461);W=D(W,V,Y,X,C[P+15],l,530742520);X=D(X,W,V,Y,C[P+2],j,3299628645);Y=t(Y,X,W,V,C[P+0],U,4096336452);V=t(V,Y,X,W,C[P+7],T,1126891415);W=t(W,V,Y,X,C[P+14],R,2878612391);X=t(X,W,V,Y,C[P+5],O,4237533241);Y=t(Y,X,W,V,C[P+12],U,1700485571);V=t(V,Y,X,W,C[P+3],T,2399980690);W=t(W,V,Y,X,C[P+10],R,4293915773);X=t(X,W,V,Y,C[P+1],O,2240044497);Y=t(Y,X,W,V,C[P+8],U,1873313359);V=t(V,Y,X,W,C[P+15],T,4264355552);W=t(W,V,Y,X,C[P+6],R,2734768916);X=t(X,W,V,Y,C[P+13],O,1309151649);Y=t(Y,X,W,V,C[P+4],U,4149444226);V=t(V,Y,X,W,C[P+11],T,3174756917);W=t(W,V,Y,X,C[P+2],R,718787259);X=t(X,W,V,Y,C[P+9],O,3951481745);Y=K(Y,h);X=K(X,E);W=K(W,v);V=K(V,g)}var i=B(Y)+B(X)+B(W)+B(V);return i.toLowerCase()}, | |
qq: function(q){return document.querySelector(q);}, | |
qqq: function(q){return document.querySelectorAll(q);}, | |
rand: function(mi, ma){return Math.floor(Math.random() * (ma - mi + 1) + mi);}, | |
uuid: function(){ | |
function n(){ | |
return Math.floor(65536*(1+Math.random())).toString(16).substring(1); | |
}; | |
return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n() | |
}, | |
download: function(filename, data){ | |
var element = document.createElement('a'); | |
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(data)); | |
element.setAttribute('download', filename); | |
element.style.display = 'none'; | |
document.body.appendChild(element); | |
element.click(); | |
setTimeout(()=>{ | |
document.body.removeChild(element); | |
}, 200); | |
}, | |
action: function (k = false, f = false){ | |
/* | |
INIT | |
*/ | |
if(!Onori.action.inited){ | |
if(!Onori.action.params){ | |
Onori.action.params = []; | |
} | |
var events = ["load", "click", "mousedown", "mouseup", "focus", "blur", "keydown", "change", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel", "keydown", "keyup", "keypress", "textInput", "touchstart", "touchmove", "touchend", "touchcancel", "resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset"]; | |
for(var i in events){ | |
window.addEventListener(events[i], Onori.action, 0); | |
} | |
Onori.action.inited = true; | |
} | |
if(k && !f && typeof k == "object"){ | |
/* | |
EVENT CALLBACK | |
*/ | |
var event = k; | |
var target = event.target; | |
var action = ""; | |
if(target){ | |
while(target && target.getAttribute && !target.getAttribute("data-on-"+event.type)){ | |
target = target.parentElement; | |
} | |
} | |
try{ | |
action = target.getAttribute("data-on-"+event.type) || ""; | |
}catch(e){ | |
action = ""; | |
} | |
action = action.split(" "); | |
for(var act of action){ | |
if(typeof Onori.action.params[act] == "function"){ | |
window.event = event; | |
window.target = target; | |
try{ | |
Onori.action.params[act](); | |
}catch(e){ | |
console.error("Onori action engine error!", e); | |
} | |
} | |
} | |
}else if(k && !f && typeof k == "string"){ | |
/* | |
EXEC | |
*/ | |
if(typeof Onori.action.params[t] == "function"){ | |
window.event = null; | |
window.target = null; | |
try{ | |
Onori.action.params[t](); | |
}catch(e){ | |
console.error("Onori action engine error!", e); | |
} | |
} | |
}else if(k && f){ | |
/* | |
ADD | |
*/ | |
Onori.action.params[k] = f; | |
} | |
}, | |
config: function(){ | |
if(arguments.length == 1){ | |
return Onori.config[arguments[0]]; | |
}else if(arguments.length == 2){ | |
return Onori.config[arguments[0]] = arguments[1]; | |
} | |
}, | |
storage: function(){ | |
if(arguments.length == 1){ | |
return localStorage[arguments[0]]; | |
}else if(arguments.length == 2){ | |
return localStorage[arguments[0]] = arguments[1]; | |
} | |
}, | |
init: function(){ | |
Onori.action.init(); | |
for(var i=0; i<arguments.length; i++){ | |
if(typeof arguments[i] == "function")arguments[i](); | |
} | |
} | |
}; | |
window.rand = Onori.rand; | |
window.randId = Onori.uuid; | |
window.qq = Onori.qq; | |
window.qqq = Onori.qqq; | |
window.dl = Onori.download; | |
window._h = Onori.md5; |
Author
da411d
commented
Jun 23, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment