This commit is contained in:
Surya Paolo
2024-11-02 19:25:47 +01:00
parent 1c63b5346b
commit a46b988440
10 changed files with 192 additions and 7184956 deletions

View File

@@ -373,7 +373,6 @@ export default defineComponent({
const scrollTargetId = 'carousel-scroll-target'
const newRecordBool = ref(false)
const newRecordBoolOld = ref(false)
const editRecordBool = ref(false)
const newRecord = ref(<any>{})
const recSaved = ref(<any>{})
@@ -2771,7 +2770,6 @@ export default defineComponent({
exportTable,
showNotification,
editOn,
newRecordBoolOld,
showSpin,
userStore,
doSort,

View File

@@ -1352,7 +1352,7 @@
v-model="newRecordBool"
@hide="hidewindow"
class="dialog_class"
permanent
:persistent="true"
:maximized="false"
>
<q-card class="dialog_card">
@@ -1423,80 +1423,6 @@
</q-card-actions>
</q-card>
</q-dialog>
<q-dialog
v-model="newRecordBoolOld"
@hide="hidewindow"
:maximized="$q.screen.lt.sm"
permanent
>
<q-card class="dialog_card">
<q-bar dense class="bg-primary text-white">
Nuovo {{ mytitle }}:
<q-space />
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
</q-bar>
<q-card-section class="inset-shadow">
<div
:class="$q.screen.lt.sm ? `` : `row` + ` text-blue `"
v-for="col in mycolumns"
:key="col.name"
>
<!--<div class="text-center q-my-xs" v-if="(col.fieldtype === costanti.FieldType.separator)">
<q-btn color="primary" size="md" dense :icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
label="Campi Avanzati" @click="showfilteradv = !showfilteradv"></q-btn>
</div>-->
<div
v-if="
showColCheck(
col,
tools.TIPOVIS_NEW_RECORD,
true,
0,
newRecord
) && col.foredit
"
>
<div class="">
<CMyPopupEdit
:table="mytable"
:canEdit="true"
:canModify="true"
:mycol="col"
v-model:row="newRecord"
:field="col.field"
:subfield="col.subfield"
:tablesel="col.tablesel"
:value_extra="getValueExtra(col, newRecord)"
:isInModif="true"
minuteinterval="1"
:visulabel="true"
:insertMode="true"
@save="SaveValue"
@show="selItem(newRecord, col)"
@showandsave="showandsave"
>
</CMyPopupEdit>
</div>
</div>
</div>
</q-card-section>
<q-card-actions align="center">
<q-btn
:label="t('dialog.save')"
color="primary"
@click="saveNewRecord"
></q-btn>
<q-btn
flat
:label="t('dialog.cancel')"
color="primary"
v-close-popup
@click="annulla"
></q-btn>
</q-card-actions>
</q-card>
</q-dialog>
<q-dialog
v-model="editRecordBool"
@hide="hidewindow"

View File

@@ -290,7 +290,7 @@
v-model="newRecordBool"
@hide="hidewindow"
:maximized="$q.screen.lt.sm"
permanent
:persistent="true"
>
<q-card class="dialog_card">
<q-bar dense class="bg-primary text-white">
@@ -360,80 +360,6 @@
</q-card-actions>
</q-card>
</q-dialog>
<q-dialog
v-model="newRecordBoolOld"
@hide="hidewindow"
:maximized="$q.screen.lt.sm"
permanent
>
<q-card class="dialog_card">
<q-bar dense class="bg-primary text-white">
Nuovo {{ mytitle }}:
<q-space />
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
</q-bar>
<q-card-section class="inset-shadow">
<div
:class="$q.screen.lt.sm ? `` : `row` + ` text-blue `"
v-for="col in mycolumns"
:key="col.name"
>
<!--<div class="text-center q-my-xs" v-if="(col.fieldtype === costanti.FieldType.separator)">
<q-btn color="primary" size="md" dense :icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
label="Campi Avanzati" @click="showfilteradv = !showfilteradv"></q-btn>
</div>-->
<div
v-if="
showColCheck(
col,
tools.TIPOVIS_NEW_RECORD,
true,
0,
newRecord
) && col.foredit
"
>
<div class="">
<CMyPopupEdit
:table="mytable"
:canEdit="true"
:canModify="true"
:mycol="col"
v-model:row="newRecord"
:field="col.field"
:subfield="col.subfield"
:tablesel="col.tablesel"
:value_extra="getValueExtra(col, newRecord)"
:isInModif="true"
minuteinterval="1"
:visulabel="true"
:insertMode="true"
@save="SaveValue"
@show="selItem(newRecord, col)"
@showandsave="showandsave"
>
</CMyPopupEdit>
</div>
</div>
</div>
</q-card-section>
<q-card-actions align="center">
<q-btn
:label="$t('dialog.save')"
color="primary"
@click="saveNewRecord"
></q-btn>
<q-btn
flat
:label="$t('dialog.cancel')"
color="primary"
v-close-popup
@click="annulla"
></q-btn>
</q-card-actions>
</q-card>
</q-dialog>
<q-dialog
v-model="editRecordBool"
@hide="hidewindow"

View File

@@ -371,7 +371,8 @@
</q-item>
<q-item v-if="myrec.descr">
<q-item-section>
<q-item-label class="text-h7">{{ myrec.descr }}</q-item-label>
<q-item-label v-if="table === shared_consts.TABLES_MYBACHECAS" class="text-h6 text-bold">{{ myrec.descr }}</q-item-label>
<q-item-label v-else class="text-h7">{{ myrec.descr }}</q-item-label>
</q-item-section>
</q-item>
<q-item
@@ -536,6 +537,36 @@
></div
></q-item-label>
<q-item
v-if="
myrec.mycities &&
myrec.mycities.length > 0 &&
myrec.mycities[0].comune
"
>
<q-item-section avatar>
<q-icon color="amber" name="fas fa-map-marker-alt" />
</q-item-section>
<q-item-section>
<q-item-label>
<div v-if="myrec.address">
{{ myrec.address }}
</div>
<span
v-for="(city, index) in myrec.mycities"
:key="index"
>
<span v-if="city.comune">
{{ city.comune }} ({{ city.prov }})</span
><span v-if="myrec.mycities.length > 1"> - </span>
</span>
</q-item-label>
<q-item-label v-if="myrec.profile.qualifica" caption>{{
myrec.biografia
}}</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-if="table === 'mybachecas'">
<q-item-section avatar>
<q-icon color="green" name="fas fa-house-user" />
@@ -598,23 +629,20 @@
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-if="table === 'mybachecas' && myrec.contact_email"
>
<q-item clickable v-if="myrec.contact_email">
<q-item-section avatar>
<q-icon color="blue" name="fas fa-mail-bulk" />
</q-item-section>
<q-item-section>
<q-item-label lines="1">
<CLabel
v-bind="$attrs"
:copy="true"
:value="myrec.contact_email"
:label="$t('event.contact_email')"
/>
</q-item-label>
{{$t('event.contact_email')}}:
<span
v-html="
tools.getlinkEmailTo(
myrec.contact_email)
"
/></q-item-label>
</q-item-section>
</q-item>
<q-item
@@ -627,45 +655,17 @@
<q-item-section>
<q-item-label lines="1">
{{ $t('msgs.telegrammsg') }}:
<a
:href="tools.getHttpForTelegram(myrec.contact_telegram)"
target="_blank"
>{{ $t('msgs.telegrammsg') }}: @{{
>@{{
myrec.contact_telegram
}}
</a>
</q-item-label>
</q-item-section>
</q-item>
<q-item
v-if="
myrec.mycities &&
myrec.mycities.length > 0 &&
myrec.mycities[0].comune
"
>
<q-item-section avatar>
<q-icon color="amber" name="fas fa-map-marker-alt" />
</q-item-section>
<q-item-section>
<q-item-label>
<div v-if="myrec.address">
{{ myrec.address }}
</div>
<span
v-for="(city, index) in myrec.mycities"
:key="index"
>
<span v-if="city.comune">
{{ city.comune }} ({{ city.prov }})</span
><span v-if="myrec.mycities.length > 1"> - </span>
</span>
</q-item-label>
<q-item-label v-if="myrec.profile.qualifica" caption>{{
myrec.biografia
}}</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-if="

View File

@@ -109,10 +109,13 @@ export default defineComponent({
// console.log('load', mypathin.value)
if (mypathin.value !== '') {
await globalStore.loadPage('/' + mypathin.value, 'cmypageelem').then(ris => {
rec.value = ris
// console.log('LoadPage', ris)
})
onloading.value = true
await globalStore.loadPage('/' + mypathin.value, 'cmypageelem')
.then(ris => {
rec.value = ris
// console.log('LoadPage', ris)
})
onloading.value = false
}
if (mypathin.value === 'home_logout' && globalStore.site.name === 'local' && !rec.value) {

View File

@@ -1,105 +1,123 @@
<template>
<div>
<div v-if="mypathin && !!rec && !onloading">
<q-toggle
v-if="tools.isManager()"
v-model="editOn"
dense
color="green"
size="sm"
@update:model-value="changeVisuDrawer(mypathin, editOn)"
icon="fas fa-pencil-alt"
>
</q-toggle>
<div v-if="mypathin && !!rec">
<q-inner-loading id="spinner" :showing="onloading">
<q-spinner-tail color="primary" size="4em"> </q-spinner-tail>
</q-inner-loading>
<q-drawer
v-model="visuEditor"
v-if="selElem && editOn"
show-if-above
:breakpoint="350"
side="right"
:width="tools.isMobile() ? 350 : mywidthEditor"
elevated
style="transition: 'width 0.3s ease'"
>
<q-bar dense class="q-ma-xs bg-primary text-white">
<q-toolbar-title> Editor </q-toolbar-title>
<q-btn
flat
round
size="md"
color="white"
icon="close"
@click="
visuEditor = false;
selElem = {};
"
></q-btn>
</q-bar>
<CMyEditElem
:myelem="selElem"
:editOn="true"
:path="rec.path"
:IdPath="rec._id"
@selElemClick="selElemClick"
@deleteElem="deleteElem"
@toggleSize="toggleSize"
@dupPage="duplicatePage"
<div v-if="!onloading">
<q-toggle
v-if="tools.isManager()"
v-model="editOn"
dense
color="green"
size="sm"
@update:model-value="changeVisuDrawer(mypathin, editOn)"
icon="fas fa-pencil-alt"
>
</CMyEditElem>
</q-drawer>
</q-toggle>
<div class="q-gutter-xs" style="margin-left: 1px; margin-right: 1px">
<div v-if="!!rec.img1" class="text-center">
<q-img :src="`` + rec.img1" class="img"></q-img>
</div>
<q-drawer
v-model="visuEditor"
v-if="selElem && editOn"
show-if-above
:breakpoint="350"
side="right"
:width="tools.isMobile() ? 350 : mywidthEditor"
elevated
style="transition: 'width 0.3s ease'"
>
<q-bar dense class="q-ma-xs bg-primary text-white">
<q-toolbar-title> Editor </q-toolbar-title>
<q-btn
flat
round
size="md"
color="white"
icon="close"
@click="
visuEditor = false;
selElem = {};
"
></q-btn>
</q-bar>
<div v-if="!!rec.content" v-html="rec.content"></div>
<q-video v-if="!!rec.video1" :src="rec.video1" :ratio="rec.ratio1">
</q-video>
<CMyEditElem
:myelem="selElem"
:editOn="true"
:path="rec.path"
:IdPath="rec._id"
@selElemClick="selElemClick"
@deleteElem="deleteElem"
@toggleSize="toggleSize"
@dupPage="duplicatePage"
>
</CMyEditElem>
</q-drawer>
<div v-if="!!rec.img2" class="text-center">
<q-img :src="`` + rec.img2" class="img"></q-img>
</div>
<div class="q-gutter-xs" style="margin-left: 1px; margin-right: 1px">
<div v-if="!!rec.img1" class="text-center">
<q-img :src="`` + rec.img1" class="img"></q-img>
</div>
<div v-if="!!rec.content2" v-html="rec.content2"></div>
<q-video
v-if="!!rec.video2"
:src="rec.video2"
:ratio="rec.ratio2"
></q-video>
<div v-if="!!rec.content" v-html="rec.content"></div>
<q-video v-if="!!rec.video1" :src="rec.video1" :ratio="rec.ratio1">
</q-video>
<div v-if="!!rec.img3" class="text-center">
<q-img :src="`` + rec.img2" class="img"></q-img>
</div>
<div v-if="!!rec.img2" class="text-center">
<q-img :src="`` + rec.img2" class="img"></q-img>
</div>
<div v-if="!!rec.content3" v-html="rec.content3"></div>
<q-video
v-if="!!rec.video3"
:src="rec.video3"
:ratio="rec.ratio3"
></q-video>
<div v-if="!!rec.content4" v-html="rec.content4"></div>
<div v-if="!!rec.content2" v-html="rec.content2"></div>
<q-video
v-if="!!rec.video2"
:src="rec.video2"
:ratio="rec.ratio2"
></q-video>
<div v-for="myelem in myelems" :key="myelem._id">
<div>
<transition :duration="1000" appear>
<CTitleBanner
v-if="
(myelem.active || editOn) && !!rec.path && myelem.titleBanner
"
:class="`q-pa-xs `"
:title="myelem.titleBanner"
bgcolor="bg-primary"
:clcolor="myelem.color ? `` : `text-white`"
:mystyle="
myelem.color ? `color: ${myelem.color} !important;` : ``
"
:myclass="myelem.classBanner"
:canopen="true"
>
<div v-if="!!rec.img3" class="text-center">
<q-img :src="`` + rec.img2" class="img"></q-img>
</div>
<div v-if="!!rec.content3" v-html="rec.content3"></div>
<q-video
v-if="!!rec.video3"
:src="rec.video3"
:ratio="rec.ratio3"
></q-video>
<div v-if="!!rec.content4" v-html="rec.content4"></div>
<div v-for="myelem in myelems" :key="myelem._id">
<div>
<transition :duration="1000" appear>
<CTitleBanner
v-if="
(myelem.active || editOn) &&
!!rec.path &&
myelem.titleBanner
"
:class="`q-pa-xs `"
:title="myelem.titleBanner"
bgcolor="bg-primary"
:clcolor="myelem.color ? `` : `text-white`"
:mystyle="
myelem.color ? `color: ${myelem.color} !important;` : ``
"
:myclass="myelem.classBanner"
:canopen="true"
>
<CMyElem
:myelem="myelem"
:editOn="editOn"
:addOn="addOn"
:path="!!rec.path ? rec.path : ''"
:selElem="selElem"
@selElemClick="selElemClick"
>
</CMyElem>
</CTitleBanner>
<CMyElem
v-else-if="(myelem.active || editOn) && !!rec.path"
:myelem="myelem"
:editOn="editOn"
:addOn="addOn"
@@ -108,38 +126,28 @@
@selElemClick="selElemClick"
>
</CMyElem>
</CTitleBanner>
<CMyElem
v-else-if="(myelem.active || editOn) && !!rec.path"
:myelem="myelem"
:editOn="editOn"
:addOn="addOn"
:path="!!rec.path ? rec.path : ''"
:selElem="selElem"
@selElemClick="selElemClick"
>
</CMyElem>
</transition>
</transition>
</div>
<div v-if="myelem.type === shared_consts.ELEMTYPE.PAGE">
<CMyPageElem2 :mypath="myelem.container">&nbsp;</CMyPageElem2>
</div>
</div>
<div v-if="myelem.type === shared_consts.ELEMTYPE.PAGE">
<CMyPageElem2 :mypath="myelem.container">&nbsp;</CMyPageElem2>
</div>
</div>
<div v-if="myelems.length === 0">
<CMyElem
v-if="editOn && !!rec.path"
:myelem="myelemVoid"
:editOn="editOn"
:addOn="addOn"
:selElem="selElem"
:path="rec.path"
@selElemClick="selElemClick"
>
</CMyElem>
<div v-if="myelems.length === 0">
<CMyElem
v-if="editOn && !!rec.path"
:myelem="myelemVoid"
:editOn="editOn"
:addOn="addOn"
:selElem="selElem"
:path="rec.path"
@selElemClick="selElemClick"
>
</CMyElem>
</div>
</div>
<LandingFooter v-if="rec.showFooter"></LandingFooter>
</div>
<LandingFooter v-if="rec.showFooter"></LandingFooter>
</div>
<div v-else>
<div v-if="!!title">
@@ -157,9 +165,6 @@
<div v-if="!nofooter"></div>
</div>
</div>
<q-inner-loading id="spinner" :showing="onloading">
<q-spinner-tail color="primary" size="4em"> </q-spinner-tail>
</q-inner-loading>
</div>
</template>

View File

@@ -1914,6 +1914,11 @@ export const colmyBachecas = [
label_trans: 'event.contact_telegram',
fieldtype: costanti.FieldType.string,
}),
AddCol({
name: 'website', label_trans: 'reg.website', isadvanced_field: true, fieldtype: costanti.FieldType.link,
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
sortable: false,
}),
AddCol({ name: 'min_partecip', label_trans: 'event.min_partecip', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'max_partecip', label_trans: 'event.max_partecip', fieldtype: costanti.FieldType.number }),
AddCol({
@@ -1945,11 +1950,6 @@ export const colmyBachecas = [
showWhen: 0
}),
// **ADDFIELD_MYBACHECAS
AddCol({
name: 'website', label_trans: 'reg.website', isadvanced_field: true, fieldtype: costanti.FieldType.link,
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
sortable: false,
}),
AddCol(DuplicateRec),
AddCol(ModifRec),
AddCol(DeleteRec),

View File

@@ -4739,6 +4739,16 @@ export const tools = {
},
getlinkEmailTo(myemail: string) {
if (myemail) {
return `<a href="mailto:${myemail}" >${myemail}</a>`
} else {
return ''
}
},
getNationsByNationality(nat: string) {
if (!nat)
return ''