Files
newfreeplanet_OLD/src/root/evento/evento.ts
Paolo Arena 76918f6b2c CEventsCalendar.ts
calendarioeventi.ts
CMySingleEvent.ts
evento.ts
2021-10-04 01:29:15 +02:00

146 lines
3.9 KiB
TypeScript
Executable File

import { defineComponent, watch, onMounted, ref } from 'vue'
import { tools } from '../../store/Modules/tools'
import { CImgText } from '../../components/CImgText/index'
import MixinOperator from '@src/mixins/mixin-operator'
import MixinEvents from '../../mixins/mixin-events'
import { IEvents } from '@src/model'
import MixinBase from '@src/mixins/mixin-base'
import MixinUsers from '@src/mixins/mixin-users'
import { Logo } from '../../components/logo/index'
import { CCard } from '@/components/CCard'
import { CMyPage } from '@/components/CMyPage'
import { CMyAvatar } from '@/components/CMyAvatar'
import { CEventsCalendar } from '@/components/CEventsCalendar'
import { useRoute } from 'vue-router'
import { useCalendarStore } from '@store/CalendarStore'
import MixinMetaTags from '@/mixins/mixin-metatags'
export default defineComponent({
name: 'Evento',
components: { Logo, CImgText, CCard, CMyPage, CMyAvatar, CEventsCalendar },
setup() {
const myevent = ref(<IEvents | null | undefined> null)
const mylastevtypol = ref(<IEvents[]>[])
const selected = ref(false)
const calendarStore = useCalendarStore()
const { setmeta } = MixinMetaTags()
const $route = useRoute()
function changetypol() {
// mytypetransgroup = ''
const datenow = tools.addDays(tools.getDateNow(), -1)
mylastevtypol.value = calendarStore.eventlist.filter((rec: any) => ((rec.typol === $route.params.typol) && (new Date(rec.dateTimeEnd) >= datenow))).slice(-5)
console.log('[1] mylastevtypol.value', mylastevtypol.value)
if (mylastevtypol.value.length === 0) {
mylastevtypol.value = calendarStore.eventlist.filter((rec: any) => (rec.typol === $route.params.typol)).slice(-1)
}
// console.log('myevent', myevent, 'eventid=', $route.params.eventid)
}
watch(() => $route.params.typol, (value, oldval) => {
changetypol()
})
function nextevents() {
if (!!mylastevtypol.value && mylastevtypol.value.length > 1) {
return mylastevtypol.value
} else {
return []
}
}
function isnotmyevent(ev: any) {
if (!!$route.params.eventid)
return ev._id !== $route.params.eventid
else
return true
}
function changeevent() {
let eventid: any = null
if (!!$route.params.eventid)
eventid = $route.params.eventid
if (!!$route.query.eventid)
eventid = $route.query.eventid
console.log('changeevent', eventid)
// mytypetransgroup = ''
if (!!eventid) {
myevent.value = calendarStore.eventlist.find((rec) => rec._id === eventid)
} else {
if (!!mylastevtypol.value)
myevent.value = mylastevtypol.value[0]
}
}
watch(() => $route.params.eventid, (value, oldval) => {
changeevent()
})
function changeeventquery() {
// console.log('changeevent QUERY', $route.query.eventid)
// mytypetransgroup = ''
if (!!$route.query.eventid) {
myevent.value = calendarStore.eventlist.find((rec: any) => rec._id === $route.query.eventid)
} else {
if (!!mylastevtypol.value)
myevent.value = mylastevtypol.value[0]
}
}
watch(() => $route.query.eventid, (value, oldval) => {
changeeventquery()
})
function selectEvent(eventparam: IEvents) {
selected.value = !selected.value
}
function getTextEvent(myevent: IEvents) {
if (myevent.bodytext === '') {
return myevent.details
} else {
return myevent.bodytext
}
}
function mounted() {
changetypol()
changeevent()
// console.log('myevent', myevent)
}
function gettitle() {
if (!!myevent.value && (!!myevent.value.title))
return myevent.value.title
else
return ''
}
onMounted(mounted)
return {
gettitle,
nextevents,
getTextEvent,
selectEvent,
isnotmyevent,
setmeta,
myevent,
}
}
})