Slide 36
Slide 36 text
import { Http } from 'casium/commands';
/* … */
class SignInSubmit extends Message {}
class SignInSuccess extends Message {}
class SignInError extends Message {}
export default container({
init: () => ({ email: '', password: '', loading: false }),
update: [
[UpdateForm, (model, { key, value }) => /* … */],
[SignInSubmit, model => [
merge(model, { loading: true }),
new Http.Post({
url: '/login',
data: { email: model.email, password: model.password },
result: SignInSuccess,
error: SignInError
})
]]
],
view: ({ emit, email, password }) => (
/* … */
)
});