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

Merge pull request #149 from jellyfin/release-10.2.z

Release 10.2.1
This commit is contained in:
Joshua M. Boniface 2019-02-20 14:59:31 -05:00 committed by GitHub
commit ec5a3b6e5e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 90 additions and 5 deletions

View file

@ -29,11 +29,14 @@ define(['events', 'dom'], function (events, dom) {
}
if (element.webkitEnterFullscreen) {
element.webkitEnterFullscreen();
}
}
};
fullscreenManager.prototype.exitFullscreen = function () {
if (!this.isFullScreen()) {
return;
}
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
@ -47,9 +50,15 @@ define(['events', 'dom'], function (events, dom) {
}
};
// TODO: use screenfull.js
fullscreenManager.prototype.isFullScreen = function () {
return document.fullscreen || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement ? true : false;
return document.fullscreen ||
document.mozFullScreen ||
document.webkitIsFullScreen ||
document.msFullscreenElement || /* IE/Edge syntax */
document.fullscreenElement || /* Standard syntax */
document.webkitFullscreenElement || /* Chrome, Safari and Opera syntax */
document.mozFullScreenElement; /* Firefox syntax */
};
var manager = new fullscreenManager();
@ -71,4 +80,4 @@ define(['events', 'dom'], function (events, dom) {
});
return manager;
});
});

View file

@ -1,4 +1,4 @@
define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackManager', 'appRouter', 'appSettings', 'connectionManager', 'htmlMediaHelper', 'itemHelper'], function (browser, require, events, appHost, loading, dom, playbackManager, appRouter, appSettings, connectionManager, htmlMediaHelper, itemHelper) {
define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackManager', 'appRouter', 'appSettings', 'connectionManager', 'htmlMediaHelper', 'itemHelper', 'fullscreenManager'], function (browser, require, events, appHost, loading, dom, playbackManager, appRouter, appSettings, connectionManager, htmlMediaHelper, itemHelper, fullscreenManager) {
"use strict";
var mediaManager;
@ -692,6 +692,8 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
dlg.parentNode.removeChild(dlg);
}
fullscreenManager.exitFullscreen();
};
function onEnded() {

27
src/opensubtitles.html Normal file
View file

@ -0,0 +1,27 @@
<div id="openSubtitlesPage" data-role="page" class="page type-interior metadataConfigurationPage" data-require="scripts/opensubtitles,emby-input,emby-button,emby-linkbutton">
<div>
<div class="content-primary">
<form class="metadataSubtitlesForm">
<div style="height:0; overflow: hidden;"><input type="text" name="fakeusernameremembered" tabindex="-1" /><input type="password" name="fakepasswordremembered" tabindex="-1" /></div>
<div style="display: none;">
<input type="text" id="PreventChromeAutocomplete" name="PreventChromeAutocomplete" autocomplete="address-level4" />
</div>
<br />
<div class="inputContainer">
<input is="emby-input" type="text" id="txtOpenSubtitleUsername" autocomplete="off" label="${LabelOpenSubtitlesUsername}" />
<div class="fieldDescription">
<a is="emby-linkbutton" class="button-link" target="_blank" href="http://www.opensubtitles.org/">${ButtonRegister}</a>
</div>
</div>
<div class="inputContainer">
<input is="emby-input" type="password" id="txtOpenSubtitlePassword" autocomplete="off" label="${LabelOpenSubtitlesPassword}" />
</div>
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
</div>
<div class="fieldDescription">${SubtitleDownloadInstructions}</div>
</form>
</div>
</div>
</div>

View file

@ -297,6 +297,11 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
icon: "swap_horiz",
href: "encodingsettings.html",
pageIds: ["encodingSettingsPage"]
}, {
name: "Open Subtitles",
href: "opensubtitles.html",
pageIds: ["openSubtitlesPage"],
icon: "closed_caption"
}];
addPluginPagesToMainMenu(links, pluginItems, "server");
links.push({

View file

@ -0,0 +1,36 @@
define(["loading", "fnchecked", "emby-linkbutton", "emby-input", "emby-checkbox", "emby-button"], function (loading) {
"use strict";
function loadPage(page, config) {
page.querySelector("#txtOpenSubtitleUsername").value = config.OpenSubtitlesUsername;
page.querySelector("#txtOpenSubtitlePassword").value = config.OpenSubtitlesPasswordHash || "";
loading.hide();
}
function onSubmit(evt) {
evt.preventDefault();
loading.show();
var form = this;
ApiClient.getNamedConfiguration("subtitles").then(function (config) {
config.OpenSubtitlesUsername = form.querySelector("#txtOpenSubtitleUsername").value;
var newPassword = form.querySelector("#txtOpenSubtitlePassword").value;
if (newPassword) {
config.OpenSubtitlesPasswordHash = newPassword;
}
ApiClient.updateNamedConfiguration("subtitles", config).then(Dashboard.processServerConfigurationUpdateResult);
});
return false;
}
$(document).on("pageinit", "#openSubtitlesPage", function() {
$(".metadataSubtitlesForm").off("submit", onSubmit).on("submit", onSubmit)
}).on("pageshow", "#openSubtitlesPage", function() {
loading.show();
var page = this;
ApiClient.getNamedConfiguration("subtitles").then(function (response) {
loadPage(page, response);
});
});
});

View file

@ -512,6 +512,11 @@ var Dashboard = {
dependencies: [],
autoFocus: !1,
roles: "admin"
}), defineRoute({
path: "/opensubtitles.html",
dependencies: [],
autoFocus: !1,
roles: "admin"
}), defineRoute({
path: "/forgotpassword.html",
dependencies: ["emby-input", "emby-button"],

View file

@ -159,6 +159,7 @@
"ButtonReenable": "Re-enable",
"ButtonRefresh": "Refresh",
"ButtonRefreshGuideData": "Refresh Guide Data",
"ButtonRegister": "Register",
"ButtonReject": "Reject",
"ButtonRemote": "Remote",
"ButtonRemoteControl": "Remote Control",