From b96d16576fcb30a748f394b65b236ca9ffa00ec5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 24 Nov 2013 18:37:38 -0500 Subject: [PATCH] allow editing of channel images in the web client --- ApiClient.js | 55 ++++++- dashboard-ui/edititemmetadata.html | 22 +-- dashboard-ui/livetvchannel.html | 47 ++++++ dashboard-ui/scripts/edititemimages.js | 2 +- dashboard-ui/scripts/edititemmetadata.js | 179 ++++++++++++++++++++--- dashboard-ui/scripts/librarybrowser.js | 16 +- dashboard-ui/scripts/livetvchannel.js | 80 ++++++++++ dashboard-ui/scripts/livetvchannels.js | 4 +- packages.config | 2 +- 9 files changed, 369 insertions(+), 38 deletions(-) create mode 100644 dashboard-ui/livetvchannel.html create mode 100644 dashboard-ui/scripts/livetvchannel.js diff --git a/ApiClient.js b/ApiClient.js index 387a849707..f2c0987236 100644 --- a/ApiClient.js +++ b/ApiClient.js @@ -389,6 +389,21 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi }); }; + self.getLiveTvChannel = function (id) { + + if (!id) { + throw new Error("null id"); + } + + var url = self.getUrl("/LiveTv/Channels/" + id); + + return self.ajax({ + type: "GET", + url: url, + dataType: "json" + }); + }; + self.getLiveTvChannels = function (options) { var url = self.getUrl("/LiveTv/Channels", options || {}); @@ -1236,7 +1251,11 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images"); - } else if (itemType == "Genre") { + } + else if (itemType == "Channel") { + url = self.getUrl("LiveTv/Channels/" + itemId + "/Images"); + } + else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images"); } else if (itemType == "GameGenre") { url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images"); @@ -1292,7 +1311,11 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options); - } else if (itemType == "Genre") { + } + else if (itemType == "Channel") { + url = self.getUrl("LiveTv/Channels/" + itemId + "/Images/" + imageType + "/" + imageIndex + "/Index", options); + } + else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options); } else if (itemType == "GameGenre") { url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options); @@ -1322,7 +1345,11 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images"); - } else if (itemType == "Genre") { + } + else if (itemType == "Channel") { + url = self.getUrl("LiveTv/Channels/" + itemId + "/Images"); + } + else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images"); } else if (itemType == "GameGenre") { url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images"); @@ -1455,7 +1482,11 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images"); - } else if (itemType == "Genre") { + } + else if (itemType == "Channel") { + url = self.getUrl("LiveTv/Channels/" + itemId + "/Images"); + } + else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images"); } else if (itemType == "GameGenre") { url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images"); @@ -2318,6 +2349,22 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi }); }; + self.updateLiveTvChannel = function (item) { + + if (!item) { + throw new Error("null item"); + } + + var url = self.getUrl("LiveTv/Channels/" + item.Id); + + return self.ajax({ + type: "POST", + url: url, + data: JSON.stringify(item), + contentType: "application/json" + }); + }; + self.updateArtist = function (item) { if (!item) { diff --git a/dashboard-ui/edititemmetadata.html b/dashboard-ui/edititemmetadata.html index bf5ad539c6..ba18fc6a3c 100644 --- a/dashboard-ui/edititemmetadata.html +++ b/dashboard-ui/edititemmetadata.html @@ -30,9 +30,9 @@
- - - + -
+
@@ -56,15 +56,15 @@ -
+ -
+ -
+ @@ -116,11 +116,11 @@
-
+ -
+ @@ -300,7 +300,7 @@
    -
    +