diff --git a/dashboard-ui/mypreferencesdisplay.html b/dashboard-ui/mypreferencesdisplay.html new file mode 100644 index 0000000000..81db46f311 --- /dev/null +++ b/dashboard-ui/mypreferencesdisplay.html @@ -0,0 +1,46 @@ + + + + + ${TitleMediaBrowser} + + +
+
+ ${TabDisplay} + ${TabLanguages} + ${TabWebClient} +
+ +
+
+ +
+ +
+ + diff --git a/dashboard-ui/mypreferenceslanguages.html b/dashboard-ui/mypreferenceslanguages.html new file mode 100644 index 0000000000..3b53888c1d --- /dev/null +++ b/dashboard-ui/mypreferenceslanguages.html @@ -0,0 +1,58 @@ + + + + + ${TitleMediaBrowser} + + +
+
+ ${TabDisplay} + ${TabLanguages} + ${TabWebClient} +
+ +
+
+ +
+ +
+ + diff --git a/dashboard-ui/mypreferenceswebclient.html b/dashboard-ui/mypreferenceswebclient.html new file mode 100644 index 0000000000..7cccf8c9f5 --- /dev/null +++ b/dashboard-ui/mypreferenceswebclient.html @@ -0,0 +1,17 @@ + + + + + ${TitleMediaBrowser} + + +
+
+ ${TabDisplay} + ${TabLanguages} + ${TabWebClient} +
+ +
+ + diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index 7b15f408e4..037c1a9471 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -49,7 +49,7 @@ SortOrder: "Descending", IncludeItemTypes: "Movie", Filters: "IsResumable", - Limit: screenWidth >= 1920 ? 5 : (screenWidth >= 1440 ? 4 : 3), + Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3), Recursive: true, Fields: "PrimaryImageAspectRatio", CollapseBoxSetItems: false, @@ -79,7 +79,7 @@ userId: Dashboard.getCurrentUserId(), categoryLimit: screenWidth >= 1200 ? 6 : 3, - itemLimit: screenWidth >= 1920 ? 10 : (screenWidth >= 1440 ? 8 : 6), + itemLimit: screenWidth >= 1920 ? 8 : (screenWidth >= 1440 ? 8 : 6), Fields: "PrimaryImageAspectRatio", ParentId: parentId }); diff --git a/dashboard-ui/scripts/mypreferencesdisplay.js b/dashboard-ui/scripts/mypreferencesdisplay.js new file mode 100644 index 0000000000..f419f9625a --- /dev/null +++ b/dashboard-ui/scripts/mypreferencesdisplay.js @@ -0,0 +1,76 @@ +(function ($, window, document) { + + function loadForm(page, user) { + + $('#chkDisplayMissingEpisodes', page).checked(user.Configuration.DisplayMissingEpisodes || false).checkboxradio("refresh"); + $('#chkDisplayUnairedEpisodes', page).checked(user.Configuration.DisplayUnairedEpisodes || false).checkboxradio("refresh"); + + $('#chkGroupMoviesIntoCollections', page).checked(user.Configuration.GroupMoviesIntoBoxSets || false).checkboxradio("refresh"); + + Dashboard.hideLoadingMsg(); + } + + function saveUser(page, user) { + + user.Configuration.DisplayMissingEpisodes = $('#chkDisplayMissingEpisodes', page).checked(); + user.Configuration.DisplayUnairedEpisodes = $('#chkDisplayUnairedEpisodes', page).checked(); + user.Configuration.GroupMoviesIntoBoxSets = $('#chkGroupMoviesIntoCollections', page).checked(); + + ApiClient.updateUser(user).done(function () { + Dashboard.alert(Globalize.translate("SettingsSaved")); + }); + } + + function onSubmit() { + + var page = $(this).parents('.page'); + + Dashboard.showLoadingMsg(); + + var userId = getParameterByName('userId') || Dashboard.getCurrentUserId(); + + ApiClient.getUser(userId).done(function (result) { + + saveUser(page, result); + + }); + + // Disable default form submission + return false; + + } + + $(document).on('pageinit', "#displayPreferencesPage", function () { + + var page = this; + + }).on('pageshow', "#displayPreferencesPage", function () { + + var page = this; + + Dashboard.showLoadingMsg(); + + var userId = getParameterByName('userId') || Dashboard.getCurrentUserId(); + + ApiClient.getUser(userId).done(function (user) { + + loadForm(page, user); + + }); + + }).on('pageshow', ".userPreferencesPage", function () { + + var page = this; + + var userId = getParameterByName('userId') || Dashboard.getCurrentUserId(); + + $('.lnkDisplayPreferences', page).attr('href', 'mypreferencesdisplay.html?userId=' + userId); + $('.lnkLanguagePreferences', page).attr('href', 'mypreferenceslanguages.html?userId=' + userId); + $('.lnkWebClientPreferences', page).attr('href', 'mypreferenceswebclient.html?userId=' + userId); + }); + + window.DisplayPreferencesPage = { + onSubmit: onSubmit + }; + +})(jQuery, window, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/mypreferenceslanguages.js b/dashboard-ui/scripts/mypreferenceslanguages.js new file mode 100644 index 0000000000..cd71777a71 --- /dev/null +++ b/dashboard-ui/scripts/mypreferenceslanguages.js @@ -0,0 +1,98 @@ +(function ($, window, document) { + + function populateLanguages(select, languages) { + + var html = ""; + + html += ""; + + for (var i = 0, length = languages.length; i < length; i++) { + + var culture = languages[i]; + + html += ""; + } + + $(select).html(html).selectmenu("refresh"); + } + + function loadForm(page, user, loggedInUser, allCulturesPromise) { + + allCulturesPromise.done(function (allCultures) { + + populateLanguages($('#selectAudioLanguage', page), allCultures); + populateLanguages($('#selectSubtitleLanguage', page), allCultures); + + $('#selectAudioLanguage', page).val(user.Configuration.AudioLanguagePreference || "").selectmenu("refresh"); + $('#selectSubtitleLanguage', page).val(user.Configuration.SubtitleLanguagePreference || "").selectmenu("refresh"); + }); + + $('#selectSubtitlePlaybackMode', page).val(user.Configuration.SubtitleMode || "").selectmenu("refresh").trigger('change'); + $('#chkPlayDefaultAudioTrack', page).checked(user.Configuration.PlayDefaultAudioTrack || false).checkboxradio("refresh"); + + Dashboard.hideLoadingMsg(); + } + + function saveUser(page, user) { + + user.Configuration.AudioLanguagePreference = $('#selectAudioLanguage', page).val(); + user.Configuration.SubtitleLanguagePreference = $('#selectSubtitleLanguage', page).val(); + + user.Configuration.SubtitleMode = $('#selectSubtitlePlaybackMode', page).val(); + user.Configuration.PlayDefaultAudioTrack = $('#chkPlayDefaultAudioTrack', page).checked(); + + ApiClient.updateUser(user).done(function () { + Dashboard.alert(Globalize.translate("SettingsSaved")); + }); + } + + function onSubmit() { + + var page = $(this).parents('.page'); + + Dashboard.showLoadingMsg(); + + var userId = getParameterByName('userId') || Dashboard.getCurrentUserId(); + + ApiClient.getUser(userId).done(function (result) { + + saveUser(page, result); + + }); + + // Disable default form submission + return false; + + } + + $(document).on('pageinit', "#languagePreferencesPage", function () { + + var page = this; + + }).on('pageshow', "#languagePreferencesPage", function () { + + var page = this; + + Dashboard.showLoadingMsg(); + + var userId = getParameterByName('userId') || Dashboard.getCurrentUserId(); + + var promise1 = ApiClient.getUser(userId); + + var promise2 = Dashboard.getCurrentUser(); + + var allCulturesPromise = ApiClient.getCultures(); + + $.when(promise1, promise2).done(function (response1, response2) { + + loadForm(page, response1[0] || response1, response2[0], allCulturesPromise); + + }); + + }); + + window.LanguagePreferencesPage = { + onSubmit: onSubmit + }; + +})(jQuery, window, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/mypreferenceswebclient.js b/dashboard-ui/scripts/mypreferenceswebclient.js new file mode 100644 index 0000000000..5f282702bb --- /dev/null +++ b/dashboard-ui/scripts/mypreferenceswebclient.js @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index e987b1c03c..c794747a00 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -497,9 +497,8 @@ var Dashboard = { html += '
'; - html += '

'; - - html += '

Preferences'; + html += '

My Preferences'; + html += '

My Profile'; html += '

'; html += '
'; @@ -511,8 +510,6 @@ var Dashboard = { $(this).off("panelafterclose").remove(); }); - - $('#chkEnableThemeSongs', elem).checked(window.ThemeSongManager.enabled()).checkboxradio('refresh'); }); }, diff --git a/dashboard-ui/scripts/usersettings.js b/dashboard-ui/scripts/usersettings.js deleted file mode 100644 index 0bc8c8e1d3..0000000000 --- a/dashboard-ui/scripts/usersettings.js +++ /dev/null @@ -1,157 +0,0 @@ -(function ($, window, document) { - - function populateLanguages(select, languages) { - - var html = ""; - - html += ""; - - for (var i = 0, length = languages.length; i < length; i++) { - - var culture = languages[i]; - - html += ""; - } - - $(select).html(html).selectmenu("refresh"); - } - - function loadUser(page, user, loggedInUser, allCulturesPromise) { - - Dashboard.setPageTitle(user.Name); - - allCulturesPromise.done(function (allCultures) { - - populateLanguages($('#selectAudioLanguage', page), allCultures); - populateLanguages($('#selectSubtitleLanguage', page), allCultures); - - $('#selectAudioLanguage', page).val(user.Configuration.AudioLanguagePreference || "").selectmenu("refresh"); - $('#selectSubtitleLanguage', page).val(user.Configuration.SubtitleLanguagePreference || "").selectmenu("refresh"); - }); - - $('#chkDisplayMissingEpisodes', page).checked(user.Configuration.DisplayMissingEpisodes || false).checkboxradio("refresh"); - $('#chkDisplayUnairedEpisodes', page).checked(user.Configuration.DisplayUnairedEpisodes || false).checkboxradio("refresh"); - - $('#chkGroupMoviesIntoCollections', page).checked(user.Configuration.GroupMoviesIntoBoxSets || false).checkboxradio("refresh"); - - $('#selectSubtitlePlaybackMode', page).val(user.Configuration.SubtitleMode || "").selectmenu("refresh").trigger('change'); - $('#chkPlayDefaultAudioTrack', page).checked(user.Configuration.PlayDefaultAudioTrack || false).checkboxradio("refresh"); - - Dashboard.hideLoadingMsg(); - } - - function onSaveComplete(page) { - - Dashboard.hideLoadingMsg(); - - var userId = getParameterByName("userId"); - - Dashboard.validateCurrentUser(page); - - if (userId) { - Dashboard.alert(Globalize.translate("SettingsSaved")); - } else { - Dashboard.navigate("userprofiles.html"); - } - } - - function saveUser(user, page) { - - user.Configuration.AudioLanguagePreference = $('#selectAudioLanguage', page).val(); - user.Configuration.SubtitleLanguagePreference = $('#selectSubtitleLanguage', page).val(); - user.Configuration.DisplayMissingEpisodes = $('#chkDisplayMissingEpisodes', page).checked(); - user.Configuration.DisplayUnairedEpisodes = $('#chkDisplayUnairedEpisodes', page).checked(); - user.Configuration.GroupMoviesIntoBoxSets = $('#chkGroupMoviesIntoCollections', page).checked(); - - user.Configuration.SubtitleMode = $('#selectSubtitlePlaybackMode', page).val(); - user.Configuration.PlayDefaultAudioTrack = $('#chkPlayDefaultAudioTrack', page).checked(); - - ApiClient.updateUser(user).done(function () { - onSaveComplete(page); - }); - } - - function userSettingsPage() { - - var self = this; - - self.onSubmit = function () { - - var page = $(this).parents('.page'); - - Dashboard.showLoadingMsg(); - - var userId = getParameterByName("userId"); - - ApiClient.getUser(userId).done(function (result) { - saveUser(result, page); - }); - - // Disable default form submission - return false; - }; - } - - window.UserSettingsPage = new userSettingsPage(); - - $(document).on('pageinit', "#userSettingsPage", function () { - - var page = this; - - $('#selectSubtitlePlaybackMode', page).on('change', function () { - - $('.subtitlesHelp', page).hide(); - $('.subtitles' + this.value + 'Help', page).show(); - }); - - }).on('pagebeforeshow', "#userSettingsPage", function () { - - var page = this; - - Dashboard.getCurrentUser().done(function (loggedInUser) { - - if (loggedInUser.Configuration.IsAdministrator) { - $('#lnkParentalControl', page).show(); - } else { - $('#lnkParentalControl', page).hide(); - } - }); - - }).on('pageshow', "#userSettingsPage", function () { - - var page = this; - - Dashboard.showLoadingMsg(); - - var userId = getParameterByName("userId"); - - var promise1; - - if (!userId) { - - var deferred = $.Deferred(); - - deferred.resolveWith(null, [{ - Configuration: {} - }]); - - promise1 = deferred.promise(); - } else { - - promise1 = ApiClient.getUser(userId); - } - - var promise2 = Dashboard.getCurrentUser(); - - var allCulturesPromise = ApiClient.getCultures(); - - $.when(promise1, promise2).done(function (response1, response2) { - - loadUser(page, response1[0] || response1, response2[0], allCulturesPromise); - - }); - - $("#userSettingsForm input:first").focus(); - }); - -})(jQuery, window, document); \ No newline at end of file diff --git a/dashboard-ui/useredit.html b/dashboard-ui/useredit.html index 0bd8d4a8ba..85fecaa634 100644 --- a/dashboard-ui/useredit.html +++ b/dashboard-ui/useredit.html @@ -13,7 +13,6 @@ ${TabImage} ${TabPassword} - ${TabPreferences}