-
${OptionSunday}
-
${OptionMonday}
-
${OptionTuesday}
-
${OptionWednesday}
-
${OptionThursday}
-
${OptionFriday}
-
${OptionSaturday}
+
+
+
+
+
+
+
+
${HeaderRepeatingOptions}
-
-
${OptionRecordOnlyNewEpisodes}
-
${OptionRecordAnytime}
-
${OptionRecordOnAllChannels}
+
+
+
+
-
-
-
+
+ ${HeaderAdvanced}
+
+
+
-
-
-
+
+
+
+
+
+
-
+
-
\ No newline at end of file
diff --git a/dashboard-ui/scripts/livetvseriestimer.js b/dashboard-ui/scripts/livetvseriestimer.js
index f75fd05a99..8b8dcd9df1 100644
--- a/dashboard-ui/scripts/livetvseriestimer.js
+++ b/dashboard-ui/scripts/livetvseriestimer.js
@@ -1,62 +1,4 @@
-define(['datetime', 'jQuery'], function (datetime, $) {
-
- var currentItem;
-
- function deleteTimer(page, id) {
-
- require(['confirm'], function (confirm) {
-
- confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation')).then(function () {
-
- Dashboard.showLoadingMsg();
-
- ApiClient.cancelLiveTvTimer(id).then(function () {
-
- Dashboard.hideLoadingMsg();
- require(['toast'], function (toast) {
- toast(Globalize.translate('MessageRecordingCancelled'));
- });
-
- reload(page);
- });
- });
- });
- }
-
- function renderTimer(page, item) {
-
- currentItem = item;
-
- $('.itemName', page).html(item.Name);
-
- $('#txtPrePaddingMinutes', page).val(item.PrePaddingSeconds / 60);
- $('#txtPostPaddingMinutes', page).val(item.PostPaddingSeconds / 60);
-
- $('#chkNewOnly', page).checked(item.RecordNewOnly);
- $('#chkAllChannels', page).checked(item.RecordAnyChannel);
- $('#chkAnyTime', page).checked(item.RecordAnyTime);
-
- var channelHtml = '';
- if (item.RecordAnyChannel) {
- channelHtml += Globalize.translate('LabelAllChannels');
- }
- else if (item.ChannelId) {
- channelHtml += '
' + item.ChannelName + '';
- }
-
- $('.channel', page).html(channelHtml).trigger('create');
-
- selectDays(page, item.Days);
-
- if (item.RecordAnyTime) {
- $('.time', page).html(Globalize.translate('LabelAnytime')).trigger('create');
- }
- else if (item.ChannelId) {
- $('.time', page).html(datetime.getDisplayTime(item.StartDate)).trigger('create');
- }
-
- Dashboard.hideLoadingMsg();
- }
+define(['datetime', 'dom', 'emby-itemscontainer'], function (datetime, dom) {
function getDaysOfWeek() {
@@ -75,7 +17,7 @@
var day = daysOfWeek[i];
- $('#chk' + day, page).checked(days.indexOf(day) != -1);
+ page.querySelector('#chk' + day).checked = days.indexOf(day) != -1;
}
@@ -91,7 +33,7 @@
var day = daysOfWeek[i];
- if ($('#chk' + day, page).checked()) {
+ if (page.querySelector('#chk' + day).checked) {
days.push(day);
}
}
@@ -99,102 +41,90 @@
return days;
}
- function onSubmit() {
+ return function (view, params) {
- Dashboard.showLoadingMsg();
+ function renderTimer(page, item) {
- var form = this;
+ page.querySelector('.itemName').innerHTML = item.Name;
- ApiClient.getLiveTvSeriesTimer(currentItem.Id).then(function (item) {
+ page.querySelector('#txtPrePaddingMinutes').value = item.PrePaddingSeconds / 60;
+ page.querySelector('#txtPostPaddingMinutes').value = item.PostPaddingSeconds / 60;
- item.PrePaddingSeconds = $('#txtPrePaddingMinutes', form).val() * 60;
- item.PostPaddingSeconds = $('#txtPostPaddingMinutes', form).val() * 60;
+ page.querySelector('#chkNewOnly').checked = item.RecordNewOnly;
+ page.querySelector('#chkAllChannels').checked = item.RecordAnyChannel;
+ page.querySelector('#chkAnyTime').checked = item.RecordAnyTime;
- item.RecordNewOnly = $('#chkNewOnly', form).checked();
- item.RecordAnyChannel = $('#chkAllChannels', form).checked();
- item.RecordAnyTime = $('#chkAnyTime', form).checked();
+ selectDays(page, item.Days);
- item.Days = getDays(form);
+ Dashboard.hideLoadingMsg();
+ }
- ApiClient.updateLiveTvSeriesTimer(item).then(function () {
- Dashboard.hideLoadingMsg();
- require(['toast'], function (toast) {
- toast(Globalize.translate('MessageRecordingSaved'));
- });
+ function onSubmit(e) {
+
+ var form = this;
+
+ var id = params.id;
+
+ ApiClient.getLiveTvSeriesTimer(id).then(function (item) {
+
+ item.PrePaddingSeconds = form.querySelector('#txtPrePaddingMinutes').value * 60;
+ item.PostPaddingSeconds = form.querySelector('#txtPostPaddingMinutes').value * 60;
+
+ item.RecordNewOnly = form.querySelector('#chkNewOnly').checked;
+ item.RecordAnyChannel = form.querySelector('#chkAllChannels').checked;
+ item.RecordAnyTime = form.querySelector('#chkAnyTime').checked;
+
+ item.Days = getDays(form);
+
+ ApiClient.updateLiveTvSeriesTimer(item);
});
- });
- // Disable default form submission
- return false;
+ e.preventDefault();
+ // Disable default form submission
+ return false;
+ }
- }
+ function renderSchedule(page, result) {
- function renderSchedule(page, result) {
+ var timers = result.Items;
- var timers = result.Items;
+ LiveTvHelpers.getTimersHtml(timers).then(function (html) {
- LiveTvHelpers.getTimersHtml(timers).then(function(html) {
- var elem = $('.scheduleTab', page).html(html)[0];
+ var scheduleTab = page.querySelector('.scheduleTab');
+ scheduleTab.innerHTML = html;
- ImageLoader.lazyChildren(elem);
-
- $('.btnDeleteTimer', elem).on('click', function () {
-
- var id = this.getAttribute('data-timerid');
-
- deleteTimer(page, id);
+ ImageLoader.lazyChildren(scheduleTab);
});
- });
- }
+ }
- function reload(page) {
+ function reload() {
- Dashboard.showLoadingMsg();
+ var id = params.id;
+ Dashboard.showLoadingMsg();
- var id = getParameterByName('id');
+ ApiClient.getLiveTvSeriesTimer(id).then(function (result) {
- ApiClient.getLiveTvSeriesTimer(id).then(function (result) {
+ renderTimer(view, result);
- renderTimer(page, result);
+ });
+ ApiClient.getLiveTvTimers({
+
+ seriesTimerId: id
+
+ }).then(function (timerResult) {
+
+ renderSchedule(view, timerResult);
+
+ });
+ }
+
+ view.querySelector('form').addEventListener('change', function () {
+ view.querySelector('.btnSubmit').click();
});
- ApiClient.getLiveTvTimers({
-
- seriesTimerId: id
-
- }).then(function (timerResult) {
-
- renderSchedule(page, timerResult);
-
- });
- }
-
- $(document).on('pageinit', "#liveTvSeriesTimerPage", function () {
-
- var page = this;
-
- $('.radioSeriesTimerTab', page).on('change', function () {
-
- $('.tab', page).hide();
- $('.' + this.value + 'Tab', page).show();
-
- });
-
- $('.liveTvSeriesTimerForm').off('submit', onSubmit).on('submit', onSubmit);
-
- }).on('pagebeforeshow', "#liveTvSeriesTimerPage", function () {
-
- var page = this;
-
- $('.radioProfileTab', page).checked(false).checkboxradio('refresh');
- $('#radioSettings', page).checked(true).checkboxradio('refresh').trigger('change');
-
- reload(page);
-
- }).on('pagebeforehide', "#liveTvSeriesTimerPage", function () {
-
- currentItem = null;
- });
-
+ view.querySelector('.liveTvSeriesTimerForm').addEventListener('submit', onSubmit);
+ view.querySelector('.scheduleTab').addEventListener('timercancelled', reload);
+ view.addEventListener('viewbeforeshow', reload);
+ };
});
\ No newline at end of file
diff --git a/dashboard-ui/scripts/livetvseriestimers.js b/dashboard-ui/scripts/livetvseriestimers.js
index 31096fc815..4609be0bc1 100644
--- a/dashboard-ui/scripts/livetvseriestimers.js
+++ b/dashboard-ui/scripts/livetvseriestimers.js
@@ -40,11 +40,11 @@
html += '
';
- html += '
';
+ html += '
live_tv';
html += '
';
html += '
';
- html += '';
+ html += '';
html += timer.Name;
html += '
';
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 323523af71..d4e665ec88 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -2287,8 +2287,9 @@ var AppInfo = {};
defineRoute({
path: '/livetvseriestimer.html',
- dependencies: [],
- autoFocus: false
+ dependencies: ['emby-checkbox', 'emby-input', 'emby-button', 'emby-collapse', 'scripts/livetvcomponents', 'scripts/livetvseriestimer', 'livetvcss'],
+ autoFocus: false,
+ controller: 'scripts/livetvseriestimer'
});
defineRoute({