- Fixed Image avatar user list, q-qvatar rounded image

This commit is contained in:
Paolo Arena
2019-10-25 19:07:56 +02:00
parent 44305d8778
commit 345cf7381f
23 changed files with 333 additions and 250 deletions

View File

@@ -7,7 +7,7 @@ export const shared_consts = {
}, },
fieldsUserToChange() { fieldsUserToChange() {
return ['username', 'email', 'name', 'surname', 'perm', 'date_reg', 'verified_email'] return ['username', 'email', 'name', 'surname', 'perm', 'date_reg', 'verified_email', 'img', 'ipaddr']
} }
} }

View File

@@ -440,7 +440,7 @@ export default class CEventsCalendar extends Vue {
} }
public addBookEventMenu(eventparam) { public addBookEventMenu(eventparam) {
if (!UserStore.state.isLogged || !UserStore.state.verified_email) { if (!UserStore.state.isLogged || !UserStore.state.my.verified_email) {
// Visu right Toolbar to make SignIn // Visu right Toolbar to make SignIn
GlobalStore.state.RightDrawerOpen = true GlobalStore.state.RightDrawerOpen = true
// this.$router.push('/signin') // this.$router.push('/signin')
@@ -459,7 +459,7 @@ export default class CEventsCalendar extends Vue {
} }
public askForInfoEventMenu(eventparam) { public askForInfoEventMenu(eventparam) {
if (!UserStore.state.isLogged || !UserStore.state.verified_email) { if (!UserStore.state.isLogged || !UserStore.state.my.verified_email) {
// Visu right Toolbar to make SignIn // Visu right Toolbar to make SignIn
GlobalStore.state.RightDrawerOpen = true GlobalStore.state.RightDrawerOpen = true
// this.$router.push('/signin') // this.$router.push('/signin')
@@ -665,7 +665,7 @@ export default class CEventsCalendar extends Vue {
const data: IMessage = { const data: IMessage = {
idapp: process.env.APP_ID, idapp: process.env.APP_ID,
origin: { origin: {
userId: UserStore.state.userId, userId: UserStore.state.my._id,
page: '', page: '',
event_id: myevent._id, event_id: myevent._id,
infoevent: tools.gettextevent(this, myevent) infoevent: tools.gettextevent(this, myevent)
@@ -688,7 +688,6 @@ export default class CEventsCalendar extends Vue {
tools.showNegativeNotif(self.$q, self.$t('cal.sendmsg_error')) tools.showNegativeNotif(self.$q, self.$t('cal.sendmsg_error'))
}) })
} }
public saveBookEvent(myevent: IEvents) { public saveBookEvent(myevent: IEvents) {
@@ -703,7 +702,7 @@ export default class CEventsCalendar extends Vue {
// self.bookEventForm.booked = self.bookEventForm.bookedcheck // self.bookEventForm.booked = self.bookEventForm.bookedcheck
const data: IBookedEvent = { const data: IBookedEvent = {
userId: UserStore.state.userId, userId: UserStore.state.my._id,
id_bookedevent: myevent._id, id_bookedevent: myevent._id,
numpeople: self.bookEventForm.numpeople, numpeople: self.bookEventForm.numpeople,
infoevent: tools.gettextevent(self, myevent), infoevent: tools.gettextevent(self, myevent),

View File

@@ -4,7 +4,7 @@ import { UserStore } from '@store'
import { tools } from '../../store/Modules/tools' import { tools } from '../../store/Modules/tools'
import { toolsext } from '@src/store/Modules/toolsext' import { toolsext } from '@src/store/Modules/toolsext'
import { ISignupOptions, IUserState } from 'model' import { ISignupOptions, IUserState, IUserFields } from 'model'
import { validations, TSignup } from './CSignUp-validate' import { validations, TSignup } from './CSignUp-validate'
import { validationMixin } from 'vuelidate' import { validationMixin } from 'vuelidate'

View File

@@ -211,7 +211,7 @@ canvas {
} }
.toolbar { .toolbar {
min-height: 30px; min-height: 43px;
} }
.right-itens a, .right-itens button { .right-itens a, .right-itens button {
@@ -296,3 +296,8 @@ canvas {
margin-bottom: 5px; margin-bottom: 5px;
} }
.roundimg {
border-radius: 50% !important;
color: red;
background-color: red;
}

View File

@@ -15,8 +15,11 @@ import Quasar, { Screen } from 'quasar'
import { static_data } from '../../db/static_data' import { static_data } from '../../db/static_data'
import globalroutines from '../../globalroutines' import globalroutines from '../../globalroutines'
import MixinUsers from '../../mixins/mixin-users'
@Component({ @Component({
name: 'Header', name: 'Header',
mixins: [MixinUsers],
components: { components: {
drawer, drawer,
messagePopover, CSignIn messagePopover, CSignIn
@@ -315,28 +318,6 @@ export default class Header extends Vue {
}, 100) }, 100)
} }
get MenuCollapse() {
return GlobalStore.state.menuCollapse
// return true
}
get Username() {
return UserStore.state.username
}
get myName() {
return UserStore.state.name
}
get mySurname() {
return UserStore.state.surname
}
get Verificato() {
return UserStore.state.verified_email
}
get Email() {
return UserStore.state.email
}
public logoutHandler() { public logoutHandler() {
UserStore.actions.logout() UserStore.actions.logout()
.then(() => { .then(() => {
@@ -359,7 +340,7 @@ export default class Header extends Vue {
} }
get isVerified() { get isVerified() {
return UserStore.state.verified_email return UserStore.state.my.verified_email
} }
public loginOk() { public loginOk() {

View File

@@ -102,11 +102,14 @@
<!-- BUTTON USER BAR --> <!-- BUTTON USER BAR -->
<q-btn v-if="static_data.functionality.SHOW_USER_MENU && !isLogged" dense flat round icon="menu" <q-btn class="q-mx-xs" v-if="static_data.functionality.SHOW_USER_MENU && !isLogged" dense flat round icon="menu"
@click="rightDrawerOpen = !rightDrawerOpen"> @click="rightDrawerOpen = !rightDrawerOpen">
</q-btn> </q-btn>
<q-btn v-if="static_data.functionality.SHOW_USER_MENU && isLogged" dense flat round <q-btn class="q-mx-xs" v-if="static_data.functionality.SHOW_USER_MENU && isLogged" round dense flat
icon="img:statics/images/avatar/avatar3_small.png" @click="rightDrawerOpen = !rightDrawerOpen"> @click="rightDrawerOpen = !rightDrawerOpen">
<q-avatar size="30px">
<img :src="`statics/`+ getMyImg">
</q-avatar>
</q-btn> </q-btn>
</q-toolbar> </q-toolbar>
@@ -134,7 +137,7 @@
<div class="absolute-top bg-transparent text-black center_img" style="margin-top: 10px;"> <div class="absolute-top bg-transparent text-black center_img" style="margin-top: 10px;">
<q-avatar class="q-mb-sm center_img"> <q-avatar class="q-mb-sm center_img">
<img src="../../statics/images/avatar/avatar3_small.png"> <img :src="`../../statics/` + getMyImg">
</q-avatar> </q-avatar>
<q-btn class="absolute-top-right" style="margin-right: 10px; color: white;" <q-btn class="absolute-top-right" style="margin-right: 10px; color: white;"
dense flat round icon="close" @click="rightDrawerOpen = !rightDrawerOpen"> dense flat round icon="close" @click="rightDrawerOpen = !rightDrawerOpen">

View File

@@ -293,7 +293,7 @@ export default class SingleProject extends Vue {
} }
get isMyProject() { get isMyProject() {
return this.itemproject.userId === UserStore.state.userId return this.itemproject.userId === UserStore.state.my._id
} }
get tipoProj() { get tipoProj() {

View File

@@ -15,7 +15,7 @@ function saveConfigIndexDb(context) {
_id: costanti.CONFIG_ID_CFG, _id: costanti.CONFIG_ID_CFG,
lang: toolsext.getLocale(), lang: toolsext.getLocale(),
token: UserStore.state.x_auth_token, token: UserStore.state.x_auth_token,
userId: UserStore.state.userId userId: UserStore.state.my._id
} }
writeConfigIndexDb('config', data) writeConfigIndexDb('config', data)

View File

@@ -9,10 +9,14 @@ import { tools } from '@src/store/Modules/tools'
import { toolsext } from '@src/store/Modules/toolsext' import { toolsext } from '@src/store/Modules/toolsext'
import { ITodo, ITodosState } from '../../../model' import { ITodo, ITodosState } from '../../../model'
import { Getter } from 'vuex-class' import { Getter } from 'vuex-class'
import { UserStore } from '../../../store/Modules'
import MixinUsers from '../../../mixins/mixin-users'
const namespace = 'UserModule' const namespace = 'UserModule'
@Component({ @Component({
mixins: [MixinUsers]
}) })
export default class MessagePopover extends Vue { export default class MessagePopover extends Vue {
@@ -25,6 +29,20 @@ export default class MessagePopover extends Vue {
// } // }
} }
get getNumMsg() {
return UserStore.getters.getlasts_messages().length
}
get getNumMsgUnread() {
// return UserStore.getters.getlasts_messages().length
return UserStore.getters.getnumMsgUnread()
}
get getNumNotifUnread() {
// return UserStore.getters.getlasts_messages().length
return 0
}
public randomDate(): Date { public randomDate(): Date {
let myval = Math.floor(Math.random() * 10000000000) let myval = Math.floor(Math.random() * 10000000000)
return tools.getstrDateTime(new Date(tools.getTimestampsNow() - myval)) return tools.getstrDateTime(new Date(tools.getTimestampsNow() - myval))

View File

@@ -1,14 +1,14 @@
<template> <template>
<button class="relative-position animate-bounce"> <div>
<i class="fa fa-2x fa-envelope-o"></i> <q-btn flat round dense icon="fas fa-comment" class="q-mx-xs" >
<span class="floating label bg-dark">5</span> <q-badge floating color="red">{{getNumMsgUnread}}</q-badge>
<q-menu self="top right"> <q-menu self="top right">
<q-list bordered class="rounded-borders" style="max-width: 350px; min-width: 250px;"> <q-list bordered class="rounded-borders" style="max-width: 350px; min-width: 250px;">
<q-item-label header>{{$t('msgs.messages')}}</q-item-label> <q-item-label header>{{$t('msgs.messages')}}</q-item-label>
<q-separator inset="item"/> <q-separator/>
<div v-if="lasts_messages().length === 0"> <div v-if="getNumMsg === 0">
<q-item> <q-item>
{{$t('msgs.nomessage')}} {{$t('msgs.nomessage')}}
@@ -20,26 +20,30 @@
<q-item-section avatar> <q-item-section avatar>
<q-avatar> <q-avatar>
{{msg.origin.username}} {{msg.origin.username}}
<img src="https://cdn.quasar.dev/img/avatar2.jpg"> <img :src="getImgByUsername(msg.dest.username)">
</q-avatar> </q-avatar>
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-item-label lines="1">{{msg.message}}</q-item-label> <q-item-label lines="1">{{getUserByUsername(msg.dest.username)}}</q-item-label>
<q-item-label caption lines="2"> <q-item-label caption lines="2">
{{msg.message}}
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side top> <q-item-section side top>
{{tools.getstrDateTime(msg.datemsg)}} {{tools.getstrDateTimeShort(msg.datemsg)}}
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-separator inset="item"/> <q-separator/>
</q-list> </q-list>
</q-menu> </q-menu>
</button> </q-btn>
<q-btn v-if="false" flat round dense icon="fas fa-bell">
<q-badge v-if="getNumNotifUnread > 0" floating color="red">{{getNumNotifUnread}}</q-badge>
</q-btn>
</div>
</template> </template>
<script lang="ts" src="./messagePopover.ts"> <script lang="ts" src="./messagePopover.ts">

40
src/mixins/mixin-users.ts Normal file
View File

@@ -0,0 +1,40 @@
import Vue from 'vue'
import { GlobalStore, UserStore } from '../store/Modules'
import Component from 'vue-class-component'
// You can declare a mixin as the same style as components.
@Component
export default class MixinUsers extends Vue {
public getUserByUsername(username) {
return UserStore.getters.getNameSurnameByUsername(username)
}
public getImgByUsername(username) {
return `statics/` + UserStore.getters.getImgByUsername(username)
}
public getMyUsername() {
return UserStore.state.my.username
}
get getMyImg() {
return UserStore.getters.getImgByUsername(UserStore.state.my.username)
}
get MenuCollapse() {
return GlobalStore.state.menuCollapse
// return true
}
get Username() {
return UserStore.state.my.username
}
get myName() {
return UserStore.state.my.name
}
get mySurname() {
return UserStore.state.my.surname
}
get Verificato() {
return UserStore.state.my.verified_email
}
get Email() {
return UserStore.state.my.email
}
}

View File

@@ -1,30 +1,38 @@
import { IToken } from 'model/other' import { IToken } from 'model/other'
import { IMessage } from '@src/model/Calendar' import { IMessage } from '@src/model/Calendar'
export const DefaultUser = <IUserState>{ export const DefaultUser: IUserFields = {
email: '', email: '',
username: '', username: '',
name: '', name: '',
surname: '', surname: '',
password: '', password: '',
lang: 'it'
} }
export interface IUserState { export interface IUserFields {
userId?: string _id?: string
email?: string email?: string
username?: string username?: string
name?: string name?: string
surname?: string surname?: string
password?: string password?: string
lang?: string
ipaddr?: string ipaddr?: string
perm?: number perm?: number
img?: string
verified_email?: boolean
tokens?: IToken[]
}
/*
password?: string
lang
*/
export interface IUserState {
my: IUserFields
lang?: string
repeatPassword?: string repeatPassword?: string
tokens?: IToken[]
verified_email?: boolean
categorySel?: string categorySel?: string
tokenforgot?: string tokenforgot?: string
@@ -35,14 +43,7 @@ export interface IUserState {
isLogged?: boolean isLogged?: boolean
isAdmin?: boolean isAdmin?: boolean
isManager?: boolean isManager?: boolean
usersList?: IUserList[] usersList?: IUserFields[]
countusers?: number countusers?: number
msgs?: IMessage[] msgs?: IMessage[]
} }
export interface IUserList {
_id: string
username: string
name?: string
surname?: string
}

View File

@@ -85,7 +85,7 @@ const msgglobal = {
richiesto: 'Campo Richiesto', richiesto: 'Campo Richiesto',
email: 'Email', email: 'Email',
cell: 'Móvil', cell: 'Móvil',
img: 'Imagen de archivo', img: 'Immagine',
date_reg: 'Data Reg.', date_reg: 'Data Reg.',
perm: 'Permessi', perm: 'Permessi',
username: 'Nome Utente', username: 'Nome Utente',

View File

@@ -419,8 +419,8 @@ namespace Actions {
options, options,
subs: newSub, subs: newSub,
others: { others: {
userId: UserStore.state.userId, userId: UserStore.state.my._id,
access: UserStore.state.tokens[0].access access: UserStore.state.my.tokens[0].access
} }
} }
@@ -515,7 +515,7 @@ namespace Actions {
async function checkUpdates(context) { async function checkUpdates(context) {
console.log('checkUpdates') console.log('checkUpdates')
// if (UserStore.state.userId === '') // if (UserStore.state.my._id === '')
// return false // Login not made // return false // Login not made
state.networkDataReceived = false state.networkDataReceived = false
@@ -643,7 +643,7 @@ namespace Actions {
const showall = UserStore.state.isAdmin || UserStore.state.isManager ? '1' : '0' const showall = UserStore.state.isAdmin || UserStore.state.isManager ? '1' : '0'
const myuserid = (UserStore.state.userId) ? UserStore.state.userId : '0' const myuserid = (UserStore.state.my._id) ? UserStore.state.my._id : '0'
const ris = await Api.SendReq('/loadsite/' + myuserid + '/' + process.env.APP_ID + '/' + showall, 'GET', null) const ris = await Api.SendReq('/loadsite/' + myuserid + '/' + process.env.APP_ID + '/' + showall, 'GET', null)
.then((res) => { .then((res) => {

View File

@@ -46,7 +46,7 @@ function getarrByCategory(category: string) {
function initcat() { function initcat() {
const rec = Getters.getters.getRecordEmpty() const rec = Getters.getters.getRecordEmpty()
rec.userId = UserStore.state.userId rec.userId = UserStore.state.my._id
return rec return rec
} }
@@ -62,11 +62,11 @@ function getproj(projects, idproj, tipoproj: string) {
let ris = null let ris = null
if (tipoproj === RouteNames.myprojects) if (tipoproj === RouteNames.myprojects)
ris = projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.userId) && (proj.privacyread === Privacy.onlyme)) ris = projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.my._id) && (proj.privacyread === Privacy.onlyme))
else if (tipoproj === RouteNames.projectsshared) else if (tipoproj === RouteNames.projectsshared)
ris = projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.userId) && (proj.privacyread !== Privacy.onlyme)) ris = projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.my._id) && (proj.privacyread !== Privacy.onlyme))
else if (tipoproj === RouteNames.projectsall) else if (tipoproj === RouteNames.projectsall)
ris = projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId !== UserStore.state.userId) ) ris = projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId !== UserStore.state.my._id) )
// console.log('idproj', idproj, 'projects', projects, 'getproj', tipoproj, 'ris=', ris) // console.log('idproj', idproj, 'projects', projects, 'getproj', tipoproj, 'ris=', ris)
@@ -168,7 +168,7 @@ namespace Getters {
if (!!UserStore.state) { if (!!UserStore.state) {
if (UserStore.state.userId === proj.userId) // If it's the owner if (UserStore.state.my._id === proj.userId) // If it's the owner
return true return true
return (proj.privacyread === Privacy.all) || return (proj.privacyread === Privacy.all) ||
@@ -186,7 +186,7 @@ namespace Getters {
if (!!UserStore) { if (!!UserStore) {
if (!!UserStore.state) if (!!UserStore.state)
return ((UserStore.state.userId === proj.userId) || (proj.privacywrite === Privacy.all)) // If it's the owner return ((UserStore.state.my._id === proj.userId) || (proj.privacywrite === Privacy.all)) // If it's the owner
else else
return false return false
} }
@@ -289,13 +289,13 @@ namespace Actions {
} }
} }
// if (UserStore.state.userId === '') { // if (UserStore.state.my._id === '') {
// return false // Login not made // return false // Login not made
// } // }
console.log('dbLoad', nametable, checkPending, 'userid=', UserStore.state.userId) console.log('dbLoad', nametable, checkPending, 'userid=', UserStore.state.my._id)
const ris = await Api.SendReq('/projects/' + UserStore.state.userId, 'GET', null) const ris = await Api.SendReq('/projects/' + UserStore.state.my._id, 'GET', null)
.then((res) => { .then((res) => {
if (res.data.projects) { // console.log('RISULTANTE CATEGORIES DAL SERVER = ', res.data.categories) if (res.data.projects) { // console.log('RISULTANTE CATEGORIES DAL SERVER = ', res.data.categories)
stateglob.projects = res.data.projects stateglob.projects = res.data.projects

View File

@@ -50,11 +50,11 @@ const stateGetter = b.state()
namespace Getters { namespace Getters {
const findEventBooked = b.read((mystate: ICalendarState) => (myevent: IEvents, isconfirmed: boolean) => { const findEventBooked = b.read((mystate: ICalendarState) => (myevent: IEvents, isconfirmed: boolean) => {
return mystate.bookedevent.find((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.userId === UserStore.state.userId) && ((isconfirmed && bookedevent.booked) || (!isconfirmed))) return mystate.bookedevent.find((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.userId === UserStore.state.my._id) && ((isconfirmed && bookedevent.booked) || (!isconfirmed)))
}, 'findEventBooked') }, 'findEventBooked')
const getNumParticipants = b.read((mystate: ICalendarState) => (myevent: IEvents, showall) => { const getNumParticipants = b.read((mystate: ICalendarState) => (myevent: IEvents, showall) => {
const myarr = mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.userId) )) const myarr = mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.my._id) ))
if (myarr) if (myarr)
return myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeople, 0) return myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeople, 0)
else else
@@ -62,7 +62,7 @@ namespace Getters {
}, 'getNumParticipants') }, 'getNumParticipants')
const getEventsBookedByIdEvent = b.read((mystate: ICalendarState) => (idevent, showall) => { const getEventsBookedByIdEvent = b.read((mystate: ICalendarState) => (idevent, showall) => {
return mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === idevent) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.userId) )) return mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === idevent) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.my._id) ))
}, 'getEventsBookedByIdEvent') }, 'getEventsBookedByIdEvent')
const getTeacherName = b.read((mystate: ICalendarState) => (teacherusername) => { const getTeacherName = b.read((mystate: ICalendarState) => (teacherusername) => {
@@ -134,7 +134,7 @@ namespace Getters {
namespace Mutations { namespace Mutations {
// function authUser(state: ICalendarState, data: ICalendarState) { // function authUser(state: ICalendarState, data: ICalendarState) {
// state.userId = data.userId // state._id = data._id
// } // }
// //
// export const mutations = { // export const mutations = {
@@ -153,7 +153,7 @@ namespace Actions {
numpeople: bookevent.numpeople, numpeople: bookevent.numpeople,
msgbooking: bookevent.msgbooking, msgbooking: bookevent.msgbooking,
datebooked: bookevent.datebooked, datebooked: bookevent.datebooked,
userId: UserStore.state.userId, userId: UserStore.state.my._id,
booked: bookevent.booked, booked: bookevent.booked,
modified: bookevent.modified modified: bookevent.modified
} }

View File

@@ -52,7 +52,7 @@ function gettodosByCategory(category: string): any[] {
function initcat() { function initcat() {
const rec = Getters.getters.getRecordEmpty() const rec = Getters.getters.getRecordEmpty()
rec.userId = UserStore.state.userId rec.userId = UserStore.state.my._id
return rec return rec
@@ -67,7 +67,7 @@ namespace Getters {
const objtodo: ITodo = { const objtodo: ITodo = {
// _id: tools.getDateNow().toISOString(), // Create NEW // _id: tools.getDateNow().toISOString(), // Create NEW
_id: objectId(), _id: objectId(),
userId: UserStore.state.userId, userId: UserStore.state.my._id,
descr: '', descr: '',
priority: tools.Priority.PRIORITY_NORMAL, priority: tools.Priority.PRIORITY_NORMAL,
statustodo: tools.Status.OPENED, statustodo: tools.Status.OPENED,
@@ -258,15 +258,15 @@ namespace Actions {
if (!static_data.functionality.ENABLE_PROJECTS_LOADING) if (!static_data.functionality.ENABLE_PROJECTS_LOADING)
return null return null
console.log('dbLoad', nametable, checkPending, 'userid=', UserStore.state.userId) console.log('dbLoad', nametable, checkPending, 'userid=', UserStore.state.my._id)
// if (UserStore.state.userId === '') { // if (UserStore.state.my._id === '') {
// return new Types.AxiosError(0, null, 0, '') // return new Types.AxiosError(0, null, 0, '')
// } // }
let ris = null let ris = null
ris = await Api.SendReq('/todos/' + UserStore.state.userId, 'GET', null) ris = await Api.SendReq('/todos/' + UserStore.state.my._id, 'GET', null)
.then((res) => { .then((res) => {
if (res.data.todos) { // console.log('RISULTANTE CATEGORIES DAL SERVER = ', res.data.categories) if (res.data.todos) { // console.log('RISULTANTE CATEGORIES DAL SERVER = ', res.data.categories)
state.todos = res.data.todos state.todos = res.data.todos

View File

@@ -1,5 +1,5 @@
import Api from '@api' import Api from '@api'
import { ISignupOptions, ISigninOptions, IUserState, IUserList } from 'model' import { ISignupOptions, ISigninOptions, IUserState, IUserFields } from 'model'
import { ILinkReg, IResult, IIdToken, IToken } from 'model/other' import { ILinkReg, IResult, IIdToken, IToken } from 'model/other'
import { storeBuilder } from './Store/Store' import { storeBuilder } from './Store/Store'
import router from '@router' import router from '@router'
@@ -23,16 +23,18 @@ const bcrypt = require('bcryptjs')
// State // State
const state: IUserState = { const state: IUserState = {
userId: '', my: {
_id: '',
email: '', email: '',
username: '', username: '',
name: '', name: '',
surname: '', surname: '',
password: '', password: '',
tokens: [],
verified_email: false
},
lang: process.env.LANG_DEFAULT, lang: process.env.LANG_DEFAULT,
repeatPassword: '', repeatPassword: '',
tokens: [],
verified_email: false,
categorySel: 'personal', categorySel: 'personal',
servercode: 0, servercode: 0,
x_auth_token: '', x_auth_token: '',
@@ -53,15 +55,15 @@ namespace Getters {
const isUserInvalid = b.read((mystate) => { const isUserInvalid = b.read((mystate) => {
try { try {
const ris = (mystate.userId === undefined) || (mystate.userId.trim() === '') || (mystate.tokens[0] === undefined) const ris = (mystate.my._id === undefined) || (mystate.my._id.trim() === '') || (mystate.my.tokens[0] === undefined)
// console.log('state.userId', state.userId, 'ris', ris) // console.log('state._id', state._id, 'ris', ris)
return ris return ris
} catch (e) { } catch (e) {
return true return true
} }
}, 'isUserInvalid') }, 'isUserInvalid')
const lang = b.read((state) => { const lang = b.read((mystate) => {
if (state.lang !== '') { if (state.lang !== '') {
return state.lang return state.lang
} else { } else {
@@ -70,9 +72,9 @@ namespace Getters {
}, 'lang') }, 'lang')
// const tok = b.read(state => { // const tok = b.read(state => {
// if (state.tokens) { // if (state.my.tokens) {
// if (typeof state.tokens[0] !== 'undefined') { // if (typeof state.my.tokens[0] !== 'undefined') {
// return state.tokens[0].token // return state.my.tokens[0].token
// } else { // } else {
// return '' // return ''
// } // }
@@ -81,15 +83,15 @@ namespace Getters {
// } // }
// }, 'tok') // }, 'tok')
const isServerError = b.read((state) => { const isServerError = b.read((mystate) => {
return (state.servercode === tools.ERR_SERVERFETCH) return (state.servercode === tools.ERR_SERVERFETCH)
}, 'isServerError') }, 'isServerError')
const getServerCode = b.read((state) => { const getServerCode = b.read((mystate) => {
return state.servercode return state.servercode
}, 'getServerCode') }, 'getServerCode')
const getNameSurnameByUserId = b.read((state: IUserState) => (userId: string) => { const getNameSurnameByUserId = b.read((mystate: IUserState) => (userId: string) => {
const user = UserStore.getters.getUserByUserId(userId) const user = UserStore.getters.getUserByUserId(userId)
if (user) if (user)
return user.name + ' ' + user.surname return user.name + ' ' + user.surname
@@ -97,36 +99,68 @@ namespace Getters {
return '(' + userId + ')' return '(' + userId + ')'
}, 'getNameSurnameByUserId') }, 'getNameSurnameByUserId')
const getNameSurnameByUsername = b.read((mystate: IUserState) => (username: string) => {
const user = UserStore.getters.getUserByUsername(username)
if (user)
return user.name + ' ' + user.surname
else
return '(' + username + ')'
}, 'getNameSurnameByUsername')
const getUsersList = b.read((mystate: IUserState) => { const getUsersList = b.read((mystate: IUserState) => {
return mystate.usersList return mystate.usersList
}, 'getUsersList') }, 'getUsersList')
const IsMyFriend = b.read((state) => (userIdOwner) => { const IsMyFriend = b.read((mystate) => (userIdOwner) => {
// ++TODO Check if userIdOwner is my friend // ++TODO Check if userIdOwner is my friend
// userIdOwner is my friend ? // userIdOwner is my friend ?
return true return true
}, 'IsMyFriend') }, 'IsMyFriend')
const IsMyGroup = b.read((state) => (userIdOwner) => { const IsMyGroup = b.read((mystate) => (userIdOwner) => {
// ++TODO Check if userIdOwner is on my groups // ++TODO Check if userIdOwner is on my groups
// userIdOwner is on my groups ? // userIdOwner is on my groups ?
return true return true
}, 'IsMyGroup') }, 'IsMyGroup')
const getUserByUserId = b.read((mystate: IUserState) => (userId): IUserState => { const getUserByUserId = b.read((mystate: IUserState) => (userId): IUserFields => {
// Check if is this User! // Check if is this User!
if (state.userId === userId) if (state.my._id === userId)
return state return state.my
return mystate.usersList.find((item) => item._id === userId) return mystate.usersList.find((item) => item._id === userId)
}, 'getUserByUserId') }, 'getUserByUserId')
const getUserByUsername = b.read((mystate: IUserState) => (username): IUserFields => {
// Check if is this User!
if (state.my.username === username)
return state.my
return mystate.usersList.find((item) => item.username === username)
}, 'getUserByUsername')
const getImgByUsername = b.read((mystate: IUserState) => (username): string => {
// Check if is this User!
const myrec = UserStore.getters.getUserByUsername(username)
console.log('getImgByUsername', username, myrec)
if (myrec && !!myrec.img) {
return myrec.img
} else {
return 'images/avatar/avatar3_small.png'
}
}, 'getImgByUsername')
const getlasts_messages = b.read((mystate: IUserState) => () => { const getlasts_messages = b.read((mystate: IUserState) => () => {
const ctrec = (mystate.msgs) ? mystate.msgs.slice(0, 5) : [] const ctrec = (mystate.msgs) ? mystate.msgs.slice(0, 5) : []
// const ctrec = (mystate.msgs) ? mystate.msgs.slice().reverse().slice(0, 5) : []
return (ctrec) return (ctrec)
}, 'getlasts_messages') }, 'getlasts_messages')
const getnumMsgUnread = b.read((mystate: IUserState) => () => {
return mystate.msgs.filter((msg) => !msg.read).length
}, 'getnumMsgUnread')
export const getters = { export const getters = {
get isUserInvalid() { get isUserInvalid() {
return isUserInvalid() return isUserInvalid()
@@ -155,11 +189,23 @@ namespace Getters {
get getUserByUserId() { get getUserByUserId() {
return getUserByUserId() return getUserByUserId()
}, },
get getNameSurnameByUsername() {
return getNameSurnameByUsername()
},
get getImgByUsername() {
return getImgByUsername()
},
get getUserByUsername() {
return getUserByUsername()
},
get getUsersList() { get getUsersList() {
return getUsersList() return getUsersList()
}, },
get getlasts_messages() { get getlasts_messages() {
return getlasts_messages() return getlasts_messages()
},
get getnumMsgUnread() {
return getnumMsgUnread()
} }
// get fullName() { return fullName();}, // get fullName() { return fullName();},
} }
@@ -167,76 +213,75 @@ namespace Getters {
} }
namespace Mutations { namespace Mutations {
function authUser(mystate: IUserState, data: IUserState) { function authUser(mystate: IUserState, data: IUserFields) {
mystate.userId = data.userId mystate.my = {...data}
mystate.username = data.username
mystate.name = data.name mystate.isAdmin = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Admin)
mystate.surname = data.surname mystate.isManager = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Manager)
mystate.perm = data.perm
mystate.isAdmin = tools.isBitActive(mystate.perm, shared_consts.Permissions.Admin)
mystate.isManager = tools.isBitActive(mystate.perm, shared_consts.Permissions.Manager)
// console.log('authUser', 'state.isAdmin', mystate.isAdmin) // console.log('authUser', 'state.isAdmin', mystate.isAdmin)
console.table(mystate) console.table(mystate)
console.table(data) console.table(data)
if (data.verified_email) {
mystate.verified_email = data.verified_email // if (data.my.verified_email) {
// mystate.my.verified_email = data.my.verified_email
// }
//
// if (data.categorySel) {
// mystate.categorySel = data.categorySel
// } // ??
mystate.my.tokens = []
resetArrToken(mystate.my.tokens)
mystate.my.tokens.push({ access: 'auth', token: mystate.x_auth_token, data_login: tools.getDateNow() })
// console.log('state.my.tokens', state.my.tokens)
} }
if (data.categorySel) { function setpassword(mystate: IUserState, newstr: string) {
mystate.categorySel = data.categorySel mystate.my.password = newstr
} // ??
resetArrToken(mystate.tokens)
mystate.tokens.push({ access: 'auth', token: mystate.x_auth_token, data_login: tools.getDateNow() })
// console.log('state.tokens', state.tokens)
} }
function setpassword(state: IUserState, newstr: string) { function setusersList(mystate: IUserState, usersList: IUserFields[]) {
state.password = newstr
}
function setusersList(mystate: IUserState, usersList: IUserList[]) {
// console.log('setusersList', usersList) // console.log('setusersList', usersList)
mystate.usersList = [...usersList] mystate.usersList = [...usersList]
} }
function setemail(state: IUserState, newstr: string) { function setemail(mystate: IUserState, newstr: string) {
state.email = newstr mystate.my.email = newstr
} }
function setlang(state: IUserState, newstr: string) { function setlang(mystate: IUserState, newstr: string) {
console.log('SETLANG', newstr) console.log('SETLANG', newstr)
state.lang = newstr mystate.lang = newstr
tools.setLangAtt(newstr) tools.setLangAtt(newstr)
localStorage.setItem(tools.localStorage.lang, state.lang) localStorage.setItem(tools.localStorage.lang, state.lang)
} }
function UpdatePwd(state: IUserState, x_auth_token: string) { function UpdatePwd(mystate: IUserState, x_auth_token: string) {
state.x_auth_token = x_auth_token mystate.x_auth_token = x_auth_token
if (!state.tokens) { if (!mystate.my.tokens) {
state.tokens = [] mystate.my.tokens = []
} }
state.tokens.push({ access: 'auth', token: x_auth_token, data_login: tools.getDateNow() }) mystate.my.tokens.push({ access: 'auth', token: x_auth_token, data_login: tools.getDateNow() })
} }
function setServerCode(state: IUserState, num: number) { function setServerCode(mystate: IUserState, num: number) {
state.servercode = num mystate.servercode = num
} }
function setResStatus(state: IUserState, status: number) { function setResStatus(mystate: IUserState, status: number) {
state.resStatus = status mystate.resStatus = status
} }
function setAuth(state: IUserState, x_auth_token: string) { function setAuth(mystate: IUserState, x_auth_token: string) {
state.x_auth_token = x_auth_token mystate.x_auth_token = x_auth_token
} }
function resetArrToken(arrtokens) { function resetArrToken(arrtokens) {
if (!arrtokens.tokens) { if (!arrtokens) {
arrtokens.tokens = [] arrtokens = []
} }
// Take only the others access (from others Browser) // Take only the others access (from others Browser)
@@ -245,25 +290,25 @@ namespace Mutations {
}) })
} }
function clearAuthData(state: IUserState) { function clearAuthData(mystate: IUserState) {
state.userId = '' mystate.my._id = ''
state.username = '' mystate.my.username = ''
state.name = '' mystate.my.name = ''
state.surname = '' mystate.my.surname = ''
resetArrToken(state.tokens) resetArrToken(mystate.my.tokens)
state.verified_email = false mystate.my.verified_email = false
state.categorySel = 'personal' mystate.categorySel = 'personal'
state.servercode = 0 mystate.servercode = 0
state.resStatus = 0 mystate.resStatus = 0
state.isLogged = false mystate.isLogged = false
state.x_auth_token = '' mystate.x_auth_token = ''
} }
function setErrorCatch(state: IUserState, axerr: Types.AxiosError) { function setErrorCatch(mystate: IUserState, axerr: Types.AxiosError) {
try { try {
if (state.servercode !== tools.ERR_SERVERFETCH) { if (mystate.servercode !== tools.ERR_SERVERFETCH) {
state.servercode = axerr.getCode() mystate.servercode = axerr.getCode()
} }
console.log('Err catch: (servercode:', axerr.getCode(), axerr.getMsgError(), ')') console.log('Err catch: (servercode:', axerr.getCode(), axerr.getMsgError(), ')')
} catch (e) { } catch (e) {
@@ -271,11 +316,11 @@ namespace Mutations {
} }
} }
function getMsgError(state: IUserState, err: number) { function getMsgError(mystate: IUserState, err: number) {
let msgerrore = '' let msgerrore = ''
if (err !== tools.OK) { if (err !== tools.OK) {
msgerrore = 'Error [' + state.servercode + ']: ' msgerrore = 'Error [' + mystate.servercode + ']: '
if (state.servercode === tools.ERR_SERVERFETCH) { if (mystate.servercode === tools.ERR_SERVERFETCH) {
msgerrore = translate('fetch.errore_server') msgerrore = translate('fetch.errore_server')
} else { } else {
msgerrore = translate('fetch.errore_generico') msgerrore = translate('fetch.errore_generico')
@@ -302,7 +347,7 @@ namespace Mutations {
clearAuthData: b.commit(clearAuthData), clearAuthData: b.commit(clearAuthData),
setErrorCatch: b.commit(setErrorCatch), setErrorCatch: b.commit(setErrorCatch),
getMsgError: b.commit(getMsgError), getMsgError: b.commit(getMsgError),
setusersList: b.commit(setusersList), setusersList: b.commit(setusersList)
} }
} }
@@ -322,8 +367,8 @@ namespace Actions {
async function resetpwd(context, paramquery: IUserState) { async function resetpwd(context, paramquery: IUserState) {
const usertosend = { const usertosend = {
email: paramquery.email, email: paramquery.my.email,
password: paramquery.password, password: paramquery.my.password,
tokenforgot: paramquery.tokenforgot tokenforgot: paramquery.tokenforgot
} }
console.log(usertosend) console.log(usertosend)
@@ -341,11 +386,10 @@ namespace Actions {
} }
async function requestpwd(context, paramquery: IUserState) { async function requestpwd(context, paramquery: IUserState) {
const usertosend = { const usertosend = {
email: paramquery.email email: paramquery.my.email
} }
console.log(usertosend) console.log(usertosend)
@@ -419,31 +463,21 @@ namespace Actions {
Mutations.mutations.setServerCode(res.status) Mutations.mutations.setServerCode(res.status)
if (res.status === 200) { if (res.status === 200) {
const userId = newuser._id
const username = authData.username
const name = authData.name
const surname = authData.surname
if (process.env.DEV) { if (process.env.DEV) {
console.log('USERNAME = ' + username) console.log('USERNAME = ' + newuser.username)
console.log('IDUSER= ' + userId) console.log('IDUSER= ' + newuser._id)
} }
Mutations.mutations.authUser({ Mutations.mutations.authUser(newuser)
userId,
username,
name,
surname,
verified_email: false
})
const now = tools.getDateNow() const now = tools.getDateNow()
// const expirationDate = new Date(now.getTime() + myres.data.expiresIn * 1000); // const expirationDate = new Date(now.getTime() + myres.data.expiresIn * 1000);
const expirationDate = new Date(now.getTime() * 1000) const expirationDate = new Date(now.getTime() * 1000)
localStorage.setItem(tools.localStorage.lang, state.lang) localStorage.setItem(tools.localStorage.lang, state.lang)
localStorage.setItem(tools.localStorage.userId, userId) localStorage.setItem(tools.localStorage.userId, newuser._id)
localStorage.setItem(tools.localStorage.username, username) localStorage.setItem(tools.localStorage.username, newuser.username)
localStorage.setItem(tools.localStorage.name, name) localStorage.setItem(tools.localStorage.name, newuser.name)
localStorage.setItem(tools.localStorage.surname, surname) localStorage.setItem(tools.localStorage.surname, newuser.surname)
localStorage.setItem(tools.localStorage.token, state.x_auth_token) localStorage.setItem(tools.localStorage.token, state.x_auth_token)
localStorage.setItem(tools.localStorage.expirationDate, expirationDate.toString()) localStorage.setItem(tools.localStorage.expirationDate, expirationDate.toString())
localStorage.setItem(tools.localStorage.verified_email, String(false)) localStorage.setItem(tools.localStorage.verified_email, String(false))
@@ -529,38 +563,26 @@ namespace Actions {
if (res.success) { if (res.success) {
GlobalStore.mutations.SetwasAlreadySubOnDb(res.data.subsExistonDb) GlobalStore.mutations.SetwasAlreadySubOnDb(res.data.subsExistonDb)
const myuser: IUserState = res.data.usertosend const myuser: IUserFields = res.data.usertosend
if (myuser) { if (myuser) {
const userId = myuser.userId
const username = authData.username
const name = myuser.name
const surname = myuser.surname
const verified_email = myuser.verified_email
console.table(myuser) console.table(myuser)
Mutations.mutations.authUser({ Mutations.mutations.authUser(myuser)
userId,
username,
name,
surname,
verified_email,
perm: myuser.perm
})
const now = tools.getDateNow() const now = tools.getDateNow()
// const expirationDate = new Date(now.getTime() + myres.data.expiresIn * 1000); // const expirationDate = new Date(now.getTime() + myres.data.expiresIn * 1000);
const expirationDate = new Date(now.getTime() * 1000) const expirationDate = new Date(now.getTime() * 1000)
localStorage.setItem(tools.localStorage.lang, state.lang) localStorage.setItem(tools.localStorage.lang, state.lang)
localStorage.setItem(tools.localStorage.userId, userId) localStorage.setItem(tools.localStorage.userId, myuser._id)
localStorage.setItem(tools.localStorage.username, username) localStorage.setItem(tools.localStorage.username, myuser.username)
localStorage.setItem(tools.localStorage.name, name) localStorage.setItem(tools.localStorage.name, myuser.name)
localStorage.setItem(tools.localStorage.surname, surname) localStorage.setItem(tools.localStorage.surname, myuser.surname)
localStorage.setItem(tools.localStorage.perm, String(myuser.perm) || '') localStorage.setItem(tools.localStorage.perm, String(myuser.perm) || '')
localStorage.setItem(tools.localStorage.img, String(myuser.img) || '')
localStorage.setItem(tools.localStorage.token, state.x_auth_token) localStorage.setItem(tools.localStorage.token, state.x_auth_token)
localStorage.setItem(tools.localStorage.expirationDate, expirationDate.toString()) localStorage.setItem(tools.localStorage.expirationDate, expirationDate.toString())
localStorage.setItem(tools.localStorage.isLogged, String(true)) localStorage.setItem(tools.localStorage.isLogged, String(true))
localStorage.setItem(tools.localStorage.verified_email, String(verified_email)) localStorage.setItem(tools.localStorage.verified_email, String(myuser.verified_email))
localStorage.setItem(tools.localStorage.wasAlreadySubOnDb, String(GlobalStore.state.wasAlreadySubOnDb)) localStorage.setItem(tools.localStorage.wasAlreadySubOnDb, String(GlobalStore.state.wasAlreadySubOnDb))
} }
@@ -593,6 +615,7 @@ namespace Actions {
localStorage.removeItem(tools.localStorage.username) localStorage.removeItem(tools.localStorage.username)
localStorage.removeItem(tools.localStorage.name) localStorage.removeItem(tools.localStorage.name)
localStorage.removeItem(tools.localStorage.surname) localStorage.removeItem(tools.localStorage.surname)
localStorage.removeItem(tools.localStorage.img)
localStorage.removeItem(tools.localStorage.perm) localStorage.removeItem(tools.localStorage.perm)
localStorage.removeItem(tools.localStorage.isLogged) localStorage.removeItem(tools.localStorage.isLogged)
// localStorage.removeItem(rescodes.localStorage.leftDrawerOpen) // localStorage.removeItem(rescodes.localStorage.leftDrawerOpen)
@@ -658,26 +681,28 @@ namespace Actions {
const expirationDate = new Date(String(expirationDateStr)) const expirationDate = new Date(String(expirationDateStr))
const now = tools.getDateNow() const now = tools.getDateNow()
if (now < expirationDate) { if (now < expirationDate) {
const userId = String(localStorage.getItem(tools.localStorage.userId)) const _id = String(localStorage.getItem(tools.localStorage.userId))
const username = String(localStorage.getItem(tools.localStorage.username)) const username = String(localStorage.getItem(tools.localStorage.username))
const name = String(localStorage.getItem(tools.localStorage.name)) const name = String(localStorage.getItem(tools.localStorage.name))
const surname = String(localStorage.getItem(tools.localStorage.surname)) const surname = String(localStorage.getItem(tools.localStorage.surname))
const verified_email = localStorage.getItem(tools.localStorage.verified_email) === 'true' const verified_email = localStorage.getItem(tools.localStorage.verified_email) === 'true'
const perm = parseInt(localStorage.getItem(tools.localStorage.perm), 10) const perm = parseInt(localStorage.getItem(tools.localStorage.perm), 10)
const img = String(localStorage.getItem(tools.localStorage.img))
GlobalStore.state.wasAlreadySubOnDb = localStorage.getItem(tools.localStorage.wasAlreadySubOnDb) === 'true' GlobalStore.state.wasAlreadySubOnDb = localStorage.getItem(tools.localStorage.wasAlreadySubOnDb) === 'true'
console.log('************* autologin userId', userId) console.log('************* autologin _id', _id)
UserStore.mutations.setAuth(token) UserStore.mutations.setAuth(token)
Mutations.mutations.authUser({ Mutations.mutations.authUser({
userId, _id,
username, username,
name, name,
surname, surname,
verified_email, verified_email,
perm perm,
img
}) })
isLogged = true isLogged = true
@@ -686,7 +711,7 @@ namespace Actions {
await setGlobal(isLogged) await setGlobal(isLogged)
// console.log('autologin userId STATE ', state.userId) // console.log('autologin _id STATE ', state._id)
return true return true
} catch (e) { } catch (e) {
@@ -717,7 +742,6 @@ namespace Actions {
} }
/* /*
async function refreshUserInfos(){ async function refreshUserInfos(){
let {token, refresh_token} = JWT.fetch(); let {token, refresh_token} = JWT.fetch();

View File

@@ -76,7 +76,8 @@ export const tools = {
name: 'nm', name: 'nm',
surname: 'sn', surname: 'sn',
perm: 'pm', perm: 'pm',
lang: 'lg' lang: 'lg',
img: 'img'
}, },
Priority: { Priority: {
@@ -1704,8 +1705,15 @@ export const tools = {
return date.formatDate(mytimestamp, 'DD/MM/YYYY HH:mm') return date.formatDate(mytimestamp, 'DD/MM/YYYY HH:mm')
else else
return '' return ''
} },
,
getstrDateTimeShort(mytimestamp) {
// console.log('getstrDate', mytimestamp)
if (!!mytimestamp)
return date.formatDate(mytimestamp, 'DD/MM HH:mm')
else
return ''
},
getstrDateEmailTime(mythis, mytimestamp) { getstrDateEmailTime(mythis, mytimestamp) {
// console.log('getstrDate', mytimestamp) // console.log('getstrDate', mytimestamp)

View File

@@ -47,7 +47,7 @@ export default class CfgServer extends Vue {
public selItem(item) { public selItem(item) {
console.log('item', item) console.log('item', item)
this.keysel = item.chiave this.keysel = item.chiave
this.userIdsel = item.userid this.userIdsel = item.userId
console.log('this.keysel', this.keysel) console.log('this.keysel', this.keysel)
} }

View File

@@ -68,18 +68,18 @@ export default class Testp1 extends Vue {
} }
TestBtn2() { TestBtn2() {
GlobalStore.state.testp1.mioarray.push({chiave: 'pippo2', userId: UserStore.state.userId, valore: GlobalStore.state.testp1.contatore.toString() }) GlobalStore.state.testp1.mioarray.push({chiave: 'pippo2', userId: UserStore.state.my._id, valore: GlobalStore.state.testp1.contatore.toString() })
} }
TestBtnModify() { TestBtnModify() {
// GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] = GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] + 1 // GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] = GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] + 1
GlobalStore.mutations.setPaoArray({chiave: 'pippo', userId: UserStore.state.userId, valore: '20' } ) GlobalStore.mutations.setPaoArray({chiave: 'pippo', userId: UserStore.state.my._id, valore: '20' } )
} }
TestBtnCambiaTutto() { TestBtnCambiaTutto() {
// GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] = GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] + 1 // GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] = GlobalStore.state.testp1.mioarray[GlobalStore.state.testp1.mioarray.length - 1] + 1
GlobalStore.mutations.NewArray([{chiave: 'nuovorec1', userId: UserStore.state.userId, valore: '1' }, {chiave: 'nuovorec2', userId: UserStore.state.userId, valore: '2' }] ) GlobalStore.mutations.NewArray([{chiave: 'nuovorec1', userId: UserStore.state.my._id, valore: '1' }, {chiave: 'nuovorec2', userId: UserStore.state.my._id, valore: '2' }] )
} }

View File

@@ -62,12 +62,12 @@
import Vue from 'vue' import Vue from 'vue'
import { email, required } from "vuelidate/lib/validators" import { email, required } from "vuelidate/lib/validators"
import { UserStore } from "../../store/Modules"; import { UserStore } from "../../store/Modules";
import { IUserState } from "../../model"; import { IUserFields, IUserState } from "../../model"
import { tools } from "../../store/Modules/tools"; import { tools } from "../../store/Modules/tools";
import { toolsext } from '@src/store/Modules/toolsext' import { toolsext } from '@src/store/Modules/toolsext'
export default class RequestResetPwd extends Vue{ export default class RequestResetPwd extends Vue{
emailsent = false emailsent = false
form: IUserState = { form: IUserFields = {
email: '', email: '',
tokenforgot: '' tokenforgot: ''
} }

View File

@@ -74,13 +74,13 @@
import Vue from 'vue' import Vue from 'vue'
import { required } from "vuelidate/lib/validators" import { required } from "vuelidate/lib/validators"
import { UserStore } from "../../store/Modules"; import { UserStore } from "../../store/Modules";
import { IUserState } from "../../model"; import { IUserFields, IUserState } from "../../model"
import { tools } from "../../store/Modules/tools"; import { tools } from "../../store/Modules/tools";
import { toolsext } from '@src/store/Modules/toolsext' import { toolsext } from '@src/store/Modules/toolsext'
export default class UpdatePassword extends Vue { export default class UpdatePassword extends Vue {
emailsent = false emailsent = false
form: IUserState = { form = {
password: '', password: '',
repeatPassword: '', repeatPassword: '',
tokenforgot: '', tokenforgot: '',