';
var i, length, option;
var renderIcon = false;
for (i = 0, length = options.items.length; i < length; i++) {
option = options.items[i];
- option.ironIcon = option.selected ? 'nav:check' : null;
+ option.icon = option.selected ? 'check' : null;
- if (option.ironIcon) {
+ if (option.icon) {
renderIcon = true;
}
}
@@ -160,11 +173,11 @@
var autoFocus = option.selected ? ' autoFocus' : '';
html += '<' + itemTagName + autoFocus + ' is="emby-button" type="button" class="actionSheetMenuItem" data-id="' + (option.id || option.value) + '">';
- if (option.ironIcon) {
- html += '
';
}
else if (renderIcon && !center) {
- html += '
';
html += '' + itemTagName + '>';
diff --git a/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js b/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js
index 01b90334a4..6995d3e1a5 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js
@@ -1,10 +1,10 @@
-define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html', 'css!./../prompt/style.css', 'emby-button', 'paper-icon-button-light'], function (dialogHelper, layoutManager, globalize) {
+define(['dialogHelper', 'layoutManager', 'globalize', 'material-icons', 'css!./../prompt/style.css', 'emby-button', 'paper-icon-button-light'], function (dialogHelper, layoutManager, globalize) {
function getIcon(icon, cssClass, canFocus, autoFocus) {
var tabIndex = canFocus ? '' : ' tabindex="-1"';
autoFocus = autoFocus ? ' autofocus' : '';
- return '
';
}
return function (options) {
@@ -44,7 +44,7 @@ define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html'
html += '
';
if (backButton) {
- html += getIcon('dialog:arrow-back', 'btnPromptExit', false);
+ html += getIcon('arrow_back', 'btnPromptExit', false);
}
if (options.title) {
@@ -72,7 +72,7 @@ define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html'
var buttonText = options.type == 'error' ? 'sharedcomponents#ButtonOk' : 'sharedcomponents#ButtonGotIt';
if (raisedButtons) {
- html += '
';
+ html += '
';
} else {
html += '
';
html += '
';
diff --git a/dashboard-ui/bower_components/emby-webcomponents/alphapicker/alphapicker.js b/dashboard-ui/bower_components/emby-webcomponents/alphapicker/alphapicker.js
index 92764cfc27..8f790d7a77 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/alphapicker/alphapicker.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/alphapicker/alphapicker.js
@@ -1,4 +1,4 @@
-define(['focusManager', 'css!./style.css', 'clearButtonStyle', 'paper-icon-button-light'], function (focusManager) {
+define(['focusManager', 'css!./style.css', 'clearButtonStyle', 'paper-icon-button-light', 'material-icons'], function (focusManager) {
function focus() {
var selected = this.querySelector('.selected');
@@ -24,8 +24,8 @@ define(['focusManager', 'css!./style.css', 'clearButtonStyle', 'paper-icon-butto
html += '
';
if (options.mode == 'keyboard') {
- html += '
';
diff --git a/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css b/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css
index 8ec59ca75a..b9b5296676 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css
@@ -33,10 +33,10 @@ button.alphaPickerButton {
opacity: .7;
}
-[is=paper-icon-button-light].alphaPickerButton {
- opacity: .25;
- width: 4.4vh;
- height: 4.4vh;
+[is=paper-icon-button-light].alphaPickerButton i {
+ width: 3.3vh;
+ height: 3.3vh;
+ font-size: 3.3vh;
}
.alphaPickerButton.selected {
diff --git a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js
index 5a1ef3be01..f36e3a7eab 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js
@@ -1,4 +1,4 @@
-define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'html!./../icons/nav.html', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
+define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
var currentServerId;
@@ -246,12 +246,12 @@
var title = items.length ? globalize.translate('sharedcomponents#AddToCollection') : globalize.translate('sharedcomponents#NewCollection');
html += '';
diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css
index 04f4bc7394..c43326c403 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css
@@ -95,7 +95,7 @@
left: 0 !important;
right: 0 !important;
margin: 0 !important;
- z-index: 999998 !important;
+ z-index: 999999 !important;
transition: opacity ease-out 0.2s;
}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js
index a582167694..33589dbe72 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js
@@ -142,8 +142,8 @@
dlg.addEventListener('click', function (event) {
var rect = dlg.getBoundingClientRect();
- var isInDialog = (rect.top <= event.clientY && event.clientY <= rect.top + rect.height
- && rect.left <= event.clientX && event.clientX <= rect.left + rect.width);
+ var isInDialog = (rect.top <= event.clientY && event.clientY <= (rect.top + rect.height)
+ && rect.left <= event.clientX && event.clientX <= (rect.left + rect.width));
if (!isInDialog) {
if (parentWithTag(event.target, 'SELECT')) {
@@ -180,7 +180,7 @@
var backdrop = document.createElement('div');
backdrop.classList.add('dialogBackdrop');
- dlg.parentNode.insertBefore(backdrop, dlg.nextSibling);
+ dlg.parentNode.insertBefore(backdrop, dlg);
dlg.backdrop = backdrop;
// Doing this immediately causes the opacity to jump immediately without animating
diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css
index 9a931f6d81..ddb0d9ef97 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css
@@ -51,6 +51,12 @@
margin: 0;
}
+ [is="emby-button"].fab i {
+ height: 4.4vh;
+ width: 4.4vh;
+ vertical-align: middle;
+ }
+
[is="emby-button"].noflex {
display: inline-block;
}
@@ -63,12 +69,21 @@
padding: .4em;
}
+ [is="emby-button"].fab.mini i {
+ height: 2.6vh !important;
+ width: 2.6vh !important;
+ }
+
[is="emby-button"].fab iron-icon {
width: 100%;
height: 100%;
vertical-align: middle;
}
+ [is="emby-button"].fab i {
+ vertical-align: middle;
+ }
+
[is="emby-button"].block {
display: block;
align-items: center;
@@ -86,6 +101,15 @@
margin-left: .5em;
}
+ [is="emby-button"] i + span {
+ margin-left: .5em;
+ }
+
+[is=emby-button].autoSize {
+ width: auto !important;
+ height: auto !important;
+}
+
[is=paper-icon-button-light] {
position: relative;
display: inline-flex;
@@ -121,19 +145,41 @@
text-transform: uppercase;
border-radius: 50%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ justify-content: center;
}
+ [is=paper-icon-button-light].autoSize {
+ width: auto !important;
+ height: auto !important;
+ }
+
[is=paper-icon-button-light][disabled] {
opacity: .3;
}
+ [is=paper-icon-button-light] i {
+ width: 24px;
+ height: 24px;
+ font-size: 24px;
+ /* Make sure its on top of the ripple */
+ position: relative;
+ z-index: 1;
+ vertical-align: middle;
+ }
+
.layout-tv [is=paper-icon-button-light] {
- width: 4vh;
- height: 4vh;
- min-width: 40px;
- min-height: 40px;
+ width: auto;
+ height: auto;
+ min-width: initial;
+ min-height: initial;
}
+ .layout-tv [is=paper-icon-button-light] i {
+ width: 3.7vh;
+ height: 3.7vh;
+ font-size: 3.7vh;
+ }
+
[is=paper-icon-button-light] iron-icon {
width: 100%;
height: 100%;
diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.js b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.js
index 3e5a7e0334..4e4cdeee03 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.js
@@ -1,4 +1,4 @@
-define(['browser', 'css!./emby-button'], function (browser) {
+define(['browser', 'css!./emby-button', 'registerElement'], function (browser) {
var EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-button/paper-icon-button-light.js b/dashboard-ui/bower_components/emby-webcomponents/emby-button/paper-icon-button-light.js
index 7eaea2b940..3a9f18929d 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/emby-button/paper-icon-button-light.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/emby-button/paper-icon-button-light.js
@@ -1,4 +1,4 @@
-define(['css!./emby-button'], function () {
+define(['css!./emby-button', 'registerElement'], function () {
var EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.js b/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.js
index 5aa708e874..29f12a08bd 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.js
@@ -1,4 +1,4 @@
-define(['layoutManager', 'browser', 'css!./emby-input'], function (layoutManager, browser) {
+define(['layoutManager', 'browser', 'css!./emby-input', 'registerElement'], function (layoutManager, browser) {
var EmbyInputPrototype = Object.create(HTMLInputElement.prototype);
diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js b/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js
index 59b673f9e4..88348b86cc 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js
@@ -1,4 +1,4 @@
-define(['layoutManager', 'browser', 'actionsheet', 'css!./emby-select'], function (layoutManager, browser, actionsheet) {
+define(['layoutManager', 'browser', 'actionsheet', 'css!./emby-select', 'registerElement'], function (layoutManager, browser, actionsheet) {
var EmbySelectPrototype = Object.create(HTMLSelectElement.prototype);
diff --git a/dashboard-ui/bower_components/emby-webcomponents/fonts/material-icons/style.css b/dashboard-ui/bower_components/emby-webcomponents/fonts/material-icons/style.css
index 5e998e2ec5..2c84045d3d 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/fonts/material-icons/style.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/fonts/material-icons/style.css
@@ -1,20 +1,25 @@
@font-face {
- font-family: 'Material Icons';
- font-style: normal;
- font-weight: 400;
- src: local('Material Icons'), local('MaterialIcons-Regular'), url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2'), url(2fcrYFNaTjcS6g4U3t-Y5ewrjPiaoEww8AihgqWRJAo.woff) format('woff');
+ font-family: 'Material Icons';
+ font-style: normal;
+ font-weight: 400;
+ src: local('Material Icons'), local('MaterialIcons-Regular'), url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2'), url(2fcrYFNaTjcS6g4U3t-Y5ewrjPiaoEww8AihgqWRJAo.woff) format('woff');
}
-.material-icons {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- white-space: nowrap;
- word-wrap: normal;
- direction: ltr;
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
-}
\ No newline at end of file
+.md-icon {
+ font-family: 'Material Icons';
+ font-weight: normal;
+ font-style: normal;
+ letter-spacing: normal;
+ text-transform: none;
+ display: inline-block;
+ white-space: nowrap;
+ word-wrap: normal;
+ direction: ltr;
+ -webkit-font-feature-settings: 'liga';
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ font-feature-settings: "liga" 1;
+ line-height: 1;
+ overflow: hidden;
+ vertical-align: middle;
+}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css
index c526024d77..55126eb6d6 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css
@@ -141,6 +141,7 @@
.currentTimeIndicatorArrow {
width: 4vh;
height: 4vh;
+ font-size: 4vh;
color: #52B54B;
margin-left: -2vh;
}
@@ -366,16 +367,17 @@
color: #bbb;
}
-.programCell iron-icon {
+.programCell i {
margin-left: auto;
margin-right: .5em;
height: 3.5vh;
width: 3.5vh;
+ font-size: 3.5vh;
color: #ddd;
flex-shrink: 0;
}
- .programCell iron-icon + iron-icon {
+ .programCell i + i {
margin-left: .25em;
}
@@ -389,14 +391,21 @@
.guideChannelName {
margin-left: auto;
margin-right: 1em;
- max-width: 40%;
text-overflow: ellipsis;
overflow: hidden;
+ max-width: 70%;
+}
+
+@media all and (min-width: 1000px) {
+
+ .guideChannelName {
+ max-width: 40%;
+ }
}
@media all and (max-width: 1000px) {
- .guideChannelName {
+ .guideChannelNumber {
display: none;
}
}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js
index 37a791bf49..0217380ff7 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js
@@ -1,4 +1,4 @@
-define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'scrollHelper', 'datetime', 'focusManager', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'clearButtonStyle', 'css!./guide.css', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html', 'scrollStyles', 'emby-button'], function (require, browser, globalize, connectionManager, serverNotifications, loading, scrollHelper, datetime, focusManager, imageLoader, events, layoutManager, itemShortcuts, registrationServices) {
+define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'scrollHelper', 'datetime', 'focusManager', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'clearButtonStyle', 'css!./guide.css', 'material-icons', 'scrollStyles', 'emby-button'], function (require, browser, globalize, connectionManager, serverNotifications, loading, scrollHelper, datetime, focusManager, imageLoader, events, layoutManager, itemShortcuts, registrationServices) {
function Guide(options) {
@@ -221,7 +221,7 @@
html += '
';
html += '
';
html += '
';
- html += '';
+ html += 'arrow_drop_down';
html += '
';
return html;
@@ -340,14 +340,14 @@
html += '
';
if (program.IsHD && options.showHdIcon) {
- html += '
';
+ html += '
hd';
}
if (program.SeriesTimerId) {
- html += '
';
+ html += '
fiber_smart_record';
}
else if (program.TimerId) {
- html += '
';
+ html += '
fiber_manual_record';
}
if (addAccent) {
@@ -756,7 +756,7 @@
var icon = cell.querySelector('.timerIcon');
if (!icon) {
- cell.insertAdjacentHTML('beforeend', '
');
+ cell.insertAdjacentHTML('beforeend', '
fiber_manual_record');
}
if (newTimerId) {
diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/tvguide.template.html b/dashboard-ui/bower_components/emby-webcomponents/guide/tvguide.template.html
index 664c0c906f..e6e31f8703 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/guide/tvguide.template.html
+++ b/dashboard-ui/bower_components/emby-webcomponents/guide/tvguide.template.html
@@ -18,5 +18,8 @@
-
${UnlockGuide}
+
+ check
+ ${UnlockGuide}
+
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/emby-webcomponents/icons/mediainfo.html b/dashboard-ui/bower_components/emby-webcomponents/icons/mediainfo.html
deleted file mode 100644
index b0805324c8..0000000000
--- a/dashboard-ui/bower_components/emby-webcomponents/icons/mediainfo.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
diff --git a/dashboard-ui/bower_components/emby-webcomponents/icons/nav.html b/dashboard-ui/bower_components/emby-webcomponents/icons/nav.html
deleted file mode 100644
index 39c6ced14e..0000000000
--- a/dashboard-ui/bower_components/emby-webcomponents/icons/nav.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
index 20c5bd7eed..0afb8f4ae5 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
@@ -1,4 +1,4 @@
-define(['css!./indicators.css', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function () {
+define(['css!./indicators.css', 'material-icons'], function () {
function enableProgressIndicator(item) {
@@ -61,7 +61,7 @@ define(['css!./indicators.css', 'html!./../icons/mediainfo.html', 'html!./../ico
}
if (userData.PlayedPercentage && userData.PlayedPercentage >= 100 || (userData.Played)) {
- return '
';
+ return '
check
';
}
}
@@ -91,10 +91,10 @@ define(['css!./indicators.css', 'html!./../icons/mediainfo.html', 'html!./../ico
function getTimerIndicator(item) {
if (item.SeriesTimerId) {
- return '
';
+ return '
fiber_smart_record';
}
if (item.TimerId) {
- return '
';
+ return '
fiber_manual_record';
}
return '';
diff --git a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css
index ffef61edcd..05f6974b60 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css
@@ -60,6 +60,7 @@ button.listItem {
.listItemIcon {
width: 3vh;
height: 3vh;
+ font-size: 3vh;
}
.listItem.largeImage .listItemImage {
diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css
index 0910dab318..759ef7f8a0 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css
@@ -2,9 +2,10 @@
margin: 0 1em 0 0;
}
-iron-icon.mediaInfoItem {
+i.mediaInfoItem {
width: 3vh;
height: 3vh;
+ font-size: 3vh;
margin-right: .6em;
}
@@ -21,10 +22,11 @@ iron-icon.mediaInfoItem {
padding-bottom: 0;
}
- .starRatingContainer iron-icon {
+ .starRatingContainer i {
color: #CB272A;
width: 3vh;
height: 3vh;
+ font-size: 3vh;
}
.mediaInfoItem.criticRating {
@@ -54,12 +56,14 @@ iron-icon.mediaInfoItem {
text-transform: uppercase;
}
-.layout-tv iron-icon.mediaInfoItem {
+.layout-tv i.mediaInfoItem {
width: 4vh;
height: 4vh;
+ font-size: 4vh;
}
-.layout-tv .starRatingContainer iron-icon {
+.layout-tv .starRatingContainer i {
width: 3.4vh;
height: 3.4vh;
+ font-size: 3.4vh;
}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js
index 9d3172794f..43c8d7b9f2 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js
@@ -1,4 +1,4 @@
-define(['datetime', 'globalize', 'embyRouter', 'html!./../icons/mediainfo.html', 'css!./mediainfo.css'], function (datetime, globalize, embyRouter) {
+define(['datetime', 'globalize', 'embyRouter', 'material-icons', 'css!./mediainfo.css'], function (datetime, globalize, embyRouter) {
function getProgramInfoHtml(item, options) {
var html = '';
@@ -42,12 +42,12 @@ define(['datetime', 'globalize', 'embyRouter', 'html!./../icons/mediainfo.html',
if (item.SeriesTimerId) {
miscInfo.push({
- html: '
'
+ html: '
fiber-smart-record'
});
}
else if (item.TimerId) {
miscInfo.push({
- html: '
'
+ html: '
fiber-manual-record'
});
}
@@ -244,7 +244,7 @@ define(['datetime', 'globalize', 'embyRouter', 'html!./../icons/mediainfo.html',
html += getStarIconsHtml(item);
if (item.HasSubtitles && options.subtitles !== false) {
- html += '
';
+ html += '
closed_caption';
}
if (item.CriticRating && options.criticRating !== false) {
@@ -321,7 +321,7 @@ define(['datetime', 'globalize', 'embyRouter', 'html!./../icons/mediainfo.html',
if (rating) {
html += '
';
- html += '';
+ html += 'star';
html += rating;
html += '
';
}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js b/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js
index 91430942fd..2b503f45a9 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js
@@ -1,4 +1,4 @@
-define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'html!./../icons/nav.html', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
+define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
var lastPlaylistId = '';
var currentServerId;
@@ -227,7 +227,7 @@
var title = globalize.translate('sharedcomponents#AddToPlaylist');
html += '
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/emby-webcomponents/slideshow/icons.html b/dashboard-ui/bower_components/emby-webcomponents/slideshow/icons.html
deleted file mode 100644
index edee1f7b44..0000000000
--- a/dashboard-ui/bower_components/emby-webcomponents/slideshow/icons.html
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
diff --git a/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js b/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js
index 1167b61b65..d48bd5dd98 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js
@@ -1,4 +1,4 @@
-define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'focusManager', 'apphost', 'css!./style', 'html!./icons', 'iron-icon-set', 'paper-icon-button-light', 'paper-spinner'], function (dialogHelper, inputmanager, connectionManager, layoutManager, focusManager, appHost) {
+define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'focusManager', 'apphost', 'css!./style', 'material-icons', 'paper-icon-button-light', 'paper-spinner'], function (dialogHelper, inputmanager, connectionManager, layoutManager, focusManager, appHost) {
function getImageUrl(item, options, apiClient) {
@@ -91,7 +91,7 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
var tabIndex = canFocus ? '' : ' tabindex="-1"';
autoFocus = autoFocus ? ' autofocus' : '';
- return '
';
+ return '
' + icon + '';
}
return function (options) {
@@ -125,30 +125,30 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
html += '
';
html += '
';
- html += getIcon('slideshow:keyboard-arrow-left', 'btnSlideshowPrevious slideshowButton', false);
- html += getIcon('slideshow:keyboard-arrow-right', 'btnSlideshowNext slideshowButton', false);
+ html += getIcon('keyboard_arrow_left', 'btnSlideshowPrevious slideshowButton', false);
+ html += getIcon('keyboard_arrow_right', 'btnSlideshowNext slideshowButton', false);
html += '
';
if (actionButtonsOnTop) {
if (appHost.supports('filedownload')) {
- html += getIcon('slideshow:file-download', 'btnDownload slideshowButton', true);
+ html += getIcon('file_download', 'btnDownload slideshowButton', true);
}
if (appHost.supports('sharing')) {
- html += getIcon('slideshow:share', 'btnShare slideshowButton', true);
+ html += getIcon('share', 'btnShare slideshowButton', true);
}
}
- html += getIcon('slideshow:close', 'slideshowButton btnSlideshowExit', false);
+ html += getIcon('close', 'slideshowButton btnSlideshowExit', false);
html += '
';
if (!actionButtonsOnTop) {
html += '
';
- html += getIcon('slideshow:pause', 'btnSlideshowPause slideshowButton', true, true);
+ html += getIcon('pause', 'btnSlideshowPause slideshowButton', true, true);
if (appHost.supports('filedownload')) {
- html += getIcon('slideshow:file-download', 'btnDownload slideshowButton', true);
+ html += getIcon('file_download', 'btnDownload slideshowButton', true);
}
if (appHost.supports('sharing')) {
- html += getIcon('slideshow:share', 'btnShare slideshowButton', true);
+ html += getIcon('share', 'btnShare slideshowButton', true);
}
html += '
';
@@ -362,9 +362,9 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
function play() {
- var btnSlideshowPause = dlg.querySelector('.btnSlideshowPause iron-icon');
+ var btnSlideshowPause = dlg.querySelector('.btnSlideshowPause i');
if (btnSlideshowPause) {
- btnSlideshowPause.icon = "slideshow:pause";
+ btnSlideshowPause.innerHTML = "pause";
}
swiperInstance.startAutoplay();
@@ -372,9 +372,9 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
function pause() {
- var btnSlideshowPause = dlg.querySelector('.btnSlideshowPause iron-icon');
+ var btnSlideshowPause = dlg.querySelector('.btnSlideshowPause i');
if (btnSlideshowPause) {
- btnSlideshowPause.icon = "slideshow:play-arrow";
+ btnSlideshowPause.innerHTML = "play_arrow";
}
swiperInstance.stopAutoplay();
@@ -382,7 +382,7 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
function playPause() {
- var paused = dlg.querySelector('.btnSlideshowPause iron-icon').icon != "slideshow:pause";
+ var paused = dlg.querySelector('.btnSlideshowPause i').innerHTML != "pause";
if (paused) {
play();
} else {
diff --git a/dashboard-ui/bower_components/emby-webcomponents/slideshow/style.css b/dashboard-ui/bower_components/emby-webcomponents/slideshow/style.css
index 08c7f64ec9..bd7c540ce5 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/slideshow/style.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/slideshow/style.css
@@ -45,24 +45,27 @@
top: 50%;
}
-.slideshowDialog .slideshowButton {
- width: 5.2vh;
- height: 5.2vh;
+.slideshowDialog .slideshowButton i {
+ width: 4.5vh;
+ height: 4.5vh;
+ font-size: 4.5vh;
color: #fff;
opacity: .7;
min-width: 40px;
min-height: 40px;
}
-.layout-tv .slideshowDialog .slideshowButtonn {
- width: 7vh;
- height: 7vh;
+.layout-tv .slideshowDialog .slideshowButton i {
+ width: 6.3vh;
+ height: 6.3vh;
+ font-size: 6.3vh;
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 120dpi) {
- .slideshowDialog paper-icon-button {
- width: 11vmin;
- height: 11vmin;
+ .slideshowDialog [is=paper-icon-button-light] i {
+ width: 10.3vmin;
+ height: 10.3vmin;
+ font-size: 10.3vmin;
}
}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js
index 17588493cf..6bffe17302 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js
@@ -1,4 +1,4 @@
-define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'scrollHelper', 'appStorage', 'connectionManager', 'loading', 'focusManager', 'emby-select', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html', 'css!./subtitleeditor', 'emby-button'], function (dialogHelper, require, layoutManager, globalize, scrollHelper, appStorage, connectionManager, loading, focusManager) {
+define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'scrollHelper', 'appStorage', 'connectionManager', 'loading', 'focusManager', 'emby-select', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog', 'material-icons', 'css!./subtitleeditor', 'emby-button'], function (dialogHelper, require, layoutManager, globalize, scrollHelper, appStorage, connectionManager, loading, focusManager) {
var currentItem;
var hasChanges;
@@ -121,7 +121,7 @@
itemHtml += '<' + tagName + ' class="' + className + '" data-index="' + s.Index + '">';
- itemHtml += '
';
+ itemHtml += '
closed_caption';
itemHtml += '
';
@@ -138,7 +138,7 @@
if (!layoutManager.tv) {
if (s.Path) {
- itemHtml += '
';
+ itemHtml += '
delete';
}
}
@@ -235,7 +235,7 @@
html += '<' + tagName + ' class="' + className + '" data-subid="' + result.Id + '">';
- html += '
';
+ html += '
closed_caption';
html += '
';
@@ -255,7 +255,7 @@
html += '
' + /*(result.CommunityRating || 0) + ' / ' +*/ (result.DownloadCount || 0) + '
';
if (!layoutManager.tv) {
- html += '
';
+ html += '
more_vert';
}
html += '' + tagName + '>';
diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html
index 45a0756d23..694627304b 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html
+++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html
@@ -1,5 +1,5 @@
@@ -15,7 +15,7 @@
-
+
search
${Search}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css
new file mode 100644
index 0000000000..0989cb425d
--- /dev/null
+++ b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css
@@ -0,0 +1,26 @@
+.toast {
+ position: fixed;
+ min-width: 288px;
+ box-sizing: border-box;
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
+ border-radius: 2px;
+ font-size: 14px;
+ cursor: default;
+ -webkit-transition: -webkit-transform .3s ease-out;
+ transition: transform .3s ease-out;
+ background: #303030;
+ color: #fff;
+ min-height: initial;
+ padding: 1em 1.5em;
+ bottom: 1em;
+ left: 1em;
+ font-size: 110%;
+ z-index: 9999999;
+ -webkit-transform: translateY(200px);
+ transform: translateY(200px);
+}
+
+ .toast.visible {
+ -webkit-transform: none;
+ transform: none;
+ }
diff --git a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js
index 957df7f09a..23d2afc75e 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js
@@ -1,6 +1,21 @@
-define(['paper-toast'], function () {
+define(['css!./toast'], function () {
- var toastId = 0;
+ function remove(elem) {
+
+ setTimeout(function () {
+ elem.parentNode.removeChild(elem);
+ }, 300);
+ }
+
+ function animateRemove(elem) {
+
+ setTimeout(function () {
+
+ elem.classList.remove('visible');
+ remove(elem);
+
+ }, 3300);
+ }
return function (options) {
@@ -10,16 +25,17 @@ define(['paper-toast'], function () {
};
}
- var elem = document.createElement("paper-toast");
- elem.setAttribute('text', options.text);
- elem.id = 'toast' + (toastId++);
+ var elem = document.createElement("div");
+ elem.classList.add('toast');
+ elem.innerHTML = options.text;
document.body.appendChild(elem);
- // This timeout is obviously messy but it's unclear how to determine when the webcomponent is ready for use
- // element onload never fires
setTimeout(function () {
- elem.show();
+ elem.classList.add('visible');
+
+ animateRemove(elem);
+
}, 300);
};
});
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json b/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
index cca11d8994..2e765b9324 100644
--- a/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
+++ b/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
@@ -28,14 +28,14 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"ignore": [],
- "homepage": "https://github.com/polymerelements/iron-resizable-behavior",
+ "homepage": "https://github.com/PolymerElements/iron-resizable-behavior",
"_release": "1.0.3",
"_resolution": {
"type": "version",
"tag": "v1.0.3",
"commit": "dda1df6aaf452aedf3e52ff0cf69e72439452216"
},
- "_source": "git://github.com/polymerelements/iron-resizable-behavior.git",
+ "_source": "git://github.com/PolymerElements/iron-resizable-behavior.git",
"_target": "^1.0.0",
- "_originalSource": "polymerelements/iron-resizable-behavior"
+ "_originalSource": "PolymerElements/iron-resizable-behavior"
}
\ 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 4782b3c50f..e3120e6882 100644
--- a/dashboard-ui/bower_components/polymer/.bower.json
+++ b/dashboard-ui/bower_components/polymer/.bower.json
@@ -39,6 +39,6 @@
"commit": "ce5b9fb2d8aa03c698410e2e55cffcfa0b788a3a"
},
"_source": "git://github.com/Polymer/polymer.git",
- "_target": "^1.0.0",
+ "_target": "^1.1.0",
"_originalSource": "Polymer/polymer"
}
\ No newline at end of file
diff --git a/dashboard-ui/components/channelmapper/channelmapper.js b/dashboard-ui/components/channelmapper/channelmapper.js
index f75d0274da..b442bb4ab6 100644
--- a/dashboard-ui/components/channelmapper/channelmapper.js
+++ b/dashboard-ui/components/channelmapper/channelmapper.js
@@ -1,80 +1,130 @@
-define(['dialogHelper', 'loading', 'connectionManager', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'emby-button', 'listViewStyle'],
-function (dialogHelper, loading, connectionManager, globalize) {
+define(['dialogHelper', 'loading', 'connectionManager', 'globalize', 'actionsheet', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'emby-button', 'listViewStyle', 'material-icons'],
+function (dialogHelper, loading, connectionManager, globalize, actionsheet) {
- var currentServerId;
-
- function getChannelMappingOptions(serverId, providerId) {
-
- return connectionManager.getApiClient(serverId).getJSON(ApiClient.getUrl('LiveTv/ChannelMappingOptions', {
- providerId: providerId
- }));
- }
-
- function getTunerChannelHtml(channel, providerName) {
-
- var html = '';
-
- html += '
';
-
- html += '
';
-
- html += '
';
- html += '
';
- html += channel.Name;
- html += '
';
-
- if (channel.ProviderChannelNumber || channel.ProviderChannelName) {
- html += '
';
- html += (channel.ProviderChannelNumber || '') + ' ' + (channel.ProviderChannelName || '') + ' - ' + providerName;
- html += '
';
- }
-
- html += '
';
-
- html += '
';
-
- html += '
';
-
- return html;
- }
-
- function getEditorHtml() {
-
- var html = '';
-
- html += '
';
- html += '
';
- html += '
';
- html += '
';
- html += '
';
-
- return html;
- }
-
- function initEditor(dlg, options) {
-
- getChannelMappingOptions(options.serverId, options.providerId).then(function (result) {
-
- dlg.querySelector('.channels').innerHTML = result.TunerChannels.map(function (channel) {
- return getTunerChannelHtml(channel, result.ProviderName);
- }).join('');
- });
- }
-
- return function () {
+ return function (options) {
var self = this;
- self.show = function (options) {
+ var currentMappingOptions;
- currentServerId = options.serverId;
+ function parentWithClass(elem, className) {
+
+ while (!elem.classList || !elem.classList.contains(className)) {
+ elem = elem.parentNode;
+
+ if (!elem) {
+ return null;
+ }
+ }
+
+ return elem;
+ }
+
+ function mapChannel(tunerChannelNumber, providerChannelNumber) {
+
+ alert('coming soon.');
+ }
+
+ function onChannelsElementClick(e) {
+
+ var btnMap = parentWithClass(e.target, 'btnMap');
+
+ if (!btnMap) {
+ return;
+ }
+
+ var channelNumber = btnMap.getAttribute('data-number');
+
+ var menuItems = currentMappingOptions.ProviderChannels.map(function (m) {
+
+ return {
+ name: m.Name,
+ id: m.Id,
+ selected: m.Id == channelNumber
+ };
+ });
+
+ actionsheet.show({
+ positionTo: btnMap,
+ items: menuItems
+
+ }).then(function (newChannelNumber) {
+ mapChannel(channelNumber, newChannelNumber);
+ });
+ }
+
+ function getChannelMappingOptions(serverId, providerId) {
+
+ return connectionManager.getApiClient(serverId).getJSON(ApiClient.getUrl('LiveTv/ChannelMappingOptions', {
+ providerId: providerId
+ }));
+ }
+
+ function getTunerChannelHtml(channel, providerName) {
+
+ var html = '';
+
+ html += '
';
+
+ html += '
';
+
+ html += '
';
+ html += '
';
+ html += channel.Name;
+ html += '
';
+
+ if (channel.ProviderChannelNumber || channel.ProviderChannelName) {
+ html += '
';
+ html += (channel.ProviderChannelNumber || '') + ' ' + (channel.ProviderChannelName || '') + ' - ' + providerName;
+ html += '
';
+ }
+
+ html += '
';
+
+ html += '
';
+
+ html += '
';
+
+ return html;
+ }
+
+ function getEditorHtml() {
+
+ var html = '';
+
+ html += '
';
+ html += '
';
+ html += '
';
+ html += '
';
+ html += '
';
+
+ return html;
+ }
+
+ function initEditor(dlg, options) {
+
+ getChannelMappingOptions(options.serverId, options.providerId).then(function (result) {
+
+ currentMappingOptions = result;
+
+ var channelsElement = dlg.querySelector('.channels');
+
+ channelsElement.innerHTML = result.TunerChannels.map(function (channel) {
+ return getTunerChannelHtml(channel, result.ProviderName);
+ }).join('');
+
+ channelsElement.addEventListener('click', onChannelsElementClick);
+ });
+ }
+
+ self.show = function () {
var dialogOptions = {
removeOnClose: true
@@ -92,7 +142,7 @@ function (dialogHelper, loading, connectionManager, globalize) {
var title = globalize.translate('MapChannels');
html += '