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}

+
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 @@ -
      +