- Fixed after deleting a record in TablesList, not updated correctly #110

- Improve SEO Rank with WooRank tips...
This commit is contained in:
Paolo Arena
2019-11-20 00:15:08 +01:00
parent 17d5a50662
commit 6c575ac9ed
32 changed files with 196 additions and 94 deletions

View File

@@ -19,8 +19,16 @@
.tothebottomfixed {
position: fixed;
left: 0;
right: 0;
right: 60px;
bottom: 0;
height: -100%;
z-index: 1000;
}
.margin_buttons_cook {
margin: -8px -8px;
}
.margin_buttons_cook > * {
margin: 8px 8px !important;
}

View File

@@ -5,10 +5,12 @@
<q-banner class="bg-primary text-white" transition-show="jump-down">
{{$t('cookies')}}
<template v-slot:action>
<div class="row justify-center margin_buttons_cook q-gutter-lg text-center" >
<q-btn v-if="disableDecline === false" flat color="white" label="Declina"
@click="decline"></q-btn>
<q-btn flat color="white" label="INFO" type="a" :href="urlInfo" @click="clickInfo"></q-btn>
<q-btn flat color="white" label="OK" @click="accept"></q-btn>
</div>
</template>
</q-banner>
</transition>

View File

@@ -1,6 +1,6 @@
<template>
<q-card class="my-card text-center">
<q-img :src="myop.img" class="myimg">
<q-img :src="myop.img" class="myimg" :alt="`${myop.name} ${myop.surname}`">
<div class="absolute-bottom text-spacetrans text-shadow">
<div class="text-h6 text-trans">{{myop.name}}</div>
<div class="text-subtitle-carica text-trans">{{myop.qualification}}</div>

View File

@@ -20,23 +20,23 @@
<div v-if="myop.certifications" class="text-subtitle-certificato">{{myop.certifications}}</div>
<div class="op__cell">
<q-icon class="flex-icon" name="mobile_friendly"></q-icon>
<span class="q-mx-sm">{{myop.cell}}</span>
<span class="q-ma-sm">{{myop.cell}}</span>
<div class="row justify-center q-gutter-xs ">
<div class="row justify-center margin_buttons q-gutter-lg">
<q-btn v-if="myop.email" fab-mini icon="fas fa-envelope"
color="blue-grey-6" type="a"
size="xs"
size="sm"
:href="tools.getemailto(myop.email)" target="__blank">
</q-btn>
<q-btn v-if="tools.getHttpForWhatsapp(myop.cell)" fab-mini icon="fab fa-whatsapp"
color="green" type="a"
size="xs"
size="sm"
:href="tools.getHttpForWhatsapp(myop.cell)" target="__blank">
</q-btn>
<q-btn v-if="tools.getHttpForTelegram(myop.usertelegram)" fab-mini icon="fab fa-telegram"
color="blue" type="a"
size="xs"
size="sm"
:href="tools.getHttpForTelegram(myop.usertelegram)" target="__blank">
</q-btn>
</div>

View File

@@ -13,7 +13,7 @@
:to="disc.linkpage">
<q-item-section avatar v-if="tools.getimgev(disc)">
<q-avatar>
<img :src="tools.getimgev(disc)">
<img :src="tools.getimgev(disc)" :alt="disc.label">
</q-avatar>
</q-item-section>
<q-item-section>{{disc.label}}</q-item-section>
@@ -68,6 +68,7 @@
</template>
<q-carousel-slide v-for="(myrec, index) in myarr" :key="index"
:img-src="`statics/`+myrec.img_small"
:alt="myrec.label"
:name="index">
<div class="row q-ma-xs">
<CCardDiscipline :discipline="myrec" mystyle="height: 500px" :autoplay.sync="autoplaydisc">

View File

@@ -1,7 +1,7 @@
<template>
<div class="my-card-shadow yes_shadow" style="opacity: 1 !important;">
<q-card class="my-card-discipline text-center inset-shadow" :style="mystyle">
<q-img :src="`statics/` + discipline.img_small" class="myimg">
<q-img :src="`statics/` + discipline.img_small" class="myimg" :alt="discipline.label">
<div class="absolute-bottom text-spacetrans">
<q-btn rounded :to="discipline.linkpage">
<div class="text-h5 disc__title shadow-max">{{discipline.label}}</div>

View File

@@ -36,7 +36,8 @@
<q-card-section class="inset-shadow">
<q-img :src="getImgEvent(myevent)"
class="absolute-top"
style="height: 150px;">
style="height: 150px;"
:alt="myevent.title">
</q-img>
<div style="margin-top: 150px;">
<!--<div v-if="myevent.allday" class="text-caption">{{ getEventDate(myevent) }}</div>-->
@@ -66,7 +67,7 @@
alt="Località">
</q-avatar>
<q-avatar v-else color="blue" font-size="20px" text-color="white" icon="home">
</q-avatar>showpage
</q-avatar>
<span class="cal__teacher-content">{{getWhereName(myevent.wherecode)}}</span>
</q-chip>
</span>
@@ -281,7 +282,8 @@
<q-card-section class="inset-shadow">
<q-img :src="getImgEvent(myevent)"
class="absolute-top"
style="height: 150px;">
style="height: 150px;"
:alt="myevent.title">
</q-img>
<div style="margin-top: 150px;">
@@ -361,7 +363,8 @@
<q-card-section class="inset-shadow">
<q-img :src="getImgEvent(myevent)"
class="absolute-top"
style="height: 150px;">
style="height: 150px;"
:alt="myevent.title">
</q-img>
<div style="margin-top: 150px;">
@@ -486,7 +489,7 @@
<span class="">{{ getTitleEv(event) }}</span>
</q-badge>
<div class="text-center"><img :src="getImgEvent(event)"
class="text-center listaev__tdimg_small" alt="Evento">
class="text-center listaev__tdimg_small" :alt="event.title">
</div>
</template>
</template>
@@ -557,7 +560,8 @@
<img :src="getImgEvent(event)"
@click="selectEvent(event)"
class="text-left padding_cell listaev__tdimg listaev__img cursor-pointer q-mx-sm"
:style="getStyleByEvent(event, event === myevent)">
:style="getStyleByEvent(event, event === myevent)"
:alt="event.title">
<q-chip dense v-if="isAlreadyBooked(event)" class="cltexth4 chipbooked shadow-5 q-mb-md"
color="green" text-color="white"
icon="event_available">{{$t('cal.booked')}}
@@ -647,7 +651,7 @@
<q-chip>
<q-avatar v-if="getWhereIcon(event.wherecode)">
<img :src="`../../statics/images/avatar/` + getWhereIcon(event.wherecode)">
<img :src="`../../statics/images/avatar/` + getWhereIcon(event.wherecode)" :alt="event.wherecode">
</q-avatar>
<q-avatar color="blue" font-size="20px" text-color="white" icon="home">
</q-avatar>
@@ -714,7 +718,7 @@
</q-markup-table>
<div class="q-ma-lg text-center">
<q-btn rounded type="a" to="/calendarioeventi" color="primary" icon="event" size="lg"
<q-btn rounded type="a" to="/calendario-eventi" color="primary" icon="event" size="lg"
:label="$t('cal.showlastschedule')">
</q-btn>

View File

@@ -1,7 +0,0 @@
.myclassfb{
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
display: block;
}

View File

@@ -9,9 +9,8 @@
<!--</div>-->
<a :href="urlfbpage" target="_blank">
<q-img :src="`statics/` + fbimage" class="myclassfb">
<q-img :src="`statics/` + fbimage" class="imgautosize" alt="facebook page">
</q-img>
</a>
<!--

View File

@@ -363,6 +363,10 @@ export default class CGridTableRec extends Vue {
// console.log('this.filter', this.filter)
this.refresh_table()
}
public refresh_table() {
this.onRequest({
pagination: this.pagination
})
@@ -376,8 +380,10 @@ export default class CGridTableRec extends Vue {
public ActionAfterYes(action, item, data) {
if (action === lists.MenuAction.DELETE_RECTABLE) {
if (this.serverData.length > 0)
if (this.serverData.length > 0) {
this.serverData.splice(this.serverData.indexOf(item), 1)
this.refresh_table()
}
} else if (action === lists.MenuAction.DUPLICATE_RECTABLE) {
// Add record duplicated
// this.serverData.push(data)

View File

@@ -28,4 +28,6 @@ export default class CImgText extends Vue {
@Prop({ required: false, default: '' }) public src2: string
@Prop({ required: false, default: 'myclimg' }) public class1: string
@Prop({ required: false, default: '' }) public style1: string
@Prop({ required: false, default: 'image' }) public alt1: string
@Prop({ required: false, default: 'image' }) public alt2: string
}

View File

@@ -3,8 +3,8 @@
<section class="padding_testo bg-white text-grey-10 text-justify" > <!-- v-scroll-reveal.reset -->
<div class="row items-start q-col-gutter-xs imgtext">
<div class="imgtext__img">
<img v-if="src" :src="src" class="myclimg" :style="style1">
<img v-if="src2" :src="src2" class="myclimg" :style="style1">
<img v-if="src" :src="src" class="myclimg" :style="style1" :alt="alt1">
<img v-if="src2" :src="src2" class="myclimg" :style="style1" :alt="alt2">
<div class="section_text">
<slot></slot>
</div>

View File

@@ -41,4 +41,10 @@ export default class CImgTitle extends Vue {
return tools.getimgbysize(filefull.path, filefull.file)
}
get getaltimg() {
const filefull = tools.getimgFullpathbysize(this.src)
return tools.getaltimg(filefull.path, filefull.file, this.title)
}
}

View File

@@ -1,7 +1,7 @@
<template>
<div>
<q-parallax :src="getsrc" :height="tools.myheight_imgtitle(myheight, myheightmobile)">
<h2 class="text-white center_to_image title">{{title}}</h2>
<h1 class="text-white center_to_image title">{{title}}</h1>
<div v-if="legendinside" class="mylegendinside absolute-bottom custom-caption center_to_image" v-html="legendinside"></div>
</q-parallax>
<div v-if="legend" class="mylegend" v-html="legend"></div>

View File

@@ -4,7 +4,7 @@
</q-avatar>
<q-avatar v-if="myimgint" class="q-mb-sx center_img">
<img :src="myimgint" :font-size="size">
<img :src="myimgint" :font-size="size" alt="my avatar">
</q-avatar>
</div>
</template>

View File

@@ -7,7 +7,8 @@
<img :src="getImgEvent(myevent)"
@click="selectEvent(myevent)"
class="text-left padding_cell listaev__tdimg listaev__img cursor-pointer"
:style="getStyleByEvent(myevent, true)">
:style="getStyleByEvent(myevent, true)"
:alt="myevent.title">
<q-chip dense v-if="isAlreadyBooked(myevent)" class="cltexth4 chipbooked shadow-5 q-mb-md"
color="green" text-color="white"
icon="event_available">{{$t('cal.booked')}}
@@ -98,7 +99,7 @@
<q-chip>
<q-avatar v-if="getWhereIcon(myevent.wherecode)">
<img :src="`../../statics/images/avatar/` + getWhereIcon(myevent.wherecode)">
<img :src="`../../statics/images/avatar/` + getWhereIcon(myevent.wherecode)" alt="località">
</q-avatar>
<q-avatar v-else color="blue" font-size="20px" text-color="white"
icon="home">

View File

@@ -10,7 +10,7 @@
</q-toolbar>
<q-card-section class="text-center inset-shadow">
<div style="width: 200px; float: left;">
<q-img :src="`statics/images/` + myop.img" class="myimg">
<q-img :src="`statics/images/` + myop.img" class="myimg" :alt="`${myop.name} ${myop.surname}`">
</q-img>
</div>
@@ -22,21 +22,21 @@
<q-icon class="flex-icon" name="mobile_friendly" v-if="myop.cell"></q-icon>
<span class="q-mx-sm">{{myop.cell}}</span>
<div class="row justify-center q-gutter-xs ">
<div class="row justify-center margin_buttons">
<q-btn v-if="myop.email" fab-mini icon="fas fa-envelope"
color="blue-grey-6" type="a"
size="xs"
size="sm"
:href="tools.getemailto(myop.email)" target="__blank">
</q-btn>
<q-btn v-if="tools.getHttpForWhatsapp(myop.cell)" fab-mini icon="fab fa-whatsapp"
color="green" type="a"
size="xs"
size="sm"
:href="tools.getHttpForWhatsapp(myop.cell)" target="__blank">
</q-btn>
<q-btn v-if="tools.getHttpForTelegram(myop.usertelegram)" fab-mini icon="fab fa-telegram"
color="blue" type="a"
size="xs"
size="sm"
:href="tools.getHttpForTelegram(myop.usertelegram)" target="__blank">
</q-btn>
</div>

View File

@@ -10,8 +10,10 @@ import { tools } from '../../store/Modules/tools'
export default class COpenStreetMap extends Vue {
@Prop({required: true}) public title: string
@Prop({required: true}) public coordinates: string
@Prop({required: true}) public coord_big: string
@Prop({required: false, default: ''}) public coordinates: string
@Prop({required: false, default: '' }) public coord_big: string
@Prop({required: false, default: ''}) public urlmap: string
@Prop({required: false, default: ''}) public imgmap: string
get mywidth() {
return tools.getwidth(this) - 20

View File

@@ -1,7 +1,9 @@
<template>
<div class="flex flex-center column justify-center">
<div v-if="coordinates" class="flex flex-center column justify-center">
<div class="">
<span class="text-subtitle2">{{title}}</span> - (<a :href="`https://www.openstreetmap.org/?` + coord_big + `&layers=N`" target="_blank">{{$t('showbigmap')}}</a>)
<span class="text-subtitle2" v-html="title"></span> - (<a
:href="`https://www.openstreetmap.org/?` + coord_big + `&layers=N`"
target="_blank">{{$t('showbigmap')}}</a>)
</div>
<div>
<iframe :width="mywidth" :height="myheight" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"
@@ -10,6 +12,19 @@
</div>
</div>
<div v-else>
<div class="q-my-md">
<p class="text-subtitle2 text-center">
<span v-html="title"></span>
- <a href="urlmap" target="_blank" class="text-black">Apri Mappa</a>
</p>
<a :href="urlmap" target="_blank">
<q-img :src="`statics/` + imgmap" class="imgautosize" alt="my map">
</q-img>
</a>
</div>
</div>
</template>
<script lang="ts" src="./COpenStreetMap.ts">
</script>

View File

@@ -26,4 +26,8 @@ export default class CPreloadImages extends Vue {
}
}
public getaltimg(recimg: IPreloadImages) {
return recimg.alt
}
}

View File

@@ -1,7 +1,7 @@
<template>
<div id="preloader">
<div v-for="(image, index) in arrimg">
<img :src="getimg(image)" width="1" height="1"/>
<img :src="getimg(image)" width="1" height="1" :alt="getaltimg(image)"/>
</div>
</div>
</template>

View File

@@ -27,4 +27,9 @@ export default class CTitle extends Vue {
return tools.getimgbysize(filefull.path, filefull.file)
}
get getaltimg() {
const filefull = tools.getimgFullpathbysize(this.imgbackground)
return tools.getaltimg(filefull.path, filefull.file, this.headtitle)
}
}

View File

@@ -1,10 +1,10 @@
<template>
<div>
<q-img v-if="imgbackground" :src="getsrc"
<q-img v-if="imgbackground" :src="getsrc" :alt="getaltimg"
:style="tools.styles_imgtitle(sizes)">
<div class="absolute-bottom text-body1 text-center" :style="styleadd">
<h2 class="titletext">{{headtitle}}</h2>
<h1 class="titletext">{{headtitle}}</h1>
</div>
</q-img>

View File

@@ -37,7 +37,7 @@ $textcol_scuro: darkblue;
.landing__footer-icons {
font-size: 1.75rem
font-size: 2rem
}
.landing__footer-icons a {
@@ -184,3 +184,12 @@ $textcol_scuro: darkblue;
.footer_link:hover {
color:white;
}
.margin_buttons_footer {
margin: -4px -4px;
}
.margin_buttons_footer > * {
margin: 4px 8px;
}

View File

@@ -54,8 +54,11 @@ export default class Footer extends Vue {
}
get InstagramPage() {
const insta = GlobalStore.getters.getValueSettingsByKey('URL_INSTAGRAM')
return insta
return GlobalStore.getters.getValueSettingsByKey('URL_INSTAGRAM')
}
get TwitterPage() {
return GlobalStore.getters.getValueSettingsByKey('URL_TWITTER')
}
get static_data() {

View File

@@ -7,17 +7,22 @@
<!--</span>-->
<CFacebookFrame myclass="text-center" :fbimage="getValDb('FBPAGE_IMG')" :urlfbpage="getValDb('FBPAGE_FRAME')" title="getValDb('FBPAGE_TITLE')">
<CFacebookFrame myclass="text-center" :fbimage="getValDb('FBPAGE_IMG')"
:urlfbpage="getValDb('FBPAGE_FRAME')" title="getValDb('FBPAGE_TITLE')">
</CFacebookFrame>
<div class="landing__footer-icons row flex-center q-mt-md">
<div class=" q-my-md">
<div class="landing__footer-icons row flex-center margin_buttons">
<a v-if="!!FBPage" :href="FBPage" target="_blank">
<i aria-hidden="true" class="q-icon fab fa-facebook-f icon_contact links"> </i></a>
<a v-if="!!InstagramPage" :href="InstagramPage" 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">
<i aria-hidden="true" class="q-icon fab fa-twitter icon_contact links"> </i></a>
<a v-if="!!TelegramSupport" :href="TelegramSupport" target="_blank">
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
@@ -37,6 +42,13 @@
<!--href="https://www.patreon.com/quasarframework" target="_blank"><i aria-hidden="true"-->
<!--class="q-icon fab fa-patreon"> </i></a>-->
</div>
</div>
<div class="text-center">
<span v-html="getValDb('MAP_TITLE')"></span>
<br>
<a :href="getValDb('URLMAP')" target="_blank" class="footer_link">Apri Mappa</a>
</div>
<!--<div class="q-mt-xs copyrights">-->
<!--<p class="mycontacts_text" v-html="$t('homepage.copyrights')"></p>-->
@@ -56,23 +68,39 @@
<a :href="`mailto:` + getValDb('MAIN_EMAIL')" class="links">{{ getValDb('MAIN_EMAIL')
}}</a><br>
<div style="margin-bottom: 20px;"></div>
<div v-for="rec in getarrValDb('CONTACTS_EMAIL_CELL')" class="mycontacts_text"
<div v-for="rec in getarrValDb('CONTACTS_EMAIL_CELL')"
class="mycontacts_text margin_buttons_footer"
style="margin-bottom: 0px;">
<div>
{{ rec.name }}: {{ rec.phone }}
<br>
</div>
<div>
<i v-if="rec.email" aria-hidden="true"
class="q-icon fas fa-envelope q-mx-sm"></i> <a :href="`mailto:`+ rec.email "
class="q-icon fas fa-envelope q-ma-sm"></i> <a :href="`mailto:`+ rec.email "
class="links">{{rec.email}}</a>
</div>
<div class="row justify-center margin_buttons_footer">
<q-btn v-if="rec.email" fab-mini icon="fas fa-envelope"
color="blue-grey-6" type="a"
size="sm"
:href="tools.getemailto(rec.email)" target="__blank">
</q-btn>
<q-btn v-if="tools.getHttpForWhatsapp(rec.phone)" fab-mini
icon="fab fa-whatsapp"
color="green" type="a"
size="sm"
:href="tools.getHttpForWhatsapp(rec.phone)" target="__blank">
</q-btn>
<q-btn v-if="tools.getHttpForTelegram(rec.usertelegram)" fab-mini
icon="fab fa-telegram"
color="blue" type="a"
size="sm"
:href="tools.getHttpForTelegram(rec.usertelegram)" target="__blank">
</q-btn>
</div>
<a v-if="!!tools.getHttpForWhatsapp(rec.phone)"
:href="tools.getHttpForWhatsapp(rec.phone)" target="_blank">
<i aria-hidden="true"
class="q-icon fab fa-whatsapp landing__footer-icons icon_contact links q-mx-xs"></i></a>
<a v-if="!!tools.getHttpForTelegram(rec.usertelegram)"
:href="tools.getHttpForTelegram(rec.usertelegram)" target="_blank">
<i aria-hidden="true"
class="q-icon fab fa-telegram landing__footer-icons icon_contact links q-mx-xs"></i></a>
<br>
</div>
<span v-if="getValDb('CALL_WORKING_DAYS')"><br>orari per chiamate:<br>
<span v-html="getValDb('CALL_WORKING_DAYS')"></span></span>

View File

@@ -307,6 +307,10 @@ export default class Header extends Vue {
return '../../' + tools.getimglogo()
}
get getappname() {
return tools.getappname(this)
}
public toggleanimation() {
console.log('toggleanimation')
this.visuimg = false

View File

@@ -35,11 +35,11 @@
class="btnNewVersShow" @click="RefreshApp" :label="$t('notification.newVersionAvailable')"/>
<q-toolbar-title>
<q-toolbar-title class="row items-center">
<q-avatar>
<img :src="imglogo" height="27" alt="Immagine Logo">
</q-avatar>
{{tools.getappname()}}
<div class="q-mx-sm">{{getappname}}</div>
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
</q-toolbar-title>
@@ -83,7 +83,7 @@
v-for="langrec in static_data.lang_available" :key="langrec.value"
@click="lang = langrec.value">
<q-item-section avatar>
<img :src="langrec.image" class="flagimg">
<img :src="langrec.image" class="flagimg" alt="flag">
</q-item-section>
<q-item-section>
{{langrec.label}}
@@ -132,7 +132,7 @@
<q-drawer v-if="static_data.functionality.SHOW_USER_MENU" v-model="rightDrawerOpen" side="right" elevated>
<div id="profile">
<q-img class="absolute-top" src="../../statics/images/landing_first_section.png"
style="height: 150px">
style="height: 150px" alt="section page">
</q-img>
<div class="absolute-top bg-transparent text-black center_img" style="margin-top: 10px;">

View File

@@ -19,7 +19,7 @@
<q-item-section avatar>
<q-avatar>
<img :src="getImgByMsg(msg)">
<img :src="getImgByMsg(msg)" :alt="getUsernameChatByMsg(msg)">
</q-avatar>
</q-item-section>

View File

@@ -157,6 +157,7 @@ export interface IOperators {
export interface IPreloadImages {
imgname: string
alt: string
mobile: boolean
}

View File

@@ -2394,6 +2394,15 @@ export const tools = {
return ris
},
getaltimg(dir: string, file: string, alt?: string) {
const myimage = dir + file
const myrec = static_data.preLoadImages.find((rec) => rec.imgname === myimage)
if (myrec)
return (myrec) ? myrec.alt : 'my image'
else
return alt
},
getimgFullpathbysize(fileimg: string) {
const ind = fileimg.lastIndexOf('/')
if (ind > 0) {

View File

@@ -36,7 +36,7 @@
<q-item-section avatar>
<q-avatar>
<img :src="getImgByMsg(msg)">
<img :src="getImgByMsg(msg)" :alt="getUsernameChatByMsg(msg)">
</q-avatar>
</q-item-section>
@@ -101,7 +101,7 @@
bg-color="grey-2">
<template v-slot:avatar>
<q-avatar size="sm">
<img :src="getImgByMsg(msg)">
<img :src="getImgByMsg(msg)" :alt="getUsernameChatByMsg(msg)">
</q-avatar>
</template>
</q-chat-message>