aboutsummaryrefslogtreecommitdiff
path: root/client/js/views/login_view.js
diff options
context:
space:
mode:
authorrr-2016-04-09 18:54:23 +0200
committerrr-2016-04-09 22:23:24 +0200
commit2e1823b7080aa0b3de986eb8f35f68837d04e023 (patch)
treeaad254b860d4078b9d5b829a50cf5ddd3b837deb /client/js/views/login_view.js
parent4821f2ac6ca1fd8e8a08d236815d8c964e473316 (diff)
client/views: replace inheritance with composition
Diffstat (limited to 'client/js/views/login_view.js')
-rw-r--r--client/js/views/login_view.js21
1 files changed, 10 insertions, 11 deletions
diff --git a/client/js/views/login_view.js b/client/js/views/login_view.js
index f0e90c0..9a1763c 100644
--- a/client/js/views/login_view.js
+++ b/client/js/views/login_view.js
@@ -1,17 +1,15 @@
'use strict';
const config = require('../config.js');
-const events = require('../events.js');
-const BaseView = require('./base_view.js');
+const views = require('../util/views.js');
-class LoginView extends BaseView {
+class LoginView {
constructor() {
- super();
- this.template = this.getTemplate('login-template');
+ this.template = views.getTemplate('login');
}
render(ctx) {
- const target = this.contentHolder;
+ const target = document.getElementById('content-holder');
const source = this.template({canSendMails: config.canSendMails});
const form = source.querySelector('form');
@@ -19,22 +17,23 @@ class LoginView extends BaseView {
const passwordField = source.querySelector('#user-password');
const rememberUserField = source.querySelector('#remember-user');
- this.decorateValidator(form);
+ views.decorateValidator(form);
userNameField.setAttribute('pattern', config.userNameRegex);
passwordField.setAttribute('pattern', config.passwordRegex);
form.addEventListener('submit', e => {
e.preventDefault();
- this.clearMessages();
- this.disableForm(form);
+ views.clearMessages(target);
+ views.disableForm(form);
ctx.login(
userNameField.value,
passwordField.value,
rememberUserField.checked)
- .always(() => { this.enableForm(form); });
+ .always(() => { views.enableForm(form); });
});
- this.showView(target, source);
+ views.listenToMessages(target);
+ views.showView(target, source);
}
}

© 2015 - 2026 Jakob L. Kreuze