diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css index 3dd16caf7f..325ae50360 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css +++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.css @@ -8,6 +8,7 @@ white-space: nowrap; width: 100%; flex-shrink: 0; + display: flex; } .tvProgramSectionHeader { @@ -83,7 +84,7 @@ } .channelTimeslotHeader { - float: left; + flex-shrink: 0; } .timeslotHeaders { @@ -93,15 +94,14 @@ .programContainer { white-space: nowrap; position: relative; -} - -.programGridContainer { - margin-left: 12.2vw; + display: flex; + align-items: flex-start; } .channelPrograms { white-space: nowrap; position: relative; + contain: strict; } .timeslotHeadersInner { @@ -285,6 +285,12 @@ .channelPrograms, .channelHeaderCell { height: 4em; + contain: strict; +} + +.channelPrograms { + display: flex; + flex-direction: column; } .channelPrograms-tv, .channelHeaderCell-tv { @@ -307,10 +313,6 @@ background-color: #444; } -.channelList { - float: left; -} - .programGrid { padding-bottom: 4px; } @@ -403,8 +405,13 @@ } } +.channelList { + display: flex; + flex-direction: column; +} + .channelList, .programGrid { - height: auto !important; + contain: layout style; } .programCell, .channelHeaderCell, .btnSelectDate { 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 353ce84565..392490e953 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/guide/tvguide.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/guide/tvguide.template.html @@ -15,6 +15,7 @@
+
diff --git a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js index 129c5eb90f..72ca11ed0a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js +++ b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.js @@ -245,8 +245,6 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan if (options.showProgramTimeColumn) { html += '
'; html += datetime.getDisplayTime(datetime.parseISO8601Date(item.StartDate)); - html += ' - '; - html += datetime.getDisplayTime(datetime.parseISO8601Date(item.EndDate)); html += '
'; } @@ -309,7 +307,8 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan var mediaInfoClass = 'secondary listItemMediaInfo listItemBodyText'; html += '
' + mediaInfo.getPrimaryMediaInfoHtml(item, { - episodeTitle: false + episodeTitle: false, + originalAirDate: false }) + '
'; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js index fb8768f4d6..5374d125a3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js +++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js @@ -190,7 +190,7 @@ define(['datetime', 'globalize', 'embyRouter', 'itemHelper', 'material-icons', ' miscInfo.push(itemHelper.getDisplayName(item)); } - else if (item.PremiereDate) { + else if (item.PremiereDate && options.originalAirDate !== false) { try { date = datetime.parseISO8601Date(item.PremiereDate); diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js index 309b39bb8b..a9e9b8fadc 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js @@ -1,10 +1,10 @@ define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'imageLoader', 'scrollStyles', 'emby-button', 'emby-collapse', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'material-icons'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper, imageLoader) { var currentDialog; - var recordingUpdated = false; var recordingDeleted = false; var currentItemId; var currentServerId; + var currentResolve; function deleteTimer(apiClient, timerId) { @@ -50,7 +50,6 @@ function closeDialog(isDeleted) { - recordingUpdated = true; recordingDeleted = isDeleted; dialogHelper.close(currentDialog); @@ -63,10 +62,9 @@ var apiClient = connectionManager.getApiClient(currentServerId); apiClient.getLiveTvTimer(currentItemId).then(function (item) { - item.PrePaddingSeconds = form.querySelector('#txtPrePaddingMinutes').value * 60; item.PostPaddingSeconds = form.querySelector('#txtPostPaddingMinutes').value * 60; - apiClient.updateLiveTvTimer(item); + apiClient.updateLiveTvTimer(item).then(currentResolve); }); e.preventDefault(); @@ -110,11 +108,11 @@ return new Promise(function (resolve, reject) { - recordingUpdated = false; recordingDeleted = false; currentServerId = serverId; loading.show(); options = options || {}; + currentResolve = resolve; require(['text!./recordingeditor.template.html'], function (template) { @@ -150,22 +148,20 @@ currentDialog = dlg; - dlg.addEventListener('close', function () { + dlg.addEventListener('closing', function () { if (!recordingDeleted) { - this.querySelector('.btnSubmit').click(); + dlg.querySelector('.btnSubmit').click(); } }); dlg.addEventListener('close', function () { - if (recordingUpdated) { + if (recordingDeleted) { resolve({ updated: true, - deleted: recordingDeleted + deleted: true }); - } else { - reject(); } }); diff --git a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js index 9a645c83ee..2fb22e7851 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js +++ b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js @@ -832,9 +832,11 @@ define(['browser', 'layoutManager', 'dom', 'focusManager', 'scrollStyles'], func } function onFrameClick(e) { - var focusableParent = focusManager.focusableParent(e.target); - if (focusableParent != document.activeElement) { - focusableParent.focus(); + if (e.which == 1) { + var focusableParent = focusManager.focusableParent(e.target); + if (focusableParent != document.activeElement) { + focusableParent.focus(); + } } } diff --git a/dashboard-ui/css/librarymenu.css b/dashboard-ui/css/librarymenu.css index 7e5bd5a8b4..1da12bc808 100644 --- a/dashboard-ui/css/librarymenu.css +++ b/dashboard-ui/css/librarymenu.css @@ -295,4 +295,4 @@ body:not(.dashboardDocument) .headerAppsButton { .viewMenuBarTabs .libraryViewNav { text-align: left !important; } -} +} \ No newline at end of file diff --git a/dashboard-ui/dashboard/librarysettings.js b/dashboard-ui/dashboard/librarysettings.js index fc0438f1c8..8a7eb4a89d 100644 --- a/dashboard-ui/dashboard/librarysettings.js +++ b/dashboard-ui/dashboard/librarysettings.js @@ -13,6 +13,7 @@ $('#chkSaveMetadataHidden', page).checked(config.SaveMetadataHidden); $('#txtMetadataPath', page).val(config.MetadataPath || ''); + $('#txtMetadataNetworkPath', page).val(config.MetadataNetworkPath || ''); $('#chkPeopleActors', page).checked(config.PeopleMetadataOptions.DownloadActorMetadata); $('#chkPeopleComposers', page).checked(config.PeopleMetadataOptions.DownloadComposerMetadata); @@ -70,6 +71,7 @@ config.EnableTmdbUpdates = $('#chkEnableTmdbUpdates', form).checked(); config.EnableFanArtUpdates = $('#chkEnableFanartUpdates', form).checked(); config.MetadataPath = $('#txtMetadataPath', form).val(); + config.MetadataNetworkPath = $('#txtMetadataNetworkPath', form).val(); config.FanartApiKey = $('#txtFanartApiKey', form).val(); config.PeopleMetadataOptions.DownloadActorMetadata = $('#chkPeopleActors', form).checked(); @@ -122,16 +124,21 @@ picker.show({ - callback: function (path) { + path: $('#txtMetadataPath', view).val(), + networkPath: $('#txtMetadataNetworkPath', view).val(), + callback: function (path, networkPath) { if (path) { $('#txtMetadataPath', view).val(path); + $('#txtMetadataNetworkPath', view).val(networkPath); } picker.close(); }, header: Globalize.translate('HeaderSelectMetadataPath'), - instruction: Globalize.translate('HeaderSelectMetadataPathHelp') + instruction: Globalize.translate('HeaderSelectMetadataPathHelp'), + + enableNetworkSharePath: true }); }); diff --git a/dashboard-ui/devices/ios/ios.css b/dashboard-ui/devices/ios/ios.css index 54bb16a3cb..c10febf952 100644 --- a/dashboard-ui/devices/ios/ios.css +++ b/dashboard-ui/devices/ios/ios.css @@ -100,7 +100,7 @@ h1, h1 a { } .dialog.background-theme-b { - background: rgba(28,28,28,.88); + background: rgba(28,28,28,.84); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); } diff --git a/dashboard-ui/librarysettings.html b/dashboard-ui/librarysettings.html index 892b1082a2..e7106ffd22 100644 --- a/dashboard-ui/librarysettings.html +++ b/dashboard-ui/librarysettings.html @@ -19,6 +19,7 @@
${LabelMetadataPathHelp}
+