mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
add new guide settings
This commit is contained in:
parent
63d66a049a
commit
faeb1c6d22
7 changed files with 87 additions and 21 deletions
|
@ -1,21 +1,34 @@
|
|||
define(['dialogHelper', 'globalize', 'userSettings', 'layoutManager', 'connectionManager', 'require', 'loading', 'scrollHelper', 'emby-checkbox', 'css!./../formdialog', 'material-icons'], function (dialogHelper, globalize, userSettings, layoutManager, connectionManager, require, loading, scrollHelper) {
|
||||
define(['dialogHelper', 'globalize', 'userSettings', 'layoutManager', 'connectionManager', 'require', 'loading', 'scrollHelper', 'emby-checkbox', 'emby-radio', 'css!./../formdialog', 'material-icons'], function (dialogHelper, globalize, userSettings, layoutManager, connectionManager, require, loading, scrollHelper) {
|
||||
|
||||
function save(context) {
|
||||
|
||||
var i, length;
|
||||
|
||||
var chkIndicators = context.querySelectorAll('.chkIndicator');
|
||||
for (var i = 0, length = chkIndicators.length; i < length; i++) {
|
||||
for (i = 0, length = chkIndicators.length; i < length; i++) {
|
||||
|
||||
var type = chkIndicators[i].getAttribute('data-type');
|
||||
userSettings.set('guide-indicator-' + type, chkIndicators[i].checked);
|
||||
}
|
||||
|
||||
userSettings.set('guide-colorcodedbackgrounds', context.querySelector('.chkColorCodedBackgrounds').checked);
|
||||
userSettings.set('livetv-favoritechannelsattop', context.querySelector('.chkFavoriteChannelsAtTop').checked);
|
||||
|
||||
var sortBys = context.querySelectorAll('.chkSortOrder');
|
||||
for (i = 0, length = sortBys.length; i < length; i++) {
|
||||
if (sortBys[i].checked) {
|
||||
userSettings.set('livetv-channelorder', sortBys[i].value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function load(context) {
|
||||
|
||||
var i, length;
|
||||
|
||||
var chkIndicators = context.querySelectorAll('.chkIndicator');
|
||||
for (var i = 0, length = chkIndicators.length; i < length; i++) {
|
||||
for (i = 0, length = chkIndicators.length; i < length; i++) {
|
||||
|
||||
var type = chkIndicators[i].getAttribute('data-type');
|
||||
|
||||
|
@ -27,6 +40,28 @@
|
|||
}
|
||||
|
||||
context.querySelector('.chkColorCodedBackgrounds').checked = userSettings.get('guide-colorcodedbackgrounds') == 'true';
|
||||
context.querySelector('.chkFavoriteChannelsAtTop').checked = userSettings.get('livetv-favoritechannelsattop') != 'false';
|
||||
|
||||
var sortByValue = userSettings.get('livetv-channelorder') || 'DatePlayed';
|
||||
|
||||
var sortBys = context.querySelectorAll('.chkSortOrder');
|
||||
for (i = 0, length = sortBys.length; i < length; i++) {
|
||||
sortBys[i].checked = sortBys[i].value == sortByValue;
|
||||
}
|
||||
}
|
||||
|
||||
function onSortByChange() {
|
||||
var newValue = this.value;
|
||||
if (this.checked) {
|
||||
var changed = options.query.SortBy != newValue;
|
||||
|
||||
options.query.SortBy = newValue.replace('_', ',');
|
||||
options.query.StartIndex = 0;
|
||||
|
||||
if (options.callback && changed) {
|
||||
options.callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showEditor() {
|
||||
|
|
|
@ -7,31 +7,39 @@
|
|||
<div class="formDialogContent smoothScrollY">
|
||||
<form class="dialogContentInner dialog-content-centered" style="padding-top:2em;">
|
||||
|
||||
<h3 class="checkboxListLabel">${SortChannelsBy}</h3>
|
||||
<label class="radio-label-block"><input type="radio" is="emby-radio" name="ChannelSortOrder" value="Number" class="chkSortOrder" /><span>${ChannelNumber}</span></label>
|
||||
<label class="radio-label-block"><input type="radio" is="emby-radio" name="ChannelSortOrder" value="DatePlayed" class="chkSortOrder" /><span>${RecentlyWatched}</span></label>
|
||||
<br />
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkFavoriteChannelsAtTop" />
|
||||
<span>${PlaceFavoriteChannelsAtBeginning}</span>
|
||||
</label>
|
||||
<h3 class="checkboxListLabel">${ShowIndicatorsFor}</h3>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="hd"/>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="hd" />
|
||||
<span>${HDPrograms}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="live" data-default="true"/>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="live" data-default="true" />
|
||||
<span>${LiveBroadcasts}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="new"/>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="new" />
|
||||
<span>${NewEpisodes}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="premiere" data-default="true"/>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="premiere" data-default="true" />
|
||||
<span>${Premieres}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="repeat"/>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="repeat" />
|
||||
<span>${RepeatEpisodes}</span>
|
||||
</label>
|
||||
</div>
|
||||
<br/>
|
||||
<label>
|
||||
<br />
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkColorCodedBackgrounds" />
|
||||
<span>${EnableColorCodedBackgrounds}</span>
|
||||
</label>
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
var channelQuery = {
|
||||
|
||||
StartIndex: 0,
|
||||
EnableFavoriteSorting: true
|
||||
EnableFavoriteSorting: userSettings.get('livetv-favoritechannelsattop') !== 'false'
|
||||
};
|
||||
|
||||
channelQuery.UserId = apiClient.getCurrentUserId();
|
||||
|
@ -206,6 +206,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
if (userSettings.get('livetv-channelorder') == 'Number') {
|
||||
channelQuery.SortBy = "SortName";
|
||||
channelQuery.SortOrder = "Ascending";
|
||||
} else {
|
||||
channelQuery.SortBy = "DatePlayed";
|
||||
channelQuery.SortOrder = "Descending";
|
||||
}
|
||||
|
||||
var date = newStartDate;
|
||||
// Add one second to avoid getting programs that are just ending
|
||||
date = new Date(date.getTime() + 1000);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue