From bb89ad90f229cf0487789434be94843545f3df82 Mon Sep 17 00:00:00 2001 From: zinyando Date: Thu, 28 Jul 2016 15:17:14 +0200 Subject: [PATCH] Use computed macros --- app/app/components/forgot-password.js | 19 ++----- app/app/components/general-settings.js | 37 +++++--------- app/app/components/password-reset.js | 37 +++++--------- app/app/components/user-profile.js | 30 ++---------- app/app/components/user-settings.js | 49 +++++-------------- app/app/pods/customize/general/controller.js | 5 +- .../templates/components/forgot-password.hbs | 2 +- .../templates/components/general-settings.hbs | 4 +- .../templates/components/password-reset.hbs | 4 +- app/app/templates/components/user-profile.hbs | 6 +-- .../templates/components/user-settings.hbs | 6 +-- 11 files changed, 57 insertions(+), 142 deletions(-) diff --git a/app/app/components/forgot-password.js b/app/app/components/forgot-password.js index 1978104d..f393f5cf 100644 --- a/app/app/components/forgot-password.js +++ b/app/app/components/forgot-password.js @@ -8,32 +8,23 @@ const { export default Ember.Component.extend({ email: "", sayThanks: false, - emptyEmail: computed('email', 'emptyEmailError', { - get() { - if (isEmpty(this.get('email')) && this.get('emptyEmailError')) { - return `error`; - } - - return; - } - }), + emailEmpty: computed.empty('email'), + hasEmptyEmailError: computed.and('emailEmpty', 'emailIsEmpty'), actions: { forgot() { let email = this.get('email'); if (isEmpty(email)) { - Ember.set(this, 'emptyEmailError', true); + Ember.set(this, 'emailIsEmpty', true); return $("#email").focus(); } this.get('forgot')(email).then(() => { Ember.set(this, 'sayThanks', true); Ember.set(this, 'email', ''); - }).catch((error) => { - let message = error.message; - console.log(message); - }); + Ember.set(this, 'emailIsEmpty', false); + }) } } }); diff --git a/app/app/components/general-settings.js b/app/app/components/general-settings.js index 9a9028a6..8cd7f3da 100644 --- a/app/app/components/general-settings.js +++ b/app/app/components/general-settings.js @@ -2,50 +2,35 @@ import Ember from 'ember'; const { isEmpty, - isPresent, computed, get, set } = Ember; export default Ember.Component.extend({ - titleInputError: computed('titleError', 'model.title', { - get() { - let error = get(this, 'titleError'); - let title = this.get('model.title'); - if (isPresent(error) || isEmpty(title)) { - return `error`; - } - - return; - } - }), - messageInputError: computed('messageError', 'model.message', { - get() { - let error = get(this, 'messageError'); - let message = this.get('model.message'); - if (isPresent(error) || isEmpty(message)) { - return `error`; - } - - return; - } - }), + titleEmpty: computed.empty('model.title'), + messageEmpty: computed.empty('model.message'), + hasTitleInputError: computed.and('titleEmpty', 'titleError'), + hasMessageInputError: computed.and('messageEmpty', 'messageError'), actions: { save() { if (isEmpty(this.model.get('title'))) { - set(this, 'titleError', 'error'); + set(this, 'titleError', true); return $("#siteTitle").focus(); } if (isEmpty(this.model.get('message'))) { - set(this, 'messageError', 'error'); + set(this, 'messageError', true); return $("#siteMessage").focus(); } this.model.set('allowAnonymousAccess', Ember.$("#allowAnonymousAccess").prop('checked')); - this.get('save')(); + this.get('save')().then(() => { + this.showNotification('Saved'); + set(this, 'titleError', false); + set(this, 'messageError', false); + }); } } }); diff --git a/app/app/components/password-reset.js b/app/app/components/password-reset.js index d89b41b1..a08bfb2f 100644 --- a/app/app/components/password-reset.js +++ b/app/app/components/password-reset.js @@ -13,26 +13,10 @@ export default Ember.Component.extend({ password: "", passwordConfirm: "", mustMatch: false, - passwordEmpty: computed('passwordError', { - get() { - let error = this.get('passwordError'); - if (isPresent(error)) { - return `error`; - } - - return; - } - }), - confirmEmpty: computed('passwordConfirmError', { - get() { - let error = this.get('passwordConfirmError'); - if (isPresent(error)) { - return `error`; - } - - return; - } - }), + passwordEmpty: computed.empty('password'), + confirmEmpty: computed.empty('passwordConfirm'), + hasPasswordError: computed.and('passwordEmpty', 'passwordIsEmpty'), + hasConfirmError: computed.and('confirmEmpty', 'passwordConfirmIsEmpty'), actions: { reset() { @@ -40,23 +24,26 @@ export default Ember.Component.extend({ let passwordConfirm = this.get('passwordConfirm'); if (isEmpty(password)) { - set(this, 'passwordError', "error"); + set(this, 'passwordIsEmpty', true); return $("#newPassword").focus(); } if (isEmpty(passwordConfirm)) { - set(this, 'passwordConfirmError', "error"); + set(this, 'passwordConfirmIsEmpty', true); return $("#passwordConfirm").focus(); } if (!isEqual(password, passwordConfirm)) { - set(this, 'passwordError', "error"); - set(this, 'passwordConfirmError', "error"); + set(this, 'hasPasswordError', true); + set(this, 'hasConfirmError', true); set(this, 'mustMatch', true); return; } - this.get('reset')(password); + this.get('reset')(password).then(() => { + set(this, 'passwordIsEmpty', false); + set(this, 'passwordConfirmIsEmpty', false); + }); } } }); diff --git a/app/app/components/user-profile.js b/app/app/components/user-profile.js index 7c0f503b..6db56177 100644 --- a/app/app/components/user-profile.js +++ b/app/app/components/user-profile.js @@ -9,33 +9,9 @@ const { export default Ember.Component.extend({ password: { password: "", confirmation: "" }, - hasFirstnameError: computed('model.firstname', { - get() { - if (isEmpty(this.get('model.firstname'))) { - return `error`; - } - - return; - } - }), - hasLastnameError: computed('model.lastname', { - get() { - if (isEmpty(this.get('model.lastname'))) { - return `error`; - } - - return; - } - }), - hasEmailError: computed('model.email', { - get() { - if (isEmpty(this.get('model.email'))) { - return `error`; - } - - return; - } - }), + hasFirstnameError: computed.empty('model.firstname'), + hasLastnameError: computed.empty('model.lastname'), + hasEmailError: computed.empty('model.email'), hasPasswordError: computed('passwordError', 'password.password', { get() { if (isPresent(this.get('passwordError'))) { diff --git a/app/app/components/user-settings.js b/app/app/components/user-settings.js index eadd980b..e8f79a8d 100644 --- a/app/app/components/user-settings.js +++ b/app/app/components/user-settings.js @@ -1,7 +1,6 @@ import Ember from 'ember'; const { - isPresent, isEmpty, computed, set, @@ -10,52 +9,25 @@ const { export default Ember.Component.extend({ newUser: { firstname: "", lastname: "", email: "", active: true }, - userFirstnameError: computed('firstnameError', 'newUser.firstname', { - get() { - let error = get(this, 'firstnameError'); - let firstname = get(this, 'newUser.firstname'); - if (isPresent(error) && isEmpty(firstname)) { - return `error`; - } - - return; - } - }), - userLastnameError: computed('lastnameError', 'newUser.lastname', { - get() { - let error = get(this, 'lastnameError'); - let lastname = get(this, 'newUser.lastname'); - if (isPresent(error) && isEmpty(lastname)) { - return `error`; - } - - return; - } - }), - userEmailError: computed('emailError', 'newUser.email', { - get() { - let error = get(this, 'emailError'); - let email = get(this, 'newUser.email'); - if (isPresent(error)) { - return `error`; - } - - return; - } - }), + firstnameEmpty: computed.empty('newUser.firstname'), + lastnameEmpty: computed.empty('newUser.lastname'), + emailEmpty: computed.empty('newUser.email'), + hasFirstnameEmptyError: computed.and('firstnameEmpty', 'firstnameError'), + hasLastnameEmptyError: computed.and('lastnameEmpty', 'lastnameError'), + hasEmailEmptyError: computed.and('emailEmpty', 'emailError'), actions: { add() { if (isEmpty(this.newUser.firstname)) { - set(this, 'firstnameError', 'error'); + set(this, 'firstnameError', true); return $("#newUserFirstname").focus(); } if (isEmpty(this.newUser.lastname)) { - set(this, 'lastnameError', 'error'); + set(this, 'lastnameError', true); return $("#newUserLastname").focus(); } if (isEmpty(this.newUser.email) || is.not.email(this.newUser.email)) { - set(this, 'emailError', 'error'); + set(this, 'emailError', true); return $("#newUserEmail").focus(); } @@ -63,6 +35,9 @@ export default Ember.Component.extend({ get(this, 'add')(user).then(() => { this.set('newUser', { firstname: "", lastname: "", email: "", active: true }); + set(this, 'firstnameError', false); + set(this, 'lastnameError', false); + set(this, 'emailError', false); $("#newUserFirstname").focus(); }); } diff --git a/app/app/pods/customize/general/controller.js b/app/app/pods/customize/general/controller.js index a4e7701e..604e8976 100644 --- a/app/app/pods/customize/general/controller.js +++ b/app/app/pods/customize/general/controller.js @@ -17,8 +17,9 @@ export default Ember.Controller.extend(NotifierMixin, { actions: { save() { - this.get('orgService').save(this.model); - this.showNotification('Saved'); + return this.get('orgService').save(this.model).then(() => { + this.showNotification('Saved'); + }); } } }); diff --git a/app/app/templates/components/forgot-password.hbs b/app/app/templates/components/forgot-password.hbs index a11c02c9..88c0aedc 100644 --- a/app/app/templates/components/forgot-password.hbs +++ b/app/app/templates/components/forgot-password.hbs @@ -4,7 +4,7 @@ {{else}}
- {{focus-input type="email" value=email id="email" class=emptyEmail}} + {{focus-input type="email" value=email id="email" class=(if hasEmptyEmailError 'error')}}
diff --git a/app/app/templates/components/general-settings.hbs b/app/app/templates/components/general-settings.hbs index 70b22638..6057bdc6 100644 --- a/app/app/templates/components/general-settings.hbs +++ b/app/app/templates/components/general-settings.hbs @@ -7,12 +7,12 @@
Describe the title of this Documize instance
- {{focus-input id="siteTitle" type="text" value=model.title class=titleInputError}} + {{focus-input id="siteTitle" type="text" value=model.title class=(if hasTitleInputError 'error')}}
Describe the purpose of this Documize instance
- {{textarea id="siteMessage" rows="3" value=model.message class=messageInputError}} + {{textarea id="siteMessage" rows="3" value=model.message class=(if hasMessageInputError 'error')}}
diff --git a/app/app/templates/components/password-reset.hbs b/app/app/templates/components/password-reset.hbs index 2f88498a..8b65c352 100644 --- a/app/app/templates/components/password-reset.hbs +++ b/app/app/templates/components/password-reset.hbs @@ -3,12 +3,12 @@
Choose a strong password
- {{focus-input type="password" value=password id="newPassword" class=passwordError}} + {{focus-input type="password" value=password id="newPassword" class=(if hasPasswordError 'error')}}
Please type your new password again
- {{input type="password" value=passwordConfirm id="passwordConfirm" class=confirmEmpty}} + {{input type="password" value=passwordConfirm id="passwordConfirm" class=(if hasConfirmError 'error')}}
diff --git a/app/app/templates/components/user-profile.hbs b/app/app/templates/components/user-profile.hbs index 992be356..1d98a10f 100644 --- a/app/app/templates/components/user-profile.hbs +++ b/app/app/templates/components/user-profile.hbs @@ -2,15 +2,15 @@
- {{focus-input id="firstname" type="text" value=model.firstname class=hasFirstnameError}} + {{focus-input id="firstname" type="text" value=model.firstname class=(if hasFirstnameError 'error')}}
- {{input id="lastname" type="text" value=model.lastname class=hasLastnameError}} + {{input id="lastname" type="text" value=model.lastname class=(if hasLastnameError 'error')}}
- {{input id="email" type="text" value=model.email class=hasEmailError}} + {{input id="email" type="text" value=model.email class=(if hasEmailError 'error')}}
diff --git a/app/app/templates/components/user-settings.hbs b/app/app/templates/components/user-settings.hbs index a3d4da0c..da6a8d34 100644 --- a/app/app/templates/components/user-settings.hbs +++ b/app/app/templates/components/user-settings.hbs @@ -5,15 +5,15 @@
- {{focus-input id="newUserFirstname" type="text" value=newUser.firstname class=userFirstnameError}} + {{focus-input id="newUserFirstname" type="text" value=newUser.firstname class=(if hasFirstnameEmptyError 'error')}}
- {{input id="newUserLastname" type="text" value=newUser.lastname class=userLastnameError}} + {{input id="newUserLastname" type="text" value=newUser.lastname class=(if hasLastnameEmptyError 'error')}}
- {{input id="newUserEmail" type="text" value=newUser.email class=userEmailError}} + {{input id="newUserEmail" type="text" value=newUser.email class=(if hasEmailEmptyError 'error')}}
Add