diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 47cc82c199..3eb3c308b5 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.241", - "_release": "1.4.241", + "version": "1.4.242", + "_release": "1.4.242", "_resolution": { "type": "version", - "tag": "1.4.241", - "commit": "80b01c00ce8c5dd7d369b76d792675cb5dd36a75" + "tag": "1.4.242", + "commit": "1304a0000b9088f09c877eef42cf1f62bd42ebe9" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/datetime.js b/dashboard-ui/bower_components/emby-webcomponents/datetime.js index dbb36b1709..0a61ecfe34 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/datetime.js +++ b/dashboard-ui/bower_components/emby-webcomponents/datetime.js @@ -103,8 +103,14 @@ return false; }(); + function getCurrentLocale() { + var locale = globalize.getCurrentLocale(); + + return locale; + } + function toLocaleString(date) { - var currentLocale = globalize.getCurrentLocale(); + var currentLocale = getCurrentLocale(); return currentLocale && toLocaleTimeStringSupportsLocales ? date.toLocaleString(currentLocale) : @@ -143,7 +149,7 @@ function toLocaleDateString(date) { - var currentLocale = globalize.getCurrentLocale(); + var currentLocale = getCurrentLocale(); return currentLocale && toLocaleTimeStringSupportsLocales ? date.toLocaleDateString(currentLocale) : @@ -152,7 +158,7 @@ function toLocaleTimeString(date) { - var currentLocale = globalize.getCurrentLocale(); + var currentLocale = getCurrentLocale(); return currentLocale && toLocaleTimeStringSupportsLocales ? date.toLocaleTimeString(currentLocale) : 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 b2c653806e..ecd8f021b8 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 @@ -21,6 +21,8 @@ width: 100%; background-color: transparent; border-radius: 0; + /* Ensure it is over the label so that it can be clicked */ + position: relative; } .inputContainer { diff --git a/dashboard-ui/bower_components/emby-webcomponents/formdialog.css b/dashboard-ui/bower_components/emby-webcomponents/formdialog.css index 49ac548919..fadaeecdae 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/formdialog.css +++ b/dashboard-ui/bower_components/emby-webcomponents/formdialog.css @@ -54,6 +54,7 @@ z-index: 1; align-items: center; justify-content: center; + flex-wrap: wrap; } .formDialogFooterItem { @@ -61,6 +62,7 @@ margin-right: .5em !important; flex-grow: 1; text-align: center; + flex-basis: 0; } @media all and (min-width: 800px) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js b/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js index eb4af9bb3c..0066a30ffd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js @@ -7,12 +7,6 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser if (window.IntersectionObserver) { - // The api exists in chrome 50 but doesn't work - if (browser.chrome) { - - var version = parseInt(browser.version.split('.')[0]); - return version >= 51; - } return true; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js index e680dbd1c1..98d0e1c1a5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.js @@ -2,9 +2,34 @@ var currentDialog; var recordingUpdated = false; + var recordingDeleted = false; var currentItemId; var currentServerId; + function deleteTimer(apiClient, timerId) { + + return new Promise(function (resolve, reject) { + + require(['confirm'], function (confirm) { + + confirm(globalize.translate('sharedcomponents#MessageConfirmRecordingCancellation'), globalize.translate('sharedcomponents#HeaderConfirmRecordingCancellation')).then(function () { + + loading.show(); + + apiClient.cancelLiveTvTimer(timerId).then(function () { + + require(['toast'], function (toast) { + toast(globalize.translate('sharedcomponents#RecordingCancelled')); + }); + + loading.hide(); + resolve(); + }); + }); + }); + }); + } + function renderTimer(context, item) { var programInfo = item.ProgramInfo || {}; @@ -34,9 +59,10 @@ loading.hide(); } - function closeDialog(isSubmitted) { + function closeDialog(isSubmitted, isDeleted) { recordingUpdated = isSubmitted; + recordingDeleted = isDeleted; dialogHelper.close(currentDialog); } @@ -74,6 +100,14 @@ closeDialog(false); }); + context.querySelector('.btnCancelRecording').addEventListener('click', function () { + + var apiClient = connectionManager.getApiClient(currentServerId); + deleteTimer(apiClient, currentItemId).then(function () { + closeDialog(true, true); + }); + }); + context.querySelector('form').addEventListener('submit', onSubmit); } @@ -95,6 +129,7 @@ return new Promise(function (resolve, reject) { recordingUpdated = false; + recordingDeleted = false; currentServerId = serverId; loading.show(); @@ -129,7 +164,7 @@ if (recordingUpdated) { resolve({ updated: true, - deleted: false + deleted: recordingDeleted }); } else { reject(); diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html index c12dfbff3c..75f1b2fcd6 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html @@ -30,6 +30,9 @@ + diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json index ea5797548c..098760ca22 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json @@ -283,5 +283,6 @@ "LiveBroadcasts": "Live broadcasts", "Premieres": "Premieres", "RepeatEpisodes": "Repeat episodes", - "DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription." + "DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription.", + "HeaderCancelRecording": "Cancel Recording" } \ 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 87e3dad5d3..f76855b27a 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.10", "_resolution": { "type": "version", "tag": "v1.0.10", "commit": "f4e146da4982ff96bb25db85290c09e8de4ec734" }, - "_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 db341575ee..5e37c2a3e4 100644 --- a/dashboard-ui/bower_components/iron-meta/.bower.json +++ b/dashboard-ui/bower_components/iron-meta/.bower.json @@ -27,14 +27,14 @@ }, "main": "iron-meta.html", "ignore": [], - "homepage": "https://github.com/PolymerElements/iron-meta", + "homepage": "https://github.com/polymerelements/iron-meta", "_release": "1.1.2", "_resolution": { "type": "version", "tag": "v1.1.2", "commit": "bae96531b63ea6d4ce982f5592248aea849c0f5a" }, - "_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..bc60e6e941 100644 --- a/dashboard-ui/bower_components/polymer/.bower.json +++ b/dashboard-ui/bower_components/polymer/.bower.json @@ -40,6 +40,6 @@ "commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc" }, "_source": "git://github.com/Polymer/polymer.git", - "_target": "^1.1.0", + "_target": "^1.2.0", "_originalSource": "Polymer/polymer" } \ No newline at end of file diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 18718a876f..0682af6b06 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -212,25 +212,6 @@ div[data-role='page'] { transform: translateY(-210%); } -.checkboxContainer { - white-space: nowrap; -} - - .checkboxContainer input:not([is=emby-checkbox]) { - width: 20px; - height: 20px; - vertical-align: middle; - display: inline-block; - margin: 0; - padding: 0; - } - - .checkboxContainer label:not(.mdl-checkbox) { - vertical-align: middle; - display: inline-block; - padding: .7em .5em; - } - textarea { width: 100%; } diff --git a/dashboard-ui/dashboard/livetvtunerprovider-satip.js b/dashboard-ui/dashboard/livetvtunerprovider-satip.js index c0c329d9ed..94634d787e 100644 --- a/dashboard-ui/dashboard/livetvtunerprovider-satip.js +++ b/dashboard-ui/dashboard/livetvtunerprovider-satip.js @@ -1,4 +1,4 @@ -define([], function () { +define(['emby-checkbox'], function () { function reload(page, providerId) { diff --git a/dashboard-ui/dashboardgeneral.html b/dashboard-ui/dashboardgeneral.html index 1f14196a3c..1e98797a66 100644 --- a/dashboard-ui/dashboardgeneral.html +++ b/dashboard-ui/dashboardgeneral.html @@ -92,7 +92,9 @@
- +
diff --git a/dashboard-ui/livetvtunerprovider-satip.html b/dashboard-ui/livetvtunerprovider-satip.html index cd3a93565f..79b885b83b 100644 --- a/dashboard-ui/livetvtunerprovider-satip.html +++ b/dashboard-ui/livetvtunerprovider-satip.html @@ -54,12 +54,14 @@ -
-
- ${LabelEnableThisTuner} -
${LabelEnableThisTunerHelp}
+
+ +
${LabelEnableThisTunerHelp}
-

+
diff --git a/dashboard-ui/scripts/dashboardpage.js b/dashboard-ui/scripts/dashboardpage.js index afd504aac3..7d8cca1253 100644 --- a/dashboard-ui/scripts/dashboardpage.js +++ b/dashboard-ui/scripts/dashboardpage.js @@ -168,20 +168,20 @@ itemHtml += 'dvr'; - itemHtml += '
'; + itemHtml += '
'; - itemHtml += '

'; + itemHtml += '
'; itemHtml += item.Title; - itemHtml += '

'; + itemHtml += '
'; itemHtml += '
'; var date = datetime.parseISO8601Date(item.Date, true); itemHtml += date.toLocaleDateString(); itemHtml += '
'; - itemHtml += '
'; - itemHtml += item.Description; - itemHtml += '
'; + //itemHtml += '
'; + //itemHtml += item.Description; + //itemHtml += '
'; itemHtml += '
'; @@ -1067,9 +1067,9 @@ html += '
'; - html += '

'; + html += '
'; html += entry.Name; - html += '

'; + html += '
'; html += '
'; var date = datetime.parseISO8601Date(entry.Date, true); diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index ad49a45f57..50855eb1a9 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1633,7 +1633,7 @@ var AppInfo = {}; define("imageFetcher", [embyWebComponentsBowerPath + "/images/basicimagefetcher"], returnFirstDependency); } - var preferNativeAlerts = browser.mobile || browser.tv || browser.xboxOne; + var preferNativeAlerts = (browser.mobile && !browser.animate) || browser.tv || browser.xboxOne || browser.ps4; // use native alerts if preferred and supported (not supported in opera tv) if (preferNativeAlerts && window.alert) { define("alert", [embyWebComponentsBowerPath + "/alert/nativealert"], returnFirstDependency); @@ -2182,7 +2182,7 @@ var AppInfo = {}; defineRoute({ path: '/livetvtunerprovider-satip.html', - dependencies: ['emby-input', 'paper-checkbox'], + dependencies: ['emby-input'], autoFocus: false, roles: 'admin', controller: 'dashboard/livetvtunerprovider-satip' diff --git a/dashboard-ui/strings/en-US.json b/dashboard-ui/strings/en-US.json index f92f9f9f66..30f4a40da1 100644 --- a/dashboard-ui/strings/en-US.json +++ b/dashboard-ui/strings/en-US.json @@ -90,7 +90,7 @@ "LabelCountry": "Country:", "LabelLanguage": "Language:", "LabelTimeLimitHours": "Time limit (hours):", - "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "HeaderPreferredMetadataLanguage": "Preferred Metadata Language", "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", diff --git a/dashboard-ui/useredit.html b/dashboard-ui/useredit.html index 15c8196364..5a8c4ea675 100644 --- a/dashboard-ui/useredit.html +++ b/dashboard-ui/useredit.html @@ -151,9 +151,13 @@

- + - +
diff --git a/dashboard-ui/wizardagreement.html b/dashboard-ui/wizardagreement.html index cde7e4bc2f..54a889a89e 100644 --- a/dashboard-ui/wizardagreement.html +++ b/dashboard-ui/wizardagreement.html @@ -1,4 +1,4 @@ -
+
@@ -13,9 +13,10 @@

${ButtonPrivacyPolicy}

${ButtonTermsOfService}

-
- ${OptionIAcceptTermsOfService} -
+