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 18d616bb74..6aab3261a2 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 @@ -35,6 +35,7 @@ } [is="emby-button"].fab { + display: inline-flex; border-radius: 50%; min-width: 56px; min-height: 56px; @@ -43,7 +44,6 @@ background-color: #444; padding: .6em; box-sizing: border-box; - display: inline-flex; align-items: center; justify-content: center; text-align: center; @@ -51,18 +51,23 @@ margin: 0; } - [is="emby-button"].fab.mini { - min-width: 40px !important; - min-height: 40px !important; - height: 3.3vh !important; - width: 3.3vh !important; - } + [is="emby-button"].noflex { + display: inline-block; + } - [is="emby-button"].fab iron-icon { - width: 100%; - height: 100%; - vertical-align: middle; - } + [is="emby-button"].fab.mini { + min-width: 40px !important; + min-height: 40px !important; + height: 3.3vh !important; + width: 3.3vh !important; + padding: .4em; + } + + [is="emby-button"].fab iron-icon { + width: 100%; + height: 100%; + vertical-align: middle; + } [is="emby-button"].block { display: block; @@ -129,14 +134,18 @@ /* Make sure its on top of the ripple */ position: relative; z-index: 1; + vertical-align: middle; } [is=paper-icon-button-light] img { width: 100%; - height: 100%; + /* Can't use 100% height or it will stretch past the boundaries in safari */ + /*height: 100%;*/ + max-height: 100%; /* Make sure its on top of the ripple */ position: relative; z-index: 1; + vertical-align: middle; } [is=paper-icon-button-light]:after { 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 2b47343eb1..3e5a7e0334 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 @@ -53,6 +53,10 @@ this.setAttribute('data-embybutton', 'true'); + if (browser.safari) { + this.classList.add('noflex'); + } + this.addEventListener('keydown', onKeyDown); if (browser.safari) { this.addEventListener('click', animateButton); diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.css b/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.css index 42621baca1..ce7812e192 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.css +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.css @@ -33,7 +33,7 @@ transition: all .2s ease-out; } - .inputLabel.blank { + .inputLabel.blank:not(.nofloat) { transform-origin: left top; transform: scale(1.4,1.4) translateY(80%); } 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 a932660a32..5aa708e874 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 @@ -3,6 +3,7 @@ var EmbyInputPrototype = Object.create(HTMLInputElement.prototype); var inputId = 0; + var supportsFloatingLabel = false; if (Object.getOwnPropertyDescriptor && Object.defineProperty) { @@ -19,6 +20,7 @@ } Object.defineProperty(HTMLInputElement.prototype, 'value', descriptor); + supportsFloatingLabel = true; } } @@ -43,6 +45,10 @@ label.innerHTML = this.getAttribute('label') || ''; label.classList.add('inputLabel'); + if (!supportsFloatingLabel) { + label.classList.add('nofloat'); + } + label.htmlFor = this.id; parentNode.insertBefore(label, this); @@ -74,15 +80,6 @@ onChange.call(this); }; - EmbyInputPrototype.detachedCallback = function () { - - var observer = this.observer; - if (observer) { - observer.disconnect(); - this.observer = null; - } - }; - document.registerElement('emby-input', { prototype: EmbyInputPrototype, extends: 'input' diff --git a/dashboard-ui/components/metadataeditor/metadataeditor.js b/dashboard-ui/components/metadataeditor/metadataeditor.js index 836b5ca5ab..b96552a658 100644 --- a/dashboard-ui/components/metadataeditor/metadataeditor.js +++ b/dashboard-ui/components/metadataeditor/metadataeditor.js @@ -133,7 +133,6 @@ CriticRating: $('#txtCriticRating', form).val(), CriticRatingSummary: $('#txtCriticRatingSummary', form).val(), IndexNumber: $('#txtIndexNumber', form).val() || null, - DisplaySpecialsWithSeasons: form.querySelector('#chkDisplaySpecialsInline').checked, AbsoluteEpisodeNumber: $('#txtAbsoluteEpisodeNumber', form).val(), DvdEpisodeNumber: $('#txtDvdEpisodeNumber', form).val(), DvdSeasonNumber: $('#txtDvdSeasonNumber', form).val(), @@ -739,12 +738,6 @@ $('#fldParentIndexNumber', context).hide(); } - if (item.Type == "Series") { - $('#fldDisplaySpecialsInline', context).show(); - } else { - $('#fldDisplaySpecialsInline', context).hide(); - } - if (item.Type == "BoxSet") { $('#fldDisplayOrder', context).show(); @@ -812,8 +805,6 @@ } populateInternetProviderSettings(context, item, item.LockedFields); - context.querySelector('#chkDisplaySpecialsInline').checked = item.DisplaySpecialsWithSeasons || false; - $('#txtPath', context).val(item.Path || ''); $('#txtName', context).val(item.Name || ""); $('#txtOriginalName', context).val(item.OriginalTitle || ""); diff --git a/dashboard-ui/components/metadataeditor/metadataeditor.template.html b/dashboard-ui/components/metadataeditor/metadataeditor.template.html index 18f04261d0..73578db83e 100644 --- a/dashboard-ui/components/metadataeditor/metadataeditor.template.html +++ b/dashboard-ui/components/metadataeditor/metadataeditor.template.html @@ -208,10 +208,6 @@ -
-
- ${LabelDisplaySpecialsWithinSeasons} -
diff --git a/dashboard-ui/components/tvproviders/xmltv.js b/dashboard-ui/components/tvproviders/xmltv.js index 0fd792371f..c7dfd50bcb 100644 --- a/dashboard-ui/components/tvproviders/xmltv.js +++ b/dashboard-ui/components/tvproviders/xmltv.js @@ -7,9 +7,16 @@ function getListingProvider(config, id) { if (config && id) { - return config.ListingProviders.filter(function (i) { + + var result = config.ListingProviders.filter(function(i) { return i.Id == id; - })[0] || getListingProvider(); + })[0]; + + if (result) { + return Promise.resolve(result); + } + + return getListingProvider(); } return ApiClient.getJSON(ApiClient.getUrl('LiveTv/ListingProviders/Default')); diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 633d98bd1d..da0443a8ef 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -600,7 +600,7 @@ progress { .btnUserItemRating { vertical-align: middle; - color: #aaa; + color: #aaa !important; display: inline-block !important; } diff --git a/dashboard-ui/librarydisplay.html b/dashboard-ui/librarydisplay.html index 992410eb77..4835ec64d7 100644 --- a/dashboard-ui/librarydisplay.html +++ b/dashboard-ui/librarydisplay.html @@ -13,6 +13,10 @@
${LabelGroupMoviesIntoCollectionsHelp}

+
+ ${LabelDisplaySpecialsWithinSeasons} +
+

diff --git a/dashboard-ui/scripts/librarydisplay.js b/dashboard-ui/scripts/librarydisplay.js index 0f992e3f85..fb3b01ff84 100644 --- a/dashboard-ui/scripts/librarydisplay.js +++ b/dashboard-ui/scripts/librarydisplay.js @@ -33,7 +33,9 @@ ApiClient.getServerConfiguration().then(function (config) { config.EnableFolderView = form.querySelector('.chkFolderView').checked; - config.EnableGroupingIntoCollections = form.querySelector('.chkGroupMoviesIntoCollections').checked; + config.EnableGroupingIntoCollections = form.querySelector('.chkDisplaySpecialsWithinSeasons').checked; + config.DisplaySpecialsWithinSeasons = form.querySelector('.chkGroupMoviesIntoCollections').checked; + ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); }); @@ -45,6 +47,7 @@ ApiClient.getServerConfiguration().then(function (config) { view.querySelector('.chkFolderView').checked = config.EnableFolderView; view.querySelector('.chkGroupMoviesIntoCollections').checked = config.EnableGroupingIntoCollections; + view.querySelector('.chkDisplaySpecialsWithinSeasons').checked = config.DisplaySpecialsWithinSeasons; }); } diff --git a/dashboard-ui/scripts/livetvguideprovider.js b/dashboard-ui/scripts/livetvguideprovider.js index 30bf0d5e95..0662ec651c 100644 --- a/dashboard-ui/scripts/livetvguideprovider.js +++ b/dashboard-ui/scripts/livetvguideprovider.js @@ -1,4 +1,9 @@ -define(['jQuery'], function ($) { +define(['events'], function (events) { + + function onListingsSubmitted() { + + Dashboard.navigate('livetvstatus.html'); + } function init(page, type, providerId) { @@ -9,6 +14,8 @@ var instance = new factory(page, providerId, { }); + events.on(instance, 'submitted', onListingsSubmitted); + instance.init(); }); } @@ -30,7 +37,7 @@ xhr.send(); } - $(document).on('pageshow', "#liveTvGuideProviderPage", function () { + pageIdOn('pageshow', "liveTvGuideProviderPage", function () { Dashboard.showLoadingMsg(); diff --git a/dashboard-ui/thirdparty/paper-button-style.css b/dashboard-ui/thirdparty/paper-button-style.css index 90e5ae37b5..535d510c03 100644 --- a/dashboard-ui/thirdparty/paper-button-style.css +++ b/dashboard-ui/thirdparty/paper-button-style.css @@ -122,19 +122,11 @@ button[is="emby-button"].iconRight iron-icon { color: inherit !important; } -button[is="emby-button"].mini { - min-width: initial; -} - -button[is="emby-button"].mini { +button[is="emby-button"].mini:not(.fab) { padding: 0.4em 0.7em; } - button[is="emby-button"].mini.noIcon { - padding: 0.4em 0.7em; - } - - button[is="emby-button"].mini iron-icon { + button[is="emby-button"].mini:not(.fab) iron-icon { height: 20px; width: 20px; } @@ -145,13 +137,10 @@ paper-toast { button[is="emby-button"].notext { min-width: 2.8em; + padding-left: .25em !important; + padding-right: .25em !important; } - button[is="emby-button"].notext .content { - padding-left: 0 !important; - padding-right: 0 !important; - } - button[is="emby-button"].notext iron-icon { margin-right: 0; }