aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard/Html/scripts/AdvancedMetadataConfigurationPage.js
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.WebDashboard/Html/scripts/AdvancedMetadataConfigurationPage.js')
-rw-r--r--MediaBrowser.WebDashboard/Html/scripts/AdvancedMetadataConfigurationPage.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/MediaBrowser.WebDashboard/Html/scripts/AdvancedMetadataConfigurationPage.js b/MediaBrowser.WebDashboard/Html/scripts/AdvancedMetadataConfigurationPage.js
new file mode 100644
index 000000000..73ed3f431
--- /dev/null
+++ b/MediaBrowser.WebDashboard/Html/scripts/AdvancedMetadataConfigurationPage.js
@@ -0,0 +1,65 @@
+var AdvancedMetadataConfigurationPage = {
+
+ onPageShow: function () {
+
+ Dashboard.showLoadingMsg();
+
+ var page = this;
+
+ var promise1 = ApiClient.getServerConfiguration();
+ var promise2 = ApiClient.getItemTypes({ HasInternetProvider: true });
+
+ $.when(promise1, promise2).done(function (response1, response2) {
+
+ AdvancedMetadataConfigurationPage.load(page, response1[0], response2[0]);
+
+ });
+ },
+
+ load: function (page, config, itemTypes) {
+
+ AdvancedMetadataConfigurationPage.loadItemTypes(page, config, itemTypes);
+ Dashboard.hideLoadingMsg();
+ },
+
+ loadItemTypes: function (page, configuration, types) {
+
+ var html = '<div data-role="controlgroup">';
+
+ for (var i = 0, length = types.length; i < length; i++) {
+
+ var type = types[i];
+ var id = "checkbox-" + i + "a";
+
+ var checkedAttribute = configuration.InternetProviderExcludeTypes.indexOf(type) != -1 ? ' checked="checked"' : '';
+
+ html += '<input' + checkedAttribute + ' class="chkItemType" data-itemtype="' + type + '" type="checkbox" name="' + id + '" id="' + id + '" />';
+ html += '<label for="' + id + '">' + type + '</label>';
+ }
+
+ html += "</div>";
+
+ $('#divItemTypes', page).html(html).trigger("create");
+ },
+
+ onSubmit: function () {
+ Dashboard.showLoadingMsg();
+
+ var form = this;
+
+ ApiClient.getServerConfiguration().done(function (config) {
+
+ config.InternetProviderExcludeTypes = $.map($('.chkItemType:checked', form), function (currentCheckbox) {
+
+ return currentCheckbox.getAttribute('data-itemtype');
+ });
+
+ ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
+ });
+
+ // Disable default form submission
+ return false;
+ }
+};
+
+$(document).on('pageshow', "#advancedMetadataConfigurationPage", AdvancedMetadataConfigurationPage.onPageShow); \ No newline at end of file