1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update tv guide

This commit is contained in:
Luke Pulverenti 2015-07-23 10:58:27 -04:00
parent 86dea1fa4c
commit 7a39655dca
12 changed files with 81 additions and 30 deletions

View file

@ -585,9 +585,10 @@ Apply `circle` class to make the rippling effect within a circle.
} }
}, },
get shouldKeepAnimating () { get shouldKeepAnimating() {
for (var index = 0; index < this.ripples.length; ++index) { var ripples = this.ripples || [];
if (!this.ripples[index].isAnimationComplete) { for (var index = 0; index < ripples.length; ++index) {
if (!ripples[index].isAnimationComplete) {
return true; return true;
} }
} }
@ -625,9 +626,11 @@ Apply `circle` class to make the rippling effect within a circle.
return; return;
} }
this.ripples.forEach(function(ripple) { if (this.ripples) {
this.ripples.forEach(function (ripple) {
ripple.upAction(event); ripple.upAction(event);
}); });
}
this.animate(); this.animate();
}, },
@ -643,7 +646,10 @@ Apply `circle` class to make the rippling effect within a circle.
Polymer.dom(this.$.waves).appendChild(ripple.waveContainer); Polymer.dom(this.$.waves).appendChild(ripple.waveContainer);
this.$.background.style.backgroundColor = ripple.color; this.$.background.style.backgroundColor = ripple.color;
if (this.ripples) {
this.ripples.push(ripple); this.ripples.push(ripple);
}
this._setAnimating(true); this._setAnimating(true);
@ -672,8 +678,9 @@ Apply `circle` class to make the rippling effect within a circle.
this._animating = true; this._animating = true;
for (index = 0; index < this.ripples.length; ++index) { var ripples = this.ripples || [];
ripple = this.ripples[index]; for (index = 0; index < ripples.length; ++index) {
ripple = ripples[index];
ripple.draw(); ripple.draw();
@ -684,7 +691,7 @@ Apply `circle` class to make the rippling effect within a circle.
} }
} }
if (!this.shouldKeepAnimating && this.ripples.length === 0) { if (!this.shouldKeepAnimating && ripples.length === 0) {
this.onAnimationComplete(); this.onAnimationComplete();
} else { } else {
window.requestAnimationFrame(this._boundAnimate); window.requestAnimationFrame(this._boundAnimate);

View file

@ -328,7 +328,7 @@
@media (max-width: 600px) { @media (max-width: 600px) {
.guideChannelImage { .guideChannelInfoWithImage {
display: none; display: none;
} }

View file

@ -65,7 +65,7 @@
<button type="submit" data-role="none" class="clearButton"> <button type="submit" data-role="none" class="clearButton">
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button> <paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
</button> </button>
<paper-button raised class="cancel block btnCancel" onclick="history.back();"><iron-icon icon="close"></iron-icon><span>${ButtonCancel}</span></paper-button>
</div> </div>
</div> </div>
</form> </form>

View file

@ -47,6 +47,15 @@
<input type="checkbox" id="chkMovies" /> <input type="checkbox" id="chkMovies" />
</fieldset> </fieldset>
</div> </div>
<div>
<br />
<label for="txtRecordingPath">${LabelRecordingPath}</label>
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtRecordingPath" />
</div>
<button id="btnSelectRecordingPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelRecordingPathHelp}</div>
</div>
<br /> <br />
<br /> <br />
<ul data-role="listview" class="ulForm"> <ul data-role="listview" class="ulForm">

View file

@ -66,7 +66,7 @@
<p><a href="plugincatalog.html">${LiveTvPluginRequiredHelp}</a></p> <p><a href="plugincatalog.html">${LiveTvPluginRequiredHelp}</a></p>
</div> </div>
<paper-dialog class="dlgAddDevice" entry-animation="fade-in-animation" exit-animation="fade-out-animation" style="height:300px;width:250px;" with-backdrop> <paper-dialog class="dlgAddDevice" entry-animation="fade-in-animation" exit-animation="fade-out-animation" style="height:500px;width:300px;" with-backdrop>
<h2>${HeaderAddDevice}</h2> <h2>${HeaderAddDevice}</h2>
<form class="formAddDevice"> <form class="formAddDevice">
@ -77,6 +77,8 @@
<option value="hdhomerun">HD Homerun</option> <option value="hdhomerun">HD Homerun</option>
<option value="m3u">M3U</option> <option value="m3u">M3U</option>
</select> </select>
<div class="fieldDescription">${MessageTunerDeviceNotListed}</div>
<div class="fieldDescription"><a href="appservices.html?context=livetv">${TabExternalServices}</a></div>
</div> </div>
<div> <div>
<br /> <br />

View file

@ -91,10 +91,11 @@
var savedKeyPropertyName = 'vbk'; var savedKeyPropertyName = 'vbk';
var savedKey = appStorage.getItem(savedKeyPropertyName); var savedKey = appStorage.getItem(savedKeyPropertyName);
if (savedKey) { if (savedKey) {
var deferred = DeferredBuilder.Deferred(); htmlMediaRenderer.customViblastKey = savedKey;
deferred.resolveWith(null, [savedKey]); callback();
return deferred.promise(); return;
} }
var headers = {}; var headers = {};

View file

@ -203,7 +203,7 @@
} }
function closeMainDrawer() { function closeMainDrawer() {
document.getElementsByClassName('mainDrawerPanel')[0].closeDrawer(); document.querySelector('.mainDrawerPanel').closeDrawer();
} }
function ensureDrawerStructure(drawer) { function ensureDrawerStructure(drawer) {

View file

@ -285,9 +285,12 @@
html += '<div class="channelHeaderCell">'; html += '<div class="channelHeaderCell">';
html += '<a class="channelHeaderCellInner" href="livetvchannel.html?id=' + channel.Id + '">'; html += '<a class="channelHeaderCellInner" href="livetvchannel.html?id=' + channel.Id + '">';
html += '<div class="guideChannelInfo">' + channel.Name + '<br/>' + channel.Number + '</div>'; var hasChannelImage = channel.ImageTags.Primary;
var cssClass = hasChannelImage ? 'guideChannelInfo guideChannelInfoWithImage' : 'guideChannelInfo';
if (channel.ImageTags.Primary) { html += '<div class="' + cssClass + '">' + channel.Name + '<br/>' + channel.Number + '</div>';
if (hasChannelImage) {
var url = ApiClient.getScaledImageUrl(channel.Id, { var url = ApiClient.getScaledImageUrl(channel.Id, {
maxHeight: 35, maxHeight: 35,

View file

@ -108,7 +108,7 @@
$('#selectListing', page).html(result.map(function (o) { $('#selectListing', page).html(result.map(function (o) {
return '<option value="' + o.Id + '">' + o.name + '</option>'; return '<option value="' + o.Id + '">' + o.Name + '</option>';
})).selectmenu('refresh'); })).selectmenu('refresh');

View file

@ -9,6 +9,8 @@
$('#chkMovies', page).checked(config.EnableMovieProviders).checkboxradio("refresh"); $('#chkMovies', page).checked(config.EnableMovieProviders).checkboxradio("refresh");
$('#txtRecordingPath', page).val(config.RecordingPath || '');
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
} }
@ -22,6 +24,7 @@
config.GuideDays = $('#selectGuideDays', form).val() || null; config.GuideDays = $('#selectGuideDays', form).val() || null;
config.EnableMovieProviders = $('#chkMovies', form).checked(); config.EnableMovieProviders = $('#chkMovies', form).checked();
config.RecordingPath = $('#txtRecordingPath', form).val() || null;
ApiClient.updateNamedConfiguration("livetv", config).done(Dashboard.processServerConfigurationUpdateResult); ApiClient.updateNamedConfiguration("livetv", config).done(Dashboard.processServerConfigurationUpdateResult);
}); });
@ -32,8 +35,26 @@
$(document).on('pageinitdepends', "#liveTvSettingsPage", function () { $(document).on('pageinitdepends', "#liveTvSettingsPage", function () {
var page = this;
$('.liveTvSettingsForm').off('submit', onSubmit).on('submit', onSubmit); $('.liveTvSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
$('#btnSelectRecordingPath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtRecordingPath', page).val(path);
}
picker.close();
}
});
});
}).on('pageshowready', "#liveTvSettingsPage", function () { }).on('pageshowready', "#liveTvSettingsPage", function () {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();

View file

@ -2035,6 +2035,7 @@ var AppInfo = {};
drawerWidth = Math.max(drawerWidth, 240); drawerWidth = Math.max(drawerWidth, 240);
// But not exceeding 310 // But not exceeding 310
drawerWidth = Math.min(drawerWidth, 310); drawerWidth = Math.min(drawerWidth, 310);
drawer.drawerWidth = drawerWidth + "px"; drawer.drawerWidth = drawerWidth + "px";
if ($.browser.safari && !AppInfo.isNativeApp) { if ($.browser.safari && !AppInfo.isNativeApp) {

View file

@ -12815,9 +12815,10 @@ is separate from validation, and `allowed-pattern` does not affect how the input
} }
}, },
get shouldKeepAnimating () { get shouldKeepAnimating() {
for (var index = 0; index < this.ripples.length; ++index) { var ripples = this.ripples || [];
if (!this.ripples[index].isAnimationComplete) { for (var index = 0; index < ripples.length; ++index) {
if (!ripples[index].isAnimationComplete) {
return true; return true;
} }
} }
@ -12855,9 +12856,11 @@ is separate from validation, and `allowed-pattern` does not affect how the input
return; return;
} }
this.ripples.forEach(function(ripple) { if (this.ripples) {
this.ripples.forEach(function (ripple) {
ripple.upAction(event); ripple.upAction(event);
}); });
}
this.animate(); this.animate();
}, },
@ -12873,7 +12876,10 @@ is separate from validation, and `allowed-pattern` does not affect how the input
Polymer.dom(this.$.waves).appendChild(ripple.waveContainer); Polymer.dom(this.$.waves).appendChild(ripple.waveContainer);
this.$.background.style.backgroundColor = ripple.color; this.$.background.style.backgroundColor = ripple.color;
if (this.ripples) {
this.ripples.push(ripple); this.ripples.push(ripple);
}
this._setAnimating(true); this._setAnimating(true);
@ -12902,8 +12908,9 @@ is separate from validation, and `allowed-pattern` does not affect how the input
this._animating = true; this._animating = true;
for (index = 0; index < this.ripples.length; ++index) { var ripples = this.ripples || [];
ripple = this.ripples[index]; for (index = 0; index < ripples.length; ++index) {
ripple = ripples[index];
ripple.draw(); ripple.draw();
@ -12914,7 +12921,7 @@ is separate from validation, and `allowed-pattern` does not affect how the input
} }
} }
if (!this.shouldKeepAnimating && this.ripples.length === 0) { if (!this.shouldKeepAnimating && ripples.length === 0) {
this.onAnimationComplete(); this.onAnimationComplete();
} else { } else {
window.requestAnimationFrame(this._boundAnimate); window.requestAnimationFrame(this._boundAnimate);