mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Finish web UI
This commit is contained in:
parent
b43adb7406
commit
fa9e2b476b
12 changed files with 248 additions and 9 deletions
|
@ -152,10 +152,11 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout
|
|||
|
||||
function loginQuickConnect() {
|
||||
var apiClient = getApiClient();
|
||||
var identifier = ""
|
||||
var interval = 0;
|
||||
var friendlyName = "test";
|
||||
$.get('/QuickConnect/Initiate?FriendlyName=' + friendlyName).then(json => {
|
||||
|
||||
var url = apiClient.getUrl("/QuickConnect/Initiate?FriendlyName=" + friendlyName);
|
||||
apiClient.getJSON(url)
|
||||
.then(json => {
|
||||
if (!json.Secret || !json.Code) {
|
||||
Dashboard.alert({
|
||||
message: json.Error,
|
||||
|
@ -171,11 +172,12 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout
|
|||
|
||||
loading.show();
|
||||
|
||||
identifier = json.Secret;
|
||||
interval = setInterval(() => {
|
||||
$.get('/QuickConnect/Connect?Secret=' + identifier).then(x => {
|
||||
if(x.Authenticated) {
|
||||
apiClient.quickConnect(x.Authentication).then((result) => {
|
||||
var interval = setInterval(() => {
|
||||
var url = apiClient.getUrl('/QuickConnect/Connect?Secret=' + json.Secret);
|
||||
apiClient.getJSON(url)
|
||||
.then(data => {
|
||||
if(data.Authenticated) {
|
||||
apiClient.quickConnect(data.Authentication).then((result) => {
|
||||
var user = result.User;
|
||||
var serverId = getParameterByName("serverid");
|
||||
var newUrl;
|
||||
|
|
57
src/controllers/quickconnect.js
Normal file
57
src/controllers/quickconnect.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
define(["jQuery", "loading", "libraryMenu", "fnchecked"], function ($, loading, libraryMenu) {
|
||||
"use strict";
|
||||
|
||||
function loadPage(page, status) {
|
||||
var active = (status == "Active");
|
||||
var available = (status == "Available") || active;
|
||||
|
||||
$("#quickConnectStatus").text(status.toLocaleLowerCase());
|
||||
$("#chkQuickConnectAvailable").checked(available);
|
||||
$("#chkQuickConnectActive").checked(active);
|
||||
|
||||
loading.hide();
|
||||
}
|
||||
|
||||
function onSubmit() {
|
||||
loading.show();
|
||||
|
||||
var available = $("#chkQuickConnectAvailable").is(":checked") ? "Available" : "Unavailable";
|
||||
var url = ApiClient.getUrl("/QuickConnect/Available");
|
||||
|
||||
ApiClient.ajax({
|
||||
type: "POST",
|
||||
data: {
|
||||
"Status": available
|
||||
},
|
||||
url: url
|
||||
}, true).then(() => {
|
||||
if($("#chkQuickConnectActive").is(":checked")) {
|
||||
url = ApiClient.getUrl("/QuickConnect/Activate");
|
||||
ApiClient.ajax({
|
||||
type: "POST",
|
||||
url: url
|
||||
}, true);
|
||||
}
|
||||
|
||||
Dashboard.alert({
|
||||
message: "Settings saved",
|
||||
title: "Saved"
|
||||
});
|
||||
});
|
||||
|
||||
loading.hide();
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).on("pageinit", "#quickConnectPage", function () {
|
||||
$("#quickConnectPage").off("submit", onSubmit).on("submit", onSubmit);
|
||||
$("#btnQuickConnectSubmit").click(onSubmit);
|
||||
}).on("pageshow", "#quickConnectPage", function () {
|
||||
loading.show();
|
||||
var page = this;
|
||||
var promise1 = ApiClient.getQuickConnect("Status");
|
||||
Promise.all([promise1]).then(function (responses) {
|
||||
loadPage(page, responses[0]);
|
||||
});
|
||||
});
|
||||
});
|
|
@ -24,6 +24,7 @@ define(["apphost", "connectionManager", "layoutManager", "listViewStyle", "emby-
|
|||
page.querySelector(".lnkHomePreferences").setAttribute("href", "mypreferenceshome.html?userId=" + userId);
|
||||
page.querySelector(".lnkPlaybackPreferences").setAttribute("href", "mypreferencesplayback.html?userId=" + userId);
|
||||
page.querySelector(".lnkSubtitlePreferences").setAttribute("href", "mypreferencessubtitles.html?userId=" + userId);
|
||||
page.querySelector(".lnkQuickConnectPreferences").setAttribute("href", "mypreferencesquickconnect.html?userId=" + userId);
|
||||
|
||||
if (window.NativeShell && window.NativeShell.AppHost.supports("clientsettings")) {
|
||||
page.querySelector(".clientSettings").classList.remove("hide");
|
||||
|
|
41
src/controllers/user/quickconnect.js
Normal file
41
src/controllers/user/quickconnect.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
define(["quickConnectSettings", "dom", "globalize", "loading", "userSettings", "autoFocuser", "listViewStyle"], function (QuickConnectSettings, dom, globalize, loading, userSettings, autoFocuser) {
|
||||
"use strict";
|
||||
|
||||
return function (view, params) {
|
||||
var quickConnectSettingsInstance = null;
|
||||
var hasChanges;
|
||||
var userId = params.userId || ApiClient.getCurrentUserId();
|
||||
var currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new userSettings();
|
||||
view.addEventListener("viewshow", function () {
|
||||
console.debug("defining instance");
|
||||
|
||||
quickConnectSettingsInstance = new QuickConnectSettings({
|
||||
serverId: ApiClient.serverId(),
|
||||
userId: userId,
|
||||
element: view.querySelector(".quickConnectSettingsContainer"),
|
||||
userSettings: currentSettings,
|
||||
enableSaveButton: false,
|
||||
enableSaveConfirmation: false,
|
||||
autoFocus: autoFocuser.isEnabled()
|
||||
});
|
||||
|
||||
quickConnectSettingsInstance.loadData();
|
||||
});
|
||||
view.addEventListener("change", function () {
|
||||
hasChanges = true;
|
||||
});
|
||||
view.addEventListener("viewbeforehide", function () {
|
||||
hasChanges = false;
|
||||
|
||||
if (quickConnectSettingsInstance) {
|
||||
quickConnectSettingsInstance.submit();
|
||||
}
|
||||
});
|
||||
view.addEventListener("viewdestroy", function () {
|
||||
if (quickConnectSettingsInstance) {
|
||||
quickConnectSettingsInstance.destroy();
|
||||
quickConnectSettingsInstance = null;
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue