ver 1.1.20:
- corretto campo foto che non compariva più. - sistemato i campi aggiuntivi e i richiesti. - migliorato la barra in alto di selezione. - aggiunto alcune icone.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="19"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="19"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
@@ -13,8 +13,8 @@ PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://localhost:3000"
|
||||
LOGO_REG='abitaregliiblei-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_NAME="Surya"
|
||||
TEST_SURNAME=""
|
||||
TEST_EMAIL=""
|
||||
TEST_USERNAME=""
|
||||
TEST_PASSWORD=""
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "abitaregliiblei",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "Abitare Gli Iblei",
|
||||
"productName": "AbitareGliIblei",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="16"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="15"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="15"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "fioredellavita",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "Fiore Della Vita",
|
||||
"productName": "Fiore Della Vita",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"version": "0.0.8",
|
||||
"description": "FreePlanet",
|
||||
"productName": "FreePlanet",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [
|
||||
],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
@@ -13,8 +13,8 @@ PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://localhost:3000"
|
||||
LOGO_REG='gruppomacro-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_NAME="Surya"
|
||||
TEST_SURNAME=""
|
||||
TEST_EMAIL=""
|
||||
TEST_USERNAME=""
|
||||
TEST_PASSWORD=""
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "gruppomacro",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "GruppoMacro",
|
||||
"productName": "Gruppo Macro",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "piuchebuono",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "PiuCheBuono",
|
||||
"productName": "PiuCheBuono",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.18"
|
||||
APP_VERSION="1.1.20"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="16"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 634 KiB After Width: | Height: | Size: 424 KiB |
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.1.18",
|
||||
"version": "1.1.20",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
|
||||
@@ -34,7 +34,7 @@ self.addEventListener('activate', (event) => {
|
||||
});
|
||||
|
||||
|
||||
const APP_VERSION = "1.1.18";
|
||||
const APP_VERSION = "1.1.20";
|
||||
|
||||
console.log(' [ VER-' + APP_VERSION + ' ] _---------________------ PAO: this is my custom service worker');
|
||||
|
||||
|
||||
@@ -169,6 +169,7 @@ export const shared_consts = {
|
||||
EDITADDRESSBYCOORD: 390,
|
||||
GRID_ORIZ: 400,
|
||||
QRCODE: 410,
|
||||
CATALOGLIST: 420,
|
||||
},
|
||||
|
||||
QUERYTYPE_MYGROUP: 1,
|
||||
@@ -295,6 +296,7 @@ export const shared_consts = {
|
||||
TABLES_CIRCUITS: 'circuits',
|
||||
TABLES_MYGROUPS: 'mygroups',
|
||||
TABLES_ATTIVITAS: 'attivitas',
|
||||
TABLES_CATALOG: 'catalogs',
|
||||
|
||||
TABFILTRI_UTENTE: 'filtriutente',
|
||||
|
||||
@@ -394,7 +396,7 @@ export const shared_consts = {
|
||||
|
||||
TABLES_UPDATE_LASTIFIED: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'bots'],
|
||||
TABLES_FINDER: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'mygroups'],
|
||||
TABLES_VISU_CMYSRECCARD: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'mygroups'],
|
||||
TABLES_VISU_CMYSRECCARD: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'mygroups', 'catalogs'],
|
||||
TABLES_SHOW_ADTYPE: ['myskills', 'mygoods', 'myhosps'],
|
||||
|
||||
TABLES_VISU_LISTA_USER: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'users'],
|
||||
@@ -406,9 +408,11 @@ export const shared_consts = {
|
||||
TABLES_VISU_IMG: ['myskills', 'myhosps', 'mygoods', 'mygroups'],
|
||||
TABLES_DIRECTORY_A_PARTE: ['mygroups'],
|
||||
TABLES_WITH_ADMINS: ['mygroups', 'circuits'],
|
||||
TABLES_DIRECTORY_SINGLE_IMG: ['circuits'],
|
||||
TABLES_DIRECTORY_SINGLE_IMG: ['circuits', 'catalogs'],
|
||||
TABLES_IMAGEFILE_SINGOLO: ['productInfos'],
|
||||
|
||||
TABLES_PER_EDITORI: ['catalogs'],
|
||||
|
||||
TABLES_VISU_MAP: 'attivitas',
|
||||
|
||||
VISIB_ALL: 0,
|
||||
@@ -1174,7 +1178,7 @@ export const shared_consts = {
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
label: 'a Paolo (test)',
|
||||
label: 'a Surya (test)',
|
||||
value: 20,
|
||||
},
|
||||
{
|
||||
@@ -1763,6 +1767,10 @@ export const shared_consts = {
|
||||
value: 410,
|
||||
label: 'Qr Code',
|
||||
},
|
||||
{
|
||||
value: 420,
|
||||
label: 'Lista Cataloghi',
|
||||
},
|
||||
],
|
||||
|
||||
TypesElemAdminTools: [
|
||||
|
||||
@@ -123,6 +123,17 @@ export default defineComponent({
|
||||
}
|
||||
return ''
|
||||
})
|
||||
const colorsel = computed(() => {
|
||||
const myarr: any = tools.getoptionsMainCards(false)
|
||||
if (myarr) {
|
||||
const rec = myarr.find((rec: any) => rec.value === tablesel.value)
|
||||
|
||||
if (rec) {
|
||||
return rec.color
|
||||
}
|
||||
}
|
||||
return ''
|
||||
})
|
||||
const myfilter = ref('')
|
||||
const myfilterand: any = ref([])
|
||||
let rowsel: any = {}
|
||||
@@ -362,6 +373,7 @@ export default defineComponent({
|
||||
iconsel,
|
||||
filtri,
|
||||
clickButtBar,
|
||||
colorsel,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -25,20 +25,22 @@
|
||||
/>
|
||||
</q-avatar>
|
||||
</div>
|
||||
<div class="col-fixed" style="width: 200px">
|
||||
<div class="col-fixed " style="width: 200px;">
|
||||
<q-select
|
||||
dense
|
||||
v-model="tablesel"
|
||||
:options="optionsMainCards"
|
||||
emit-value
|
||||
borderless
|
||||
class="text-blue"
|
||||
rounded
|
||||
dense
|
||||
filled
|
||||
class="text-blue q-ml-sm"
|
||||
bg-color="light-blue-2"
|
||||
map-options
|
||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||
@update:model-value="gotoPageSel"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon :name="iconsel" />
|
||||
<q-icon :name="iconsel" :color="colorsel" />
|
||||
</template>
|
||||
<template v-slot:option="scope">
|
||||
<q-item v-bind="scope.itemProps">
|
||||
|
||||
0
src/components/CCatalogList/CCatalogList.scss
Executable file
0
src/components/CCatalogList/CCatalogList.scss
Executable file
199
src/components/CCatalogList/CCatalogList.ts
Executable file
199
src/components/CCatalogList/CCatalogList.ts
Executable file
@@ -0,0 +1,199 @@
|
||||
import {
|
||||
computed,
|
||||
provide, defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRef, toRefs, watch,
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { CMyFieldDb } from '@/components/CMyFieldDb'
|
||||
import { costanti } from '@costanti'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
|
||||
import { CTitlePage } from '@/components/CTitlePage'
|
||||
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||
import { IColGridTable, IMyBacheca, IMySkill, ISearchList, ISkill } from 'model'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
import { useQuasar } from 'quasar'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CCatalogList',
|
||||
emits: ['clickButtBar'],
|
||||
props: {
|
||||
ind: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: -1,
|
||||
},
|
||||
prop_search: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true,
|
||||
},
|
||||
finder: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true,
|
||||
},
|
||||
heightcarousel: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 0,
|
||||
},
|
||||
},
|
||||
components: {
|
||||
CMyFieldDb, CGridTableRec, CTitlePage,
|
||||
},
|
||||
setup(props, { attrs, slots, emit }) {
|
||||
const { t } = useI18n()
|
||||
const $q = useQuasar()
|
||||
const globalStore = useGlobalStore()
|
||||
const userStore = useUserStore()
|
||||
|
||||
const table = ref('catalogs')
|
||||
|
||||
const searchList_Base = ref(<ISearchList[]>[])
|
||||
|
||||
const arrfilterand: any = ref([])
|
||||
const filtercustom: any = ref([])
|
||||
|
||||
const search = ref('')
|
||||
const myrecfiltertoggle = ref(tools.FILTER_ALL)
|
||||
|
||||
const prop_colkey = ref('')
|
||||
const col_title = ref('')
|
||||
const col_footer = ref('')
|
||||
const col_tabfooter = ref('')
|
||||
|
||||
const strextra = ref('')
|
||||
const myoptions = ref(<any>[])
|
||||
|
||||
const col = ref(<IColGridTable[]>[])
|
||||
|
||||
const myCatRef = ref(<any>null)
|
||||
|
||||
/*
|
||||
const idSectorServizi = computed(() => {
|
||||
let myval: any = null
|
||||
myval = searchList_Servizi.value.find((rec) => (rec.table === toolsext.TABSECTORS))
|
||||
if (myval) {
|
||||
const ris = myval.value || 0
|
||||
// console.log('idSectorServizi=', ris)
|
||||
return ris
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
})
|
||||
|
||||
*/
|
||||
|
||||
|
||||
function updatefilter(value: any) {
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
watch(() => myrecfiltertoggle.value, (value: any, oldval: any) => {
|
||||
updatefilter(value)
|
||||
},
|
||||
)
|
||||
|
||||
const mypagination = computed(() => {
|
||||
return { sortBy: 'title', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||
})
|
||||
|
||||
const searchList = computed(() => {
|
||||
return searchList_Base.value
|
||||
})
|
||||
|
||||
const showType = computed(() => {
|
||||
return costanti.SHOW_MYCARD
|
||||
})
|
||||
|
||||
const hint = computed(() => {
|
||||
return 'digita una parola da cercare'
|
||||
})
|
||||
|
||||
const visuType = computed(() => {
|
||||
return false // $q.screen.gt.xs
|
||||
})
|
||||
|
||||
const noMsgRecord = computed(() => {
|
||||
return 'Nessun dato trovato con i filtri selezionati'
|
||||
})
|
||||
|
||||
|
||||
function mounted() {
|
||||
|
||||
let obj = tools.getParamsByTable(table.value)
|
||||
|
||||
|
||||
prop_colkey.value = obj.prop_colkey
|
||||
col_title.value = obj.col_title
|
||||
col_footer.value = obj.col_footer
|
||||
col_tabfooter.value = obj.col_tabfooter
|
||||
|
||||
searchList_Base.value = []
|
||||
|
||||
filtercustom.value = []
|
||||
|
||||
col.value = fieldsTable.getArrColsByTable(table.value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mySortFieldsAvailable() {
|
||||
if (table.value === toolsext.TABUSER) {
|
||||
return userStore.getSortFieldsAvailable()
|
||||
}
|
||||
|
||||
return []
|
||||
}
|
||||
|
||||
|
||||
|
||||
function doSearch() {
|
||||
//
|
||||
}
|
||||
|
||||
function clickButtBar(item: any) {
|
||||
if (myCatRef.value) {
|
||||
myCatRef.value.clickButtBar(item)
|
||||
}
|
||||
|
||||
// emit('clickButtBar', item)
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
t,
|
||||
tools,
|
||||
costanti,
|
||||
arrfilterand,
|
||||
filtercustom,
|
||||
searchList,
|
||||
search,
|
||||
doSearch,
|
||||
myrecfiltertoggle,
|
||||
prop_colkey,
|
||||
col_title,
|
||||
col_footer,
|
||||
col_tabfooter,
|
||||
col,
|
||||
toolsext,
|
||||
mypagination,
|
||||
noMsgRecord,
|
||||
showType,
|
||||
visuType,
|
||||
hint,
|
||||
myoptions,
|
||||
mySortFieldsAvailable,
|
||||
clickButtBar,
|
||||
myCatRef,
|
||||
table,
|
||||
}
|
||||
},
|
||||
})
|
||||
47
src/components/CCatalogList/CCatalogList.vue
Executable file
47
src/components/CCatalogList/CCatalogList.vue
Executable file
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<div class="q-ma-xs">
|
||||
<CGridTableRec
|
||||
v-if="col && col.length > 0"
|
||||
ref="myCatRef"
|
||||
:prop_mytable="table"
|
||||
:options="tools.optionsTable(table)"
|
||||
:prop_mytitlenew="tools.getTitleAnnuncio(table)"
|
||||
prop_mytitle="Cataloghi"
|
||||
:prop_mycolumns="col"
|
||||
:prop_colkey="prop_colkey"
|
||||
:col_title="col_title"
|
||||
:col_footer="col_footer"
|
||||
:col_tabfooter="col_tabfooter"
|
||||
:vertical="costanti.VISUTABLE_LISTA"
|
||||
:prop_pagination="mypagination"
|
||||
:showType="showType"
|
||||
:hint="hint"
|
||||
:nodataLabel="noMsgRecord"
|
||||
:prop_search="prop_search"
|
||||
:finder="finder"
|
||||
labelElemFind="trovati"
|
||||
:choose_visutype="visuType"
|
||||
:butt_modif_new="tools.isAdmin()"
|
||||
:noresultLabel="t('grid.nosearchfound')"
|
||||
:arrfilters="arrfilterand"
|
||||
:filtercustom="filtercustom"
|
||||
:prop_searchList="searchList"
|
||||
:defaultnewrec="tools.getdefaultnewrec(table)"
|
||||
labelBtnAddRow="NONE"
|
||||
:prop_SortFieldsAvailable="mySortFieldsAvailable"
|
||||
labelBtnAddExtra="Aggiungi Catalogo"
|
||||
:extraparams="tools.extraparams(table, { myrecfiltertoggle })"
|
||||
:prop_showMap="false"
|
||||
:heightcarousel="heightcarousel"
|
||||
@clickButtBar="clickButtBar"
|
||||
:opt="{rowclass: true, widthcard: '170px', heightcard: '170px'}"
|
||||
>
|
||||
</CGridTableRec>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CCatalogList.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './CCatalogList.scss';
|
||||
</style>
|
||||
1
src/components/CCatalogList/index.ts
Executable file
1
src/components/CCatalogList/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export { default as CCatalogList } from './CCatalogList.vue'
|
||||
@@ -1,23 +1,23 @@
|
||||
import { PropType, defineComponent, ref, watch } from 'vue'
|
||||
|
||||
import { Catalogo } from '@src/views/ecommerce/catalogo'
|
||||
import { ICatalogo } from '@src/model'
|
||||
import { IOptCatalogo } from '@src/model'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CCatalogo',
|
||||
components: { Catalogo },
|
||||
emits: ['update:modelValue', 'updateCatalogo'],
|
||||
props: {
|
||||
// add options ICatalogo
|
||||
// add options IOptCatalogo
|
||||
modelValue: {
|
||||
type: Object as PropType<ICatalogo>,
|
||||
type: Object as PropType<IOptCatalogo>,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
setup(props, { emit }) {
|
||||
// Crea una copia locale reattiva di modelValue
|
||||
const localCatalogo = ref<ICatalogo>({ ...props.modelValue });
|
||||
const localCatalogo = ref<IOptCatalogo>({ ...props.modelValue });
|
||||
|
||||
// Watcher per sincronizzare le modifiche di modelValue
|
||||
watch(() => props.modelValue, (newVal) => {
|
||||
@@ -31,12 +31,12 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
// Metodo per aggiornare il valore del catalogo
|
||||
const updateCatalogo = (updatedCatalogo: ICatalogo) => {
|
||||
const updateCatalogo = (updatedCatalogo: IOptCatalogo) => {
|
||||
localCatalogo.value = updatedCatalogo; // Aggiorna la copia locale
|
||||
updateCatalogoPadre()
|
||||
};
|
||||
|
||||
function updateCatalogoEmit(updatedCatalogo: ICatalogo) {
|
||||
function updateCatalogoEmit(updatedCatalogo: IOptCatalogo) {
|
||||
console.log('updateCatalogoEmit')
|
||||
localCatalogo.value = updatedCatalogo; // Aggiorna la copia locale
|
||||
updateCatalogoPadre()
|
||||
|
||||
@@ -17,7 +17,7 @@ import { CBarCode } from '../CBarCode'
|
||||
import { func_tools, toolsext } from '@store/Modules/toolsext'
|
||||
|
||||
import {
|
||||
IBaseOrder, ICatalogo, IGasordine, IMyScheda, IOrder, IOrderCart,
|
||||
IBaseOrder, IOptCatalogo, IGasordine, IMyScheda, IOrder, IOrderCart,
|
||||
IProduct, IVariazione
|
||||
} from '@src/model'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
@@ -63,7 +63,7 @@ export default defineComponent({
|
||||
default: () => { }
|
||||
},
|
||||
modelValue: {
|
||||
type: Object as PropType<ICatalogo>,
|
||||
type: Object as PropType<IOptCatalogo>,
|
||||
required: true,
|
||||
},
|
||||
scheda: {
|
||||
@@ -100,7 +100,7 @@ export default defineComponent({
|
||||
const apriSchedaPDF = ref(false)
|
||||
|
||||
// Crea una copia locale reattiva di modelValue
|
||||
const optcatalogo = ref<ICatalogo>({ ...props.modelValue });
|
||||
const optcatalogo = ref<IOptCatalogo>({ ...props.modelValue });
|
||||
|
||||
// Watcher per sincronizzare le modifiche di modelValue
|
||||
watch(() => props.modelValue, (newVal) => {
|
||||
@@ -113,7 +113,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
// Metodo per aggiornare il valore del catalogo
|
||||
const updateCatalogo = (updatedCatalogo: ICatalogo) => {
|
||||
const updateCatalogo = (updatedCatalogo: IOptCatalogo) => {
|
||||
optcatalogo.value = updatedCatalogo; // Aggiorna la copia locale
|
||||
updateCatalogoPadre()
|
||||
};
|
||||
|
||||
@@ -52,17 +52,6 @@ export default defineComponent({
|
||||
return userStore.my.username
|
||||
}
|
||||
|
||||
function getLinkUserTelegram() {
|
||||
|
||||
if (props.myuser) {
|
||||
if (!!props.myuser.profile.username_telegram) {
|
||||
return 'https://t.me/' + props.myuser.profile.username_telegram
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function getLinkWebSite() {
|
||||
if (props.myuser) {
|
||||
let mysite = props.myuser.profile.website!
|
||||
@@ -98,7 +87,6 @@ export default defineComponent({
|
||||
userStore,
|
||||
shared_consts,
|
||||
showsendCoinTo,
|
||||
getLinkUserTelegram,
|
||||
getLinkWebSite,
|
||||
myusername,
|
||||
showingtooltip,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div
|
||||
v-if="
|
||||
((getLinkUserTelegram() || (myuser.email && tools.isEmailVerified())) &&
|
||||
((tools.getLinkUserTelegramByUser(myuser) || (myuser.email && tools.isEmailVerifiedByUser(myuser))) &&
|
||||
tools.isUserOk()) ||
|
||||
showBtnActivities
|
||||
"
|
||||
@@ -39,14 +39,14 @@
|
||||
</div>
|
||||
<div class="q-pa-xs">
|
||||
<q-btn
|
||||
v-if="getLinkUserTelegram() && tools.isUserOk()"
|
||||
v-if="tools.getLinkUserTelegramByUser(myuser) && tools.isUserOk()"
|
||||
icon="fab fa-telegram"
|
||||
color="blue"
|
||||
:type="tools.isUserOk() ? 'a' : 'btn'"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('dialog.contact')"
|
||||
:href="tools.isUserOk() ? getLinkUserTelegram() : null"
|
||||
:href="tools.isUserOk() ? tools.getLinkUserTelegramByUser(myuser) : null"
|
||||
@click="
|
||||
!tools.isUserOk() ? (showingtooltip = !showingtooltip) : false
|
||||
"
|
||||
@@ -54,14 +54,14 @@
|
||||
>
|
||||
</q-btn>
|
||||
<div
|
||||
v-else-if="myuser.email && !tools.isUsernameTelegOk()"
|
||||
v-else-if="myuser.email && !tools.isUsernameTelegOkByUser(myuser)"
|
||||
class="row justify-center q-ma-sx"
|
||||
>
|
||||
<div>
|
||||
<CLabel
|
||||
v-bind="$attrs"
|
||||
:copy="true"
|
||||
:value="!tools.isUsernameTelegOk() ? myuser.email : ''"
|
||||
:value="!tools.isUsernameTelegOkByUser(myuser) ? myuser.email : ''"
|
||||
:label="$t('reg.email')"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@ import { shared_consts } from '@src/common/shared_vuejs'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
import { costanti } from '@costanti'
|
||||
import { ICatalogo, IMyScheda, IProduct } from '@src/model'
|
||||
import { IOptCatalogo, IMyScheda, IProduct } from '@src/model'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
@@ -48,7 +48,7 @@ export default defineComponent({
|
||||
default: () => { }
|
||||
},
|
||||
modelValue: {
|
||||
type: Object as PropType<ICatalogo>,
|
||||
type: Object as PropType<IOptCatalogo>,
|
||||
required: true,
|
||||
},
|
||||
scheda: {
|
||||
@@ -69,7 +69,7 @@ export default defineComponent({
|
||||
const opendetailbool = ref(false)
|
||||
|
||||
// Crea una copia locale reattiva di modelValue
|
||||
const optcatalogo = ref<ICatalogo>({ ...props.modelValue });
|
||||
const optcatalogo = ref<IOptCatalogo>({ ...props.modelValue });
|
||||
|
||||
// Watcher per sincronizzare le modifiche di modelValue
|
||||
watch(() => props.modelValue, (newVal) => {
|
||||
@@ -82,7 +82,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
// Metodo per aggiornare il valore del catalogo
|
||||
const updateCatalogo = (updatedCatalogo: ICatalogo) => {
|
||||
const updateCatalogo = (updatedCatalogo: IOptCatalogo) => {
|
||||
optcatalogo.value = updatedCatalogo; // Aggiorna la copia locale
|
||||
updateCatalogoPadre()
|
||||
};
|
||||
|
||||
@@ -59,6 +59,11 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: 'date-time',
|
||||
},
|
||||
addstrrequired: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {},
|
||||
setup(props, { emit }) {
|
||||
|
||||
@@ -259,7 +259,7 @@ export default defineComponent({
|
||||
if (props.table === shared_consts.TABLES_MYGROUPS) {
|
||||
myoptions.value = [
|
||||
{ label: '🌎 Tutti', value: tools.FILTER_ALL },
|
||||
{ label: '👤 Gruppi che Gestisci', value: tools.FILTER_MYREC },
|
||||
{ label: '👤 ' + t('groups.che_gestisci'), value: tools.FILTER_MYREC },
|
||||
// {label: 'Seguo', value: tools.FILTER_MYFOLLOW},
|
||||
]
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ import {
|
||||
IParamDialog,
|
||||
IMySkill,
|
||||
ICoordLatLng,
|
||||
ICoordGPS
|
||||
ICoordGPS,
|
||||
IOptGrid
|
||||
} from 'model'
|
||||
import { lists } from '@store/Modules/lists'
|
||||
import { IParamsQuery } from 'model'
|
||||
@@ -27,6 +28,7 @@ import { CMyUser } from '../CMyUser'
|
||||
import { CMyGroups } from '../CMyGroups'
|
||||
import { CMyFieldDb } from '../CMyFieldDb'
|
||||
import { CMyRecCard } from '../CMyRecCard'
|
||||
import { CMyRecCatalog } from '../CMyRecCatalog'
|
||||
import { CMapByTable } from '../CMapByTable'
|
||||
import { CMyRecGrpCard } from '../CMyRecGrpCard'
|
||||
import { CMyRecCircuitCard } from '../CMyRecCircuitCard'
|
||||
@@ -207,6 +209,11 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
opt: {
|
||||
type: Object as PropType<IOptGrid>,
|
||||
required: false,
|
||||
default: {},
|
||||
},
|
||||
filterdef: {
|
||||
type: Array,
|
||||
required: false,
|
||||
@@ -343,7 +350,7 @@ export default defineComponent({
|
||||
},
|
||||
components: {
|
||||
CMyPopupEdit, CTitleBanner, CMyFieldDb, CMySelect, CMyFriends, CMyGroups,
|
||||
CMyUser, CMyRecCard, CMyCardPopup, CMyRecGrpCard, CMyCardGrpPopup, CMyCardCircuitPopup,
|
||||
CMyUser, CMyRecCard, CMyRecCatalog, CMyCardPopup, CMyRecGrpCard, CMyCardGrpPopup, CMyCardCircuitPopup,
|
||||
CMyRecCircuitCard, CMyCardService, CNotifSettings, CMapByTable, CSingleMovement,
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
|
||||
@@ -25,10 +25,10 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-if="butt_modif_new || mytitle"
|
||||
v-if="(butt_modif_new || mytitle)"
|
||||
:class="$q.screen.lt.sm ? `` : `q-ma-xs` + ` `"
|
||||
>
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<q-toolbar v-if="mytitle" class="bg-primary text-white">
|
||||
<q-toolbar-title>{{ mytitle }}</q-toolbar-title>
|
||||
</q-toolbar>
|
||||
|
||||
@@ -103,11 +103,12 @@
|
||||
>
|
||||
<q-btn
|
||||
size="sm"
|
||||
dense
|
||||
color="positive"
|
||||
rounded
|
||||
:icon="
|
||||
!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'
|
||||
"
|
||||
:label="$t('grid.advanced_filters')"
|
||||
:label="!showfilteradv ? $t('grid.advanced_filters') : $t('grid.hide_advanced_filters')"
|
||||
@click="showfilteradv = !showfilteradv"
|
||||
></q-btn>
|
||||
</div>
|
||||
@@ -266,9 +267,8 @@
|
||||
<div v-if="searchList && finder" class="row items-start">
|
||||
<q-btn
|
||||
v-if="searchList && searchList.length > 0"
|
||||
:dense="search"
|
||||
class="q-mx-xs"
|
||||
color="positive"
|
||||
:color="!showfilter ? 'positive' : 'blue-grey-4'"
|
||||
:icon="!showfilter ? 'fas fa-filter' : 'fas fa-arrow-up'"
|
||||
@click="showfilter = !showfilter"
|
||||
>
|
||||
@@ -285,7 +285,6 @@
|
||||
<q-input
|
||||
v-model="search"
|
||||
filled
|
||||
dense
|
||||
type="search"
|
||||
debounce="500"
|
||||
:hint="!hintinbtnsearch ? hint : ''"
|
||||
@@ -513,7 +512,11 @@
|
||||
|
||||
<div
|
||||
:style="heightcarousel ? `height: ${heightcarousel}` : ''"
|
||||
:class="{ 'carousel-scroll-container': !!heightcarousel }"
|
||||
:class="{
|
||||
'carousel-scroll-container': !!heightcarousel,
|
||||
row: opt.rowclass,
|
||||
'justify-evenly': opt.rowclass,
|
||||
}"
|
||||
>
|
||||
<div v-for="(row, indexrow) in serverData" :key="indexrow">
|
||||
<div
|
||||
@@ -554,6 +557,16 @@
|
||||
@cmdext="cmdExt"
|
||||
>
|
||||
</CMyRecCircuitCard>
|
||||
<CMyRecCatalog
|
||||
v-else-if="tablesel === shared_consts.TABLES_CATALOG"
|
||||
:table="tablesel"
|
||||
:prop_myrec="row"
|
||||
:opt="opt"
|
||||
@cmdext="cmdExt"
|
||||
:editOn="editOn"
|
||||
:margin_right="margin_right"
|
||||
>
|
||||
</CMyRecCatalog>
|
||||
<CMyRecCard
|
||||
v-else
|
||||
:table="tablesel"
|
||||
@@ -765,11 +778,11 @@
|
||||
>
|
||||
<q-btn
|
||||
size="sm"
|
||||
dense
|
||||
color="positive"
|
||||
:icon="
|
||||
!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'
|
||||
"
|
||||
:label="$t('grid.advanced_filters')"
|
||||
:label="!showfilteradv ? $t('grid.advanced_filters') : $t('grid.hide_advanced_filters')"
|
||||
@click="showfilteradv = !showfilteradv"
|
||||
></q-btn>
|
||||
</div>
|
||||
@@ -927,13 +940,12 @@
|
||||
<q-input
|
||||
v-model="search"
|
||||
filled
|
||||
dense
|
||||
type="search"
|
||||
debounce="500"
|
||||
:hint="hint"
|
||||
:error-message="noresultLabel"
|
||||
:error="getNumRecFromQuery() === 0 && !startsearch"
|
||||
label="Cerca"
|
||||
:label="$t('grid.search')"
|
||||
v-on:keyup.enter="doSearch"
|
||||
>
|
||||
<template v-slot:after>
|
||||
@@ -1090,11 +1102,11 @@
|
||||
props.row['adType']
|
||||
)
|
||||
}}
|
||||
<q-icon
|
||||
<!--<q-icon
|
||||
:name="fieldsTable.getIconByAdType(props.row['adType'])"
|
||||
color="white"
|
||||
class="q-ml-xs"
|
||||
/>
|
||||
/>-->
|
||||
</q-badge>
|
||||
|
||||
<q-space />
|
||||
@@ -1409,11 +1421,14 @@
|
||||
v-if="col.fieldtype === costanti.FieldType.separator"
|
||||
>
|
||||
<q-btn
|
||||
color="primary"
|
||||
color="positive"
|
||||
size="md"
|
||||
dense
|
||||
rounded
|
||||
:icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
|
||||
:label="$t('grid.show_campi_avanzati')"
|
||||
:label="showfilteradv ? $t('grid.hide_campi_avanzati') : $t('grid.show_campi_avanzati')"
|
||||
:class="{ 'q-btn--active': showfilteradv }"
|
||||
:aria-expanded="showfilteradv.toString()"
|
||||
@click="showfilteradv = !showfilteradv"
|
||||
></q-btn>
|
||||
</div>
|
||||
@@ -1443,6 +1458,7 @@
|
||||
minuteinterval="1"
|
||||
:visulabel="true"
|
||||
:insertMode="true"
|
||||
:dense="false"
|
||||
@save="SaveValue"
|
||||
@show="selItem(newRecord, col)"
|
||||
@showandsave="showandsave"
|
||||
@@ -1491,7 +1507,7 @@
|
||||
size="md"
|
||||
dense
|
||||
:icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
|
||||
:label="$t('grid.show_campi_avanzati')"
|
||||
:label="!showfilteradv ? $t('grid.advanced_filters') : $t('grid.hide_advanced_filters')"
|
||||
@click="showfilteradv = !showfilteradv"
|
||||
></q-btn>
|
||||
</div>
|
||||
@@ -1515,6 +1531,7 @@
|
||||
v-model:row="recModif"
|
||||
:field="col.field"
|
||||
:subfield="col.subfield"
|
||||
:dense="false"
|
||||
:value_extra="getValueExtra(col, recModif)"
|
||||
minuteinterval="1"
|
||||
@save="SaveValue"
|
||||
|
||||
@@ -185,17 +185,6 @@ export default defineComponent({
|
||||
return true
|
||||
}
|
||||
|
||||
function getLinkUserTelegram() {
|
||||
|
||||
if (myuser.value) {
|
||||
if (!!myuser.value.profile.username_telegram) {
|
||||
return 'https://t.me/' + myuser.value.profile.username_telegram
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function getLinkWebSite() {
|
||||
if (myuser.value) {
|
||||
let site = myuser.value.profile.website!
|
||||
@@ -251,7 +240,6 @@ export default defineComponent({
|
||||
shared_consts,
|
||||
getImgUser,
|
||||
checkifShow,
|
||||
getLinkUserTelegram,
|
||||
getLinkWebSite,
|
||||
filtroutente,
|
||||
filtro_eventi,
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div v-for="(card, ind) of mycards" :key="ind" :name="card.table">
|
||||
<q-card class="q-my-md">
|
||||
<div v-if="card.table === 'mygroups' && tools.isUserOk()">
|
||||
<div class="row text-h6 text-bold">Gruppi:</div>
|
||||
<div class="row text-h6 text-bold">{{t('circuit.conticollettivi')}}:</div>
|
||||
<q-list>
|
||||
<span
|
||||
v-for="(grp, index) in listgroupsfiltered"
|
||||
|
||||
@@ -90,6 +90,26 @@
|
||||
>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-else-if="myrec.profile && !myrec.profile.username_telegram"
|
||||
clickable
|
||||
v-close-popup
|
||||
>
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue" name="email" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<a
|
||||
v-if="
|
||||
myrec.email
|
||||
"
|
||||
:href="tools.isUserOk() ? tools.getemailto(myrec.email) : null"
|
||||
target="_blank"
|
||||
>{{ $t('msgs.write_email') }} -
|
||||
{{ tools.getNomeUtenteByRecUser(myrec) }}</a
|
||||
>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="!nopopup && myrec.myreact"
|
||||
clickable
|
||||
@@ -733,7 +753,7 @@
|
||||
/></q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-if="myrec.email">
|
||||
<q-item clickable v-if="myrec.email && !myrec.contact_email">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue-grey-6" name="fas fa-envelope" />
|
||||
</q-item-section>
|
||||
@@ -998,6 +1018,24 @@
|
||||
)
|
||||
"
|
||||
/>
|
||||
<q-btn
|
||||
v-else-if="
|
||||
(myrec.profile && !myrec.profile.username_telegram) &&
|
||||
!myrec.contact_telegram
|
||||
"
|
||||
class="q-mx-xxs q-my-xs"
|
||||
rounded
|
||||
:label="$t('msgs.write_email')"
|
||||
text-color="primary"
|
||||
color="white"
|
||||
icon="mail"
|
||||
target="_blank"
|
||||
@click="
|
||||
tools.openUrl(
|
||||
tools.getemailto(myrec.email)
|
||||
)
|
||||
"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="table === shared_consts.TABLES_MYBACHECAS"
|
||||
class="q-mx-xxs q-my-xs"
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
nextTick,
|
||||
} from 'vue'
|
||||
|
||||
import { ICatalogo, IColGridTable, IElemText, IElementiScheda, IImgGallery, ILabelValue, IMyCard, IMyElem, IMyPage, IMyScheda, IOperators, ISchedaSingola } from '@src/model'
|
||||
import { IOptCatalogo, IColGridTable, IElemText, IElementiScheda, IImgGallery, ILabelValue, IMyCard, IMyElem, IMyPage, IMyScheda, IOperators, ISchedaSingola } from '@src/model'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
|
||||
import { CImgTitle } from '@/components/CImgTitle'
|
||||
@@ -776,34 +776,6 @@ export default defineComponent({
|
||||
return options;
|
||||
}
|
||||
|
||||
function SchedeOpt() {
|
||||
const arrschede: ISchedaSingola[] = globalStore.getMySchede()
|
||||
|
||||
let arr: any = []
|
||||
|
||||
arr.push({ label: '[Nessuna]', value: '' })
|
||||
|
||||
if (arrschede) {
|
||||
arrschede.forEach((recscheda: ISchedaSingola) => {
|
||||
let pagename = ''
|
||||
if (recscheda.scheda) {
|
||||
if (recscheda.idPageOrig) {
|
||||
const page = globalStore.getPageById(recscheda.idPageOrig)
|
||||
pagename = page ? page.title! : ''
|
||||
}
|
||||
if (pagename)
|
||||
pagename = '[Pag: ' + pagename + '] '
|
||||
|
||||
const mylabel = pagename + (recscheda.scheda ? recscheda.scheda!.name : '')
|
||||
arr.push({ label: mylabel, value: recscheda.scheda!._id })
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
return arr
|
||||
}
|
||||
|
||||
function updateSizeWidth(value: any) {
|
||||
// Gestisce l'input dell'utente per un nuovo valore
|
||||
myel.value.widthimg = value; // Aggiorna widthimg con il nuovo valore
|
||||
@@ -931,7 +903,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
|
||||
const generatePDF = async (optcatalogo: ICatalogo) => {
|
||||
const generatePDF = async (optcatalogo: IOptCatalogo) => {
|
||||
|
||||
await nextTick()
|
||||
|
||||
@@ -1101,7 +1073,6 @@ export default defineComponent({
|
||||
addNewScheda,
|
||||
dupNewScheda,
|
||||
delRecScheda,
|
||||
SchedeOpt,
|
||||
addProdSpeciale,
|
||||
idSchedaDaCopiare,
|
||||
copyfromTemplate,
|
||||
|
||||
@@ -217,7 +217,8 @@
|
||||
<CMySlider
|
||||
v-if="
|
||||
myel.type === shared_consts.ELEMTYPE.CARD ||
|
||||
myel.type === shared_consts.ELEMTYPE.GRID_ORIZ
|
||||
myel.type === shared_consts.ELEMTYPE.GRID_ORIZ||
|
||||
myel.type === shared_consts.ELEMTYPE.CATALOGLIST
|
||||
"
|
||||
label="Altezza Carosello:"
|
||||
v-model="myel.heightcarousel"
|
||||
@@ -1326,6 +1327,23 @@
|
||||
></q-toggle>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGLIST">
|
||||
<div v-if="enableEdit" class="row">
|
||||
<br />
|
||||
<q-toggle
|
||||
v-model="myel.parambool"
|
||||
color="positive"
|
||||
label="Search"
|
||||
@update:model-value="modifElem"
|
||||
></q-toggle>
|
||||
<q-toggle
|
||||
v-model="myel.parambool2"
|
||||
color="positive"
|
||||
label="Finder"
|
||||
@update:model-value="modifElem"
|
||||
></q-toggle>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CALENDAR">
|
||||
<div v-if="enableEdit" class="row">
|
||||
<q-input
|
||||
@@ -1640,7 +1658,7 @@
|
||||
rounded
|
||||
outlined
|
||||
v-model="recscheda.scheda.linkIdTemplate"
|
||||
:options="SchedeOpt()"
|
||||
:options="globalStore.SchedeOpt()"
|
||||
@update:model-value="modifElem"
|
||||
label="Scheda collegata:"
|
||||
style="width: 250px"
|
||||
@@ -1658,7 +1676,7 @@
|
||||
rounded
|
||||
outlined
|
||||
v-model="idSchedaDaCopiare"
|
||||
:options="SchedeOpt()"
|
||||
:options="globalStore.SchedeOpt()"
|
||||
@update:model-value="modifElem"
|
||||
label="Scegli Scheda"
|
||||
style="width: 250px"
|
||||
|
||||
@@ -3,13 +3,14 @@ import {
|
||||
defineComponent, onMounted, PropType, ref, toRef, watch, nextTick,
|
||||
} from 'vue'
|
||||
|
||||
import { ICatalogo, ICoordGPS, IMyCard, IMyElem, IMyPage, IOperators, ISocial } from '@src/model'
|
||||
import { IOptCatalogo, ICoordGPS, IMyCard, IMyElem, IMyPage, IOperators, ISocial } from '@src/model'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
|
||||
import { CImgTitle } from '../CImgTitle/index'
|
||||
import { CImgPoster } from '@/components/CImgPoster'
|
||||
import { CTitle } from '@/components/CTitle/index'
|
||||
import { CGridOriz } from '@/components/CGridOriz/index'
|
||||
import { CCatalogList } from '@/components/CCatalogList/index'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { LandingFooter } from '@/components/LandingFooter'
|
||||
@@ -68,7 +69,7 @@ export default defineComponent({
|
||||
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
||||
CVisuVideoPromoAndPDF, CECommerce, CCatalogo, CAITools,
|
||||
CMapComuni, CMapUsers, CMapGetCoordinates, CMapEditAddressByCoord,
|
||||
CDashGroup, CMovements, CGridOriz, CQRCode,
|
||||
CDashGroup, CMovements, CGridOriz, CQRCode, CCatalogList,
|
||||
// , //CMapMarker,
|
||||
},
|
||||
emits: ['selElemClick'],
|
||||
@@ -283,7 +284,7 @@ export default defineComponent({
|
||||
return `col-${width}`
|
||||
}
|
||||
|
||||
function updateCatalogoEmit(updatedCatalogo: ICatalogo) {
|
||||
function updateCatalogoEmit(updatedCatalogo: IOptCatalogo) {
|
||||
console.log('CMyElem: updateCatalogoEmit')
|
||||
myel.value.catalogo = updatedCatalogo
|
||||
}
|
||||
|
||||
@@ -8,9 +8,10 @@
|
||||
getClass() +
|
||||
(!myel.active ? ` clEditNotActive` : ``)
|
||||
"
|
||||
@click="clickOnElem"
|
||||
>
|
||||
<div v-if="myel.type">
|
||||
<q-btn v-if="editOn" rounded dense icon="fas fa-pencil-alt" @click="clickOnElem">
|
||||
</q-btn>
|
||||
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
|
||||
<transition
|
||||
appear
|
||||
@@ -92,9 +93,7 @@
|
||||
:key="groupIndex"
|
||||
:name="groupIndex"
|
||||
>
|
||||
<div
|
||||
class="row no-wrap justify-start items-center q-px-sm"
|
||||
>
|
||||
<div class="row no-wrap justify-start items-center q-px-sm">
|
||||
<template v-for="(rec, cardIndex) in group" :key="cardIndex">
|
||||
<div :class="cardColumnClass">
|
||||
<q-card
|
||||
@@ -565,6 +564,14 @@
|
||||
:heightcarousel="myel.heightcarousel"
|
||||
></CGridOriz>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGLIST">
|
||||
<div v-if="editOn" class="elemEdit">Lista Cataloghi</div>
|
||||
<CCatalogList
|
||||
:prop_search="myel.parambool"
|
||||
:finder="myel.parambool2"
|
||||
:heightcarousel="myel.heightcarousel"
|
||||
></CCatalogList>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.STATUSREG">
|
||||
<div v-if="editOn" class="elemEdit">CStatusReg</div>
|
||||
<CStatusReg> </CStatusReg>
|
||||
@@ -658,7 +665,10 @@
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGO">
|
||||
<div v-if="editOn" class="elemEdit">PRODOTTI CATALOGO:</div>
|
||||
<CCatalogo v-model="myel.catalogo" @updateCatalogo="updateCatalogoEmit()"/>
|
||||
<CCatalogo
|
||||
v-model="myel.catalogo"
|
||||
@updateCatalogo="updateCatalogoEmit()"
|
||||
/>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.MAPPA">
|
||||
<div v-if="editOn" class="elemEdit">MAPPA:</div>
|
||||
|
||||
@@ -243,6 +243,8 @@ export default defineComponent({
|
||||
|
||||
const loaded = ref(false)
|
||||
|
||||
const addstrrequired = ref('')
|
||||
|
||||
const col = ref(<IColGridTable>{
|
||||
name: 'test',
|
||||
fieldtype: 0,
|
||||
@@ -318,6 +320,8 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
addstrrequired.value = col.value.required ? '* ' : ''
|
||||
|
||||
// console.log('popupedit myvalue.value: ', myvalue.value)
|
||||
|
||||
if (props.tablesel) {
|
||||
@@ -944,6 +948,7 @@ export default defineComponent({
|
||||
gotoPage,
|
||||
mypath,
|
||||
changeValRecCoordAddr,
|
||||
addstrrequired,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
:minlength="col.minlength ? col.minlength : undefined"
|
||||
v-model="myvalue"
|
||||
@update:model-value="changevalRec"
|
||||
:label="col.visulabel ? $t(col.label_trans) : ''"
|
||||
:label="col.visulabel ? addstrrequired + $t(col.label_trans) : ''"
|
||||
:autogrow="col.fieldtype !== costanti.FieldType.crypted"
|
||||
@keyup.enter.stop
|
||||
autofocus
|
||||
@@ -230,7 +230,8 @@
|
||||
@keyup.enter.stop
|
||||
@update:model-value="changevalRec"
|
||||
autofocus
|
||||
:label="col.visulabel ? $t(col.label_trans) : col.label"
|
||||
:rules="[val => (!!val || !col.required) || 'Campo richiesto']"
|
||||
:label="col.visulabel ? addstrrequired + $t(col.label_trans) : col.label"
|
||||
>
|
||||
</q-input>
|
||||
<q-field v-if="col.showLinkResult && myvalue">
|
||||
@@ -321,7 +322,7 @@
|
||||
:label="
|
||||
col.visulabel
|
||||
? $t(col.label_trans)
|
||||
: visulabel
|
||||
: addstrrequired + visulabel
|
||||
? $t(col.label_trans)
|
||||
: ''
|
||||
"
|
||||
@@ -356,6 +357,7 @@
|
||||
:col="col"
|
||||
:row="row"
|
||||
:options="tools.SelectHours"
|
||||
:addstrrequired="addstrrequired"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -622,6 +624,7 @@
|
||||
)
|
||||
"
|
||||
:useinput="false"
|
||||
:addstrrequired="addstrrequired"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -654,6 +657,7 @@
|
||||
)
|
||||
"
|
||||
:useinput="false"
|
||||
:addstrrequired="addstrrequired"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -666,9 +670,9 @@
|
||||
<CDateTime
|
||||
:label="
|
||||
col.label
|
||||
? col.label
|
||||
? addstrrequired + col.label
|
||||
: col.label_trans
|
||||
? $t(col.label_trans)
|
||||
? addstrrequired + $t(col.label_trans)
|
||||
: ''
|
||||
"
|
||||
:class="{ 'cursor-pointer': canEdit }"
|
||||
@@ -693,7 +697,7 @@
|
||||
</div>
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.onlydate">
|
||||
<CDateTime
|
||||
:label="col.label ? col.label : $t(col.label_trans)"
|
||||
:label="col.label ? addstrrequired + col.label : addstrrequired + $t(col.label_trans)"
|
||||
:class="{ 'cursor-pointer': canEdit }"
|
||||
:valueDate="myvalue"
|
||||
v-model:value="myvalue"
|
||||
@@ -782,6 +786,8 @@
|
||||
:sola_lettura="!isInModif"
|
||||
:useinput="col.allowNewValue"
|
||||
:newvaluefunc="addNewValue"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
|
||||
@@ -904,6 +910,8 @@
|
||||
)
|
||||
"
|
||||
:useinput="col.allowNewValue"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -975,6 +983,8 @@
|
||||
"
|
||||
:sola_lettura="!isInModif"
|
||||
:useinput="isInModif"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1006,6 +1016,8 @@
|
||||
)
|
||||
"
|
||||
:useinput="false"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1185,10 +1197,11 @@
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
:minlength="col.minlength ? col.minlength : undefined"
|
||||
v-model="scope.value"
|
||||
:label="col.visulabel ? $t(col.label_trans) : ''"
|
||||
:label="col.visulabel ? addstrrequired + $t(col.label_trans) : ''"
|
||||
:autogrow="col.fieldtype !== costanti.FieldType.crypted"
|
||||
@keyup.enter.stop
|
||||
autofocus
|
||||
:rules="[val => (!!val || !col.required) || 'Campo richiesto']"
|
||||
>
|
||||
<template v-if="notAllowAtChar" v-slot:prepend>
|
||||
<span class="text-h7 text-blue">@</span>
|
||||
@@ -1206,8 +1219,8 @@
|
||||
:label="
|
||||
col.visulabel
|
||||
? $t(col.label_trans)
|
||||
: visulabel
|
||||
? col.label
|
||||
: addstrrequired + visulabel
|
||||
? addstrrequired + col.label
|
||||
: ''
|
||||
"
|
||||
>
|
||||
@@ -1261,6 +1274,7 @@
|
||||
@changeval="changevalRecHours"
|
||||
style="max-width: 100px"
|
||||
:options="tools.SelectHours"
|
||||
:addstrrequired="addstrrequired"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1308,6 +1322,8 @@
|
||||
)
|
||||
"
|
||||
:useinput="col.allowNewValue"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1345,6 +1361,8 @@
|
||||
)
|
||||
"
|
||||
:useinput="true"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1379,6 +1397,8 @@
|
||||
:sola_lettura="!isInModif"
|
||||
:useinput="col.allowNewValue"
|
||||
:newvaluefunc="addNewValue"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
|
||||
@@ -1445,6 +1465,8 @@
|
||||
:optlab="fieldsTable.getLabelByTable(tablesel)"
|
||||
:options="[]"
|
||||
:useinput="false"
|
||||
:addstrrequired="addstrrequired"
|
||||
:dense="dense"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1464,6 +1486,7 @@
|
||||
:optlab="fieldsTable.getLabelByTable(tablesel)"
|
||||
:options="[]"
|
||||
:useinput="false"
|
||||
:addstrrequired="addstrrequired"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
@@ -1472,9 +1495,9 @@
|
||||
<CDateTime
|
||||
:label="
|
||||
col.label
|
||||
? col.label
|
||||
? addstrrequired + col.label
|
||||
: col.label_trans
|
||||
? $t(col.label_trans)
|
||||
? addstrrequired + $t(col.label_trans)
|
||||
: ''
|
||||
"
|
||||
:class="{ 'cursor-pointer': canEdit }"
|
||||
@@ -1490,7 +1513,7 @@
|
||||
</div>
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.onlydate">
|
||||
<CDateTime
|
||||
:label="col.label ? col.label : $t(col.label_trans)"
|
||||
:label="col.label ? addstrrequired + col.label : addstrrequired + $t(col.label_trans)"
|
||||
:class="{ 'cursor-pointer': canEdit }"
|
||||
:valueDate="myvalue"
|
||||
v-model:value="myvalue"
|
||||
@@ -1531,7 +1554,7 @@
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
:minlength="col.minlength ? col.minlength : undefined"
|
||||
v-model="scope.value"
|
||||
:label="col.visulabel ? $t(col.label_trans) : ''"
|
||||
:label="col.visulabel ? addstrrequired + $t(col.label_trans) : ''"
|
||||
:autogrow="col.fieldtype !== costanti.FieldType.crypted"
|
||||
@keyup.enter.stop
|
||||
autofocus
|
||||
@@ -1561,6 +1584,7 @@
|
||||
)
|
||||
"
|
||||
:useinput="false"
|
||||
:addstrrequired="addstrrequired"
|
||||
>
|
||||
</CMySelect>
|
||||
</div>
|
||||
|
||||
@@ -118,11 +118,11 @@
|
||||
:color="fieldsTable.getColByAdType(myrec.adType)"
|
||||
>
|
||||
{{ fieldsTable.getValByTabAndId(table, 'adType', myrec.adType) }}
|
||||
<q-icon
|
||||
<!--<q-icon
|
||||
:name="fieldsTable.getIconByAdType(myrec.adType)"
|
||||
color="white"
|
||||
class="q-ml-xs"
|
||||
/>
|
||||
/>-->
|
||||
</q-badge>
|
||||
|
||||
<q-avatar size="60px">
|
||||
@@ -167,11 +167,6 @@
|
||||
:color="fieldsTable.getColByAdType(myrec.adType)"
|
||||
>
|
||||
{{ fieldsTable.getValByTabAndId(table, 'adType', myrec.adType) }}
|
||||
<q-icon
|
||||
:name="fieldsTable.getIconByAdType(myrec.adType)"
|
||||
color="white"
|
||||
class="q-ml-xs"
|
||||
/>
|
||||
</q-badge>
|
||||
<q-avatar size="60px" class="self-center">
|
||||
<q-img
|
||||
@@ -332,7 +327,7 @@
|
||||
>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="tools.canModifyThisRec(myrec) || editOn">
|
||||
<q-item-section side v-if="tools.canModifyThisRec(myrec, table) || editOn">
|
||||
<q-item-label>
|
||||
<q-btn rounded dense icon="fas fa-pencil-alt">
|
||||
<q-menu>
|
||||
|
||||
81
src/components/CMyRecCatalog/CMyRecCatalog.scss
Executable file
81
src/components/CMyRecCatalog/CMyRecCatalog.scss
Executable file
@@ -0,0 +1,81 @@
|
||||
.cardrec {
|
||||
/* Aggiungi un bordo sottile */
|
||||
border: 1px solid #ddd;
|
||||
/* Applica un'ombreggiatura per dare l'effetto di elevazione */
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
||||
/* Arrotonda leggermente gli angoli */
|
||||
border-radius: 8px;
|
||||
/* Aggiungi un po' di spazio interno intorno ai contenuti */
|
||||
padding: 8px;
|
||||
/* Colore di sfondo bianco per separare dal resto del contenuto */
|
||||
background-color: #eff;
|
||||
|
||||
margin: 4px;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
@media (min-width: 500px) {
|
||||
margin: 1px;
|
||||
padding: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.catalog-image {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.imgcatalog {
|
||||
border: 4px solid #ffffff;
|
||||
/* Bordo bianco */
|
||||
border-radius: 12px;
|
||||
/* Angoli arrotondati */
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
|
||||
/* Ombra per un effetto 3D */
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
/* Transizione fluida */
|
||||
object-fit: cover;
|
||||
/* Mantiene l'aspetto dell'immagine senza distorsioni */
|
||||
}
|
||||
|
||||
.imgcatalog:hover {
|
||||
transform: scale(1.05);
|
||||
/* Effetto di ingrandimento al passaggio del mouse */
|
||||
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
|
||||
/* Ombra più pronunciata al passaggio del mouse */
|
||||
}
|
||||
|
||||
.back_img {
|
||||
background-repeat: no-repeat !important;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.flex-grow {
|
||||
flex-grow: 1;
|
||||
/* Usa flex-grow per occupare spazio disponibile */
|
||||
}
|
||||
|
||||
.title-container {
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
/* Sfondo bianco con trasparenza */
|
||||
padding: 4px;
|
||||
/* Aggiunta di padding per creare spazio attorno al testo */
|
||||
border-radius: 8px;
|
||||
/* Arrotonda gli angoli dello sfondo */
|
||||
}
|
||||
|
||||
.text-h6 {
|
||||
font-family: 'Arial', sans-serif;
|
||||
/* Scegli un font accattivante e comune */
|
||||
font-size: 1.15rem;
|
||||
/* Dimensione del font modificabile */
|
||||
color: #FFF;
|
||||
/* Colore del testo */
|
||||
margin-top: auto;
|
||||
/* Assicura che il titolo sia posizionato alla base della scheda */
|
||||
}
|
||||
143
src/components/CMyRecCatalog/CMyRecCatalog.ts
Executable file
143
src/components/CMyRecCatalog/CMyRecCatalog.ts
Executable file
@@ -0,0 +1,143 @@
|
||||
import { defineComponent, onMounted, PropType, ref, watch, computed } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { IImgGallery, IOptGrid, IUserFields, IUserProfile } from 'model'
|
||||
import { costanti } from '@costanti'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import { CMyCardPopup } from '@/components/CMyCardPopup'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useCalendarStore } from '@src/store/CalendarStore'
|
||||
import { useGlobalStore } from '@src/store/globalStore'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyRecCatalog',
|
||||
components: { CMyCardPopup },
|
||||
emits: ['setCmd', 'cmdext'],
|
||||
props: {
|
||||
table: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
prop_myrec: {
|
||||
type: Object as PropType<any>,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
editOn: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
margin_right: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 0,
|
||||
},
|
||||
opt: {
|
||||
type: Object as PropType<IOptGrid>,
|
||||
required: false,
|
||||
default: {},
|
||||
},
|
||||
},
|
||||
|
||||
setup(props, { emit }) {
|
||||
|
||||
const userStore = useUserStore()
|
||||
const calendarStore = useCalendarStore()
|
||||
const globalStore = useGlobalStore()
|
||||
const $q = useQuasar()
|
||||
const { t } = useI18n()
|
||||
const $router = useRouter()
|
||||
|
||||
const myrec = ref(<any>null)
|
||||
|
||||
const visupage = ref(false)
|
||||
const disabilita = computed(() => {
|
||||
return props.table === shared_consts.TABLES_MYBACHECAS
|
||||
})
|
||||
|
||||
watch(() => props.prop_myrec, (newval, oldval) => {
|
||||
|
||||
mounted()
|
||||
})
|
||||
|
||||
|
||||
function mounted() {
|
||||
if (props.prop_myrec) {
|
||||
myrec.value = props.prop_myrec
|
||||
}
|
||||
}
|
||||
|
||||
function showBadge() {
|
||||
if (shared_consts.TABLES_SHOW_ADTYPE.includes(props.table)) {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
function getImgUser(profile: IUserFields) {
|
||||
return userStore.getImgByProfile(profile)
|
||||
}
|
||||
|
||||
function naviga(path: string) {
|
||||
$router.push(path)
|
||||
}
|
||||
|
||||
function setCmd($q: any, cmd: number, myusername: string, value: any, groupname: string) {
|
||||
emit('setCmd', $q, cmd, myusername, value, groupname)
|
||||
}
|
||||
|
||||
function cmdExt(cmd: any, val1: any, val2: any) {
|
||||
emit('cmdext', cmd, val1, val2)
|
||||
}
|
||||
|
||||
function navigaExt(obj: any) {
|
||||
cmdExt(costanti.CMD_SHOW_PAGE, null, obj)
|
||||
//let link = shared_consts.getDirectoryByTable(props.table) + '/' + obj._id
|
||||
//console.log('link', link)
|
||||
//$router.push(link)
|
||||
}
|
||||
|
||||
function getNameToShow(user: IUserFields, col = null) {
|
||||
if (myrec.value.groupname)
|
||||
return myrec.value.groupname
|
||||
else
|
||||
return userStore.getNameToShow(user, col)
|
||||
}
|
||||
|
||||
function computedWidth() {
|
||||
const width = tools.getwidth($q) - 20;
|
||||
return `${Math.min(width, 600)}px`; // Limita la larghezza massima a 600px
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
t,
|
||||
myrec,
|
||||
costanti,
|
||||
getImgUser,
|
||||
naviga,
|
||||
navigaExt,
|
||||
setCmd,
|
||||
shared_consts,
|
||||
userStore,
|
||||
tools,
|
||||
toolsext,
|
||||
fieldsTable,
|
||||
cmdExt,
|
||||
visupage,
|
||||
showBadge,
|
||||
getNameToShow,
|
||||
calendarStore,
|
||||
disabilita,
|
||||
globalStore,
|
||||
computedWidth,
|
||||
}
|
||||
},
|
||||
})
|
||||
80
src/components/CMyRecCatalog/CMyRecCatalog.vue
Executable file
80
src/components/CMyRecCatalog/CMyRecCatalog.vue
Executable file
@@ -0,0 +1,80 @@
|
||||
<template>
|
||||
<div
|
||||
v-if="myrec"
|
||||
class="q-py-xs centermydiv cardrec back_img column justify-between"
|
||||
:style="{
|
||||
width: opt.widthcard,
|
||||
height: opt.heightcard,
|
||||
backgroundImage:
|
||||
`url(` +
|
||||
tools.getFullFileName(
|
||||
[myrec.foto_collana],
|
||||
table,
|
||||
myrec.username,
|
||||
myrec._id
|
||||
) +
|
||||
`)`,
|
||||
}"
|
||||
>
|
||||
<div class="flex-grow" />
|
||||
<!-- Questo elemento occupa spazio per separare l'immagine dal titolo -->
|
||||
<div class="title-container">
|
||||
<div class="text-h6 text-center">
|
||||
{{ myrec.title }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-item>
|
||||
<q-item-section side v-if="tools.canModifyThisRec(myrec, table) || editOn">
|
||||
<q-item-label>
|
||||
<q-btn rounded dense icon="fas fa-pencil-alt">
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="cmdExt(costanti.CMD_MODIFY, myrec._id, null)"
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="fas fa-pencil-alt" />
|
||||
</q-item-section>
|
||||
<q-item-section>{{ $t('reg.edit') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="cmdExt(costanti.CMD_CLONE, myrec._id, null)"
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="fas fa-copy" />
|
||||
</q-item-section>
|
||||
<q-item-section>{{ $t('event.duplicate') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="cmdExt(costanti.CMD_DELETE, myrec._id, null)"
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="fas fa-trash-alt" />
|
||||
</q-item-section>
|
||||
<q-item-section>{{ $t('reg.elimina') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" src="./CMyRecCatalog.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CMyRecCatalog.scss';
|
||||
</style>
|
||||
1
src/components/CMyRecCatalog/index.ts
Executable file
1
src/components/CMyRecCatalog/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export { default as CMyRecCatalog } from './CMyRecCatalog.vue'
|
||||
@@ -30,6 +30,11 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: undefined,
|
||||
},
|
||||
addstrrequired: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
myclass: {
|
||||
type: String,
|
||||
required: false,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
@update:model-value="changeval"
|
||||
v-bind="$attrs"
|
||||
label-color="primary"
|
||||
:label="label"
|
||||
:label="addstrrequired + label"
|
||||
@filter="filterFn"
|
||||
@filter-abort="abortFilterFn"
|
||||
input-debounce="600"
|
||||
@@ -89,7 +89,7 @@
|
||||
:dense="dense"
|
||||
options-dense
|
||||
use-input
|
||||
:label="label"
|
||||
:label="addstrrequired + label"
|
||||
input-debounce="300"
|
||||
:input-class="myclass"
|
||||
:options="valori"
|
||||
@@ -137,7 +137,7 @@
|
||||
:multiple="true"
|
||||
:model-value="myarrvalue"
|
||||
label-color="primary"
|
||||
:label="label"
|
||||
:label="addstrrequired + label"
|
||||
@update:model-value="changeval"
|
||||
rounded
|
||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||
@@ -218,7 +218,7 @@
|
||||
@update:model-value="changeval"
|
||||
@filter="filterFn"
|
||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||
:label="label"
|
||||
:label="addstrrequired + label"
|
||||
:use-input="useinput"
|
||||
@new-value="newvaluefuncfirst"
|
||||
emit-value
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { ICatalogo, IMyScheda, IProduct, ISchedaSingola, IText } from '@src/model'
|
||||
import { IOptCatalogo, IMyScheda, IProduct, ISchedaSingola, IText } from '@src/model'
|
||||
|
||||
import { useProducts } from '@store/Products'
|
||||
import { useGlobalStore } from '@src/store/globalStore'
|
||||
@@ -24,7 +24,7 @@ export default defineComponent({
|
||||
required: true,
|
||||
},
|
||||
optcatalogo: {
|
||||
type: Object as PropType<ICatalogo>,
|
||||
type: Object as PropType<IOptCatalogo>,
|
||||
required: true,
|
||||
},
|
||||
scheda: {
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
<template>
|
||||
|
||||
<div v-if="!globalStore.serverError" class="q-ma-sm">
|
||||
<!--
|
||||
<CVerifyTelegram v-if="!tools.TelegVerificato() || !tools.isUsernameTelegOk()">
|
||||
|
||||
</CVerifyTelegram>
|
||||
-->
|
||||
|
||||
<div v-if="tools.isLogged() && (site.confpages.enableRegMultiChoice || (!site.confpages.enabledRegNeedTelegram))">
|
||||
<CVerifyEmail v-if="!tools.isEmailVerified() && !tools.TelegVerificato()">
|
||||
|
||||
@@ -1342,7 +1342,7 @@ h3 {
|
||||
font-family: WalterTurncoat, handwriting, Arial, sans-serif;
|
||||
font-size: 1.15rem;
|
||||
text-shadow: .05rem .05rem .05rem $grayshadow;
|
||||
letter-spacing: 0.25px;
|
||||
letter-spacing: 0px !important;
|
||||
}
|
||||
|
||||
.title_view_small_shadow {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<meta name="description" content="<%= productDescription %>">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="msapplication-tap-highlight" content="no">
|
||||
<meta name="version" content="1.1.18">
|
||||
<meta name="version" content="1.1.20">
|
||||
<meta name="viewport"
|
||||
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">
|
||||
|
||||
|
||||
36
src/model/CatalogStore.ts
Executable file
36
src/model/CatalogStore.ts
Executable file
@@ -0,0 +1,36 @@
|
||||
|
||||
export interface FotoCatalogo {
|
||||
imagefile: string
|
||||
alt: string
|
||||
description: string
|
||||
}
|
||||
|
||||
export interface FilesCataloghi {
|
||||
per_web: string
|
||||
per_stampa: string
|
||||
}
|
||||
|
||||
export interface ICatalog {
|
||||
idapp: string
|
||||
active?: boolean
|
||||
title: string
|
||||
foto_collana?: FotoCatalogo,
|
||||
idCollana?: string
|
||||
descr_introduttiva?: string
|
||||
idTemplateScheda?: string
|
||||
referenti?: string[]
|
||||
img_bordata_web?: FotoCatalogo,
|
||||
img_bordata_stampa?: FotoCatalogo,
|
||||
img_intro_web?: FotoCatalogo,
|
||||
img_intro_stampa?: FotoCatalogo,
|
||||
|
||||
generati?: FilesCataloghi,
|
||||
online?: FilesCataloghi,
|
||||
|
||||
date_created?: Date,
|
||||
date_updated?: Date,
|
||||
}
|
||||
|
||||
export interface ICatalogState {
|
||||
catalog?: ICatalog
|
||||
}
|
||||
@@ -167,7 +167,7 @@ export interface IMyElem {
|
||||
styleadd?: string
|
||||
list?: IImgGallery[]
|
||||
listcards?: IMyCard[]
|
||||
catalogo?: ICatalogo
|
||||
catalogo?: IOptCatalogo
|
||||
elemsText?: IElemText[]
|
||||
titleBanner: string
|
||||
classBanner: string
|
||||
@@ -818,7 +818,7 @@ export interface ISchedaSingola {
|
||||
arrProdToShow?: IProduct[][][]
|
||||
}
|
||||
|
||||
export interface ICatalogo {
|
||||
export interface IOptCatalogo {
|
||||
//++AddCATALOGO_FIELDS
|
||||
productTypes?: number[]
|
||||
excludeproductTypes?: number[]
|
||||
@@ -1029,6 +1029,12 @@ export interface ISearchList {
|
||||
visible: boolean
|
||||
}
|
||||
|
||||
export interface IOptGrid {
|
||||
rowclass?: boolean
|
||||
widthcard?: string
|
||||
heightcard?: string
|
||||
}
|
||||
|
||||
export interface IFilter {
|
||||
label: string
|
||||
value: string
|
||||
|
||||
@@ -35,7 +35,7 @@ export interface IProductInfo {
|
||||
idAuthors?: string[]
|
||||
authors?: string[]
|
||||
idCollana?: string
|
||||
collana?: string
|
||||
collana?: ICollana
|
||||
collezione?: string
|
||||
idPublisher?: string
|
||||
publisher?: IPublisher
|
||||
|
||||
@@ -12,3 +12,4 @@ export * from './Projects'
|
||||
export * from './Calendar'
|
||||
export * from './Estimate'
|
||||
export * from './Products'
|
||||
export * from './CatalogStore'
|
||||
|
||||
@@ -238,6 +238,20 @@ function getRoutesEcomm(site: ISites) {
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 35,
|
||||
path: '/admin/ecommerce/collane',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'mypages.collane',
|
||||
component: () => import('@/rootgen/admin/collane/collane.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
|
||||
@@ -839,7 +839,7 @@ const msg_enUs = {
|
||||
name: 'Livello',
|
||||
},
|
||||
statusSkill: {
|
||||
name: 'Di Persona / On Line',
|
||||
name: '👤 Di Persona / 💻 On Line',
|
||||
},
|
||||
store: {
|
||||
description: 'Descrizione',
|
||||
|
||||
@@ -14,8 +14,10 @@ const msg_it = {
|
||||
csv: 'Esporta Movimenti',
|
||||
},
|
||||
grid: {
|
||||
show_campi_avanzati: 'Mostra Campi Avanzati',
|
||||
advanced_filters: 'Filtri Avanzati',
|
||||
show_campi_avanzati: 'Visualizza campi aggiuntivi',
|
||||
hide_campi_avanzati: 'Nascondi campi aggiuntivi',
|
||||
advanced_filters: 'Vedi Altri Filtri ...',
|
||||
hide_advanced_filters: 'Nascondo Filtri ...',
|
||||
found: 'trovato',
|
||||
newrecord: 'Aggiungi',
|
||||
table: 'Tabella',
|
||||
@@ -1160,6 +1162,7 @@ const msg_it = {
|
||||
skill: {
|
||||
name: 'Categoria',
|
||||
city: 'Comune',
|
||||
cityorprovince: 'Comuni o Province',
|
||||
pub_to_share: 'Visibilità',
|
||||
photos: 'Foto',
|
||||
note: 'Note',
|
||||
@@ -1250,6 +1253,7 @@ const msg_it = {
|
||||
listinoprodotti: 'Listino Prodotti',
|
||||
productslist: 'Lista Prodotti',
|
||||
collabora: 'Collabora',
|
||||
collane: 'Collane',
|
||||
categories: 'Categorie',
|
||||
storehouses: 'Magazzino',
|
||||
providers: 'Fornitori',
|
||||
@@ -2002,6 +2006,13 @@ const msg_it = {
|
||||
totVen: 'Totale Venduti',
|
||||
totFat: 'Totale Fatturati',
|
||||
|
||||
},
|
||||
|
||||
cataloglist: {
|
||||
foto_collana: 'Foto Collana',
|
||||
referenti: 'Referenti',
|
||||
img_bordata_web: 'Foto Bordo per Web',
|
||||
collane: 'Collane',
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
34
src/store/CatalogStore.ts
Executable file
34
src/store/CatalogStore.ts
Executable file
@@ -0,0 +1,34 @@
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
import {
|
||||
IAccount,
|
||||
ICircuit, ICatalog, IGlobalState, IGroupShort, IMyCircuit, IMyGroup, IUserFields,
|
||||
ICatalogState
|
||||
} from '@src/model'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import translate from '@src/globalroutines/util'
|
||||
|
||||
import * as Types from '@src/store/Api/ApiTypes'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { serv_constants } from '@store/Modules/serv_constants'
|
||||
import { Api } from '@api'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { static_data } from '@src/db/static_data'
|
||||
|
||||
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { costanti } from '@costanti'
|
||||
|
||||
import globalroutines from '../globalroutines/index'
|
||||
|
||||
export const useCatalogStore = defineStore('CatalogStore', {
|
||||
state: (): ICatalogState => ({
|
||||
catalog: { idapp: '', title: '' }
|
||||
}),
|
||||
|
||||
getters: {},
|
||||
|
||||
actions: {
|
||||
|
||||
},
|
||||
})
|
||||
@@ -117,6 +117,55 @@ export const colmailinglist = [
|
||||
AddCol(DeleteRec),
|
||||
]
|
||||
|
||||
export const colTableCatalogList = [
|
||||
AddCol({ name: 'active', label_trans: 'myelems.active', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({ name: 'title', label_trans: 'gallery.title' }),
|
||||
AddCol({
|
||||
name: 'foto_collana',
|
||||
label_trans: 'cataloglist.foto_collana',
|
||||
fieldtype: costanti.FieldType.image,
|
||||
jointable: '',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCollana',
|
||||
label_trans: 'cataloglist.collane',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'collanas',
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'idTemplateScheda',
|
||||
label_trans: 'scheda.linkIdTemplate',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'collanas',
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'referenti',
|
||||
label_trans: 'cataloglist.referenti',
|
||||
fieldtype: costanti.FieldType.multiselect,
|
||||
jointable: 'friendsandme',
|
||||
field_outtype: costanti.FieldType.object,
|
||||
showWhen: costanti.showWhen.InView_OnlyifExist,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'img_bordata_web',
|
||||
label_trans: 'cataloglist.img_bordata_web',
|
||||
fieldtype: costanti.FieldType.image,
|
||||
jointable: '',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
AddCol({ name: 'idTemplateScheda', label_trans: 'scheda.linkIdTemplate', fieldtype: costanti.FieldType.string }),
|
||||
|
||||
AddCol(ModifRec),
|
||||
AddCol(DuplicateRec),
|
||||
AddCol(DeleteRec),
|
||||
|
||||
]
|
||||
|
||||
export const colgallery = [
|
||||
AddCol({ name: 'author_username', label_trans: 'gallery.author_username' }),
|
||||
AddCol({ name: 'title', label_trans: 'gallery.title' }),
|
||||
@@ -1031,7 +1080,7 @@ export const colmyUserGroup = [
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
@@ -1113,13 +1162,15 @@ export const colmyUserGroup = [
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'link_telegram', label_trans: 'reg.link_telegram', isadvanced_field: true, fieldtype: costanti.FieldType.link,
|
||||
name: 'link_telegram', label_trans: 'reg.link_telegram', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
icon: 'fab fa-telegram'
|
||||
icon: 'fab fa-telegram',
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
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
|
||||
name: 'website', label_trans: 'reg.website', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
|
||||
AddCol(ModifRec),
|
||||
@@ -1140,7 +1191,7 @@ export const colmyGoods = [
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
@@ -1152,14 +1203,6 @@ export const colmyGoods = [
|
||||
remote_field: 'comune',
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'pub_to_share',
|
||||
icon: 'fas fa-users',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'groupname',
|
||||
label_trans: 'proj.gruppo',
|
||||
@@ -1172,29 +1215,29 @@ export const colmyGoods = [
|
||||
AddCol({
|
||||
name: 'adType',
|
||||
label_trans: 'adTypes.name',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
fieldtype: costanti.FieldType.multioption,
|
||||
required: true,
|
||||
jointable: 'adtypes',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
icon: 'fas fa-bullhorn',
|
||||
noshowlabel: true,
|
||||
numpag_carousel: 1,
|
||||
inline: true,
|
||||
typeobj: 'radio',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'descr',
|
||||
label_trans: 'proj.shortdescr',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
noshowlabel: true,
|
||||
maxlength: 120,
|
||||
required: true,
|
||||
sortable: false,
|
||||
name: 'photos',
|
||||
label_trans: 'skill.photos',
|
||||
fieldtype: costanti.FieldType.listimages,
|
||||
jointable: '',
|
||||
showpicprofile_ifnotset: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'note', label_trans: 'proj.descrapprof', fieldtype: costanti.FieldType.html,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
titlepopupedit: 'Dettagli', field_extra1: 'username', subfield_extra1: '',
|
||||
// minlength: 50,
|
||||
isadvanced_field: true,
|
||||
required: false,
|
||||
}),
|
||||
AddCol({
|
||||
@@ -1230,7 +1273,13 @@ export const colmyGoods = [
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-hand-holding',
|
||||
// icon: 'fas fa-hands-helping',
|
||||
// isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idShipping',
|
||||
@@ -1241,7 +1290,7 @@ export const colmyGoods = [
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-shipping-fast',
|
||||
// icon: 'fas fa-hands-helping',
|
||||
// isadvanced_field: true,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'otherfilters',
|
||||
@@ -1252,7 +1301,16 @@ export const colmyGoods = [
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-filter',
|
||||
// icon: 'fas fa-hands-helping',
|
||||
// isadvanced_field: true,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'pub_to_share',
|
||||
icon: 'fas fa-users',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'date_created', label_trans: 'event.dateCreated', fieldtype: costanti.FieldType.onlydate,
|
||||
@@ -1261,22 +1319,6 @@ export const colmyGoods = [
|
||||
sortable: true,
|
||||
showWhen: 0
|
||||
}),
|
||||
AddCol({
|
||||
name: 'photos',
|
||||
label_trans: 'skill.photos',
|
||||
fieldtype: costanti.FieldType.listimages,
|
||||
jointable: '',
|
||||
showpicprofile_ifnotset: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
}),
|
||||
/*AddCol({
|
||||
name: 'idSubSkill',
|
||||
label_trans: 'skill.subskill',
|
||||
@@ -1368,7 +1410,7 @@ export const colAttivita = [
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
@@ -1455,6 +1497,22 @@ export const colAttivita = [
|
||||
|
||||
|
||||
export const colmySkills = [
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
remote_table: 'mycities',
|
||||
remote_key: '_id',
|
||||
remote_field: 'comune',
|
||||
required: true,
|
||||
showonlyif_dipersona: true,
|
||||
numpag_carousel: 1,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'adType',
|
||||
label_trans: 'adTypes.name',
|
||||
@@ -1492,22 +1550,6 @@ export const colmySkills = [
|
||||
noshowlabel: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
remote_table: 'mycities',
|
||||
remote_key: '_id',
|
||||
remote_field: 'comune',
|
||||
required: true,
|
||||
showonlyif_dipersona: true,
|
||||
numpag_carousel: 2,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'descr',
|
||||
label_trans: 'proj.shortdescr',
|
||||
@@ -1534,7 +1576,6 @@ export const colmySkills = [
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
titlepopupedit: 'Dettagli', field_extra1: 'username', subfield_extra1: '',
|
||||
required: false,
|
||||
isadvanced_field: true,
|
||||
numpag_carousel: 3,
|
||||
}),
|
||||
AddCol({
|
||||
@@ -1575,13 +1616,6 @@ export const colmySkills = [
|
||||
// isadvanced_field: true,
|
||||
numpag_carousel: 5,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'groupname',
|
||||
label_trans: 'proj.gruppo',
|
||||
@@ -1591,6 +1625,14 @@ export const colmySkills = [
|
||||
link: '/mygrp/groupname',
|
||||
noshowlabel: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
@@ -1602,9 +1644,10 @@ export const colmySkills = [
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'website', label_trans: 'reg.website', isadvanced_field: true, fieldtype: costanti.FieldType.link,
|
||||
name: 'website', label_trans: 'reg.website', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
numpag_carousel: 6,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
/*AddCol({
|
||||
name: 'numLevel',
|
||||
@@ -1643,6 +1686,21 @@ export const colmyHosp = [
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
remote_table: 'mycities',
|
||||
remote_key: '_id',
|
||||
remote_field: 'comune',
|
||||
sortable: false,
|
||||
required: true,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'visibile', label_trans: 'hosps.visibile', fieldtype: costanti.FieldType.boolean,
|
||||
@@ -1652,12 +1710,15 @@ export const colmyHosp = [
|
||||
AddCol({
|
||||
name: 'adType',
|
||||
label_trans: 'adTypes.name',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
fieldtype: costanti.FieldType.multioption,
|
||||
required: true,
|
||||
jointable: 'adtypes',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
icon: 'fas fa-bullhorn',
|
||||
noshowlabel: true,
|
||||
numpag_carousel: 1,
|
||||
inline: true,
|
||||
typeobj: 'radio',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'typeHosp',
|
||||
@@ -1704,21 +1765,6 @@ export const colmyHosp = [
|
||||
sortable: false,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
remote_table: 'mycities',
|
||||
remote_key: '_id',
|
||||
remote_field: 'comune',
|
||||
sortable: false,
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
@@ -1745,7 +1791,6 @@ export const colmyHosp = [
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-hand-holding',
|
||||
// icon: 'fas fa-hands-helping',
|
||||
isadvanced_field: false,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
@@ -1762,7 +1807,6 @@ export const colmyHosp = [
|
||||
name: 'note', label_trans: 'proj.descrapprof', fieldtype: costanti.FieldType.html,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
titlepopupedit: 'Dettagli', field_extra1: 'username', subfield_extra1: '',
|
||||
isadvanced_field: true,
|
||||
required: false,
|
||||
sortable: false,
|
||||
}),
|
||||
@@ -1773,18 +1817,27 @@ export const colmyHosp = [
|
||||
jointable: '',
|
||||
showpicprofile_ifnotset: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'link_maplocation', label_trans: 'reg.link_maplocation', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
sortable: false,
|
||||
isadvanced_field: true,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'link_maplocation', label_trans: 'reg.link_maplocation', isadvanced_field: true, fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'website', label_trans: 'reg.website', isadvanced_field: true, fieldtype: costanti.FieldType.link,
|
||||
name: 'website', label_trans: 'reg.website', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
sortable: false,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'date_created', label_trans: 'event.dateCreated', fieldtype: costanti.FieldType.onlydate,
|
||||
@@ -1828,7 +1881,6 @@ export const colmyBachecas = [
|
||||
jointable: '',
|
||||
showpicprofile_ifnotset: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
isadvanced_field: true,
|
||||
sortable: false,
|
||||
}),
|
||||
|
||||
@@ -1862,6 +1914,7 @@ export const colmyBachecas = [
|
||||
// fieldtype_real: costanti.FieldType.onlydate,
|
||||
// fieldtype: costanti.FieldType.onlydate,
|
||||
icon: 'fas fa-calendar-day',
|
||||
required: true,
|
||||
}),
|
||||
AddCol(
|
||||
{
|
||||
@@ -1873,10 +1926,11 @@ export const colmyBachecas = [
|
||||
// fieldtype_real: costanti.FieldType.onlydate,
|
||||
icon: 'fas fa-calendar-day',
|
||||
sortable: false,
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
@@ -1920,7 +1974,6 @@ export const colmyBachecas = [
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
titlepopupedit: 'Dettagli', field_extra1: 'username', subfield_extra1: '',
|
||||
required: false,
|
||||
isadvanced_field: true,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
@@ -1928,18 +1981,6 @@ export const colmyBachecas = [
|
||||
label_trans: 'event.address',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'link_maplocation', label_trans: 'reg.link_maplocation', isadvanced_field: true, fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
icon: 'fas fa-users',
|
||||
jointable: 'pub_to_share',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'organisedBy',
|
||||
label_trans: 'event.organisedBy_insert',
|
||||
@@ -1947,28 +1988,52 @@ export const colmyBachecas = [
|
||||
required: false,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'link_maplocation', label_trans: 'reg.link_maplocation', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
sortable: false,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'website', label_trans: 'reg.website', fieldtype: costanti.FieldType.link,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
sortable: false,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'contact_phone',
|
||||
label_trans: 'event.contact_phone',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'contact_email',
|
||||
label_trans: 'event.contact_email',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'contact_telegram',
|
||||
label_trans: 'event.contact_telegram',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
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,
|
||||
name: 'min_partecip', label_trans: 'event.min_partecip', fieldtype: costanti.FieldType.number,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'max_partecip', label_trans: 'event.max_partecip', fieldtype: costanti.FieldType.number,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
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({
|
||||
name: 'idContribType',
|
||||
label_trans: 'contribtype.name',
|
||||
@@ -1978,18 +2043,21 @@ export const colmyBachecas = [
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-hand-holding',
|
||||
// icon: 'fas fa-hands-helping',
|
||||
isadvanced_field: false,
|
||||
isadvanced_field: true,
|
||||
sortable: false,
|
||||
}),
|
||||
AddCol({ name: 'contribstr', label_trans: 'event.contribstr', fieldtype: costanti.FieldType.string }),
|
||||
/*AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
sortable: false,
|
||||
}),*/
|
||||
AddCol({
|
||||
name: 'contribstr', label_trans: 'event.contribstr', fieldtype: costanti.FieldType.string,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
icon: 'fas fa-users',
|
||||
jointable: 'pub_to_share',
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'date_created', label_trans: 'event.dateCreated', fieldtype: costanti.FieldType.onlydate,
|
||||
required: false,
|
||||
@@ -2342,18 +2410,18 @@ export const colTableGestoreOrdini = [
|
||||
]
|
||||
|
||||
export const colTableVariazioni = [
|
||||
AddCol({ name: '_id', label_trans: 'catalogo.id', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'price', label_trans: 'catalogo.prezzo', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'sale_price', label_trans: 'catalogo.prezzo_scontato', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'quantita', label_trans: 'catalogo.quantita', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'availability', label_trans: 'catalogo.availability', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'formato', label_trans: 'catalogo.formato', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'misure', label_trans: 'catalogo.misure', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'tipologia', label_trans: 'catalogo.tipologia', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'edizione', label_trans: 'catalogo.edizione', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'preOrderDate', label_trans: 'catalogo.preOrderDate', fieldtype: costanti.FieldType.date }),
|
||||
AddCol({ name: 'addtocart_link', label_trans: 'catalogo.addtocart_link', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'eta', label_trans: 'catalogo.eta', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: '_id', label_trans: 'catalogo.id', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'price', label_trans: 'catalogo.prezzo', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'sale_price', label_trans: 'catalogo.prezzo_scontato', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'quantita', label_trans: 'catalogo.quantita', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'availability', label_trans: 'catalogo.availability', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'formato', label_trans: 'catalogo.formato', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'misure', label_trans: 'catalogo.misure', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'tipologia', label_trans: 'catalogo.tipologia', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'edizione', label_trans: 'catalogo.edizione', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'preOrderDate', label_trans: 'catalogo.preOrderDate', fieldtype: costanti.FieldType.date }),
|
||||
AddCol({ name: 'addtocart_link', label_trans: 'catalogo.addtocart_link', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'eta', label_trans: 'catalogo.eta', fieldtype: costanti.FieldType.string }),
|
||||
]
|
||||
|
||||
export const colTableProductInfos = [
|
||||
@@ -3614,7 +3682,7 @@ export const colTableCircuitComplete = [
|
||||
AddCol({ name: 'longdescr', label_trans: 'circuit.descr', fieldtype: costanti.FieldType.html }),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
@@ -3742,7 +3810,7 @@ export const colTableCircuit = [
|
||||
AddCol({ name: 'longdescr', label_trans: 'circuit.descr', fieldtype: costanti.FieldType.html }),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
label_trans: 'skill.cityorprovince',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
@@ -3992,12 +4060,12 @@ export const fieldsTable = {
|
||||
} else
|
||||
return null
|
||||
},
|
||||
getArrColsByTable(mytable: string) {
|
||||
getArrColsByTable(mytable: string): any[] {
|
||||
const tablerec: any = this.tablesList.find((rec) => rec.value === mytable)
|
||||
if (tablerec && tablerec.columns) {
|
||||
return tablerec.columns
|
||||
} else
|
||||
return null
|
||||
return []
|
||||
},
|
||||
getKeyByTable(mytable: string): string {
|
||||
const myrec = this.getrecTableList(mytable)
|
||||
@@ -4873,6 +4941,13 @@ export const fieldsTable = {
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: 'catalogs',
|
||||
label: 'Lista Cataloghi',
|
||||
columns: colTableCatalogList,
|
||||
colkey: '_id',
|
||||
collabel: 'title',
|
||||
},
|
||||
],
|
||||
|
||||
}
|
||||
|
||||
@@ -21,8 +21,9 @@ import {
|
||||
IImg,
|
||||
IText,
|
||||
IAreaDiStampa,
|
||||
ICatalogo,
|
||||
IOptCatalogo,
|
||||
IPagina,
|
||||
IUserProfile,
|
||||
} from '@model'
|
||||
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
@@ -5405,6 +5406,24 @@ export const tools = {
|
||||
return userStore.my.verified_email!
|
||||
},
|
||||
|
||||
isEmailVerifiedByUser(userprofile: IUserFields): boolean {
|
||||
return userprofile.verified_email!
|
||||
},
|
||||
|
||||
isUsernameTelegOkByUser(userprofile: IUserFields): boolean {
|
||||
return !!userprofile.profile.username_telegram
|
||||
},
|
||||
|
||||
getLinkUserTelegramByUser(userprofile: IUserFields) {
|
||||
|
||||
if (userprofile) {
|
||||
if (!!userprofile.profile.username_telegram) {
|
||||
return 'https://t.me/' + userprofile.profile.username_telegram
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
|
||||
TelegCode() {
|
||||
const userStore = useUserStore()
|
||||
@@ -7395,6 +7414,14 @@ export const tools = {
|
||||
link_telegram: '',
|
||||
}
|
||||
},
|
||||
getdefaultnewrec_Catalog(): any {
|
||||
return {
|
||||
title: '',
|
||||
active: true,
|
||||
idCollana: '',
|
||||
}
|
||||
},
|
||||
|
||||
getdefaultnewrec_Circuit(): any {
|
||||
return {
|
||||
name: '',
|
||||
@@ -7508,6 +7535,12 @@ export const tools = {
|
||||
// if ((userStore.isAdmin || userStore.isManager))
|
||||
// return true
|
||||
|
||||
if (shared_consts.TABLES_PER_EDITORI.includes(tablesel)) {
|
||||
if (userStore.isEditor || userStore.isAdmin) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
if (shared_consts.TABLES_WITH_ADMINS.includes(tablesel)) {
|
||||
if (userStore.isAdmin)
|
||||
return true
|
||||
@@ -7520,7 +7553,7 @@ export const tools = {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (rec.hasOwnProperty('userId')) {
|
||||
@@ -8037,6 +8070,7 @@ export const tools = {
|
||||
try {
|
||||
let username = myrow.hasOwnProperty('username') ? myrow['username'] : ''
|
||||
const userId = myrow.hasOwnProperty('userId') ? myrow['userId'] : ''
|
||||
const id = myrow.hasOwnProperty('_id') ? myrow['_id'] : ''
|
||||
|
||||
if (username === '') {
|
||||
if (userId === userStore.my._id)
|
||||
@@ -8055,6 +8089,8 @@ export const tools = {
|
||||
} else if (table === 'circuits') {
|
||||
if (myrow.hasOwnProperty('path'))
|
||||
ris = 'circuits/' + myrow['path']
|
||||
} else if (table === 'catalogs') {
|
||||
ris = 'catalogs/' + id
|
||||
} else if (!!myrow && !!myrow.directory) {
|
||||
ris = myrow.directory
|
||||
} else if (table === 'myelems') {
|
||||
@@ -8205,13 +8241,14 @@ export const tools = {
|
||||
|
||||
getoptionsMainCards(only: boolean) {
|
||||
let myarr = []
|
||||
let obj = { label: '', value: '', icon: '' }
|
||||
let obj = { label: '', value: '', icon: '', color: '' }
|
||||
for (let i = 0; i < costanti.MAINCARDS.length; i++) {
|
||||
let rec: any = costanti.MAINCARDS[i]
|
||||
if (rec.table && rec.showinoptions) {
|
||||
obj.label = rec.title
|
||||
obj.value = rec.table
|
||||
obj.icon = rec.icon
|
||||
obj.color = rec.color
|
||||
myarr.push({ ...obj })
|
||||
}
|
||||
}
|
||||
@@ -8398,6 +8435,8 @@ export const tools = {
|
||||
return tools.getdefaultnewrec_MyGroup()
|
||||
} else if (table === toolsext.TABCIRCUITS) {
|
||||
return tools.getdefaultnewrec_Circuit()
|
||||
} else if (table === toolsext.TABCATALOGS) {
|
||||
return tools.getdefaultnewrec_Catalog()
|
||||
}
|
||||
return null
|
||||
},
|
||||
@@ -8606,6 +8645,10 @@ export const tools = {
|
||||
},
|
||||
}
|
||||
|
||||
} else if (table === toolsext.TABCATALOGS) {
|
||||
return {
|
||||
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
// Servizi
|
||||
@@ -9460,7 +9503,7 @@ export const tools = {
|
||||
return myrec
|
||||
},
|
||||
|
||||
adjustSize(optcatalogo: ICatalogo, mysize: any, add: number = 0) {
|
||||
adjustSize(optcatalogo: IOptCatalogo, mysize: any, add: number = 0) {
|
||||
if (!mysize) {
|
||||
return '';
|
||||
}
|
||||
@@ -9551,7 +9594,7 @@ export const tools = {
|
||||
return jsonResult;
|
||||
},
|
||||
|
||||
getScale(optcatalogo: ICatalogo) {
|
||||
getScale(optcatalogo: IOptCatalogo) {
|
||||
if (optcatalogo.printable && optcatalogo.generazionePDFInCorso)
|
||||
return optcatalogo.areadistampa!.scale_printable
|
||||
else
|
||||
|
||||
@@ -83,6 +83,7 @@ export const toolsext = {
|
||||
TABEXTRALIST: 'extralist',
|
||||
TABNEWSLETTER: 'newstosent',
|
||||
TABGALLERY: 'gallery',
|
||||
TABCATALOGS: 'catalogs',
|
||||
TABMAILINGLIST: 'mailinglist',
|
||||
TABGROUPS: 'groups',
|
||||
TABMYPAGE: 'mypages',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IBaseOrder, ICart, IOrder, IOrderCart, IProduct, IProductsState, IProductInfo, ICatProd, IUserShort, IGasordine, IAuthor, ISubCatProd, IText, ICatalogo } from 'model'
|
||||
import { IBaseOrder, ICart, IOrder, IOrderCart, IProduct, IProductsState, IProductInfo, ICatProd, IUserShort, IGasordine, IAuthor, ISubCatProd, IText, IOptCatalogo } from 'model'
|
||||
|
||||
import { Api } from '@api'
|
||||
import { serv_constants } from '@src/store/Modules/serv_constants'
|
||||
@@ -1264,7 +1264,7 @@ export const useProducts = defineStore('Products', {
|
||||
return globalStore.gasordines.filter((rec) => rec.active)
|
||||
},
|
||||
|
||||
getAutoriByArrayAuthors(authors: IAuthor[] | null) {
|
||||
getAutoriByArrayAuthors(authors?: IAuthor[]) {
|
||||
// Gestione degli autori
|
||||
let authorString = '';
|
||||
if (authors && Array.isArray(authors)) {
|
||||
@@ -1295,12 +1295,13 @@ export const useProducts = defineStore('Products', {
|
||||
}
|
||||
},
|
||||
|
||||
replaceKeyWordsByProduct(optcatalogo: ICatalogo, myproduct: IProduct, testo: IText) {
|
||||
replaceKeyWordsByProduct(optcatalogo: IOptCatalogo, myproduct: IProduct, testo: IText) {
|
||||
if (!myproduct || !testo.contenuto) {
|
||||
return testo.contenuto;
|
||||
}
|
||||
|
||||
const autori = this.getAutoriByArrayAuthors(myproduct.productInfo.authors)
|
||||
const collana = myproduct.productInfo.collana
|
||||
|
||||
|
||||
const maxDescriptionLength = testo.maxlength ?? 100;
|
||||
@@ -1388,6 +1389,8 @@ export const useProducts = defineStore('Products', {
|
||||
'{ranking}': ranking || '',
|
||||
'{venduti}': venduti || '',
|
||||
'{formato}': formato || '',
|
||||
'{collana_title}': collana ? collana.descrizione || '' : '',
|
||||
'{collana_descr}': collana ? collana.descrizione_estesa || '' : '',
|
||||
'{prezzo}': prezzo || '',
|
||||
'{scale}': scale || '',
|
||||
'{prezzo_scontato}': prezzo_scontato || '',
|
||||
|
||||
@@ -41,6 +41,7 @@ import { routesECommerce } from '@src/router/routesECommerce'
|
||||
import { routesAI } from '@src/router/routesAI'
|
||||
import LandingFooter from '@src/components/LandingFooter/LandingFooter'
|
||||
import { useProducts } from '@store/Products'
|
||||
import { useCatalogStore } from './CatalogStore'
|
||||
|
||||
const stateConnDefault = 'online'
|
||||
|
||||
@@ -359,6 +360,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
const Products = useProducts()
|
||||
const circuitStore = useCircuitStore()
|
||||
const userStore = useUserStore()
|
||||
const catalogStore = useCatalogStore()
|
||||
const messageStore = useMessageStore()
|
||||
const notifStore = useNotifStore()
|
||||
|
||||
@@ -383,6 +385,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
else if (table === toolsext.TABMAILINGLIST) ris = state.mailinglist
|
||||
else if (table === toolsext.TABMYPAGE) ris = state.mypage
|
||||
else if (table === toolsext.TABMYELEMS) ris = state.myelems
|
||||
else if (table === toolsext.TABCATALOGS) ris = catalogStore.catalog!
|
||||
else if (table === toolsext.TABCALZOOM) ris = state.calzoom
|
||||
else if (table === 'producers') ris = state.producers
|
||||
else if (table === 'storehouses') ris = state.storehouses
|
||||
@@ -446,6 +449,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
return state.sectorgoods
|
||||
else if (table === 'catgrps')
|
||||
return state.catgrps
|
||||
else if (table === 'collanas')
|
||||
return Products.collane
|
||||
else if (table === 'provinces')
|
||||
return state.provinces.filter((rec: IProvince) => (!rec.card) && (rec.prov !== 'ITA') && (rec.prov !== 'EST'))
|
||||
else if (table === 'cards') {
|
||||
@@ -1694,6 +1699,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
const calendarStore = useCalendarStore()
|
||||
const circuitStore = useCircuitStore()
|
||||
const Products = useProducts()
|
||||
const catalogStore = useCatalogStore()
|
||||
|
||||
// console.log('calendarStore: loadAfterLogin')
|
||||
// Load local data
|
||||
@@ -1719,6 +1725,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
circuitStore.listcircuits = (res.data.listcircuits) ? res.data.listcircuits : []
|
||||
circuitStore.listaccounts = (res.data.listaccounts) ? res.data.listaccounts : []
|
||||
|
||||
catalogStore.catalog = res.data.catalogs
|
||||
|
||||
this.settings = (res.data.settings) ? [...res.data.settings] : []
|
||||
this.disciplines = (res.data.disciplines) ? [...res.data.disciplines] : []
|
||||
this.paymenttypes = (res.data.paymenttypes) ? [...res.data.paymenttypes] : []
|
||||
@@ -2447,7 +2455,32 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
|
||||
},
|
||||
|
||||
SchedeOpt() {
|
||||
const arrschede: ISchedaSingola[] = this.getMySchede()
|
||||
|
||||
let arr: any = []
|
||||
|
||||
arr.push({ label: '[Nessuna]', value: '' })
|
||||
|
||||
if (arrschede) {
|
||||
arrschede.forEach((recscheda: ISchedaSingola) => {
|
||||
let pagename = ''
|
||||
if (recscheda.scheda) {
|
||||
if (recscheda.idPageOrig) {
|
||||
const page = this.getPageById(recscheda.idPageOrig)
|
||||
pagename = page ? page.title! : ''
|
||||
}
|
||||
if (pagename)
|
||||
pagename = '[Pag: ' + pagename + '] '
|
||||
|
||||
const mylabel = pagename + (recscheda.scheda ? recscheda.scheda!.name : '')
|
||||
arr.push({ label: mylabel, value: recscheda.scheda!._id })
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return arr
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import { CProductCard } from '@src/components/CProductCard'
|
||||
import { CMySelect } from '@src/components/CMySelect'
|
||||
import { CContainerCatalogoCard } from '@src/components/CContainerCatalogoCard'
|
||||
import { CSelectUserActive } from '@src/components/CSelectUserActive'
|
||||
import { ICatalogo, IDimensioni, IFilterCatalogo, IMyScheda, IProdView, IProduct, ISchedaSingola, ISearchList } from 'model'
|
||||
import { IOptCatalogo, IDimensioni, IFilterCatalogo, IMyScheda, IProdView, IProduct, ISchedaSingola, ISearchList } from 'model'
|
||||
|
||||
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
@@ -25,7 +25,7 @@ export default defineComponent({
|
||||
emits: ['update:modelValue', 'updateCatalogo'],
|
||||
props: {
|
||||
modelValue: {
|
||||
type: Object as PropType<ICatalogo>,
|
||||
type: Object as PropType<IOptCatalogo>,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
@@ -42,7 +42,7 @@ export default defineComponent({
|
||||
|
||||
const pdfContent = ref(null);
|
||||
|
||||
const optcatalogo = ref(<ICatalogo>{ ...props.modelValue });
|
||||
const optcatalogo = ref(<IOptCatalogo>{ ...props.modelValue });
|
||||
|
||||
function updateCatalogoPadre() {
|
||||
console.log('catalogo.ts PADRE')
|
||||
@@ -51,7 +51,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
// Metodo per aggiornare optcatalogo
|
||||
const updateOptCatalogo = <K extends keyof ICatalogo>(key: K, value: ICatalogo[K]) => {
|
||||
const updateOptCatalogo = <K extends keyof IOptCatalogo>(key: K, value: IOptCatalogo[K]) => {
|
||||
optcatalogo.value[key] = value;
|
||||
updateCatalogoPadre()
|
||||
}
|
||||
@@ -780,14 +780,14 @@ export default defineComponent({
|
||||
function groupedPages(recscheda: ISchedaSingola) {
|
||||
return recscheda.arrProdToShow
|
||||
}
|
||||
function generateStyleCatalogo(optcatalogo: ICatalogo) {
|
||||
function generateStyleCatalogo(optcatalogo: IOptCatalogo) {
|
||||
|
||||
return {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function generateStylePageScheda(optcatalogo: ICatalogo, scheda: IMyScheda) {
|
||||
function generateStylePageScheda(optcatalogo: IOptCatalogo, scheda: IMyScheda) {
|
||||
const marginTop = scheda.dimensioni?.pagina?.dimensioni?.margini?.top ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.top) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.top) || '')
|
||||
const marginBottom = scheda.dimensioni?.pagina?.dimensioni?.margini?.bottom ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.bottom) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.bottom) || '')
|
||||
const marginLeft = scheda.dimensioni?.pagina?.dimensioni?.margini?.left ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.left) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.left) || '')
|
||||
@@ -835,7 +835,7 @@ export default defineComponent({
|
||||
};
|
||||
}
|
||||
|
||||
function generateStyleByPageDim(optcatalogo: ICatalogo, mypage: IDimensioni) {
|
||||
function generateStyleByPageDim(optcatalogo: IOptCatalogo, mypage: IDimensioni) {
|
||||
const marginTop = mypage!.margini?.top ? tools.adjustSize(optcatalogo, mypage!.margini?.top) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.top) || '')
|
||||
const marginBottom = mypage!.margini?.bottom ? tools.adjustSize(optcatalogo, mypage!.margini?.bottom) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.bottom) || '')
|
||||
const marginLeft = mypage!.margini?.left ? tools.adjustSize(optcatalogo, mypage!.margini?.left) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.left) || '')
|
||||
@@ -883,10 +883,10 @@ export default defineComponent({
|
||||
};
|
||||
}
|
||||
|
||||
function getWidthPagina(optcatalogo: ICatalogo, scheda: IMyScheda) {
|
||||
function getWidthPagina(optcatalogo: IOptCatalogo, scheda: IMyScheda) {
|
||||
return scheda.dimensioni?.pagina?.dimensioni?.size?.width ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.size?.width) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.width) ?? '')
|
||||
}
|
||||
function getHeightPagina(optcatalogo: ICatalogo, scheda: IMyScheda) {
|
||||
function getHeightPagina(optcatalogo: IOptCatalogo, scheda: IMyScheda) {
|
||||
return scheda.dimensioni?.pagina?.dimensioni?.size?.height ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.size?.height) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.height) ?? '')
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
<div v-if="isDebugOn" class="bg-red text-white">
|
||||
<span v-if="!!tools.isLogged()">Logged: {{ tools.isLogged() }}</span> -
|
||||
<span v-if="!!tools.isUserOk()">UserOk: {{ tools.isUserOk() }}</span> -
|
||||
<span>tools.isEmailVerified(): {{ tools.isEmailVerified() }}</span> -
|
||||
<span>tools.getLinkUserTelegramByUser(): {{ tools.getLinkUserTelegramByUser(userStore.userprofile) }}</span> -
|
||||
<span v-if="caricato">caricato: {{ caricato }}</span> -
|
||||
<span v-if="userStore.userprofile"
|
||||
>userStore.userprofile: {{ userStore.userprofile.username }}</span
|
||||
@@ -827,12 +829,12 @@
|
||||
v-if="userStore.isFacilitatore || userStore.isAdmin"
|
||||
color="green"
|
||||
:icon="
|
||||
userStore.userprofile.profile.da_contattare
|
||||
userStore.userprofile.profile && userStore.userprofile.profile.da_contattare
|
||||
? 'fas fa-user-slash'
|
||||
: 'fas fa-comment'
|
||||
"
|
||||
:label="
|
||||
userStore.userprofile.profile.da_contattare
|
||||
userStore.userprofile.profile && userStore.userprofile.profile.da_contattare
|
||||
? $t('profile.togli_da_contattare')
|
||||
: $t('profile.da_contattare')
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user