From 503a18926babb7936af7aa955938d431a85b8e25 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 14 Sep 2014 11:10:51 -0400 Subject: [PATCH] add connect linking --- dashboard-ui/css/card.css | 10 +- dashboard-ui/css/fonts/gotham-book.woff | Bin 0 -> 62035 bytes dashboard-ui/css/librarybrowser.css | 1 + dashboard-ui/css/librarymenu.css | 1 + dashboard-ui/css/site.css | 8 +- dashboard-ui/scripts/useredit.js | 183 +++++++++++++++++------ dashboard-ui/scripts/userprofilespage.js | 129 ++++++++++------ dashboard-ui/useredit.html | 45 +++--- dashboard-ui/userprofiles.html | 13 +- 9 files changed, 260 insertions(+), 130 deletions(-) create mode 100644 dashboard-ui/css/fonts/gotham-book.woff diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index f14ff89890..b2b4433955 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -48,6 +48,12 @@ margin: 4px; } +.grayscale { + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + filter: grayscale(100%); +} + @media all and (max-width: 800px) { .cardBox { @@ -486,7 +492,7 @@ .detailPageSquareCard { - width: 33.33%; + width: 33.33%; } @media all and (min-width: 540px) { @@ -722,4 +728,4 @@ .homePageSmallBackdropCard { width: 12.5%; } -} \ No newline at end of file +} diff --git a/dashboard-ui/css/fonts/gotham-book.woff b/dashboard-ui/css/fonts/gotham-book.woff new file mode 100644 index 0000000000000000000000000000000000000000..9b7e60f4c306a50cc830a1a381b1a4176f37516d GIT binary patch literal 62035 zcmV)iK%&2QPew*hR8&s@0P<4+3;+NC0rV6A00000000000000000000000000000( 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

qNiUA@`Yr$EJC#cI*_N#C)%eT$fk4i96+x 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 literal 0 HcmV?d00001 diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index a1e2063726..4fe5844dc1 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -566,6 +566,7 @@ a.itemTag:hover { .libraryPanelHeader { margin: 5px 0 15px 0; font-size: 15px; + font-family: Gotham; } .libraryPanelHeader a { diff --git a/dashboard-ui/css/librarymenu.css b/dashboard-ui/css/librarymenu.css index 4955491e1b..2b44988f82 100644 --- a/dashboard-ui/css/librarymenu.css +++ b/dashboard-ui/css/librarymenu.css @@ -135,6 +135,7 @@ padding-left: 0 !important; margin-left: -8px; cursor: default; + font-family: Gotham; } .viewMenuBar { diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index f7829efd56..5aed1f4409 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -61,6 +61,13 @@ src: local('Roboto Bold'), local('Roboto-Bold'), url(fonts/RobotoBold.woff) format('woff'); } +@font-face { + font-family: 'Gotham'; + font-style: normal; + font-weight: 300; + src: local('Gotham'), url(fonts/gotham-book.woff) format('woff'); +} + * { text-shadow: none !important; } @@ -345,7 +352,6 @@ h1 .imageLink { } .page > .ui-content { - /* Need this so that the audio player doesn't cover content, but also for unveil lazy loading. */ padding-bottom: 160px; } diff --git a/dashboard-ui/scripts/useredit.js b/dashboard-ui/scripts/useredit.js index 5bf8147e34..2c201cf939 100644 --- a/dashboard-ui/scripts/useredit.js +++ b/dashboard-ui/scripts/useredit.js @@ -1,6 +1,10 @@ (function ($, window, document) { - function loadUser(page, user, loggedInUser) { + var currentConnectInfo; + + function loadUser(page, user, loggedInUser, connectInfo) { + + currentConnectInfo = connectInfo; if (!loggedInUser.Configuration.IsAdministrator) { @@ -16,6 +20,12 @@ $('.lnkEditUserPreferencesContainer', page).show(); } + if (user.Id && loggedInUser.Configuration.IsAdministrator) { + $('#fldConnectInfo', page).show(); + } else { + $('#fldConnectInfo', page).hide(); + } + if (!loggedInUser.Configuration.IsAdministrator || !user.Id) { $('.lnkEditUserPreferencesContainer', page).hide(); @@ -29,6 +39,7 @@ Dashboard.setPageTitle(user.Name || Globalize.translate('AddUser')); $('#txtUserName', page).val(user.Name); + $('#txtConnectUserName', page).val(connectInfo.Username); $('#chkIsAdmin', page).checked(user.Configuration.IsAdministrator || false).checkboxradio("refresh"); $('#chkBlockNotRated', page).checked(user.Configuration.BlockNotRated || false).checkboxradio("refresh"); @@ -45,19 +56,78 @@ Dashboard.hideLoadingMsg(); } - function onSaveComplete(page) { + function onSaveComplete(page, user) { Dashboard.hideLoadingMsg(); var userId = getParameterByName("userId"); if (userId) { - Dashboard.alert(Globalize.translate('SettingsSaved')); + + var currentConnectUsername = currentConnectInfo.Username || ''; + var enteredConnectUsername = $('#txtConnectUserName', page).val(); + + if (currentConnectUsername == enteredConnectUsername) { + Dashboard.alert(Globalize.translate('SettingsSaved')); + } else { + updateConnectInfo(page, user); + } } else { Dashboard.navigate("userprofiles.html"); } } + function updateConnectInfo(page, user) { + + var currentConnectUsername = currentConnectInfo.Username || ''; + var enteredConnectUsername = $('#txtConnectUserName', page).val(); + + var linkUrl = ApiClient.getUrl('Users/' + user.Id + '/Connect/Link'); + + if (currentConnectUsername && !enteredConnectUsername) { + + // Remove connect info + // Add/Update connect info + ApiClient.ajax({ + + type: "DELETE", + url: linkUrl + + }).done(function () { + + Dashboard.alert(Globalize.translate('SettingsSaved')); + loadData(page); + }); + + } + else if (currentConnectUsername != enteredConnectUsername) { + + // Add/Update connect info + ApiClient.ajax({ + + type: "POST", + url: linkUrl, + data: { + ConnectUsername: enteredConnectUsername + } + + }).done(function () { + + Dashboard.alert({ + + message: Globalize.translate('MessageMediaBrowserAccontAdded'), + title: Globalize.translate('HeaderMediaBrowserAccountAdded'), + + callback: function () { + + loadData(page); + } + + }); + }); + } + } + function saveUser(user, page) { user.Name = $('#txtUserName', page).val(); @@ -78,11 +148,11 @@ if (userId) { ApiClient.updateUser(user).done(function () { - onSaveComplete(page); + onSaveComplete(page, user); }); } else { ApiClient.createUser(user).done(function () { - onSaveComplete(page); + onSaveComplete(page, user); }); } } @@ -97,23 +167,70 @@ Dashboard.showLoadingMsg(); - var userId = getParameterByName("userId"); - - if (!userId) { - saveUser({ - Configuration: {} - }, page); - } else { - ApiClient.getUser(userId).done(function (result) { - saveUser(result, page); - }); - } + getUser().done(function (result) { + saveUser(result, page); + }); // Disable default form submission return false; }; } + function getUser() { + + var userId = getParameterByName("userId"); + + if (userId) { + + return ApiClient.getUser(userId); + } + + var deferred = $.Deferred(); + + deferred.resolveWith(null, [{ + Configuration: { + IsAdministrator: false, + EnableLiveTvManagement: true, + EnableLiveTvAccess: true, + EnableRemoteControlOfOtherUsers: true, + EnableMediaPlayback: true + } + }]); + + return deferred.promise(); + } + + function getConnectUserInfo() { + + var userId = getParameterByName("userId"); + + if (userId) { + + return ApiClient.getJSON(ApiClient.getUrl('Users/' + userId + '/Connect/Info')); + } + + var deferred = $.Deferred(); + + deferred.resolveWith(null, [[{}]]); + + return deferred.promise(); + } + + function loadData(page) { + + Dashboard.showLoadingMsg(); + + var promise1 = getUser(); + var promise2 = Dashboard.getCurrentUser(); + var promise3 = getConnectUserInfo(); + + $.when(promise1, promise2, promise3).done(function (response1, response2, response3) { + + loadUser(page, response1[0] || response1, response2[0], response3[0]); + + }); + } + window.EditUserPage = new editUserPage(); $(document).on('pagebeforeshow', "#editUserPage", function () { @@ -141,39 +258,7 @@ var page = this; - Dashboard.showLoadingMsg(); - - var userId = getParameterByName("userId"); - - var promise1; - - if (!userId) { - - var deferred = $.Deferred(); - - deferred.resolveWith(null, [{ - Configuration: { - IsAdministrator: true, - EnableLiveTvManagement: true, - EnableLiveTvAccess: true, - EnableRemoteControlOfOtherUsers: true, - EnableMediaPlayback: true - } - }]); - - promise1 = deferred.promise(); - } else { - - promise1 = ApiClient.getUser(userId); - } - - var promise2 = Dashboard.getCurrentUser(); - - $.when(promise1, promise2).done(function (response1, response2) { - - loadUser(page, response1[0] || response1, response2[0]); - - }); + loadData(page); $("form input:first", page).focus(); }); diff --git a/dashboard-ui/scripts/userprofilespage.js b/dashboard-ui/scripts/userprofilespage.js index 2729d40102..53bb8e8e7a 100644 --- a/dashboard-ui/scripts/userprofilespage.js +++ b/dashboard-ui/scripts/userprofilespage.js @@ -1,19 +1,63 @@ (function (document, window, $) { - function deleteUser(page, id, name) { + function deleteUser(page, id) { - var msg = Globalize.translate('DeleteUserConfirmation').replace('{0}', name); + $('.userMenu', page).on("popupafterclose.deleteuser", function() { - Dashboard.confirm(msg, Globalize.translate('DeleteUser'), function (result) { + $(this).off('popupafterclose.deleteuser'); - if (result) { - Dashboard.showLoadingMsg(); + var msg = Globalize.translate('DeleteUserConfirmation'); - ApiClient.deleteUser(id).done(function () { + Dashboard.confirm(msg, Globalize.translate('DeleteUser'), function (result) { - loadUsers(page); - }); - } + if (result) { + Dashboard.showLoadingMsg(); + + ApiClient.deleteUser(id).done(function () { + + loadUsers(page); + }); + } + }); + + }).popup('close'); + } + + function closeUserMenu(page) { + $('.userMenu', page).popup('close').remove(); + } + + function showUserMenu(elem) { + + var card = $(elem).parents('.card'); + var page = $(elem).parents('.page'); + var userId = card.attr('data-userid'); + + $('.userMenu', page).popup("close").remove(); + + var html = '

'; + + html += ''; + + html += '
'; + + page.append(html); + + var flyout = $('.userMenu', page).popup({ positionTo: elem || "window" }).trigger('create').popup("open").on("popupafterclose", function () { + + $(this).off("popupafterclose").remove(); + + }); + + $('.btnDeleteUser', flyout).on('click', function () { + deleteUser(page, this); }); } @@ -21,7 +65,13 @@ var html = ''; - html += "
"; + var cssClass = "card homePageSquareCard alternateHover bottomPaddedCard"; + + if (user.Configuration.IsDisabled) { + cssClass += ' grayscale'; + } + + html += "
"; html += '
'; html += '
'; @@ -36,7 +86,7 @@ if (user.PrimaryImageTag) { imgUrl = ApiClient.getUserImageUrl(user.Id, { - width: 200, + width: 300, tag: user.PrimaryImageTag, type: "Primary" }); @@ -66,7 +116,7 @@ html += '
'; - html += ''; + html += ''; html += "
"; html += '
'; @@ -82,54 +132,37 @@ // card html += "
"; + return html; + } + function getUserSectionHtml(users) { - //html += "
  • "; + var html = ''; - //html += ""; - - //if (user.PrimaryImageTag) { - - // var url = ApiClient.getUserImageUrl(user.Id, { - // width: 80, - // tag: user.PrimaryImageTag, - // type: "Primary" - // }); - // html += ""; - //} else { - // html += ""; - //} - - //html += "

    " + user.Name; - - //html += "

    "; - - //html += "

    "; - //if (user.HasConfiguredPassword) html += '' + Globalize.translate('Password') + ''; - //if (user.Configuration.IsAdministrator) html += '' + Globalize.translate('Administrator') + ''; - - //html += "

    "; - - //html += "
    "; - - - //html += "" + Globalize.translate('Delete') + ""; - - //html += "
  • "; + html += users.map(getUserHtml).join(''); return html; } + function renderUsers(page, users) { + + var html = ''; + + html += getUserSectionHtml(users); + + var elem = $('.users', page).html(html).trigger('create'); + + $('.btnUserMenu', elem).on('click', function () { + showUserMenu(this); + }); + } + function loadUsers(page) { Dashboard.showLoadingMsg(); ApiClient.getUsers().done(function (users) { - - var html = users.map(getUserHtml).join(''); - - $('.users', page).html(html).trigger('create'); - + renderUsers(page, users); Dashboard.hideLoadingMsg(); }); } diff --git a/dashboard-ui/useredit.html b/dashboard-ui/useredit.html index 89f10f9c34..28107d83c4 100644 --- a/dashboard-ui/useredit.html +++ b/dashboard-ui/useredit.html @@ -23,37 +23,32 @@
    • - + +
    • +
    -
    -

    ${HeaderFeatureAccess}

    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    +
    + ${HeaderFeatureAccess} + + + + + + + + + + +
    +