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

99 lines
3.2 KiB
JavaScript
Raw Normal View History

define(['require', 'apphost', 'layoutManager', 'focusManager', 'globalize', 'loading', 'connectionManager', 'listViewStyle', 'emby-select', 'emby-checkbox'], function (require, appHost, layoutManager, focusManager, globalize, loading, connectionManager) {
2020-04-12 00:44:30 -05:00
"use strict";
function authorizeRequest(event) {
var lookup = event.data.lookup;
var url = ApiClient.getUrl("/QuickConnect/Authorize");
ApiClient.ajax({
2020-04-12 00:44:30 -05:00
type: "POST",
url: url,
data: {
"Lookup": lookup
}
}, true);
}
QuickConnectSettings.prototype.list = function(argPage) {
ApiClient.getJSON("/QuickConnect/List").then(json => {
var elem = $(argPage.querySelector("#quickConnectIncoming"));
2020-04-13 16:23:16 -05:00
elem.html("");
for (var i = 0; i < json.length; i++) {
2020-04-12 00:44:30 -05:00
var current = json[i];
var html = "<li>" + current.Code + " - " + current.FriendlyName + " - ";
if (!current.Authenticated) {
2020-04-12 00:44:30 -05:00
html += "<a href=\"#\" id=\"qc" + current.Lookup + "\">authorize</a>";
} else {
2020-04-12 00:44:30 -05:00
html += " (already authorized)";
}
2020-04-12 00:44:30 -05:00
html += "</li>";
elem.append(html);
$("#qc" + current.Lookup).click({ lookup: current.Lookup }, authorizeRequest);
2020-04-12 00:44:30 -05:00
}
return true;
}).catch((e) => {
console.error("Unable to get quick connect login requests. error:", e);
2020-04-12 00:44:30 -05:00
});
};
QuickConnectSettings.prototype.activate = function() {
var url = ApiClient.getUrl("/QuickConnect/Activate");
ApiClient.ajax({
type: "POST",
url: url,
contentType: "application/json",
dataType: "json"
}).then((json) => {
let message = json.Error;
console.log("message is \"" + message + "\"");
if (message && message !== "") {
console.error("Error activating quick connect. Error: ", json.Error);
Dashboard.alert({
title: "Unable to activate quick connect",
message: message
});
return false;
}
Dashboard.alert({
message: "Already active"
});
return true;
}).catch((e) => {
console.error("Error activating quick connect. Error:", e);
throw e;
});
};
2020-04-12 00:44:30 -05:00
function QuickConnectSettings(options) {
this.options = options;
}
QuickConnectSettings.prototype.loadData = function () {
this.options.interval = setInterval(this.list, 5000, this.options.page);
this.list(this.options.page);
2020-04-12 00:44:30 -05:00
};
QuickConnectSettings.prototype.submit = function () {
return false;
};
QuickConnectSettings.prototype.destroy = function () {
console.debug("clearing refresh interval", this.options.interval);
clearInterval(this.options.interval);
2020-04-12 00:44:30 -05:00
this.options = null;
};
QuickConnectSettings.prototype.interval = function (interval) {
this.options.interval = interval;
};
2020-04-12 00:44:30 -05:00
return QuickConnectSettings;
});