Files
nginx-proxy-manager/frontend/js/login/ui/login.js
2023-12-15 06:43:35 +02:00

44 lines
1.2 KiB
JavaScript

const $ = require('jquery');
const Mn = require('backbone.marionette');
const template = require('./login.ejs');
const Api = require('../../app/api');
const i18n = require('../../app/i18n');
module.exports = Mn.View.extend({
template: template,
className: 'page-single',
ui: {
form: 'form',
identity: 'input[name="identity"]',
secret: 'input[name="secret"]',
error: '.secret-error',
button: 'button'
},
events: {
'submit @ui.form': function (e) {
e.preventDefault();
this.ui.button.addClass('btn-loading').prop('disabled', true);
this.ui.error.hide();
Api.Tokens.login(this.ui.identity.val(), this.ui.secret.val(), true)
.then(() => {
window.location = '/';
})
.catch(err => {
this.ui.error.text(err.message).show();
this.ui.button.removeClass('btn-loading').prop('disabled', false);
});
}
},
templateContext: {
i18n: i18n,
getVersion: function () {
const version = $('#login').data('version');
return version;
}
}
});