From a4ce7bf7a9e8d472b0523e74510a4ff4c394fa3f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 15 Nov 2016 13:52:28 -0500 Subject: links view --- public/assets/js/vendor/util.js | 196 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 public/assets/js/vendor/util.js (limited to 'public/assets/js/vendor/util.js') diff --git a/public/assets/js/vendor/util.js b/public/assets/js/vendor/util.js new file mode 100644 index 0000000..d062b92 --- /dev/null +++ b/public/assets/js/vendor/util.js @@ -0,0 +1,196 @@ +// window.addEventListener('message', function(e) { +// console.log(e.data) +// if (e.data == "click") { +// document.body.click() +// } +// if (e.data == "ready") { +// app.ready() +// } +// }) + +var TWO_PI = Math.PI * 2 +var DEG_TO_RAD = Math.PI/180 +var RAD_TO_DEG = 180/Math.PI + +function gray(n) { + var s = Math.round(n * 255).toString(16) + "" + if (s.length == 1) s = "0" + s + return "#" + s + s + s +} + +function sanitize (s){ return (s || "").replace(new RegExp("[<>&]", 'g'), "") } +function rand(n){ return (Math.random()*n) } +function randint(n){ return rand(n)|0 } +function randrange(a,b){ return a + rand(b-a) } +function randsign(){ return Math.random() > 0.5 ? 1 : -1 } +function choice(a){ return a[randint(a.length)] } +function clamp(n,a,b){ return n 0; i--){ + var r = randint(i) + var swap = a[i-1] + a[i-1] = a[r] + a[r] = swap + } + return a +} +function defaults (dest, src) { + dest = dest || {} + for (var i in src) { + dest[i] = typeof dest[i] == 'undefined' ? src[i] : dest[i] + } + return dest +} + +function getFirstTouch(fn){ + return function(e){ + e.preventDefault() + var touch = e.touches[0] + fn(touch) + } +} + +function offsetFromPoint(event, element) { + function a(width) { + var l = 0, r = 200; + while (r - l > 0.0001) { + var mid = (r + l) / 2; + var a = document.createElement('div'); + a.style.cssText = 'position: absolute;left:0;top:0;background: red;z-index: 1000;'; + a.style[width ? 'width' : 'height'] = mid.toFixed(3) + '%'; + a.style[width ? 'height' : 'width'] = '100%'; + element.appendChild(a); + var x = document.elementFromPoint(event.clientX, event.clientY); + element.removeChild(a); + if (x === a) { + r = mid; + } else { + if (r === 200) { + return null; + } + l = mid; + } + } + return mid; + } + var l = a(1), + t = a(0); + return l && t ? { + left: l / 100, + top: t / 100, + toString: function () { + return 'left: ' + l + '%, top: ' + t + '%'; + } + } : null; +} + +// Check if supports 3D transforms +function has3d(){ + var el = $('

')[0], $iframe = $('