mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-08-21 12:55:22 +00:00
Merge pull request #1995 from rejas/cleanup_alert
Cleanup default alert module
This commit is contained in:
@@ -1,3 +1 @@
|
|||||||
modules/default/alert/notificationFx.js
|
modules/default/calendar/vendor/*
|
||||||
modules/default/alert/modernizr.custom.js
|
|
||||||
modules/default/alert/classie.js
|
|
||||||
|
1
.markdownlintignore
Normal file
1
.markdownlintignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
modules/default/calendar/vendor/*
|
@@ -12,6 +12,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
### Added
|
### Added
|
||||||
|
|
||||||
### Updated
|
### Updated
|
||||||
|
- Cleaned up alert module code
|
||||||
- Cleaned up check_config code
|
- Cleaned up check_config code
|
||||||
- Replaced grunt-based linters with their non-grunt equivalents
|
- Replaced grunt-based linters with their non-grunt equivalents
|
||||||
|
|
||||||
|
@@ -21,10 +21,10 @@ Module.register("alert",{
|
|||||||
welcome_message: false,
|
welcome_message: false,
|
||||||
},
|
},
|
||||||
getScripts: function() {
|
getScripts: function() {
|
||||||
return ["classie.js", "modernizr.custom.js", "notificationFx.js"];
|
return ["notificationFx.js"];
|
||||||
},
|
},
|
||||||
getStyles: function() {
|
getStyles: function() {
|
||||||
return ["ns-default.css", "font-awesome.css"];
|
return ["notificationFx.css", "font-awesome.css"];
|
||||||
},
|
},
|
||||||
// Define required translations.
|
// Define required translations.
|
||||||
getTranslations: function() {
|
getTranslations: function() {
|
||||||
@@ -36,7 +36,7 @@ Module.register("alert",{
|
|||||||
},
|
},
|
||||||
show_notification: function(message) {
|
show_notification: function(message) {
|
||||||
if (this.config.effect === "slide") {this.config.effect = this.config.effect + "-" + this.config.position;}
|
if (this.config.effect === "slide") {this.config.effect = this.config.effect + "-" + this.config.position;}
|
||||||
msg = "";
|
let msg = "";
|
||||||
if (message.title) {
|
if (message.title) {
|
||||||
msg += "<span class='thin dimmed medium'>" + message.title + "</span>";
|
msg += "<span class='thin dimmed medium'>" + message.title + "</span>";
|
||||||
}
|
}
|
||||||
@@ -55,20 +55,19 @@ Module.register("alert",{
|
|||||||
}).show();
|
}).show();
|
||||||
},
|
},
|
||||||
show_alert: function(params, sender) {
|
show_alert: function(params, sender) {
|
||||||
var self = this;
|
let image = "";
|
||||||
//Set standard params if not provided by module
|
//Set standard params if not provided by module
|
||||||
if (typeof params.timer === "undefined") { params.timer = null; }
|
if (typeof params.timer === "undefined") { params.timer = null; }
|
||||||
if (typeof params.imageHeight === "undefined") { params.imageHeight = "80px"; }
|
if (typeof params.imageHeight === "undefined") { params.imageHeight = "80px"; }
|
||||||
if (typeof params.imageUrl === "undefined" && typeof params.imageFA === "undefined") {
|
if (typeof params.imageUrl === "undefined" && typeof params.imageFA === "undefined") {
|
||||||
params.imageUrl = null;
|
params.imageUrl = null;
|
||||||
image = "";
|
|
||||||
} else if (typeof params.imageFA === "undefined"){
|
} else if (typeof params.imageFA === "undefined"){
|
||||||
image = "<img src='" + (params.imageUrl).toString() + "' height='" + (params.imageHeight).toString() + "' style='margin-bottom: 10px;'/><br />";
|
image = "<img src='" + (params.imageUrl).toString() + "' height='" + (params.imageHeight).toString() + "' style='margin-bottom: 10px;'/><br />";
|
||||||
} else if (typeof params.imageUrl === "undefined"){
|
} else if (typeof params.imageUrl === "undefined"){
|
||||||
image = "<span class='bright " + "fa fa-" + params.imageFA + "' style='margin-bottom: 10px;font-size:" + (params.imageHeight).toString() + ";'/></span><br />";
|
image = "<span class='bright " + "fa fa-" + params.imageFA + "' style='margin-bottom: 10px;font-size:" + (params.imageHeight).toString() + ";'/></span><br />";
|
||||||
}
|
}
|
||||||
//Create overlay
|
//Create overlay
|
||||||
var overlay = document.createElement("div");
|
const overlay = document.createElement("div");
|
||||||
overlay.id = "overlay";
|
overlay.id = "overlay";
|
||||||
overlay.innerHTML += "<div class=\"black_overlay\"></div>";
|
overlay.innerHTML += "<div class=\"black_overlay\"></div>";
|
||||||
document.body.insertBefore(overlay, document.body.firstChild);
|
document.body.insertBefore(overlay, document.body.firstChild);
|
||||||
@@ -79,7 +78,7 @@ Module.register("alert",{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Display title and message only if they are provided in notification parameters
|
//Display title and message only if they are provided in notification parameters
|
||||||
var message = "";
|
let message = "";
|
||||||
if (params.title) {
|
if (params.title) {
|
||||||
message += "<span class='light dimmed medium'>" + params.title + "</span>";
|
message += "<span class='light dimmed medium'>" + params.title + "</span>";
|
||||||
}
|
}
|
||||||
@@ -102,8 +101,8 @@ Module.register("alert",{
|
|||||||
this.alerts[sender.name].show();
|
this.alerts[sender.name].show();
|
||||||
//Add timer to dismiss alert and overlay
|
//Add timer to dismiss alert and overlay
|
||||||
if (params.timer) {
|
if (params.timer) {
|
||||||
setTimeout(function() {
|
setTimeout(() => {
|
||||||
self.hide_alert(sender);
|
this.hide_alert(sender);
|
||||||
}, params.timer);
|
}, params.timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,13 +113,13 @@ Module.register("alert",{
|
|||||||
this.alerts[sender.name].dismiss();
|
this.alerts[sender.name].dismiss();
|
||||||
this.alerts[sender.name] = null;
|
this.alerts[sender.name] = null;
|
||||||
//Remove overlay
|
//Remove overlay
|
||||||
var overlay = document.getElementById("overlay");
|
const overlay = document.getElementById("overlay");
|
||||||
overlay.parentNode.removeChild(overlay);
|
overlay.parentNode.removeChild(overlay);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setPosition: function(pos) {
|
setPosition: function(pos) {
|
||||||
//Add css to body depending on the set position for notifications
|
//Add css to body depending on the set position for notifications
|
||||||
var sheet = document.createElement("style");
|
const sheet = document.createElement("style");
|
||||||
if (pos === "center") {sheet.innerHTML = ".ns-box {margin-left: auto; margin-right: auto;text-align: center;}";}
|
if (pos === "center") {sheet.innerHTML = ".ns-box {margin-left: auto; margin-right: auto;text-align: center;}";}
|
||||||
if (pos === "right") {sheet.innerHTML = ".ns-box {margin-left: auto;text-align: right;}";}
|
if (pos === "right") {sheet.innerHTML = ".ns-box {margin-left: auto;text-align: right;}";}
|
||||||
if (pos === "left") {sheet.innerHTML = ".ns-box {margin-right: auto;text-align: left;}";}
|
if (pos === "left") {sheet.innerHTML = ".ns-box {margin-right: auto;text-align: left;}";}
|
||||||
|
@@ -1,79 +0,0 @@
|
|||||||
/*!
|
|
||||||
* classie - class helper functions
|
|
||||||
* from bonzo https://github.com/ded/bonzo
|
|
||||||
*
|
|
||||||
* classie.has( elem, 'my-class' ) -> true/false
|
|
||||||
* classie.add( elem, 'my-new-class' )
|
|
||||||
* classie.remove( elem, 'my-unwanted-class' )
|
|
||||||
* classie.toggle( elem, 'my-class' )
|
|
||||||
*/
|
|
||||||
// jscs:disable
|
|
||||||
/*jshint browser: true, strict: true, undef: true */
|
|
||||||
/*global define: false */
|
|
||||||
|
|
||||||
(function(window) {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
// class helper functions from bonzo https://github.com/ded/bonzo
|
|
||||||
|
|
||||||
function classReg(className) {
|
|
||||||
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
|
|
||||||
}
|
|
||||||
|
|
||||||
// classList support for class management
|
|
||||||
// altho to be fair, the api sucks because it won't accept multiple classes at once
|
|
||||||
var hasClass, addClass, removeClass;
|
|
||||||
|
|
||||||
if ("classList" in document.documentElement) {
|
|
||||||
hasClass = function(elem, c) {
|
|
||||||
return elem.classList.contains(c);
|
|
||||||
};
|
|
||||||
addClass = function(elem, c) {
|
|
||||||
elem.classList.add(c);
|
|
||||||
};
|
|
||||||
removeClass = function(elem, c) {
|
|
||||||
elem.classList.remove(c);
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
hasClass = function(elem, c) {
|
|
||||||
return classReg(c).test(elem.className);
|
|
||||||
};
|
|
||||||
addClass = function(elem, c) {
|
|
||||||
if (!hasClass(elem, c)) {
|
|
||||||
elem.className = elem.className + " " + c;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
removeClass = function(elem, c) {
|
|
||||||
elem.className = elem.className.replace(classReg(c), " ");
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleClass(elem, c) {
|
|
||||||
var fn = hasClass(elem, c) ? removeClass : addClass;
|
|
||||||
fn(elem, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
var classie = {
|
|
||||||
// full names
|
|
||||||
hasClass: hasClass,
|
|
||||||
addClass: addClass,
|
|
||||||
removeClass: removeClass,
|
|
||||||
toggleClass: toggleClass,
|
|
||||||
// short names
|
|
||||||
has: hasClass,
|
|
||||||
add: addClass,
|
|
||||||
remove: removeClass,
|
|
||||||
toggle: toggleClass
|
|
||||||
};
|
|
||||||
|
|
||||||
// transport
|
|
||||||
if (typeof define === "function" && define.amd) {
|
|
||||||
// AMD
|
|
||||||
define(classie);
|
|
||||||
} else {
|
|
||||||
// browser global
|
|
||||||
window.classie = classie;
|
|
||||||
}
|
|
||||||
|
|
||||||
})(window);
|
|
File diff suppressed because one or more lines are too long
930
modules/default/alert/notificationFx.css
Normal file
930
modules/default/alert/notificationFx.css
Normal file
@@ -0,0 +1,930 @@
|
|||||||
|
/* Based on work by http://tympanus.net/codrops/licensing/ */
|
||||||
|
|
||||||
|
.ns-box {
|
||||||
|
background-color: rgba(0, 0, 0, 0.93);
|
||||||
|
padding: 17px;
|
||||||
|
line-height: 1.4;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
z-index: 1;
|
||||||
|
color: black;
|
||||||
|
font-size: 70%;
|
||||||
|
position: relative;
|
||||||
|
display: table;
|
||||||
|
word-wrap: break-word;
|
||||||
|
max-width: 100%;
|
||||||
|
border-width: 1px;
|
||||||
|
border-radius: 5px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-alert {
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #fff;
|
||||||
|
padding: 17px;
|
||||||
|
line-height: 1.4;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
z-index: 3;
|
||||||
|
color: white;
|
||||||
|
font-size: 70%;
|
||||||
|
position: fixed;
|
||||||
|
text-align: center;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
top: 40%;
|
||||||
|
width: 40%;
|
||||||
|
height: auto;
|
||||||
|
word-wrap: break-word;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.black_overlay {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 2;
|
||||||
|
background-color: rgba(0, 0, 0, 0.93);
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
[class^="ns-effect-"].ns-growl.ns-hide,
|
||||||
|
[class*=" ns-effect-"].ns-growl.ns-hide {
|
||||||
|
animation-direction: reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-flip {
|
||||||
|
transform-origin: 50% 100%;
|
||||||
|
backface-visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-flip.ns-show,
|
||||||
|
.ns-effect-flip.ns-hide {
|
||||||
|
animation-name: animFlipFront;
|
||||||
|
animation-duration: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-flip.ns-hide {
|
||||||
|
animation-name: animFlipBack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animFlipFront {
|
||||||
|
0% {
|
||||||
|
transform: perspective(1000px) rotate3d(1, 0, 0, -90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: perspective(1000px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animFlipBack {
|
||||||
|
0% {
|
||||||
|
transform: perspective(1000px) rotate3d(1, 0, 0, 90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: perspective(1000px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-bouncyflip.ns-show,
|
||||||
|
.ns-effect-bouncyflip.ns-hide {
|
||||||
|
animation-name: flipInX;
|
||||||
|
animation-duration: 0.8s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flipInX {
|
||||||
|
0% {
|
||||||
|
transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
|
||||||
|
transition-timing-function: ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
transform: perspective(400px) rotate3d(1, 0, 0, 20deg);
|
||||||
|
transition-timing-function: ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
60% {
|
||||||
|
transform: perspective(400px) rotate3d(1, 0, 0, -10deg);
|
||||||
|
transition-timing-function: ease-in;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
80% {
|
||||||
|
transform: perspective(400px) rotate3d(1, 0, 0, 5deg);
|
||||||
|
transition-timing-function: ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: perspective(400px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-bouncyflip.ns-hide {
|
||||||
|
animation-name: flipInXSimple;
|
||||||
|
animation-duration: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flipInXSimple {
|
||||||
|
0% {
|
||||||
|
transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
|
||||||
|
transition-timing-function: ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: perspective(400px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader {
|
||||||
|
transform-origin: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader p {
|
||||||
|
padding: 0.25em 2em 0.25em 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader.ns-show {
|
||||||
|
animation-name: animLoad;
|
||||||
|
animation-duration: 1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animLoad {
|
||||||
|
0% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale3d(0, 0.3, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale3d(1, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader.ns-hide {
|
||||||
|
animation-name: animFade;
|
||||||
|
animation-duration: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader.ns-show .ns-box-inner,
|
||||||
|
.ns-effect-exploader.ns-show .ns-close {
|
||||||
|
animation-fill-mode: both;
|
||||||
|
animation-duration: 0.3s;
|
||||||
|
animation-delay: 0.6s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader.ns-show .ns-close {
|
||||||
|
animation-name: animFade;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-exploader.ns-show .ns-box-inner {
|
||||||
|
animation-name: animFadeMove;
|
||||||
|
animation-timing-function: ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animFadeMove {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translate3d(0, 10px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animFade {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-scale.ns-show,
|
||||||
|
.ns-effect-scale.ns-hide {
|
||||||
|
animation-name: animScale;
|
||||||
|
animation-duration: 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animScale {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translate3d(0, 40px, 0) scale3d(0.1, 0.6, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-jelly.ns-show {
|
||||||
|
animation-name: animJelly;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-jelly.ns-hide {
|
||||||
|
animation-name: animFade;
|
||||||
|
animation-duration: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animFade {
|
||||||
|
0% { opacity: 0; }
|
||||||
|
100% { opacity: 1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animJelly {
|
||||||
|
0% {
|
||||||
|
transform: matrix3d(0.7, 0, 0, 0, 0, 0.7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
2.083333% {
|
||||||
|
transform: matrix3d(0.75266, 0, 0, 0, 0, 0.76342, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
4.166667% {
|
||||||
|
transform: matrix3d(0.81071, 0, 0, 0, 0, 0.84545, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
6.25% {
|
||||||
|
transform: matrix3d(0.86808, 0, 0, 0, 0, 0.9286, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
8.333333% {
|
||||||
|
transform: matrix3d(0.92038, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
10.416667% {
|
||||||
|
transform: matrix3d(0.96482, 0, 0, 0, 0, 1.05202, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
12.5% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1.08204, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
14.583333% {
|
||||||
|
transform: matrix3d(1.02563, 0, 0, 0, 0, 1.09149, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
16.666667% {
|
||||||
|
transform: matrix3d(1.04227, 0, 0, 0, 0, 1.08453, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
18.75% {
|
||||||
|
transform: matrix3d(1.05102, 0, 0, 0, 0, 1.06666, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
20.833333% {
|
||||||
|
transform: matrix3d(1.05334, 0, 0, 0, 0, 1.04355, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
22.916667% {
|
||||||
|
transform: matrix3d(1.05078, 0, 0, 0, 0, 1.02012, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
25% {
|
||||||
|
transform: matrix3d(1.04487, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
27.083333% {
|
||||||
|
transform: matrix3d(1.03699, 0, 0, 0, 0, 0.98534, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
29.166667% {
|
||||||
|
transform: matrix3d(1.02831, 0, 0, 0, 0, 0.97688, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
31.25% {
|
||||||
|
transform: matrix3d(1.01973, 0, 0, 0, 0, 0.97422, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.333333% {
|
||||||
|
transform: matrix3d(1.01191, 0, 0, 0, 0, 0.97618, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
35.416667% {
|
||||||
|
transform: matrix3d(1.00526, 0, 0, 0, 0, 0.98122, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
37.5% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.98773, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
39.583333% {
|
||||||
|
transform: matrix3d(0.99617, 0, 0, 0, 0, 0.99433, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
41.666667% {
|
||||||
|
transform: matrix3d(0.99368, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
43.75% {
|
||||||
|
transform: matrix3d(0.99237, 0, 0, 0, 0, 1.00413, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
45.833333% {
|
||||||
|
transform: matrix3d(0.99202, 0, 0, 0, 0, 1.00651, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
47.916667% {
|
||||||
|
transform: matrix3d(0.99241, 0, 0, 0, 0, 1.00726, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: matrix3d(0.99329, 0, 0, 0, 0, 1.00671, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
52.083333% {
|
||||||
|
transform: matrix3d(0.99447, 0, 0, 0, 0, 1.00529, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
54.166667% {
|
||||||
|
transform: matrix3d(0.99577, 0, 0, 0, 0, 1.00346, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
56.25% {
|
||||||
|
transform: matrix3d(0.99705, 0, 0, 0, 0, 1.0016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
58.333333% {
|
||||||
|
transform: matrix3d(0.99822, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
60.416667% {
|
||||||
|
transform: matrix3d(0.99921, 0, 0, 0, 0, 0.99884, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
62.5% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.99816, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
64.583333% {
|
||||||
|
transform: matrix3d(1.00057, 0, 0, 0, 0, 0.99795, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.666667% {
|
||||||
|
transform: matrix3d(1.00095, 0, 0, 0, 0, 0.99811, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
68.75% {
|
||||||
|
transform: matrix3d(1.00114, 0, 0, 0, 0, 0.99851, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
70.833333% {
|
||||||
|
transform: matrix3d(1.00119, 0, 0, 0, 0, 0.99903, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
72.916667% {
|
||||||
|
transform: matrix3d(1.00114, 0, 0, 0, 0, 0.99955, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
75% {
|
||||||
|
transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
77.083333% {
|
||||||
|
transform: matrix3d(1.00083, 0, 0, 0, 0, 1.00033, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
79.166667% {
|
||||||
|
transform: matrix3d(1.00063, 0, 0, 0, 0, 1.00052, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
81.25% {
|
||||||
|
transform: matrix3d(1.00044, 0, 0, 0, 0, 1.00058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
83.333333% {
|
||||||
|
transform: matrix3d(1.00027, 0, 0, 0, 0, 1.00053, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
85.416667% {
|
||||||
|
transform: matrix3d(1.00012, 0, 0, 0, 0, 1.00042, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
87.5% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1.00027, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
89.583333% {
|
||||||
|
transform: matrix3d(0.99991, 0, 0, 0, 0, 1.00013, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
91.666667% {
|
||||||
|
transform: matrix3d(0.99986, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
93.75% {
|
||||||
|
transform: matrix3d(0.99983, 0, 0, 0, 0, 0.99991, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
95.833333% {
|
||||||
|
transform: matrix3d(0.99982, 0, 0, 0, 0, 0.99985, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
97.916667% {
|
||||||
|
transform: matrix3d(0.99983, 0, 0, 0, 0, 0.99984, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-slide-left.ns-show {
|
||||||
|
animation-name: animSlideElasticLeft;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animSlideElasticLeft {
|
||||||
|
0% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1000, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
1.666667% {
|
||||||
|
transform: matrix3d(1.92933, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -739.26805, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
3.333333% {
|
||||||
|
transform: matrix3d(1.96989, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -521.82545, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
5% {
|
||||||
|
transform: matrix3d(1.70901, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -349.26115, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
6.666667% {
|
||||||
|
transform: matrix3d(1.4235, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -218.3238, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
8.333333% {
|
||||||
|
transform: matrix3d(1.21065, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -123.29848, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
10% {
|
||||||
|
transform: matrix3d(1.08167, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -57.59273, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
11.666667% {
|
||||||
|
transform: matrix3d(1.0165, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -14.72371, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
13.333333% {
|
||||||
|
transform: matrix3d(0.99057, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.12794, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
15% {
|
||||||
|
transform: matrix3d(0.98478, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 24.86339, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
16.666667% {
|
||||||
|
transform: matrix3d(0.98719, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 30.40503, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
18.333333% {
|
||||||
|
transform: matrix3d(0.9916, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 30.75275, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
20% {
|
||||||
|
transform: matrix3d(0.99541, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 28.10141, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
21.666667% {
|
||||||
|
transform: matrix3d(0.99795, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 23.98271, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
23.333333% {
|
||||||
|
transform: matrix3d(0.99936, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 19.40752, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
25% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 14.99558, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
26.666667% {
|
||||||
|
transform: matrix3d(1.00021, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.08575, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
28.333333% {
|
||||||
|
transform: matrix3d(1.00022, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.82507, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
30% {
|
||||||
|
transform: matrix3d(1.00016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.23737, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
31.666667% {
|
||||||
|
transform: matrix3d(1.0001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.27389, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.333333% {
|
||||||
|
transform: matrix3d(1.00005, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.84893, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
35% {
|
||||||
|
transform: matrix3d(1.00002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.86364, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
36.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.22079, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
38.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.16687, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.37284, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
41.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.45594, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
43.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.46116, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
45% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4214, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
46.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.35963, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
48.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.29103, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.22487, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
51.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.16624, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
53.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.11734, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
55% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.07854, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
56.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.04909, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
58.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.02773, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
60% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.01295, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
61.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00331, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
63.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.0025, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
65% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00559, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00684, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
68.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00692, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
70% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00632, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
71.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00539, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
73.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00436, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
75% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00337, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
76.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00249, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
78.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00176, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
80% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00118, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
81.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00074, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
83.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00042, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
85% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00019, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
86.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00005, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
88.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00004, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
90% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00008, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
91.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0001, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
93.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0001, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
95% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00009, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
96.666667% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00008, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
98.333333% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00007, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-slide-left.ns-hide {
|
||||||
|
animation-name: animSlideLeft;
|
||||||
|
animation-duration: 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animSlideLeft {
|
||||||
|
0% {
|
||||||
|
transform: translate3d(-30px, 0, 0) translate3d(-100%, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-slide-right.ns-show {
|
||||||
|
animation: animSlideElasticRight 2000ms linear both;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animSlideElasticRight {
|
||||||
|
0% {
|
||||||
|
transform: matrix3d(2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1000, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
2.15% {
|
||||||
|
transform: matrix3d(1.486, 0, 0, 0, 0, 0.514, 0, 0, 0, 0, 1, 0, 664.594, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
4.1% {
|
||||||
|
-webkit-transform: matrix3d(1.147, 0, 0, 0, 0, 0.853, 0, 0, 0, 0, 1, 0, 419.708, 0, 0, 1);
|
||||||
|
transform: matrix3d(1.147, 0, 0, 0, 0, 0.853, 0, 0, 0, 0, 1, 0, 419.708, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
4.3% {
|
||||||
|
transform: matrix3d(1.121, 0, 0, 0, 0, 0.879, 0, 0, 0, 0, 1, 0, 398.136, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
6.46% {
|
||||||
|
transform: matrix3d(0.948, 0, 0, 0, 0, 1.052, 0, 0, 0, 0, 1, 0, 206.714, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
8.11% {
|
||||||
|
transform: matrix3d(0.908, 0, 0, 0, 0, 1.092, 0, 0, 0, 0, 1, 0, 105.491, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
8.61% {
|
||||||
|
transform: matrix3d(0.907, 0, 0, 0, 0, 1.093, 0, 0, 0, 0, 1, 0, 81.572, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
12.11% {
|
||||||
|
transform: matrix3d(0.95, 0, 0, 0, 0, 1.05, 0, 0, 0, 0, 1, 0, -18.434, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
14.16% {
|
||||||
|
transform: matrix3d(0.979, 0, 0, 0, 0, 1.021, 0, 0, 0, 0, 1, 0, -38.734, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
16.12% {
|
||||||
|
transform: matrix3d(0.997, 0, 0, 0, 0, 1.003, 0, 0, 0, 0, 1, 0, -43.356, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
19.72% {
|
||||||
|
transform: matrix3d(1.006, 0, 0, 0, 0, 0.994, 0, 0, 0, 0, 1, 0, -34.155, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
27.23% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.839, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
30.83% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.951, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
38.34% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.037, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
41.99% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.812, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.159, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
60.56% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.025, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
82.78% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.001, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-slide-right.ns-hide {
|
||||||
|
animation-name: animSlideRight;
|
||||||
|
animation-duration: 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animSlideRight {
|
||||||
|
0% {
|
||||||
|
transform: translate3d(30px, 0, 0) translate3d(100%, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-slide-center.ns-show {
|
||||||
|
animation: animSlideElasticCenter 2000ms linear both;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animSlideElasticCenter {
|
||||||
|
0% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 0, 0, -300, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
2.15% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1.971, 0, 0, 0, 0, 1, 0, 0, -199.378, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
4.1% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1.294, 0, 0, 0, 0, 1, 0, 0, -125.912, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
4.3% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1.243, 0, 0, 0, 0, 1, 0, 0, -119.441, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
6.46% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.895, 0, 0, 0, 0, 1, 0, 0, -62.014, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
8.11% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.817, 0, 0, 0, 0, 1, 0, 0, -31.647, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
8.61% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.813, 0, 0, 0, 0, 1, 0, 0, -24.472, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
12.11% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 1, 0, 0, 5.53, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
14.16% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.959, 0, 0, 0, 0, 1, 0, 0, 11.62, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
16.12% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.994, 0, 0, 0, 0, 1, 0, 0, 13.007, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
19.72% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1.012, 0, 0, 0, 0, 1, 0, 0, 10.247, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
27.23% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2.352, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
30.83% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0.585, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
38.34% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.311, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
41.99% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.244, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.048, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
60.56% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0.007, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
82.78% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-slide-center.ns-hide {
|
||||||
|
animation-name: animSlideCenter;
|
||||||
|
animation-duration: 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animSlideCenter {
|
||||||
|
0% {
|
||||||
|
transform: translate3d(0, -30px, 0) translate3d(0, -100%, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ns-effect-genie.ns-show,
|
||||||
|
.ns-effect-genie.ns-hide {
|
||||||
|
animation-name: animGenie;
|
||||||
|
animation-duration: 0.4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animGenie {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translate3d(0, calc(200% + 30px), 0) scale3d(0, 1, 1);
|
||||||
|
animation-timing-function: ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
opacity: 0.5;
|
||||||
|
transform: translate3d(0, 0, 0) scale3d(0.02, 1.1, 1);
|
||||||
|
animation-timing-function: ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
70% {
|
||||||
|
opacity: 0.6;
|
||||||
|
transform: translate3d(0, -40px, 0) scale3d(0.8, 1.1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
@@ -1,4 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
|
* Based on work by
|
||||||
|
*
|
||||||
* notificationFx.js v1.0.0
|
* notificationFx.js v1.0.0
|
||||||
* http://www.codrops.com
|
* http://www.codrops.com
|
||||||
*
|
*
|
||||||
@@ -8,27 +10,13 @@
|
|||||||
* Copyright 2014, Codrops
|
* Copyright 2014, Codrops
|
||||||
* http://www.codrops.com
|
* http://www.codrops.com
|
||||||
*/
|
*/
|
||||||
// jscs:disable
|
|
||||||
;(function(window) {
|
;(function(window) {
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var docElem = window.document.documentElement,
|
|
||||||
support = {animations: Modernizr.cssanimations},
|
|
||||||
animEndEventNames = {
|
|
||||||
"WebkitAnimation": "webkitAnimationEnd",
|
|
||||||
"OAnimation": "oAnimationEnd",
|
|
||||||
"msAnimation": "MSAnimationEnd",
|
|
||||||
"animation": "animationend"
|
|
||||||
},
|
|
||||||
// animation end event name
|
|
||||||
animEndEventName = animEndEventNames[ Modernizr.prefixed("animation") ];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* extend obj function
|
* extend obj function
|
||||||
*/
|
*/
|
||||||
function extend(a, b) {
|
function extend(a, b) {
|
||||||
for (var key in b) {
|
for (let key in b) {
|
||||||
if (b.hasOwnProperty(key)) {
|
if (b.hasOwnProperty(key)) {
|
||||||
a[key] = b[key];
|
a[key] = b[key];
|
||||||
}
|
}
|
||||||
@@ -81,8 +69,8 @@
|
|||||||
NotificationFx.prototype._init = function() {
|
NotificationFx.prototype._init = function() {
|
||||||
// create HTML structure
|
// create HTML structure
|
||||||
this.ntf = document.createElement("div");
|
this.ntf = document.createElement("div");
|
||||||
this.ntf.className = this.options.al_no + " ns-" + this.options.layout + " ns-effect-" + this.options.effect + " ns-type-" + this.options.type;
|
this.ntf.className = this.options.al_no + " ns-" + this.options.layout + " ns-effect-" + this.options.effect + " ns-type-" + this.options.type;
|
||||||
var strinner = "<div class=\"ns-box-inner\">";
|
let strinner = "<div class=\"ns-box-inner\">";
|
||||||
strinner += this.options.message;
|
strinner += this.options.message;
|
||||||
strinner += "</div>";
|
strinner += "</div>";
|
||||||
this.ntf.innerHTML = strinner;
|
this.ntf.innerHTML = strinner;
|
||||||
@@ -91,13 +79,12 @@
|
|||||||
this.options.wrapper.insertBefore(this.ntf, this.options.wrapper.nextSibling);
|
this.options.wrapper.insertBefore(this.ntf, this.options.wrapper.nextSibling);
|
||||||
|
|
||||||
// dismiss after [options.ttl]ms
|
// dismiss after [options.ttl]ms
|
||||||
var self = this;
|
|
||||||
if (this.options.ttl) {
|
if (this.options.ttl) {
|
||||||
this.dismissttl = setTimeout(function() {
|
this.dismissttl = setTimeout(() => {
|
||||||
if (self.active) {
|
if (this.active) {
|
||||||
self.dismiss();
|
this.dismiss();
|
||||||
}
|
}
|
||||||
}, this.options.ttl);
|
}, this.options.ttl);
|
||||||
}
|
}
|
||||||
|
|
||||||
// init events
|
// init events
|
||||||
@@ -108,9 +95,8 @@
|
|||||||
* init events
|
* init events
|
||||||
*/
|
*/
|
||||||
NotificationFx.prototype._initEvents = function() {
|
NotificationFx.prototype._initEvents = function() {
|
||||||
var self = this;
|
|
||||||
// dismiss notification by tapping on it if someone has a touchscreen
|
// dismiss notification by tapping on it if someone has a touchscreen
|
||||||
this.ntf.querySelector(".ns-box-inner").addEventListener("click", function() { self.dismiss(); });
|
this.ntf.querySelector(".ns-box-inner").addEventListener("click", () => { this.dismiss(); });
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -118,8 +104,8 @@
|
|||||||
*/
|
*/
|
||||||
NotificationFx.prototype.show = function() {
|
NotificationFx.prototype.show = function() {
|
||||||
this.active = true;
|
this.active = true;
|
||||||
classie.remove(this.ntf, "ns-hide");
|
this.ntf.classList.remove("ns-hide");
|
||||||
classie.add(this.ntf, "ns-show");
|
this.ntf.classList.add("ns-show");
|
||||||
this.options.onOpen();
|
this.options.onOpen();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -127,34 +113,27 @@
|
|||||||
* dismiss the notification
|
* dismiss the notification
|
||||||
*/
|
*/
|
||||||
NotificationFx.prototype.dismiss = function() {
|
NotificationFx.prototype.dismiss = function() {
|
||||||
var self = this;
|
|
||||||
this.active = false;
|
this.active = false;
|
||||||
clearTimeout(this.dismissttl);
|
clearTimeout(this.dismissttl);
|
||||||
classie.remove(this.ntf, "ns-show");
|
this.ntf.classList.remove("ns-show");
|
||||||
setTimeout(function() {
|
setTimeout(() => {
|
||||||
classie.add(self.ntf, "ns-hide");
|
this.ntf.classList.add("ns-hide");
|
||||||
|
|
||||||
// callback
|
// callback
|
||||||
self.options.onClose();
|
this.options.onClose();
|
||||||
}, 25);
|
}, 25);
|
||||||
|
|
||||||
// after animation ends remove ntf from the DOM
|
// after animation ends remove ntf from the DOM
|
||||||
var onEndAnimationFn = function(ev) {
|
const onEndAnimationFn = (ev) => {
|
||||||
if (support.animations) {
|
if (ev.target !== this.ntf) {return false;}
|
||||||
if (ev.target !== self.ntf) return false;
|
this.ntf.removeEventListener("animationend", onEndAnimationFn);
|
||||||
this.removeEventListener(animEndEventName, onEndAnimationFn);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.parentNode === self.options.wrapper) {
|
if (ev.target.parentNode === this.options.wrapper) {
|
||||||
self.options.wrapper.removeChild(this);
|
this.options.wrapper.removeChild(this.ntf);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (support.animations) {
|
this.ntf.addEventListener("animationend", onEndAnimationFn);
|
||||||
this.ntf.addEventListener(animEndEventName, onEndAnimationFn);
|
|
||||||
} else {
|
|
||||||
onEndAnimationFn();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -16,8 +16,8 @@ WeatherProvider.register("darksky", {
|
|||||||
providerName: "Dark Sky",
|
providerName: "Dark Sky",
|
||||||
|
|
||||||
units: {
|
units: {
|
||||||
imperial: 'us',
|
imperial: "us",
|
||||||
metric: 'si'
|
metric: "si"
|
||||||
},
|
},
|
||||||
|
|
||||||
fetchCurrentWeather() {
|
fetchCurrentWeather() {
|
||||||
@@ -33,7 +33,7 @@ WeatherProvider.register("darksky", {
|
|||||||
}).catch(function(request) {
|
}).catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
fetchWeatherForecast() {
|
fetchWeatherForecast() {
|
||||||
@@ -49,7 +49,7 @@ WeatherProvider.register("darksky", {
|
|||||||
}).catch(function(request) {
|
}).catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
// Create a URL from the config and base URL.
|
// Create a URL from the config and base URL.
|
||||||
|
@@ -34,7 +34,7 @@ WeatherProvider.register("openweathermap", {
|
|||||||
.catch(function(request) {
|
.catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
// Overwrite the fetchCurrentWeather method.
|
// Overwrite the fetchCurrentWeather method.
|
||||||
@@ -55,7 +55,7 @@ WeatherProvider.register("openweathermap", {
|
|||||||
.catch(function(request) {
|
.catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
/** OpenWeatherMap Specific Methods - These are not part of the default provider methods */
|
/** OpenWeatherMap Specific Methods - These are not part of the default provider methods */
|
||||||
@@ -223,7 +223,7 @@ WeatherProvider.register("openweathermap", {
|
|||||||
days.push(weather);
|
days.push(weather);
|
||||||
}
|
}
|
||||||
|
|
||||||
return days;
|
return days;
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
* This class is a provider for UK Met Office Datapoint.
|
* This class is a provider for UK Met Office Datapoint.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
WeatherProvider.register("ukmetoffice", {
|
WeatherProvider.register("ukmetoffice", {
|
||||||
|
|
||||||
// Set the name of the provider.
|
// Set the name of the provider.
|
||||||
@@ -41,7 +40,7 @@ WeatherProvider.register("ukmetoffice", {
|
|||||||
.catch(function(request) {
|
.catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
// Overwrite the fetchCurrentWeather method.
|
// Overwrite the fetchCurrentWeather method.
|
||||||
@@ -63,11 +62,9 @@ WeatherProvider.register("ukmetoffice", {
|
|||||||
.catch(function(request) {
|
.catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** UK Met Office Specific Methods - These are not part of the default provider methods */
|
/** UK Met Office Specific Methods - These are not part of the default provider methods */
|
||||||
/*
|
/*
|
||||||
* Gets the complete url for the request
|
* Gets the complete url for the request
|
||||||
@@ -83,13 +80,13 @@ WeatherProvider.register("ukmetoffice", {
|
|||||||
const currentWeather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
const currentWeather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
||||||
|
|
||||||
// data times are always UTC
|
// data times are always UTC
|
||||||
let nowUtc = moment.utc()
|
let nowUtc = moment.utc();
|
||||||
let midnightUtc = nowUtc.clone().startOf("day")
|
let midnightUtc = nowUtc.clone().startOf("day");
|
||||||
let timeInMins = nowUtc.diff(midnightUtc, "minutes");
|
let timeInMins = nowUtc.diff(midnightUtc, "minutes");
|
||||||
|
|
||||||
// loop round each of the (5) periods, look for today (the first period may be yesterday)
|
// loop round each of the (5) periods, look for today (the first period may be yesterday)
|
||||||
for (i in currentWeatherData.SiteRep.DV.Location.Period) {
|
for (i in currentWeatherData.SiteRep.DV.Location.Period) {
|
||||||
let periodDate = moment.utc(currentWeatherData.SiteRep.DV.Location.Period[i].value.substr(0,10), "YYYY-MM-DD")
|
let periodDate = moment.utc(currentWeatherData.SiteRep.DV.Location.Period[i].value.substr(0,10), "YYYY-MM-DD");
|
||||||
|
|
||||||
// ignore if period is before today
|
// ignore if period is before today
|
||||||
if (periodDate.isSameOrAfter(moment.utc().startOf("day"))) {
|
if (periodDate.isSameOrAfter(moment.utc().startOf("day"))) {
|
||||||
@@ -116,7 +113,7 @@ WeatherProvider.register("ukmetoffice", {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// determine the sunrise/sunset times - not supplied in UK Met Office data
|
// determine the sunrise/sunset times - not supplied in UK Met Office data
|
||||||
let times = this.calcAstroData(currentWeatherData.SiteRep.DV.Location)
|
let times = this.calcAstroData(currentWeatherData.SiteRep.DV.Location);
|
||||||
currentWeather.sunrise = times[0];
|
currentWeather.sunrise = times[0];
|
||||||
currentWeather.sunset = times[1];
|
currentWeather.sunset = times[1];
|
||||||
|
|
||||||
@@ -136,8 +133,8 @@ WeatherProvider.register("ukmetoffice", {
|
|||||||
const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
||||||
|
|
||||||
// data times are always UTC
|
// data times are always UTC
|
||||||
dateStr = forecasts.SiteRep.DV.Location.Period[j].value
|
dateStr = forecasts.SiteRep.DV.Location.Period[j].value;
|
||||||
let periodDate = moment.utc(dateStr.substr(0,10), "YYYY-MM-DD")
|
let periodDate = moment.utc(dateStr.substr(0,10), "YYYY-MM-DD");
|
||||||
|
|
||||||
// ignore if period is before today
|
// ignore if period is before today
|
||||||
if (periodDate.isSameOrAfter(moment.utc().startOf("day"))) {
|
if (periodDate.isSameOrAfter(moment.utc().startOf("day"))) {
|
||||||
|
@@ -35,7 +35,7 @@ WeatherProvider.register("weathergov", {
|
|||||||
.catch(function(request) {
|
.catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
// Overwrite the fetchCurrentWeather method.
|
// Overwrite the fetchCurrentWeather method.
|
||||||
@@ -54,7 +54,7 @@ WeatherProvider.register("weathergov", {
|
|||||||
.catch(function(request) {
|
.catch(function(request) {
|
||||||
Log.error("Could not load data ... ", request);
|
Log.error("Could not load data ... ", request);
|
||||||
})
|
})
|
||||||
.finally(() => this.updateAvailable())
|
.finally(() => this.updateAvailable());
|
||||||
},
|
},
|
||||||
|
|
||||||
/** Weather.gov Specific Methods - These are not part of the default provider methods */
|
/** Weather.gov Specific Methods - These are not part of the default provider methods */
|
||||||
@@ -77,7 +77,7 @@ WeatherProvider.register("weathergov", {
|
|||||||
currentWeather.weatherType = this.convertWeatherType(currentWeatherData.shortForecast, currentWeatherData.isDaytime);
|
currentWeather.weatherType = this.convertWeatherType(currentWeatherData.shortForecast, currentWeatherData.isDaytime);
|
||||||
|
|
||||||
// determine the sunrise/sunset times - not supplied in weather.gov data
|
// determine the sunrise/sunset times - not supplied in weather.gov data
|
||||||
let times = this.calcAstroData(this.config.lat, this.config.lon)
|
let times = this.calcAstroData(this.config.lat, this.config.lon);
|
||||||
currentWeather.sunrise = times[0];
|
currentWeather.sunrise = times[0];
|
||||||
currentWeather.sunset = times[1];
|
currentWeather.sunset = times[1];
|
||||||
|
|
||||||
|
93
package-lock.json
generated
93
package-lock.json
generated
@@ -55,12 +55,6 @@
|
|||||||
"minimist": "^1.2.5"
|
"minimist": "^1.2.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimist": {
|
|
||||||
"version": "1.2.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
|
||||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"source-map": {
|
"source-map": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.7",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||||
@@ -382,9 +376,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@stylelint/postcss-css-in-js": {
|
"@stylelint/postcss-css-in-js": {
|
||||||
"version": "0.37.0",
|
"version": "0.37.1",
|
||||||
"resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.0.tgz",
|
"resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz",
|
||||||
"integrity": "sha512-9svhg0rpUOo4xkvnllUzM0ZQF/Iwxhi6Bf1rzOA06fDa+fjnBUb2mvEV1c9nJb14g1XD/HMSmvklaVyCo96x6A==",
|
"integrity": "sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": ">=7.9.0"
|
"@babel/core": ">=7.9.0"
|
||||||
@@ -1009,9 +1003,9 @@
|
|||||||
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
|
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
|
||||||
},
|
},
|
||||||
"caniuse-lite": {
|
"caniuse-lite": {
|
||||||
"version": "1.0.30001040",
|
"version": "1.0.30001043",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001040.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001043.tgz",
|
||||||
"integrity": "sha512-Ep0tEPeI5wCvmJNrXjE3etgfI+lkl1fTDU6Y3ZH1mhrjkPlVI9W4pcKbMo+BQLpEWKVYYp2EmYaRsqpPC3k7lQ==",
|
"integrity": "sha512-MrBDRPJPDBYwACtSQvxg9+fkna5jPXhJlKmuxenl/ml9uf8LHKlDmLpElu+zTW/bEz7lC1m0wTDD7jiIB+hgFg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"caseless": {
|
"caseless": {
|
||||||
@@ -1878,9 +1872,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.3.402",
|
"version": "1.3.413",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.402.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.413.tgz",
|
||||||
"integrity": "sha512-gaCDfX7IUH0s3JmBiHCDPrvVcdnTTP1r4WLJc2dHkYYbLmXZ2XHiJCcGQ9Balf91aKTvuCKCyu2JjJYRykoI1w==",
|
"integrity": "sha512-Jm1Rrd3siqYHO3jftZwDljL2LYQafj3Kki5r+udqE58d0i91SkjItVJ5RwlJn9yko8i7MOcoidVKjQlgSdd1hg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"emoji-regex": {
|
"emoji-regex": {
|
||||||
@@ -2852,14 +2846,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "^1.2.5"
|
"minimist": "^1.2.5"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"minimist": {
|
|
||||||
"version": "1.2.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
|
||||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"graceful-fs": {
|
"graceful-fs": {
|
||||||
@@ -4181,9 +4167,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"markdownlint": {
|
"markdownlint": {
|
||||||
"version": "0.19.0",
|
"version": "0.20.1",
|
||||||
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.20.1.tgz",
|
||||||
"integrity": "sha512-+MsWOnYVUH4klcKM7iRx5cno9FQMDAb6FC6mWlZkeXPwIaK6Z5Vd9VkXkykPidRqmLHU2wI+MNyfUMnUCBw3pQ==",
|
"integrity": "sha512-jq1qt0QkzY6AiN6O3tq+8SmUlvKfhx9GRKBn/IWEuN6RM5xBZG47rfW9Fn0eRvuozf5Xc59dRaLUZEO0XiyGOg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"markdown-it": "10.0.0"
|
"markdown-it": "10.0.0"
|
||||||
@@ -4250,6 +4236,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
|
||||||
"integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
|
"integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
|
},
|
||||||
|
"markdownlint": {
|
||||||
|
"version": "0.19.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.19.0.tgz",
|
||||||
|
"integrity": "sha512-+MsWOnYVUH4klcKM7iRx5cno9FQMDAb6FC6mWlZkeXPwIaK6Z5Vd9VkXkykPidRqmLHU2wI+MNyfUMnUCBw3pQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"markdown-it": "10.0.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -4764,6 +4759,21 @@
|
|||||||
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
|
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"mkdirp": {
|
||||||
|
"version": "0.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||||
|
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"minimist": "0.0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"mocha": {
|
"mocha": {
|
||||||
"version": "5.2.0",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
|
||||||
@@ -4779,6 +4789,7 @@
|
|||||||
"growl": "1.10.5",
|
"growl": "1.10.5",
|
||||||
"he": "1.1.1",
|
"he": "1.1.1",
|
||||||
"minimatch": "3.0.4",
|
"minimatch": "3.0.4",
|
||||||
|
"mkdirp": "0.5.1",
|
||||||
"supports-color": "5.4.0"
|
"supports-color": "5.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -5826,9 +5837,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"remark-parse": {
|
"remark-parse": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.1.tgz",
|
||||||
"integrity": "sha512-Ck14G1Ns/GEPXhSw6m1Uv28kMtVk63e59NyL+QlhBBwBdIUXROM6MPfBehPhW6TW2d73batMdZsKwuxl5i3tEA==",
|
"integrity": "sha512-Ye/5W57tdQZWsfkuVyRq9SUWRgECHnDsMuyUMzdSKpTbNPkZeGtoYfsrkeSi4+Xyl0mhcPPddHITXPcCPHrl3w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ccount": "^1.0.0",
|
"ccount": "^1.0.0",
|
||||||
@@ -6986,14 +6997,14 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"stylelint": {
|
"stylelint": {
|
||||||
"version": "13.3.1",
|
"version": "13.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.2.tgz",
|
||||||
"integrity": "sha512-jeeGwU7y/0l2YTL042U2U0W04J9JIO6bRpTM4S8npSzaO5GzBz4VFlVlMucFzZXkSylxppEx9R6p+DiDLJcrWw==",
|
"integrity": "sha512-kpO3/Gz2ZY40EWUwFYYkgpzhf8ZDUyKpcui5+pS0XKJBj/EMYmZpOJoL8IFAz2yApYeg91NVy5yAjE39hDzWvQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@stylelint/postcss-css-in-js": "^0.37.0",
|
"@stylelint/postcss-css-in-js": "^0.37.1",
|
||||||
"@stylelint/postcss-markdown": "^0.36.1",
|
"@stylelint/postcss-markdown": "^0.36.1",
|
||||||
"autoprefixer": "^9.7.5",
|
"autoprefixer": "^9.7.6",
|
||||||
"balanced-match": "^1.0.0",
|
"balanced-match": "^1.0.0",
|
||||||
"chalk": "^4.0.0",
|
"chalk": "^4.0.0",
|
||||||
"cosmiconfig": "^6.0.0",
|
"cosmiconfig": "^6.0.0",
|
||||||
@@ -7316,9 +7327,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"yargs-parser": {
|
"yargs-parser": {
|
||||||
"version": "18.1.2",
|
"version": "18.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
|
||||||
"integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==",
|
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"camelcase": "^5.0.0",
|
"camelcase": "^5.0.0",
|
||||||
@@ -8094,12 +8105,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"yaml": {
|
"yaml": {
|
||||||
"version": "1.8.3",
|
"version": "1.9.2",
|
||||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.3.tgz",
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz",
|
||||||
"integrity": "sha512-X/v7VDnK+sxbQ2Imq4Jt2PRUsRsP7UcpSl3Llg6+NRRqWLIvxkMFYtH1FmvwNGYRKKPa+EPA4qDBlI9WVG1UKw==",
|
"integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.8.7"
|
"@babel/runtime": "^7.9.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"yaml-lint": {
|
"yaml-lint": {
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
"config:check": "node js/check_config.js",
|
"config:check": "node js/check_config.js",
|
||||||
"lint": "npm run lint:js && npm run lint:json && npm run lint:markdown && npm run lint:style && npm run lint:yaml",
|
"lint": "npm run lint:js && npm run lint:json && npm run lint:markdown && npm run lint:style && npm run lint:yaml",
|
||||||
"lint:js": "eslint *.js js/**/*.js modules/default/**/*.js clientonly/*.js serveronly/*.js translations/*.js vendor/*.js tests/**/*.js config/* --config .eslintrc.json --fix",
|
"lint:js": "eslint *.js js/**/*.js modules/default/**/*.js clientonly/*.js serveronly/*.js translations/*.js vendor/*.js tests/**/*.js config/* --config .eslintrc.json --fix",
|
||||||
"lint:json": "jsonlint -q package.json .eslintrc.json .markdownlintrc.json .stylelintrc.json modules/default/*/translations/*.json translations/*.json vendor/package.json",
|
"lint:json": "jsonlint -q package.json .eslintrc.json .markdownlintrc.json .stylelintrc.json modules/default/ translations/ vendor/package.json",
|
||||||
"lint:markdown": "markdownlint *.md modules/README.md modules/default/**/*.md --config .markdownlintrc.json",
|
"lint:markdown": "markdownlint *.md modules/README.md modules/default/**/*.md --config .markdownlintrc.json",
|
||||||
"lint:style": "stylelint css/main.css modules/default/**/*.css --config .stylelintrc.json --fix",
|
"lint:style": "stylelint css/main.css modules/default/**/*.css --config .stylelintrc.json --fix",
|
||||||
"lint:yaml": "yamllint .travis.yml"
|
"lint:yaml": "yamllint .travis.yml"
|
||||||
@@ -51,13 +51,13 @@
|
|||||||
"eslint": "^6.8.0",
|
"eslint": "^6.8.0",
|
||||||
"http-auth": "^3.2.3",
|
"http-auth": "^3.2.3",
|
||||||
"jsdom": "^11.6.2",
|
"jsdom": "^11.6.2",
|
||||||
"markdownlint": "^0.19.0",
|
"markdownlint": "^0.20.1",
|
||||||
"markdownlint-cli": "^0.22.0",
|
"markdownlint-cli": "^0.22.0",
|
||||||
"mocha": "^7.0.0",
|
"mocha": "^7.0.0",
|
||||||
"mocha-each": "^1.1.0",
|
"mocha-each": "^1.1.0",
|
||||||
"mocha-logger": "^1.0.6",
|
"mocha-logger": "^1.0.6",
|
||||||
"spectron": "^8.0.0",
|
"spectron": "^8.0.0",
|
||||||
"stylelint": "^13.3.1",
|
"stylelint": "^13.3.2",
|
||||||
"stylelint-config-standard": "^20.0.0",
|
"stylelint-config-standard": "^20.0.0",
|
||||||
"yaml-lint": "^1.2.4"
|
"yaml-lint": "^1.2.4"
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user