mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-22 17:10:10 +00:00
admin: fix logout when url base is used
two tries are made, with and without the url base.
This commit is contained in:
parent
5a80145607
commit
a13a72c626
@ -5,11 +5,12 @@ export class Login {
|
|||||||
private _modal: Modal;
|
private _modal: Modal;
|
||||||
private _form: HTMLFormElement;
|
private _form: HTMLFormElement;
|
||||||
private _url: string;
|
private _url: string;
|
||||||
|
private _endpoint: string;
|
||||||
private _onLogin: (username: string, password: string) => void;
|
private _onLogin: (username: string, password: string) => void;
|
||||||
private _logoutButton: HTMLElement = null;
|
private _logoutButton: HTMLElement = null;
|
||||||
|
|
||||||
constructor(modal: Modal, endpoint: string) {
|
constructor(modal: Modal, endpoint: string) {
|
||||||
|
this._endpoint = endpoint;
|
||||||
this._url = window.URLBase + endpoint;
|
this._url = window.URLBase + endpoint;
|
||||||
if (this._url[this._url.length-1] != '/') this._url += "/";
|
if (this._url[this._url.length-1] != '/') this._url += "/";
|
||||||
|
|
||||||
@ -32,14 +33,22 @@ export class Login {
|
|||||||
bindLogout = (button: HTMLElement) => {
|
bindLogout = (button: HTMLElement) => {
|
||||||
this._logoutButton = button;
|
this._logoutButton = button;
|
||||||
this._logoutButton.classList.add("unfocused");
|
this._logoutButton.classList.add("unfocused");
|
||||||
this._logoutButton.onclick = () => _post(this._url + "logout", null, (req: XMLHttpRequest): boolean => {
|
const logoutFunc = (url: string, tryAgain: boolean) => {
|
||||||
|
_post(url + "logout", null, (req: XMLHttpRequest): boolean => {
|
||||||
if (req.readyState == 4 && req.status == 200) {
|
if (req.readyState == 4 && req.status == 200) {
|
||||||
window.token = "";
|
window.token = "";
|
||||||
location.reload();
|
location.reload();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}, false, (req: XMLHttpRequest) => {
|
||||||
|
if (req.readyState == 4 && req.status == 404 && tryAgain) {
|
||||||
|
console.log("trying without URL Base...");
|
||||||
|
logoutFunc(this._endpoint, false);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
this._logoutButton.onclick = () => logoutFunc(this._url, true);
|
||||||
|
};
|
||||||
|
|
||||||
get onLogin() { return this._onLogin; }
|
get onLogin() { return this._onLogin; }
|
||||||
set onLogin(f: (username: string, password: string) => void) { this._onLogin = f; }
|
set onLogin(f: (username: string, password: string) => void) { this._onLogin = f; }
|
||||||
|
Loading…
Reference in New Issue
Block a user