other components... (2)

This commit is contained in:
Paolo Arena
2021-09-16 21:08:02 +02:00
parent fcc4f61f07
commit f351673917
276 changed files with 17183 additions and 3371 deletions

View File

@@ -0,0 +1,13 @@
import { ISignupOptions } from 'model'
import { email, minLength, required, sameAs } from '@vuelidate/validators'
// import { ValidationRuleset } from 'vuelidate'
import { complexity, registeredemail, registereduser, aportadorexist } from '../../validation'
export const validations = {
form: {
email: {
email,
required
}
}
}

View File

View File

@@ -0,0 +1,118 @@
import { serv_constants } from '@store/Modules/serv_constants'
import { tools } from '@store/Modules/tools'
import { Logo } from '../../components/logo'
import { CTitleBanner } from '../../components/CTitleBanner'
import { defineComponent, ref } from 'vue'
import { useI18n } from '@src/boot/i18n'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
import { useQuasar } from 'quasar'
import useValidate from '@vuelidate/core'
// https://learnvue.co/2020/01/getting-smart-with-vue-form-validation-vuelidate-tutorial/
export default defineComponent({
name: 'RequestResetPwd',
props: {
mystr: {
type: String,
required: true,
},
myval: {
type: Number,
required: true,
default: 0,
},
mybool: {
type: Boolean,
required: true,
default: false,
},
},
components: { Logo, CTitleBanner },
setup(props, { emit }) {
const $q = useQuasar()
const { t } = useI18n()
const userStore = useUserStore()
const globalStore = useGlobalStore()
const v$ = useValidate()
const emailsent = ref(false)
const form = ref({
email: '',
tokenforgot: ''
})
function emailinviata() {
return emailsent.value
}
function submit() {
// v$.form.touch()
/*if (v$.form.$error) {
tools.showNotif($q, t('reg.err.errore_generico'))
return
}*/
$q.loading.show({ message: t('reset.incorso') })
form.value.tokenforgot = ''
console.log(form.value)
userStore.requestpwd(form.value)
.then((ris: any) => {
if (ris.code === serv_constants.RIS_CODE_OK)
emailsent.value = true
else if (ris.code === serv_constants.RIS_CODE_EMAIL_NOT_EXIST)
tools.showNegativeNotif($q, t('reg.err.email_not_exist'))
$q.loading.hide()
}).catch((err) => {
console.log('ERROR = ' + err.error)
$q.loading.hide()
})
}
function errorMsg(cosa: string, item: any) {
try {
if (!item.$error) {
return ''
}
if (item.$params.email && !item.email) {
return t('reg.err.email')
}
if (item.required !== undefined) {
if (!item.required) {
return t('reg.err.required')
}
}
if (cosa === 'email') {
if (!item.isUnique) {
return t('reg.err.duplicate_email')
}
}
return ''
} catch (error) {
// console.log("ERR : " + error);
}
}
return {
emailinviata,
errorMsg,
submit,
form,
v$,
}
}
})

View File

@@ -0,0 +1,65 @@
<template>
<div class="row justify-center text-center padding">
<div class="q-gutter-sm q-ma-sm" style="max-width: 800px; margin: auto;">
<div v-if="!emailinviata">
<q-banner
rounded
class="bg-primary text-white"
style="text-align: center;">
<span class="mybanner">{{ $t('reset.title_reset_pwd') }}</span>
</q-banner>
<br>
<q-input
v-model="form.email"
rounded outlined
autocomplete="email"
:error="v$.form.email.$error"
:error-message="errorMsg('email', v$.form.email)"
maxlength="50"
debounce="1000"
:label="$t('reg.email')">
<template v-slot:prepend>
<q-icon name="email"/>
</template>
</q-input>
<br>
<div class="center q-ma-sm">
<q-btn
rounded size="lg" color="primary" @click="submit" :disable="v$.$error">
{{ $t('reset.send_reset_pwd') }}
</q-btn>
</div>
</div>
<div v-else>
<q-banner
rounded
class="bg-positive text-white"
style="text-align: center;">
<span class="mybanner">{{ $t('reset.email_sent') }}</span>
</q-banner>
<br>
<div>
<strong>{{ $t('reset.check_email') }}</strong>
</div>
</div>
</div>
</div>
</template>
<script lang="ts" src="./requestresetpwd.ts">
</script>
<style lang="scss" scoped>
@import './requestresetpwd';
</style>