From a61f2f48401222172a2d77fd68b4de52804f9eb2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 9 Apr 2013 14:38:58 -0400 Subject: [PATCH] new media info display --- dashboard-ui/css/librarybrowser.css | 22 ++++ dashboard-ui/scripts/Itemdetailpage.js | 133 ++++++++++++------------- 2 files changed, 87 insertions(+), 68 deletions(-) diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index d2b0f722f2..06eb0379f3 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -148,3 +148,25 @@ max-width: 1000px; } } + +.mediaInfoStream { + display: inline-block; + vertical-align: top; + margin-right: 2em; +} + +.mediaInfoStreamType { + border-bottom: 1px solid #555; + padding-bottom: 5px; + margin-bottom: .5em; + font-weight: bold; +} + +.mediaInfoDetails { + margin: 0 0 0 2em; + padding: 0; +} + +.mediaInfoLabel { + color: #bbb; +} diff --git a/dashboard-ui/scripts/Itemdetailpage.js b/dashboard-ui/scripts/Itemdetailpage.js index 1591128fcf..e913c370b5 100644 --- a/dashboard-ui/scripts/Itemdetailpage.js +++ b/dashboard-ui/scripts/Itemdetailpage.js @@ -89,7 +89,7 @@ } ItemDetailPage.renderFav(item); - LibraryBrowser.renderLinks(item); + LibraryBrowser.renderLinks(item); Dashboard.hideLoadingMsg(); }, @@ -456,21 +456,6 @@ var page = $.mobile.activePage; var html = ''; - var hasVideo = false; - var hasLanguage = false; - - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; for (var i = 0, length = item.MediaStreams.length; i < length; i++) { @@ -480,61 +465,73 @@ continue; } - if (stream.Type == "Video") { - hasVideo = true; + var type; + if (item.MediaType == "Audio" && stream.Type == "Video") { + type = "Embedded Image"; + } else { + type = stream.Type; } - if (item.MediaType == "Audio" && stream.Type == "Video") var type = "Embedded Image"; - else var type = stream.Type; - - html += ''; - html += ''; - html += ''; + html += '
'; + html += '

' + type + '

'; + + html += '
'; - } else html += ''; - - if (stream.Type == "Video") { - html += ''; - } else { - html += ''; + html += '
  • Language ' + stream.Language + '
  • '; + } + if (stream.Width) { + html += '
  • Width ' + stream.Width + '
  • '; + } + if (stream.Height) { + html += '
  • Height ' + stream.Height + '
  • '; + } + if (stream.AspectRatio) { + html += '
  • Aspect Ratio ' + stream.AspectRatio + '
  • '; + } + if (stream.Bitrate) { + html += '
  • Bitrate ' + stream.Bitrate + '
  • '; } - if (stream.Channels) { - html += ''; - } else { - html += ''; + html += '
  • Channels ' + stream.Channels + '
  • '; + } + + var framerate = stream.AverageFrameRate || stream.RealFrameRate; + + if (framerate) { + html += '
  • Framerate ' + framerate + '
  • '; + } + + if (stream.IsDefault) { + html += '
  • Default
  • '; + } + if (stream.IsForced) { + html += '
  • Forced
  • '; + } + if (stream.IsExternal) { + html += '
  • External
  • '; + } + if (stream.Path) { + html += '
  • Path ' + stream.Path + '
  • '; } - html += ''; + html += ''; - if (stream.Type == "Video") { - var framerate = stream.AverageFrameRate || stream.RealFrameRate; - html += ''; - } else { - html += ''; - } - - var notes = new Array(); - if (stream.IsExternal) notes.push("external file"); - if (stream.IsDefault) notes.push("Default"); - if (stream.IsForced) notes.push("Forced"); - - html += ''; - - html += ''; + html += ''; } - html += '
    TypeCodecLanguageResolutionChannelsBitrateFramerateFlags
    ' + type + '' + stream.Codec + '' + stream.Language + '' + stream.Width + '/' + stream.Height + ' (' + stream.AspectRatio + ')' + stream.Channels + 'ch ' + stream.SampleRate + ' khz' + stream.BitRate + '' + framerate + '' + notes.join(', ') + '
    '; - $('#mediaInfoContent', page).html(html).trigger('create'); - if (!hasLanguage) $('#mediaInfoCollapsible #mediaInfo-table .language', page).hide(); - if (!hasVideo) { - $('#mediaInfoCollapsible #mediaInfo-table .resolution', page).hide(); - $('#mediaInfoCollapsible #mediaInfo-table .framerate', page).hide(); - } + $('#mediaInfoCollapsible', page).show(); }, @@ -707,7 +704,7 @@ } else { var style = "background-color:" + LibraryBrowser.getMetroColor(cast.Name) + ";"; - html += ''; + html += ''; } html += '
    ' + cast.Name + '
    '; @@ -804,18 +801,18 @@ ItemDetailPage.renderFav(item); }, - setPlayed: function () { - var item = ItemDetailPage.item; + setPlayed: function () { + var item = ItemDetailPage.item; - item.UserData = item.UserData || {}; + item.UserData = item.UserData || {}; - var setting = !item.UserData.Played; - item.UserData.Played = setting; + var setting = !item.UserData.Played; + item.UserData.Played = setting; - ApiClient.updatePlayedStatus(Dashboard.getCurrentUserId(), item.Id, setting); + ApiClient.updatePlayedStatus(Dashboard.getCurrentUserId(), item.Id, setting); - ItemDetailPage.renderFav(item); - } + ItemDetailPage.renderFav(item); + } };