+
{{ t('cal.when') }}:
-
+
-
-
+
+
{{ addOrUpdateEvent() }} {{ t('cal.event') }}
-
+
-
+
-
+
-
+
@@ -507,28 +557,40 @@
-
+
-
-
+
+
{{ t('cal.booking') }}
-
+
@@ -548,16 +610,20 @@
>
{{ myevent.title }}
-
+
{{ t('cal.when') }}:
-
+
-
+
+
+
-
-
-
-
+
+
{{ t('cal.booking') }}
-
+
@@ -786,12 +854,13 @@
>
{{ myevent.title }}
-
+
{{ t('cal.when') }}:
-
+
@@ -812,18 +881,17 @@
-
+
@@ -956,20 +1024,13 @@
class="q-ma-xs"
:class="badgeClasses(event, 'header')"
:style="badgeStyles(event, 'header')"
- style="
- width: 10px;
- max-width: 10px;
- height: 10px;
- max-height: 10px;
- "
+ style="width: 10px; max-width: 10px; height: 10px; max-height: 10px"
>
@@ -1139,9 +1189,7 @@
clickable
@click="duplicateEvent(myevent, 7, 4)"
>
- 4 Eventi ogni Settimana
+ 4 Eventi ogni Settimana
@@ -1187,22 +1235,17 @@
-
-
+
+
- Evento Interno:
@@ -1247,17 +1290,15 @@
-
+
{{ t('cal.teacher') }}:
- {{ t('cal.teacher') }}:
@@ -1265,18 +1306,17 @@
-
+
- {{ t('cal.where') }}:
-
+ {{ t('cal.where') }}:
@@ -1293,13 +1333,17 @@
-
+
{{ t('event.price') }}:{{ t('event.price') }}:
-
+
- {{
- getPrice(event)
- }}
+ {{ getPrice(event) }}
@@ -1418,8 +1460,7 @@
-
+
diff --git a/src/components/CFinder/CFinder.ts b/src/components/CFinder/CFinder.ts
index 49f8a662..ad311293 100755
--- a/src/components/CFinder/CFinder.ts
+++ b/src/components/CFinder/CFinder.ts
@@ -306,7 +306,7 @@ export default defineComponent({
}
function getFilterGoods(recGood: any, index: number, arr: any) {
- const recsectorGoods: any = searchList.value.find((rec) => rec.table === 'sectorgoods')
+ const recsectorGoods: any = searchList.value.find((rec) => rec.table === toolsext.TABSECTORGOODS)
// console.log('getFilterSkills', recSkill.idSector, recsectors.value)
if (recsectorGoods && recGood.idSectorGood) {
return recGood.idSectorGood.includes(recsectorGoods.value)
@@ -314,6 +314,15 @@ export default defineComponent({
return true
}
}
+ function getFilterBachecas(recBacheca: any, index: number, arr: any) {
+ const recsectorBachecas: any = searchList.value.find((rec) => rec.table === toolsext.TABSECTORBACHECAS)
+ // console.log('getFilterSkills', recSkill.idSector, recsectors.value)
+ if (recsectorBachecas && recBacheca.idSectorBacheca) {
+ return recBacheca.idSectorBacheca.includes(recsectorBachecas.value)
+ } else {
+ return true
+ }
+ }
function getFilterSubSkills(recSubSkill: any, index: number, arr: any) {
const recskills: any = searchList.value.find((rec) => rec.table === 'skills')
@@ -614,9 +623,9 @@ export default defineComponent({
{
visible: true,
label: 'Settore',
- table: toolsext.TABSECTORS,
- key: 'idSector',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORS, 0, true),
+ table: toolsext.TABSECTORBACHECAS,
+ key: 'idSectorBacheca',
+ value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORBACHECAS, 0, true),
arrvalue: [],
type: costanti.FieldType.select,
filter: null,
@@ -624,6 +633,19 @@ export default defineComponent({
notinsearch: false,
useinput: false,
},
+ {
+ visible: true,
+ label: 'Categoria',
+ table: 'bachecas',
+ key: 'idBacheca',
+ value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORBACHECAS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
+ arrvalue: [],
+ type: costanti.FieldType.select,
+ addall: true,
+ filter: getFilterBachecas,
+ showcount: true,
+ useinput: false,
+ },
{
visible: true,
label: 'Data Inizio',
@@ -898,7 +920,7 @@ export default defineComponent({
{
visible: true,
label: 'Settore',
- table: 'sectorgoods',
+ table: toolsext.TABSECTORGOODS,
key: 'idSectorGood',
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORGOODS, 0, true),
arrvalue: [],
@@ -911,7 +933,7 @@ export default defineComponent({
{
visible: true,
label: 'Categoria',
- table: 'goods',
+ table: toolsext.TABGOODS,
key: 'idGood',
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORGOODS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
arrvalue: [],
diff --git a/src/components/CGridOriz/CGridOriz.ts b/src/components/CGridOriz/CGridOriz.ts
index 6d950eed..10289cc8 100755
--- a/src/components/CGridOriz/CGridOriz.ts
+++ b/src/components/CGridOriz/CGridOriz.ts
@@ -1,25 +1,33 @@
import {
computed,
- provide, defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRef, toRefs, watch,
-} from 'vue'
+ provide,
+ defineComponent,
+ onBeforeMount,
+ onBeforeUnmount,
+ onMounted,
+ ref,
+ toRef,
+ toRefs,
+ watch,
+} from 'vue';
-import { tools } from '@tools'
-import { CMyFieldDb } from '@/components/CMyFieldDb'
-import { costanti } from '@costanti'
-import { useGlobalStore } from '@store/globalStore'
-import { useUserStore } from '@store/UserStore'
+import { tools } from '@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 { CTitlePage } from '@/components/CTitlePage';
+import { CGridTableRec } from '@/components/CGridTableRec';
import type { IColGridTable, ISearchList } from 'model';
-import { IMyBacheca, IMySkill, ISkill, TipoVisu } from 'model'
-import { shared_consts } from '@/common/shared_vuejs'
-import { useI18n } from 'vue-i18n'
-import { toolsext } from '@store/Modules/toolsext'
-import { fieldsTable } from '@store/Modules/fieldsTable'
-import { useQuasar } from 'quasar'
+import { IMyBacheca, IMySkill, ISkill, TipoVisu } from 'model';
+import { shared_consts } from '@/common/shared_vuejs';
+import { useI18n } from 'vue-i18n';
+import { toolsext } from '@store/Modules/toolsext';
+import { fieldsTable } from '@store/Modules/fieldsTable';
+import { useQuasar } from 'quasar';
-import { func } from '@/store/Modules/fieldsTable'
+import { func } from '@/store/Modules/fieldsTable';
export default defineComponent({
name: 'CGridOriz',
@@ -76,46 +84,47 @@ export default defineComponent({
},
},
components: {
- CMyFieldDb, CGridTableRec, CTitlePage,
+ CMyFieldDb,
+ CGridTableRec,
+ CTitlePage,
},
setup(props, { attrs, slots, emit }) {
- const { t } = useI18n()
- const $q = useQuasar()
- const globalStore = useGlobalStore()
- const userStore = useUserStore()
+ const { t } = useI18n();
+ const $q = useQuasar();
+ const globalStore = useGlobalStore();
+ const userStore = useUserStore();
- const arrfilterand: any = ref([])
- const filtercustom: any = ref([])
- const searchList_Servizi = ref(
[])
- const searchList_Beni = ref([])
- const searchList_MyGroups = ref([])
- const searchList_MyCircuits = ref([])
- const searchList_Events = ref([])
- const searchList_Hosp = ref([])
- const searchList_Attivita = ref([])
- const searchList_Cataloghi = ref([])
- const searchList_RaccoltaCataloghi = ref([])
+ const arrfilterand: any = ref([]);
+ const filtercustom: any = ref([]);
+ const searchList_Servizi = ref([]);
+ const searchList_Beni = ref([]);
+ const searchList_MyGroups = ref([]);
+ const searchList_MyCircuits = ref([]);
+ const searchList_Events = ref([]);
+ const searchList_Hosp = ref([]);
+ const searchList_Attivita = ref([]);
+ const searchList_Cataloghi = ref([]);
+ const searchList_RaccoltaCataloghi = ref([]);
- const search = ref('')
- const myrecfiltertoggle = ref(tools.FILTER_ALL)
-
- const prop_colkey = ref('idSkill')
- const col_title = ref('descr')
- const col_footer = ref('idCity')
- const col_tabfooter = ref('mycities')
+ const search = ref('');
+ const myrecfiltertoggle = ref(tools.FILTER_ALL);
+ const prop_colkey = ref('idSkill');
+ const col_title = ref('descr');
+ const col_footer = ref('idCity');
+ const col_tabfooter = ref('mycities');
function gettablesList() {
if (props.table === 'catalogs' || props.table === 'raccoltarataloghis')
- return func.gettablesListByTable(props.table)
+ return func.gettablesListByTable(props.table);
}
- const strextra = ref('')
- const myoptions = ref([])
+ const strextra = ref('');
+ const myoptions = ref([]);
- const col = ref({})
+ const col = ref({});
- const myGridRef = ref(null)
+ const myGridRef = ref(null);
/*
const idSectorServizi = computed(() => {
@@ -132,182 +141,226 @@ export default defineComponent({
*/
-
function updatefilter(value: any) {
if (value === tools.FILTER_MYREC) {
if (props.table === shared_consts.TABLES_MYGROUPS) {
- filtercustom.value = [{
- 'admins': {
- $elemMatch: { username: { $eq: userStore.my.username } }
+ filtercustom.value = [
+ {
+ admins: {
+ $elemMatch: { username: { $eq: userStore.my.username } },
+ },
},
- }]
+ ];
} else if (props.table === shared_consts.TABLES_CIRCUITS) {
- filtercustom.value = [{
- 'admins': {
- $elemMatch: { username: { $eq: userStore.my.username } }
+ filtercustom.value = [
+ {
+ admins: {
+ $elemMatch: { username: { $eq: userStore.my.username } },
+ },
},
- }]
-
+ ];
} else {
- filtercustom.value = [{ userId: userStore.my._id }]
+ filtercustom.value = [{ userId: userStore.my._id }];
}
-
} else if (value === tools.FILTER_MYFOLLOW) {
if (props.table === shared_consts.TABLES_MYGROUPS) {
-
}
} else {
- filtercustom.value = []
+ filtercustom.value = [];
}
}
-
/*watch(() => filtercustom.value, (value: any, oldval: any) => {
updatefilter(myrecfiltertoggle.value)
})
*/
- watch(() => myrecfiltertoggle.value, (value: any, oldval: any) => {
- updatefilter(value)
- },
- )
+ watch(
+ () => myrecfiltertoggle.value,
+ (value: any, oldval: any) => {
+ updatefilter(value);
+ }
+ );
const mypagination = computed(() => {
if (props.table === shared_consts.TABLES_MYBACHECAS)
- return { sortBy: 'dateTimeStart', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
+ return {
+ sortBy: 'dateTimeStart',
+ descending: false,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 10,
+ };
else if (props.table === shared_consts.TABLES_MYGROUPS)
- return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 }
+ return {
+ sortBy: 'date_created',
+ descending: true,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 10,
+ };
else if (props.table === toolsext.TABMOVEMENTS)
- return { sortBy: 'transactionDate', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
+ return {
+ sortBy: 'transactionDate',
+ descending: true,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 20,
+ };
else if (props.table === shared_consts.TABLES_CIRCUITS)
- return { sortBy: 'numMembers', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
+ return {
+ sortBy: 'numMembers',
+ descending: true,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 20,
+ };
else if (props.table === shared_consts.TABLES_CATALOG)
- return { sortBy: 'title', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 25 }
+ return {
+ sortBy: 'title',
+ descending: false,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 25,
+ };
else if (props.table === shared_consts.TABLES_RACCOLTACATALOGHIS)
- return { sortBy: 'title', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 25 }
+ return {
+ sortBy: 'title',
+ descending: false,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 25,
+ };
else if (props.table === toolsext.TABUSER)
- return userStore.getMypaginationMembers()
+ return userStore.getMypaginationMembers();
else if (shared_consts.TABLES_ORDER_DATE_UPDATED.includes(props.table))
- return { sortBy: 'date_updated', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 } // date_updated
+ return {
+ sortBy: 'date_updated',
+ descending: true,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 10,
+ }; // date_updated
else if (shared_consts.TABLES_ORDER_DESCR.includes(props.table))
- return { sortBy: 'desc', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
+ return {
+ sortBy: 'desc',
+ descending: false,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 10,
+ };
- return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 }
- })
+ return {
+ sortBy: 'date_created',
+ descending: true,
+ page: 1,
+ rowsNumber: 0,
+ rowsPerPage: 10,
+ };
+ });
const searchList = computed(() => {
- if (props.table === shared_consts.TABLES_MYGOODS)
- return searchList_Beni.value
+ if (props.table === shared_consts.TABLES_MYGOODS) return searchList_Beni.value;
else if (props.table === shared_consts.TABLES_MYSKILLS)
- return searchList_Servizi.value
+ return searchList_Servizi.value;
else if (props.table === shared_consts.TABLES_MYGROUPS)
- return searchList_MyGroups.value
+ return searchList_MyGroups.value;
else if (props.table === shared_consts.TABLES_CIRCUITS)
- return searchList_MyCircuits.value
+ return searchList_MyCircuits.value;
else if (props.table === shared_consts.TABLES_MYBACHECAS)
- return searchList_Events.value
- else if (props.table === shared_consts.TABLES_MYHOSPS)
- return searchList_Hosp.value
+ return searchList_Events.value;
+ else if (props.table === shared_consts.TABLES_MYHOSPS) return searchList_Hosp.value;
else if (props.table === shared_consts.TABLES_ATTIVITAS)
- return searchList_Attivita.value
+ return searchList_Attivita.value;
else if (props.table === shared_consts.TABLES_CATALOG)
- return searchList_Cataloghi.value
+ return searchList_Cataloghi.value;
else if (props.table === shared_consts.TABLES_RACCOLTACATALOGHIS)
- return searchList_RaccoltaCataloghi.value
+ return searchList_RaccoltaCataloghi.value;
- return []
- })
+ return [];
+ });
const showType = computed(() => {
- return costanti.SHOW_MYCARD
- })
+ return costanti.SHOW_MYCARD;
+ });
const hint = computed(() => {
if (props.table === shared_consts.TABLES_MYGOODS)
- return 'digita il nome del Bene o del settore'
+ return 'digita il nome del Bene o del settore';
else if (props.table === shared_consts.TABLES_MYSKILLS)
- return 'digita il nome del Servizio o del settore'
+ return 'digita il nome del Servizio o del settore';
else if (props.table === shared_consts.TABLES_MYGROUPS)
- return 'digita il nome del Gruppo'
+ return 'digita il nome del Gruppo';
else if (props.table === shared_consts.TABLES_CIRCUITS)
- return 'digita il nome della provincia'
+ return 'digita il nome della provincia';
else if (props.table === shared_consts.TABLES_MYBACHECAS)
- return 'digita il nome dell\'Evento'
+ return "digita il nome dell'Evento";
else if (props.table === shared_consts.TABLES_MYHOSPS)
- return 'digita delle parole da cercare nella descrizione dell\'Ospitalità '
+ return "digita delle parole da cercare nella descrizione dell'Ospitalità ";
else if (props.table === shared_consts.TABLES_ATTIVITAS)
- return 'digita un\'attività da cercare'
+ return "digita un'attività da cercare";
- return 'digita una parola da cercare'
- })
+ return 'digita una parola da cercare';
+ });
const visuType = computed(() => {
- if (props.table === shared_consts.TABLES_MYGOODS)
- return false
- else if (props.table === shared_consts.TABLES_MYSKILLS)
- return false
- else if (props.table === shared_consts.TABLES_MYGROUPS)
- return false
- else if (props.table === shared_consts.TABLES_MYBACHECAS)
- return false
+ if (props.table === shared_consts.TABLES_MYGOODS) return false;
+ else if (props.table === shared_consts.TABLES_MYSKILLS) return false;
+ else if (props.table === shared_consts.TABLES_MYGROUPS) return false;
+ else if (props.table === shared_consts.TABLES_MYBACHECAS) return false;
- return false // $q.screen.gt.xs
- })
+ return false; // $q.screen.gt.xs
+ });
const noMsgRecord = computed(() => {
if (props.table === shared_consts.TABLES_MYGOODS)
- return 'Nessun Bene trovato con i filtri selezionati'
+ return 'Nessun Bene trovato con i filtri selezionati';
else if (props.table === shared_consts.TABLES_MYSKILLS)
- return 'Nessun Servizio trovato con i filtri selezionati'
+ return 'Nessun Servizio trovato con i filtri selezionati';
else if (props.table === shared_consts.TABLES_MYGROUPS)
- return 'Nessun Gruppo trovato con i filtri selezionati'
+ return 'Nessun Gruppo trovato con i filtri selezionati';
else if (props.table === shared_consts.TABLES_CIRCUITS)
- return 'Nessun Circuito trovato con i filtri selezionati'
+ return 'Nessun Circuito trovato con i filtri selezionati';
else if (props.table === shared_consts.TABLES_MYBACHECAS)
- return 'Nessun Evento trovato con i filtri selezionati'
+ return 'Nessun Evento trovato con i filtri selezionati';
else if (props.table === shared_consts.TABLES_MYHOSPS)
- return 'Nessuna Ospitalità trovata con i filtri selezionati'
+ return 'Nessuna Ospitalità trovata con i filtri selezionati';
else if (props.table === shared_consts.TABLES_ATTIVITAS)
- return 'Nessuna Attività trovata con i filtri selezionati'
-
- return 'Nessun dato trovato con i filtri selezionati'
- })
+ return 'Nessuna Attività trovata con i filtri selezionati';
+ return 'Nessun dato trovato con i filtri selezionati';
+ });
function mounted() {
-
- const obj = tools.getParamsByTable(props.table)
+ const obj = tools.getParamsByTable(props.table);
if (props.ind >= 0) {
- strextra.value = costanti.MAINCARDS[props.ind].strsingolo!
+ strextra.value = costanti.MAINCARDS[props.ind].strsingolo!;
}
- col.value = fieldsTable.getArrColsByTable(props.table)
+ col.value = fieldsTable.getArrColsByTable(props.table);
- prop_colkey.value = obj.prop_colkey
- col_title.value = obj.col_title
- col_footer.value = obj.col_footer
- col_tabfooter.value = obj.col_tabfooter
+ prop_colkey.value = obj.prop_colkey;
+ col_title.value = obj.col_title;
+ col_footer.value = obj.col_footer;
+ col_tabfooter.value = obj.col_tabfooter;
if (props.table === shared_consts.TABLES_MYGROUPS) {
myoptions.value = [
{ label: '🌎 Tutti', value: tools.FILTER_ALL },
{ label: '👤 ' + t('groups.che_gestisci'), value: tools.FILTER_MYREC },
// {label: 'Seguo', value: tools.FILTER_MYFOLLOW},
- ]
-
+ ];
} else if (props.table === shared_consts.TABLES_CIRCUITS) {
- myoptions.value = []
+ myoptions.value = [];
if (tools.gestiscoAlmeno1Circuito()) {
myoptions.value = [
{ label: '🌎 Tutti', value: tools.FILTER_ALL },
{ label: '👤 Circuiti che Gestisci', value: tools.FILTER_MYREC },
// {label: 'Seguo', value: tools.FILTER_MYFOLLOW},
- ]
-
+ ];
}
-
} else {
/*
myoptions.value = [
@@ -319,32 +372,48 @@ export default defineComponent({
}
function getFilterSkills(recSkill: any, index: number, arr: any) {
- const recsectors: any = searchList.value.find((rec) => rec.table === toolsext.TABSECTORS)
+ const recsectors: any = searchList.value.find(
+ (rec) => rec.table === toolsext.TABSECTORS
+ );
// console.log('getFilterSkills', recSkill.idSector, recsectors.value)
if (recsectors && recSkill.idSector) {
- return recSkill.idSector.includes(recsectors.value)
+ return recSkill.idSector.includes(recsectors.value);
} else {
- return true
+ return true;
}
}
function getFilterGoods(recGood: any, index: number, arr: any) {
- const recsectorGoods: any = searchList.value.find((rec) => rec.table === 'sectorgoods')
+ const recsectorGoods: any = searchList.value.find(
+ (rec) => rec.table === 'sectorgoods'
+ );
// console.log('getFilterSkills', recSkill.idSector, recsectors.value)
if (recsectorGoods && recGood.idSectorGood) {
- return recGood.idSectorGood.includes(recsectorGoods.value)
+ return recGood.idSectorGood.includes(recsectorGoods.value);
} else {
- return true
+ return true;
+ }
+ }
+
+ function getFilterBachecas(recBacheca: any, index: number, arr: any) {
+ const recsectorBachecas: any = searchList.value.find(
+ (rec) => rec.table === toolsext.TABSECTORBACHECAS
+ );
+ // console.log('getFilterSkills', recSkill.idSector, recsectors.value)
+ if (recsectorBachecas && recBacheca.idSectorBacheca) {
+ return recBacheca.idSectorBacheca.includes(recsectorBachecas.value);
+ } else {
+ return true;
}
}
function getFilterSubSkills(recSubSkill: any, index: number, arr: any) {
- const recskills: any = searchList.value.find((rec) => rec.table === 'skills')
+ const recskills: any = searchList.value.find((rec) => rec.table === 'skills');
// console.log('recSubSkill', recSubSkill, 'recskills', recskills)
if (recskills) {
- return recSubSkill.idSkill === recskills.value
+ return recSubSkill.idSkill === recskills.value;
} else {
- return true
+ return true;
}
}
@@ -361,15 +430,14 @@ export default defineComponent({
*/
function getFilterProvinceByRegion(recProvince: any, index: number, arr: any) {
- const recreg: any = searchList.value.find((rec) => rec.table === 'regions')
+ const recreg: any = searchList.value.find((rec) => rec.table === 'regions');
if (recreg) {
- return recProvince.reg === recreg.value
+ return recProvince.reg === recreg.value;
} else {
- return true
+ return true;
}
}
-
searchList_Servizi.value = [
{
visible: true,
@@ -377,12 +445,19 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -390,7 +465,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: getFilterProvinceByRegion,
@@ -404,7 +486,14 @@ export default defineComponent({
table: 'cities',
key: 'idCity',
type: costanti.FieldType.select_by_server,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'cities',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
useinput: true,
@@ -429,7 +518,15 @@ export default defineComponent({
label: 'Settore',
table: toolsext.TABSECTORS,
key: 'idSector',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORS, 0, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ toolsext.TABSECTORS,
+ 0,
+ true
+ ),
arrvalue: [],
type: costanti.FieldType.select,
filter: null,
@@ -442,7 +539,18 @@ export default defineComponent({
label: 'Categoria',
table: 'skills',
key: 'idSkill',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ tools.getCookie(
+ tools.COOK_SEARCH + toolsext.TABSECTORS,
+ costanti.FILTER_TUTTI
+ ),
+ costanti.FILTER_TUTTI,
+ true
+ ),
arrvalue: [],
type: costanti.FieldType.select,
addall: true,
@@ -455,7 +563,15 @@ export default defineComponent({
label: 'Offro/Cerco',
table: 'adtypes',
key: 'adType',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'adtypes', costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'adtypes',
+ costanti.FILTER_TUTTI,
+ true
+ ),
arrvalue: [],
addall: true,
type: costanti.FieldType.select,
@@ -477,8 +593,6 @@ export default defineComponent({
},
*/
-
-
/*
{
label: 'Livello',
@@ -501,7 +615,14 @@ export default defineComponent({
table: 'statusSkills',
key: 'idStatusSkill',
value: 0,
- arrvalue: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'statusSkills', []),
+ arrvalue: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'statusSkills',
+ []
+ ),
type: costanti.FieldType.multiselect,
filter: null,
useinput: false,
@@ -539,8 +660,7 @@ export default defineComponent({
},
*/
-
- ]
+ ];
searchList_Events.value = [
/*{
@@ -561,12 +681,19 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -574,7 +701,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: getFilterProvinceByRegion,
@@ -610,9 +744,17 @@ export default defineComponent({
{
visible: true,
label: 'Settore',
- table: toolsext.TABSECTORS,
- key: 'idSector',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORS, 0, true),
+ table: toolsext.TABSECTORBACHECAS,
+ key: 'idSectorBacheca',
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ toolsext.TABSECTORBACHECAS,
+ 0,
+ true
+ ),
arrvalue: [],
type: costanti.FieldType.select,
filter: null,
@@ -620,6 +762,30 @@ export default defineComponent({
notinsearch: false,
useinput: false,
},
+ {
+ visible: true,
+ label: 'Categoria',
+ table: 'bachecas',
+ key: 'idBacheca',
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ tools.getCookie(
+ tools.COOK_SEARCH + toolsext.TABSECTORBACHECAS,
+ costanti.FILTER_TUTTI
+ ),
+ costanti.FILTER_TUTTI,
+ true
+ ),
+ arrvalue: [],
+ type: costanti.FieldType.select,
+ addall: true,
+ filter: getFilterBachecas,
+ showcount: true,
+ useinput: false,
+ },
{
visible: true,
label: 'Data Inizio',
@@ -657,11 +823,12 @@ export default defineComponent({
filteradv: false,
//icon: 'swap_horizontal_circle',
},*/
+ ];
- ]
-
- searchList_Cataloghi.value = tools.getsearchList_Cataloghi(props.isCatalogoGenerale)
- searchList_RaccoltaCataloghi.value = tools.getsearchList_RaccoltaCataloghi()
+ searchList_Cataloghi.value = tools.getsearchList_Cataloghi(
+ props.isCatalogoGenerale
+ );
+ searchList_RaccoltaCataloghi.value = tools.getsearchList_RaccoltaCataloghi();
searchList_Hosp.value = [
{
@@ -670,13 +837,20 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
keycookie: '_hosp',
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -684,7 +858,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
keycookie: '_hosp',
addall: true,
arrvalue: [],
@@ -698,7 +879,14 @@ export default defineComponent({
table: 'cities',
key: 'idCity',
type: costanti.FieldType.select_by_server,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'cities',
+ costanti.FILTER_TUTTI
+ ),
keycookie: '_hosp',
addall: true,
arrvalue: [],
@@ -713,7 +901,15 @@ export default defineComponent({
label: 'Offro/Cerco',
table: 'adtypes',
key: 'adType',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'adtypes', costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'adtypes',
+ costanti.FILTER_TUTTI,
+ true
+ ),
arrvalue: [],
addall: true,
type: costanti.FieldType.select,
@@ -726,7 +922,15 @@ export default defineComponent({
table: toolsext.TABTYPEHOSP,
key: 'typeHosp',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABTYPEHOSP, costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ toolsext.TABTYPEHOSP,
+ costanti.FILTER_TUTTI,
+ true
+ ),
addall: true,
arrvalue: [],
filter: null,
@@ -739,7 +943,15 @@ export default defineComponent({
table: toolsext.TABPEOPLE,
key: 'numMaxPeopleHosp',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABPEOPLE, costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ toolsext.TABPEOPLE,
+ costanti.FILTER_TUTTI,
+ true
+ ),
addall: true,
arrvalue: [],
filter: null,
@@ -754,7 +966,14 @@ export default defineComponent({
type: costanti.FieldType.multiselect,
value: 0,
addall: false,
- arrvalue: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABPREF, []),
+ arrvalue: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ toolsext.TABPREF,
+ []
+ ),
filter: null,
useinput: false,
icon: 'fas fa-asterisk',
@@ -765,7 +984,14 @@ export default defineComponent({
table: 'contribtypes',
key: 'idContribType',
value: 0,
- arrvalue: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'contribtypes', []),
+ arrvalue: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'contribtypes',
+ []
+ ),
type: costanti.FieldType.multiselect,
filter: null,
useinput: false,
@@ -773,8 +999,7 @@ export default defineComponent({
filteradv: false,
//icon: 'swap_horizontal_circle',
},
-
- ]
+ ];
searchList_Beni.value = [
{
@@ -783,12 +1008,19 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -796,7 +1028,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: getFilterProvinceByRegion,
@@ -809,7 +1048,14 @@ export default defineComponent({
table: 'cities',
key: 'idCity',
type: costanti.FieldType.select_by_server,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'cities',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
useinput: true,
@@ -835,7 +1081,15 @@ export default defineComponent({
label: 'Settore',
table: 'sectorgoods',
key: 'idSectorGood',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORGOODS, 0, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ toolsext.TABSECTORGOODS,
+ 0,
+ true
+ ),
arrvalue: [],
type: costanti.FieldType.select,
filter: null,
@@ -848,7 +1102,18 @@ export default defineComponent({
label: 'Categoria',
table: 'goods',
key: 'idGood',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORGOODS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ tools.getCookie(
+ tools.COOK_SEARCH + toolsext.TABSECTORGOODS,
+ costanti.FILTER_TUTTI
+ ),
+ costanti.FILTER_TUTTI,
+ true
+ ),
arrvalue: [],
type: costanti.FieldType.select,
addall: true,
@@ -861,7 +1126,15 @@ export default defineComponent({
label: 'Offro/Cerco',
table: 'adtypes',
key: 'adType',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'adtypes', costanti.FILTER_TUTTI, true),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'adtypes',
+ costanti.FILTER_TUTTI,
+ true
+ ),
arrvalue: [],
addall: true,
type: costanti.FieldType.select,
@@ -895,8 +1168,6 @@ export default defineComponent({
},
*/
-
-
/*
{
label: 'Livello',
@@ -919,7 +1190,14 @@ export default defineComponent({
table: 'contribtypes',
key: 'idContribType',
value: 0,
- arrvalue: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'contribtypes', []),
+ arrvalue: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'contribtypes',
+ []
+ ),
type: costanti.FieldType.multiselect,
filter: null,
useinput: false,
@@ -932,13 +1210,20 @@ export default defineComponent({
label: 'Altri Filtri',
table: 'otherfilters',
key: 'otherfilters',
- arrvalue: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'otherfilters', []),
+ arrvalue: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'otherfilters',
+ []
+ ),
value: 0,
type: costanti.FieldType.multiselect,
addall: false,
filter: null,
useinput: false,
- icon: 'fas fa-filter'
+ icon: 'fas fa-filter',
},
{
visible: true,
@@ -955,8 +1240,7 @@ export default defineComponent({
notinsearch: true,
icon: '',
},
-
- ]
+ ];
searchList_MyCircuits.value = [
{
@@ -965,12 +1249,19 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -978,7 +1269,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: getFilterProvinceByRegion,
@@ -991,7 +1289,14 @@ export default defineComponent({
table: 'cities',
key: 'idCity',
type: costanti.FieldType.select_by_server,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'cities',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
useinput: true,
@@ -1000,7 +1305,7 @@ export default defineComponent({
// param1: shared_consts.PARAM_SHOW_PROVINCE,
tablesel: 'cities',
},
- ]
+ ];
searchList_Attivita.value = [
{
@@ -1009,12 +1314,19 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -1022,7 +1334,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: getFilterProvinceByRegion,
@@ -1035,7 +1354,14 @@ export default defineComponent({
table: 'cities',
key: 'idCity',
type: costanti.FieldType.select_by_server,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'cities',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
useinput: true,
@@ -1044,7 +1370,7 @@ export default defineComponent({
// param1: shared_consts.PARAM_SHOW_PROVINCE,
tablesel: 'cities',
},
- ]
+ ];
searchList_MyGroups.value = [
{
@@ -1053,12 +1379,19 @@ export default defineComponent({
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'regions',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: null,
useinput: false,
- icon: 'fas fa-globe-europe'
+ icon: 'fas fa-globe-europe',
},
{
visible: true,
@@ -1066,7 +1399,14 @@ export default defineComponent({
table: 'provinces',
key: 'idProvince',
type: costanti.FieldType.select,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'provinces',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
filter: getFilterProvinceByRegion,
@@ -1081,7 +1421,14 @@ export default defineComponent({
type: costanti.FieldType.select_by_server,
arrvalue: [],
addall: true,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'cities',
+ costanti.FILTER_TUTTI
+ ),
useinput: true,
filter: null,
// filter: getFilterCitiesByProvince,
@@ -1094,7 +1441,14 @@ export default defineComponent({
label: 'Categorie',
table: 'catgrps',
key: 'idCatGrp',
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'catgrps', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'catgrps',
+ costanti.FILTER_TUTTI
+ ),
arrvalue: [],
type: costanti.FieldType.select,
filter: null,
@@ -1108,43 +1462,46 @@ export default defineComponent({
table: 'visibilGroup',
key: 'visibility',
type: costanti.FieldType.multiselect,
- value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'visibility', costanti.FILTER_TUTTI),
+ value: tools.getCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ props.table +
+ costanti.FILTER_SEP +
+ 'visibility',
+ costanti.FILTER_TUTTI
+ ),
addall: true,
arrvalue: [],
useinput: true,
filter: null,
tablesel: 'visibility',
},
- ]
+ ];
- filtercustom.value = []
+ filtercustom.value = [];
}
-
-
function mySortFieldsAvailable() {
if (props.table === toolsext.TABUSER) {
- return userStore.getSortFieldsAvailable()
+ return userStore.getSortFieldsAvailable();
}
- return []
+ return [];
}
-
-
function doSearch() {
//
}
function clickButtBar(item: any) {
if (myGridRef.value) {
- myGridRef.value.clickButtBar(item)
+ myGridRef.value.clickButtBar(item);
}
// emit('clickButtBar', item)
}
- onMounted(mounted)
+ onMounted(mounted);
return {
t,
@@ -1173,6 +1530,6 @@ export default defineComponent({
clickButtBar,
myGridRef,
gettablesList,
- }
+ };
},
-})
+});
diff --git a/src/components/CGridTableRec/CGridTableRec.scss b/src/components/CGridTableRec/CGridTableRec.scss
index b761cadf..9c91f8c8 100755
--- a/src/components/CGridTableRec/CGridTableRec.scss
+++ b/src/components/CGridTableRec/CGridTableRec.scss
@@ -1,14 +1,3 @@
-// ========================================
-// BASE STYLES
-// ========================================
-$primary-color: #1976d2;
-$border-radius: 10px;
-$transition-speed: 0.3s;
-$mobile-breakpoint: 768px;
-
-@use 'sass:color';
-
-
$shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
$shadow-md: 0 2px 6px rgba(0, 0, 0, 0.08);
$shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15);
@@ -169,7 +158,7 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15);
gap: 8px;
// Desktop: layout a griglia 2 colonne
- @media (min-width: $mobile-breakpoint + 1) {
+ @media (min-width: $mobile-breakpoint) {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
@@ -178,7 +167,7 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15);
// Desktop large: 3 colonne per schermi molto larghi
@media (min-width: 1400px) {
- grid-template-columns: repeat(3, 1fr);
+ grid-template-columns: repeat(2, 1fr);
gap: 12px;
}
diff --git a/src/components/CGridTableRec/CGridTableRec.ts b/src/components/CGridTableRec/CGridTableRec.ts
index 8ad02bdb..def02555 100755
--- a/src/components/CGridTableRec/CGridTableRec.ts
+++ b/src/components/CGridTableRec/CGridTableRec.ts
@@ -854,6 +854,8 @@ export default defineComponent({
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval);
} else if (table === toolsext.TABSECTORGOODS) {
setCategBySector(toolsext.TABGOODS, table, newval);
+ } else if (table === toolsext.TABSECTORBACHECAS) {
+ setCategBySector(toolsext.TABBACHECAS, table, newval);
} else if (table === toolsext.TABREGIONS) {
setProvinceByRegion(toolsext.TABPROVINCE, table, newval);
} else if (table === toolsext.TABGOODS) {
@@ -872,6 +874,22 @@ export default defineComponent({
newval
);
}
+ } else if (table === toolsext.TABBACHECAS) {
+ const recSector = searchList.value.find(
+ (rec) => rec.table === toolsext.TABSECTORBACHECAS
+ );
+ if (recSector) {
+ tools.setCookie(
+ tools.COOK_SEARCH +
+ costanti.FILTER_SEP +
+ mytable.value +
+ costanti.FILTER_SEP +
+ table +
+ costanti.FILTER_SEP +
+ recSector.value,
+ newval
+ );
+ }
} else if (table === shared_consts.TABLES_LISTA_EDITORI) {
const rec = searchList.value.find((rec) => rec.table === table);
if (rec) {
@@ -1029,12 +1047,14 @@ export default defineComponent({
let recSector = null;
let recSectorGood = null;
+ let recSectorBacheca = null;
let recCities = null;
let recRegion = null;
let recProvince = null;
let recSkill = null;
let idSector = 0;
let idSectorGood = 0;
+ let idSectorBacheca = 0;
let idProvince = 0;
let idRegion = 0;
let idSkill = 0;
@@ -1046,10 +1066,16 @@ export default defineComponent({
}
if (searchList.value) {
recSectorGood = searchList.value.find(
- (item: ISearchList) => item.table === 'sectorgoods'
+ (item: ISearchList) => item.table === toolsext.TABSECTORGOODS
);
idSectorGood = recSectorGood ? recSectorGood.value : 0;
}
+ if (searchList.value) {
+ recSectorBacheca = searchList.value.find(
+ (item: ISearchList) => item.table === toolsext.TABSECTORBACHECAS
+ );
+ idSectorBacheca = recSectorBacheca ? recSectorBacheca.value : 0;
+ }
if (searchList.value) {
recProvince = searchList.value.find(
(item: ISearchList) => item.table === 'provinces'
@@ -1315,13 +1341,20 @@ export default defineComponent({
obj2.idSkill = idSkill;
filtersearch2.push(obj2);
}
- } else if (item.table === 'goods' && item.value === costanti.FILTER_TUTTI) {
+ } else if (item.table === toolsext.TABGOODS && item.value === costanti.FILTER_TUTTI) {
const obj2: any = {};
if (idSectorGood > 0) {
// idSectorGood
obj2['sectorGood._id'] = idSectorGood;
filtersearch2.push(obj2);
}
+ } else if (item.table === toolsext.TABBACHECAS && item.value === costanti.FILTER_TUTTI) {
+ const obj2: any = {};
+ if (idSectorBacheca > 0) {
+ // idSectorBacheca
+ obj2['sectorBacheca._id'] = idSectorBacheca;
+ filtersearch2.push(obj2);
+ }
} else if (
item.table === 'subskills' &&
item.value === costanti.FILTER_TUTTI
@@ -1843,6 +1876,14 @@ export default defineComponent({
newRecord.value.idGood = item.idGood;
console.log('newRecord', newRecord);
}
+ } else if (col.jointable === toolsext.TABSECTORBACHECAS) {
+ // Sbianca la select della Categoria Eventi
+
+ if (tools.existProp(item, 'idBacheca')) {
+ item.idGood = costanti.FILTER_NESSUNO;
+ newRecord.value.idBacheca = item.idBacheca;
+ console.log('newRecord', newRecord);
+ }
}
rowsel.value = item;
idsel = item._id;
@@ -2800,7 +2841,7 @@ export default defineComponent({
return '';
}
- function cmdExt(cmd: any, id: any, myrec: any) {
+ async function cmdExt(cmd: any, id: any, myrec: any) {
console.log('cmd', cmd);
if (cmd === costanti.CMD_CLONE) {
@@ -2817,9 +2858,11 @@ export default defineComponent({
}
if (cmd === costanti.CMD_SHOW_PAGE) {
- visupagedialog.value = true;
+ visupagedialog.value = false;
+ await nextTick();
myrecdialog.value = myrec;
myIdRecDialog.value = id;
+ visupagedialog.value = true;
return true;
} else if (cmd === costanti.CMD_OPEN_PAGE) {
router.push(tools.getPathByTableAndRec(mytable.value, myrec));
diff --git a/src/components/CGridTableRec/CGridTableRec.vue b/src/components/CGridTableRec/CGridTableRec.vue
index b2baab2d..301635c8 100755
--- a/src/components/CGridTableRec/CGridTableRec.vue
+++ b/src/components/CGridTableRec/CGridTableRec.vue
@@ -1318,6 +1318,7 @@
@@ -1582,11 +1585,6 @@
-
+
@@ -1672,17 +1676,17 @@
-
+
diff --git a/src/components/CGridTableUser/CGridTableUser.scss b/src/components/CGridTableUser/CGridTableUser.scss
index e6d71867..98b90839 100755
--- a/src/components/CGridTableUser/CGridTableUser.scss
+++ b/src/components/CGridTableUser/CGridTableUser.scss
@@ -1,16 +1,3 @@
-// ========================================
-// VARIABILI
-// ========================================
-$primary-color: #1976d2;
-$grey-color: #666;
-$grey-light: #999;
-
-$border-radius: 8px;
-$border-radius-sm: 6px;
-$transition-speed: 0.3s;
-
-$shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
-$mobile-breakpoint: 768px;
// ========================================
// GRID CONTAINER
diff --git a/src/components/CGridTableUser/CGridTableUser.ts b/src/components/CGridTableUser/CGridTableUser.ts
index b32195b0..8df9e997 100755
--- a/src/components/CGridTableUser/CGridTableUser.ts
+++ b/src/components/CGridTableUser/CGridTableUser.ts
@@ -593,6 +593,8 @@ export default defineComponent({
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval)
} else if (table === toolsext.TABSECTORGOODS) {
setCategBySector(toolsext.TABGOODS, table, newval)
+ } else if (table === toolsext.TABSECTORBACHECAS) {
+ setCategBySector(toolsext.TABBACHECAS, table, newval)
} else if (table === toolsext.TABREGIONS) {
setProvinceByRegion(toolsext.TABPROVINCE, table, newval)
} else if (table === toolsext.TABGOODS) {
@@ -600,7 +602,11 @@ export default defineComponent({
if (recSector) {
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
}
- // setCategBySector('sectorgoods', table, newval)
+ } else if (table === toolsext.TABBACHECAS) {
+ const recSector = searchList.value.find((rec) => rec.table === toolsext.TABSECTORBACHECAS)
+ if (recSector) {
+ tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
+ }
} else if (table === shared_consts.TAB_CITIES) {
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
if (rec) {
@@ -722,12 +728,14 @@ export default defineComponent({
let recSector = null
let recSectorGood = null
+ let recSectorBacheca = null
let recCities = null
let recRegion = null
let recProvince = null
let recSkill = null
let idSector = 0
let idSectorGood = 0
+ let idSectorBacheca = 0
let idProvince = 0
let idRegion = 0
let idSkill = 0
@@ -736,9 +744,12 @@ export default defineComponent({
recSector = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORS)
idSector = recSector ? recSector.value : 0
- recSectorGood = searchList.value.find((item: ISearchList) => item.table === 'sectorgoods')
+ recSectorGood = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORGOODS)
idSectorGood = recSectorGood ? recSectorGood.value : 0
+ recSectorBacheca = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORBACHECAS)
+ idSectorBacheca = recSectorBacheca ? recSectorBacheca.value : 0
+
recProvince = searchList.value.find((item: ISearchList) => item.table === 'provinces')
idProvince = recProvince ? recProvince.value : 0
@@ -888,13 +899,20 @@ export default defineComponent({
obj2.idSkill = idSkill
filtersearch2.push(obj2)
}
- } else if ((item.table === 'goods') && item.value === costanti.FILTER_TUTTI) {
+ } else if ((item.table === toolsext.TABGOODS) && item.value === costanti.FILTER_TUTTI) {
const obj2: any = {}
if (idSectorGood > 0) {
// idSectorGood
obj2['sectorGood._id'] = idSectorGood
filtersearch2.push(obj2)
}
+ } else if (item.table === toolsext.TABBACHECAS && item.value === costanti.FILTER_TUTTI) {
+ const obj2: any = {};
+ if (idSectorBacheca > 0) {
+ // idSectorBacheca
+ obj2['sectorBacheca._id'] = idSectorBacheca;
+ filtersearch2.push(obj2);
+ }
} else if ((item.table === 'subskills') && item.value === costanti.FILTER_TUTTI) {
const obj2: any = {}
// idSector
@@ -1313,6 +1331,14 @@ export default defineComponent({
newRecord.value.idGood = item.idGood
console.log('newRecord', newRecord)
}
+ } else if (col.jointable === toolsext.TABSECTORBACHECAS) {
+ // Sbianca la select della Categoria Bacheca
+
+ if (tools.existProp(item, 'idBacheca')) {
+ item.idBacheca = costanti.FILTER_NESSUNO
+ newRecord.value.idBacheca = item.idBacheca
+ console.log('newRecord', newRecord)
+ }
}
rowsel.value = item
idsel = item._id
diff --git a/src/components/CGridTableUser/CGridTableUser.vue b/src/components/CGridTableUser/CGridTableUser.vue
index 0dae815f..a1a6f571 100755
--- a/src/components/CGridTableUser/CGridTableUser.vue
+++ b/src/components/CGridTableUser/CGridTableUser.vue
@@ -354,11 +354,6 @@
-
+
@@ -428,17 +428,17 @@
-
+
diff --git a/src/components/CInput/CInput.vue b/src/components/CInput/CInput.vue
index 3d3dba92..088f130f 100755
--- a/src/components/CInput/CInput.vue
+++ b/src/components/CInput/CInput.vue
@@ -18,16 +18,16 @@
v-if="editing"
class="button-group"
>
+
-
diff --git a/src/components/CMyCardService/CMyCardService.scss b/src/components/CMyCardService/CMyCardService.scss
index 0fbc9ebc..6a59d20f 100644
--- a/src/components/CMyCardService/CMyCardService.scss
+++ b/src/components/CMyCardService/CMyCardService.scss
@@ -1,43 +1,3 @@
-// ========================================
-// VARIABILI MODERNE CON GRADIENTI
-// ========================================
-$primary-color: #1976d2;
-$primary-light: #42a5f5;
-$primary-dark: #1565c0;
-$secondary-color: #26a69a;
-$positive-color: #21ba45;
-$negative-color: #c10015;
-$info-color: #31ccec;
-$warning-color: #f2c037;
-
-@use 'sass:color';
-
-$grey-text: #555;
-$grey-light: #999;
-$grey-dark: #333;
-
-$border-radius: 12px;
-$border-radius-sm: 8px;
-$border-radius-lg: 16px;
-
-$transition-speed: 0.3s;
-$shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
-$shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
-$shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.15);
-
-$mobile-breakpoint: 768px;
-$small-breakpoint: 600px;
-
-// ========================================
-// GRADIENTI MODERNI
-// ========================================
-$gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
-$gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
-$gradient-info: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
-$gradient-positive: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
-$gradient-card-light: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
-$gradient-card-white: linear-gradient(to bottom, #ffffff 0%, #f8f9fa 100%);
-$gradient-hover: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
// ========================================
// PROFILE (con gradiente)
@@ -858,4 +818,77 @@ $gradient-hover: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118,
border-left: 4px solid $positive-color;
background: linear-gradient(to right, rgba(33, 186, 69, 0.08), transparent 20%);
box-shadow: 0 2px 12px rgba(33, 186, 69, 0.1);
+}
+
+.category-hierarchy {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: 2px;
+
+ .hierarchy-arrow {
+ opacity: 0.5;
+ font-size: 16px;
+ }
+
+ @media (max-width: $mobile-breakpoint) {
+ gap: 0px;
+ }
+
+}
+
+.tag-chip {
+ height: 20px;
+ font-size: 0.9rem;
+ padding: 0 px;
+ border-radius: 4px;
+ box-shadow: none;
+ font-weight: 500;
+
+ // Categoria principale - più scura e intensa
+ &.sector {
+ background: linear-gradient(135deg, $primary-color, #1976d2);
+ color: white;
+ }
+
+ // Sottocategoria - stessa base ma più chiara
+ &.subsector {
+ background: linear-gradient(135deg, color.adjust($primary-color, $lightness: 10%), #42a5f5);
+ color: white;
+ opacity: 0.9; // Opzionale: leggera trasparenza
+ }
+
+ @media (max-width: $mobile-breakpoint) {
+ height: 19px;
+ font-size: 0.8rem;
+ padding: 0 4px;
+ }
+
+ :deep(.q-chip__content) {
+ padding: 0;
+ }
+}
+
+.categories-dialog {
+ .dialog-header {
+ padding: 16px 20px;
+ }
+
+ .dialog-content {
+ padding: 20px;
+ max-height: 60vh;
+ overflow-y: auto;
+ }
+
+ .categories-grid {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+ }
+
+ .category-chip {
+ font-size: 14px;
+ padding: 8px 12px;
+ font-weight: 500;
+ }
}
\ No newline at end of file
diff --git a/src/components/CMyCardService/CMyCardService.ts b/src/components/CMyCardService/CMyCardService.ts
index 2fe7793e..553aee40 100644
--- a/src/components/CMyCardService/CMyCardService.ts
+++ b/src/components/CMyCardService/CMyCardService.ts
@@ -87,6 +87,7 @@ export default defineComponent({
const showPic = ref(false)
const loading = ref(false)
+ const showPreferencesDialog = ref(false)
const $router = useRouter()
@@ -275,19 +276,21 @@ export default defineComponent({
}
function getRecGoodSkillByRec(rec: any) {
- if (props.table === 'myskills')
+ if ((props.table === toolsext.TABMYSKILLS) || (props.table === toolsext.TABMYBACHECAS))
return rec.recSkill
- else if (props.table === 'mygoods')
+ else if (props.table === toolsext.TABMYGOODS)
return rec.recGood
return null
}
function getSectorByRec(rec: any) {
- if (props.table === 'myskills')
+ if (props.table === toolsext.TABMYSKILLS)
return rec.sector
- else if (props.table === 'mygoods')
+ else if (props.table === toolsext.TABMYGOODS)
return rec.sectorGood
+ else if (props.table === toolsext.TABMYBACHECAS)
+ return rec.sectorBacheca
return null
}
@@ -674,10 +677,24 @@ export default defineComponent({
emit('showInMap', rec)
}
+ const arrSubSector = computed(() => {
+ return tools.getArrSubSector(props.table, myrec.value);
+ });
+ const arrSector = computed(() => {
+ return tools.getArrSector(props.table, myrec.value);
+ });
+
+ const getColorSubSector = computed(() => {
+ return arrSector.value && arrSector.value.length == 1 ? arrSector.value[0].color : 'primary'
+ })
+
onMounted(mounted)
return {
+ getColorSubSector,
+ arrSector,
+ arrSubSector,
expandDialog,
profile,
tools,
@@ -735,6 +752,7 @@ export default defineComponent({
updatePart,
numpart,
colmyUserPeople,
+ showPreferencesDialog,
}
}
})
diff --git a/src/components/CMyCardService/CMyCardService.vue b/src/components/CMyCardService/CMyCardService.vue
index 405e45f9..a0c90518 100644
--- a/src/components/CMyCardService/CMyCardService.vue
+++ b/src/components/CMyCardService/CMyCardService.vue
@@ -431,6 +431,30 @@
>
+
- {{ getSectorByRec(myrec)[0].descr }}
-
-
- {{ getRecGoodSkillByRec(myrec)[0].descr }}
-
+
+
+
+ {{ recSect.descr }}
+
+
+
+
+ {{ rec.descr }}
+
+
@@ -579,6 +624,7 @@
:rec="myrec"
:type="costanti.FieldType.multiselect"
:value="myrec.preferences"
+ size="md"
:options="
globalStore.getTableJoinByName(
toolsext.TABPREF,
@@ -589,7 +635,7 @@
"
:optval="fieldsTable.getKeyByTable(toolsext.TABPREF)"
:optlab="fieldsTable.getLabelByTable(toolsext.TABPREF)"
- :opticon="fieldsTable.getIconByTable(toolsext.TABPREF)"
+ :dense="false"
>
@@ -1041,7 +1087,9 @@
{{ $t('services.createdBy') }}
{{ myrec.createdBy }}{{
+ myrec.createdBy
+ }}
@@ -1415,21 +1463,64 @@
diff --git a/src/components/CMyChipList/CMyChipList.scss b/src/components/CMyChipList/CMyChipList.scss
index 60f964b2..425610dc 100755
--- a/src/components/CMyChipList/CMyChipList.scss
+++ b/src/components/CMyChipList/CMyChipList.scss
@@ -1,80 +1,72 @@
// ========================================
-// CMyChipList - SCSS Moderno con Gradienti
+// CMyChipList - RISO Design System
// ========================================
-$primary-color: #1976d2;
-$primary-light: #42a5f5;
-$secondary-color: #26a69a;
-$positive-color: #21ba45;
-$negative-color: #c10015;
-$info-color: #31ccec;
-$warning-color: #f2c037;
+.c-chiplist {
+ margin-bottom: $s-sm;
-@use 'sass:color';
-
-$border-radius-sm: 8px;
-$border-radius: 10px;
-$transition-speed: 0.3s;
-$shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
-$shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
-
-$mobile-breakpoint: 768px;
-
-// ========================================
-// CONTAINER
-// ========================================
-.q-mb-sm {
- // Padding e margini ottimizzati
- @media (max-width: $mobile-breakpoint) {
- margin-bottom: 10px !important;
+ @media (max-width: $mobile) {
+ margin-bottom: $s-xs;
}
}
// ========================================
-// LABEL/TITLE (con gradiente sottile)
+// LABEL
// ========================================
-.text-subtitle2 {
- &.text-primary {
- background: linear-gradient(135deg, $primary-color, color.adjust($primary-color, $lightness: 15%));
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
- font-weight: 600;
- letter-spacing: 0.02em;
- margin-bottom: 8px;
+.c-chiplist__label {
+ font-size: 0.9125rem;
+ font-weight: 600;
+ color: $mainColor;
+ margin-bottom: $s-xs;
+ letter-spacing: 0.02em;
+ background: linear-gradient(135deg, $mainColor, lighten($mainColor, 12%));
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-clip: text;
- @media (max-width: $mobile-breakpoint) {
- font-size: 0.875rem;
- margin-bottom: 6px;
- }
+ @media (max-width: $mobile) {
+ font-size: 0.85rem;
+ margin-bottom: 4px;
}
}
// ========================================
// CHIPS CONTAINER
// ========================================
-.q-gutter-sm {
- &.row.wrap {
- gap: 8px;
+.c-chiplist__chips {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 6px;
- @media (max-width: $mobile-breakpoint) {
- gap: 6px;
- }
+ @media (max-width: $mobile) {
+ gap: 4px;
}
}
// ========================================
-// SINGLE CHIP (con gradienti bellissimi!)
+// SINGLE CHIP - RISO Style
// ========================================
-.q-chip {
+.c-chip {
position: relative;
overflow: hidden;
- transition: all $transition-speed cubic-bezier(0.4, 0, 0.2, 1);
- border-radius: $border-radius !important;
+ border-radius: 20px !important;
+ font-size: 0.9125rem;
font-weight: 500;
letter-spacing: 0.01em;
+ padding: 4px 10px !important;
+ height: auto !important;
+ min-height: 26px;
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
+
+ @media (max-width: $mobile) {
+ font-size: 0.85rem;
+ padding: 2px 4px !important;
+ min-height: 24px;
+ border-radius: 16px !important;
+ }
- // Effetto luce scorrevole
+ // Gradiente di luce animato
&::before {
content: '';
position: absolute;
@@ -82,171 +74,255 @@ $mobile-breakpoint: 768px;
left: -100%;
width: 100%;
height: 100%;
- background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
+ background: linear-gradient(90deg,
+ transparent,
+ rgba(255, 255, 255, 0.25),
+ transparent
+ );
transition: left 0.5s ease;
}
- // Shadow con gradiente
- &.shadow-1 {
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
+ // Testo con ombra per leggibilitÃ
+ &::v-deep(.q-chip__content) {
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
+ white-space: nowrap;
+
+ @media (max-width: $mobile) {
+ font-size: 0.75rem;
+ }
}
- // Padding compatto
- &.q-px-sm {
- padding-left: 10px !important;
- padding-right: 10px !important;
-
- @media (max-width: $mobile-breakpoint) {
- padding-left: 8px !important;
- padding-right: 8px !important;
- font-size: 0.8125rem !important;
+ // Icona
+ &::v-deep(.q-icon) {
+ font-size: 1rem;
+ margin-right: 4px;
+ transition: transform 0.25s ease;
+
+ @media (max-width: $mobile) {
+ font-size: 0.875rem;
+ margin-right: 3px;
}
}
// Hover effect
&:hover {
- transform: translateY(-2px) scale(1.02);
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
+ transform: translateY(-1px) scale(1.02);
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16), 0 2px 4px rgba(0, 0, 0, 0.12);
&::before {
left: 100%;
}
- }
- // Colori con gradienti
- &[class*='bg-primary'],
- &[class*='bg-blue'] {
- background: linear-gradient(135deg, $primary-color, color.adjust($primary-color, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba($primary-color, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust($primary-color, $lightness: -5%), $primary-color) !important;
- box-shadow: 0 4px 12px rgba($primary-color, 0.4);
+ &::v-deep(.q-icon) {
+ transform: scale(1.1) rotate(5deg);
}
}
- &[class*='bg-secondary'],
- &[class*='bg-teal'] {
- background: linear-gradient(135deg, $secondary-color, color.adjust($secondary-color, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba($secondary-color, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust($secondary-color, $lightness: -5%), $secondary-color) !important;
- box-shadow: 0 4px 12px rgba($secondary-color, 0.4);
- }
- }
-
- &[class*='bg-positive'],
- &[class*='bg-green'] {
- background: linear-gradient(135deg, $positive-color, color.adjust($positive-color, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba($positive-color, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust($positive-color, $lightness: -5%), $positive-color) !important;
- box-shadow: 0 4px 12px rgba($positive-color, 0.4);
- }
- }
-
- &[class*='bg-negative'],
- &[class*='bg-red'] {
- background: linear-gradient(135deg, $negative-color, color.adjust($negative-color, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba($negative-color, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust($negative-color, $lightness: -5%), $negative-color) !important;
- box-shadow: 0 4px 12px rgba($negative-color, 0.4);
- }
- }
-
- &[class*='bg-warning'],
- &[class*='bg-orange'],
- &[class*='bg-amber'] {
- background: linear-gradient(135deg, $warning-color, color.adjust($warning-color, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba($warning-color, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust($warning-color, $lightness: -5%), $warning-color) !important;
- box-shadow: 0 4px 12px rgba($warning-color, 0.4);
- }
- }
-
- &[class*='bg-info'],
- &[class*='bg-cyan'] {
- background: linear-gradient(135deg, $info-color, color.adjust($info-color, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba($info-color, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust($info-color, $lightness: -5%), $info-color) !important;
- box-shadow: 0 4px 12px rgba($info-color, 0.4);
- }
- }
-
- &[class*='bg-purple'] {
- background: linear-gradient(135deg, #9c27b0, color.adjust(#9c27b0, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba(#9c27b0, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust(#9c27b0, $lightness: -5%), #9c27b0) !important;
- box-shadow: 0 4px 12px rgba(#9c27b0, 0.4);
- }
- }
-
- &[class*='bg-pink'] {
- background: linear-gradient(135deg, #e91e63, color.adjust(#e91e63, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba(#e91e63, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust(#e91e63, $lightness: -5%), #e91e63) !important;
- box-shadow: 0 4px 12px rgba(#e91e63, 0.4);
- }
- }
-
- &[class*='bg-grey'],
- &[class*='bg-gray'] {
- background: linear-gradient(135deg, #757575, color.adjust(#757575, $lightness: 10%)) !important;
- box-shadow: 0 2px 8px rgba(#757575, 0.3);
-
- &:hover {
- background: linear-gradient(135deg, color.adjust(#757575, $lightness: -5%), #757575) !important;
- box-shadow: 0 4px 12px rgba(#757575, 0.4);
- }
- }
-
- // Icon dentro il chip
- .q-icon {
- transition: transform $transition-speed ease;
- }
-
- &:hover .q-icon {
- transform: scale(1.1) rotate(5deg);
- }
-
- // Text color bianco con ombra sottile per leggibilitÃ
- &[class*='text-white'] {
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
- }
-}
-
-// ========================================
-// DENSE VARIANT
-// ========================================
-.q-chip--dense {
- padding: 3px 8px !important;
- font-size: 0.8125rem;
-
- @media (max-width: $mobile-breakpoint) {
- padding: 2px 6px !important;
+ // Dense variant
+ &.q-chip--dense {
+ padding: 3px 8px !important;
+ min-height: 24px;
font-size: 0.75rem;
+
+ @media (max-width: $mobile) {
+ padding: 2px 6px !important;
+ min-height: 22px;
+ font-size: 0.6875rem;
+ }
}
}
// ========================================
-// ANIMATION
+// SIZE VARIANTS
// ========================================
-@keyframes chipAppear {
+
+// Medium size
+.c-chip--md {
+ font-size: 0.9375rem !important;
+ padding: 6px 14px !important;
+ min-height: 34px !important;
+ border-radius: 24px !important;
+
+ &::v-deep(.q-chip__content) {
+ font-size: 0.9375rem;
+ }
+
+ &::v-deep(.q-icon) {
+ font-size: 1.25rem !important;
+ margin-right: 6px;
+ }
+
+ @media (max-width: $mobile) {
+ font-size: 0.875rem !important;
+ padding: 5px 12px !important;
+ min-height: 32px !important;
+ border-radius: 20px !important;
+
+ &::v-deep(.q-chip__content) {
+ font-size: 0.875rem;
+ }
+
+ &::v-deep(.q-icon) {
+ font-size: 1.125rem !important;
+ margin-right: 5px;
+ }
+ }
+}
+
+// Large size
+.c-chip--lg {
+ font-size: 1.0625rem !important;
+ padding: 8px 18px !important;
+ min-height: 42px !important;
+ border-radius: 28px !important;
+ font-weight: 600;
+
+ &::v-deep(.q-chip__content) {
+ font-size: 1.0625rem;
+ font-weight: 600;
+ }
+
+ &::v-deep(.q-icon) {
+ font-size: 1.5rem !important;
+ margin-right: 8px;
+ }
+
+ @media (max-width: $mobile) {
+ font-size: 1rem !important;
+ padding: 7px 16px !important;
+ min-height: 38px !important;
+ border-radius: 24px !important;
+
+ &::v-deep(.q-chip__content) {
+ font-size: 1rem;
+ }
+
+ &::v-deep(.q-icon) {
+ font-size: 1.375rem !important;
+ margin-right: 7px;
+ }
+ }
+}
+
+// ========================================
+// GRADIENTI PER COLORI - RISO Style
+// ========================================
+
+// Blue/Primary
+.c-chip.bg-blue,
+.c-chip.bg-primary,
+.c-chip.bg-indigo,
+.c-chip.bg-light-blue {
+ background: linear-gradient(135deg, #1976d2, #42a5f5) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #1565c0, #1976d2) !important;
+ }
+}
+
+// Teal/Cyan
+.c-chip.bg-teal,
+.c-chip.bg-cyan {
+ background: linear-gradient(135deg, #00897b, #26a69a) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #00796b, #00897b) !important;
+ }
+}
+
+// Green
+.c-chip.bg-green,
+.c-chip.bg-light-green {
+ background: linear-gradient(135deg, #388e3c, #66bb6a) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #2e7d32, #388e3c) !important;
+ }
+}
+
+// Purple/Deep Purple
+.c-chip.bg-purple,
+.c-chip.bg-deep-purple {
+ background: linear-gradient(135deg, #7b1fa2, #9c27b0) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #6a1b9a, #7b1fa2) !important;
+ }
+}
+
+// Pink
+.c-chip.bg-pink {
+ background: linear-gradient(135deg, #c2185b, #e91e63) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #ad1457, #c2185b) !important;
+ }
+}
+
+// Orange/Amber
+.c-chip.bg-orange,
+.c-chip.bg-amber,
+.c-chip.bg-deep-orange {
+ background: linear-gradient(135deg, #f57c00, #ff9800) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #ef6c00, #f57c00) !important;
+ }
+}
+
+// Yellow/Lime
+.c-chip.bg-yellow,
+.c-chip.bg-lime {
+ background: linear-gradient(135deg, #f9a825, #fdd835) !important;
+ color: rgba(0, 0, 0, 0.87) !important;
+
+ &::v-deep(.q-chip__content) {
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
+ color: rgba(0, 0, 0, 0.87) !important;
+ }
+
+ &:hover {
+ background: linear-gradient(135deg, #f57f17, #f9a825) !important;
+ }
+}
+
+// Red/Negative
+.c-chip.bg-red,
+.c-chip.bg-negative {
+ background: linear-gradient(135deg, #c62828, #e53935) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #b71c1c, #c62828) !important;
+ }
+}
+
+// Brown
+.c-chip.bg-brown {
+ background: linear-gradient(135deg, #5d4037, #6d4c41) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #4e342e, #5d4037) !important;
+ }
+}
+
+// Grey/Blue Grey
+.c-chip.bg-grey,
+.c-chip.bg-gray,
+.c-chip.bg-blue-grey {
+ background: linear-gradient(135deg, #546e7a, #78909c) !important;
+
+ &:hover {
+ background: linear-gradient(135deg, #455a64, #546e7a) !important;
+ }
+}
+
+// ========================================
+// ANIMAZIONE INGRESSO
+// ========================================
+@keyframes chipFadeIn {
from {
opacity: 0;
- transform: scale(0.8) translateY(10px);
+ transform: scale(0.92) translateY(4px);
}
to {
opacity: 1;
@@ -254,29 +330,28 @@ $mobile-breakpoint: 768px;
}
}
-.q-chip {
- animation: chipAppear 0.3s ease-out;
- animation-fill-mode: both;
+.c-chip {
+ animation: chipFadeIn 0.25s ease-out backwards;
- // Stagger animation per chip multipli
- @for $i from 1 through 20 {
+ // Stagger per chip multipli
+ @for $i from 1 through 25 {
&:nth-child(#{$i}) {
- animation-delay: #{$i * 0.05}s;
+ animation-delay: #{$i * 0.04}s;
}
}
}
// ========================================
-// GLASSMORPHISM VARIANT (opzionale)
+// RESPONSIVE TOUCH OPTIMIZATION
// ========================================
-.q-chip.glass-effect {
- background: rgba(255, 255, 255, 0.2) !important;
- backdrop-filter: blur(10px);
- border: 1px solid rgba(255, 255, 255, 0.3);
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
-
- &:hover {
- background: rgba(255, 255, 255, 0.3) !important;
- box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
+@media (max-width: $mobile) {
+ .c-chip {
+ // Touch target più grande su mobile
+ min-height: 28px;
+
+ &:active {
+ transform: scale(0.96);
+ transition-duration: 0.1s;
+ }
}
}
\ No newline at end of file
diff --git a/src/components/CMyChipList/CMyChipList.ts b/src/components/CMyChipList/CMyChipList.ts
index 0d93712d..9390c4c9 100755
--- a/src/components/CMyChipList/CMyChipList.ts
+++ b/src/components/CMyChipList/CMyChipList.ts
@@ -63,6 +63,12 @@ export default defineComponent({
required: false,
default: '',
},
+ size: {
+ type: String,
+ required: false,
+ default: 'sm',
+ validator: (value: string) => ['sm', 'md', 'lg'].includes(value),
+ },
},
components: {},
setup(props, { emit }) {
@@ -85,7 +91,7 @@ export default defineComponent({
// --- MULTISELECT: itera sulle selezioni, non sulle options ---
if (props.type === costanti.FieldType.multiselect) {
if (Array.isArray(myval.value) && myval.value.length) {
- myval.value.forEach((recout, idx) => {
+ myval.value.forEach((recout: any, idx) => {
// valore "chiave" della selezione
const value =
props.type_out === costanti.FieldType.object
@@ -105,14 +111,14 @@ export default defineComponent({
recFromOptions || (typeof recout === 'object' ? recout : null);
const mydata = {
- label: null,
+ label: '',
value,
valbool: true,
- icon: '',
+ icon: baseRec?.icon || '',
// priorità : optcolor -> color su record -> fallback colore
color:
- (props.optcolor && baseRec?.[props.optcolor]) ||
baseRec?.color ||
+ (props.optcolor && baseRec?.[props.optcolor]) ||
tools.getColorByIndexBest(idx),
};
@@ -146,17 +152,17 @@ export default defineComponent({
} else if (props.type === costanti.FieldType.select) {
// --- SELECT: itera sulle options e trova la corrispondenza ---
if (Array.isArray(props.options) && props.options.length) {
- props.options.forEach((rec, index) => {
+ props.options.forEach((rec: any, index) => {
if (myval.value === rec?.[props.optval]) {
const mydata = {
value: myval.value,
valbool: true,
icon: '',
color:
- (props.optcolor && rec?.[props.optcolor]) ||
rec?.color ||
+ (props.optcolor && rec?.[props.optcolor]) ||
tools.getColorByIndexBest(index),
- label: null,
+ label: '',
};
if (props.opticon && rec?.[props.opticon]) mydata.icon = rec[props.opticon];
@@ -182,23 +188,26 @@ export default defineComponent({
} else {
// --- BITMASK (o altro tipo legacy): itera sulle options e verifica i bit attivi ---
if (Array.isArray(props.options) && props.options.length) {
- props.options.forEach((rec, index) => {
+ props.options.forEach((rec: any, index) => {
const optVal = rec?.[props.optval];
if (optVal == null) return;
+
if (tools.isBitActive(myval.value, optVal)) {
const mydata = {
label: t(tools.getValueByFunzOrVal(rec, props.optlab)),
value: optVal,
valbool: true,
- icon: '',
+ icon: tools.getValueByFunzOrVal(rec, 'icon') || '',
color:
+ rec.color ||
(props.optcolor && rec?.[props.optcolor]) ||
- rec?.color ||
tools.getColorByIndexBest(index),
};
- if (props.opticon && rec?.[props.opticon]) mydata.icon = rec[props.opticon];
+ if (rec[props.opticon]) {
+ if (props.opticon && rec?.[props.opticon]) mydata.icon = rec[props.opticon];
+ }
myarrvalues.value.push(mydata);
}
@@ -215,7 +224,7 @@ export default defineComponent({
label: props.rec?.[props.optlab],
value: 0,
valbool: true,
- icon: '',
+ icon: props.rec?.icon || '',
color: tools.getColorByIndexBest(0),
};
diff --git a/src/components/CMyChipList/CMyChipList.vue b/src/components/CMyChipList/CMyChipList.vue
index b138d46b..3d219f2e 100755
--- a/src/components/CMyChipList/CMyChipList.vue
+++ b/src/components/CMyChipList/CMyChipList.vue
@@ -1,21 +1,18 @@