daisho
Version:
Modular dashboard framework
61 lines (47 loc) • 1.25 kB
text/coffeescript
import El from 'el.js'
import Events from '../events'
import m from '../mediator'
import {
isRequired,
isEmail,
isPassword,
} from './middleware'
import html from '../templates/login'
class Login extends El.Form
tag: 'daisho-login'
html: html
configs:
'account.email': [ isRequired, isEmail ]
'account.password': [ isPassword ]
error: null
disabled: false
init: ->
if !.get 'account'
.set 'account',
email: ''
password: ''
super
_submit: (event) ->
opts =
email: .get 'account.email'
password: .get 'account.password'
# client_id: .get 'organization'
# grant_type: 'password'
= null
m.trigger Events.Login
= true
.dashv2.login(opts).then (res) =>
= false
.set 'account.password', ''
.set 'account', res.user
.set 'orgs', res.organizations
.set 'activeOrg', 0
m.trigger Events.LoginSuccess, res
.catch (err) =>
= false
= err.message
m.trigger Events.LoginFailed, err
export default Login