diff --git a/cfg_locale b/cfg_locale deleted file mode 120000 index 73cc88f..0000000 --- a/cfg_locale +++ /dev/null @@ -1 +0,0 @@ -cfg_freeplanet.app/ \ No newline at end of file diff --git a/src/components/CImgText/CImgText.ts b/src/components/CImgText/CImgText.ts index cc7dd65..81926c6 100644 --- a/src/components/CImgText/CImgText.ts +++ b/src/components/CImgText/CImgText.ts @@ -25,6 +25,7 @@ import { Screen } from 'quasar' }) export default class CImgText extends Vue { @Prop({ required: false, default: '' }) public src: string + @Prop({ required: false, default: '' }) public src2: string @Prop({ required: false, default: 'myclimg' }) public class1: string @Prop({ required: false, default: '' }) public style1: string } diff --git a/src/components/CImgText/CImgText.vue b/src/components/CImgText/CImgText.vue index bffb077..5d81384 100644 --- a/src/components/CImgText/CImgText.vue +++ b/src/components/CImgText/CImgText.vue @@ -4,6 +4,7 @@
+
diff --git a/src/components/Footer/Footer.vue b/src/components/Footer/Footer.vue index 00effad..f1810d0 100644 --- a/src/components/Footer/Footer.vue +++ b/src/components/Footer/Footer.vue @@ -10,7 +10,7 @@ - @@ -52,7 +52,7 @@

- {{$t('privacy_policy')}} + {{$t('privacy_policy')}}

diff --git a/src/components/FormNewsletter/FormNewsletter.vue b/src/components/FormNewsletter/FormNewsletter.vue index cb6bec1..8fbcc2c 100644 --- a/src/components/FormNewsletter/FormNewsletter.vue +++ b/src/components/FormNewsletter/FormNewsletter.vue @@ -41,7 +41,7 @@ - $t('newsletter.acceptlicense') + {{$t('privacy_policy')}} diff --git a/src/components/Header/Header.ts b/src/components/Header/Header.ts index b446300..ff0e50a5 100644 --- a/src/components/Header/Header.ts +++ b/src/components/Header/Header.ts @@ -68,12 +68,12 @@ export default class Header extends Vue { } // ------------------------------------------------------------------------- - // QUASAR Example using event to open drawer from another component or page + // QUASAR Example using myevent to open drawer from another component or page // ------------------------------------------------------------------------- // (1) This code is inside layout file that have a drawer // if this.leftDrawerOpen is true, drawer is displayed - // (2) Listen for an event in created + // (2) Listen for an myevent in created /* created(){ this.$root.$on("openLeftDrawer", this.openLeftDrawercb); }, @@ -85,7 +85,7 @@ export default class Header extends Vue { } } - // (4) In another component or page, emit the event! + // (4) In another component or page, emit the myevent! // Call the method when clicking button etc. methods: { openLeftDrawer() { @@ -160,7 +160,7 @@ export default class Header extends Vue { const color = (value === 'online') ? 'positive' : 'warning' - if (this.static_data.SHOW_IF_IS_SERVER_CONNECTION) { + if (this.static_data.functionality.SHOW_IF_IS_SERVER_CONNECTION) { if (!!oldValue) { tools.showNotif(this.$q, this.$t('connection') + ` ${value}`, { diff --git a/src/components/Header/Header.vue b/src/components/Header/Header.vue index 89e8016..cf005c8 100644 --- a/src/components/Header/Header.vue +++ b/src/components/Header/Header.vue @@ -58,7 +58,7 @@ --> {{ $t('msg.hello') }} ! --> - + @@ -121,7 +121,7 @@ - +
diff --git a/src/model/Calendar.ts b/src/model/Calendar.ts index 9da46e4..79c90cc 100644 --- a/src/model/Calendar.ts +++ b/src/model/Calendar.ts @@ -1,5 +1,6 @@ export interface IEvents { + _id?: any time?: string duration?: number duration2?: number @@ -18,9 +19,19 @@ export interface IEvents { avatar2?: string infoextra?: string linkpdf?: string + nobookable?: boolean +} + +export interface IBookedEvent { + id_bookedevent: any + numpeople: number } export interface ICalendarState { + editable: boolean + eventlist: IEvents[] + bookedevent: IBookedEvent[] + // --------------- titlebarHeight: number locale: string, maxDays: number, diff --git a/src/model/GlobalStore.ts b/src/model/GlobalStore.ts index 6f19060..ad84035 100644 --- a/src/model/GlobalStore.ts +++ b/src/model/GlobalStore.ts @@ -166,6 +166,7 @@ export interface IColl { date: string subtitle?: IAllLang img: string + img2?: string linkagg?: string linkagg_type?: number width?: number @@ -176,3 +177,13 @@ export interface ICollaborations { withwhom_title: IAllLang list: IColl[] } + +export interface IFunctionality { + SHOW_USER_MENU?: boolean + SHOW_IF_IS_SERVER_CONNECTION?: boolean + ENABLE_TODOS_LOADING?: boolean + ENABLE_PROJECTS_LOADING?: boolean + SHOW_NEWSLETTER?: boolean + SHOW_ONLY_POLICY?: boolean + EVENTS_CAN_BOOKING?: false +} diff --git a/src/model/index.ts b/src/model/index.ts index dcb8eb8..57b0309 100644 --- a/src/model/index.ts +++ b/src/model/index.ts @@ -1,3 +1,5 @@ +import { IBookingState } from '@src/model/BookingStore' + export * from './UserStore' export * from './GlobalStore' export * from './signin-option' @@ -11,3 +13,4 @@ export * from './Projects' export * from './Calendar' export * from './Estimate' +export * from './BookingStore' diff --git a/src/statics/i18n.js b/src/statics/i18n.js index e944c0e..5016ec2 100644 --- a/src/statics/i18n.js +++ b/src/statics/i18n.js @@ -151,6 +151,9 @@ const msgglobal = { themebgcolor: 'Tema Colore Sfondo' }, cal: { + booked: 'Prenotato', + booking: 'Prenota Evento', + cancelbooking: 'Cancella Prenotazione', event: 'Evento', starttime: 'Dalle', endtime: 'alle', @@ -327,6 +330,9 @@ const msgglobal = { themebgcolor: 'Tema Colores Fondo' }, cal: { + booked: 'Reservado', + booking: 'Reserva Evento', + cancelbooking: 'Cancelar Reserva', event: 'Evento', starttime: 'Inicio', endtime: 'fin', @@ -502,6 +508,9 @@ const msgglobal = { themebgcolor: 'Tema Colores Fondo' }, cal: { + booked: 'Réservé', + booking: 'Réserver l\'événement', + cancelbooking: 'Annuler la réservation', event: 'événement', starttime: 'Accueil', endtime: 'fin', @@ -676,6 +685,9 @@ const msgglobal = { themebgcolor: 'Theme Color Background' }, cal: { + booked: 'Booked', + booking: 'Book the Event', + cancelbooking: 'Cancel Reservation', event: 'Event', starttime: 'From', endtime: 'to', @@ -687,7 +699,7 @@ const msgglobal = { enterdate: 'Enter date', details: 'Details', infoextra: 'Extra Info DateTime', - alldayevent: 'All-Day event', + alldayevent: 'All-Day myevent', eventstartdatetime: 'Event start date and time', enterEndDateTime: 'Event end date and time' }, @@ -852,6 +864,9 @@ const msgglobal = { themebgcolor: 'Theme Color Background' }, cal: { + booked: 'Booked', + booking: 'Book the Event', + cancelbooking: 'Cancel Reservation', event: 'Event', starttime: 'From', endtime: 'to', @@ -863,7 +878,7 @@ const msgglobal = { enterdate: 'Enter date', details: 'Details', infoextra: 'Extra Info DateTime', - alldayevent: 'All-Day event', + alldayevent: 'All-Day myevent', eventstartdatetime: 'Event start date and time', enterEndDateTime: 'Event end date and time' }, diff --git a/src/store/Modules/Projects.ts b/src/store/Modules/Projects.ts index 4b28255..599b6d3 100644 --- a/src/store/Modules/Projects.ts +++ b/src/store/Modules/Projects.ts @@ -274,7 +274,7 @@ namespace Actions { async function dbLoad(context, { checkPending, onlyiffirsttime }) { - if (!static_data.ENABLE_PROJECTS_LOADING) + if (!static_data.functionality.ENABLE_PROJECTS_LOADING) return null if (onlyiffirsttime) { @@ -442,7 +442,6 @@ namespace Actions { modify: b.dispatch(modify), ActionCutPaste: b.dispatch(ActionCutPaste) } - } // Module diff --git a/src/store/Modules/Store/calendar/CalendarStore.ts b/src/store/Modules/Store/calendar/CalendarStore.ts index 5d25538..f36a6bc 100644 --- a/src/store/Modules/Store/calendar/CalendarStore.ts +++ b/src/store/Modules/Store/calendar/CalendarStore.ts @@ -1,5 +1,5 @@ import Api from '@api' -import { ICalendarState } from 'model' +import { ICalendarState, IEvents } from 'model' import { ILinkReg, IResult, IIdToken, IToken } from 'model/other' import { storeBuilder } from '../Store' @@ -8,9 +8,14 @@ import { tools } from '../../tools' import translate from '../../../../globalroutines/util' import * as Types from '../../../Api/ApiTypes' +import { db_data } from '@src/db/db_data' // State const state: ICalendarState = { + editable: false, + eventlist: [], + bookedevent: [], + // --------------- titlebarHeight: 0, locale: 'it-IT', maxDays: 1, @@ -39,19 +44,15 @@ const stateGetter = b.state() namespace Getters { - // const lang = b.read((state) => { - // if (state.lang !== '') { - // return state.lang - // } else { - // return process.env.LANG_DEFAULT - // } - // }, 'lang') - // - // export const getters = { - // get lang() { - // return lang() - // }, - // } + const findEventBooked = b.read((mystate) => (myevent: IEvents) => { + return mystate.bookedevent.find((bookedevent) => bookedevent.id_bookedevent === myevent._id) + }, 'findEventBooked') + + export const getters = { + get findEventBooked() { + return findEventBooked() + } + } } @@ -67,6 +68,29 @@ namespace Mutations { } namespace Actions { + async function loadAfterLogin(context) { + // Load local data + state.editable = db_data.userdata.calendar_editable + state.eventlist = db_data.events + state.bookedevent = db_data.userdata.bookedevent + } + + async function BookEvent(context, event: IEvents) { + console.log('BookEvent', event) + state.bookedevent.push({id_bookedevent: event._id, numpeople: 1}) + } + + async function CancelBookingEvent(context, event: IEvents) { + console.log('CancelBookingEvent', event) + + state.bookedevent = state.bookedevent.filter((eventbooked) => (eventbooked.id_bookedevent !== event._id) ) + } + + export const actions = { + loadAfterLogin: b.dispatch(loadAfterLogin), + BookEvent: b.dispatch(BookEvent), + CancelBookingEvent: b.dispatch(CancelBookingEvent) + } // async function resetpwd(context, paramquery: ICalendarState) { // } @@ -80,9 +104,9 @@ namespace Actions { const CalendarModule = { get state() { return stateGetter() - } - // actions: Actions.actions, - // getters: Getters.getters, + }, + actions: Actions.actions, + getters: Getters.getters // mutations: Mutations.mutations } diff --git a/src/store/Modules/Todos.ts b/src/store/Modules/Todos.ts index 8fb2d1b..3335c7b 100644 --- a/src/store/Modules/Todos.ts +++ b/src/store/Modules/Todos.ts @@ -253,7 +253,7 @@ namespace Actions { async function dbLoad(context, { checkPending }) { - if (!static_data.ENABLE_PROJECTS_LOADING) + if (!static_data.functionality.ENABLE_PROJECTS_LOADING) return null console.log('dbLoad', nametable, checkPending, 'userid=', UserStore.state.userId) diff --git a/src/store/Modules/UserStore.ts b/src/store/Modules/UserStore.ts index 9be0d9d..0eaf30e 100644 --- a/src/store/Modules/UserStore.ts +++ b/src/store/Modules/UserStore.ts @@ -7,7 +7,7 @@ import router from '@router' import { serv_constants } from '../Modules/serv_constants' import { tools } from '../Modules/tools' import { toolsext } from '@src/store/Modules/toolsext' -import { GlobalStore, UserStore, Todos, Projects } from '@store' +import { GlobalStore, UserStore, Todos, Projects, BookingStore, CalendarStore } from '@store' import globalroutines from './../../globalroutines/index' import translate from './../../globalroutines/util' @@ -221,7 +221,6 @@ namespace Mutations { setErrorCatch: b.commit(setErrorCatch), getMsgError: b.commit(getMsgError) } - } namespace Actions { @@ -512,6 +511,7 @@ namespace Actions { } async function setGlobal(isLogged: boolean) { + // console.log('setGlobal') // state.isLogged = true state.isLogged = isLogged if (isLogged) { @@ -522,6 +522,9 @@ namespace Actions { GlobalStore.actions.checkUpdates() } + const p = await BookingStore.actions.loadAfterLogin() + const p2 = await CalendarStore.actions.loadAfterLogin() + return await GlobalStore.actions.loadAfterLogin() .then(() => { return Todos.actions.dbLoad({ checkPending: true }) diff --git a/src/store/Modules/index.ts b/src/store/Modules/index.ts index 941c962..f31ecf1 100644 --- a/src/store/Modules/index.ts +++ b/src/store/Modules/index.ts @@ -1,5 +1,6 @@ export {storeBuilder} from './Store/Store' export {default as GlobalStore} from './GlobalStore' +export {default as BookingStore} from './BookingStore' export {default as UserStore} from './UserStore' export {default as Todos} from './Todos' export {default as Projects} from './Projects'