diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json
index 7ac9348cdc..f4bcb5e25d 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.258",
- "_release": "1.4.258",
+ "version": "1.4.259",
+ "_release": "1.4.259",
"_resolution": {
"type": "version",
- "tag": "1.4.258",
- "commit": "52cd113c96592ab8036ea4878fdff7681459b16d"
+ "tag": "1.4.259",
+ "commit": "2e5f06e70a3a24a3904a91fe28669a3483d3b7ca"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",
diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js
index 7bfecbfe9d..0b6d9a3a14 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js
@@ -395,7 +395,7 @@
html += 'hd';
}
- if (program.SeriesTimerId) {
+ if (program.SeriesTimerId && program.TimerId) {
html += '';
}
else if (program.TimerId) {
diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
index cd9c090809..29fa3a2561 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
@@ -98,10 +98,10 @@ define(['css!./indicators.css', 'material-icons'], function () {
function getTimerIndicator(item) {
- if (item.SeriesTimerId) {
+ if (item.SeriesTimerId && item.TimerId) {
return '';
}
- if (item.TimerId) {
+ else if (item.TimerId) {
return '';
}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js
index b15944e177..b9f9fa326a 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js
@@ -41,7 +41,7 @@ define(['datetime', 'globalize', 'embyRouter', 'itemHelper', 'material-icons', '
}
if (options.timerIndicator !== false) {
- if (item.SeriesTimerId) {
+ if (item.SeriesTimerId && item.TimerId) {
miscInfo.push({
html: ''
});
diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js
index eb76c03cb7..11eddcd49a 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js
@@ -1,7 +1,5 @@
-define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'datetime', 'imageLoader', 'recordingFields', 'emby-checkbox', '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, datetime, imageLoader, recordingFields) {
+define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'datetime', 'imageLoader', 'recordingFields', 'events', 'emby-checkbox', '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, datetime, imageLoader, recordingFields, events) {
- var currentProgramId;
- var currentServerId;
var currentDialog;
var closeAction;
var currentRecordingFields;
@@ -54,47 +52,49 @@
return null;
}
- function renderRecording(context, defaultTimer, program, apiClient) {
+ function renderRecording(context, defaultTimer, program, apiClient, refreshRecordingStateOnly) {
- var imgUrl = getImageUrl(program, apiClient, 200);
- var imageContainer = context.querySelector('.recordingDialog-imageContainer');
+ if (!refreshRecordingStateOnly) {
+ var imgUrl = getImageUrl(program, apiClient, 200);
+ var imageContainer = context.querySelector('.recordingDialog-imageContainer');
- if (imgUrl) {
- imageContainer.innerHTML = '';
- imageContainer.classList.remove('hide');
+ if (imgUrl) {
+ imageContainer.innerHTML = '
';
+ imageContainer.classList.remove('hide');
- imageLoader.lazyChildren(imageContainer);
- } else {
- imageContainer.innerHTML = '';
- imageContainer.classList.add('hide');
+ imageLoader.lazyChildren(imageContainer);
+ } else {
+ imageContainer.innerHTML = '';
+ imageContainer.classList.add('hide');
+ }
+
+ context.querySelector('.recordingDialog-itemName').innerHTML = program.Name;
+ context.querySelector('.formDialogHeaderTitle').innerHTML = program.Name;
+ context.querySelector('.itemGenres').innerHTML = (program.Genres || []).join(' / ');
+ context.querySelector('.itemOverview').innerHTML = program.Overview || '';
+
+ var formDialogFooter = context.querySelector('.formDialogFooter');
+ var now = new Date();
+ if (now >= datetime.parseISO8601Date(program.StartDate, true) && now < datetime.parseISO8601Date(program.EndDate, true)) {
+ formDialogFooter.classList.remove('hide');
+ } else {
+ formDialogFooter.classList.add('hide');
+ }
+
+ context.querySelector('.itemMiscInfoPrimary').innerHTML = mediaInfo.getPrimaryMediaInfoHtml(program);
}
- context.querySelector('.recordingDialog-itemName').innerHTML = program.Name;
- context.querySelector('.formDialogHeaderTitle').innerHTML = program.Name;
- context.querySelector('.itemGenres').innerHTML = (program.Genres || []).join(' / ');
- context.querySelector('.itemOverview').innerHTML = program.Overview || '';
-
- var formDialogFooter = context.querySelector('.formDialogFooter');
- var now = new Date();
- if (now >= datetime.parseISO8601Date(program.StartDate, true) && now < datetime.parseISO8601Date(program.EndDate, true)) {
- formDialogFooter.classList.remove('hide');
- } else {
- formDialogFooter.classList.add('hide');
- }
-
- context.querySelector('.itemMiscInfoPrimary').innerHTML = mediaInfo.getPrimaryMediaInfoHtml(program);
context.querySelector('.itemMiscInfoSecondary').innerHTML = mediaInfo.getSecondaryMediaInfoHtml(program, {
- timerIndicator: false
});
loading.hide();
}
- function reload(context, programId) {
+ function reload(context, programId, serverId, refreshRecordingStateOnly) {
loading.show();
- var apiClient = connectionManager.getApiClient(currentServerId);
+ var apiClient = connectionManager.getApiClient(serverId);
var promise1 = apiClient.getNewLiveTvTimerDefaults({ programId: programId });
var promise2 = apiClient.getLiveTvProgram(programId, apiClient.getCurrentUserId());
@@ -104,7 +104,7 @@
var defaults = responses[0];
var program = responses[1];
- renderRecording(context, defaults, program, apiClient);
+ renderRecording(context, defaults, program, apiClient, refreshRecordingStateOnly);
});
}
@@ -129,8 +129,6 @@
return new Promise(function (resolve, reject) {
- currentProgramId = itemId;
- currentServerId = serverId;
closeAction = null;
loading.show();
@@ -161,9 +159,14 @@
currentDialog = dlg;
+ function onRecordingChanged() {
+ reload(dlg, itemId, serverId, true);
+ }
+
dlg.addEventListener('close', function () {
- executeCloseAction(closeAction, currentProgramId, currentServerId);
+ events.off(currentRecordingFields, 'recordingchanged', onRecordingChanged);
+ executeCloseAction(closeAction, itemId, serverId);
if (currentRecordingFields && currentRecordingFields.hasChanged()) {
resolve();
@@ -178,7 +181,7 @@
init(dlg);
- reload(dlg, itemId);
+ reload(dlg, itemId, serverId);
currentRecordingFields = new recordingFields({
parent: dlg.querySelector('.recordingFields'),
@@ -186,6 +189,8 @@
serverId: serverId
});
+ events.on(currentRecordingFields, 'recordingchanged', onRecordingChanged);
+
dialogHelper.open(dlg);
});
});
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 fa0d99d7fc..8b85cb6ead 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html
+++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html
@@ -11,10 +11,24 @@