diff --git a/dashboard-ui/bower_components/emby-apiclient/.bower.json b/dashboard-ui/bower_components/emby-apiclient/.bower.json index e74f5e73b9..8ea484b639 100644 --- a/dashboard-ui/bower_components/emby-apiclient/.bower.json +++ b/dashboard-ui/bower_components/emby-apiclient/.bower.json @@ -16,12 +16,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.1.73", - "_release": "1.1.73", + "version": "1.1.74", + "_release": "1.1.74", "_resolution": { "type": "version", - "tag": "1.1.73", - "commit": "3b108b8da07b5b715fe616f1528ad95acd15e061" + "tag": "1.1.74", + "commit": "3899ca26b73cbca2779ca2ff62c1063bf058ee4c" }, "_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", "_target": "^1.1.51", diff --git a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js index de160c0c16..f484911c85 100644 --- a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js +++ b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js @@ -215,7 +215,7 @@ return connectUser; }; - var minServerVersion = '3.0.5930'; + var minServerVersion = '3.0.5971'; self.minServerVersion = function (val) { if (val) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 55b253c368..fce1be0321 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.161", - "_release": "1.4.161", + "version": "1.4.165", + "_release": "1.4.165", "_resolution": { "type": "version", - "tag": "1.4.161", - "commit": "da357c3660e6956a59327fdd9d90506d16dc4b5c" + "tag": "1.4.165", + "commit": "ebe71bd8b4505ceb207efb226686eb6c3e842b4c" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css index ecfeba88b1..6a67a732c3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css @@ -37,6 +37,10 @@ flex-shrink: 0; } +.actionSheetMenuItem-noflex { + display: block; +} + .actionSheetItemText { padding: .8em 0; white-space: nowrap; diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js index 6874ff7268..93ca3d7dee 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js @@ -170,14 +170,14 @@ html += '
'; - var itemTagName = 'button'; + var menuItemClass = browser.noFlex || browser.firefox ? 'actionSheetMenuItem actionSheetMenuItem-noflex' : 'actionSheetMenuItem'; for (i = 0, length = options.items.length; i < length; i++) { option = options.items[i]; var autoFocus = option.selected ? ' autoFocus' : ''; - html += '<' + itemTagName + autoFocus + ' is="emby-button" type="button" class="actionSheetMenuItem" data-id="' + (option.id || option.value) + '">'; + html += ''; if (option.icon) { html += '' + option.icon + ''; @@ -186,7 +186,7 @@ html += ''; } html += '
' + (option.name || option.textContent || option.innerText) + '
'; - html += ''; + html += ''; } if (options.showCancel) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css index 3ee3c59bec..cc5b82ef31 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css @@ -1,4 +1,7 @@ .card { + border: 0; + font-size: inherit !important; + font-family: inherit !important; text-transform: none; background-color: transparent !important; background: none !important; @@ -41,12 +44,6 @@ contain: layout style; } -button.card { - border: 0 !important; - font-size: inherit !important; - font-family: inherit !important; -} - .cardScalable { position: relative; } @@ -70,7 +67,7 @@ button.card { .card .cardBox { padding: 0 !important; margin: 0; - transition: none !important; + transition: none; border: 3px solid transparent; } @@ -85,14 +82,6 @@ button.card { } } -.round .cardBox { - border: .7em solid transparent; -} - -.round .cardImageContainer { - border: .15em solid transparent; -} - .card:focus { position: relative !important; z-index: 10 !important; @@ -103,20 +92,6 @@ button.card { border-color: transparent; } -.cardImageContainer, .round:focus .cardImageContainer { - border-color: #fff; -} - -.round .cardBox { - transition: transform 180ms ease-out !important; - -webkit-transform-origin: center center; - transform-origin: center center; -} - -.layout-tv .round:focus .cardBox { - transform: scale(1.34, 1.34); -} - .bottomPaddedCard .cardBox:not(.visualCardBox) { margin-bottom: 1em; } @@ -172,6 +147,7 @@ button.card { position: relative; background-clip: content-box !important; border-radius: 2px; + color: #fff; } .visualCardBox .cardImageContainer { @@ -183,7 +159,7 @@ button.card { border-radius: 0; } -button.cardImageContainer { +.cardImageContainer-button { border: 0; padding: 0; background-color: transparent; @@ -208,18 +184,10 @@ button.cardImageContainer { display: block; } -.round .cardContent { - overflow: visible; -} - .scalableCard .cardImageContainer { height: 100%; } -.round .cardImageContainer, .round .cardImage { - border-radius: 1000px; -} - .cardImage.coveredImage, .cardImageContainer.coveredImage, .coveredImage .cardImage { background-size: 100% 100%; background-position: center center; @@ -233,10 +201,6 @@ button.cardImageContainer { padding: .5em .3em; } - .cardFooter .cardText + .cardText { - opacity: .6; - } - .visualCardBox .cardScalable, .visualCardBox .cardFooter { background-color: #222326; } @@ -259,6 +223,7 @@ button.cardImageContainer { z-index: 1; overflow: hidden; max-width: 100%; + color: #fff; } .innerCardFooterClear { @@ -274,20 +239,17 @@ button.cardImageContainer { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -} - -.cardText { color: inherit; } -.innerCardFooter .cardText, .cardImageContainer .cardText { - color: #fff; -} - .cardTextCentered { text-align: center; } +.cardText-secondary { + opacity: .6; +} + .cardCenteredText { white-space: normal; } @@ -310,7 +272,7 @@ button.cardImageContainer { color: #fff; } -.card .indicators { +.cardIndicators { right: 2.5%; top: 2.5%; position: absolute; @@ -318,12 +280,12 @@ button.cardImageContainer { align-items: center; } -.portraitCard .indicators { +.portraitCardIndicators { right: 3%; top: 2%; } -.backdropCard .indicators { +.backdropCardIndicators { right: 1.5%; top: 2.8%; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index d78201eb3a..09e94e7324 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -669,7 +669,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo return 'defaultCardColor' + getDefaultColorIndex(str); } - function getCardTextLines(lines, cssClass, forceLines) { + function getCardTextLines(lines, cssClass, forceLines, addSecondaryClass) { var html = ''; @@ -680,6 +680,10 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo var text = lines[i]; + if (i == 1 && addSecondaryClass) { + cssClass += ' cardText-secondary'; + } + if (text) { html += "
"; html += text; @@ -865,7 +869,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } } - html += getCardTextLines(lines, cssClass, !options.overlayText); + html += getCardTextLines(lines, cssClass, !options.overlayText, isOuterFooter); if (progressHtml) { html += progressHtml; @@ -1076,6 +1080,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } else { if (overlayButtons && !separateCardBox) { + cardImageContainerClass += ' cardImageContainerClass-button'; cardImageContainerOpen = imgUrl ? (''; @@ -1102,7 +1107,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } if (indicatorsHtml) { - cardImageContainerOpen += '
' + indicatorsHtml + '
'; + cardImageContainerOpen += '
' + indicatorsHtml + '
'; } var forceName = imgInfo.forceName; diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js index c87df6fa17..02794c3136 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js @@ -69,12 +69,12 @@ define(['imageLoader', 'itemShortcuts', 'connectionManager'], function (imageLoa nameHtml += '
' + person.Name + '
'; if (person.Role) { - nameHtml += '
as ' + person.Role + '
'; + nameHtml += '
as ' + person.Role + '
'; } else if (person.Type) { - nameHtml += '
' + Globalize.translate('core#' + person.Type) + '
'; + nameHtml += '
' + Globalize.translate('core#' + person.Type) + '
'; } else { - nameHtml += '
 
'; + nameHtml += '
 
'; } var html = '\ diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/roundcard.css b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/roundcard.css new file mode 100644 index 0000000000..df2d9b9674 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/roundcard.css @@ -0,0 +1,29 @@ +.cardBox-round { + border: .7em solid transparent; +} + +.cardImageContainer-round { + border: .15em solid transparent; +} + +.cardImageContainer, .card-round:focus .cardImageContainer { + border-color: #fff; +} + +.cardBox-round { + transition: transform 180ms ease-out !important; + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.layout-tv .card-round:focus .cardBox { + transform: scale(1.34, 1.34); +} + +.cardContent-round { + overflow: visible; +} + +.cardImageContainer-round, .card-round .cardImage { + border-radius: 1000px; +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-itemscontainer/emby-itemscontainer.js b/dashboard-ui/bower_components/emby-webcomponents/emby-itemscontainer/emby-itemscontainer.js index aca2bc8082..6af1a82587 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-itemscontainer/emby-itemscontainer.js +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-itemscontainer/emby-itemscontainer.js @@ -41,7 +41,6 @@ //} itemShortcuts.showContextMenu(card, { - identify: false, positionTo: target, itemsContainer: itemsContainer }); diff --git a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js index 8f16017e24..3ae397f1ef 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js @@ -32,7 +32,7 @@ define(['dom'], function (dom) { } } - var focusableTagNames = ['INPUT', 'TEXTAREA', 'SELECT', 'BUTTON', 'A', 'PAPER-CHECKBOX']; + var focusableTagNames = ['INPUT', 'TEXTAREA', 'SELECT', 'BUTTON', 'A']; var focusableContainerTagNames = ['BODY', 'DIALOG']; var focusableQuery = focusableTagNames.join(',') + ',.focusable'; @@ -89,7 +89,7 @@ define(['dom'], function (dom) { } function getFocusableElements(parent) { - var elems = (parent || document).querySelectorAll(focusableQuery); + var elems = (parent || document.body).querySelectorAll(focusableQuery); var focusableElements = []; for (var i = 0, length = elems.length; i < length; i++) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js b/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js index c1fa6608df..1732014133 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js @@ -203,15 +203,15 @@ html += '
'; html += '
'; - html += '
'; + html += '
'; html += '
' + result.Name + '
'; - html += '
'; + html += '
'; html += result.ProductionYear || ' '; html += '
'; if (result.GameSystem) { - html += '
'; + html += '
'; html += result.GameSystem; html += '
'; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css index 1e707ef583..08c2301b5c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css +++ b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css @@ -12,12 +12,15 @@ text-align: left; padding: .25em 1.15em; line-height: 160%; - border-bottom: 1px solid #2a2a2a; cursor: pointer; white-space: nowrap; overflow: hidden; } +.listItem-border { + border-bottom: 1px solid #2a2a2a; +} + .listItem-button { width: 100%; } @@ -131,11 +134,11 @@ color: inherit !important; } -.layout-tv .listItem { +.listItem-focusscale { transition: transform .2s ease-out; } - .layout-tv .listItem:focus { + .listItem-focusscale:focus { transform: scale(1.025, 1.025); } @@ -150,11 +153,7 @@ background-color: transparent !important; } -.paperList .listItem { - border-bottom: 0; -} - -.layout-tv .listItemMediaInfo { +.listItemMediaInfo-padded { margin: .5em 0; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js index 45ef17286b..673f1c1026 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js +++ b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js @@ -178,12 +178,16 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan } } - var cssClass = "listItem listItem-nosidepadding"; + var cssClass = "listItem listItem-nosidepadding listItem-border"; if (clickEntireItem) { cssClass += ' itemAction listItem-button'; } + if (layoutManager.tv) { + cssClass += ' listItem-focusscale'; + } + var downloadWidth = 80; if (isLargeStyle) { @@ -281,7 +285,13 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan html += getTextLinesHtml(textlines, isLargeStyle); if (!enableSideMediaInfo) { - html += '
' + mediaInfo.getPrimaryMediaInfoHtml(item) + '
'; + + var mediaInfoClass = 'secondary listItemMediaInfo listItemBodyText'; + if (layoutManager.tv) { + mediaInfoClass += ' listItemMediaInfo-padded'; + } + + html += '
' + mediaInfo.getPrimaryMediaInfoHtml(item) + '
'; } if (enableOverview && item.Overview) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.css b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.css index caa939e833..76ea15a00f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.css +++ b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.css @@ -5,7 +5,7 @@ right: 0; top: 0; background-color: rgba(0, 0, 0, .3); - z-index: 999; + z-index: 99998; border: 1px solid #43A047; } @@ -19,6 +19,7 @@ display: flex; align-items: center; color: #fff; + z-index: 99999; } .itemSelectionCount { diff --git a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js index 5e3014fb8e..995a8e372b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js +++ b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js @@ -109,7 +109,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l touchDragging: 1, // Enable navigation by dragging the SLIDEE with touch events. releaseSwing: false, // Ease out on dragging swing release. swingSpeed: 0.2, // Swing synchronization speed, where: 1 = instant, 0 = infinite. - elasticBounds: false, // Stretch SLIDEE position limits when dragging past FRAME boundaries. dragThreshold: 3, // Distance in pixels before Sly recognizes dragging. intervactive: null, // Selector for special interactive elements. @@ -351,16 +350,7 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l */ function slideTo(newPos, immediate) { - // Handle overflowing position limits - if (dragging.init && dragging.slidee && o.elasticBounds) { - if (newPos > pos.end) { - newPos = pos.end + (newPos - pos.end) / 6; - } else if (newPos < pos.start) { - newPos = pos.start + (newPos - pos.start) / 6; - } - } else { - newPos = within(newPos, pos.start, pos.end); - } + newPos = within(newPos, pos.start, pos.end); if (!transform) { @@ -388,10 +378,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l function renderAnimate() { - if (!transform) { - return; - } - var obj = getComputedStyle(slideeElement, null).getPropertyValue('transform').match(/([-+]?(?:\d*\.)?\d+)\D*, ([-+]?(?:\d*\.)?\d+)\D*\)/); if (obj) { // [1] = x, [2] = y @@ -441,66 +427,34 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l }; } - function getOffsets(elems) { + function getBoundingClientRect(elem) { - var doc = document; - var results = []; - - if (!doc) { - return results; + // Support: BlackBerry 5, iOS 3 (original iPhone) + // If we don't have gBCR, just use 0,0 rather than error + if (elem.getBoundingClientRect) { + return elem.getBoundingClientRect(); + } else { + return { top: 0, left: 0 }; } - - var docElem = doc.documentElement; - var docElemValues = { - clientTop: docElem.clientTop, - clientLeft: docElem.clientLeft - }; - - var win = doc.defaultView; - var winValues = { - pageXOffset: win.pageXOffset, - pageYOffset: win.pageYOffset - }; - - var box; - var elem; - - for (var i = 0, length = elems.length; i < length; i++) { - - elem = elems[i]; - // Support: BlackBerry 5, iOS 3 (original iPhone) - // If we don't have gBCR, just use 0,0 rather than error - if (elem.getBoundingClientRect) { - box = elem.getBoundingClientRect(); - } else { - box = { top: 0, left: 0 }; - } - - results[i] = { - top: box.top + winValues.pageYOffset - docElemValues.clientTop, - left: box.left + winValues.pageXOffset - docElemValues.clientLeft - }; - } - - return results; } /** - * Returns the position object. - * - * @param {Mixed} item - * - * @return {Object} - */ + * Returns the position object. + * + * @param {Mixed} item + * + * @return {Object} + */ self.getPos = function (item) { - var offsets = getOffsets([slideeElement, item]); - - var slideeOffset = offsets[0]; - var itemOffset = offsets[1]; + var slideeOffset = getBoundingClientRect(slideeElement); + var itemOffset = getBoundingClientRect(item); var offset = o.horizontal ? itemOffset.left - slideeOffset.left : itemOffset.top - slideeOffset.top; - var size = item[o.horizontal ? 'offsetWidth' : 'offsetHeight']; + var size = o.horizontal ? itemOffset.width : itemOffset.height; + if (!size) { + size = item[o.horizontal ? 'offsetWidth' : 'offsetHeight']; + } var centerOffset = o.centerOffset || 0; diff --git a/dashboard-ui/bower_components/emby-webcomponents/scrollhelper.js b/dashboard-ui/bower_components/emby-webcomponents/scrollhelper.js index f8949982cf..f39681d6c1 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/scrollhelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/scrollhelper.js @@ -1,57 +1,26 @@ define(['focusManager', 'dom', 'scrollStyles'], function (focusManager, dom) { - function getOffsets(elems) { + function getBoundingClientRect(elem) { - var doc = document; - var results = []; - - if (!doc) { - return results; + // Support: BlackBerry 5, iOS 3 (original iPhone) + // If we don't have gBCR, just use 0,0 rather than error + if (elem.getBoundingClientRect) { + return elem.getBoundingClientRect(); + } else { + return { top: 0, left: 0 }; } - - var docElem = doc.documentElement; - var docElemValues = { - clientTop: docElem.clientTop, - clientLeft: docElem.clientLeft - }; - - var win = doc.defaultView; - var winValues = { - pageXOffset: win.pageXOffset, - pageYOffset: win.pageYOffset - }; - - var box; - var elem; - - for (var i = 0, length = elems.length; i < length; i++) { - - elem = elems[i]; - // Support: BlackBerry 5, iOS 3 (original iPhone) - // If we don't have gBCR, just use 0,0 rather than error - if (elem.getBoundingClientRect) { - box = elem.getBoundingClientRect(); - } else { - box = { top: 0, left: 0 }; - } - - results[i] = { - top: box.top + winValues.pageYOffset - docElemValues.clientTop, - left: box.left + winValues.pageXOffset - docElemValues.clientLeft - }; - } - - return results; } function getPosition(scrollContainer, item, horizontal) { - var offsets = getOffsets([scrollContainer, item]); - var slideeOffset = offsets[0]; - var itemOffset = offsets[1]; + var slideeOffset = getBoundingClientRect(scrollContainer); + var itemOffset = getBoundingClientRect(item); var offset = horizontal ? itemOffset.left - slideeOffset.left : itemOffset.top - slideeOffset.top; - var size = item[horizontal ? 'offsetWidth' : 'offsetHeight']; + var size = horizontal ? itemOffset.width : itemOffset.height; + if (!size) { + size = item[horizontal ? 'offsetWidth' : 'offsetHeight']; + } if (horizontal) { offset += scrollContainer.scrollLeft; diff --git a/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js b/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js index af1f2c540f..d87fc293b3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js +++ b/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js @@ -125,7 +125,6 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g queue: true, playAllFromHere: !item.IsFolder, queueAllFromHere: !item.IsFolder, - identify: false, playlistId: playlistId, collectionId: collectionId @@ -258,7 +257,6 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g } : {}; - options.identify = false; options.positionTo = target; showContextMenu(card, options); diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js index 5d9dd465c8..82a6703e9b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js @@ -117,7 +117,9 @@ var itemHtml = ''; var tagName = layoutManager.tv ? 'button' : 'div'; - var className = layoutManager.tv && s.Path ? 'listItem btnDelete' : 'listItem'; + var className = layoutManager.tv && s.Path ? 'listItem listItem-focusscale btnDelete' : 'listItem'; + + className += ' listItem-noborder'; itemHtml += '<' + tagName + ' class="' + className + '" data-index="' + s.Index + '">'; diff --git a/dashboard-ui/bower_components/iron-flex-layout/.bower.json b/dashboard-ui/bower_components/iron-flex-layout/.bower.json index 023b53e0e5..c6c5c62b6b 100644 --- a/dashboard-ui/bower_components/iron-flex-layout/.bower.json +++ b/dashboard-ui/bower_components/iron-flex-layout/.bower.json @@ -28,14 +28,14 @@ "web-component-tester": "^4.0.0" }, "ignore": [], - "homepage": "https://github.com/polymerelements/iron-flex-layout", + "homepage": "https://github.com/PolymerElements/iron-flex-layout", "_release": "1.3.1", "_resolution": { "type": "version", "tag": "v1.3.1", "commit": "6d88f29f3a7181daa2a5c7f678de44f0a0e6a717" }, - "_source": "git://github.com/polymerelements/iron-flex-layout.git", + "_source": "git://github.com/PolymerElements/iron-flex-layout.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-flex-layout" + "_originalSource": "PolymerElements/iron-flex-layout" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-icon/.bower.json b/dashboard-ui/bower_components/iron-icon/.bower.json index f3338bba57..eeaddfa5df 100644 --- a/dashboard-ui/bower_components/iron-icon/.bower.json +++ b/dashboard-ui/bower_components/iron-icon/.bower.json @@ -32,14 +32,14 @@ "web-component-tester": "^4.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/PolymerElements/iron-icon", + "homepage": "https://github.com/polymerelements/iron-icon", "_release": "1.0.9", "_resolution": { "type": "version", "tag": "v1.0.9", "commit": "f6fb241901377e30e2c9c6cd47e3e8e8beb6574d" }, - "_source": "git://github.com/PolymerElements/iron-icon.git", + "_source": "git://github.com/polymerelements/iron-icon.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/iron-icon" + "_originalSource": "polymerelements/iron-icon" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-meta/.bower.json b/dashboard-ui/bower_components/iron-meta/.bower.json index f4bfef4a7c..e1304d174b 100644 --- a/dashboard-ui/bower_components/iron-meta/.bower.json +++ b/dashboard-ui/bower_components/iron-meta/.bower.json @@ -26,14 +26,14 @@ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, "main": "iron-meta.html", - "homepage": "https://github.com/polymerelements/iron-meta", + "homepage": "https://github.com/PolymerElements/iron-meta", "_release": "1.1.1", "_resolution": { "type": "version", "tag": "v1.1.1", "commit": "e171ee234b482219c9514e6f9551df48ef48bd9f" }, - "_source": "git://github.com/polymerelements/iron-meta.git", + "_source": "git://github.com/PolymerElements/iron-meta.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-meta" + "_originalSource": "PolymerElements/iron-meta" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/polymer/.bower.json b/dashboard-ui/bower_components/polymer/.bower.json index a96f0f050e..25eb84c037 100644 --- a/dashboard-ui/bower_components/polymer/.bower.json +++ b/dashboard-ui/bower_components/polymer/.bower.json @@ -32,14 +32,14 @@ "iron-component-page": "polymerElements/iron-component-page#^1.1.6" }, "private": true, - "homepage": "https://github.com/Polymer/polymer", + "homepage": "https://github.com/polymer/polymer", "_release": "1.6.1", "_resolution": { "type": "version", "tag": "v1.6.1", "commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc" }, - "_source": "git://github.com/Polymer/polymer.git", + "_source": "git://github.com/polymer/polymer.git", "_target": "^1.1.0", - "_originalSource": "Polymer/polymer" + "_originalSource": "polymer/polymer" } \ No newline at end of file diff --git a/dashboard-ui/components/directorybrowser/directorybrowser.js b/dashboard-ui/components/directorybrowser/directorybrowser.js index 7299983e69..1eec1fe597 100644 --- a/dashboard-ui/components/directorybrowser/directorybrowser.js +++ b/dashboard-ui/components/directorybrowser/directorybrowser.js @@ -233,7 +233,6 @@ dlg.classList.add('ui-body-a'); dlg.classList.add('background-theme-a'); - dlg.classList.add('popupEditor'); dlg.classList.add('directoryPicker'); diff --git a/dashboard-ui/components/imagedownloader/imagedownloader.js b/dashboard-ui/components/imagedownloader/imagedownloader.js index f1ee46c265..8f1b610c8e 100644 --- a/dashboard-ui/components/imagedownloader/imagedownloader.js +++ b/dashboard-ui/components/imagedownloader/imagedownloader.js @@ -308,7 +308,6 @@ dlg.classList.add('ui-body-' + theme); dlg.classList.add('background-theme-' + theme); - dlg.classList.add('popupEditor'); var html = ''; html += '

'; diff --git a/dashboard-ui/components/imageeditor/imageeditor.js b/dashboard-ui/components/imageeditor/imageeditor.js index 47300373d6..cfaee66117 100644 --- a/dashboard-ui/components/imageeditor/imageeditor.js +++ b/dashboard-ui/components/imageeditor/imageeditor.js @@ -283,7 +283,6 @@ dlg.classList.add('ui-body-' + theme); dlg.classList.add('background-theme-' + theme); - dlg.classList.add('popupEditor'); var html = ''; html += '

'; diff --git a/dashboard-ui/components/imageuploader/imageuploader.js b/dashboard-ui/components/imageuploader/imageuploader.js index a5744b30e3..66b330fe54 100644 --- a/dashboard-ui/components/imageuploader/imageuploader.js +++ b/dashboard-ui/components/imageuploader/imageuploader.js @@ -145,7 +145,6 @@ dlg.classList.add('ui-body-' + theme); dlg.classList.add('background-theme-' + theme); - dlg.classList.add('popupEditor'); var html = ''; html += '

'; diff --git a/dashboard-ui/components/medialibrarycreator/medialibrarycreator.js b/dashboard-ui/components/medialibrarycreator/medialibrarycreator.js index 9cf057f71d..6e57bee07a 100644 --- a/dashboard-ui/components/medialibrarycreator/medialibrarycreator.js +++ b/dashboard-ui/components/medialibrarycreator/medialibrarycreator.js @@ -92,7 +92,7 @@ function onAddButtonClick() { - var page = $(this).parents('.popupEditor')[0]; + var page = $(this).parents('.dlg-librarycreator')[0]; require(['directorybrowser'], function (directoryBrowser) { @@ -168,7 +168,7 @@ return p.toLowerCase() != location.toLowerCase(); }); - var page = $(this).parents('.popupEditor')[0]; + var page = $(this).parents('.dlg-librarycreator')[0]; renderPaths(page); } @@ -207,7 +207,7 @@ dlg.classList.add('ui-body-a'); dlg.classList.add('background-theme-a'); - dlg.classList.add('popupEditor'); + dlg.classList.add('dlg-librarycreator'); dlg.innerHTML = Globalize.translateDocument(template); document.body.appendChild(dlg); diff --git a/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js b/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js index 10555ae2a7..a23e593fb3 100644 --- a/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js +++ b/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js @@ -161,7 +161,6 @@ dlg.classList.add('ui-body-a'); dlg.classList.add('background-theme-a'); - dlg.classList.add('popupEditor'); var html = ''; html += '

'; diff --git a/dashboard-ui/components/navdrawer/navdrawer.js b/dashboard-ui/components/navdrawer/navdrawer.js index d96246e597..6653db4d54 100644 --- a/dashboard-ui/components/navdrawer/navdrawer.js +++ b/dashboard-ui/components/navdrawer/navdrawer.js @@ -1,4 +1,4 @@ -define(['browser', 'hammer', 'css!./navdrawer', 'scrollStyles'], function (browser, Hammer) { +define(['browser', 'css!./navdrawer', 'scrollStyles'], function (browser) { return function (options) { @@ -35,7 +35,7 @@ this.initialize(); }; - TouchMenuLA.prototype.initElements = function () { + TouchMenuLA.prototype.initElements = function (Hammer) { options.target.classList.add('touch-menu-la'); options.target.style.width = options.width + 'px'; options.target.style.left = -options.width + 'px'; @@ -44,7 +44,10 @@ mask = document.createElement('div'); mask.className = 'tmla-mask'; document.body.appendChild(mask); - maskHammer = new Hammer(mask, null); + + if (Hammer) { + maskHammer = new Hammer(mask, null); + } } }; @@ -89,7 +92,7 @@ self.checkMenuState(ev.deltaX, ev.deltaY); } - function initEdgeSwipe() { + function initEdgeSwipe(Hammer) { if (options.disableEdgeSwipe) { return; } @@ -258,6 +261,27 @@ } }; + function initWithHammer(Hammer) { + + if (Hammer) { + menuHammer = Hammer(options.target, null); + } + + self.initElements(Hammer); + + if (Hammer) { + self.touchStartMenu(); + self.touchEndMenu(); + self.eventStartMask(); + self.eventEndMask(); + initEdgeSwipe(Hammer); + } + + if (!options.disableMask) { + self.clickMaskClose(); + } + } + TouchMenuLA.prototype.initialize = function () { options = Object.assign(defaults, options || {}); @@ -267,20 +291,11 @@ options.disableEdgeSwipe = true; } - menuHammer = Hammer(options.target, null); - - self.initElements(); - - self.touchStartMenu(); - self.touchEndMenu(); - self.eventStartMask(); - self.eventEndMask(); - - if (!options.disableMask) { - self.clickMaskClose(); + if (browser.touch) { + require(['hammer'], initWithHammer); + } else { + initWithHammer(); } - - initEdgeSwipe(); }; return new TouchMenuLA(); diff --git a/dashboard-ui/components/remotecontrol.js b/dashboard-ui/components/remotecontrol.js index d666b31617..96073738a7 100644 --- a/dashboard-ui/components/remotecontrol.js +++ b/dashboard-ui/components/remotecontrol.js @@ -541,7 +541,7 @@ } else { - btnCast.querySelector('i').innerHTML = 'cast-connected'; + btnCast.querySelector('i').innerHTML = 'cast_connected'; btnCast.classList.add('btnActiveCast'); context.querySelector('.nowPlayingSelectedPlayer').innerHTML = info.deviceName || info.name; } diff --git a/dashboard-ui/mypreferencesmenu.html b/dashboard-ui/mypreferencesmenu.html index e656bd9562..5ad8f2bd8b 100644 --- a/dashboard-ui/mypreferencesmenu.html +++ b/dashboard-ui/mypreferencesmenu.html @@ -6,7 +6,7 @@
- +
${ButtonDisplaySettings}
${ButtonDisplaySettingsHelp}
@@ -16,7 +16,7 @@
- +
${ButtonHomeScreenSettings}
${ButtonHomeScreenSettingsHelp}
@@ -26,7 +26,7 @@
- +
${ButtonPlaybackSettings}
${ButtonPlaybackSettingsHelp}
@@ -36,7 +36,7 @@
- +
${ButtonProfile}
${ButtonProfileHelp}
@@ -46,7 +46,7 @@
- +
${ButtonSyncSettings}
${ButtonSyncSettingsHelp}
diff --git a/dashboard-ui/scripts/dashboardpage.js b/dashboard-ui/scripts/dashboardpage.js index ee86c4a5a4..5c01e2d734 100644 --- a/dashboard-ui/scripts/dashboardpage.js +++ b/dashboard-ui/scripts/dashboardpage.js @@ -151,7 +151,7 @@ var itemHtml = ''; itemHtml += '
'; - itemHtml += '
'; + itemHtml += '
'; itemHtml += 'dvr'; @@ -1034,7 +1034,7 @@ var html = ''; - html += '
'; + html += '
'; var color = entry.Severity == 'Error' || entry.Severity == 'Fatal' || entry.Severity == 'Warn' ? '#cc0000' : '#52B54B'; diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 54f008b303..fff150844f 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -2,7 +2,7 @@ function fadeInRight(elem) { - var pct = browserInfo.mobile ? '3.5%' : '0.5%'; + var pct = browserInfo.mobile ? '4%' : '0.5%'; var keyframes = [ { opacity: '0', transform: 'translate3d(' + pct + ', 0, 0)', offset: 0 }, @@ -163,6 +163,10 @@ configureSwipeTabs: function (ownerpage, tabs) { + if (!browserInfo.touch) { + return; + } + var pageCount = ownerpage.querySelectorAll('.pageTabContent').length; require(['hammer'], function (Hammer) { diff --git a/dashboard-ui/scripts/loginpage.js b/dashboard-ui/scripts/loginpage.js index ca7ff74334..ad4c943901 100644 --- a/dashboard-ui/scripts/loginpage.js +++ b/dashboard-ui/scripts/loginpage.js @@ -163,7 +163,7 @@ html += '
'; html += '
' + user.Name + '
'; - html += '
'; + html += '
'; var lastSeen = LoginPage.getLastSeenText(user.LastActivityDate); if (lastSeen != "") { html += lastSeen; diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index 3715bf87c6..7372b10061 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -121,7 +121,7 @@ function showActivePlayerMenu(playerInfo) { - require(['dialogHelper', 'emby-checkbox', 'emby-button'], function (dialogHelper) { + require(['dialogHelper', 'dialog', 'emby-checkbox', 'emby-button'], function (dialogHelper) { showActivePlayerMenuInternal(dialogHelper, playerInfo); }); } @@ -141,11 +141,14 @@ var dlg = dialogHelper.createDialog(dialogOptions); + dlg.classList.add('promptDialog'); + + html += '
'; html += '

'; html += (playerInfo.deviceName || playerInfo.name); html += '

'; - html += '
'; + html += '
'; if (playerInfo.supportedCommands.indexOf('DisplayContent') != -1) { @@ -158,17 +161,18 @@ html += '
'; - html += '
'; + html += '
'; // On small layouts papepr dialog doesn't respond very well. this button isn't that important here anyway. if (screen.availWidth >= 600) { - html += ''; + html += ''; } - html += ''; - html += ''; + html += ''; + html += ''; html += '
'; + html += '
'; dlg.innerHTML = html; document.body.appendChild(dlg); diff --git a/dashboard-ui/scripts/registrationservices.js b/dashboard-ui/scripts/registrationservices.js index 1ec9290571..f1059f66e5 100644 --- a/dashboard-ui/scripts/registrationservices.js +++ b/dashboard-ui/scripts/registrationservices.js @@ -99,7 +99,6 @@ dlg.classList.add('ui-body-b'); dlg.classList.add('background-theme-b'); - dlg.classList.add('popupEditor'); var html = ''; html += '

'; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 098e61091a..cf72d85294 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1433,6 +1433,7 @@ var AppInfo = {}; define("backdrop", [embyWebComponentsBowerPath + "/backdrop/backdrop"], returnFirstDependency); define("fetchHelper", [embyWebComponentsBowerPath + "/fetchhelper"], returnFirstDependency); + define("roundCardStyle", ["cardStyle", 'css!' + embyWebComponentsBowerPath + "/cardbuilder/roundcard"], returnFirstDependency); define("cardStyle", ['css!' + embyWebComponentsBowerPath + "/cardbuilder/card"], returnFirstDependency); define("cardBuilder", [embyWebComponentsBowerPath + "/cardbuilder/cardbuilder"], returnFirstDependency); define("peoplecardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/peoplecardbuilder"], returnFirstDependency); diff --git a/dashboard-ui/scripts/tvlatest.js b/dashboard-ui/scripts/tvlatest.js index c918222d03..229e0a7162 100644 --- a/dashboard-ui/scripts/tvlatest.js +++ b/dashboard-ui/scripts/tvlatest.js @@ -42,7 +42,6 @@ inheritThumb: false, showUnplayedIndicator: false, showChildCountIndicator: true, - overlayText: false, showParentTitle: true, lazy: true, showTitle: true, @@ -59,7 +58,6 @@ showParentTitle: false, showUnplayedIndicator: false, showChildCountIndicator: true, - overlayText: false, centerText: true, lazy: true, showTitle: false, diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js index 4d4cdb1576..2f66b3c960 100644 --- a/dashboard-ui/scripts/tvshows.js +++ b/dashboard-ui/scripts/tvshows.js @@ -265,10 +265,6 @@ name: Globalize.translate('OptionParentalRating'), id: 'OfficialRating,SortName' }, - { - name: Globalize.translate('OptionPlayCount'), - id: 'PlayCount,SortName' - }, { name: Globalize.translate('OptionReleaseDate'), id: 'PremiereDate,SortName' diff --git a/dashboard-ui/scripts/userprofilespage.js b/dashboard-ui/scripts/userprofilespage.js index 1f0c27d576..826615f998 100644 --- a/dashboard-ui/scripts/userprofilespage.js +++ b/dashboard-ui/scripts/userprofilespage.js @@ -122,7 +122,7 @@ html += '
'; if (user.ConnectUserId && addConnectIndicator) { - html += '
'; + html += '
'; html += '
cloud
'; html += "
"; } diff --git a/dashboard-ui/thirdparty/paper-button-style.css b/dashboard-ui/thirdparty/paper-button-style.css index cd807751fd..f9783b1f69 100644 --- a/dashboard-ui/thirdparty/paper-button-style.css +++ b/dashboard-ui/thirdparty/paper-button-style.css @@ -176,22 +176,11 @@ div.dialogHeader { margin-left: .75em; } -.dialog.popupEditor h2.dialogHeader { - font-weight: inherit !important; - line-height: 36px; - padding: 0 1em; - margin-top: .7em; -} - .formDialogHeader button { margin-top: 0; margin-bottom: 0; } -.dialog.popupEditor { - padding-bottom: 100px; -} - .formDialog.background-theme-b { background-color: #181818; }