diff --git a/ApiClient.js b/ApiClient.js index c6234d41bb..b68241cdde 100644 --- a/ApiClient.js +++ b/ApiClient.js @@ -443,6 +443,96 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { }); }; + self.refreshArtist = function (name, force) { + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Artists/" + name + "/Refresh", { + + forced: force || false + + }); + + return self.ajax({ + type: "POST", + url: url + }); + }; + + self.refreshGenre = function (name, force) { + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Genres/" + name + "/Refresh", { + + forced: force || false + + }); + + return self.ajax({ + type: "POST", + url: url + }); + }; + + self.refreshMusicGenre = function (name, force) { + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("MusicGenres/" + name + "/Refresh", { + + forced: force || false + + }); + + return self.ajax({ + type: "POST", + url: url + }); + }; + + self.refreshPerson = function (name, force) { + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Persons/" + name + "/Refresh", { + + forced: force || false + + }); + + return self.ajax({ + type: "POST", + url: url + }); + }; + + self.refreshStudio = function (name, force) { + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Studios/" + name + "/Refresh", { + + forced: force || false + + }); + + return self.ajax({ + type: "POST", + url: url + }); + }; + /** * Installs or updates a new plugin */ diff --git a/dashboard-ui/scripts/edititemmetadata.js b/dashboard-ui/scripts/edititemmetadata.js index b5ce383ebe..fe4c44b13a 100644 --- a/dashboard-ui/scripts/edititemmetadata.js +++ b/dashboard-ui/scripts/edititemmetadata.js @@ -586,7 +586,28 @@ $('#refreshLoading', page).show(); - ApiClient.refreshItem(currentItem.Id, true, $('#fldRecursive', page).checked()).done(function () { + var refreshPromise; + + if (currentItem.Type == "Artist") { + refreshPromise = ApiClient.refreshArtist(currentItem.Name, true); + } + else if (currentItem.Type == "Genre") { + refreshPromise = ApiClient.refreshGenre(currentItem.Name, true); + } + else if (currentItem.Type == "MusicGenre") { + refreshPromise = ApiClient.refreshMusicGenre(currentItem.Name, true); + } + else if (currentItem.Type == "Person") { + refreshPromise = ApiClient.refreshPerson(currentItem.Name, true); + } + else if (currentItem.Type == "Studio") { + refreshPromise = ApiClient.refreshStudio(currentItem.Name, true); + } + else { + refreshPromise = ApiClient.refreshItem(currentItem.Id, true, $('#fldRecursive', page).checked()); + } + + refreshPromise.done(function () { reload(page); diff --git a/packages.config b/packages.config index 980aefd611..d46a5da70a 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file