1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-14 11:23:42 +02:00
Sonarr/NzbDrone.Web/Scripts/Notification.js

109 lines
3.0 KiB
JavaScript
Raw Normal View History

/// <reference path="jquery-1.5.2-vsdoc.js" />
2011-05-19 06:59:12 +03:00
$(document).ready(function ()
{
2010-10-18 09:06:16 +03:00
var speed = 0;
2011-04-24 08:48:12 +03:00
var isShown = false;
2010-10-18 09:06:16 +03:00
refreshNotifications();
2010-10-12 05:49:27 +03:00
2010-10-18 09:06:16 +03:00
var timer = window.setInterval(function () {
2011-04-24 08:48:12 +03:00
speed = 1000;
2010-10-18 09:06:16 +03:00
refreshNotifications();
}, 2000);
2010-10-12 05:49:27 +03:00
2010-10-18 09:06:16 +03:00
function refreshNotifications() {
$.ajax({
url: '/Notification',
2010-10-18 09:06:16 +03:00
success: notificationCallback
});
}
2010-10-12 05:49:27 +03:00
2010-10-18 09:06:16 +03:00
function notificationCallback(data) {
2010-10-12 05:49:27 +03:00
2010-10-18 09:06:16 +03:00
if (data === "") {
CloseMsg();
2010-10-12 05:49:27 +03:00
}
2010-10-18 09:06:16 +03:00
else {
DisplayMsg(data);
2010-10-12 05:49:27 +03:00
}
2010-10-18 09:06:16 +03:00
}
2010-10-12 05:49:27 +03:00
2010-10-18 09:06:16 +03:00
//SetupNotifications();
//DisplayMsg("Scanning Series Folder.");
2010-10-12 05:49:27 +03:00
2011-04-24 08:48:12 +03:00
2010-10-18 09:06:16 +03:00
function DisplayMsg(sMsg) {
//set the message text
2011-04-24 08:48:12 +03:00
//$("#msgText").text(sMsg);
$("#msgText").showHtml(sMsg, 200);
if (!isShown) {
isShown = true;
if (speed === 0) {
$('#msgBox').show();
}
else {
$('#msgBox').show("slide", { direction: "right" }, speed);
}
}
2010-10-18 09:06:16 +03:00
}
2010-10-12 05:49:27 +03:00
2010-10-18 09:06:16 +03:00
function CloseMsg() {
//hide the message
2011-04-24 08:48:12 +03:00
if (isShown) {
$('#msgBox').hide("slide", { direction: "right" }, speed);
}
isShown = false;
2010-10-18 09:06:16 +03:00
}
});
2010-10-12 05:49:27 +03:00
2011-04-24 08:48:12 +03:00
// Animates the dimensional changes resulting from altering element contents
// Usage examples:
// $("#myElement").showHtml("new HTML contents");
// $("div").showHtml("new HTML contents", 400);
// $(".className").showHtml("new HTML contents", 400,
// function() {/* on completion */});
(function ($) {
$.fn.showHtml = function (html, speed, callback) {
return this.each(function () {
// The element to be modified
var el = $(this);
// Preserve the original values of width and height - they'll need
// to be modified during the animation, but can be restored once
// the animation has completed.
var finish = { width: this.style.width, height: this.style.height };
// The original width and height represented as pixel values.
// These will only be the same as `finish` if this element had its
// dimensions specified explicitly and in pixels. Of course, if that
// was done then this entire routine is pointless, as the dimensions
// won't change when the content is changed.
var cur = { width: el.width() + 'px', height: el.height() + 'px' };
// Modify the element's contents. Element will resize.
el.html(html);
// Capture the final dimensions of the element
// (with initial style settings still in effect)
var next = { width: el.width() + 'px', height: el.height() + 'px' };
el.css(cur) // restore initial dimensions
.animate(next, speed, function () // animate to final dimensions
{
el.css(finish); // restore initial style settings
if ($.isFunction(callback)) callback();
});
});
};
})(jQuery);