mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
Change to try to trigger email db mutation on click 'Send Mail'
This commit is contained in:
parent
d008eccf68
commit
1a9c8f22a6
@ -92,6 +92,7 @@ export default {
|
|||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
sliderData: { type: Object, required: true },
|
sliderData: { type: Object, required: true },
|
||||||
|
sendEmail: { type: Boolean, required: true },
|
||||||
token: { type: String, default: null }, // Wolle not used???
|
token: { type: String, default: null }, // Wolle not used???
|
||||||
invitation: { type: Boolean, default: false },
|
invitation: { type: Boolean, default: false },
|
||||||
},
|
},
|
||||||
@ -120,20 +121,51 @@ export default {
|
|||||||
? this.sliderData.collectedInputData.email
|
? this.sliderData.collectedInputData.email
|
||||||
: ''
|
: ''
|
||||||
this.sendValidation()
|
this.sendValidation()
|
||||||
|
|
||||||
|
// this.sliderData.sliders[this.sliderIndex].button.clickCallback = this.handleSubmitVerify
|
||||||
|
// this.sliderData.sliders[this.sliderIndex].button.installClickCallback(this.handleSubmitVerify)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
sliderIndex() {
|
||||||
|
return this.sliderData.sliderIndex
|
||||||
|
},
|
||||||
submitMessage() {
|
submitMessage() {
|
||||||
const { email } = this.data.Signup
|
const { email } = this.data.Signup
|
||||||
return this.$t('components.registration.signup.form.success', { email })
|
return this.$t('components.registration.signup.form.success', { email })
|
||||||
},
|
},
|
||||||
sliderIndex() {
|
|
||||||
return this.sliderData.sliderIndex
|
|
||||||
},
|
|
||||||
validInput() {
|
validInput() {
|
||||||
return isEmail(this.formData.email)
|
return isEmail(this.formData.email)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
sendEmail(value) {
|
||||||
|
console.log('sendEmail !!!')
|
||||||
|
if (value) {
|
||||||
|
console.log('value: ', value)
|
||||||
|
this.handleSubmitVerify()
|
||||||
|
this.sendEmail = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// sliderData(sliderData) {
|
||||||
|
// console.log('sliderData !!! clicked: ', sliderData.sliders[this.sliderIndex].button.clicked)
|
||||||
|
// if (sliderData.sliders[this.sliderIndex].button.clicked) {
|
||||||
|
// this.handleSubmitVerify()
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// sliderData: {
|
||||||
|
// handler(sliderData) {
|
||||||
|
// console.log('sliderData handler !!!')
|
||||||
|
// if (sliderData.sliders[this.sliderIndex].button.clicked) {
|
||||||
|
// console.log('sliderData handler !!! clicked: ', sliderData.sliders[this.sliderIndex].button.clicked)
|
||||||
|
// this.sliderData.sliders[this.sliderIndex].button.clicked = false
|
||||||
|
// this.handleSubmitVerify()
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// deep: true,
|
||||||
|
// immediate: true,
|
||||||
|
// },
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async sendValidation() {
|
async sendValidation() {
|
||||||
if (this.formData.email && isEmail(this.formData.email)) {
|
if (this.formData.email && isEmail(this.formData.email)) {
|
||||||
@ -142,15 +174,16 @@ export default {
|
|||||||
const { email } = this.formData
|
const { email } = this.formData
|
||||||
const value = { email }
|
const value = { email }
|
||||||
|
|
||||||
let validated = false
|
// let validated = false
|
||||||
if (this.validInput) {
|
// if (this.validInput) {
|
||||||
await this.handleSubmitVerify()
|
// await this.handleSubmitVerify()
|
||||||
if (this.sliderData.sliders[this.sliderIndex].data.response) {
|
// if (this.sliderData.sliders[this.sliderIndex].data.response) {
|
||||||
const {email: respnseEmail} = this.sliderData.sliders[this.sliderIndex].data.response.Signup || this.sliderData.sliders[this.sliderIndex].data.response.SignupByInvitation
|
// const {email: respnseEmail} = this.sliderData.sliders[this.sliderIndex].data.response.Signup || this.sliderData.sliders[this.sliderIndex].data.response.SignupByInvitation
|
||||||
validated = (email === respnseEmail)
|
// validated = (email === respnseEmail)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
this.sliderData.validateCallback(validated, value)
|
// this.sliderData.validateCallback(validated, value)
|
||||||
|
this.sliderData.validateCallback(this.validInput, value)
|
||||||
},
|
},
|
||||||
async handleInput() {
|
async handleInput() {
|
||||||
this.sendValidation()
|
this.sendValidation()
|
||||||
@ -167,17 +200,19 @@ export default {
|
|||||||
if (
|
if (
|
||||||
!this.sliderData.sliders[this.sliderIndex].data.request ||
|
!this.sliderData.sliders[this.sliderIndex].data.request ||
|
||||||
!this.sliderData.sliders[this.sliderIndex].data.request.variables ||
|
!this.sliderData.sliders[this.sliderIndex].data.request.variables ||
|
||||||
(this.sliderData.sliders[this.sliderIndex].data.request.variables &&
|
(this.sliderData.sliders[this.sliderIndex].data.request && this.sliderData.sliders[this.sliderIndex].data.request.variables &&
|
||||||
!this.sliderData.sliders[this.sliderIndex].data.request.variables.is(variables))
|
!this.sliderData.sliders[this.sliderIndex].data.request.variables.is(variables))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.sliderData.sliders[this.sliderIndex].data.request = { variables }
|
this.sliderData.sliders[this.sliderIndex].data.request = { variables }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await this.$apollo.mutate({ mutation, variables })
|
const response = await this.$apollo.mutate({ mutation, variables }) // e-mail is send in emailMiddleware of backend
|
||||||
|
console.log('handleSubmitVerify !!! response: ', response, ' this.sliderData.sliders[this.sliderIndex]: ', this.sliderData.sliders[this.sliderIndex])
|
||||||
this.sliderData.sliders[this.sliderIndex].data.response = response.data
|
this.sliderData.sliders[this.sliderIndex].data.response = response.data
|
||||||
|
|
||||||
if (this.sliderData.sliders[this.sliderIndex].data.response) {
|
if (this.sliderData.sliders[this.sliderIndex].data.response) {
|
||||||
|
this.sliderData.collectedInputData.emailSend = true
|
||||||
const {email: respnseEmail} = this.sliderData.sliders[this.sliderIndex].data.response.Signup || this.sliderData.sliders[this.sliderIndex].data.response.SignupByInvitation
|
const {email: respnseEmail} = this.sliderData.sliders[this.sliderIndex].data.response.Signup || this.sliderData.sliders[this.sliderIndex].data.response.SignupByInvitation
|
||||||
this.$toast.success(
|
this.$toast.success(
|
||||||
this.$t('components.registration.email.form.success', { email: respnseEmail }),
|
this.$t('components.registration.email.form.success', { email: respnseEmail }),
|
||||||
@ -185,6 +220,7 @@ export default {
|
|||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.sliderData.sliders[this.sliderIndex].data = { request: null, response: null }
|
this.sliderData.sliders[this.sliderIndex].data = { request: null, response: null }
|
||||||
|
this.sliderData.collectedInputData.emailSend = false
|
||||||
|
|
||||||
const { message } = err
|
const { message } = err
|
||||||
const mapping = {
|
const mapping = {
|
||||||
|
|||||||
@ -91,10 +91,11 @@ export default {
|
|||||||
if (
|
if (
|
||||||
!this.sliderData.sliders[this.sliderIndex].data.request ||
|
!this.sliderData.sliders[this.sliderIndex].data.request ||
|
||||||
!this.sliderData.sliders[this.sliderIndex].data.request.variables ||
|
!this.sliderData.sliders[this.sliderIndex].data.request.variables ||
|
||||||
(this.sliderData.sliders[this.sliderIndex].data.request.variables &&
|
(this.sliderData.sliders[this.sliderIndex].data.request && this.sliderData.sliders[this.sliderIndex].data.request.variables &&
|
||||||
!this.sliderData.sliders[this.sliderIndex].data.request.variables.is(variables))
|
!this.sliderData.sliders[this.sliderIndex].data.request.variables.is(variables))
|
||||||
) {
|
) {
|
||||||
this.sliderData.sliders[this.sliderIndex].data.request.variables = variables
|
// this.sliderData.sliders[this.sliderIndex].data.request.variables = variables
|
||||||
|
this.sliderData.sliders[this.sliderIndex].data.request = { variables }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await this.$apollo.query({ query: isValidInviteCodeQuery, variables })
|
const response = await this.$apollo.query({ query: isValidInviteCodeQuery, variables })
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
>
|
>
|
||||||
<!-- Wolle !!! may create same source with 'webapp/pages/registration/signup.vue' -->
|
<!-- Wolle !!! may create same source with 'webapp/pages/registration/signup.vue' -->
|
||||||
<!-- <signup v-if="publicRegistration" :invitation="false" @submit="handleSubmitted"> -->
|
<!-- <signup v-if="publicRegistration" :invitation="false" @submit="handleSubmitted"> -->
|
||||||
<registration-item-enter-email :invitation="false" :sliderData="sliderData" />
|
<registration-item-enter-email :sliderData="sliderData" :sendEmail="sendEmail" :invitation="false" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template
|
<template
|
||||||
@ -87,7 +87,7 @@ export default {
|
|||||||
// title: this.$t('components.registration.create-user-account.title'),
|
// title: this.$t('components.registration.create-user-account.title'),
|
||||||
title: 'Invitation', // Wolle
|
title: 'Invitation', // Wolle
|
||||||
validated: false,
|
validated: false,
|
||||||
data: { request: /* Wolle */{ variables: null }, response: { isValidInviteCode: false } },
|
data: { request: null, response: { isValidInviteCode: false } },
|
||||||
button: {
|
button: {
|
||||||
title: 'Next', // Wolle
|
title: 'Next', // Wolle
|
||||||
icon: 'arrow-right',
|
icon: 'arrow-right',
|
||||||
@ -100,9 +100,13 @@ export default {
|
|||||||
validated: false,
|
validated: false,
|
||||||
data: { request: null, response: null },
|
data: { request: null, response: null },
|
||||||
button: {
|
button: {
|
||||||
title: 'Send E-Mail', // Wolle
|
// title: 'Send E-Mail', // Wolle
|
||||||
|
title: this.enterEmailButtonTitle(this.overwriteSliderData.emailSend), // Wolle
|
||||||
icon: 'envelope',
|
icon: 'envelope',
|
||||||
callback: this.buttonCallback,
|
callback: this.buttonCallback,
|
||||||
|
// clicked: false,
|
||||||
|
installClickCallback: this.installClickCallback, // set by component
|
||||||
|
clickCallback: null, // set by component
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -172,6 +176,7 @@ export default {
|
|||||||
validateCallback: this.validateCallback,
|
validateCallback: this.validateCallback,
|
||||||
...this.overwriteSliderData,
|
...this.overwriteSliderData,
|
||||||
},
|
},
|
||||||
|
sendEmail: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -180,6 +185,12 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
enterEmailButtonTitle(emailSend) {
|
||||||
|
return emailSend ? 'Resend E-Mail' : 'Send E-Mail'
|
||||||
|
},
|
||||||
|
installClickCallback(clickCallback) {
|
||||||
|
this.sliderData.sliders[this.sliderIndex].button.clickCallback = clickCallback
|
||||||
|
},
|
||||||
validateCallback(isValid, data = null) {
|
validateCallback(isValid, data = null) {
|
||||||
this.sliderData.sliders[this.sliderIndex].validated = isValid
|
this.sliderData.sliders[this.sliderIndex].validated = isValid
|
||||||
if (data) {
|
if (data) {
|
||||||
@ -196,8 +207,14 @@ export default {
|
|||||||
},
|
},
|
||||||
buttonCallback() {
|
buttonCallback() {
|
||||||
if (this.sliderData.sliders[this.sliderIndex].name === 'enter-email') {
|
if (this.sliderData.sliders[this.sliderIndex].name === 'enter-email') {
|
||||||
this.sliderData.collectedInputData.emailSend = true
|
// this.sliderData.sliders[this.sliderIndex].button.clicked = true
|
||||||
this.sliderData.sliders[this.sliderIndex].button.title = 'Resend E-Mail' // Wolle
|
this.sendEmail = true
|
||||||
|
console.log('buttonCallback !!! this.sendEmail', this.sendEmail)
|
||||||
|
// if (this.sliderData.sliders[this.sliderIndex].button.clickCallback) {
|
||||||
|
// console.log('buttonCallback !!! clicked')
|
||||||
|
// this.sliderData.sliders[this.sliderIndex].button.clickCallback()
|
||||||
|
// }
|
||||||
|
this.sliderData.sliders[this.sliderIndex].button.title = this.enterEmailButtonTitle(this.sliderData.collectedInputData.emailSend)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.sliderIndex === this.sliderData.sliders.length - 1) {
|
if (this.sliderIndex === this.sliderData.sliders.length - 1) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user