1 // Library for Dragonblocks
4 elem.style.left = elem.parentNode.clientWidth / 2 - parseInt(elem.clientWidth) / 2 + "px";
6 static centerVertical(elem){
7 let parent = elem.parentNode;
8 if (parent == document.body)
9 parent = document.documentElement;
10 elem.style.top = parent.clientHeight / 2 - parseInt(elem.clientHeight) / 2 + "px";
14 elem.parentNode.removeChild(elem);
16 static random(min, max){
17 return Math.floor(min + Math.random() * (max - min + 1));
19 static humanFormat(str){
20 var str = str.replace("_", " ");
21 str = str[0].toUpperCase() + str.slice(1, str.length);
24 static copy(dest, src){
26 if(src[prop] instanceof Array){
28 this.copy(dest[prop], src[prop]);
30 else if(src[prop] instanceof Function){
31 dest[prop] = src[prop];
33 else if(src[prop] instanceof Object){
35 this.copy(dest[prop], src[prop]);
38 dest[prop] = src[prop];
42 static copySimple(dest, src){
44 dest[prop] = src[prop];
47 static htmlEntities(str){
48 return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/\n/g, "<br>").replace(/\t/g, "  ").replace(/ /g, " ");
50 static removeTmp(src){
52 if(src instanceof Array)
61 static replaceRecursive(src, search, replace){
63 if(src instanceof Array)
65 dblib.copySimple(obj, src);
67 if(obj[prop] === search)
69 else if(obj[prop] instanceof Object)
70 obj[prop] = this.replaceRecursive(obj[prop], search, replace);