mirror of
https://github.com/atom/atom.git
synced 2026-02-17 10:01:25 -05:00
Add enable/disable helpers to jquery extensions
This commit is contained in:
@@ -39,7 +39,7 @@ class WindowEventHandler
|
||||
eachTabIndexedElement: (callback) ->
|
||||
for element in $('[tabindex]')
|
||||
element = $(element)
|
||||
continue if element.attr('disabled')
|
||||
continue if element.isDisabled()
|
||||
|
||||
tabIndex = parseInt(element.attr('tabindex'))
|
||||
continue unless tabIndex >= 0
|
||||
|
||||
@@ -38,25 +38,18 @@ class SignInView extends ScrollView
|
||||
serialize: -> {@signedInUser}
|
||||
|
||||
validate: ->
|
||||
canSignIn = $.trim(@username.val()).length > 0 and @password.val().length > 0
|
||||
@setElementEnabled(@signIn, canSignIn)
|
||||
|
||||
setElementEnabled: (element, enabled=true) ->
|
||||
if enabled
|
||||
element.removeAttr('disabled')
|
||||
if $.trim(@username.val()).length > 0 and @password.val().length > 0
|
||||
@signIn.enable()
|
||||
else
|
||||
element.attr('disabled', 'disabled')
|
||||
|
||||
isElementEnabled: (element) ->
|
||||
element.attr('disabled') isnt 'disabled'
|
||||
@signIn.disable()
|
||||
|
||||
generateOAuth2Token: ->
|
||||
return unless @isElementEnabled(@signIn)
|
||||
return if @signIn.isDisabled()
|
||||
|
||||
@alert.hide()
|
||||
@setElementEnabled(@username, false)
|
||||
@setElementEnabled(@password, false)
|
||||
@setElementEnabled(@signIn, false)
|
||||
@username.disable()
|
||||
@password.disable()
|
||||
@signIn.disable()
|
||||
|
||||
username = $.trim(@username.val())
|
||||
credentials = btoa("#{username}:#{@password.val()}")
|
||||
@@ -89,17 +82,21 @@ class SignInView extends ScrollView
|
||||
message = response.responseText?.message
|
||||
message ?= ''
|
||||
@alert.text(message).show()
|
||||
@username.enable()
|
||||
@password.enable()
|
||||
@signIn.enable()
|
||||
@password.focus()
|
||||
|
||||
attach: ->
|
||||
if @signedInUser?
|
||||
@username.val(@signedInUser)
|
||||
else
|
||||
@username.val('')
|
||||
|
||||
@password.val('')
|
||||
@setElementEnabled(@username, true)
|
||||
@setElementEnabled(@password, true)
|
||||
@username.enable()
|
||||
@password.enable()
|
||||
@alert.hide()
|
||||
|
||||
rootView.append(this)
|
||||
|
||||
if @signedInUser?
|
||||
|
||||
@@ -37,6 +37,15 @@ $.fn.isOnDom = ->
|
||||
$.fn.isVisible = ->
|
||||
@is(':visible')
|
||||
|
||||
$.fn.isDisabled = ->
|
||||
!!@attr('disabled')
|
||||
|
||||
$.fn.enable = ->
|
||||
@removeAttr('disabled')
|
||||
|
||||
$.fn.disable = ->
|
||||
@attr('disabled', 'disabled')
|
||||
|
||||
$.fn.containsElement = (element) ->
|
||||
(element[0].compareDocumentPosition(this[0]) & 8) == 8
|
||||
|
||||
|
||||
Reference in New Issue
Block a user