From 2384a7e0881c15d0ecfd06b2e07ca9a3fea86af7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 26 Jul 2014 13:30:15 -0400 Subject: [PATCH] added sync job database --- dashboard-ui/advanced.html | 8 +- dashboard-ui/css/card.css | 224 +++++++++++++++++++ dashboard-ui/css/chromecast.css | 3 +- dashboard-ui/css/fonts/RobotoBold.woff | Bin 0 -> 19812 bytes dashboard-ui/css/librarybrowser.css | 21 -- dashboard-ui/css/librarymenu.css | 45 ++-- dashboard-ui/css/notifications.css | 1 - dashboard-ui/css/posteritem.css | 12 +- dashboard-ui/css/site.css | 139 ++++-------- dashboard-ui/dashboard.html | 2 +- dashboard-ui/dashboardgeneral.html | 2 +- dashboard-ui/dashboardsync.html | 26 +++ dashboard-ui/itemdetails.html | 10 +- dashboard-ui/login.html | 2 +- dashboard-ui/notificationlist.html | 2 +- dashboard-ui/plugincatalog.html | 2 +- dashboard-ui/scripts/dashboardpage.js | 18 +- dashboard-ui/scripts/dashboardsync.js | 57 +++++ dashboard-ui/scripts/itemdetailpage.js | 56 +++-- dashboard-ui/scripts/librarybrowser.js | 10 +- dashboard-ui/scripts/librarylist.js | 4 +- dashboard-ui/scripts/loginpage.js | 27 ++- dashboard-ui/scripts/mypreferencesdisplay.js | 4 +- dashboard-ui/scripts/plugincatalogpage.js | 35 ++- dashboard-ui/scripts/site.js | 15 +- dashboard-ui/scripts/sync.js | 17 +- dashboard-ui/serversecurity.html | 2 +- dashboard-ui/useredit.html | 4 +- dashboard-ui/userimage.html | 2 +- dashboard-ui/userparentalcontrol.html | 2 +- dashboard-ui/userpassword.html | 2 +- dashboard-ui/userprofiles.html | 9 +- 32 files changed, 535 insertions(+), 228 deletions(-) create mode 100644 dashboard-ui/css/card.css create mode 100644 dashboard-ui/css/fonts/RobotoBold.woff create mode 100644 dashboard-ui/dashboardsync.html create mode 100644 dashboard-ui/scripts/dashboardsync.js diff --git a/dashboard-ui/advanced.html b/dashboard-ui/advanced.html index 82d21d8fb4..fedf70f97d 100644 --- a/dashboard-ui/advanced.html +++ b/dashboard-ui/advanced.html @@ -34,10 +34,11 @@

${HeaderAutomaticUpdates}

+
  • - @@ -59,6 +60,7 @@

    ${HeaderResumeSettings}

    +
    • @@ -87,10 +89,10 @@
      • - -
      • diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css new file mode 100644 index 0000000000..5e8756d0f7 --- /dev/null +++ b/dashboard-ui/css/card.css @@ -0,0 +1,224 @@ +.card { + display: inline-block; + text-align: left; + -webkit-transition: all 500ms ease; + -moz-transition: all 500ms ease; + -o-transition: all 500ms ease; + -ms-transition: all 500ms ease; + transition: all 500ms ease; + position: relative; +} + +.cardBox { + margin: 4px 4px; +} + +.visualCardBox { + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-box-shadow: 0 2px 4px rgba(0,0,0,0.1); + -ms-box-shadow: 0 2px 4px rgba(0,0,0,0.1); + -webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.1); + box-shadow: 0 2px 4px rgba(0,0,0,0.1); + background: #fff; +} + +.cardScalable { + position: relative; +} + +.card-16-9 .cardPadder { + padding-bottom: 56.25%; +} + +.card-1-1 .cardPadder { + padding-bottom: 100%; +} + +.card-4-3 .cardPadder { + padding-bottom: 75%; +} + +.card-3-2 .cardPadder { + padding-bottom: 66.666666666667%; +} + +.cardContent { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + + .cardContent:hover { + -moz-box-shadow: 0 0 0 5px #38c; + -webkit-box-shadow: 0 0 0 5px #38c; + box-shadow: 0 0 0 5px #38c; + } + +.cardBox .cardContent:hover { + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +.cardContent:hover .cardImage { + opacity: .5; +} + +/*.preview-overlay-container { + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-opacity: 0; + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all .25s ease; + -moz-transition: all .25s ease; + -o-transition: all .25s ease; + transition: all .25s ease; + background: rgba(0,0,0,0.4); + cursor: pointer; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +}*/ + +.cardFooter { +} + +.cardContent .cardFooter { + position: absolute; + bottom: 0; + background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.7))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 100%); /* IE10+ */ + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 100%); /* W3C */ + left: 0; + right: 0; + color: #fff; +} + +.cardText { + text-overflow: ellipsis; + overflow: hidden; + text-wrap: none; + white-space: nowrap; + padding: 5px 4px 4px; + text-shadow: none; + font-size: 13px; + font-weight: 400; +} + +.cardContent .cardText { + padding-left: 5px; + padding: 0 5px 4px; +} + +@media all and (max-width: 600px) { + + .packageReviewText { + display: none; + } +} + +.cardImage { + background-size: contain; + background-repeat: no-repeat; + background-position: center bottom; + width: 100%; + height: 100%; +} + +.card-1-1 { + width: 50%; +} + +.card-16-9:not(.manualSize) { + width: 50%; +} + +@media all and (min-width: 500px) { + + .card-1-1 { + width: 33.3%; + } +} + + +@media all and (min-width: 540px) { + + .card-16-9:not(.manualSize) { + width: 33.3%; + } +} + + +@media all and (min-width: 800px) { + + .card-1-1 { + width: 25%; + } +} + + +@media all and (min-width: 1000px) { + + .card-1-1 { + width: 20%; + } + + .card-16-9:not(.manualSize) { + width: 25%; + } +} + + +@media all and (min-width: 1200px) { + + .card-1-1 { + width: 16.666666666666666666666666666667%; + } +} + + +@media all and (min-width: 1400px) { + + .card-1-1 { + width: 14.285714285714285714285714285714%; + } + + .card-16-9:not(.manualSize) { + width: 20%; + } +} + + +@media all and (min-width: 1600px) { + + .card-1-1 { + width: 12.5%; + } + + .card-16-9:not(.manualSize) { + width: 16.666666666666666666666666666667%; + } +} + +.detailPage169Card { + width: 50%; +} + +@media all and (min-width: 540px) { + + .detailPage169Card { + width: 33.3%; + } +} \ No newline at end of file diff --git a/dashboard-ui/css/chromecast.css b/dashboard-ui/css/chromecast.css index 0e2501745c..cf93771d2e 100644 --- a/dashboard-ui/css/chromecast.css +++ b/dashboard-ui/css/chromecast.css @@ -28,8 +28,7 @@ margin-right: .5em; height: 100%; position: relative; - top: -19px; - font-family: "Open Sans"; + top: -20px; } @media all and (max-width: 800px) { diff --git a/dashboard-ui/css/fonts/RobotoBold.woff b/dashboard-ui/css/fonts/RobotoBold.woff new file mode 100644 index 0000000000000000000000000000000000000000..859b60caf4a3560f4f4b3dcecc83271718f1b798 GIT binary patch literal 19812 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 ${TabDashboard} - ${TabUsers} ${TabSettings} ${TabSecurity} + ${TabSync}
    diff --git a/dashboard-ui/dashboardgeneral.html b/dashboard-ui/dashboardgeneral.html index 8b94204228..db48db431d 100644 --- a/dashboard-ui/dashboardgeneral.html +++ b/dashboard-ui/dashboardgeneral.html @@ -11,9 +11,9 @@
    diff --git a/dashboard-ui/dashboardsync.html b/dashboard-ui/dashboardsync.html new file mode 100644 index 0000000000..18dbca76f2 --- /dev/null +++ b/dashboard-ui/dashboardsync.html @@ -0,0 +1,26 @@ + + + + ${TitleServer} + + +
    + + +
    + + diff --git a/dashboard-ui/itemdetails.html b/dashboard-ui/itemdetails.html index d24abe4a73..0e4d126c41 100644 --- a/dashboard-ui/itemdetails.html +++ b/dashboard-ui/itemdetails.html @@ -206,7 +206,7 @@
    ${HeaderAdditionalParts}
    -
    +
    diff --git a/dashboard-ui/login.html b/dashboard-ui/login.html index ea6541e34c..89631bff7b 100644 --- a/dashboard-ui/login.html +++ b/dashboard-ui/login.html @@ -30,7 +30,7 @@
    diff --git a/dashboard-ui/plugincatalog.html b/dashboard-ui/plugincatalog.html index e62fba706f..590c1f6af4 100644 --- a/dashboard-ui/plugincatalog.html +++ b/dashboard-ui/plugincatalog.html @@ -38,7 +38,7 @@
    ${MessageNoAvailablePlugins}
    -
    +
diff --git a/dashboard-ui/scripts/dashboardpage.js b/dashboard-ui/scripts/dashboardpage.js index 8d6e37576d..9018b59372 100644 --- a/dashboard-ui/scripts/dashboardpage.js +++ b/dashboard-ui/scripts/dashboardpage.js @@ -227,7 +227,7 @@ var parentElement = $('.activeDevices', page); - $('.activeSession', parentElement).addClass('deadSession'); + $('.card', parentElement).addClass('deadSession'); for (var i = 0, length = sessions.length; i < length; i++) { @@ -244,7 +244,7 @@ var nowPlayingItem = session.NowPlayingItem; - var className = nowPlayingItem ? 'playingSession activeSession' : 'activeSession'; + var className = nowPlayingItem ? 'card card-16-9 activeSession manualSize' : 'card card-16-9 activeSession manualSize'; if (session.TranscodingInfo && session.TranscodingInfo.CompletionPercentage) { className += ' transcodingSession'; @@ -252,6 +252,12 @@ html += '
'; + html += '
'; + html += '
'; + + html += '
'; + html += '
'; + html += '
'; + + lastTargetName = targetName; + } + } + + $('.syncActivity', page).html(html).trigger('create'); + } + + $(document).on('pageshow', "#dashboardSyncPage", function () { + + Dashboard.showLoadingMsg(); + + var page = this; + + var promise1 = ApiClient.getJSON(ApiClient.getUrl('Sync/Jobs')); + + var promise2 = ApiClient.getJSON(ApiClient.getUrl('Sync/Targets')); + + $.when(promise1, promise2).done(function (response1, response2) { + + loadData(page, response1[0].Items, response2[0]); + + Dashboard.hideLoadingMsg(); + + }); + + }).on('pageinit', "#dashboardSyncPage", function () { + + var page = this; + + }); + +})(); \ No newline at end of file diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 5aecc6f663..d0b6a82aa2 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -249,7 +249,7 @@ else if (context == 'movies' || item.Type == 'Movie') { elem = $('#movieTabs', page).show(); $('a', elem).removeClass('ui-btn-active'); - + if (item.Type == 'BoxSet') { $('.lnkCollections', page).addClass('ui-btn-active'); } else { @@ -1101,7 +1101,10 @@ var onclick = item.PlayAccess == 'Full' ? ' onclick="ItemDetailPage.play(' + chapter.StartPositionTicks + ');"' : ''; - html += ''; + html += ''; + + html += '
'; + html += '
'; var imgUrl; @@ -1117,15 +1120,27 @@ imgUrl = "css/images/items/list/chapter.png"; } - html += '
'; + html += '
'; - html += '
'; - html += '
' + chapterName + '
'; - html += '
'; + html += '
'; + html += '
'; + html += '
'; + html += '
' + chapterName + '
'; + html += '
'; html += Dashboard.getDisplayTime(chapter.StartPositionTicks); - html += '
'; + + //cardFooter + html += "
"; + + // cardContent + html += '
'; + + // cardScalable + html += '
'; + + // cardBox html += '
'; html += '
'; @@ -1291,7 +1306,7 @@ var item = items[i]; - var cssClass = "posterItem smallBackdropPosterItem"; + var cssClass = "card card-16-9 manualSize detailPage169Card"; var href = "itemdetails.html?id=" + item.Id; @@ -1299,6 +1314,9 @@ html += ''; + html += '
'; + html += '
'; + var imageTags = item.ImageTags || {}; var imgUrl; @@ -1315,12 +1333,14 @@ imgUrl = "css/images/items/detail/video.png"; } - html += '
'; + html += '
'; - html += '
'; - html += '
' + item.Name + '
'; - html += '
'; + html += '
'; + html += '
'; + html += '
'; + html += '
' + item.Name + '
'; + html += '
'; if (item.RunTimeTicks != "") { html += Dashboard.getDisplayTime(item.RunTimeTicks); } @@ -1328,10 +1348,20 @@ html += " "; } html += '
'; + + //cardFooter + html += "
"; + + // cardContent + html += '
'; + + // cardScalable + html += '
'; + + // cardBox html += '
'; html += '
'; - } if (limit && items.length > limit) { diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 724827df6e..77649d60e4 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -564,11 +564,15 @@ return ''; }, + getUserDataCssClass: function(key) { + return 'libraryItemUserData' + key; + }, + getListViewHtml: function (options) { var outerHtml = ""; - outerHtml += '
    '; + outerHtml += '
      '; var index = 0; var groupTitle = ''; @@ -593,7 +597,7 @@ var cssClass = 'ui-li-has-thumb listItem'; if (item.UserData) { - cssClass += ' libraryItemUserData' + item.UserData.Key; + cssClass += ' ' + LibraryBrowser.getUserDataCssClass(item.UserData.Key); } var href = LibraryBrowser.getHref(item, options.context); @@ -987,7 +991,7 @@ var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context); if (item.UserData) { - cssClass += ' libraryItemUserData' + item.UserData.Key; + cssClass += ' ' + LibraryBrowser.getUserDataCssClass(item.UserData.Key); } if (options.showChildCountIndicator && item.ChildCount) { diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index fd2f363bed..7bdc436a4c 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -688,7 +688,9 @@ function onUserDataChanged(userData) { - $('.libraryItemUserData' + userData.Key).each(function () { + var cssClass = LibraryBrowser.getUserDataCssClass(userData.Key); + + $('.' + cssClass).each(function () { this.setAttribute('data-positionticks', (userData.PlaybackPositionTicks || 0)); diff --git a/dashboard-ui/scripts/loginpage.js b/dashboard-ui/scripts/loginpage.js index f0caf056a7..4df2b61ef1 100644 --- a/dashboard-ui/scripts/loginpage.js +++ b/dashboard-ui/scripts/loginpage.js @@ -126,30 +126,37 @@ for (var i = 0, length = users.length; i < length; i++) { var user = users[i]; - var linkId = "lnkUser" + i; + html += '
      '; - html += ""; + html += ''; - html += '
      '; + html += '
      '; + html += '
      ' + user.Name + '
      '; + + html += '
      '; var lastSeen = LoginPage.getLastSeenText(user.LastActivityDate); if (lastSeen != "") { html += lastSeen; @@ -158,13 +165,15 @@ html += " "; } html += '
      '; + html += '
      '; + html += '
      '; - html += ''; + html += '
      '; } var elem = $('#divUsers', '#loginPage').html(html); - $('.posterItem', elem).on('click', function () { + $('a', elem).on('click', function () { var name = this.getAttribute('data-username'); var haspw = this.getAttribute('data-haspw'); diff --git a/dashboard-ui/scripts/mypreferencesdisplay.js b/dashboard-ui/scripts/mypreferencesdisplay.js index d6afe49dc3..84f5f018d6 100644 --- a/dashboard-ui/scripts/mypreferencesdisplay.js +++ b/dashboard-ui/scripts/mypreferencesdisplay.js @@ -24,7 +24,7 @@ var isChecked = user.Configuration.ExcludeFoldersFromGrouping.indexOf(i.Id) == -1; var checkedHtml = isChecked ? ' checked="checked"' : ''; - currentHtml += ''; + currentHtml += ''; return currentHtml; @@ -57,7 +57,7 @@ var isChecked = user.Configuration.DisplayChannelsWithinViews.indexOf(i.Id) != -1; var checkedHtml = isChecked ? ' checked="checked"' : ''; - currentHtml += ''; + currentHtml += ''; return currentHtml; diff --git a/dashboard-ui/scripts/plugincatalogpage.js b/dashboard-ui/scripts/plugincatalogpage.js index 604ddbd9c8..f84d7791f8 100644 --- a/dashboard-ui/scripts/plugincatalogpage.js +++ b/dashboard-ui/scripts/plugincatalogpage.js @@ -59,12 +59,18 @@ var href = plugin.externalUrl ? plugin.externalUrl : "addplugin.html?name=" + encodeURIComponent(plugin.name) + "&guid=" + plugin.guid; var target = plugin.externalUrl ? ' target="_blank"' : ''; - html += ""; + html += "
      "; + html += '
      '; + html += '
      '; + + html += '
      '; + + html += '
      '; if (plugin.thumbImage) { - html += '
      '; + html += '
      '; } else { - html += '
      '; + html += '
      '; } if (plugin.isPremium) { @@ -76,14 +82,20 @@ } html += "
      "; - html += "
      "; + // cardContent + html += ""; + // cardScalable + html += "
      "; + + html += '
      '; + + html += "
      "; html += plugin.name; - html += "
      "; if (!plugin.isExternal) { - html += "
      "; + html += "
      "; html += plugin.price > 0 ? "$" + plugin.price.toFixed(2) : Globalize.translate('LabelFree'); html += RatingHelpers.getStoreRatingHtml(plugin.avgRating, plugin.id, plugin.name); @@ -98,7 +110,7 @@ return ip.Name == plugin.name; })[0]; - html += "
      "; + html += "
      "; if (installedPlugin) { html += Globalize.translate('LabelVersionInstalled').replace("{0}", installedPlugin.Version); @@ -107,7 +119,14 @@ } html += "
      "; - html += ""; + // cardFooter + html += "
      "; + + // cardBox + html += "
      "; + + // card + html += "
      "; pluginhtml += html; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index ff5c0507e0..88a162801e 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -601,9 +601,7 @@ var Dashboard = { if (!sidebar.length) { - var html = '
      '; - - html += '
      '; + var html = '
      '; html += ''; - html += '
      '; + html += '
      '; - html += '

      MEDIABROWSER

      '; + html += '

      MEDIABROWSER

      '; for (i = 0, length = links.length; i < length; i++) { @@ -669,7 +667,8 @@ var Dashboard = { html += '
      '; - $(page).append(html).trigger('create'); + $('.content-primary', page).before(html); + $(page).trigger('create'); } }, @@ -681,6 +680,10 @@ var Dashboard = { name: Globalize.translate('TabServer'), href: "dashboard.html", selected: page.hasClass("dashboardHomePage") + }, { + name: Globalize.translate('TabUsers'), + href: "userprofiles.html", + selected: page.hasClass("userProfilesPage") }, { name: Globalize.translate('TabLibrary'), divider: true, diff --git a/dashboard-ui/scripts/sync.js b/dashboard-ui/scripts/sync.js index ed61650a68..071f286c82 100644 --- a/dashboard-ui/scripts/sync.js +++ b/dashboard-ui/scripts/sync.js @@ -2,21 +2,22 @@ function submitJob(userId, items, form) { - var targets = $('.chkSyncTarget:checked', form).get().map(function (c) { + var target = $('.radioSync:checked', form).get().map(function (c) { return c.getAttribute('data-targetid'); - }); - if (!targets.length) { + })[0]; - Dashboard.alert('Please select one or more sync targets.'); + if (!target) { + + Dashboard.alert('Please select a device to sync to.'); return; } var options = { userId: userId, - TargetIds: targets.join(','), + TargetId: target, ItemIds: items.map(function (i) { return i.Id; @@ -34,7 +35,6 @@ }).done(function () { - $('.syncPanel').panel('close'); }); } @@ -61,8 +61,8 @@ html += targets.map(function (t) { - var targetHtml = ''; - targetHtml += ''; + var targetHtml = ''; + targetHtml += ''; return targetHtml; @@ -109,6 +109,7 @@ } function isAvailable(item, user) { + return item.SupportsSync; } diff --git a/dashboard-ui/serversecurity.html b/dashboard-ui/serversecurity.html index 157d554fd8..0607e2ff09 100644 --- a/dashboard-ui/serversecurity.html +++ b/dashboard-ui/serversecurity.html @@ -11,9 +11,9 @@

      diff --git a/dashboard-ui/useredit.html b/dashboard-ui/useredit.html index 5b929ffc9a..876d0bd9a8 100644 --- a/dashboard-ui/useredit.html +++ b/dashboard-ui/useredit.html @@ -4,16 +4,16 @@ -
      +