diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-20 20:33:05 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-20 20:33:05 -0500 |
| commit | 767cdc1f6f6a63ce997fc9476911e2c361f9d402 (patch) | |
| tree | 49add55976f895441167c66cfa95e5c7688d18ce /MediaBrowser.WebDashboard/Html/scripts/PluginCatalogPage.js | |
| parent | 845554722efaed872948a9e0f7202e3ef52f1b6e (diff) | |
Pushing missing changes
Diffstat (limited to 'MediaBrowser.WebDashboard/Html/scripts/PluginCatalogPage.js')
| -rw-r--r-- | MediaBrowser.WebDashboard/Html/scripts/PluginCatalogPage.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/MediaBrowser.WebDashboard/Html/scripts/PluginCatalogPage.js b/MediaBrowser.WebDashboard/Html/scripts/PluginCatalogPage.js new file mode 100644 index 000000000..51034a033 --- /dev/null +++ b/MediaBrowser.WebDashboard/Html/scripts/PluginCatalogPage.js @@ -0,0 +1,80 @@ +var PluginCatalogPage = { + + onPageShow: function () { + PluginCatalogPage.reloadList(); + }, + + reloadList: function () { + + Dashboard.showLoadingMsg(); + + var promise1 = ApiClient.getAvailablePlugins(); + + var promise2 = ApiClient.getInstalledPlugins(); + + $.when(promise1, promise2).done(function (response1, response2) { + + PluginCatalogPage.populateList(response1[0], response2[0]); + }); + }, + + populateList: function (availablePlugins, installedPlugins) { + + var page = $($.mobile.activePage); + + availablePlugins = availablePlugins.filter(function (p) { + + return p.type == "UserInstalled"; + + }).sort(function (a, b) { + + return a.name > b.name ? 1 : -1; + + }); + + var html = ""; + + for (var i = 0, length = availablePlugins.length; i < length; i++) { + + var plugin = availablePlugins[i]; + + html += "<div class='posterViewItem'><a href='addPlugin.html?name=" + encodeURIComponent(plugin.name) + "'>"; + + if (plugin.thumbImage) { + html += "<img src='" + plugin.thumbImage + "' />"; + } else { + html += "<img style='background:#444444;' src='css/images/defaultCollectionImage.png' />"; + } + + if (plugin.isPremium) { + html += "<div class='premiumBanner'><img src='css/images/premiumflag.png' /></div>"; + } + + var color = plugin.tileColor || Dashboard.getRandomMetroColor(); + + html += "<div class='posterViewItemText' style='background:" + color + "'>"; + + var installedPlugin = installedPlugins.filter(function (ip) { + return ip.Name == plugin.name; + })[0]; + + if (installedPlugin) { + + html += plugin.name + " (Installed)"; + } else { + html += plugin.name; + } + + html += "</div>"; + + html += "</a></div>"; + + } + + $('#pluginTiles', page).html(html); + + Dashboard.hideLoadingMsg(); + } +}; + +$(document).on('pageshow', "#pluginCatalogPage", PluginCatalogPage.onPageShow);
\ No newline at end of file |
