diff options
| author | rr- | 2016-05-20 21:35:12 +0200 |
|---|---|---|
| committer | rr- | 2016-05-21 00:08:43 +0200 |
| commit | 69fe8ec31a0827eda913e55ca464228168ffcaf1 (patch) | |
| tree | 037608c4a0496e7064b0068314abae96c38dd7ba /client/js/views/user_edit_view.js | |
| parent | c88dfd228ac6feedd44fd82330b9899db863a190 (diff) | |
client/general: refactor all the things
- Move controls to the "controls/" directory
- Make controls interface look similar to each other
- Prefix "private" methods and attributes with underscore
Diffstat (limited to 'client/js/views/user_edit_view.js')
| -rw-r--r-- | client/js/views/user_edit_view.js | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/client/js/views/user_edit_view.js b/client/js/views/user_edit_view.js index 0f9d858..ac2ad20 100644 --- a/client/js/views/user_edit_view.js +++ b/client/js/views/user_edit_view.js @@ -2,12 +2,11 @@ const config = require('../config.js'); const views = require('../util/views.js'); -const FileDropperControl = require('./file_dropper_control.js'); +const FileDropperControl = require('../controls/file_dropper_control.js'); class UserEditView { constructor() { - this.template = views.getTemplate('user-edit'); - this.fileDropperControl = new FileDropperControl(); + this._template = views.getTemplate('user-edit'); } render(ctx) { @@ -15,7 +14,7 @@ class UserEditView { ctx.passwordPattern = config.passwordRegex + /|^$/.source; const target = ctx.target; - const source = this.template(ctx); + const source = this._template(ctx); const form = source.querySelector('form'); const avatarContentField = source.querySelector('#avatar-content'); @@ -23,15 +22,18 @@ class UserEditView { views.decorateValidator(form); let avatarContent = null; - this.fileDropperControl.render({ - target: avatarContentField, - lock: true, - resolve: files => { - source.querySelector( - '[name=avatar-style][value=manual]').checked = true; - avatarContent = files[0]; - }, - }); + if (avatarContentField) { + new FileDropperControl( + avatarContentField, + { + lock: true, + resolve: files => { + source.querySelector( + '[name=avatar-style][value=manual]').checked = true; + avatarContent = files[0]; + }, + }); + } form.addEventListener('submit', e => { const rankField = source.querySelector('#user-rank'); |