add guide paging
This commit is contained in:
parent
9f68248140
commit
99599a8846
2 changed files with 50 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'datetime', 'focusManager', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'dom', 'clearButtonStyle', 'css!./guide.css', 'material-icons', 'scrollStyles', 'emby-button'], function (require, browser, globalize, connectionManager, serverNotifications, loading, datetime, focusManager, imageLoader, events, layoutManager, itemShortcuts, registrationServices, dom) {
|
define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'datetime', 'focusManager', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'dom', 'clearButtonStyle', 'css!./guide.css', 'material-icons', 'scrollStyles', 'emby-button', 'paper-icon-button-light'], function (require, browser, globalize, connectionManager, serverNotifications, loading, datetime, focusManager, imageLoader, events, layoutManager, itemShortcuts, registrationServices, dom) {
|
||||||
|
|
||||||
function Guide(options) {
|
function Guide(options) {
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@
|
||||||
var totalRendererdMs = msPerDay;
|
var totalRendererdMs = msPerDay;
|
||||||
|
|
||||||
var currentDate;
|
var currentDate;
|
||||||
|
var currentStartIndex = 0;
|
||||||
|
var currentChannelLimit = 0;
|
||||||
|
|
||||||
var channelQuery = {
|
var channelQuery = {
|
||||||
|
|
||||||
|
@ -119,7 +121,7 @@
|
||||||
|
|
||||||
return registrationServices.validateFeature('livetv').then(function () {
|
return registrationServices.validateFeature('livetv').then(function () {
|
||||||
|
|
||||||
var limit = browser.slow ? 100 : 400;
|
var limit = browser.mobile ? 100 : 500;
|
||||||
|
|
||||||
context.querySelector('.guideRequiresUnlock').classList.add('hide');
|
context.querySelector('.guideRequiresUnlock').classList.add('hide');
|
||||||
|
|
||||||
|
@ -144,8 +146,11 @@
|
||||||
|
|
||||||
getChannelLimit(context).then(function (channelLimit) {
|
getChannelLimit(context).then(function (channelLimit) {
|
||||||
|
|
||||||
|
currentChannelLimit = channelLimit;
|
||||||
|
|
||||||
showLoading();
|
showLoading();
|
||||||
|
|
||||||
|
channelQuery.StartIndex = currentStartIndex;
|
||||||
channelQuery.Limit = channelLimit;
|
channelQuery.Limit = channelLimit;
|
||||||
channelQuery.AddCurrentProgram = false;
|
channelQuery.AddCurrentProgram = false;
|
||||||
channelQuery.EnableUserData = false;
|
channelQuery.EnableUserData = false;
|
||||||
|
@ -163,6 +168,25 @@
|
||||||
console.log(nextDay);
|
console.log(nextDay);
|
||||||
channelsPromise.then(function (channelsResult) {
|
channelsPromise.then(function (channelsResult) {
|
||||||
|
|
||||||
|
if (channelsResult.TotalRecordCount > channelLimit) {
|
||||||
|
context.querySelector('.guidePaging').classList.remove('hide');
|
||||||
|
|
||||||
|
if (channelQuery.StartIndex) {
|
||||||
|
context.querySelector('.btnPreviousPage').disabled = false;
|
||||||
|
} else {
|
||||||
|
context.querySelector('.btnPreviousPage').disabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((channelQuery.StartIndex + channelLimit) < channelsResult.TotalRecordCount) {
|
||||||
|
context.querySelector('.btnNextPage').disabled = false;
|
||||||
|
} else {
|
||||||
|
context.querySelector('.btnNextPage').disabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
context.querySelector('.guidePaging').classList.add('hide');
|
||||||
|
}
|
||||||
|
|
||||||
apiClient.getLiveTvPrograms({
|
apiClient.getLiveTvPrograms({
|
||||||
UserId: apiClient.getCurrentUserId(),
|
UserId: apiClient.getCurrentUserId(),
|
||||||
MaxStartDate: nextDay.toISOString(),
|
MaxStartDate: nextDay.toISOString(),
|
||||||
|
@ -821,6 +845,20 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
context.querySelector('.btnUnlockGuide').addEventListener('click', function () {
|
context.querySelector('.btnUnlockGuide').addEventListener('click', function () {
|
||||||
|
currentStartIndex = 0;
|
||||||
|
channelsPromise = null;
|
||||||
|
reloadPage(context);
|
||||||
|
});
|
||||||
|
|
||||||
|
context.querySelector('.btnNextPage').addEventListener('click', function () {
|
||||||
|
currentStartIndex += currentChannelLimit;
|
||||||
|
channelsPromise = null;
|
||||||
|
reloadPage(context);
|
||||||
|
});
|
||||||
|
|
||||||
|
context.querySelector('.btnPreviousPage').addEventListener('click', function () {
|
||||||
|
currentStartIndex = Math.max(currentStartIndex - currentChannelLimit, 0);
|
||||||
|
channelsPromise = null;
|
||||||
reloadPage(context);
|
reloadPage(context);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -12,10 +12,19 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="guideRequiresUnlock readOnlyContent hide" style="margin:1em auto;text-align:center;padding:1em;flex-shrink:0;">
|
<div class="guideRequiresUnlock readOnlyContent hide" style="margin: 1em auto; text-align: center; padding: 1em; flex-shrink: 0;">
|
||||||
<p class="unlockText"></p>
|
<p class="unlockText"></p>
|
||||||
<button is="emby-button" type="button" class="raised secondary block btnUnlockGuide">
|
<button is="emby-button" type="button" class="raised secondary block btnUnlockGuide">
|
||||||
<i class="md-icon">check</i>
|
<i class="md-icon">check</i>
|
||||||
<span>${UnlockGuide}</span>
|
<span>${UnlockGuide}</span>
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="padding:.5em;" class="guidePaging hide">
|
||||||
|
<button is="paper-icon-button-light" type="button" class="btnPreviousPage">
|
||||||
|
<i class="md-icon">arrow_back</i>
|
||||||
|
</button>
|
||||||
|
<button is="paper-icon-button-light" type="button" class="btnNextPage">
|
||||||
|
<i class="md-icon">arrow_forward</i>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
Loading…
Add table
Add a link
Reference in a new issue