Step 2: Creating page Messages: userlist last messages + a page for all the messages received and sent.

This commit is contained in:
Paolo Arena
2019-10-27 00:37:00 +02:00
parent 878ae96813
commit 4f895bdbe2
19 changed files with 407 additions and 159 deletions

View File

@@ -28,10 +28,12 @@ import router from '@router'
import { static_data } from '@src/db/static_data'
import translate from '@src/globalroutines/util'
import { lists } from '../../store/Modules/lists'
import { GlobalStore } from '../../store/Modules'
import { IMessagePage, IMessage, IIdentity } from '../../model'
import { GlobalStore, MessageStore } from '../../store/Modules'
import { IMessagePage, IMessage, IIdentity, MsgDefault } from '../../model'
import MixinUsers from '../../mixins/mixin-users'
@Component({
mixins: [MixinUsers],
name: 'CEventsCalendar',
components: { Logo, Footer, CTitle, CImgText, QDateTimeScroller, QDateScroller, CMySelect, CMyEditor }
})
@@ -370,10 +372,6 @@ export default class CEventsCalendar extends Vue {
}
}
get mythis() {
return this
}
public $refs: {
calendar: any
}
@@ -666,26 +664,17 @@ export default class CEventsCalendar extends Vue {
const data: IMessage = {
source: {
page: '',
event_id: myevent._id,
infoevent: tools.gettextevent(this, myevent)
},
idapp: process.env.APP_ID,
origin: {
idapp: process.env.APP_ID,
username: UserStore.state.username
},
dest: {
idapp: process.env.APP_ID,
username: myevent.teacher
},
read: false,
deleted: false,
message: this.askInfoForm.message,
datemsg: tools.getDateNow()
message: this.askInfoForm.message
}
this.SendMsgEvent(data).then((ris) => {
MessageStore.actions.SendMsgEvent(data).then((ris) => {
self.contextDay = null
if (ris)
tools.showPositiveNotif(self.$q, self.$t('cal.sendmsg_sent'))
@@ -841,10 +830,6 @@ export default class CEventsCalendar extends Vue {
return await CalendarStore.actions.BookEvent(eventparam)
}
public async SendMsgEvent(param: IMessage) {
return await UserStore.actions.SendMsgEvent(param)
}
public isAlreadyBooked(eventparam: IEvents) {
return CalendarStore.getters.findEventBooked(eventparam, true)
}
@@ -880,7 +865,7 @@ export default class CEventsCalendar extends Vue {
public createContribType(value) {
console.log('createContribType', value)
tools.createNewRecord(this, 'contribtype', { label: value }).then((myrec) => {
console.log('myrec')
// console.log('myrec')
CalendarStore.state.contribtype.push(myrec)
})
}
@@ -901,10 +886,6 @@ export default class CEventsCalendar extends Vue {
return myprice
}
public getTeacherName(teacherusername) {
return CalendarStore.getters.getTeacherName(teacherusername)
}
public getWhereIcon(where) {
const whererec = CalendarStore.getters.getWhereRec(where)
return (whererec) ? whererec.whereicon : ''
@@ -915,11 +896,6 @@ export default class CEventsCalendar extends Vue {
return (whererec) ? whererec.placename : ''
}
public getTeacherImg(teacherusername) {
const teacher = CalendarStore.getters.getTeacher(teacherusername)
return (teacher) ? teacher.img : ''
}
public badgeClasses(eventparam, type) {
const cssColor = tools.isCssColor(eventparam.bgcolor)
const isHeader = type === 'header'

View File

@@ -39,17 +39,17 @@
<span class="cal__teacher-content">
<q-chip>
<q-avatar>
<img :src="`../../statics/images/` + getTeacherImg(myevent.teacher)">
<img :src="`../../statics/images/` + getImgByUsername(myevent.teacher)">
</q-avatar>
<span class="cal__teacher-content">{{getTeacherName(myevent.teacher)}}</span>
<span class="cal__teacher-content">{{getUserByUsername(myevent.teacher)}}</span>
</q-chip>
<span v-if="getTeacherImg(myevent.teacher2) && myevent.teacher2"
<span v-if="getImgByUsername(myevent.teacher2) && myevent.teacher2"
class="margin_avatar2"></span>
<q-chip v-if="getTeacherImg(myevent.teacher2) && myevent.teacher2">
<q-chip v-if="getImgByUsername(myevent.teacher2) && myevent.teacher2">
<q-avatar>
<img :src="`../../statics/images/` + getTeacherImg(myevent.teacher2)">
<img :src="`../../statics/images/` + getImgByUsername(myevent.teacher2)">
</q-avatar>
<span class="cal__teacher-content">{{getTeacherName(myevent.teacher2)}}</span>
<span class="cal__teacher-content">{{getUserByUsername(myevent.teacher2)}}</span>
</q-chip>
</span>
</div>
@@ -75,7 +75,7 @@
</div>
<div v-if="myevent.dateTimeStart" class="cal__when">
<span class="cal__where-title">{{$t('cal.when')}}:
<span v-html="tools.getstrDateTimeEvent(mythis, myevent, true)"></span>
<span v-html="tools.getstrDateTimeEvent(mythis(), myevent, true)"></span>
</span>
</div>
<p v-if="myevent.linkpdf" style="margin-top: 10px; text-align: center">
@@ -294,7 +294,7 @@
</q-chip>
<div v-if="myevent.dateTimeStart" class="cal__when">
<span class="cal__where-title">{{$t('cal.when')}}:
<span v-html="tools.getstrDateTimeEvent(mythis, myevent, true)"></span>
<span v-html="tools.getstrDateTimeEvent(mythis(), myevent, true)"></span>
</span>
</div>
<div class="q-pa-xs">
@@ -334,7 +334,7 @@
<q-card-actions align="right">
<q-btn v-if="bookEventpage.state === EState.Modifying" flat :label="$t('cal.cancelbooking')"
color="negative"
@click="tools.CancelBookingEvent(mythis, myevent, bookEventForm._id, true)"></q-btn>
@click="tools.CancelBookingEvent(mythis(), myevent, bookEventForm._id, true)"></q-btn>
<q-btn v-if="checkseinviaMsg" flat :label="$t('dialog.sendonlymsg')" color="primary"
@click="sendMsg(myevent)"></q-btn>
<q-btn v-else flat :label="getTitleBtnBooking" color="primary" @click="saveBookEvent(myevent)"
@@ -370,7 +370,7 @@
</q-chip>
<div v-if="myevent.dateTimeStart" class="cal__when">
<span class="cal__where-title">{{$t('cal.when')}}:
<span v-html="tools.getstrDateTimeEvent(mythis, myevent, true)"></span>
<span v-html="tools.getstrDateTimeEvent(mythis(), myevent, true)"></span>
</span>
</div>
<div class="q-pa-xs">
@@ -560,7 +560,7 @@
</p>
<div class="listaev__date listaev__align_center_mobile">
<span v-html="tools.getstrDateTimeEvent(mythis, event, true)"></span>
<span v-html="tools.getstrDateTimeEvent(mythis(), event, true)"></span>
</div>
<div class="listaev__align_center_mobile">
@@ -600,16 +600,16 @@
<q-chip>
<q-avatar>
<img :src="`../../statics/images/` + getTeacherImg(event.teacher)">
<img :src="`../../statics/images/` + getImgByUsername(event.teacher)">
</q-avatar>
<span class="cal__teacher-content">{{getTeacherName(event.teacher)}}</span>
<span class="cal__teacher-content">{{getUserByUsername(event.teacher)}}</span>
</q-chip>
<span v-if="getTeacherImg(event.teacher2)" class="margin_avatar2"></span>
<q-chip v-if="getTeacherImg(event.teacher2) && event.teacher2">
<span v-if="getImgByUsername(event.teacher2)" class="margin_avatar2"></span>
<q-chip v-if="getImgByUsername(event.teacher2) && event.teacher2">
<q-avatar>
<img :src="`../../statics/images/` + getTeacherImg(event.teacher2)">
<img :src="`../../statics/images/` + getImgByUsername(event.teacher2)">
</q-avatar>
<span class="cal__teacher-content">{{getTeacherName(event.teacher2)}}</span>
<span class="cal__teacher-content">{{getUserByUsername(event.teacher2)}}</span>
</q-chip>
<span v-if="event.wherecode" class="">