Fixed registration form

This commit is contained in:
Gregorio Chiko Putra 2018-02-05 14:25:02 +07:00
parent 05155af329
commit 38ea99d1b3
4 changed files with 594 additions and 575 deletions

View File

@ -34,9 +34,13 @@ const registerForm = {
}, },
category: function(v) { category: function(v) {
if (_.isEmpty(v)) return "Pilih kategori Anda" if (_.isEmpty(v)) return "Pilih kategori Anda"
},
email: function(v) {
if (_.isEmpty(v)) return "Masukkan email Anda"
} }
}), }),
oninit: function(vnode) { oninit: function(vnode) {
registerForm.form.email(vnode.attrs.u)
registerForm.form.name("") registerForm.form.name("")
registerForm.form.gender("") registerForm.form.gender("")
registerForm.form.birthdate(moment().format("YYYY-MM-DD HH:mm:ss")) registerForm.form.birthdate(moment().format("YYYY-MM-DD HH:mm:ss"))
@ -76,7 +80,12 @@ const registerForm = {
}, m("form", { }, m("form", {
onsubmit: function(e) { onsubmit: function(e) {
e.preventDefault() e.preventDefault()
m.route.set("/questionnaires") // m.route.set("/questionnaires")
if (!registerForm.form.isValid()) console.log('err', registerForm.form.error())
else {
registerForm.form.category(registerForm.form.category().id)
Respondent.save(registerForm.form.data())
}
}, },
style: { style: {
padding: "1em", padding: "1em",
@ -124,7 +133,7 @@ const registerForm = {
value: registerForm.form.name(), value: registerForm.form.name(),
events: { events: {
oninput: function() { oninput: function() {
registerForm.form.name() registerForm.form.name(this.value)
} }
}, },
validate: function() { validate: function() {

View File

@ -38,10 +38,10 @@ export const header = {
view: function(vnode) { view: function(vnode) {
var state = vnode.state var state = vnode.state
var email = state.email var email = state.email
return !_.isNil(Respondent.current.data) ? return !_.isNil(Respondent.current.data)
_.isEmpty(Respondent.current.data) ? ? m.route.set("/questionnaires")
m.route.set("/register?u=" + email) : !_.isNil(Respondent.current.message)
: m.route.set("/questionnaires") ? m.route.set("/register?u="+email)
: [ : [
m(".header-img", { m(".header-img", {
style: { style: {

View File

@ -18,15 +18,25 @@ const Respondent = {
fetchByEmail: function(email) { fetchByEmail: function(email) {
Respondent.loading = true Respondent.loading = true
m.request({ m.request({
url: "http://api.questionnaire.dev/v1/respondents", url: "http://api.questionnaire.dev/v1/respondents/search/"+email,
method: "POST", method: "GET"
data: {email}
}) })
.then(function(res) { .then(function(res) {
Respondent.current = res Respondent.current = res
Respondent.loading = false Respondent.loading = false
console.log(Respondent.current, res); console.log(Respondent.current, res);
}) })
},
save: function(data) {
m.request({
url: "http://api.questionnaire.dev/v1/respondents",
method: "POST",
data
})
.then(function(res) {
Respondent.current = res
m.route.set('/questionnaires')
})
} }
} }

1132
public/js/index.js vendored

File diff suppressed because one or more lines are too long