diff --git a/src/components/activitylog.js b/src/components/activitylog.js
index a6206477e7..6d13beb6b4 100644
--- a/src/components/activitylog.js
+++ b/src/components/activitylog.js
@@ -1,96 +1,156 @@
-define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotifications", "connectionManager", "emby-button", "listViewStyle"], function(events, globalize, dom, datetime, userSettings, serverNotifications, connectionManager) {
+define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotifications", "connectionManager", "emby-button", "listViewStyle"], function (events, globalize, dom, datetime, userSettings, serverNotifications, connectionManager) {
"use strict";
function getEntryHtml(entry, apiClient) {
var html = "";
html += '
';
var color = "#00a4dc";
- var icon = "notifications";
+ var icon = "notifications";
+
if ("Error" == entry.Severity || "Fatal" == entry.Severity || "Warn" == entry.Severity) {
color = "#cc0000";
icon = "notification_important";
}
+
if (entry.UserId && entry.UserPrimaryImageTag) {
html += '
dvr"
+ }) + "');background-repeat:no-repeat;background-position:center center;background-size: cover;\">dvr";
} else {
html += '
' + icon + '';
}
- html += '
', html += '
', html += entry.Name, html += "
", html += '
';
- var date = datetime.parseISO8601Date(entry.Date, !0);
- return html += datetime.toLocaleString(date).toLowerCase(), html += "
", html += '
', html += entry.ShortOverview || "", html += "
", html += "
", entry.Overview && (html += '
'), html += "
"
+
+ html += '';
+ html += '
';
+ html += entry.Name;
+ html += "
";
+ html += '
';
+ var date = datetime.parseISO8601Date(entry.Date, true);
+ html += datetime.toLocaleString(date).toLowerCase();
+ html += "
";
+ html += '
';
+ html += entry.ShortOverview || "";
+ html += "
";
+ html += "
";
+
+ if (entry.Overview) {
+ html += '';
+ }
+
+ return html += "";
}
function renderList(elem, apiClient, result, startIndex, limit) {
- elem.innerHTML = result.Items.map(function(i) {
- return getEntryHtml(i, apiClient)
- }).join("")
+ elem.innerHTML = result.Items.map(function (i) {
+ return getEntryHtml(i, apiClient);
+ }).join("");
}
function reloadData(instance, elem, apiClient, startIndex, limit) {
- null == startIndex && (startIndex = parseInt(elem.getAttribute("data-activitystartindex") || "0")), limit = limit || parseInt(elem.getAttribute("data-activitylimit") || "7");
- var minDate = new Date,
- hasUserId = "false" !== elem.getAttribute("data-useractivity");
- hasUserId ? minDate.setTime(minDate.getTime() - 864e5) : minDate.setTime(minDate.getTime() - 6048e5), ApiClient.getJSON(ApiClient.getUrl("System/ActivityLog/Entries", {
+ if (null == startIndex) {
+ startIndex = parseInt(elem.getAttribute("data-activitystartindex") || "0");
+ }
+
+ limit = limit || parseInt(elem.getAttribute("data-activitylimit") || "7");
+ var minDate = new Date();
+ var hasUserId = "false" !== elem.getAttribute("data-useractivity");
+
+ if (hasUserId) {
+ minDate.setTime(minDate.getTime() - 864e5);
+ } else {
+ minDate.setTime(minDate.getTime() - 6048e5);
+ }
+
+ ApiClient.getJSON(ApiClient.getUrl("System/ActivityLog/Entries", {
startIndex: startIndex,
limit: limit,
minDate: minDate.toISOString(),
hasUserId: hasUserId
- })).then(function(result) {
+ })).then(function (result) {
if (elem.setAttribute("data-activitystartindex", startIndex), elem.setAttribute("data-activitylimit", limit), !startIndex) {
var activityContainer = dom.parentWithClass(elem, "activityContainer");
- activityContainer && (result.Items.length ? activityContainer.classList.remove("hide") : activityContainer.classList.add("hide"))
+
+ if (activityContainer) {
+ if (result.Items.length) {
+ activityContainer.classList.remove("hide");
+ } else {
+ activityContainer.classList.add("hide");
+ }
+ }
}
- instance.items = result.Items, renderList(elem, apiClient, result, startIndex, limit)
- })
+
+ instance.items = result.Items;
+ renderList(elem, apiClient, result, startIndex, limit);
+ });
}
function onActivityLogUpdate(e, apiClient, data) {
var options = this.options;
- options && options.serverId === apiClient.serverId() && reloadData(this, options.element, apiClient)
+
+ if (options && options.serverId === apiClient.serverId()) {
+ reloadData(this, options.element, apiClient);
+ }
}
function onListClick(e) {
var btnEntryInfo = dom.parentWithClass(e.target, "btnEntryInfo");
+
if (btnEntryInfo) {
- var id = btnEntryInfo.getAttribute("data-id"),
- items = this.items;
+ var id = btnEntryInfo.getAttribute("data-id");
+ var items = this.items;
+
if (items) {
- var item = items.filter(function(i) {
- return i.Id.toString() === id
+ var item = items.filter(function (i) {
+ return i.Id.toString() === id;
})[0];
- item && showItemOverview(item)
+
+ if (item) {
+ showItemOverview(item);
+ }
}
}
}
function showItemOverview(item) {
- require(["alert"], function(alert) {
+ require(["alert"], function (alert) {
alert({
text: item.Overview
- })
- })
+ });
+ });
}
function ActivityLog(options) {
this.options = options;
var element = options.element;
- element.classList.add("activityLogListWidget"), element.addEventListener("click", onListClick.bind(this));
+ element.classList.add("activityLogListWidget");
+ element.addEventListener("click", onListClick.bind(this));
var apiClient = connectionManager.getApiClient(options.serverId);
reloadData(this, element, apiClient);
var onUpdate = onActivityLogUpdate.bind(this);
- this.updateFn = onUpdate, events.on(serverNotifications, "ActivityLogEntry", onUpdate), apiClient.sendMessage("ActivityLogEntryStart", "0,1500")
+ this.updateFn = onUpdate;
+ events.on(serverNotifications, "ActivityLogEntry", onUpdate);
+ apiClient.sendMessage("ActivityLogEntryStart", "0,1500");
}
- return ActivityLog.prototype.destroy = function() {
+
+ ActivityLog.prototype.destroy = function () {
var options = this.options;
+
if (options) {
options.element.classList.remove("activityLogListWidget");
- connectionManager.getApiClient(options.serverId).sendMessage("ActivityLogEntryStop", "0,1500")
+ connectionManager.getApiClient(options.serverId).sendMessage("ActivityLogEntryStop", "0,1500");
}
+
var onUpdate = this.updateFn;
- onUpdate && events.off(serverNotifications, "ActivityLogEntry", onUpdate), this.items = null, this.options = null
- }, ActivityLog
+
+ if (onUpdate) {
+ events.off(serverNotifications, "ActivityLogEntry", onUpdate);
+ }
+
+ this.items = null;
+ this.options = null;
+ };
+
+ return ActivityLog;
});