';
@@ -157,12 +163,6 @@
});
- if (item.CurrentProgram) {
- $('.currentProgram', page).html('Now playing:
').trigger('create');
- } else {
- $('.currentProgram', page).html('');
- }
-
loadPrograms(page);
});
diff --git a/dashboard-ui/scripts/livetvchannels.js b/dashboard-ui/scripts/livetvchannels.js
index 226dab728c..1fc89c971b 100644
--- a/dashboard-ui/scripts/livetvchannels.js
+++ b/dashboard-ui/scripts/livetvchannels.js
@@ -1,59 +1,13 @@
(function ($, document, apiClient) {
- function getChannelHtml(channel) {
-
- var html = '';
-
- html += '
";
-
- return html;
- }
-
function getChannelsHtml(channels) {
- var html = [];
-
- for (var i = 0, length = channels.length; i < length; i++) {
-
- html.push(getChannelHtml(channels[i]));
- }
-
- return html.join('');
+ return LibraryBrowser.getPosterViewHtml({
+ items: channels,
+ useAverageAspectRatio: true,
+ shape: "backdrop",
+ centerText: true
+ });
}
function renderChannels(page, channels) {
diff --git a/dashboard-ui/scripts/livetvguide.js b/dashboard-ui/scripts/livetvguide.js
index c25db02540..5c34a8e8dc 100644
--- a/dashboard-ui/scripts/livetvguide.js
+++ b/dashboard-ui/scripts/livetvguide.js
@@ -7,19 +7,10 @@
var gridLocalStartDateMs;
var gridLocalEndDateMs;
- function formatDigit(i) {
- return i < 10 ? "0" + i : i;
- }
+ var currentDate;
+ var channelsPromise;
- function getDateFormat(date) {
-
- // yyyyMMddHHmmss
- // Convert to UTC
- // http://stackoverflow.com/questions/948532/how-do-you-convert-a-javascript-date-to-utc/14610512#14610512
- var d = new Date(date.getTime());
-
- return "" + d.getFullYear() + formatDigit(d.getMonth() + 1) + formatDigit(d.getDate()) + formatDigit(d.getHours()) + formatDigit(d.getMinutes()) + formatDigit(d.getSeconds());
- }
+ var guideInfoPromise;
function normalizeDateToTimeslot(date) {
@@ -37,11 +28,10 @@
return date;
}
- var currentDate;
- var channelsPromise;
-
function reloadGuide(page) {
+ Dashboard.showLoadingMsg();
+
channelsPromise = channelsPromise || apiClient.getLiveTvChannels({
userId: Dashboard.getCurrentUserId()
@@ -51,14 +41,15 @@
var date = currentDate;
var nextDay = new Date(date.getTime());
- nextDay.setDate(nextDay.getDate() + 2);
- nextDay.setHours(1, 0, 0, 0);
+ nextDay.setHours(0, 0, 0, 0);
+ nextDay.setDate(nextDay.getDate() + 1);
var promise1 = channelsPromise;
var promise2 = apiClient.getLiveTvPrograms({
UserId: Dashboard.getCurrentUserId(),
- MaxStartDate: getDateFormat(nextDay)
+ MaxStartDate: nextDay.toISOString(),
+ MinEndDate: date.toISOString()
});
@@ -68,6 +59,8 @@
var programs = response2[0].Items;
renderGuide(page, date, channels, programs);
+
+ Dashboard.hideLoadingMsg();
});
}
@@ -231,6 +224,10 @@
html += '
';
html += program.Name;
+
+ if (program.IsRepeat) {
+ html += ' (R)';
+ }
html += '
';
@@ -339,20 +336,9 @@
$('.timeslotHeaders', page).scrollLeft(grid.scrollLeft());
}
- $(document).on('pageinit', "#liveTvGuidePage", function () {
+ function changeDate(page, date) {
- var page = this;
-
- $('.programGrid', page).on('scroll', function () {
-
- onProgramGridScroll(page, this);
- });
-
- }).on('pagebeforeshow', "#liveTvGuidePage", function () {
-
- var page = this;
-
- currentDate = normalizeDateToTimeslot(new Date());
+ currentDate = normalizeDateToTimeslot(date);
gridLocalStartDateMs = currentDate.getTime();
@@ -362,6 +348,71 @@
gridLocalEndDateMs = clone.getTime() - 1;
reloadGuide(page);
+ }
+
+ function setDateRange(page, guideInfo) {
+
+ var today = new Date();
+ today.setHours(today.getHours(), 0, 0, 0);
+
+ var start = parseISO8601Date(guideInfo.StartDate, { toLocal: true });
+ var end = parseISO8601Date(guideInfo.EndDate, { toLocal: true });
+
+ start.setHours(0, 0, 0, 0);
+ end.setHours(0, 0, 0, 0);
+
+ start = new Date(Math.max(today, start));
+
+ var html = '';
+
+ while (start <= end) {
+
+
+ html += '
';
+
+ start.setDate(start.getDate() + 1);
+ start.setHours(0, 0, 0, 0);
+ }
+
+ var elem = $('#selectDate', page).html(html).selectmenu('refresh');
+
+ if (currentDate) {
+ elem.val(currentDate.getTime()).selectmenu('refresh');
+ }
+
+ var val = elem.val();
+ var date = new Date();
+ date.setTime(parseInt(val));
+
+ changeDate(page, date);
+ }
+
+ $(document).on('pageinit', "#liveTvGuidePage", function () {
+
+ var page = this;
+
+ $('.programGrid', page).on('scroll', function () {
+
+ onProgramGridScroll(page, this);
+ });
+
+ $('#selectDate', page).on('change', function() {
+
+ var date = new Date();
+ date.setTime(parseInt(this.value));
+
+ changeDate(page, date);
+
+ });
+
+ }).on('pagebeforeshow', "#liveTvGuidePage", function () {
+
+ var page = this;
+
+ apiClient.getLiveTvGuideInfo().done(function (guideInfo) {
+
+ setDateRange(page, guideInfo);
+ });
});
})(jQuery, document, ApiClient);
\ No newline at end of file
diff --git a/dashboard-ui/scripts/livetvprogram.js b/dashboard-ui/scripts/livetvprogram.js
index dec6776faf..d30d226c40 100644
--- a/dashboard-ui/scripts/livetvprogram.js
+++ b/dashboard-ui/scripts/livetvprogram.js
@@ -12,6 +12,10 @@
currentItem = item;
var name = item.Name;
+
+ if (item.IsRepeat) {
+ name += ' (R)';
+ }
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
@@ -44,7 +48,11 @@
ApiClient.sendWebSocketMessage("Context", vals.join('|'));
}
- $('#recordButtonContainer', page).show();
+ if (!item.TimerId && !item.SeriesTimerId) {
+ $('#recordButtonContainer', page).show();
+ } else {
+ $('#recordButtonContainer', page).hide();
+ }
if (MediaPlayer.canPlay(item)) {
$('#playButtonContainer', page).show();
diff --git a/dashboard-ui/scripts/livetvrecordinglist.js b/dashboard-ui/scripts/livetvrecordinglist.js
index 822279b721..717142219a 100644
--- a/dashboard-ui/scripts/livetvrecordinglist.js
+++ b/dashboard-ui/scripts/livetvrecordinglist.js
@@ -90,9 +90,7 @@
LibraryBrowser.loadSavedQueryValues('episodes', query);
var groupId = getParameterByName('groupid');
- if (groupId) {
- query.GroupId = groupId;
- }
+ query.GroupId = groupId;
reloadItems(page);
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 67bfc0b428..b619938864 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -766,7 +766,7 @@ var Dashboard = {
name: "Advanced",
divider: true,
href: "advanced.html",
- selected: pageElem.id == "advancedConfigurationPage"
+ selected: page.hasClass("advancedConfigurationPage")
}, {
name: "Scheduled Tasks",
href: "scheduledtasks.html",
diff --git a/dashboard-ui/scripts/tvupcoming.js b/dashboard-ui/scripts/tvupcoming.js
index cbaf638b8b..752a8f49da 100644
--- a/dashboard-ui/scripts/tvupcoming.js
+++ b/dashboard-ui/scripts/tvupcoming.js
@@ -1,19 +1,5 @@
(function ($, document) {
- function formatDigit(i) {
- return i < 10 ? "0" + i : i;
- }
-
- function getDateFormat(date) {
-
- // yyyyMMddHHmmss
- // Convert to UTC
- // http://stackoverflow.com/questions/948532/how-do-you-convert-a-javascript-date-to-utc/14610512#14610512
- var d = new Date(date.getTime());
-
- return "" + d.getFullYear() + formatDigit(d.getMonth() + 1) + formatDigit(d.getDate()) + formatDigit(d.getHours()) + formatDigit(d.getMinutes()) + formatDigit(d.getSeconds());
- }
-
$(document).on('pagebeforeshow', "#tvUpcomingPage", function () {
var page = this;
@@ -39,7 +25,7 @@
yesterday.setDate(yesterday.getDate() - 1);
yesterday.setHours(0, 0, 0, 0);
- missedItemsQuery.MinPremiereDate = getDateFormat(yesterday);
+ missedItemsQuery.MinPremiereDate = yesterday.toISOString();
var unairedQuery = $.extend({
diff --git a/packages.config b/packages.config
index 4932cd5c18..3bb7e71050 100644
--- a/packages.config
+++ b/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file