diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 365638fc78..4f79628247 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -2425,6 +2425,11 @@ lines.push(item.ProductionYear || ''); } + if (options.showChannelName) { + + lines.push(item.ChannelName || ''); + } + if (options.showAirTime) { var airTimeText; diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 5dae5e7c1a..1a824a248b 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -229,6 +229,27 @@ } } + function deleteTimer(id, itemsContainer) { + + require(['confirm'], function (confirm) { + + confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation')).then(function () { + + Dashboard.showLoadingMsg(); + + ApiClient.cancelLiveTvTimer(id).then(function () { + + require(['toast'], function (toast) { + toast(Globalize.translate('MessageRecordingCancelled')); + }); + + Dashboard.hideLoadingMsg(); + itemsContainer.dispatchEvent(new CustomEvent('timercancelled', {})); + }); + }); + }); + } + function showContextMenu(card, options) { var displayContextItem = card; @@ -323,8 +344,16 @@ }); } + if (itemType == 'Timer' && user.Policy.EnableLiveTvManagement) { + items.push({ + name: Globalize.translate('ButtonCancel'), + id: 'canceltimer', + ironIcon: 'cancel' + }); + } + items.push({ - name: Globalize.translate('ButtonOpen'), + name: itemType == 'Timer' ? Globalize.translate('ButtonEdit') : Globalize.translate('ButtonOpen'), id: 'open', ironIcon: 'folder-open' }); @@ -581,6 +610,9 @@ case 'externalplayer': LibraryBrowser.playInExternalPlayer(itemId); break; + case 'canceltimer': + deleteTimer(itemId, $(card).parents('.itemsContainer')[0]); + break; case 'share': require(['sharingmanager'], function (sharingManager) { sharingManager.showMenu({ diff --git a/dashboard-ui/scripts/livetvcomponents.js b/dashboard-ui/scripts/livetvcomponents.js index cbd3ede7e2..772e109616 100644 --- a/dashboard-ui/scripts/livetvcomponents.js +++ b/dashboard-ui/scripts/livetvcomponents.js @@ -12,108 +12,13 @@ shape: "square", showTitle: true, showAirTime: true, + showChannelName: true, lazy: true, cardLayout: true, showDetailsMenu: true }); return Promise.resolve(html); - - return new Promise(function (resolve, reject) { - - require(['paper-fab', 'paper-item-body', 'paper-icon-item'], function () { - var html = ''; - var index = ''; - var imgUrl; - - for (var i = 0, length = timers.length; i < length; i++) { - - var timer = timers[i]; - - var startDateText = LibraryBrowser.getFutureDateText(datetime.parseISO8601Date(timer.StartDate, true)); - - if (startDateText != index) { - - if (index) { - html += ''; - html += ''; - } - - html += '