Commit c4364a98

mo <mo.khan@gmail.com>
2017-09-08 02:42:49
use input event and promote renderErrors method.
1 parent 0fa9222
Changed files (2)
app
assets
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])
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: -> @