Animations, Policy, Toolbar Colors
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
APP_VERSION="0.5.27"
|
APP_VERSION="0.5.28"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="16"
|
APP_ID="16"
|
||||||
DIRECTORY_LOCAL="newfreeplanet"
|
DIRECTORY_LOCAL="newfreeplanet"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
APP_VERSION="0.5.27"
|
APP_VERSION="0.5.28"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="13"
|
APP_ID="13"
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL=newfreeplanet
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
APP_VERSION="0.5.27"
|
APP_VERSION="0.5.28"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="13"
|
APP_ID="13"
|
||||||
DIRECTORY_LOCAL="newfreeplanet"
|
DIRECTORY_LOCAL="newfreeplanet"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
APP_VERSION="0.5.27"
|
APP_VERSION="0.5.28"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="13"
|
APP_ID="13"
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL=newfreeplanet
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
APP_VERSION="0.5.27"
|
APP_VERSION="0.5.28"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="16"
|
APP_ID="16"
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL=newfreeplanet
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
APP_VERSION="0.5.27"
|
APP_VERSION="0.5.28"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="14"
|
APP_ID="14"
|
||||||
DIRECTORY_LOCAL="newfreeplanet"
|
DIRECTORY_LOCAL="newfreeplanet"
|
||||||
|
|||||||
46
src/App.ts
46
src/App.ts
@@ -7,7 +7,7 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import { MyHeader } from '@/components/MyHeader'
|
import { MyHeader } from '@/components/MyHeader'
|
||||||
import { MyFooter } from '@/components/MyFooter'
|
import { MyFooter } from '@/components/MyFooter'
|
||||||
import { CFirstPageApp } from '@/components/CFirstPageApp'
|
import { CFirstPageApp } from '@/components/CFirstPageApp'
|
||||||
import { computed } from 'vue'
|
import { computed, onMounted, ref, watch } from 'vue'
|
||||||
import { CProvaPao } from '@/components/CProvaPao'
|
import { CProvaPao } from '@/components/CProvaPao'
|
||||||
import { tools } from '@store/Modules/tools'
|
import { tools } from '@store/Modules/tools'
|
||||||
|
|
||||||
@@ -33,24 +33,59 @@ export default {
|
|||||||
|
|
||||||
const finishLoading = computed(() => globalStore.finishLoading)
|
const finishLoading = computed(() => globalStore.finishLoading)
|
||||||
|
|
||||||
|
const site = computed(() => globalStore.site)
|
||||||
|
|
||||||
|
watch(() => finishLoading.value, (newval: boolean, oldval: boolean) => {
|
||||||
|
console.log('watch finished', newval)
|
||||||
|
if (newval) {
|
||||||
|
tools.updateFonts()
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
const listaRoutingNoLogin = ['/vreg?', '/offline']
|
const listaRoutingNoLogin = ['/vreg?', '/offline']
|
||||||
|
|
||||||
function meta() {
|
function meta() {
|
||||||
return {
|
return {
|
||||||
title: t('msg.myAppName'),
|
title: t('msg.myAppName'),
|
||||||
keywords: [{ name: 'keywords', content: 'associazione shen, centro olistico lugo' },
|
keywords: [{ name: 'keywords', content: 'associazione shen, centro olistico lugo' },
|
||||||
{ name: 'description', content: t('msg.myAppDescription') }],
|
{ name: 'description', content: t('msg.myAppDescription') }],
|
||||||
// equiv: { 'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8' }
|
// equiv: { 'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8' }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isScrolledIntoView (el: any) {
|
||||||
|
let rect = el.getBoundingClientRect()
|
||||||
|
let elemTop = rect.top
|
||||||
|
let elemBottom = rect.bottom
|
||||||
|
|
||||||
|
let isVisible = elemTop < window.innerHeight && elemBottom >= 0
|
||||||
|
return isVisible
|
||||||
|
}
|
||||||
|
|
||||||
|
function scroll() {
|
||||||
|
window.onscroll = () => {
|
||||||
|
let scrolledTo = document.querySelector('.replace-with-your-element')
|
||||||
|
|
||||||
|
if (scrolledTo && isScrolledIntoView(scrolledTo)) {
|
||||||
|
console.log('scrolled')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
scroll()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async function created() {
|
async function created() {
|
||||||
try {
|
try {
|
||||||
if (process.env.DEV) {
|
if (process.env.DEV) {
|
||||||
console.info('SESSIONE IN SVILUPPO ! (DEV)')
|
console.info('SESSIONE IN SVILUPPO ! (DEV)')
|
||||||
// console.info(process.env)
|
// console.info(process.env)
|
||||||
}
|
}
|
||||||
if ( tools.isTest() && !process.env.DEV) {
|
if (tools.isTest() && !process.env.DEV) {
|
||||||
console.info('SESSIONE IN TEST ! (TEST)')
|
console.info('SESSIONE IN TEST ! (TEST)')
|
||||||
} else {
|
} else {
|
||||||
if (process.env.PROD) {
|
if (process.env.PROD) {
|
||||||
@@ -77,6 +112,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
globalStore.finishLoading = true
|
globalStore.finishLoading = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tools.updateFonts()
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
globalStore.finishLoading = true
|
globalStore.finishLoading = true
|
||||||
}
|
}
|
||||||
@@ -85,6 +123,8 @@ export default {
|
|||||||
// Check the verified_email
|
// Check the verified_email
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
created()
|
created()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!--<q-layout view="lHh Lpr lFf" class="shadow-2 rounded-borders">--->
|
<!--<q-layout view="lHh Lpr lFf" class="shadow-2 rounded-borders">--->
|
||||||
<q-layout view="hHh lpr fFf" class="shadow-2 rounded-borders">
|
<q-layout view="hHh LpR fFf" class="shadow-2 rounded-borders">
|
||||||
<app-header></app-header>
|
<app-header></app-header>
|
||||||
<q-ajax-bar></q-ajax-bar>
|
<q-ajax-bar></q-ajax-bar>
|
||||||
|
|
||||||
|
|||||||
@@ -1030,7 +1030,7 @@ export const shared_consts = {
|
|||||||
value: 1, //
|
value: 1, //
|
||||||
labeltrans: 'typenotifs.test',
|
labeltrans: 'typenotifs.test',
|
||||||
descr: 'typenotifs.new_rec_bacheca_descr',
|
descr: 'typenotifs.new_rec_bacheca_descr',
|
||||||
icon:'fas fa-house-user',
|
icon: 'fas fa-house-user',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
value: 1, // ID_TEST_NEW_REC
|
value: 1, // ID_TEST_NEW_REC
|
||||||
@@ -1038,14 +1038,14 @@ export const shared_consts = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
TypeNotifs_Arr: [
|
TypeNotifs_Arr: [
|
||||||
{
|
{
|
||||||
value: 1, //
|
value: 1, //
|
||||||
labeltrans: 'typenotifs.new_rec_bacheca',
|
labeltrans: 'typenotifs.new_rec_bacheca',
|
||||||
descr: 'typenotifs.new_rec_bacheca_descr',
|
descr: 'typenotifs.new_rec_bacheca_descr',
|
||||||
icon:'fas fa-house-user',
|
icon: 'fas fa-house-user',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
value: 1, // ID_BACHECA_NEW_GOOD
|
value: 1, // ID_BACHECA_NEW_GOOD
|
||||||
@@ -1061,7 +1061,7 @@ export const shared_consts = {
|
|||||||
value: 2, //
|
value: 2, //
|
||||||
labeltrans: 'typenotifs.events',
|
labeltrans: 'typenotifs.events',
|
||||||
descr: 'typenotifs.events_descr',
|
descr: 'typenotifs.events_descr',
|
||||||
icon:'fas fa-bullhorn',
|
icon: 'fas fa-bullhorn',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
value: 1, // ID_EVENTS_NEW_REC
|
value: 1, // ID_EVENTS_NEW_REC
|
||||||
@@ -1073,7 +1073,7 @@ export const shared_consts = {
|
|||||||
value: 3, //
|
value: 3, //
|
||||||
labeltrans: 'typenotifs.friends',
|
labeltrans: 'typenotifs.friends',
|
||||||
descr: 'typenotifs.friends_descr',
|
descr: 'typenotifs.friends_descr',
|
||||||
icon:'fas fa-user-plus',
|
icon: 'fas fa-user-plus',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
value: 1, // ID_FRIENDS_NEW_REC
|
value: 1, // ID_FRIENDS_NEW_REC
|
||||||
@@ -1085,7 +1085,7 @@ export const shared_consts = {
|
|||||||
value: 4, //
|
value: 4, //
|
||||||
labeltrans: 'typenotifs.groups',
|
labeltrans: 'typenotifs.groups',
|
||||||
descr: 'typenotifs.friends_descr',
|
descr: 'typenotifs.friends_descr',
|
||||||
icon:'fas fa-user-plus',
|
icon: 'fas fa-user-plus',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
value: 1, // ID_GROUP_NEW_REC
|
value: 1, // ID_GROUP_NEW_REC
|
||||||
@@ -1097,7 +1097,7 @@ export const shared_consts = {
|
|||||||
value: 5, //
|
value: 5, //
|
||||||
labeltrans: 'typenotifs.circuits',
|
labeltrans: 'typenotifs.circuits',
|
||||||
descr: 'typenotifs.circuits_descr',
|
descr: 'typenotifs.circuits_descr',
|
||||||
icon:'fas fa-coins',
|
icon: 'fas fa-coins',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
value: 1, // ID_CIRCUIT_NEW_REC
|
value: 1, // ID_CIRCUIT_NEW_REC
|
||||||
@@ -1109,7 +1109,7 @@ export const shared_consts = {
|
|||||||
value: 6, //
|
value: 6, //
|
||||||
labeltrans: 'typenotifs.booking',
|
labeltrans: 'typenotifs.booking',
|
||||||
descr: '',
|
descr: '',
|
||||||
icon:'fas fa-book-open',
|
icon: 'fas fa-book-open',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -1175,6 +1175,33 @@ export const shared_consts = {
|
|||||||
FASE3_MONETA_ABILITATA: 3,
|
FASE3_MONETA_ABILITATA: 3,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
FontsInstalled: [
|
||||||
|
{
|
||||||
|
label: 'Arial',
|
||||||
|
value: 'font-Arial'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Baskervville',
|
||||||
|
value: 'font-Baskervville'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Montserrat',
|
||||||
|
value: 'font-Montserrat'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Verdana',
|
||||||
|
value: 'font-Verdana'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Lato',
|
||||||
|
value: 'font-Lato'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Source Sans Pro',
|
||||||
|
value: 'font-SourceSansPro'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
TypesElem: [
|
TypesElem: [
|
||||||
{
|
{
|
||||||
value: 5,
|
value: 5,
|
||||||
@@ -1258,6 +1285,61 @@ export const shared_consts = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
|
LISTBESTCOLORS: [
|
||||||
|
{
|
||||||
|
label: 'blue',
|
||||||
|
value: 'blue'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'green',
|
||||||
|
value: 'green'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'purple',
|
||||||
|
value: 'purple'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'deep-purple',
|
||||||
|
value: 'deep-purple'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'indigo',
|
||||||
|
value: 'indigo'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'light-blue',
|
||||||
|
value: 'light-blue'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'cyan',
|
||||||
|
value: 'cyan'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'teal',
|
||||||
|
value: 'teal'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'lime',
|
||||||
|
value: 'lime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'orange',
|
||||||
|
value: 'orange'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'deeporange',
|
||||||
|
value: 'deeporange'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'yellow',
|
||||||
|
value: 'yellow'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'white',
|
||||||
|
value: 'white'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
ELEMTYPE: {
|
ELEMTYPE: {
|
||||||
TITLE: 5,
|
TITLE: 5,
|
||||||
MARGINI: 6,
|
MARGINI: 6,
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { defineComponent, ref } from 'vue'
|
import { defineComponent, PropType, ref } from 'vue'
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@src/store/Modules/tools'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@src/common/shared_vuejs'
|
||||||
|
import { IAnim } from '@src/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CImgPoster',
|
name: 'CImgPoster',
|
||||||
@@ -46,15 +47,19 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: 1
|
default: 1
|
||||||
},
|
},
|
||||||
class_anim: {
|
anim: {
|
||||||
type: String,
|
type: Object as PropType<IAnim>,
|
||||||
required: false,
|
required: false,
|
||||||
default: ''
|
default: () => {
|
||||||
|
return { name: '', clduration: '', cldelay: '' }
|
||||||
|
},
|
||||||
},
|
},
|
||||||
class_anim2: {
|
anim2: {
|
||||||
type: String,
|
type: Object as PropType<IAnim>,
|
||||||
required: false,
|
required: false,
|
||||||
default: ''
|
default: () => {
|
||||||
|
return { name: '', clduration: '', cldelay: '' }
|
||||||
|
},
|
||||||
},
|
},
|
||||||
logo: String,
|
logo: String,
|
||||||
logoheight: String,
|
logoheight: String,
|
||||||
|
|||||||
@@ -23,12 +23,15 @@
|
|||||||
: undefined
|
: undefined
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<div :class="classTitle + ` ` + class_anim" :style="` color:` + colorTitle">
|
<div
|
||||||
|
:class="classTitle + ` ` + tools.getClassAnim(anim)"
|
||||||
|
:style="` color:` + colorTitle"
|
||||||
|
>
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="legendinside"
|
v-if="legendinside"
|
||||||
:class="classSubtitle + ` ` + class_anim2"
|
:class="classSubtitle + ` ` + tools.getClassAnim(anim2)"
|
||||||
:style="` color:` + colorSubtitle"
|
:style="` color:` + colorSubtitle"
|
||||||
v-html="legendinside"
|
v-html="legendinside"
|
||||||
></div>
|
></div>
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ export default defineComponent({
|
|||||||
const animare = ref(0)
|
const animare = ref(0)
|
||||||
const slide = ref(0)
|
const slide = ref(0)
|
||||||
const slide2 = ref(0)
|
const slide2 = ref(0)
|
||||||
|
const tabCard = ref('card0')
|
||||||
const arrPages = ref([] as any[])
|
const arrPages = ref([] as any[])
|
||||||
const disableSave = ref(true)
|
const disableSave = ref(true)
|
||||||
const enableEdit = ref(true)
|
const enableEdit = ref(true)
|
||||||
@@ -295,6 +296,7 @@ export default defineComponent({
|
|||||||
saveCard,
|
saveCard,
|
||||||
updateElem,
|
updateElem,
|
||||||
showAnimation,
|
showAnimation,
|
||||||
|
tabCard,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
dense
|
dense
|
||||||
label="Allinea"
|
label="Allinea"
|
||||||
style="min-width: 100px"
|
style="min-width: 150px"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
>
|
>
|
||||||
@@ -138,7 +138,7 @@
|
|||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
dense
|
dense
|
||||||
label="Vert Allinea"
|
label="Vert Allinea"
|
||||||
style="min-width: 100px"
|
style="min-width: 150px"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
>
|
>
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
<q-select
|
<q-select
|
||||||
v-if="enableEdit"
|
v-if="enableEdit"
|
||||||
rounded
|
rounded
|
||||||
style="min-width: 100px"
|
style="min-width: 150px"
|
||||||
outlined
|
outlined
|
||||||
v-model="myel.class"
|
v-model="myel.class"
|
||||||
:options="tools.SelectListClass"
|
:options="tools.SelectListClass"
|
||||||
@@ -160,7 +160,7 @@
|
|||||||
<q-select
|
<q-select
|
||||||
v-if="enableEdit && showFit"
|
v-if="enableEdit && showFit"
|
||||||
rounded
|
rounded
|
||||||
style="min-width: 100px"
|
style="min-width: 150px"
|
||||||
outlined
|
outlined
|
||||||
v-model="myel.fit"
|
v-model="myel.fit"
|
||||||
:options="tools.SelectListFit"
|
:options="tools.SelectListFit"
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<CSelectAnimation
|
<CSelectAnimation
|
||||||
v-if="enableEdit && showAnimation"
|
v-if="enableEdit && showAnimation"
|
||||||
v-model="myel.class_anim"
|
v-model="myel.anim"
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
>
|
>
|
||||||
</CSelectAnimation>
|
</CSelectAnimation>
|
||||||
@@ -205,9 +205,16 @@
|
|||||||
v-if="myel.type === shared_consts.ELEMTYPE.CARD"
|
v-if="myel.type === shared_consts.ELEMTYPE.CARD"
|
||||||
:class="myel.span ? '' : ''"
|
:class="myel.span ? '' : ''"
|
||||||
>
|
>
|
||||||
|
<CSelectAnimation
|
||||||
|
v-if="enableEdit && showAnimation"
|
||||||
|
v-model="myel.anim2"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
label="Animaz Immagini"
|
||||||
|
>
|
||||||
|
</CSelectAnimation>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-input
|
<q-input
|
||||||
label="Classe Card:"
|
label="Classe Schede:"
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
v-model="myel.class3"
|
v-model="myel.class3"
|
||||||
filled
|
filled
|
||||||
@@ -219,115 +226,140 @@
|
|||||||
rounded
|
rounded
|
||||||
dense
|
dense
|
||||||
color="primary"
|
color="primary"
|
||||||
label="Card"
|
label="Scheda"
|
||||||
icon="fas fa-plus"
|
icon="fas fa-plus"
|
||||||
@click="addNewCard"
|
@click="addNewCard"
|
||||||
>
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<div v-for="(rec, ind) in myel.listcards" :key="ind">
|
|
||||||
<div v-if="enableEdit" class="column bordered q-ma-xs">
|
<q-tabs
|
||||||
<q-bar class="bg-primary text-white">
|
v-model="tabCard"
|
||||||
Card {{ ind + 1 }}
|
dense
|
||||||
<q-space />
|
class="text-grey"
|
||||||
<q-btn
|
active-color="primary"
|
||||||
icon="fas fa-trash-alt"
|
indicator-color="primary"
|
||||||
color="negative"
|
align="justify"
|
||||||
dense
|
narrow-indicator
|
||||||
flat
|
>
|
||||||
size="sm"
|
<q-tab
|
||||||
@click="delRecCard(rec._id, myel)"
|
v-for="(rec, ind) in myel.listcards"
|
||||||
|
:key="ind"
|
||||||
|
:name="`card` + ind"
|
||||||
|
:label="`Scheda ` + (ind + 1)"
|
||||||
|
icon="fas fa-pencil-alt"
|
||||||
|
/>
|
||||||
|
</q-tabs>
|
||||||
|
|
||||||
|
<q-tab-panels v-model="tabCard" animated>
|
||||||
|
<q-tab-panel
|
||||||
|
v-for="(rec, ind) in myel.listcards"
|
||||||
|
:key="ind"
|
||||||
|
:name="`card` + ind"
|
||||||
|
>
|
||||||
|
<div v-if="enableEdit" class="column bordered q-ma-xs">
|
||||||
|
<q-bar class="bg-primary text-white">
|
||||||
|
Card {{ ind + 1 }}
|
||||||
|
<q-space />
|
||||||
|
<q-btn
|
||||||
|
icon="fas fa-trash-alt"
|
||||||
|
color="negative"
|
||||||
|
dense
|
||||||
|
flat
|
||||||
|
size="sm"
|
||||||
|
@click="delRecCard(rec._id, myel)"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
</q-bar>
|
||||||
|
|
||||||
|
<CMyFieldRec
|
||||||
|
title="Immagine:"
|
||||||
|
table="imgcards"
|
||||||
|
:id="rec._id"
|
||||||
|
:rec="rec"
|
||||||
|
field="imagefile"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
@save="saveCard"
|
||||||
|
:canEdit="true"
|
||||||
|
:canModify="true"
|
||||||
|
:nosaveToDb="true"
|
||||||
|
:path="myel.path"
|
||||||
|
:fieldtype="costanti.FieldType.imgcard"
|
||||||
>
|
>
|
||||||
</q-btn>
|
</CMyFieldRec>
|
||||||
</q-bar>
|
|
||||||
|
|
||||||
<CMyFieldRec
|
<div v-if="enableEdit" class="row">
|
||||||
title="Immagine:"
|
<q-input
|
||||||
table="imgcards"
|
dense
|
||||||
:id="rec._id"
|
style="min-width: 150px"
|
||||||
:rec="rec"
|
label="Titolo:"
|
||||||
field="imagefile"
|
class="fa-border"
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
@save="saveCard"
|
v-model="rec.alt"
|
||||||
:canEdit="true"
|
filled
|
||||||
:canModify="true"
|
v-on:keyup.enter="saveElem"
|
||||||
:nosaveToDb="true"
|
>
|
||||||
:path="myel.path"
|
</q-input>
|
||||||
:fieldtype="costanti.FieldType.imgcard"
|
<q-input
|
||||||
>
|
dense
|
||||||
</CMyFieldRec>
|
style="min-width: 150px"
|
||||||
|
label="Style:"
|
||||||
|
class="fa-border"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
v-model="rec.style"
|
||||||
|
filled
|
||||||
|
v-on:keyup.enter="saveElem"
|
||||||
|
>
|
||||||
|
</q-input>
|
||||||
|
<CSelectColor
|
||||||
|
v-if="enableEdit"
|
||||||
|
style="min-width: 150px"
|
||||||
|
v-model="rec.color"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
title="Col Titolo"
|
||||||
|
>
|
||||||
|
</CSelectColor>
|
||||||
|
<CSelectFontSize
|
||||||
|
v-if="enableEdit"
|
||||||
|
style="min-width: 200px"
|
||||||
|
v-model="rec.size"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
title="Font Titolo"
|
||||||
|
>
|
||||||
|
</CSelectFontSize>
|
||||||
|
</div>
|
||||||
|
<CMyEditor
|
||||||
|
v-model:value="rec.content"
|
||||||
|
title="Contenuto:"
|
||||||
|
@keyup.enter.stop
|
||||||
|
:showButtons="false"
|
||||||
|
:canModify="true"
|
||||||
|
@update:value="modifElem"
|
||||||
|
@showandsave="saveElem"
|
||||||
|
>
|
||||||
|
</CMyEditor>
|
||||||
|
|
||||||
|
<q-input
|
||||||
|
label="Sottotitolo:"
|
||||||
|
class="fa-border"
|
||||||
|
dense
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
v-model="rec.description"
|
||||||
|
filled
|
||||||
|
v-on:keyup.enter="saveElem"
|
||||||
|
>
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
<div v-if="enableEdit" class="row">
|
<div v-if="enableEdit" class="row">
|
||||||
<q-input
|
|
||||||
dense
|
|
||||||
style="min-width: 100px"
|
|
||||||
label="Titolo:"
|
|
||||||
class="fa-border"
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
v-model="rec.alt"
|
|
||||||
filled
|
|
||||||
v-on:keyup.enter="saveElem"
|
|
||||||
>
|
|
||||||
</q-input>
|
|
||||||
<q-input
|
|
||||||
dense
|
|
||||||
style="min-width: 100px"
|
|
||||||
label="Style:"
|
|
||||||
class="fa-border"
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
v-model="rec.style"
|
|
||||||
filled
|
|
||||||
v-on:keyup.enter="saveElem"
|
|
||||||
>
|
|
||||||
</q-input>
|
|
||||||
<CSelectColor
|
<CSelectColor
|
||||||
v-if="enableEdit"
|
v-if="enableEdit"
|
||||||
style="min-width: 100px"
|
v-model="rec.colorsub"
|
||||||
v-model="rec.color"
|
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
title="Col Titolo"
|
title="Col Sottotitolo"
|
||||||
>
|
>
|
||||||
</CSelectColor>
|
</CSelectColor>
|
||||||
<CSelectFontSize
|
|
||||||
v-if="enableEdit"
|
|
||||||
style="min-width: 100px"
|
|
||||||
v-model="rec.size"
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
title="Font Titolo"
|
|
||||||
>
|
|
||||||
</CSelectFontSize>
|
|
||||||
</div>
|
</div>
|
||||||
<CMyEditor
|
</q-tab-panel>
|
||||||
v-model:value="rec.content"
|
</q-tab-panels>
|
||||||
title="Contenuto:"
|
|
||||||
@keyup.enter.stop
|
|
||||||
:showButtons="false"
|
|
||||||
:canModify="true"
|
|
||||||
@update:value="modifElem"
|
|
||||||
@showandsave="saveElem"
|
|
||||||
>
|
|
||||||
</CMyEditor>
|
|
||||||
|
|
||||||
<q-input
|
|
||||||
label="Sottotitolo:"
|
|
||||||
class="fa-border"
|
|
||||||
dense
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
v-model="rec.description"
|
|
||||||
filled
|
|
||||||
v-on:keyup.enter="saveElem"
|
|
||||||
>
|
|
||||||
</q-input>
|
|
||||||
</div>
|
|
||||||
<div v-if="enableEdit" class="row">
|
|
||||||
<CSelectColor
|
|
||||||
v-if="enableEdit"
|
|
||||||
v-model="rec.colorsub"
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
title="Col Sottotitolo"
|
|
||||||
>
|
|
||||||
</CSelectColor>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="myel.type === shared_consts.ELEMTYPE.MARGINI">
|
<div v-if="myel.type === shared_consts.ELEMTYPE.MARGINI">
|
||||||
@@ -477,7 +509,7 @@
|
|||||||
>
|
>
|
||||||
</q-input>
|
</q-input>
|
||||||
<CSelectColor
|
<CSelectColor
|
||||||
style="min-width: 100px"
|
style="min-width: 150px"
|
||||||
v-model="myel.color"
|
v-model="myel.color"
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
title="Col Titolo"
|
title="Col Titolo"
|
||||||
@@ -493,20 +525,20 @@
|
|||||||
>
|
>
|
||||||
</q-input>
|
</q-input>
|
||||||
<CSelectColor
|
<CSelectColor
|
||||||
style="min-width: 100px"
|
style="min-width: 150px"
|
||||||
v-model="myel.colorsub"
|
v-model="myel.colorsub"
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
title="Col Sottotitolo"
|
title="Col Sottotitolo"
|
||||||
>
|
>
|
||||||
</CSelectColor>
|
</CSelectColor>
|
||||||
</div>
|
</div>
|
||||||
<CSelectAnimation
|
<CSelectAnimation
|
||||||
v-if="enableEdit && showAnimation"
|
v-if="enableEdit && showAnimation"
|
||||||
v-model="myel.class_anim2"
|
v-model="myel.anim2"
|
||||||
@update:model-value="modifElem"
|
@update:model-value="modifElem"
|
||||||
label="Animaz SottoTitolo"
|
label="Animaz SottoTitolo"
|
||||||
>
|
>
|
||||||
</CSelectAnimation>
|
</CSelectAnimation>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-input
|
<q-input
|
||||||
label="Classe Title"
|
label="Classe Title"
|
||||||
|
|||||||
@@ -9,12 +9,24 @@
|
|||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
|
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
|
||||||
<div
|
<transition
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass() + ` `+ myel.class_anim"
|
appear
|
||||||
@click="clickOnElem"
|
enter-active-class="animated fadeIn"
|
||||||
|
leave-active-class="animated fadeOut"
|
||||||
>
|
>
|
||||||
{{ myel.container }}
|
<div
|
||||||
</div>
|
:class="
|
||||||
|
myel.class +
|
||||||
|
(editOn ? ` clEdit` : ``) +
|
||||||
|
getClass() +
|
||||||
|
` ` +
|
||||||
|
tools.getClassAnim(myel.anim)
|
||||||
|
"
|
||||||
|
@click="clickOnElem"
|
||||||
|
>
|
||||||
|
{{ myel.container }}
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="myel.type === shared_consts.ELEMTYPE.CARD"
|
v-if="myel.type === shared_consts.ELEMTYPE.CARD"
|
||||||
@@ -24,15 +36,23 @@
|
|||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
>
|
>
|
||||||
<div v-for="(rec, ind) in myel.listcards" :key="ind" >
|
<div v-for="(rec, ind) in myel.listcards" :key="ind">
|
||||||
<q-card :class="`my-card center_img bordered ` + myel.class3"
|
<q-card
|
||||||
:style="rec.style">
|
:class="`my-card center_img bordered ` + myel.class3"
|
||||||
<q-img :class="myel.class_anim" :src="tools.getImgFileByElem(myel, rec)" />
|
:style="rec.style"
|
||||||
<q-card-section>
|
>
|
||||||
|
<q-img
|
||||||
|
:class="tools.getClassAnim(myel.anim2)"
|
||||||
|
:src="tools.getImgFileByElem(myel, rec)"
|
||||||
|
/>
|
||||||
|
˛ <q-card-section>
|
||||||
<div :class="` ` + rec.size" :style="`color: ` + rec.color">
|
<div :class="` ` + rec.size" :style="`color: ` + rec.color">
|
||||||
{{ rec.alt }}
|
{{ rec.alt }}
|
||||||
</div>
|
</div>
|
||||||
<div :class="`q-mt-sm q-mb-xs ` + myel.class_anim" v-html="rec.content"></div>
|
<div
|
||||||
|
:class="`q-mt-sm q-mb-xs ` + tools.getClassAnim(myel.anim)"
|
||||||
|
v-html="rec.content"
|
||||||
|
></div>
|
||||||
<div
|
<div
|
||||||
v-if="rec.description"
|
v-if="rec.description"
|
||||||
class="text-caption"
|
class="text-caption"
|
||||||
@@ -84,7 +104,13 @@
|
|||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.TITLE">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.TITLE">
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()+ ` `+ myel.class_anim"
|
:class="
|
||||||
|
myel.class +
|
||||||
|
(editOn ? ` clEdit` : ``) +
|
||||||
|
getClass() +
|
||||||
|
` ` +
|
||||||
|
tools.getClassAnim(myel.anim)
|
||||||
|
"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
>
|
>
|
||||||
<CTitle
|
<CTitle
|
||||||
@@ -100,19 +126,26 @@
|
|||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMGTITLE">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMGTITLE">
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass() + ` `+ myel.class_anim"
|
:class="
|
||||||
|
myel.class +
|
||||||
|
(editOn ? ` clEdit` : ``) +
|
||||||
|
getClass() +
|
||||||
|
` ` +
|
||||||
|
tools.getClassAnim(myel.anim)
|
||||||
|
"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
>
|
>
|
||||||
<CImgTitle
|
<CImgTitle
|
||||||
v-if="myel.image"
|
v-if="myel.image"
|
||||||
:src="tools.getImgFileByElem(myel, rec)"
|
:src="tools.getImgFileByElem(myel)"
|
||||||
:title="myel.container"
|
:title="myel.container"
|
||||||
:legendinside="myel.container2"
|
:legendinside="myel.container2"
|
||||||
>
|
>
|
||||||
</CImgTitle>
|
</CImgTitle>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div> <div v-else-if="myel.type === shared_consts.ELEMTYPE.IMGPOSTER">
|
</div>
|
||||||
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMGPOSTER">
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||||
@@ -120,7 +153,7 @@
|
|||||||
>
|
>
|
||||||
<CImgPoster
|
<CImgPoster
|
||||||
v-if="myel.image"
|
v-if="myel.image"
|
||||||
:src="tools.getImgFileByElem(myel, rec)"
|
:src="tools.getImgFileByElem(myel)"
|
||||||
:title="myel.container"
|
:title="myel.container"
|
||||||
:myheight="myel.heightimg"
|
:myheight="myel.heightimg"
|
||||||
:colorTitle="myel.color"
|
:colorTitle="myel.color"
|
||||||
@@ -134,8 +167,8 @@
|
|||||||
:logoheight="myel.height"
|
:logoheight="myel.height"
|
||||||
:logowidth="myel.width"
|
:logowidth="myel.width"
|
||||||
:fit="myel.fit"
|
:fit="myel.fit"
|
||||||
:class_anim="myel.class_anim"
|
:anim="myel.anim"
|
||||||
:class_anim2="myel.class_anim2"
|
:anim2="myel.anim2"
|
||||||
>
|
>
|
||||||
</CImgPoster>
|
</CImgPoster>
|
||||||
</div>
|
</div>
|
||||||
@@ -144,7 +177,13 @@
|
|||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.HTML">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.HTML">
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass() + ` `+ myel.class_anim"
|
:class="
|
||||||
|
myel.class +
|
||||||
|
(editOn ? ` clEdit` : ``) +
|
||||||
|
getClass() +
|
||||||
|
` ` +
|
||||||
|
tools.getClassAnim(myel.anim)
|
||||||
|
"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
v-html="myel.containerHtml"
|
v-html="myel.containerHtml"
|
||||||
></div>
|
></div>
|
||||||
@@ -153,7 +192,13 @@
|
|||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMAGE">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMAGE">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass() + ` `+ myel.class_anim"
|
:class="
|
||||||
|
myel.class +
|
||||||
|
(editOn ? ` clEdit` : ``) +
|
||||||
|
getClass() +
|
||||||
|
` ` +
|
||||||
|
tools.getClassAnim(myel.anim)
|
||||||
|
"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
>
|
>
|
||||||
<q-img
|
<q-img
|
||||||
@@ -170,7 +215,13 @@
|
|||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMAGEUPLOAD">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMAGEUPLOAD">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass() + ` `+ myel.class_anim"
|
:class="
|
||||||
|
myel.class +
|
||||||
|
(editOn ? ` clEdit` : ``) +
|
||||||
|
getClass() +
|
||||||
|
` ` +
|
||||||
|
tools.getClassAnim(myel.anim)
|
||||||
|
"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
>
|
>
|
||||||
<q-img
|
<q-img
|
||||||
@@ -201,7 +252,7 @@
|
|||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
>
|
>
|
||||||
<div style="color: gray;">Pagina: {{myel.container}}</div>
|
<div v-if="editOn" style="color: gray">Pagina: {{ myel.container }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.PAGEINTRO">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.PAGEINTRO">
|
||||||
@@ -241,9 +292,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IMGS">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IMGS">
|
||||||
<section
|
<section class="padding_gallery bg-white text-grey-10 text-center">
|
||||||
class="padding_gallery bg-white text-grey-10 text-center"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
@@ -257,9 +306,12 @@
|
|||||||
:fit="myel.fit"
|
:fit="myel.fit"
|
||||||
:thumbnails="myel.parambool2"
|
:thumbnails="myel.parambool2"
|
||||||
infinite
|
infinite
|
||||||
:height="myel.heightimg ? myel.heightimg.toString() : tools.getheightgallery()"
|
:height="
|
||||||
|
myel.heightimg
|
||||||
|
? myel.heightimg.toString()
|
||||||
|
: tools.getheightgallery()
|
||||||
|
"
|
||||||
>
|
>
|
||||||
|
|
||||||
<q-carousel-slide
|
<q-carousel-slide
|
||||||
v-for="(rec, index) in myel.list"
|
v-for="(rec, index) in myel.list"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import MixinBase from '@/mixins/mixin-base'
|
|||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMyFieldDb',
|
name: 'CMyFieldDb',
|
||||||
|
emits: ['save'],
|
||||||
props: {
|
props: {
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -139,6 +140,11 @@ export default defineComponent({
|
|||||||
|
|
||||||
if (newval !== valinitial)
|
if (newval !== valinitial)
|
||||||
setValDb($q, props.mykey, newval, props.type, props.serv, props.table, props.mysubkey, props.id, props.indrec, props.mysubsubkey, props.specialField)
|
setValDb($q, props.mykey, newval, props.type, props.serv, props.table, props.mysubkey, props.id, props.indrec, props.mysubsubkey, props.specialField)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function save(newval: any) {
|
||||||
|
emit('save', newval)
|
||||||
}
|
}
|
||||||
|
|
||||||
function withBorder() {
|
function withBorder() {
|
||||||
@@ -155,9 +161,9 @@ export default defineComponent({
|
|||||||
if (props.mycol && props.mycol.name !== '') {
|
if (props.mycol && props.mycol.name !== '') {
|
||||||
col.value = props.mycol
|
col.value = props.mycol
|
||||||
} else {
|
} else {
|
||||||
console.log('Tab = ', props.table, 'key=', props.mykey)
|
// console.log('Tab = ', props.table, 'key=', props.mykey, 'mycolProp', props.mycol)
|
||||||
col.value = fieldsTable.getColByTable(props.table, props.mykey)
|
col.value = fieldsTable.getColByTable(props.table, props.mykey)
|
||||||
console.log('MYCOL = ', col.value)
|
// console.log('MYCOL = ', col.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -173,6 +179,7 @@ export default defineComponent({
|
|||||||
row,
|
row,
|
||||||
showandsel,
|
showandsel,
|
||||||
withBorder,
|
withBorder,
|
||||||
|
save,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
v-model:row="row"
|
v-model:row="row"
|
||||||
minuteinterval="1"
|
minuteinterval="1"
|
||||||
@showandsave="showandsel"
|
@showandsave="showandsel"
|
||||||
|
@save="save"
|
||||||
>
|
>
|
||||||
|
|
||||||
</CMyPopupEdit>
|
</CMyPopupEdit>
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ export default defineComponent({
|
|||||||
else
|
else
|
||||||
mykey.value = props.field
|
mykey.value = props.field
|
||||||
}
|
}
|
||||||
console.log('table', props.table, 'col.value', col.value, 'field', props.field, 'mykey', mykey.value)
|
// console.log('### table', props.table, 'col.value', col.value, 'field', props.field, 'mykey', mykey.value)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,13 +63,22 @@ export default defineComponent({
|
|||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
const editOn = ref(false)
|
const editOn = computed({
|
||||||
|
get (): boolean {
|
||||||
|
return !!globalStore.editOn ? globalStore.editOn : false
|
||||||
|
},
|
||||||
|
|
||||||
|
set (value: boolean) {
|
||||||
|
return globalStore.editOn = value
|
||||||
|
}
|
||||||
|
})
|
||||||
const visuEditor = ref(false)
|
const visuEditor = ref(false)
|
||||||
const addOn = ref(false)
|
const addOn = ref(false)
|
||||||
const myelemVoid = ref({ _id: objectId(), active: true, type: shared_consts.ELEMTYPE.TEXT, container: '...', path: mypathin.value } as IMyElem)
|
const myelemVoid = ref({ _id: objectId(), active: true, type: shared_consts.ELEMTYPE.TEXT, container: '...', path: mypathin.value } as IMyElem)
|
||||||
|
|
||||||
|
|
||||||
const selElem = ref(globalStore.selElem)
|
const selElem = ref(globalStore.selElem)
|
||||||
|
const site = ref(globalStore.site)
|
||||||
|
|
||||||
const myelems = computed(() => {
|
const myelems = computed(() => {
|
||||||
if (mypathin.value)
|
if (mypathin.value)
|
||||||
@@ -79,7 +88,7 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
|
|
||||||
function load() {
|
function load() {
|
||||||
// console.log('load', mypathin.value)
|
console.log('load', mypathin.value)
|
||||||
|
|
||||||
if (mypathin.value !== '') {
|
if (mypathin.value !== '') {
|
||||||
globalStore.loadPage('/' + mypathin.value, 'cmypageelem').then(ris => {
|
globalStore.loadPage('/' + mypathin.value, 'cmypageelem').then(ris => {
|
||||||
@@ -88,7 +97,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tools.isManager()) {
|
if (tools.isManager()) {
|
||||||
editOn.value = tools.getCookie('EDITPAGES', '0') === '-1' ? true : false
|
|
||||||
console.log('getcookie: ', editOn.value, mypathin.value)
|
console.log('getcookie: ', editOn.value, mypathin.value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,36 +10,28 @@
|
|||||||
>
|
>
|
||||||
</q-toggle>
|
</q-toggle>
|
||||||
|
|
||||||
<q-toggle
|
|
||||||
v-if="tools.isManager()"
|
|
||||||
v-model="visuEditor"
|
|
||||||
color="green"
|
|
||||||
@update:model-value="changeVisuDrawer(mypathin, editOn)"
|
|
||||||
icon="fas fa-pencil-alt"
|
|
||||||
>
|
|
||||||
</q-toggle>
|
|
||||||
|
|
||||||
<q-drawer
|
<q-drawer
|
||||||
v-model="visuEditor"
|
v-model="visuEditor"
|
||||||
|
v-if="selElem && editOn"
|
||||||
|
show-if-above
|
||||||
|
:breakpoint="800"
|
||||||
side="right"
|
side="right"
|
||||||
:width="350"
|
:width="tools.isMobile() ? 350 : 400"
|
||||||
:breakpoint="700"
|
|
||||||
elevated
|
elevated
|
||||||
>
|
>
|
||||||
<q-scroll-area class="fit">
|
<q-bar dense class="q-ma-xs bg-primary text-white">
|
||||||
<q-bar dense class="bg-primary text-white">
|
<q-toolbar-title> Editor </q-toolbar-title>
|
||||||
<q-toolbar-title> Editor </q-toolbar-title>
|
<q-btn
|
||||||
<q-btn
|
flat
|
||||||
flat
|
round
|
||||||
round
|
size="md"
|
||||||
color="white"
|
color="white"
|
||||||
icon="close"
|
icon="close"
|
||||||
@click="visuEditor = false"
|
@click="visuEditor = false"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
</q-bar>
|
</q-bar>
|
||||||
<CMyEditElem :myelem="selElem" :editOn="true" :path="rec.path">
|
<CMyEditElem :myelem="selElem" :editOn="true" :path="rec.path">
|
||||||
</CMyEditElem>
|
</CMyEditElem>
|
||||||
</q-scroll-area>
|
|
||||||
</q-drawer>
|
</q-drawer>
|
||||||
|
|
||||||
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
||||||
@@ -77,11 +69,11 @@
|
|||||||
<div v-for="(myelem, ind) in myelems" :key="ind">
|
<div v-for="(myelem, ind) in myelems" :key="ind">
|
||||||
<div>
|
<div>
|
||||||
<CMyElem
|
<CMyElem
|
||||||
v-if="myelem.active || editOn"
|
v-if="(myelem.active || editOn) && !!rec.path"
|
||||||
:myelem="myelem"
|
:myelem="myelem"
|
||||||
:editOn="editOn"
|
:editOn="editOn"
|
||||||
:addOn="addOn"
|
:addOn="addOn"
|
||||||
:path="rec.path"
|
:path="!!rec.path ? rec.path : ''"
|
||||||
:selElem="selElem"
|
:selElem="selElem"
|
||||||
@selElemClick="selElemClick"
|
@selElemClick="selElemClick"
|
||||||
>
|
>
|
||||||
@@ -93,7 +85,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="myelems.length === 0">
|
<div v-if="myelems.length === 0">
|
||||||
<CMyElem
|
<CMyElem
|
||||||
v-if="editOn"
|
v-if="editOn && !!rec.path"
|
||||||
:myelem="myelemVoid"
|
:myelem="myelemVoid"
|
||||||
:editOn="editOn"
|
:editOn="editOn"
|
||||||
:addOn="addOn"
|
:addOn="addOn"
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ export default defineComponent({
|
|||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
const editOn = ref(false)
|
|
||||||
const visuEditor = ref(false)
|
const visuEditor = ref(false)
|
||||||
const addOn = ref(false)
|
const addOn = ref(false)
|
||||||
const myelemVoid = ref({ _id: objectId(), active: true, type: shared_consts.ELEMTYPE.TEXT, container: '...', path: mypathin.value } as IMyElem)
|
const myelemVoid = ref({ _id: objectId(), active: true, type: shared_consts.ELEMTYPE.TEXT, container: '...', path: mypathin.value } as IMyElem)
|
||||||
|
|
||||||
|
|
||||||
const selElem = ref(globalStore.selElem)
|
const selElem = ref(globalStore.selElem)
|
||||||
|
const editOn = computed(() => globalStore.editOn)
|
||||||
|
|
||||||
const myelems = computed(() => {
|
const myelems = computed(() => {
|
||||||
if (mypathin.value)
|
if (mypathin.value)
|
||||||
@@ -86,10 +86,6 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tools.isManager()) {
|
|
||||||
editOn.value = tools.getCookie('EDITPAGES', '0') === '-1' ? true : false
|
|
||||||
console.log('getcookie: ', editOn.value, mypathin.value)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(() => props.mypath, (to: string, from: string) => {
|
watch(() => props.mypath, (to: string, from: string) => {
|
||||||
|
|||||||
@@ -1,51 +1,28 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="mypathin && !!rec">
|
<div v-if="mypathin && !!rec">
|
||||||
<q-toggle
|
|
||||||
v-if="tools.isManager()"
|
|
||||||
v-model="editOn"
|
|
||||||
color="green"
|
|
||||||
@update:model-value="changeVisuDrawer(mypathin, editOn)"
|
|
||||||
icon="fas fa-pencil-alt"
|
|
||||||
>
|
|
||||||
</q-toggle>
|
|
||||||
|
|
||||||
<q-toggle
|
|
||||||
v-if="tools.isManager()"
|
|
||||||
v-model="visuEditor"
|
|
||||||
color="green"
|
|
||||||
@update:model-value="changeVisuDrawer(mypathin, editOn)"
|
|
||||||
icon="fas fa-pencil-alt"
|
|
||||||
>
|
|
||||||
</q-toggle>
|
|
||||||
|
|
||||||
<q-drawer
|
<q-drawer
|
||||||
v-model="visuEditor"
|
v-model="visuEditor"
|
||||||
|
v-if="selElem && editOn"
|
||||||
side="right"
|
side="right"
|
||||||
:width="350"
|
:width="tools.isMobile() ? 350 : 400"
|
||||||
:breakpoint="700"
|
:breakpoint="800"
|
||||||
elevated
|
elevated
|
||||||
|
style="position: absolute; top: 0; left: 0"
|
||||||
>
|
>
|
||||||
<q-scroll-area class="fit">
|
<q-bar dense class="q-ma-xs bg-primary text-white">
|
||||||
<q-bar dense class="bg-primary text-white">
|
<q-toolbar-title> Editor </q-toolbar-title>
|
||||||
<q-toolbar-title> Editor </q-toolbar-title>
|
<q-btn
|
||||||
<q-btn
|
flat
|
||||||
flat
|
round
|
||||||
round
|
|
||||||
color="white"
|
color="white"
|
||||||
icon="close"
|
icon="close"
|
||||||
@click="
|
@click="visuEditor = false"
|
||||||
visuEditor = false;
|
></q-btn>
|
||||||
"
|
</q-bar>
|
||||||
></q-btn>
|
<CMyEditElem :myelem="selElem" :editOn="editOn" :path="rec.path">
|
||||||
</q-bar>
|
</CMyEditElem>
|
||||||
<CMyEditElem
|
|
||||||
:myelem="selElem"
|
|
||||||
:editOn="true"
|
|
||||||
:path="rec.path"
|
|
||||||
>
|
|
||||||
</CMyEditElem>
|
|
||||||
</q-scroll-area>
|
|
||||||
</q-drawer>
|
</q-drawer>
|
||||||
|
|
||||||
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
||||||
@@ -81,7 +58,6 @@
|
|||||||
<div v-if="!!rec.content4" v-html="rec.content4"></div>
|
<div v-if="!!rec.content4" v-html="rec.content4"></div>
|
||||||
|
|
||||||
<div v-for="(myelem, ind) in myelems" :key="ind">
|
<div v-for="(myelem, ind) in myelems" :key="ind">
|
||||||
|
|
||||||
<CMyElem
|
<CMyElem
|
||||||
v-if="myelem.active || editOn"
|
v-if="myelem.active || editOn"
|
||||||
:myelem="myelem"
|
:myelem="myelem"
|
||||||
@@ -120,9 +96,6 @@
|
|||||||
<CImgTitle v-if="img" :src="img" :title="title"> </CImgTitle>
|
<CImgTitle v-if="img" :src="img" :title="title"> </CImgTitle>
|
||||||
</div>
|
</div>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
<div v-if="!nofooter">
|
|
||||||
<LandingFooter></LandingFooter>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -464,7 +464,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
function SaveValueInt(newVal: any, valinitial: any) {
|
function SaveValueInt(newVal: any, valinitial: any) {
|
||||||
|
|
||||||
// console.log('SaveValueInt', newVal, valinitial)
|
console.log('SaveValueInt', newVal, valinitial)
|
||||||
|
|
||||||
if (isFieldDb()) {
|
if (isFieldDb()) {
|
||||||
savefield(newVal, valinitial, $q)
|
savefield(newVal, valinitial, $q)
|
||||||
@@ -486,8 +486,8 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
emit('save', newVal, valinitial)
|
|
||||||
}
|
}
|
||||||
|
emit('save', newVal, valinitial)
|
||||||
}
|
}
|
||||||
|
|
||||||
function savefield(value: any, initialval: any, myq: any) {
|
function savefield(value: any, initialval: any, myq: any) {
|
||||||
@@ -763,6 +763,7 @@ export default defineComponent({
|
|||||||
getTitleEditor,
|
getTitleEditor,
|
||||||
t,
|
t,
|
||||||
myrow,
|
myrow,
|
||||||
|
shared_consts,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,17 +1,20 @@
|
|||||||
import { defineComponent, onMounted, ref } from 'vue'
|
import { defineComponent, onMounted, PropType, ref } from 'vue'
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@src/store/Modules/tools'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@src/common/shared_vuejs'
|
||||||
import { emit } from 'process'
|
import { emit } from 'process'
|
||||||
|
import { IAnim } from '@src/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CSelectAnimation',
|
name: 'CSelectAnimation',
|
||||||
emits: ['update:modelValue'],
|
emits: ['update:modelValue'],
|
||||||
props: {
|
props: {
|
||||||
modelValue: {
|
modelValue: {
|
||||||
type: String,
|
type: Object as PropType<IAnim | string | undefined>,
|
||||||
required: true,
|
required: false,
|
||||||
default: '',
|
default : () => {
|
||||||
|
return {name: '', clduration: '', cldelay: ''}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
label: {
|
label: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -23,27 +26,18 @@ export default defineComponent({
|
|||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
|
|
||||||
const myclass = ref('')
|
const myclass = ref('')
|
||||||
const animType = ref('')
|
const myrec = ref(<IAnim>{name: '', clduration: '', cldelay: ''})
|
||||||
const animSpeed = ref('')
|
|
||||||
const animDelay = ref('')
|
|
||||||
|
|
||||||
function updateClass() {
|
function updateClass() {
|
||||||
|
if (typeof props.modelValue === 'object') {
|
||||||
|
myrec.value = props.modelValue
|
||||||
|
}
|
||||||
|
|
||||||
let mycl = ''
|
emit('update:modelValue', myrec.value)
|
||||||
|
|
||||||
myclass.value = 'animate__animated ' + animType.value + ' ' + animSpeed.value + ' ' + animDelay.value
|
|
||||||
|
|
||||||
emit('update:modelValue', myclass.value)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
|
updateClass()
|
||||||
const myarr = props.modelValue.split(' ')
|
|
||||||
|
|
||||||
animType.value = tools.findFirstElemInCommon(tools.SelectListAnimation, myarr)
|
|
||||||
animSpeed.value = tools.findFirstElemInCommon(tools.SelectListSpeed, myarr)
|
|
||||||
animDelay.value = tools.findFirstElemInCommon(tools.SelectListDelay, myarr)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(mounted)
|
onMounted(mounted)
|
||||||
@@ -51,9 +45,7 @@ export default defineComponent({
|
|||||||
return {
|
return {
|
||||||
tools,
|
tools,
|
||||||
updateClass,
|
updateClass,
|
||||||
animType,
|
myrec,
|
||||||
animSpeed,
|
|
||||||
animDelay,
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div v-if="!!myrec">
|
||||||
{{label}}
|
{{label}}
|
||||||
<q-select
|
<q-select
|
||||||
rounded
|
rounded
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
outlined
|
outlined
|
||||||
v-model="animType"
|
v-model="myrec.name"
|
||||||
:options="tools.SelectListAnimation"
|
:options="tools.SelectListAnimation"
|
||||||
@update:model-value="updateClass"
|
@update:model-value="updateClass"
|
||||||
dense
|
dense
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
rounded
|
rounded
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
outlined
|
outlined
|
||||||
v-model="animSpeed"
|
v-model="myrec.clduration"
|
||||||
:options="tools.SelectListSpeed"
|
:options="tools.SelectListSpeed"
|
||||||
@update:model-value="updateClass"
|
@update:model-value="updateClass"
|
||||||
dense
|
dense
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
rounded
|
rounded
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
outlined
|
outlined
|
||||||
v-model="animDelay"
|
v-model="myrec.cldelay"
|
||||||
:options="tools.SelectListDelay"
|
:options="tools.SelectListDelay"
|
||||||
@update:model-value="updateClass"
|
@update:model-value="updateClass"
|
||||||
dense
|
dense
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ export default defineComponent({
|
|||||||
const isalreadyReg = ref(false)
|
const isalreadyReg = ref(false)
|
||||||
|
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
const site = computed(() => globalStore.site)
|
||||||
|
|
||||||
const signup = reactive(<ISignupOptions>{
|
const signup = reactive(<ISignupOptions>{
|
||||||
email: process.env.TEST_EMAIL || '',
|
email: process.env.TEST_EMAIL || '',
|
||||||
@@ -329,6 +330,7 @@ export default defineComponent({
|
|||||||
showpolicy,
|
showpolicy,
|
||||||
visubuttBOT,
|
visubuttBOT,
|
||||||
isalreadyReg,
|
isalreadyReg,
|
||||||
|
site,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -254,17 +254,18 @@
|
|||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
<q-card-section class="inset-shadow">
|
<q-card-section class="inset-shadow">
|
||||||
<PagePolicy
|
<PagePolicy
|
||||||
owneremail="info@riso.app"
|
v-if="site.policy"
|
||||||
SiteName="Riso.app"
|
:owneremail="site.policy.owneremail"
|
||||||
ownerDataName="RISO"
|
:siteName="site.policy.siteName"
|
||||||
managerData="Paolo Arena"
|
:ownerDataName="site.policy.ownerDataName"
|
||||||
includeData="recapiti (indirizzo email, telefono (facoltativo))"
|
:managerData="site.policy.managerData"
|
||||||
url="riso.app"
|
:includeData="site.policy.includeData"
|
||||||
lastdataupdate="12/03/2022"
|
:url="site.policy.url"
|
||||||
country="Italia"
|
:lastdataupdate="site.policy.lastdataupdate"
|
||||||
>
|
:country="site.policy.country"
|
||||||
|
>
|
||||||
|
|
||||||
</PagePolicy>
|
</PagePolicy>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ $textcol_scuro: darkblue;
|
|||||||
|
|
||||||
.landing__footer {
|
.landing__footer {
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
||||||
background: linear-gradient(180deg, rgb(6, 31, 92) 95%, #FFF);
|
background: linear-gradient(180deg, #061f5c 95%, #FFF);
|
||||||
padding-top: 4.5rem !important;
|
padding-top: 3.5rem !important;
|
||||||
padding-bottom: 4.5rem !important;
|
padding-bottom: 3.5rem !important;
|
||||||
padding-left: 1.25rem;
|
padding-left: 1.25rem;
|
||||||
padding-right: 1.25rem;
|
padding-right: 1.25rem;
|
||||||
color: #9f9f9f;
|
color: #9f9f9f;
|
||||||
@@ -156,6 +156,18 @@ $textcol_scuro: darkblue;
|
|||||||
color: #999;
|
color: #999;
|
||||||
letter-spacing: 0.125rem;
|
letter-spacing: 0.125rem;
|
||||||
}
|
}
|
||||||
|
.mycontacts_email {
|
||||||
|
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mycontacts_cell {
|
||||||
|
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #999;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
.mycontacts_text {
|
.mycontacts_text {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
@@ -170,6 +182,7 @@ $textcol_scuro: darkblue;
|
|||||||
|
|
||||||
.footer_link:hover {
|
.footer_link:hover {
|
||||||
color:white;
|
color:white;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -180,3 +193,8 @@ $textcol_scuro: darkblue;
|
|||||||
.margin_buttons_footer > * {
|
.margin_buttons_footer > * {
|
||||||
margin: 4px 8px;
|
margin: 4px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mycontacts_address {
|
||||||
|
font-size: 1rem;
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
computed,
|
||||||
defineComponent, ref,
|
defineComponent, ref,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
|
|
||||||
@@ -27,6 +28,16 @@ export default defineComponent({
|
|||||||
|
|
||||||
const site = ref(globalStore.site)
|
const site = ref(globalStore.site)
|
||||||
|
|
||||||
|
const getBackColorText = computed(() => {
|
||||||
|
let mycol = ''
|
||||||
|
if (globalStore.site && globalStore.site.confpages?.col_bgfooter)
|
||||||
|
mycol = globalStore.site.confpages?.col_bgfooter
|
||||||
|
else
|
||||||
|
mycol = '#061f5c'
|
||||||
|
|
||||||
|
return 'linear-gradient(180deg, ' + mycol + ' 95%, #FFF)'
|
||||||
|
})
|
||||||
|
|
||||||
console.log('LandingFooter - INIT')
|
console.log('LandingFooter - INIT')
|
||||||
|
|
||||||
function TelegramSupport() {
|
function TelegramSupport() {
|
||||||
@@ -76,6 +87,7 @@ export default defineComponent({
|
|||||||
getarrValDb,
|
getarrValDb,
|
||||||
getValDb,
|
getValDb,
|
||||||
site,
|
site,
|
||||||
|
getBackColorText,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,38 +1,92 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<section v-if="site" class="landing__footer">
|
<section v-if="site && site.contacts" class="landing__footer" :style="`background: `+ getBackColorText + `!important;`">
|
||||||
<div class="row justify-between items-start q-col-gutter-xs">
|
<div class="row justify-between items-start q-col-gutter-xs">
|
||||||
<div class="col-12 col-sm-4 ">
|
<div class="col-12 col-sm-4">
|
||||||
<!--<span v-html="t('homepage.footer.description')">-->
|
<!--<span v-html="t('homepage.footer.description')">-->
|
||||||
<!--</span>-->
|
<!--</span>-->
|
||||||
|
|
||||||
<CFacebookFrame
|
<CFacebookFrame
|
||||||
myclass="text-center" :fbimage="getValDb('FBPAGE_IMG', false)"
|
v-if="getValDb('FBPAGE_IMG', false)"
|
||||||
:urlfbpage="getValDb('FBPAGE_FRAME', false)" :title="getValDb('FBPAGE_TITLE', false)">
|
myclass="text-center"
|
||||||
|
:fbimage="getValDb('FBPAGE_IMG', false)"
|
||||||
|
:urlfbpage="getValDb('FBPAGE_FRAME', false)"
|
||||||
|
:title="getValDb('FBPAGE_TITLE', false)"
|
||||||
|
>
|
||||||
</CFacebookFrame>
|
</CFacebookFrame>
|
||||||
|
|
||||||
<div class=" q-my-md">
|
<div class="">
|
||||||
<div class="landing__footer-icons row flex-center margin_buttons">
|
<div v-if="!!site.contacts && !!site.contacts.address">
|
||||||
<a v-if="!!site.contacts.facebook" :href="site.contacts.facebook" target="_blank">
|
<p class="mycontacts_title q-mt-sm">
|
||||||
<i aria-hidden="true" class="q-icon fab fa-facebook-f icon_contact links"> </i></a>
|
{{ $t('footer.titleaddress') }}
|
||||||
|
</p>
|
||||||
|
<p class="mycontacts_address">
|
||||||
|
{{ site.contacts.address }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<a v-if="!!site.contacts.instagram" :href="site.contacts.instagram" target="_blank">
|
<div class="landing__footer-icons row flex-center margin_buttons">
|
||||||
<i aria-hidden="true" class="q-icon fab fa-instagram icon_contact links"> </i></a>
|
<a
|
||||||
|
v-if="!!site.contacts.facebook"
|
||||||
|
:href="site.contacts.facebook"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
<i
|
||||||
|
aria-hidden="true"
|
||||||
|
class="q-icon fab fa-facebook-f icon_contact links"
|
||||||
|
>
|
||||||
|
</i
|
||||||
|
></a>
|
||||||
|
|
||||||
|
<a
|
||||||
|
v-if="!!site.contacts.instagram"
|
||||||
|
:href="site.contacts.instagram"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
<i
|
||||||
|
aria-hidden="true"
|
||||||
|
class="q-icon fab fa-instagram icon_contact links"
|
||||||
|
>
|
||||||
|
</i
|
||||||
|
></a>
|
||||||
|
|
||||||
<a v-if="!!TwitterPage()" :href="TwitterPage()" target="_blank">
|
<a v-if="!!TwitterPage()" :href="TwitterPage()" target="_blank">
|
||||||
<i aria-hidden="true" class="q-icon fab fa-twitter icon_contact links"> </i></a>
|
<i
|
||||||
|
aria-hidden="true"
|
||||||
|
class="q-icon fab fa-twitter icon_contact links"
|
||||||
|
>
|
||||||
|
</i
|
||||||
|
></a>
|
||||||
|
|
||||||
|
<a
|
||||||
<a v-if="!!TelegramSupport()" :href="TelegramSupport()" target="_blank">
|
v-if="!!TelegramSupport()"
|
||||||
|
:href="TelegramSupport()"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
<span class="text-h5 text-white">Supporto Tecnico: </span>
|
<span class="text-h5 text-white">Supporto Tecnico: </span>
|
||||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
|
<i
|
||||||
|
aria-hidden="true"
|
||||||
|
class="q-icon fab fa-telegram icon_contact links"
|
||||||
|
></i
|
||||||
|
></a>
|
||||||
|
|
||||||
<a v-if="!!ChatWhatsapp()" :href="ChatWhatsapp()" target="_blank">
|
<a v-if="!!ChatWhatsapp()" :href="ChatWhatsapp()" target="_blank">
|
||||||
<i aria-hidden="true" class="q-icon fab fa-whatsapp icon_contact links"></i></a>
|
<i
|
||||||
|
aria-hidden="true"
|
||||||
|
class="q-icon fab fa-whatsapp icon_contact links"
|
||||||
|
></i
|
||||||
|
></a>
|
||||||
|
|
||||||
<a v-if="!!Telegram_UsernameHttp()" :href="Telegram_UsernameHttp()" target="_blank">
|
<a
|
||||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
|
v-if="!!Telegram_UsernameHttp()"
|
||||||
|
:href="Telegram_UsernameHttp()"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
<i
|
||||||
|
aria-hidden="true"
|
||||||
|
class="q-icon fab fa-telegram icon_contact links"
|
||||||
|
></i
|
||||||
|
></a>
|
||||||
|
|
||||||
<!--<a href="" target="_blank"><i aria-hidden="true" class="q-icon fab fa-github"> </i></a>-->
|
<!--<a href="" target="_blank"><i aria-hidden="true" class="q-icon fab fa-github"> </i></a>-->
|
||||||
<!--<a href="https://twitter.com/" target="_blank"><i aria-hidden="true" class="q-icon fab fa-twitter"> </i></a>-->
|
<!--<a href="https://twitter.com/" target="_blank"><i aria-hidden="true" class="q-icon fab fa-twitter"> </i></a>-->
|
||||||
@@ -47,91 +101,154 @@
|
|||||||
|
|
||||||
<div v-if="site.contacts.map" class="text-center">
|
<div v-if="site.contacts.map" class="text-center">
|
||||||
<span v-html="getValDb('MAP_TITLE', false)"></span>
|
<span v-html="getValDb('MAP_TITLE', false)"></span>
|
||||||
<br>
|
<br />
|
||||||
<a :href="site.contacts.map" target="_blank" class="footer_link">Apri Mappa</a>
|
<a :href="site.contacts.map" target="_blank" class="footer_link"
|
||||||
|
>Apri Mappa</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--<div class="q-mt-xs copyrights">-->
|
<!--<div class="q-mt-xs copyrights">-->
|
||||||
<!--<p class="mycontacts_text" v-html="t('homepage.copyrights')"></p>-->
|
<!--<p class="mycontacts_text" v-html="t('homepage.copyrights')"></p>-->
|
||||||
<!--</div>-->
|
<!--</div>-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-sm-4">
|
<div class="col-12 col-sm-4">
|
||||||
<div class="text-center">
|
<p class="mycontacts_title q-mt-sm">{{ $t('homepage.titlecontatti') }}:</p>
|
||||||
|
<div class="text-center q-my-sm">
|
||||||
<div class="q-mt-xs mycontacts">
|
<div class="q-mt-xs mycontacts">
|
||||||
<p class="mycontacts_title">{{ $t('homepage.titlecontatti') }}</p>
|
|
||||||
|
|
||||||
<div class="mycontacts_text">
|
<div class="mycontacts_text">
|
||||||
<i
|
<div class="row margin_buttons_footer">
|
||||||
v-if="site.contacts.email" aria-hidden="true"
|
<div class="row justify-center margin_buttons_x">
|
||||||
class="q-icon fas fa-envelope q-mx-sm"></i>
|
<q-btn
|
||||||
<a :href="`mailto:` + site.contacts.email" class="links">{{
|
v-if="site.contacts.cell"
|
||||||
site.contacts.email
|
fab-mini
|
||||||
}}</a><br>
|
icon="fas fa-phone"
|
||||||
<div style="margin-bottom: 20px;"></div>
|
color="blue-grey-6"
|
||||||
|
type="a"
|
||||||
|
size="sm"
|
||||||
|
target="__blank"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="!!site.contacts.cell" class="mycontacts_cell">
|
||||||
|
{{ site.contacts.cell }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-center margin_buttons_x">
|
||||||
|
<q-btn
|
||||||
|
v-if="site.contacts.email"
|
||||||
|
fab-mini
|
||||||
|
icon="fas fa-envelope"
|
||||||
|
color="blue-grey-6"
|
||||||
|
type="a"
|
||||||
|
size="sm"
|
||||||
|
:href="tools.getemailto(site.contacts.email)"
|
||||||
|
target="__blank"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
|
<a
|
||||||
|
class="mycontacts_email"
|
||||||
|
v-if="!!site.contacts.email"
|
||||||
|
:href="tools.getemailto(site.contacts.email)"
|
||||||
|
target="_blank"
|
||||||
|
>{{ site.contacts.email }}</a
|
||||||
|
><br />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!!site.contacts.info2" class="mycontacts_email">{{site.contacts.info2}}</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div style="margin-bottom: 20px"></div>
|
||||||
<div
|
<div
|
||||||
v-for="(rec, index) in getarrValDb('CONTACTS_EMAIL_CELL', false)"
|
v-for="(rec, index) in getarrValDb(
|
||||||
|
'CONTACTS_EMAIL_CELL',
|
||||||
|
false
|
||||||
|
)"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="mycontacts_text margin_buttons_footer"
|
class="mycontacts_text margin_buttons_footer"
|
||||||
style="margin-bottom: 0;">
|
style="margin-bottom: 0"
|
||||||
<div>
|
>
|
||||||
{{ rec.name }}: {{ rec.phone }}
|
<div>{{ rec.name }}: {{ rec.phone }}</div>
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<i
|
<i
|
||||||
v-if="rec.email" aria-hidden="true"
|
v-if="rec.email"
|
||||||
class="q-icon fas fa-envelope q-ma-sm"></i> <a
|
aria-hidden="true"
|
||||||
:href="`mailto:`+ rec.email "
|
class="q-icon fas fa-envelope q-ma-sm"
|
||||||
class="links">{{ rec.email }}</a>
|
></i>
|
||||||
|
<a :href="`mailto:` + rec.email" class="links">{{
|
||||||
|
rec.email
|
||||||
|
}}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row justify-center margin_buttons_footer">
|
<div class="row justify-center margin_buttons_footer">
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="rec.email" fab-mini icon="fas fa-envelope"
|
v-if="rec.email"
|
||||||
color="blue-grey-6" type="a"
|
fab-mini
|
||||||
|
icon="fas fa-envelope"
|
||||||
|
color="blue-grey-6"
|
||||||
|
type="a"
|
||||||
size="sm"
|
size="sm"
|
||||||
:href="tools.getemailto(rec.email)" target="__blank">
|
:href="tools.getemailto(rec.email)"
|
||||||
|
target="__blank"
|
||||||
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="!!rec.wa && tools.getHttpForWhatsapp(rec.wa)" fab-mini
|
v-if="!!rec.wa && tools.getHttpForWhatsapp(rec.wa)"
|
||||||
|
fab-mini
|
||||||
icon="fab fa-whatsapp"
|
icon="fab fa-whatsapp"
|
||||||
color="green" type="a"
|
color="green"
|
||||||
|
type="a"
|
||||||
size="sm"
|
size="sm"
|
||||||
:href="tools.getHttpForWhatsapp(rec.wa)" target="__blank">
|
:href="tools.getHttpForWhatsapp(rec.wa)"
|
||||||
|
target="__blank"
|
||||||
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="tools.getHttpForTelegram(rec.usertelegram)" fab-mini
|
v-if="tools.getHttpForTelegram(rec.usertelegram)"
|
||||||
|
fab-mini
|
||||||
icon="fab fa-telegram"
|
icon="fab fa-telegram"
|
||||||
color="blue" type="a"
|
color="blue"
|
||||||
|
type="a"
|
||||||
size="sm"
|
size="sm"
|
||||||
:href="tools.getHttpForTelegram(rec.usertelegram)" target="__blank">
|
:href="tools.getHttpForTelegram(rec.usertelegram)"
|
||||||
|
target="__blank"
|
||||||
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<span v-if="getValDb('CALL_WORKING_DAYS', false)"><br>orari per chiamate:<br>
|
<span v-if="getValDb('CALL_WORKING_DAYS', false)"
|
||||||
<span v-html="getValDb('CALL_WORKING_DAYS', false)"></span></span>
|
><br />orari per chiamate:<br />
|
||||||
|
<span v-html="getValDb('CALL_WORKING_DAYS', false)"></span
|
||||||
|
></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<FormNewsletter
|
<FormNewsletter
|
||||||
v-if="static_data.functionality.SHOW_NEWSLETTER"
|
v-if="static_data.functionality.SHOW_NEWSLETTER"
|
||||||
:idwebsite="tools.appid()"
|
:idwebsite="tools.appid()"
|
||||||
:locale="toolsext.getLocale()">
|
:locale="toolsext.getLocale()"
|
||||||
|
>
|
||||||
</FormNewsletter>
|
</FormNewsletter>
|
||||||
|
|
||||||
<p class="text-center">
|
<p class="text-center">
|
||||||
<router-link v-if="static_data.functionality.SHOW_ONLY_POLICY" to="/policy" custom v-slot="{ navigate }">
|
<router-link
|
||||||
<span class="footer_link" @click="navigate" @keypress.enter="navigate" role="link">{{
|
v-if="site.policy && site.policy.show"
|
||||||
$t('privacy_policy')
|
to="/policy"
|
||||||
}}</span></router-link>
|
custom
|
||||||
|
v-slot="{ navigate }"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="footer_link"
|
||||||
|
@click="navigate"
|
||||||
|
@keypress.enter="navigate"
|
||||||
|
role="link"
|
||||||
|
>{{ $t('privacy_policy') }}</span
|
||||||
|
></router-link
|
||||||
|
>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-sm-4 q-pa-md">
|
<div class="col-12 col-sm-4 q-pa-md">
|
||||||
@@ -140,17 +257,24 @@
|
|||||||
</p>
|
</p>
|
||||||
<div v-for="(myitemmenu, ind) in static_data.routes" :key="ind">
|
<div v-for="(myitemmenu, ind) in static_data.routes" :key="ind">
|
||||||
<div v-if="myitemmenu.infooter && tools.visumenu(myitemmenu)">
|
<div v-if="myitemmenu.infooter && tools.visumenu(myitemmenu)">
|
||||||
|
|
||||||
<div v-if="myitemmenu.solotitle">
|
<div v-if="myitemmenu.solotitle">
|
||||||
<span class="footer_link">{{ tools.getLabelByItem(myitemmenu) }}</span><br/>
|
<span class="footer_link">{{
|
||||||
|
tools.getLabelByItem(myitemmenu)
|
||||||
|
}}</span
|
||||||
|
><br />
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<router-link :to="myitemmenu.path" custom v-slot="{ navigate }">
|
<router-link :to="myitemmenu.path" custom v-slot="{ navigate }">
|
||||||
<span
|
<span
|
||||||
class="footer_link" @click="navigate" @keypress.enter="navigate"
|
class="footer_link"
|
||||||
role="link"><span
|
@click="navigate"
|
||||||
v-if="myitemmenu.level_child > 0"> </span>
|
@keypress.enter="navigate"
|
||||||
{{ tools.getLabelByItem(myitemmenu) }}</span><br/>
|
role="link"
|
||||||
|
><span v-if="myitemmenu.level_child > 0"
|
||||||
|
> </span
|
||||||
|
>
|
||||||
|
{{ tools.getLabelByItem(myitemmenu) }}</span
|
||||||
|
><br />
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -158,13 +282,28 @@ class="footer_link" @click="navigate" @keypress.enter="navigate"
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<q-page-sticky v-if="site.whatsapp_home" position="bottom-right" :offset="[18, 78]">
|
<q-page-sticky
|
||||||
|
v-if="site.whatsapp_home"
|
||||||
|
position="bottom-right"
|
||||||
|
:offset="[18, 78]"
|
||||||
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
fab icon="fab fa-whatsapp" color="green" type="a" :href="ChatWhatsapp()" target="__blank"
|
fab
|
||||||
class="mybtn_sticky"/>
|
icon="fab fa-whatsapp"
|
||||||
|
color="green"
|
||||||
|
type="a"
|
||||||
|
:href="ChatWhatsapp()"
|
||||||
|
target="__blank"
|
||||||
|
class="mybtn_sticky"
|
||||||
|
/>
|
||||||
</q-page-sticky>
|
</q-page-sticky>
|
||||||
<q-page-scroller position="bottom-right" :scroll-offset="850" :offset="[18, 18]" style="opacity: 0.3">
|
<q-page-scroller
|
||||||
<q-btn fab icon="keyboard_arrow_up" color="accent"/>
|
position="bottom-right"
|
||||||
|
:scroll-offset="850"
|
||||||
|
:offset="[18, 18]"
|
||||||
|
style="opacity: 0.3"
|
||||||
|
>
|
||||||
|
<q-btn fab icon="keyboard_arrow_up" color="accent" />
|
||||||
</q-page-scroller>
|
</q-page-scroller>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ export default defineComponent({
|
|||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
const site = computed(() => globalStore.site)
|
||||||
|
|
||||||
const { getMyUsername, Username } = MixinUsers()
|
const { getMyUsername, Username } = MixinUsers()
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
@@ -42,6 +44,7 @@ export default defineComponent({
|
|||||||
getMyUsername,
|
getMyUsername,
|
||||||
Username,
|
Username,
|
||||||
tools,
|
tools,
|
||||||
|
site,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-footer
|
<q-footer
|
||||||
v-if="tools.isUserOk()"
|
v-if="tools.isUserOk() && site"
|
||||||
class="bg-white small-screen-only"
|
class="bg-white small-screen-only"
|
||||||
bordered
|
bordered
|
||||||
>
|
>
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
indicator-color="transparent"
|
indicator-color="transparent"
|
||||||
>
|
>
|
||||||
<q-route-tab
|
<q-route-tab
|
||||||
|
v-if="site.footer_mobile?.show_buttHome"
|
||||||
to="/"
|
to="/"
|
||||||
class="mylabfooter"
|
class="mylabfooter"
|
||||||
:label="$t('tabdown.home')"
|
:label="$t('tabdown.home')"
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
icon="fas fa-calendar-plus"
|
icon="fas fa-calendar-plus"
|
||||||
/>
|
/>
|
||||||
<q-route-tab
|
<q-route-tab
|
||||||
v-if="static_data.functionality.ENABLE_VIEW_PROFILE"
|
v-if="site.footer_mobile.show_profile"
|
||||||
class="mylabfooter"
|
class="mylabfooter"
|
||||||
:label="$t('tabdown.profile')"
|
:label="$t('tabdown.profile')"
|
||||||
:to="`/my/`+getMyUsername()"
|
:to="`/my/`+getMyUsername()"
|
||||||
|
|||||||
@@ -61,6 +61,25 @@ export default defineComponent({
|
|||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
const testStore = useTestStore()
|
const testStore = useTestStore()
|
||||||
|
|
||||||
|
const site = computed(() => globalStore.site)
|
||||||
|
const isfinishLoading = computed(() => globalStore.finishLoading)
|
||||||
|
|
||||||
|
const getClassColorHeader = computed(() => {
|
||||||
|
// if (tools.isTest()) return 'bg-light-blue'
|
||||||
|
// if (tools.isDebug()) return 'bg-info'
|
||||||
|
if (globalStore.site && globalStore.site.confpages?.col_toolbar)
|
||||||
|
return 'bg-' + globalStore.site.confpages?.col_toolbar
|
||||||
|
else
|
||||||
|
return 'bg-light-blue'
|
||||||
|
})
|
||||||
|
|
||||||
|
const getColorText = computed(() => {
|
||||||
|
if (globalStore.site && globalStore.site.confpages?.col_toolbar === 'white')
|
||||||
|
return 'black'
|
||||||
|
else
|
||||||
|
return 'white'
|
||||||
|
})
|
||||||
|
|
||||||
const data = ref({
|
const data = ref({
|
||||||
registration: null,
|
registration: null,
|
||||||
updateExists: false,
|
updateExists: false,
|
||||||
@@ -461,11 +480,6 @@ export default defineComponent({
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
function getClassColorHeader() {
|
|
||||||
if (tools.isTest()) return 'bg-light-blue'
|
|
||||||
if (tools.isDebug()) return 'bg-info'
|
|
||||||
return 'bg-light-blue'
|
|
||||||
}
|
|
||||||
|
|
||||||
function changecmd(value: any) {
|
function changecmd(value: any) {
|
||||||
console.log('changecmd', value)
|
console.log('changecmd', value)
|
||||||
@@ -527,6 +541,9 @@ export default defineComponent({
|
|||||||
isUserNotAuth,
|
isUserNotAuth,
|
||||||
tools,
|
tools,
|
||||||
data,
|
data,
|
||||||
|
site,
|
||||||
|
isfinishLoading,
|
||||||
|
getColorText,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<q-header reveal elevated :class="getClassColorHeader()">
|
<q-header reveal elevated :class="getClassColorHeader" :style="`color: `+ getColorText + `;`">
|
||||||
<q-toolbar
|
<q-toolbar
|
||||||
color="primary"
|
color="primary"
|
||||||
:glossy="$q.theme === 'mat'"
|
:glossy="$q.theme === 'mat'"
|
||||||
:inverted="$q.theme === 'ios'"
|
:inverted="$q.theme === 'ios'"
|
||||||
class="toolbar">
|
class="toolbar">
|
||||||
|
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
@@ -156,7 +157,7 @@
|
|||||||
side="left"
|
side="left"
|
||||||
bordered
|
bordered
|
||||||
show-if-above
|
show-if-above
|
||||||
:breakpoint="500"
|
:breakpoint="800"
|
||||||
v-model="leftDrawerOpen"
|
v-model="leftDrawerOpen"
|
||||||
:content-class="['bg-grey-1', 'q-pa-sm']"
|
:content-class="['bg-grey-1', 'q-pa-sm']"
|
||||||
:content-style="{padding: '0px'}"
|
:content-style="{padding: '0px'}"
|
||||||
@@ -171,7 +172,7 @@
|
|||||||
|
|
||||||
side="right" elevated>
|
side="right" elevated>
|
||||||
<q-btn
|
<q-btn
|
||||||
class="absolute-top-right" style="margin-right: 10px; color: white;"
|
class="absolute-top-right" :style="`margin-right: 10px; color:`+ getColorText + `;`"
|
||||||
dense flat round icon="close" @click="rightCartOpen = !rightCartOpen">
|
dense flat round icon="close" @click="rightCartOpen = !rightCartOpen">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">Carrello
|
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">Carrello
|
||||||
@@ -187,7 +188,7 @@
|
|||||||
style="height: 150px" alt="section page">
|
style="height: 150px" alt="section page">
|
||||||
</q-img>
|
</q-img>
|
||||||
<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;">
|
||||||
<div class="text-center q-ma-xs boldhigh text-white text-h7">Area Personale</div>
|
<div :class="`text-center q-ma-xs boldhigh text-`+ getColorText + ` text-h7`">Area Personale</div>
|
||||||
|
|
||||||
<q-avatar size="80px" class="center_img q-ma-md">
|
<q-avatar size="80px" class="center_img q-ma-md">
|
||||||
<q-img fit="cover" :src="getMyImg()" :alt="Username()" img-class="imgprofile" height="80px"/>
|
<q-img fit="cover" :src="getMyImg()" :alt="Username()" img-class="imgprofile" height="80px"/>
|
||||||
@@ -196,7 +197,7 @@
|
|||||||
<!--<CMyAvatar :myimg="getMyImg()"></CMyAvatar>-->
|
<!--<CMyAvatar :myimg="getMyImg()"></CMyAvatar>-->
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
class="absolute-top-right" style="margin-right: 10px; color: white;"
|
class="absolute-top-right" :style="`margin-right: 10px; color: `+ getColorText + `;`"
|
||||||
dense flat round icon="close" @click="rightDrawerOpen = !rightDrawerOpen">
|
dense flat round icon="close" @click="rightDrawerOpen = !rightDrawerOpen">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
|
|||||||
@@ -267,8 +267,8 @@ h3 {
|
|||||||
// PER VERSIONE MOBILE
|
// PER VERSIONE MOBILE
|
||||||
|
|
||||||
p {
|
p {
|
||||||
font-size: 100%; // default font size (browser 16) -> (10 62.5%)
|
// font-size: 100%; // default font size (browser 16) -> (10 62.5%)
|
||||||
font-family: "Abyssinica SIL", serif;
|
// font-family: "Abyssinica SIL", serif;
|
||||||
text-justify: auto;
|
text-justify: auto;
|
||||||
margin: 0 0 4px;
|
margin: 0 0 4px;
|
||||||
}
|
}
|
||||||
@@ -1115,6 +1115,41 @@ h3 {
|
|||||||
src: url(./fonts/walterturncoat.woff);
|
src: url(./fonts/walterturncoat.woff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Baskervville;
|
||||||
|
src: url(./fonts/Baskervville-Regular.woff);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Baskervville;
|
||||||
|
src: url(./fonts/Baskervville-Italic.woff);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-Lato {
|
||||||
|
font-family: 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-Montserrat {
|
||||||
|
font-family: 'Montserrat', 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-Verdana {
|
||||||
|
font-family: 'Verdana', 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-Baskervville {
|
||||||
|
font-family: 'Baskervville', 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-SourceSansPro {
|
||||||
|
font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-Arial {
|
||||||
|
font-family: 'Arial Black', 'Helvetica Neue', Arial, sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
.title_shadow {
|
.title_shadow {
|
||||||
font-family: WalterTurncoat, handwriting, Arial, sans-serif;
|
font-family: WalterTurncoat, handwriting, Arial, sans-serif;
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
|
|||||||
BIN
src/css/fonts/Baskervville-Italic.woff
Normal file
BIN
src/css/fonts/Baskervville-Italic.woff
Normal file
Binary file not shown.
BIN
src/css/fonts/Baskervville-Regular.woff
Normal file
BIN
src/css/fonts/Baskervville-Regular.woff
Normal file
Binary file not shown.
@@ -145,8 +145,8 @@ export interface IMyElem {
|
|||||||
class2?: string
|
class2?: string
|
||||||
class3?: string
|
class3?: string
|
||||||
class4?: string
|
class4?: string
|
||||||
class_anim?: string
|
anim?: IAnim
|
||||||
class_anim2?: string
|
anim2?: IAnim
|
||||||
styleadd?: string
|
styleadd?: string
|
||||||
list?: IImgGallery[]
|
list?: IImgGallery[]
|
||||||
listcards?: IMyCard[]
|
listcards?: IMyCard[]
|
||||||
@@ -198,17 +198,41 @@ export interface IOption {
|
|||||||
options: number
|
options: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IConfPages {
|
||||||
|
font?: string
|
||||||
|
col_toolbar?: string
|
||||||
|
col_bgfooter?: string
|
||||||
|
}
|
||||||
|
export interface IFooterMobile {
|
||||||
|
show_buttHome: boolean
|
||||||
|
show_profile: boolean
|
||||||
|
}
|
||||||
export interface IContacts {
|
export interface IContacts {
|
||||||
facebook?: string
|
facebook: string
|
||||||
instagram?: string
|
instagram: string
|
||||||
whatsapp?: string
|
whatsapp: string
|
||||||
telegram?: string
|
whatsapp_home: boolean
|
||||||
youtube?: string
|
telegram: string
|
||||||
email?: string
|
youtube: string
|
||||||
address?: string
|
email: string
|
||||||
map?: string
|
address: string
|
||||||
|
map: string
|
||||||
|
info2: string
|
||||||
|
cell: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export interface IPolicy {
|
||||||
|
show: boolean
|
||||||
|
owneremail: string
|
||||||
|
siteName: string
|
||||||
|
ownerDataName: string
|
||||||
|
managerData: string
|
||||||
|
includeData: string
|
||||||
|
url: string
|
||||||
|
lastdataupdate: string
|
||||||
|
country: string
|
||||||
|
}
|
||||||
export interface ISites {
|
export interface ISites {
|
||||||
_id?: string
|
_id?: string
|
||||||
attiva?: boolean
|
attiva?: boolean
|
||||||
@@ -230,9 +254,12 @@ export interface ISites {
|
|||||||
telegram_support_chat?: string
|
telegram_support_chat?: string
|
||||||
pathreg_add?: string
|
pathreg_add?: string
|
||||||
confsite: IOption
|
confsite: IOption
|
||||||
|
policy?: IPolicy
|
||||||
description?: string
|
description?: string
|
||||||
keywords?: string
|
keywords?: string
|
||||||
contacts?: IContacts
|
contacts?: IContacts
|
||||||
|
footer_mobile?: IFooterMobile
|
||||||
|
confpages?: IConfPages
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface INewsToSent {
|
export interface INewsToSent {
|
||||||
@@ -1070,3 +1097,8 @@ export interface IAccount {
|
|||||||
totTransato: number
|
totTransato: number
|
||||||
regulation_ok: boolean
|
regulation_ok: boolean
|
||||||
}
|
}
|
||||||
|
export interface IAnim {
|
||||||
|
name: string,
|
||||||
|
clduration: string,
|
||||||
|
cldelay: string,
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
import { defineComponent } from 'vue'
|
import { defineComponent, computed } from 'vue'
|
||||||
import { PagePolicy } from '../../components/PagePolicy'
|
import { PagePolicy } from '../../components/PagePolicy'
|
||||||
|
import { useUserStore } from '@src/store/UserStore'
|
||||||
|
import { useGlobalStore } from '@src/store/globalStore'
|
||||||
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@@ -8,7 +10,13 @@ export default defineComponent({
|
|||||||
components: { PagePolicy },
|
components: { PagePolicy },
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
const site = computed(() => globalStore.site)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
site
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-page class="">
|
<q-page class="">
|
||||||
<div class="landing">
|
<div v-if="site" class="landing">
|
||||||
|
|
||||||
<PagePolicy
|
<PagePolicy
|
||||||
owneremail="info@riso.app"
|
:owneremail="site.policy.owneremail"
|
||||||
SiteName="Riso.app"
|
:siteName="site.policy.siteName"
|
||||||
ownerDataName="RISO"
|
:ownerDataName="site.policy.ownerDataName"
|
||||||
managerData="Paolo Arena"
|
:managerData="site.policy.managerData"
|
||||||
includeData="recapiti (indirizzo email, telefono (facoltativo))"
|
:includeData="site.policy.includeData"
|
||||||
url="riso.app"
|
:url="site.policy.url"
|
||||||
lastdataupdate="12/03/2022"
|
:lastdataupdate="site.policy.lastdataupdate"
|
||||||
country="Italia"
|
:country="site.policy.country"
|
||||||
>
|
>
|
||||||
|
|
||||||
</PagePolicy>
|
</PagePolicy>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import { CMyFieldDb } from '@/components/CMyFieldDb'
|
|||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
|
import { tools } from '@src/store/Modules/tools'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'Confsite',
|
name: 'Confsite',
|
||||||
@@ -24,12 +25,34 @@ export default defineComponent({
|
|||||||
mysite.value = await globalStore.caricaTabella('sites', process.env.APP_ID!)
|
mysite.value = await globalStore.caricaTabella('sites', process.env.APP_ID!)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function save(newval: any) {
|
||||||
|
console.log('ConfSite save')
|
||||||
|
tools.updateFonts(newval)
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveCol(mycol: any) {
|
||||||
|
if (globalStore.site?.confpages) {
|
||||||
|
globalStore.site.confpages.col_toolbar = mycol
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveBgCol(mycol: any) {
|
||||||
|
if (globalStore.site?.confpages) {
|
||||||
|
globalStore.site.confpages.col_bgfooter = mycol
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(mounted)
|
onMounted(mounted)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mysite,
|
mysite,
|
||||||
costanti,
|
costanti,
|
||||||
tab,
|
tab,
|
||||||
|
tools,
|
||||||
|
save,
|
||||||
|
saveCol,
|
||||||
|
saveBgCol,
|
||||||
|
globalStore,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
mykey="active"
|
mykey="active"
|
||||||
:id="mysite._id"
|
:id="mysite._id"
|
||||||
:rec="mysite"
|
:rec="mysite"
|
||||||
|
:type="costanti.FieldType.boolean"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
|
|
||||||
@@ -42,6 +43,7 @@
|
|||||||
:rec="mysite"
|
:rec="mysite"
|
||||||
mykey="name"
|
mykey="name"
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
|
|
||||||
@@ -70,6 +72,9 @@
|
|||||||
<q-tabs v-model="tab" inline-label class="bg-yellow shadow-2">
|
<q-tabs v-model="tab" inline-label class="bg-yellow shadow-2">
|
||||||
<q-tab name="server" label="Server" icon="mail" />
|
<q-tab name="server" label="Server" icon="mail" />
|
||||||
<q-tab name="contacts" label="Contatti" icon="mail" />
|
<q-tab name="contacts" label="Contatti" icon="mail" />
|
||||||
|
<q-tab name="pages" label="Pagine" icon="doc" />
|
||||||
|
<q-tab name="footer" label="Footer" icon="doc" />
|
||||||
|
<q-tab name="policy" label="Policy" icon="doc" />
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
|
|
||||||
<q-tab-panels v-model="tab" animated>
|
<q-tab-panels v-model="tab" animated>
|
||||||
@@ -96,6 +101,28 @@
|
|||||||
:type="costanti.FieldType.string"
|
:type="costanti.FieldType.string"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
title="Cell"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="contacts"
|
||||||
|
mysubkey="cell"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
title="Info2"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="contacts"
|
||||||
|
mysubkey="info2"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
<CMyFieldDb
|
<CMyFieldDb
|
||||||
table="sites"
|
table="sites"
|
||||||
title="Whatsapp"
|
title="Whatsapp"
|
||||||
@@ -208,48 +235,214 @@
|
|||||||
>
|
>
|
||||||
</CMyFieldRec>
|
</CMyFieldRec>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="pages">
|
||||||
|
<CMyFieldDb
|
||||||
|
title="Font"
|
||||||
|
table="sites"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="confpages"
|
||||||
|
mysubkey="font"
|
||||||
|
debounce="1000"
|
||||||
|
@save="save"
|
||||||
|
jointable="fonts_installed"
|
||||||
|
:type="costanti.FieldType.select"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
title="Colore Barra"
|
||||||
|
table="sites"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="confpages"
|
||||||
|
mysubkey="col_toolbar"
|
||||||
|
debounce="1000"
|
||||||
|
@save="saveCol"
|
||||||
|
:type="costanti.FieldType.color"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
title="Colore Sfondo Footer"
|
||||||
|
table="sites"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="confpages"
|
||||||
|
mysubkey="col_bgfooter"
|
||||||
|
debounce="1000"
|
||||||
|
@save="saveBgCol"
|
||||||
|
:type="costanti.FieldType.color"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="footer">
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
title="Mostra Bottone Home"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="footer_mobile"
|
||||||
|
mysubkey="show_buttHome"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.boolean"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
title="Mostra Bottone Profilo"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="footer_mobile"
|
||||||
|
mysubkey="show_profile"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.boolean"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="policy">
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.show')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="show"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.boolean"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.owneremail')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="owneremail"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.siteName')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="siteName"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.ownerDataName')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="ownerDataName"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.managerData')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="managerData"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.includeData')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="includeData"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.url')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="url"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.lastdataupdate')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="lastdataupdate"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
<CMyFieldDb
|
||||||
|
table="sites"
|
||||||
|
:title="$t('policy.country')"
|
||||||
|
:id="mysite._id"
|
||||||
|
:rec="mysite"
|
||||||
|
mykey="policy"
|
||||||
|
mysubkey="country"
|
||||||
|
debounce="1000"
|
||||||
|
:type="costanti.FieldType.string"
|
||||||
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
</q-tab-panel>
|
||||||
</q-tab-panels>
|
</q-tab-panels>
|
||||||
|
|
||||||
<CMyFieldDb
|
<div v-if="false">
|
||||||
title="BOT Telegram"
|
<CMyFieldDb
|
||||||
mykey="TELEG_BOT_LINK"
|
title="BOT Telegram"
|
||||||
:serv="false"
|
mykey="TELEG_BOT_LINK"
|
||||||
:type="costanti.FieldType.string"
|
:serv="false"
|
||||||
>
|
:type="costanti.FieldType.string"
|
||||||
</CMyFieldDb>
|
>
|
||||||
|
</CMyFieldDb>
|
||||||
|
|
||||||
<CMyFieldDb
|
<CMyFieldDb
|
||||||
title="Nome del BOT Telegram"
|
title="Nome del BOT Telegram"
|
||||||
mykey="TELEG_BOT_NAME"
|
mykey="TELEG_BOT_NAME"
|
||||||
:serv="false"
|
:serv="false"
|
||||||
:type="costanti.FieldType.string"
|
:type="costanti.FieldType.string"
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
<CMyFieldDb
|
<CMyFieldDb
|
||||||
title="BOT Telegram (per Test)"
|
title="BOT Telegram (per Test)"
|
||||||
mykey="TELEG_BOT_LINK_TEST"
|
mykey="TELEG_BOT_LINK_TEST"
|
||||||
:serv="false"
|
:serv="false"
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
:type="costanti.FieldType.string"
|
:type="costanti.FieldType.string"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
<CMyFieldDb
|
<CMyFieldDb
|
||||||
title="Chat di Supporto (Help)"
|
title="Chat di Supporto (Help)"
|
||||||
mykey="TELEGRAM_SUPPORT"
|
mykey="TELEGRAM_SUPPORT"
|
||||||
:serv="false"
|
:serv="false"
|
||||||
:type="costanti.FieldType.string"
|
:type="costanti.FieldType.string"
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
<CMyFieldDb
|
<CMyFieldDb
|
||||||
title="Sito ONLINE"
|
title="Sito ONLINE"
|
||||||
mykey="SITO_ONLINE"
|
mykey="SITO_ONLINE"
|
||||||
:serv="false"
|
:serv="false"
|
||||||
:type="costanti.FieldType.boolean"
|
:type="costanti.FieldType.boolean"
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</CMyPage>
|
</CMyPage>
|
||||||
|
|||||||
@@ -1280,6 +1280,21 @@ const msg_it = {
|
|||||||
class: 'class',
|
class: 'class',
|
||||||
styleadd: 'styleadd',
|
styleadd: 'styleadd',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
footer: {
|
||||||
|
titleaddress: 'Indirizzo:',
|
||||||
|
},
|
||||||
|
policy: {
|
||||||
|
show: 'Mostra la Policy',
|
||||||
|
owneremail: 'Proprietario Email',
|
||||||
|
siteName: 'Nome Sito',
|
||||||
|
ownerDataName: 'Nome del Proprietario dei Dati',
|
||||||
|
managerData: 'Responsabile trattamento e protezione dati',
|
||||||
|
includeData: 'Dati inclusi',
|
||||||
|
url: 'URL',
|
||||||
|
lastdataupdate: 'Data ultimo Aggiornamento',
|
||||||
|
country: 'Paese',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -289,6 +289,7 @@ export const costanti = {
|
|||||||
label: 14000,
|
label: 14000,
|
||||||
currency: 15000,
|
currency: 15000,
|
||||||
cards: 16000,
|
cards: 16000,
|
||||||
|
color: 17000,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1465,6 +1465,61 @@ export const colTableSites = [
|
|||||||
fieldtype: costanti.FieldType.binary,
|
fieldtype: costanti.FieldType.binary,
|
||||||
jointable: 'confsite_opt',
|
jointable: 'confsite_opt',
|
||||||
}),
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.show',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'show',
|
||||||
|
label_trans: 'policy.show',
|
||||||
|
fieldtype: costanti.FieldType.boolean,
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.owneremail',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'owneremail',
|
||||||
|
label_trans: 'policy.owneremail',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.SiteName',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'SiteNameow',
|
||||||
|
label_trans: 'policy.SiteName',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.ownerDataName',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'ownerDataName',
|
||||||
|
label_trans: 'policy.ownerDataName',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.managerData',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'managerData',
|
||||||
|
label_trans: 'policy.managerData',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.includeData',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'includeData',
|
||||||
|
label_trans: 'policy.includeData',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.url',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'url',
|
||||||
|
label_trans: 'policy.url',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.lastdataupdate',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'lastdataupdate',
|
||||||
|
label_trans: 'policy.lastdataupdate',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'policy.country',
|
||||||
|
field: 'policy',
|
||||||
|
subfield: 'country',
|
||||||
|
label_trans: 'policy.country',
|
||||||
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'contacts.facebook',
|
name: 'contacts.facebook',
|
||||||
field: 'contacts',
|
field: 'contacts',
|
||||||
@@ -1497,6 +1552,18 @@ export const colTableSites = [
|
|||||||
subfield: 'telegram',
|
subfield: 'telegram',
|
||||||
label_trans: 'reg.telegram',
|
label_trans: 'reg.telegram',
|
||||||
}),
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'contacts.info2',
|
||||||
|
field: 'contacts',
|
||||||
|
subfield: 'info2',
|
||||||
|
label_trans: 'reg.info2',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'contacts.cell',
|
||||||
|
field: 'contacts',
|
||||||
|
subfield: 'cell',
|
||||||
|
label_trans: 'reg.cell',
|
||||||
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'contacts.email',
|
name: 'contacts.email',
|
||||||
field: 'contacts',
|
field: 'contacts',
|
||||||
@@ -1515,6 +1582,42 @@ export const colTableSites = [
|
|||||||
subfield: 'map',
|
subfield: 'map',
|
||||||
label_trans: 'reg.map',
|
label_trans: 'reg.map',
|
||||||
}),
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'confpages.font',
|
||||||
|
field: 'confpages',
|
||||||
|
subfield: 'font',
|
||||||
|
label_trans: 'confpages.font',
|
||||||
|
fieldtype: costanti.FieldType.select,
|
||||||
|
jointable: 'fonts_installed',
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'confpages.col_toolbar',
|
||||||
|
field: 'confpages',
|
||||||
|
subfield: 'col_toolbar',
|
||||||
|
label_trans: 'confpages.col_toolbar',
|
||||||
|
fieldtype: costanti.FieldType.string,
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'confpages.col_bgfooter',
|
||||||
|
field: 'confpages',
|
||||||
|
subfield: 'col_bgfooter',
|
||||||
|
label_trans: 'confpages.col_bgfooter',
|
||||||
|
fieldtype: costanti.FieldType.string,
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'footer_mobile.show_buttHome',
|
||||||
|
field: 'footer_mobile',
|
||||||
|
subfield: 'show_buttHome',
|
||||||
|
label_trans: 'reg.show_buttHome',
|
||||||
|
fieldtype: costanti.FieldType.boolean,
|
||||||
|
}),
|
||||||
|
AddCol({
|
||||||
|
name: 'footer_mobile.whatsapp',
|
||||||
|
field: 'footer_mobile',
|
||||||
|
subfield: 'show_profile',
|
||||||
|
label_trans: 'reg.show_profile',
|
||||||
|
fieldtype: costanti.FieldType.boolean,
|
||||||
|
}),
|
||||||
AddCol(DeleteRec),
|
AddCol(DeleteRec),
|
||||||
AddCol(DuplicateRec),
|
AddCol(DuplicateRec),
|
||||||
]
|
]
|
||||||
@@ -3209,6 +3312,15 @@ export const fieldsTable = {
|
|||||||
colicon: 'icon',
|
colicon: 'icon',
|
||||||
noshow: true,
|
noshow: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 'fonts_installed',
|
||||||
|
label: 'Font Installati',
|
||||||
|
columns: colTableGeneric,
|
||||||
|
colkey: 'value',
|
||||||
|
collabel: 'label',
|
||||||
|
colicon: 'icon',
|
||||||
|
noshow: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 'users',
|
value: 'users',
|
||||||
label: 'Utenti',
|
label: 'Utenti',
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
ITodo,
|
ITodo,
|
||||||
IUserFields,
|
IUserFields,
|
||||||
Privacy,
|
Privacy,
|
||||||
TipoVisu, IGroup, IMySkill, IMyBacheca, IImgGallery, IMsgGlobParam, IUserExport, ISpecialField, IAccount, IMyCircuit, ISendCoin, IMovement, IMovVisu, INotif, IMyElem, IMyCard, ILabelValue, ILabelValueStr,
|
TipoVisu, IGroup, IMySkill, IMyBacheca, IImgGallery, IMsgGlobParam, IUserExport, ISpecialField, IAccount, IMyCircuit, ISendCoin, IMovement, IMovVisu, INotif, IMyElem, IMyCard, ILabelValue, ILabelValueStr, IAnim,
|
||||||
} from '@model'
|
} from '@model'
|
||||||
|
|
||||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||||
@@ -621,6 +621,10 @@ export const tools = {
|
|||||||
label: '[Nessuna]',
|
label: '[Nessuna]',
|
||||||
value: '',
|
value: '',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'Delay 1s',
|
||||||
|
value: 'animate__delay-1s',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'Delay 2s',
|
label: 'Delay 2s',
|
||||||
value: 'animate__delay-2s',
|
value: 'animate__delay-2s',
|
||||||
@@ -690,6 +694,10 @@ export const tools = {
|
|||||||
label: 'slideOut Down',
|
label: 'slideOut Down',
|
||||||
value: 'animate__slideOutDown',
|
value: 'animate__slideOutDown',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'zoomIn',
|
||||||
|
value: 'animate__zoomIn',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'zoomIn Left',
|
label: 'zoomIn Left',
|
||||||
value: 'animate__zoomInLeft',
|
value: 'animate__zoomInLeft',
|
||||||
@@ -722,6 +730,10 @@ export const tools = {
|
|||||||
label: 'zoomOut Down',
|
label: 'zoomOut Down',
|
||||||
value: 'animate__zoomOutDown',
|
value: 'animate__zoomOutDown',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'FadeIn',
|
||||||
|
value: 'animate__fadeIn',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'FadeIn Left',
|
label: 'FadeIn Left',
|
||||||
value: 'animate__fadeInLeft',
|
value: 'animate__fadeInLeft',
|
||||||
@@ -7148,7 +7160,38 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
}
|
},
|
||||||
|
|
||||||
|
updateFonts(newval?: string) {
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
if (newval) {
|
||||||
|
if (globalStore.site && globalStore.site.confpages)
|
||||||
|
globalStore.site.confpages.font = newval
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let myfont of shared_consts.FontsInstalled) {
|
||||||
|
document.body.classList.remove(myfont.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (globalStore.site?.confpages && globalStore.site.confpages.font) {
|
||||||
|
document.body.classList.add(globalStore.site.confpages.font)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getClassAnim(myanim: IAnim) {
|
||||||
|
let mycl = ''
|
||||||
|
if (myanim)
|
||||||
|
mycl = (!!myanim.name ? myanim.name : '') + ' ' + (!!myanim.clduration ? myanim.clduration : '') + ' ' + (!!myanim.cldelay ? myanim.cldelay : '')
|
||||||
|
else
|
||||||
|
mycl = ''
|
||||||
|
|
||||||
|
if (mycl)
|
||||||
|
return 'animate__animated ' + mycl
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
// getLocale() {
|
// getLocale() {
|
||||||
// if (navigator.languages && navigator.languages.length > 0) {
|
// if (navigator.languages && navigator.languages.length > 0) {
|
||||||
|
|||||||
@@ -961,7 +961,8 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
if (isLogged) {
|
if (isLogged) {
|
||||||
// console.log('this.isLogged', this.isLogged)
|
// console.log('this.isLogged', this.isLogged)
|
||||||
|
|
||||||
// globalStore.setleftDrawerOpen(localStorage.getItem(toolsext.localStorage.leftDrawerOpen) === 'true')
|
if (!tools.isMobile)
|
||||||
|
globalStore.setleftDrawerOpen(localStorage.getItem(toolsext.localStorage.leftDrawerOpen) === 'true')
|
||||||
globalStore.setCategorySel(localStorage.getItem(toolsext.localStorage.categorySel))
|
globalStore.setCategorySel(localStorage.getItem(toolsext.localStorage.categorySel))
|
||||||
|
|
||||||
globalStore.checkUpdates()
|
globalStore.checkUpdates()
|
||||||
@@ -1085,7 +1086,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
if (loadstorage) {
|
if (loadstorage) {
|
||||||
|
|
||||||
if ($q.screen.gt.sm) {
|
if ($q.screen.gt.sm) {
|
||||||
globalStore.setleftDrawerOpen(true)
|
// globalStore.setleftDrawerOpen(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (toolsext.getLocale() !== '') {
|
/*if (toolsext.getLocale() !== '') {
|
||||||
|
|||||||
@@ -137,6 +137,9 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
confsite: {
|
confsite: {
|
||||||
options: 0
|
options: 0
|
||||||
},
|
},
|
||||||
|
confpages: {
|
||||||
|
font: ''
|
||||||
|
},
|
||||||
},
|
},
|
||||||
provinces: [],
|
provinces: [],
|
||||||
mygroups: [],
|
mygroups: [],
|
||||||
@@ -1637,6 +1640,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
else if (table === 'visibilGroup') myarr = shared_consts.VisibilGroup
|
else if (table === 'visibilGroup') myarr = shared_consts.VisibilGroup
|
||||||
else if (table === 'statuscircuit') myarr = shared_consts.StatusCircuit
|
else if (table === 'statuscircuit') myarr = shared_consts.StatusCircuit
|
||||||
else if (table === 'elemtypes') myarr = shared_consts.TypesElem
|
else if (table === 'elemtypes') myarr = shared_consts.TypesElem
|
||||||
|
else if (table === 'fonts_installed') myarr = shared_consts.FontsInstalled
|
||||||
else if (table === 'lang') myarr = shared_consts.Lang
|
else if (table === 'lang') myarr = shared_consts.Lang
|
||||||
else if (table === 'regions') myarr = shared_consts.Regions
|
else if (table === 'regions') myarr = shared_consts.Regions
|
||||||
else if (table === 'shippings') myarr = shared_consts.Shippings
|
else if (table === 'shippings') myarr = shared_consts.Shippings
|
||||||
|
|||||||
Reference in New Issue
Block a user