mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-12-26 17:16:07 +08:00
Fix snowfall plugin #434
This commit is contained in:
parent
a8eee1dbcf
commit
ab2a81cd9b
3 changed files with 23 additions and 33 deletions
|
@ -4,7 +4,7 @@ class SnowfallOnLoginScreenPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
{
|
||||
const
|
||||
NAME = 'Snowfall on login screen',
|
||||
VERSION = '2.0',
|
||||
VERSION = '2.1',
|
||||
CATEGORY = 'Fun',
|
||||
DESCRIPTION = 'Snowfall on login screen (just for fun).';
|
||||
|
||||
|
|
|
@ -1,12 +1,17 @@
|
|||
|
||||
if (!/iphone|ipod|ipad|android/i.test(navigator.userAgent))
|
||||
{
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
if (window.snowFall && window.rl && !rl.settings.get('Auth'))
|
||||
{
|
||||
window.snowFall.snow(document.getElementsByTagName('body'), {
|
||||
shadow: true, round: true, minSize: 2, maxSize: 5
|
||||
});
|
||||
}
|
||||
});
|
||||
if (window.snowFall && window.rl)
|
||||
{
|
||||
let body = document.body;
|
||||
addEventListener('sm-show-screen', e => {
|
||||
if ('login' == e.detail) {
|
||||
window.snowFall.snow(body, {
|
||||
shadow: true, round: true, minSize: 2, maxSize: 5
|
||||
});
|
||||
} else if (body.snow) {
|
||||
body.snow.clear();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
*/
|
||||
|
||||
// Paul Irish requestAnimationFrame polyfill
|
||||
(function(window) {
|
||||
(window => {
|
||||
var lastTime = 0;
|
||||
var vendors = ['webkit', 'moz'];
|
||||
for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
|
||||
|
@ -57,11 +57,10 @@
|
|||
}
|
||||
|
||||
if (!window.requestAnimationFrame)
|
||||
window.requestAnimationFrame = function(callback, element) {
|
||||
window.requestAnimationFrame = callback => {
|
||||
var currTime = new Date().getTime();
|
||||
var timeToCall = window.Math.max(0, 16 - (currTime - lastTime));
|
||||
var id = window.setTimeout(function() { callback(currTime + timeToCall); },
|
||||
timeToCall);
|
||||
var id = window.setTimeout(() => callback(currTime + timeToCall), timeToCall);
|
||||
lastTime = currTime + timeToCall;
|
||||
return id;
|
||||
};
|
||||
|
@ -70,7 +69,7 @@
|
|||
window.cancelAnimationFrame = function(id) {
|
||||
clearTimeout(id);
|
||||
};
|
||||
}(window));
|
||||
})(window);
|
||||
|
||||
var snowFall = (function(){
|
||||
function jSnow(){
|
||||
|
@ -248,28 +247,14 @@ var snowFall = (function(){
|
|||
cancelAnimationFrame(snowTimeout);
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
return{
|
||||
snow : function(elements, options){
|
||||
snow : (elements, options) => {
|
||||
if(typeof(options) === 'string'){
|
||||
if(elements.length > 0){
|
||||
for(var i = 0; i < elements.length; i++){
|
||||
if(elements[i].snow){
|
||||
elements[i].snow.clear();
|
||||
}
|
||||
}
|
||||
}else{
|
||||
elements.snow.clear();
|
||||
}
|
||||
elements.snow.clear();
|
||||
}else{
|
||||
if(elements.length > 0){
|
||||
for(var i = 0; i < elements.length; i++){
|
||||
new jSnow().snow(elements[i], options);
|
||||
}
|
||||
}else{
|
||||
new jSnow().snow(elements, options);
|
||||
}
|
||||
new jSnow().snow(elements, options);
|
||||
}
|
||||
}
|
||||
};
|
||||
})();
|
||||
})();
|
||||
|
|
Loading…
Reference in a new issue