summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-07 20:42:49 -0600
committermo <mo.khan@gmail.com>2017-09-07 20:42:49 -0600
commitc4364a98bfb8c13212ef70c2aab0aa91bfd3d804 (patch)
tree148a9a23c8a9cb4afb9dfa1d489bd73fc3877600 /app/assets/javascripts
parent0fa9222da133b609013d8689eb3f8fe9f4462cf0 (diff)
use input event and promote renderErrors method.
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/views/auto_view.js.coffee5
-rw-r--r--app/assets/javascripts/views/sessions/login_form.js.coffee12
2 files changed, 8 insertions, 9 deletions
diff --git a/app/assets/javascripts/views/auto_view.js.coffee b/app/assets/javascripts/views/auto_view.js.coffee
index 6c2c263f..4c520a5c 100644
--- a/app/assets/javascripts/views/auto_view.js.coffee
+++ b/app/assets/javascripts/views/auto_view.js.coffee
@@ -31,6 +31,11 @@ class CakeSide.AutoView extends Backbone.View
showError: (field, message) ->
@$(field).addClass('is-invalid').siblings('.invalid-feedback').html(message)
+ renderErrors: (errors) ->
+ @hideErrors()
+ _.each _.keys(errors), (key) =>
+ @showError(@field(key), errors[key])
+
field: (name) -> @$("##{@fieldName(name)}")
fieldName: (name) -> "#{@modelKey}_#{name}"
render: -> @
diff --git a/app/assets/javascripts/views/sessions/login_form.js.coffee b/app/assets/javascripts/views/sessions/login_form.js.coffee
index b833d46d..7240bdbe 100644
--- a/app/assets/javascripts/views/sessions/login_form.js.coffee
+++ b/app/assets/javascripts/views/sessions/login_form.js.coffee
@@ -4,18 +4,17 @@ class CakeSide.Views.LoginForm extends CakeSide.AutoView
@viewName 'login-form'
modelKey: "session"
events:
- 'keyup #session_username': 'onKeyUp'
- 'keyup #session_password': 'onKeyUp'
+ 'input #session_username': 'onInput'
+ 'input #session_password': 'onInput'
'submit form': 'onSubmit'
-
initialize: () ->
@model = new CakeSide.Models.Session()
render: ->
@renderErrors(@model.validationError)
- onKeyUp: (event) ->
+ onInput: (event) ->
@model.set('username', @field('username').val())
@model.set('password', @field('password').val())
@$('input[type=submit]').prop('disabled', !@model.isValid())
@@ -27,8 +26,3 @@ class CakeSide.Views.LoginForm extends CakeSide.AutoView
event.preventDefault()
event.stopPropagation()
@render()
-
- renderErrors: (errors) ->
- @hideErrors()
- _.each _.keys(errors), (key) =>
- @showError(@field(key), errors[key])