diff --git a/src/rootgen/admin/home/home.scss b/src/components/CMyPageElem/CMyPageElem.scss
similarity index 100%
rename from src/rootgen/admin/home/home.scss
rename to src/components/CMyPageElem/CMyPageElem.scss
diff --git a/src/components/CMyPageElem/CMyPageElem.ts b/src/components/CMyPageElem/CMyPageElem.ts
new file mode 100755
index 00000000..10656924
--- /dev/null
+++ b/src/components/CMyPageElem/CMyPageElem.ts
@@ -0,0 +1,98 @@
+import {
+ computed,
+ defineComponent, onMounted, ref, toRef, watch,
+} from 'vue'
+
+import { IMyElem, IMyPage } from '@src/model'
+import { useGlobalStore } from '@store/globalStore'
+import { LandingFooter } from '@/components/LandingFooter'
+import { CMyElem } from '@/components/CMyElem'
+
+import { CImgTitle } from '../CImgTitle/index'
+import { CTitle } from '../CTitle/index'
+import { tools } from '@store/Modules/tools'
+import { useQuasar } from 'quasar'
+import { useI18n } from '@/boot/i18n'
+import { shared_consts } from '@/common/shared_vuejs'
+
+export default defineComponent({
+ name: 'CMyPageElem',
+ components: { LandingFooter, CImgTitle, CTitle, CMyElem },
+ props: {
+ title: String,
+ mypath: {
+ type: String,
+ required: true,
+ },
+ img: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ imgbackground: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ sizes: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ styleadd: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ nofooter: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ },
+
+ setup(props) {
+ const rec = ref
(null)
+ const mypathin = toRef(props, 'mypath')
+
+ const $q = useQuasar()
+
+ const { t } = useI18n()
+
+ const editOn = ref(false)
+ const addOn = ref(false)
+
+ const globalStore = useGlobalStore()
+
+ const myelems = computed(() => {
+ if (mypathin.value)
+ return globalStore.getMyElems(mypathin.value)
+ else
+ return null
+ })
+
+
+ const load = async (): Promise => {
+ // console.log('load', mypathin.value)
+ if (mypathin.value !== '') rec.value = await globalStore.loadPage('/' + mypathin.value)
+ }
+
+ watch(() => props.mypath, async (to: string, from: string) => {
+ console.log('... load', mypathin.value, props.mypath)
+ await load()
+ })
+
+
+ onMounted(load)
+
+ return {
+ rec, myelems,
+ mypathin,
+ editOn,
+ addOn,
+ tools,
+ shared_consts,
+ }
+ },
+
+})
diff --git a/src/components/CMyPageElem/CMyPageElem.vue b/src/components/CMyPageElem/CMyPageElem.vue
new file mode 100755
index 00000000..c1f8ae8a
--- /dev/null
+++ b/src/components/CMyPageElem/CMyPageElem.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/CMyPageElem/index.ts b/src/components/CMyPageElem/index.ts
new file mode 100755
index 00000000..1a62d670
--- /dev/null
+++ b/src/components/CMyPageElem/index.ts
@@ -0,0 +1 @@
+export { default as CMyPageElem } from './CMyPageElem.vue'
diff --git a/src/components/CSignUpIscrizioneArcadei/test2 b/src/components/CSignUpIscrizioneArcadei/test2
new file mode 100644
index 00000000..209f36ec
--- /dev/null
+++ b/src/components/CSignUpIscrizioneArcadei/test2
@@ -0,0 +1,4 @@
+Con la mia contribuzione, dopo l'approvazione dell'assemblea generale entro a far parte del Comitato, con la mia
+presenza morale, spirituale, intellettuale e/o contribuendo alle attività pratiche necessarie alla creazione ed
+attuazione degli scopi costitutivi.
+
diff --git a/src/components/index.ts b/src/components/index.ts
index 7da20010..5cf8178e 100755
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -16,6 +16,7 @@ export * from './CMyCart'
export * from './CMyFieldDb'
export * from './CMyFieldRec'
export * from './CMyPage'
+export * from './CMyPageElem'
export * from './CMyPageIntro'
export * from './CMyElem'
export * from './CMyTeacher'
diff --git a/src/db/lang/ws_it.js b/src/db/lang/ws_it.js
index 865d73d1..a0b78499 100755
--- a/src/db/lang/ws_it.js
+++ b/src/db/lang/ws_it.js
@@ -1,9 +1,9 @@
const msg_website_it = {
ws: {
- sitename: 'Riso',
- siteshortname: 'RISO',
- 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.',
- keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
+ sitename: 'KolibriLab',
+ siteshortname: 'KolibriLab',
+ description: '',
+ keywords: '',
},
products: {
quantity: 'Quantità',
@@ -54,9 +54,9 @@ const msg_website_it = {
need_Telegram: 'Per poter utilizzare la Piattaforma occorre avere Telegram installato
',
Registrazione_Con_Bot: '1) Copia questo username cliccandoci sopra:',
SignUpIscrizione: 'Diventa Socio CNM',
+ SignUpArcadei: 'Aderisci ad Arcadei',
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
SignUp2: 'Registrazione',
- SignUp3: 'Reg',
SignUpBot: 'Registrati',
SignIn: 'Login',
status: 'Statistiche',
@@ -114,8 +114,10 @@ const msg_website_it = {
hours: 'Ore',
department: 'Uffici',
title: 'Titolo',
+ subtitle: 'SottoTitolo',
path: 'Percorso',
img1: 'Immagine 1',
+ imgsize: 'ImgSize',
contentfield: 'Testo 1',
video1: 'Video 1',
ratio1: 'Ratio 1',
@@ -142,8 +144,8 @@ const msg_website_it = {
color: 'Colore',
},
msg: {
- myAppName: 'Riso',
- myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
+ myAppName: 'Arcadei',
+ myAppDescription: 'Modello Comunitario',
underconstruction: 'App in costruzione...',
myDescriz: '',
sottoTitoloApp: 'Il primo Vero Social',
@@ -158,32 +160,37 @@ const msg_website_it = {
+ ' che intere popolazioni antiche conoscevano bene.',
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti Tecnologici a nostro favore, per Liberarci '
+ 'così piano piano dalla schiavitù del "Lavoro per generare Denaro" e trasformando le nostre Capacitá in '
- + 'Risorse Umane per poterci sostenere e vivere in Armonia con gli altri.
' +
- '
R.I.S.O.
' +
- 'Siamo una rete di comunità consapevoli, basata sul sostegno reciproco, la fiducia, la condivisione e l\'ascolto. \n' +
- 'Coltiviamo terreno fertile per creare, in armonia con la natura, un mondo di collettività libere e autosufficienti, attraverso un circuito di scambio di esperienze umane, beni e servizi.
' +
- 'Partecipa al cambiamento. RISO sei anche tu!',
+ + 'Risorse Umane per poterci sostenere e vivere in Armonia con gli altri.',
freesocial: {
title: 'Social',
descr: 'Una Community organizzata per Categorie, dove potrai unirti a Gruppi Tematici, '
+ 'Condividere Esperienze e unire Competenze per organizzare e sostenere Progetti Innovativi per il Popolo.
'
+ 'Verranno evidenziati sviluppi Etici come l\'Auto-Produzione, la Sostenibilitá, '
+ 'la Buona Salute Naturale e il Rispetto per l\'Ambiente e per tutti gli Esseri Viventi di questo '
- + 'Pianeta.',
+ + 'Pianeta. Chiunque potrá esprimere il proprio Consenso o Dissenso partecipando a Sondaggi Interattivi'
+ + ' e realizzare insieme i Cambiamenti necessari alla nostra Società.',
},
freetalent: {
title: 'Beni e Servizi',
descr: 'Condividi i tuoi Talenti e Abilità, '
+ 'Nel Dare e Ricevere, si creeranno così legami di Amicizia, Solidarietà, Cooperazione e Divertimento
' +
- 'Favoriamo lo scambio locale di Beni e Servizi dove potrai scegliere cosa chiedere in cambio (Dono, Offerta Libera, Baratto, Monete Alternative, ecc...).'
+ 'Favoriamo lo scambio locale di Beni e Servizi grazie ad un sistema di baratto organizzato, in cui la comunità stessa si pone come garante.'
},
coin: {
title: 'RIS - Credito Alternativo',
+ descr: 'Stiamo lavorando anche per creare una sorta di "moneta alternativa" per conteggiare gli scambi che avvengono tra di noi, quando il semplice baratto risulta non applicabile.
' +
+ 'Partendo dalle basi del Si.Cre.Na.C.C - Sistema di Credito Naturale a Copertura Certa.
' +
+ 'Ciascun operatore potrà creare moneta all\'occorrenza, se il saldo del suo conto non sarà sufficiente a coprire la spesa. Potrà quindi mandare il suo conto in "scoperto", accollandosi il conseguente' +
+ ' Debito, accreditando l\'equivalente somma all\'operatore ricevente, il quale la annovera nel suo conto in qualità di Credito. ' +
+ 'L\'equilibrio tra il credito dell\'uno ed il debito dell\'altro ha come conseguenza che il debitore dovrà lavorare per rifondere il debito, mentre il ricevente potrà usare il credito come moneta.
' +
+ 'Per maggiori informazioni consultare il libro gratuito cliccando qui.'
+
+
},
freeliving: {
title: 'Gruppi Territoriali',
- descr: 'Questo progetto vuole diffondere la creazione di Gruppi Territoriali Provinciali, '
- + 'per poter favorire progetti condivisi in ambito territoriale e creare così una Rete di Fiducia fino al vicinato, come giá viene praticato in piccolo, in numerosi Ecovillaggi e Comunità del mondo.',
+ descr: 'Questo progetto vuole diffondere la creazione di Gruppi Territoriali Provinciali,'
+ + 'per poter favorire progetti condivisi in ambito territoriale e creare così una Rete di Fiducia fino al vicinato, come giá viene praticato in piccolo, in numerosi Ecovillaggi e Comunità del mondo.',
},
freecollabora: {
@@ -231,9 +238,9 @@ const msg_website_it = {
},
multiplatform: {
title: 'Multi-piattaforma',
- descr: 'E\' compatibile con Google Chrome, Firefox, Opera, Safari, iPhone, Android e PC. L\'Applicazione s\'installa facilmente, senza dover passare dallo store. '
+ descr: 'E\' compatibile con Google Chrome, Firefox, Opera, Safari, iPhone, Android e PC. L\'Applicazione s\'installa facilmente, senza passare dallo store. '
+ 'basta entrare sul sito www.riso.app.
'
- + 'Dopo la registrazione chiederà di aggiungerlo alla Schermata Home (oppure cliccare sul menu "..." del browser e scegliere "Installa APP")',
+ + 'Dopo la registrazione chiederà di aggiungerlo allo schermo (o cliccare sul menu del browser "Installa APP")',
},
free: {
title: 'Gratuita, Open Source e Niente Pubblicità',
diff --git a/src/db/static_data.ts b/src/db/static_data.ts
index fdc2e513..9336dbdd 100755
--- a/src/db/static_data.ts
+++ b/src/db/static_data.ts
@@ -7,29 +7,29 @@ import {
import { func } from '@store/Modules/fieldsTable'
const functionality: IFunctionality = {
- PWA: true,
+ PWA: false,
SHOW_USER_MENU: true, // Cambiare con true
SHOW_PROFILE: true,
SHOW_REG_BUTTON: true,
ENABLE_REGISTRATION: true,
- ENABLE_REG_BY_BOT: true,
- ENABLE_REG_NEED_TELEGRAM: true,
+ ENABLE_REG_BY_BOT: false,
+ ENABLE_REG_NEED_TELEGRAM: false,
SHOW_NEWSLETTER: false,
SHOW_ONLY_POLICY: true,
ENABLE_TODOS_LOADING: false,
ENABLE_PROJECTS_LOADING: false,
SHOW_IF_IS_SERVER_CONNECTION: false,
SHOW_MESSAGES: false,
- SHOW_NOTIF: true,
- SHOW_COINS: true,
- BOOKING_EVENTS: true,
+ SHOW_NOTIF: false,
+ SHOW_COINS: false,
+ BOOKING_EVENTS: false,
ENABLE_ECOMMERCE: false,
ENABLE_REG_ISP: true,
- ENABLE_GROUPS: true,
- ENABLE_CIRCUITS: true,
- SHOW_COMPETENZE: true,
- ENABLE_VIEW_GROUPS: true,
- ENABLE_VIEW_USERS: true,
+ ENABLE_GROUPS: false,
+ ENABLE_CIRCUITS: false,
+ SHOW_COMPETENZE: false,
+ ENABLE_VIEW_GROUPS: false,
+ ENABLE_VIEW_USERS: false,
ENABLE_VIEW_PROFILE: true,
}
@@ -345,6 +345,20 @@ const routes_manager: IListRoutes[] = [
onlyManager: true,
onlyEditor: true
},
+ {
+ active: true,
+ order: 32,
+ path: '/admin/home',
+ materialIcon: 'fas fa-file-alt',
+ name: 'otherpages.admin.elems',
+ component: () => import('@/rootgen/admin/editElems/editElems.vue'),
+ inmenu: true,
+ submenu: true,
+ level_parent: 0,
+ level_child: 0.5,
+ onlyManager: true,
+ onlyEditor: true
+ },
{
active: true,
order: 30,
@@ -476,78 +490,12 @@ const baseroutes: IListRoutes[] = [
path: '/',
materialIcon: 'home',
name: 'pages.home',
- component: () => import('@src/root/mainview/mainview.vue'),
+ component: () => import('@src/root_spec/home_kolibrilab/home_kolibrilab.vue'),
reqauth: false,
inmenu: true,
infooter: true,
},
- {
- active: true,
- order: 12,
- path: '/goods',
- materialIcon: 'fas fa-tshirt',
- name: 'mypages.goods',
- component: () => import('@/root/goods/goods.vue'),
- meta: { requiresAuth: true },
- inmenu: true,
- infooter: true,
- },
- {
- active: true,
- order: 15,
- path: '/services',
- materialIcon: 'fas fa-house-user',
- name: 'mypages.services',
- component: () => import('@/root/services/services.vue'),
- meta: { requiresAuth: true },
- inmenu: true,
- infooter: true,
- },
- {
- active: true,
- order: 15,
- path: '/provapao',
- materialIcon: 'fas fa-house-user',
- name: 'mypages.provapao',
- component: () => import('@/root/provapao/provapao.vue'),
- meta: { requiresAuth: true },
- inmenu: false,
- infooter: false,
- },
- {
- active: true,
- order: 15,
- path: '/hosps',
- materialIcon: 'fas fa-bed',
- name: 'mypages.hosp',
- component: () => import('@/root/hosp/hosp.vue'),
- meta: { requiresAuth: true },
- inmenu: true,
- infooter: true,
- },
- {
- active: true,
- order: 20,
- path: '/events',
- materialIcon: 'fas fa-bullhorn',
- name: 'mypages.events',
- component: () => import('@/root/eventi/eventi.vue'),
- meta: { requiresAuth: true },
- inmenu: true,
- infooter: true,
- },
- {
- active: true,
- order: 100,
- path: '/presentazione',
- materialIcon: 'fas fa-info',
- name: 'pages.presentazione',
- component: () => import('@src/root/presentazione/presentazione.vue'),
- reqauth: false,
- inmenu: true,
- infooter: true,
- },
- {
+ /*{
active: true,
order: 120,
path: '/myprofile',
@@ -557,7 +505,7 @@ const baseroutes: IListRoutes[] = [
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
- },
+ },*/
{
active: true,
order: 120,
@@ -569,17 +517,6 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: false,
},
- {
- active: true,
- order: 130,
- path: '/friends',
- materialIcon: 'fas fa-user-friends',
- name: 'mypages.friends',
- component: () => import('@/views/user/myfriends/myfriends.vue'),
- meta: { requiresAuth: true },
- inmenu: true,
- infooter: true,
- },
{
active: functionality.ENABLE_GROUPS,
order: 132,
@@ -623,7 +560,7 @@ const baseroutes: IListRoutes[] = [
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
- },{
+ }, {
active: true,
order: 137,
path: '/circuit/:path',
@@ -678,16 +615,6 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: false,
},
- {
- active: true,
- order: 150,
- path: '/fundraising',
- materialIcon: 'fas fa-hand-holding-heart',
- name: 'pages.fundraising',
- component: () => import('@src/root/fundraising/fundraising.vue'),
- inmenu: true,
- infooter: true,
- },
{
active: true,
order: 200,
@@ -709,6 +636,17 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: false,
},
+ {
+ active: true,
+ order: 15,
+ path: '/provapao',
+ materialIcon: 'fas fa-house-user',
+ name: 'mypages.provapao',
+ component: () => import('@/root/provapao/provapao.vue'),
+ meta: { requiresAuth: true },
+ inmenu: false,
+ infooter: false,
+ },
{
active: true,
order: 400,
@@ -770,17 +708,6 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: true
},
- {
- active: functionality.ENABLE_REGISTRATION && functionality.ENABLE_REG_NEED_TELEGRAM,
- order: 1000,
- path: '/signup/:invited/:usernameteleg/:idteleg/:regexpire',
- materialIcon: 'how_to_reg',
- name: 'pages.SignUp',
- component: () => import('@/views/login/signup/signup.vue'),
- inmenu: false,
- infooter: false,
- separator: false
- },
{
active: functionality.ENABLE_REG_BY_BOT,
order: 1000,
@@ -791,34 +718,23 @@ const baseroutes: IListRoutes[] = [
infooter: functionality.ENABLE_REG_BY_BOT,
separator: false
},
- /*{
+ {
active: functionality.ENABLE_REGISTRATION && !functionality.ENABLE_REG_NEED_TELEGRAM,
order: 1000,
path: '/signup',
materialIcon: 'how_to_reg',
name: 'pages.SignUp',
- component: () => import('@/views/login/signup/signup_noteleg.vue'),
- inmenu: false,
- infooter: false,
- separator: false
- },*/
- {
- active: true,
- order: 1001,
- path: '/signup/:invited',
- materialIcon: 'how_to_reg',
- name: 'pages.SignUp2',
- component: () => import('@/views/login/signup/signup.vue'),
+ component: () => import('@/views/login/signup_noteleg/signup_noteleg.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: true,
- order: 1002,
- path: '/signup/:invited/:regexpire',
+ order: 1001,
+ path: '/signup/:invited',
materialIcon: 'how_to_reg',
- name: 'pages.SignUp3',
+ name: 'pages.SignUp2',
component: () => import('@/views/login/signup/signup.vue'),
inmenu: false,
infooter: false,
@@ -842,7 +758,7 @@ const baseroutes: IListRoutes[] = [
materialIcon: 'account_circle',
name: 'pages.SignIn',
component: () => import('@/views/login/signin_noreg/signin_noreg.vue'),
- inmenu: true,
+ inmenu: false,
infooter: true
},
// --- NOT IN MENU: ---
@@ -882,7 +798,7 @@ const baseroutes: IListRoutes[] = [
isseparator: true,
inmenu: true,
},
- {
+ /*{
active: true,
order: 80,
path: '/calendario-eventi',
@@ -893,6 +809,8 @@ const baseroutes: IListRoutes[] = [
inmenu: true,
infooter: true
},
+
+ */
{
active: true,
order: 1000,
diff --git a/src/model/GlobalStore.ts b/src/model/GlobalStore.ts
index a097a77f..ff236e8a 100755
--- a/src/model/GlobalStore.ts
+++ b/src/model/GlobalStore.ts
@@ -114,6 +114,7 @@ export interface IMyBot {
export interface IMyElem {
_id?: string
type?: number
+ path?: string
title?: string
container?: string
container2?: string
@@ -123,11 +124,11 @@ export interface IMyElem {
ratio?: string
containerHtml?: string
size?: string
- order?: string
- width?: string
- height?: string
- heightimg?: string
- widthimg?: string
+ order?: number
+ width?: number
+ height?: number
+ heightimg?: number
+ widthimg?: number
link?: string
onlyif_logged?: boolean
active?: boolean
diff --git a/src/root/mypage/mypage.ts b/src/root/mypage/mypage.ts
index 27126ae6..9c9f2cd2 100755
--- a/src/root/mypage/mypage.ts
+++ b/src/root/mypage/mypage.ts
@@ -3,11 +3,11 @@ import { defineComponent, ref, onMounted, watch, computed } from 'vue'
import { useGlobalStore } from '@store/globalStore'
import { useRoute } from 'vue-router'
import MixinMetaTags from '@/mixins/mixin-metatags'
-import { CMyPage } from '@/components/CMyPage'
+import { CMyPageElem } from '@/components/CMyPageElem'
export default defineComponent({
name: 'Mypage',
- components: { CMyPage },
+ components: { CMyPageElem },
setup() {
const rec = ref({})
const globalStore = useGlobalStore()
diff --git a/src/root/mypage/mypage.vue b/src/root/mypage/mypage.vue
index af5dfdbd..1b925258 100755
--- a/src/root/mypage/mypage.vue
+++ b/src/root/mypage/mypage.vue
@@ -1,6 +1,7 @@
-
@@ -14,7 +15,7 @@
}}
-
+
diff --git a/src/rootgen/admin/home/home.ts b/src/rootgen/admin/home/home.ts
deleted file mode 100755
index f2d13e2b..00000000
--- a/src/rootgen/admin/home/home.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { defineComponent, ref, onMounted } from 'vue'
-
-import { CImgText } from '../../../components/CImgText/index'
-import { CCard } from '@/components/CCard'
-import { CMyPage } from '@/components/CMyPage'
-import { CTitleBanner } from '@/components/CTitleBanner'
-import { CGridTableRec } from '@/components/CGridTableRec'
-
-import { colmyelems } from '@src/store/Modules/fieldsTable'
-import MixinMetaTags from '@/mixins/mixin-metatags'
-
-export default defineComponent({
- name: 'Home',
- components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec },
- setup() {
-
- const { setmeta } = MixinMetaTags()
-
- return {
- colmyelems,
- setmeta,
- }
- }
-})
diff --git a/src/statics/lang/it.js b/src/statics/lang/it.js
index eea12fda..e1f4ef46 100755
--- a/src/statics/lang/it.js
+++ b/src/statics/lang/it.js
@@ -71,6 +71,7 @@ const msg_it = {
monete: 'Monete',
pages: 'Pagine',
Home: 'Pagina Home',
+ elems: 'Elementi Pagine',
operators: 'Operatori',
disciplines: 'Discipline',
media: 'Media',
@@ -1250,7 +1251,32 @@ const msg_it = {
bookings: 'Prenotaz.',
profile: 'Profilo',
circuits: 'Circuiti',
- }
+ },
+
+ myelems: {
+ active: 'active',
+ title: 'title',
+ path: 'Path',
+ order: 'Order',
+ type: 'Type',
+ container: 'Container',
+ container2: 'Container2',
+ container3: 'Container3',
+ number: 'Number',
+ imgback: 'imgback',
+ size: 'size',
+ ratio: 'ratio',
+ containerHtml: 'containerHtml',
+ height: 'height',
+ heightimg: 'heightimg',
+ widthimg: 'widthimg',
+ link: 'link',
+ width: 'width',
+ onlyif_logged: 'onlyif_logged',
+ color: 'color',
+ class: 'class',
+ styleadd: 'styleadd',
+ },
},
};
diff --git a/src/store/Modules/fieldsTable.ts b/src/store/Modules/fieldsTable.ts
index 9a95f58d..fe09c228 100755
--- a/src/store/Modules/fieldsTable.ts
+++ b/src/store/Modules/fieldsTable.ts
@@ -126,6 +126,7 @@ export const colgallery = [
export const colmyelems = [
AddCol({ name: 'active', label_trans: 'myelems.active', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'title', label_trans: 'myelems.title' }),
+ AddCol({ name: 'path', label_trans: 'myelems.path' }),
AddCol({ name: 'order', label_trans: 'myelems.order', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'type', label_trans: 'myelems.type', fieldtype: costanti.FieldType.select, jointable: 'elemtypes' }),
AddCol({ name: 'container', label_trans: 'myelems.container' }),
diff --git a/src/store/UserStore.ts b/src/store/UserStore.ts
index 536abbea..68b98735 100755
--- a/src/store/UserStore.ts
+++ b/src/store/UserStore.ts
@@ -29,6 +29,7 @@ import { static_data } from '@src/db/static_data'
import bcrypt from 'bcryptjs'
+
import { useTodoStore } from '@store/Todos'
import { Router } from 'vue-router'
import { useProjectStore } from '@store/Projects'
@@ -257,7 +258,7 @@ export const useUserStore = defineStore('UserStore', {
// Check if is this User!
if (this.my.username === username) return this.my
- let trovato:any = null
+ let trovato: any = null
if (this.usersList) trovato = this.usersList.find((item: any) => item.username === username)
if (trovato) {
@@ -283,7 +284,7 @@ export const useUserStore = defineStore('UserStore', {
},
getImgUserByUsername(username: string): string {
- let img = this.getImgByUsername(username)
+ const img = this.getImgByUsername(username)
return img ? img : 'images/noimg-user.svg'
},
@@ -309,6 +310,7 @@ export const useUserStore = defineStore('UserStore', {
return costanti.DIR_UPLOAD + 'profile/' + userparam.username + '/' + userparam.profile.img
}
} catch (e) {
+ //
}
if (!reale)
return 'images/noimg.png'
@@ -363,6 +365,7 @@ export const useUserStore = defineStore('UserStore', {
if (circ.photos && circ.photos.length > 0)
return costanti.DIR_UPLOAD + 'circuits/' + circ.path + '/' + circ.photos[0].imagefile
} catch (e) {
+ //
}
return 'images/noimg.png'
},
@@ -370,9 +373,10 @@ export const useUserStore = defineStore('UserStore', {
getImgByGroup(group: IMyGroup): string {
try {
- //++Todo: Sistemare!
+ // ++Todo: Sistemare!
return costanti.DIR_UPLOAD + 'mygroups/' + group.groupname + '/' + group.photos[0].imagefile
} catch (e) {
+ //
}
return 'images/noimg.png'
},
@@ -411,7 +415,7 @@ export const useUserStore = defineStore('UserStore', {
},
getNameSurnameByUsername(username: string): string {
- let user = this.getUserByUsername(username)
+ const user = this.getUserByUsername(username)
if (user) return `${user.name} ` + !!user.surname ? user.surname : ''
return `(${username})`
},
@@ -420,7 +424,7 @@ export const useUserStore = defineStore('UserStore', {
// Check if is this User!
if (this.my._id === userId) return this.my
- let trovato:any = null
+ let trovato: any = null
if (this.usersList) trovato = this.usersList.find((item: any) => item._id === userId)
diff --git a/src/store/globalStore.ts b/src/store/globalStore.ts
index daab53f5..e8d2071d 100644
--- a/src/store/globalStore.ts
+++ b/src/store/globalStore.ts
@@ -5,8 +5,8 @@ import {
IConfig,
IDataToSet,
IGlobalState,
- IListRoutes,
- IMyPage, IParamsPickup,
+ IListRoutes, IMyElem,
+ IMyPage, IMySkill, IParamsPickup,
IParamsQuery,
ISettings,
StateConnection,
@@ -178,6 +178,10 @@ export const useGlobalStore = defineStore('GlobalStore', {
getPage: (state: IGlobalState) => (path: string): IMyPage | undefined => state.mypage.find((page) => (`/${page.path}`) === path),
+ getMyElems: (state: IGlobalState) => (path: string): IMyElem[] | [] => {
+ return state.myelems.filter((page: IMyElem) => (page.path === path)).sort((a: any, b: any) => a.order - b.order)
+ },
+
getmenu: (state: IGlobalState): any => {
// console.log('getmenu', cfgrouter.getmenu())
@@ -1727,6 +1731,52 @@ export const useGlobalStore = defineStore('GlobalStore', {
},
+ async delMyElem($q: any, t: any, myelem: IMyElem) {
+
+ if (!myelem._id)
+ return false
+
+ return await this.DeleteRec({table: 'myelems', id: myelem._id }).then((ris) => {
+ if (ris) {
+ this.myelems = this.myelems.filter((rec) => rec._id !== myelem._id)
+ tools.showPositiveNotif($q, t('db.deletedrecord'))
+ } else {
+ tools.showNegativeNotif($q, t('db.recdelfailed'))
+ }
+ })
+ },
+
+ async saveMyElem($q: any, t: any, myelem: IMyElem) {
+ const mydata = {
+ table: 'myelems',
+ data: {}
+ }
+
+ mydata.data = myelem
+
+ return await this.saveTable(mydata)
+ .then((ris) => {
+ if (ris) {
+ tools.showPositiveNotif($q, t('db.recupdated'))
+ } else {
+ tools.showNegativeNotif($q, t('db.recfailed'))
+ }
+ return ris
+ }).catch((e) => {
+ tools.showNegativeNotif($q, t('db.recfailed'))
+ return false
+ })
+
+
+ },
+
+ async addNewElem($q: any, t: any, myelem: IMyElem) {
+ const myrec = await this.saveMyElem($q, t, myelem)
+ if (myrec) {
+ myelem._id = myrec._id
+ this.myelems.push(myelem)
+ }
+ },
},
})
diff --git a/tsconfig.json b/tsconfig.json
index dc8a33c0..d6fd778d 100755
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -38,7 +38,10 @@
"@model": ["src/model/index.ts"],
"@model/*": ["src/model/*"],
"model": ["src/model/index.ts"],
- "enums": ["src/enums/*"]
+ "enums": ["src/enums/*"],
+ "crypto": [
+ "node_modules/bcryptjs"
+ ],
}
},
"exclude": [
diff --git a/yarn.lock b/yarn.lock
index 8c31065a..fbf11977 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4146,11 +4146,6 @@ crypto-random-string@^4.0.0:
dependencies:
type-fest "^1.0.1"
-crypto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037"
- integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==
-
css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"