mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-09 19:13:26 +00:00
wip: js modularization of lightbox and cleanup
This commit is contained in:
92
resources/www/common/js/components/utils.js
Normal file
92
resources/www/common/js/components/utils.js
Normal file
@@ -0,0 +1,92 @@
|
||||
var p4 = p4 || {};
|
||||
|
||||
var utilsModule = (function (p4) {
|
||||
|
||||
|
||||
function RGBtoHex(R, G, B) {
|
||||
return _toHex(R) + _toHex(G) + _toHex(B);
|
||||
}
|
||||
function _toHex(N) {
|
||||
if (N === null) return "00";
|
||||
N = parseInt(N);
|
||||
if (N === 0 || isNaN(N)) return "00";
|
||||
N = Math.max(0, N);
|
||||
N = Math.min(N, 255);
|
||||
N = Math.round(N);
|
||||
return "0123456789ABCDEF".charAt((N - N % 16) / 16)
|
||||
+ "0123456789ABCDEF".charAt(N % 16);
|
||||
}
|
||||
function hsl2rgb(h, s, l) {
|
||||
var m1, m2, hue;
|
||||
var r, g, b;
|
||||
s /= 100;
|
||||
l /= 100;
|
||||
if (s === 0)
|
||||
r = g = b = (l * 255);
|
||||
else {
|
||||
if (l <= 0.5)
|
||||
m2 = l * (s + 1);
|
||||
else
|
||||
m2 = l + s - l * s;
|
||||
m1 = l * 2 - m2;
|
||||
hue = h / 360;
|
||||
r = _HueToRgb(m1, m2, hue + 1 / 3);
|
||||
g = _HueToRgb(m1, m2, hue);
|
||||
b = _HueToRgb(m1, m2, hue - 1 / 3);
|
||||
}
|
||||
return {
|
||||
r: r,
|
||||
g: g,
|
||||
b: b
|
||||
};
|
||||
}
|
||||
|
||||
function _HueToRgb(m1, m2, hue) {
|
||||
var v;
|
||||
if (hue < 0)
|
||||
hue += 1;
|
||||
else if (hue > 1)
|
||||
hue -= 1;
|
||||
|
||||
if (6 * hue < 1)
|
||||
v = m1 + (m2 - m1) * hue * 6;
|
||||
else if (2 * hue < 1)
|
||||
v = m2;
|
||||
else if (3 * hue < 2)
|
||||
v = m1 + (m2 - m1) * (2 / 3 - hue) * 6;
|
||||
else
|
||||
v = m1;
|
||||
|
||||
return 255 * v;
|
||||
}
|
||||
|
||||
function is_ctrl_key(event) {
|
||||
if (event.altKey)
|
||||
return true;
|
||||
if (event.ctrlKey)
|
||||
return true;
|
||||
if (event.metaKey) // apple key opera
|
||||
return true;
|
||||
if (event.keyCode === 17) // apple key opera
|
||||
return true;
|
||||
if (event.keyCode === 224) // apple key mozilla
|
||||
return true;
|
||||
if (event.keyCode === 91) // apple key safari
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function is_shift_key(event) {
|
||||
if (event.shiftKey)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
RGBtoHex: RGBtoHex,
|
||||
hsl2rgb: hsl2rgb,
|
||||
is_ctrl_key: is_ctrl_key,
|
||||
is_shift_key: is_shift_key
|
||||
};
|
||||
}(p4));
|
Reference in New Issue
Block a user