diff --git a/.env b/.env index ce73a92f..3678a05a 100755 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ -VITE_APP_VERSION="1.2.48" +VITE_APP_VERSION="1.2.49" VITE_LANG_DEFAULT="it" VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF" -VITE_SERVICE_WORKER_FILE="sw-1.2.48.js" +VITE_SERVICE_WORKER_FILE="sw-1.2.49.js" VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a" VITE_VUE_ROUTER_MODE="history" \ No newline at end of file diff --git a/index.html b/index.html index f4ac7f74..34f83caf 100755 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - + diff --git a/package.json b/package.json index c9bf0fd5..75c0f546 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gruppomacro", - "version": "1.2.48", + "version": "1.2.49", "description": "Gruppo Macro", "productName": "Gruppo Macro", "author": "Surya", @@ -9,20 +9,20 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8089 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8089 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", - "buildspa": "APP_VERSION='1.2.48' quasar build -m spa", + "buildspa": "APP_VERSION='1.2.49' quasar build -m spa", "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/comunitanuovomondo.app/package.json b/scripts/_ALL_SITES/comunitanuovomondo.app/package.json index c287b56d..fd61b974 100755 --- a/scripts/_ALL_SITES/comunitanuovomondo.app/package.json +++ b/scripts/_ALL_SITES/comunitanuovomondo.app/package.json @@ -1,6 +1,6 @@ { "name": "cnm", - "version": "1.2.48", + "version": "1.2.49", "description": "Comunita Nuovo Mondo", "productName": "ComunitaNuovoMondo", "author": "Surya", @@ -9,7 +9,7 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8083 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8083 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", "buildpwa": "NODE_ENV=production quasar build -m pwa", @@ -21,8 +21,8 @@ "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/freeplanet.app/package.json b/scripts/_ALL_SITES/freeplanet.app/package.json index 2499b296..c73f533e 100755 --- a/scripts/_ALL_SITES/freeplanet.app/package.json +++ b/scripts/_ALL_SITES/freeplanet.app/package.json @@ -1,6 +1,6 @@ { "name": "freeplanet", - "version": "1.2.48", + "version": "1.2.49", "description": "freeplanet", "productName": "freeplanet", "author": "Surya", @@ -9,11 +9,11 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8087 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8087 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", @@ -21,8 +21,8 @@ "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/gruppomacro.app/package.json b/scripts/_ALL_SITES/gruppomacro.app/package.json index 199c1361..410cf5a7 100755 --- a/scripts/_ALL_SITES/gruppomacro.app/package.json +++ b/scripts/_ALL_SITES/gruppomacro.app/package.json @@ -1,6 +1,6 @@ { "name": "gruppomacro", - "version": "1.2.48", + "version": "1.2.49", "description": "Gruppo Macro", "productName": "Gruppo Macro", "author": "Surya", @@ -9,20 +9,20 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8089 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8089 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", - "buildspa": "APP_VERSION='1.2.48' quasar build -m spa", + "buildspa": "APP_VERSION='1.2.49' quasar build -m spa", "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/kolibrilab.it/package.json b/scripts/_ALL_SITES/kolibrilab.it/package.json index ecac0efa..7c552307 100755 --- a/scripts/_ALL_SITES/kolibrilab.it/package.json +++ b/scripts/_ALL_SITES/kolibrilab.it/package.json @@ -1,6 +1,6 @@ { "name": "kolibrilab", - "version": "1.2.48", + "version": "1.2.49", "description": "kolibrilab", "productName": "kolibrilab", "author": "Surya Paolo", @@ -8,11 +8,11 @@ "keywords": [], "license": "MIT", "scripts": { - "dev": "PORT=8083 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8083 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", @@ -20,8 +20,8 @@ "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.49' quasar dev", "spanorefresh": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js" diff --git a/scripts/_ALL_SITES/nutriben-naturopatia.it/package.json b/scripts/_ALL_SITES/nutriben-naturopatia.it/package.json index e18abe47..b8ddf85d 100755 --- a/scripts/_ALL_SITES/nutriben-naturopatia.it/package.json +++ b/scripts/_ALL_SITES/nutriben-naturopatia.it/package.json @@ -1,6 +1,6 @@ { "name": "nutriben", - "version": "1.2.48", + "version": "1.2.49", "description": "Nutriben", "productName": "Nutriben", "author": "Surya", @@ -9,20 +9,20 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8093 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8093 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", - "buildspa": "APP_VERSION='1.2.48' quasar build -m spa", + "buildspa": "APP_VERSION='1.2.49' quasar build -m spa", "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/piuchebuono.app/package.json b/scripts/_ALL_SITES/piuchebuono.app/package.json index 08dd8922..82388618 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/package.json +++ b/scripts/_ALL_SITES/piuchebuono.app/package.json @@ -1,6 +1,6 @@ { "name": "piuchebuono", - "version": "1.2.48", + "version": "1.2.49", "description": "PiuCheBuono", "productName": "PiuCheBuono", "author": "Surya", @@ -9,11 +9,11 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8085 APP_VERSION='1.2.48' quasar dev", + "dev": "PORT=8085 APP_VERSION='1.2.49' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", @@ -21,8 +21,8 @@ "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/riso.app/package.json b/scripts/_ALL_SITES/riso.app/package.json index 42eedd97..dd2221da 100755 --- a/scripts/_ALL_SITES/riso.app/package.json +++ b/scripts/_ALL_SITES/riso.app/package.json @@ -1,6 +1,6 @@ { "name": "riso", - "version": "1.2.48", + "version": "1.2.49", "description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.", "productName": "Riso", "author": "Surya", @@ -9,11 +9,11 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "APP_VERSION='1.2.48' PORT=8084 quasar dev", + "dev": "APP_VERSION='1.2.49' PORT=8084 quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.48' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.49' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", @@ -21,8 +21,8 @@ "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt", "fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt", - "pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.48' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.48' quasar dev", + "pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.49' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.49' quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/src-pwa/custom-service-worker.js b/src-pwa/custom-service-worker.js index 058e963b..27a14ce7 100755 --- a/src-pwa/custom-service-worker.js +++ b/src-pwa/custom-service-worker.js @@ -3,7 +3,7 @@ /* global workbox */ /* global cfgenv */ -const VITE_APP_VERSION = '1.2.48'; +const VITE_APP_VERSION = '1.2.49'; // Costanti di configurazione const DYNAMIC_CACHE = 'dynamic-cache-v2'; diff --git a/src/components/CModifTrafiletto/CModifTrafiletto.ts b/src/components/CModifTrafiletto/CModifTrafiletto.ts index ef8c5717..57a038dd 100755 --- a/src/components/CModifTrafiletto/CModifTrafiletto.ts +++ b/src/components/CModifTrafiletto/CModifTrafiletto.ts @@ -80,6 +80,7 @@ export default defineComponent({ const mytab = ref('descr'); const loading = ref(false); + const myscrapingbook = ref(null); const updatetogm = ref(false); const field_updated_toGM = ref(''); @@ -103,10 +104,10 @@ export default defineComponent({ const loadMyScrapingBook = async () => { loading.value = true; try { - const myscrapingbook = await products.loadMyScrapingBook( + const myscrapingbookrec = await products.loadMyScrapingBook( myproduct.value.isbn, false ); - myproduct.value.myscrapingbook = myscrapingbook; + myscrapingbook.value = myscrapingbookrec; } catch (error) { console.error('Errore caricamento MyScrapingBook:', error); } finally { @@ -186,14 +187,14 @@ export default defineComponent({ function getPrompt() { // Prompt: - let mydescr = 'Scrivimi la sinossi del seguente libro, che andrà nel catalogo libri, di massimo 680 battute, senza spiegazione, senza titolo iniziale, solo la sinossi. Togli eventuali riferimenti a chi ha fatto la prefazione. Rendilo un po\' accattivante, ma non troppo. \n\n'; + let mydescr = 'Scrivimi la sinossi del libro che ti indicherò, che andrà in un catalogo libri, la lunghezza del testo finale dev\'essere compresa tra 760 e 780 caratteri, senza spiegazione, senza titolo iniziale, solo la sinossi. Togli eventuali riferimenti a chi ha fatto la prefazione. Rendilo un po\' accattivante, ma non troppo. \n\n'; return mydescr } function copyDescrizioneFromScrapingData() { let mydescr = ''; - const data = myproduct?.value.myscrapingbook; + const data = myscrapingbook.value; if (!data) return false; mydescr = getPrompt() @@ -240,7 +241,7 @@ export default defineComponent({ handleShowAndSave, copyDescrizioneFromScrapingData, copyDescrizioneFromGruppoMacro, - loading, + myscrapingbook, }; }, }); diff --git a/src/components/CModifTrafiletto/CModifTrafiletto.vue b/src/components/CModifTrafiletto/CModifTrafiletto.vue index 7930c13b..ac7275f8 100755 --- a/src/components/CModifTrafiletto/CModifTrafiletto.vue +++ b/src/components/CModifTrafiletto/CModifTrafiletto.vue @@ -81,43 +81,43 @@
-
- Descrizione Estratta da Amazon: -
- {{ myproduct?.myscrapingbook?.descrizione_lunga }} -
+
+ Descrizione Estratta da Amazon: +
+ {{ myscrapingbook?.descrizione_lunga }} +
-
- Descrizione Estratta dal sito GruppoMacro.com: -
- {{ myproduct?.productInfo?.descrizione_completa_macro }} -
+
+ Descrizione Estratta dal sito GruppoMacro.com: +
+ {{ myproduct?.productInfo?.descrizione_completa_macro }} +
@@ -131,3 +131,4 @@ +Hai sempre sognato un ricettario fatto da te, con i tuoi piatti migliori? Questo libro ti guida passo dopo passo nella creazione del tuo personale quaderno di cucina. Suddividi le ricette per tema, annota ingredienti, segreti e varianti, aggiungi le tue note e segui i consigli per comporre menu sorprendenti. Con utili sezioni su mise en place, attrezzi da cucina, stagionalità, conservazione e molto altro, sarà il tuo alleato in cucina tutto l’anno. Perfetto per chi ama cucinare con creatività, organizzazione e un pizzico di stile. diff --git a/src/model/CatalogStore.ts b/src/model/CatalogStore.ts index 9a038b95..627c53fe 100755 --- a/src/model/CatalogStore.ts +++ b/src/model/CatalogStore.ts @@ -23,6 +23,7 @@ export interface ICatalog { img_bordata_stampa?: IImg, img_intro_stampa?: IImg, pagina_introduttiva_sfondo_nero?: boolean + backcolor?: string pdf_generato?: string data_generato?: Date diff --git a/src/statics/lang/it.js b/src/statics/lang/it.js index 736dc995..3e9ac7f2 100755 --- a/src/statics/lang/it.js +++ b/src/statics/lang/it.js @@ -2050,6 +2050,7 @@ const msg_it = { img_bordata_stampa: 'Immagine di sfondo (per STAMPA)', img_intro_stampa: 'Copertina introduttiva (per STAMPA)', pagina_introduttiva_sfondo_nero: 'Pagina intro a sfondo nero', + backcolor: 'Colore di Sfondo Pagina Introduttiva', isCatalogoGenerale: 'Fa parte del Catalogo Generale', collane: 'Collane', idPageAssigned: 'Pagina Assegnata', diff --git a/src/store/Modules/fieldsTable.ts b/src/store/Modules/fieldsTable.ts index 559806e2..b413e821 100755 --- a/src/store/Modules/fieldsTable.ts +++ b/src/store/Modules/fieldsTable.ts @@ -237,6 +237,7 @@ export const colTableCatalogList = [ AddCol({ name: 'descr_introduttiva', label_trans: 'cataloglist.descr_introduttiva', fieldtype: costanti.FieldType.html, maxlength: 1300 }), AddCol({ name: 'pagina_introduttiva_sfondo_nero', label_trans: 'cataloglist.pagina_introduttiva_sfondo_nero', fieldtype: costanti.FieldType.boolean }), + AddCol({ name: 'backcolor', label_trans: 'cataloglist.backcolor', fieldtype: costanti.FieldType.string }), AddCol({ name: 'img_bordata', diff --git a/src/views/admin/dbopmacro/dbopmacro.vue b/src/views/admin/dbopmacro/dbopmacro.vue index 32f382ef..8179aded 100755 --- a/src/views/admin/dbopmacro/dbopmacro.vue +++ b/src/views/admin/dbopmacro/dbopmacro.vue @@ -77,6 +77,11 @@ color="negative" @click="EseguiFunz('ScraperMultipleDataDBStored')" > + { - return optcatalogo.value.showListaArgomenti ? true : optcatalogo.value.showListaCollane ? true : false; + return optcatalogo.value.showListaArgomenti + ? true + : optcatalogo.value.showListaCollane + ? true + : false; }); const getPdfFilename = () => { @@ -184,7 +199,10 @@ export default defineComponent({ } // Metodo per aggiornare optcatalogo - const updateOptCatalogo = (key: K, value: IOptCatalogo[K]) => { + const updateOptCatalogo = ( + key: K, + value: IOptCatalogo[K] + ) => { optcatalogo.value[key] = value; updateCatalogoPadre(); }; @@ -200,9 +218,18 @@ export default defineComponent({ watch( optrigenera.value, (newVal) => { - tools.setCookie((showListaFiltrata.value ? 'INC_ES_' : '') + 'VIS_DISP', newVal.visibilitaDisp); - tools.setCookie((showListaFiltrata.value ? 'INC_ES_' : '') + 'VIS_STATO', newVal.stato); - tools.setCookie((showListaFiltrata.value ? 'INC_ES_' : '') + 'RIG_MOD', newVal.rig_mod); + tools.setCookie( + (showListaFiltrata.value ? 'INC_ES_' : '') + 'VIS_DISP', + newVal.visibilitaDisp + ); + tools.setCookie( + (showListaFiltrata.value ? 'INC_ES_' : '') + 'VIS_STATO', + newVal.stato + ); + tools.setCookie( + (showListaFiltrata.value ? 'INC_ES_' : '') + 'RIG_MOD', + newVal.rig_mod + ); if (showListaFiltrata.value) calcArrProducts(); }, { deep: true } @@ -254,12 +281,14 @@ export default defineComponent({ const labelcombo = computed(() => (item: any) => { let lab = item.label; - if (item.showcount) lab += ' (' + valoriopt.value(item, false, false).length + ')'; + if (item.showcount) + lab += ' (' + valoriopt.value(item, false, false).length + ')'; return lab; }); const arrLoaded = computed(() => { - if (arrProducts.value && numRecLoaded.value) return arrProducts.value.slice(0, numRecLoaded.value); + if (arrProducts.value && numRecLoaded.value) + return arrProducts.value.slice(0, numRecLoaded.value); else { return []; } @@ -274,10 +303,17 @@ export default defineComponent({ // Cerca se la descrizione introduttiva è stata impostata testo = catalog.descr_introduttiva; let clcol = ''; + let mystyle = ''; if (catalog?.pagina_introduttiva_sfondo_nero) { clcol = `text-white`; } - testo = `` + testo + ``; + if (catalog?.backcolor) { + mystyle = `background-color: ` + catalog?.backcolor + '; '; + } + testo = + `` + + testo + + ``; } } @@ -298,21 +334,30 @@ export default defineComponent({ return result; } - const getTitoloPagina = computed(() => (product: IProduct, recscheda: ISchedaSingola) => { - let testo = getTextSostituito(recscheda.scheda!.dimensioni.pagina?.testo_title); + const getTitoloPagina = computed( + () => (product: IProduct, recscheda: ISchedaSingola, fondo?: boolean) => { + let testo = getTextSostituito( + recscheda.scheda!.dimensioni.pagina?.testo_title + ); - const catalog = myCatalog.value; + const catalog = myCatalog.value; - let clcol = ''; + let clcol = ''; - if (catalog?.pagina_introduttiva_sfondo_nero) { - clcol = `text-white`; + if (catalog?.pagina_introduttiva_sfondo_nero) { + clcol = `text-white`; + } + + let myclass = ''; + + if (fondo) myclass = 'book-pagina-title-footer'; + else myclass = 'book-pagina-title'; + + testo = `` + testo + ``; + + return testo; } - - testo = `` + testo + ``; - - return testo; - }); + ); // Register the scroll event on component mount const handleScroll = () => { const scrollTop = window.scrollY || document.documentElement.scrollTop; @@ -431,21 +476,29 @@ export default defineComponent({ function resetSearch() { const mialista = getSearchList(); - if (mialista && mialista.value && tools.existProp(mialista.value, 'name')) { + if ( + mialista && + mialista.value && + tools.existProp(mialista.value, 'name') + ) { mialista.value = null; } search.value = ''; } function getSearchList() { - const mylist = searchList.value.find((rec: any) => rec.table === 'products' && rec.key === 'titolo'); + const mylist = searchList.value.find( + (rec: any) => rec.table === 'products' && rec.key === 'titolo' + ); return mylist; } function getSearchText(): string { const lista = getSearchList(); - return lista && lista.value && tools.existProp(lista.value, 'name') ? lista.value.name : ''; + return lista && lista.value && tools.existProp(lista.value, 'name') + ? lista.value.name + : ''; } function getTitoloCatalogo(): string { @@ -456,7 +509,11 @@ export default defineComponent({ function getReferentiCatalogo(): string { const trovatocatalogo = myCatalog.value; - if (trovatocatalogo && trovatocatalogo.referenti && trovatocatalogo.referenti.length > 0) { + if ( + trovatocatalogo && + trovatocatalogo.referenti && + trovatocatalogo.referenti.length > 0 + ) { return trovatocatalogo.referenti.join(', '); } else { return '[Nessun Referente]'; @@ -475,7 +532,7 @@ export default defineComponent({ imagefile = recimg.imagefile!; fit = recimg.fit! || 'contain'; imagefile = imagefile - ? `url(${tools.getDirUpload() + shared_consts.getDirectoryByTable(shared_consts.TABLES_CATALOG) + '/' + trovatocatalogo._id + '/' + imagefile})` + ? `url("${tools.getDirUpload() + shared_consts.getDirectoryByTable(shared_consts.TABLES_CATALOG) + '/' + trovatocatalogo._id + '/' + imagefile}")` : ''; } } @@ -483,7 +540,10 @@ export default defineComponent({ return { imagefile, fit }; } - function getSfondoImgCatalogo(scheda?: IMyScheda | null, mypage?: IDimensioni): IImg { + function getSfondoImgCatalogo( + scheda?: IMyScheda | null, + mypage?: IDimensioni + ): IImg { const trovatocatalogo = myCatalog.value; let imagefile = ''; @@ -503,7 +563,7 @@ export default defineComponent({ imagefile = recimg.imagefile!; fit = recimg.fit! || 'contain'; imagefile = imagefile - ? `url(${tools.getDirUpload() + shared_consts.getDirectoryByTable(shared_consts.TABLES_CATALOG) + '/' + trovatocatalogo._id + '/' + imagefile})` + ? `url("${tools.getDirUpload() + shared_consts.getDirectoryByTable(shared_consts.TABLES_CATALOG) + '/' + trovatocatalogo._id + '/' + imagefile}")` : ''; } } @@ -513,17 +573,21 @@ export default defineComponent({ myimg = costanti.CATALOGHI.PAG_INTRO_DEFAULT; } // Se non c'è un immagine di sfondo, allora prende quella di default - imagefile = `url(${tools.getDirUpload() + shared_consts.getDirectoryByTable(shared_consts.TABLES_CATALOG) + '/' + myimg})`; + imagefile = `url("${tools.getDirUpload() + shared_consts.getDirectoryByTable(shared_consts.TABLES_CATALOG) + '/' + myimg}")`; } if (!imagefile && scheda) { imagefile = scheda.dimensioni?.pagina?.dimensioni?.imgsfondo!.imagefile; - imagefile = imagefile ? `url(${tools.getDirUpload() + costanti.DIR_SCHEDA + imagefile})` : ''; + imagefile = imagefile + ? `url("${tools.getDirUpload() + costanti.DIR_SCHEDA + imagefile}")` + : ''; fit = scheda.dimensioni?.pagina?.dimensioni?.imgsfondo!.fit; } if (!imagefile && mypage) { imagefile = mypage.imgsfondo!.imagefile!; - imagefile = imagefile ? `url(${tools.getDirUpload() + costanti.DIR_CATALOGO + imagefile})` : ''; + imagefile = imagefile + ? `url("${tools.getDirUpload() + costanti.DIR_CATALOGO + imagefile}")` + : ''; fit = mypage.imgsfondo!.fit!; } @@ -609,7 +673,9 @@ export default defineComponent({ optcatalogo.value.dimensioni_def ); if (reccatalog) { - optcatalogo.value.dimensioni_def.pagina = { ...reccatalog.dimensioni_def.pagina }; + optcatalogo.value.dimensioni_def.pagina = { + ...reccatalog.dimensioni_def.pagina, + }; } } @@ -623,10 +689,13 @@ export default defineComponent({ // optcatalogo2.areadistampa = { ...reccat2.areadistampa}; optcatalogo2.areadistampa.margini = reccat2.areadistampa.margini; optcatalogo2.areadistampa.unit = reccat2.areadistampa.unit; - optcatalogo2.areadistampa.scalecanvas = reccat2.areadistampa.scalecanvas; - optcatalogo2.areadistampa.scale_printable = reccat2.areadistampa.scale_printable; + optcatalogo2.areadistampa.scalecanvas = + reccat2.areadistampa.scalecanvas; + optcatalogo2.areadistampa.scale_printable = + reccat2.areadistampa.scale_printable; optcatalogo2.areadistampa.format = reccat2.areadistampa.format; - optcatalogo2.areadistampa.orientation = reccat2.areadistampa.orientation; + optcatalogo2.areadistampa.orientation = + reccat2.areadistampa.orientation; optcatalogo2.areadistampa.compress = reccat2.areadistampa.compress; // optcatalogo.value = optcatalogo2; @@ -686,15 +755,18 @@ export default defineComponent({ ]; const boolfiltroVuotoProductTypes = - filtroProductTypes.length === 0 || (filtroProductTypes.length === 1 && filtroProductTypes[0] === 0); - const boolfiltroVuotoExcludeProductTypes = filtroExcludeProductTypes.length === 0; + filtroProductTypes.length === 0 || + (filtroProductTypes.length === 1 && filtroProductTypes[0] === 0); + const boolfiltroVuotoExcludeProductTypes = + filtroExcludeProductTypes.length === 0; const boolfiltroVuotoidTipologie = filtroidTipologie.length === 0; const boolfiltroVuotoidTipoFormato = filtroidTipoFormato.length === 0; const boolfiltroVuotoEditore = editore.length === 0; const boolfiltroVuotoCollane = idCollane.length === 0; const boolfiltroVuotoArgomenti = arrargomstr.length === 0; - const se_tutti_veri = op_andor.condition_andor === costanti.OP_ANDOR.OP_AND; + const se_tutti_veri = + op_andor.condition_andor === costanti.OP_ANDOR.OP_AND; const trovatocatalogo = myCatalog.value; @@ -727,9 +799,11 @@ export default defineComponent({ if ( !( optrigenera.value.visibilitaDisp === costanti.DISP.TUTTI || - (optrigenera.value.visibilitaDisp === costanti.DISP.ESAURITI && productStore.isEsaurito(product)) || + (optrigenera.value.visibilitaDisp === costanti.DISP.ESAURITI && + productStore.isEsaurito(product)) || (optrigenera.value.visibilitaDisp === costanti.DISP.DISPONIBILI && - (productStore.isDisponibile(product) || productStore.isPrevendita(product.productInfo))) + (productStore.isDisponibile(product) || + productStore.isPrevendita(product.productInfo))) ) ) { return false; @@ -739,7 +813,8 @@ export default defineComponent({ optrigenera.value.stato === costanti.STATO.TUTTI || (optrigenera.value.stato === costanti.STATO.IN_COMMERCIO && productStore.isPubblicato(product.productInfo)) || - (optrigenera.value.stato === costanti.STATO.SOLO_PROSSIMA_USCITA && + (optrigenera.value.stato === + costanti.STATO.SOLO_PROSSIMA_USCITA && productStore.isProssimaUscita(product.productInfo)) || (optrigenera.value.stato === costanti.STATO.PREVENDITA && productStore.isPrevendita(product.productInfo)) || @@ -753,22 +828,32 @@ export default defineComponent({ const lowerName = (product.productInfo.name || '').toLowerCase(); const lowerCode = (product.productInfo.code || '').toLowerCase(); - const boolfiltroVuotoCat = product.productInfo.idCatProds?.length === 0; + const boolfiltroVuotoCat = + product.productInfo.idCatProds?.length === 0; // Filtri per argomenti e categorie let hasCategoria = se_tutti_veri; let hasArgomentiCat = se_tutti_veri; if (arrargomstr && arrargomstr.length > 0) { - hasArgomentiCat = (product.productInfo.idCatProds || []).some((idCat: any) => arrargomstr.includes(idCat)); + hasArgomentiCat = (product.productInfo.idCatProds || []).some( + (idCat: any) => arrargomstr.includes(idCat) + ); hasCategoria = se_tutti_veri; } else { if (optcatalogo.value.showListaArgomenti) { - const isCatVuoto = boolfiltroVuotoCat || (product.productInfo.idCatProds || []).length === 0; + const isCatVuoto = + boolfiltroVuotoCat || + (product.productInfo.idCatProds || []).length === 0; const isCatSenzaArgomento = catstr === costanti.NO_CATEGORY; - const isCatCorretto = !catstr || (product.productInfo.idCatProds || []).includes(catstr); - hasCategoria = isCatSenzaArgomento && isCatVuoto ? true : isCatCorretto; + const isCatCorretto = + !catstr || + (product.productInfo.idCatProds || []).includes(catstr); + hasCategoria = + isCatSenzaArgomento && isCatVuoto ? true : isCatCorretto; - hasArgomentiCat = boolfiltroVuotoArgomenti ? se_tutti_veri : hasArgomentiCat; + hasArgomentiCat = boolfiltroVuotoArgomenti + ? se_tutti_veri + : hasArgomentiCat; } } @@ -779,12 +864,18 @@ export default defineComponent({ hasCollana = se_tutti_veri; } else { if (optcatalogo.value.showListaCollane) { - const isCollanaVuoto = boolfiltroVuotoCollane || (product.productInfo.idCollana || []).length === 0; + const isCollanaVuoto = + boolfiltroVuotoCollane || + (product.productInfo.idCollana || []).length === 0; const isCollanaSenzaColl = collanastr === costanti.NO_CATEGORY; - const isCollanaCorretto = !collanastr || product.productInfo.idCollana === collanastr; - hasCollana = isCollanaSenzaColl && isCollanaVuoto ? true : isCollanaCorretto; + const isCollanaCorretto = + !collanastr || product.productInfo.idCollana === collanastr; + hasCollana = + isCollanaSenzaColl && isCollanaVuoto ? true : isCollanaCorretto; - hasCollanaStr = boolfiltroVuotoCollane ? se_tutti_veri : hasCollanaStr; + hasCollanaStr = boolfiltroVuotoCollane + ? se_tutti_veri + : hasCollanaStr; } } // Filtri per collana @@ -795,25 +886,35 @@ export default defineComponent({ */ // Filtri per autore - const hasAuthor = !filtroAuthor || (product.productInfo.idAuthors || []).includes(filtroAuthor); + const hasAuthor = + !filtroAuthor || + (product.productInfo.idAuthors || []).includes(filtroAuthor); // Filtri per tipi di prodotto const hasProductTypes = boolfiltroVuotoProductTypes ? true - : (product.productInfo.productTypes || []).some((item: any) => filtroProductTypes.includes(item)); + : (product.productInfo.productTypes || []).some((item: any) => + filtroProductTypes.includes(item) + ); // Filtri per esclusione di tipi di prodotto const hasExcludeProductTypes = boolfiltroVuotoExcludeProductTypes ? false - : (product.productInfo.productTypes || []).every((item: any) => filtroExcludeProductTypes.includes(item)); + : (product.productInfo.productTypes || []).every((item: any) => + filtroExcludeProductTypes.includes(item) + ); const hasidTipologie = boolfiltroVuotoidTipologie ? true - : filtroidTipologie.includes(product.arrvariazioni?.[0].idTipologia); + : filtroidTipologie.includes( + product.arrvariazioni?.[0].idTipologia + ); const hasidTipoFormato = boolfiltroVuotoidTipoFormato ? true - : filtroidTipoFormato.includes(product.arrvariazioni?.[0].idTipoFormato); + : filtroidTipoFormato.includes( + product.arrvariazioni?.[0].idTipoFormato + ); // Filtri per editore const hasPublished = boolfiltroVuotoEditore @@ -822,26 +923,43 @@ export default defineComponent({ // Filtri per GAS const productgassel = - !gasselstr || (cosaValue === shared_consts.PROD.GAS && product.idGasordine === gasselstr); + !gasselstr || + (cosaValue === shared_consts.PROD.GAS && + product.idGasordine === gasselstr); // Filtri per testo di ricerca const searchMatch = lowerSearchTexts.length === 0 || lowerSearchTexts.some((searchTerm: string) => { - const codeMatch = new RegExp(`\\b${searchTerm}\\b`, 'i').test(lowerCode); + const codeMatch = new RegExp(`\\b${searchTerm}\\b`, 'i').test( + lowerCode + ); const allWordsPresent = searchTerm .split(/\s+/) - .every((word: string) => new RegExp(`\\b${word}\\b`, 'i').test(lowerName)); + .every((word: string) => + new RegExp(`\\b${word}\\b`, 'i').test(lowerName) + ); return codeMatch || allWordsPresent; }); // Funzione che valuta un gruppo in base a OP_AND o OP_OR // Raccolgo tutti i gruppi attivi - const filtri = [hasArgomentiCat, hasCategoria, hasCollana, hasCollanaStr, hasPublished]; + const filtri = [ + hasArgomentiCat, + hasCategoria, + hasCollana, + hasCollanaStr, + hasPublished, + ]; // Decido se combinare in AND o OR sulla base della scelta globale - let risult = searchMatch && hasAuthor && productgassel && hasidTipologie && hasidTipoFormato; + let risult = + searchMatch && + hasAuthor && + productgassel && + hasidTipologie && + hasidTipoFormato; if (op_andor.condition_andor === costanti.OP_ANDOR.OP_AND) { risult = risult && filtri.every(Boolean); // Tutti i gruppi devono essere veri @@ -853,7 +971,9 @@ export default defineComponent({ // && !hasExcludeProductTypes }) - .sort((a, b) => (getProductsSorted([a, b], sortField, sortDir)[0] === a ? -1 : 1)); + .sort((a, b) => + getProductsSorted([a, b], sortField, sortDir)[0] === a ? -1 : 1 + ); // console.log(' sortField=' + sortField); // console.log(' sortDir=' + sortDir); @@ -880,9 +1000,12 @@ export default defineComponent({ let arrprod = []; const filtroAuthor = filter.value.author || ''; const filtroProductTypes = optcatalogo.value.productTypes || [0]; - const filtroExcludeProductTypes = optcatalogo.value.excludeproductTypes || [0]; + const filtroExcludeProductTypes = optcatalogo.value + .excludeproductTypes || [0]; const filtroidTipologie = optcatalogo.value.idTipologie || []; - const filtroidTipoFormato = getidTipoFormatoDaFiltrare(optcatalogo.value.idTipoFormato); + const filtroidTipoFormato = getidTipoFormatoDaFiltrare( + optcatalogo.value.idTipoFormato + ); const editore = getEditoreDaFiltrare(optcatalogo.value.editore); const filtroPublishers = editore || []; const idCollane = getIdCollaneDaFiltrare(optcatalogo.value.idCollane); @@ -896,7 +1019,8 @@ export default defineComponent({ const catstr = cat.value || ''; const collanastr = collana.value || ''; - const gasselstr = cosa.value === shared_consts.PROD.GAS ? idGasSel.value || '' : ''; + const gasselstr = + cosa.value === shared_consts.PROD.GAS ? idGasSel.value || '' : ''; let salva = false; // Se nel catalogo è stato già generato, allora gli passo quello. @@ -914,7 +1038,9 @@ export default defineComponent({ let op_andor: IOpAndOr = { condition_andor: - trovatocatalogo?.condition_andor !== undefined ? trovatocatalogo.condition_andor : costanti.OP_ANDOR.OP_AND, + trovatocatalogo?.condition_andor !== undefined + ? trovatocatalogo.condition_andor + : costanti.OP_ANDOR.OP_AND, }; if (!generalista && myCatalog.value?.lista_prodotti?.length > 0) { @@ -951,7 +1077,11 @@ export default defineComponent({ populateDataWithlinkIdTemplate(); // Ordina la lista - generatearrProdToViewSorted(!generalista, salva, !showListaFiltrata.value); + generatearrProdToViewSorted( + !generalista, + salva, + !showListaFiltrata.value + ); loaddata(); if (generalista) { @@ -1030,7 +1160,10 @@ export default defineComponent({ const isDifferent = !arraysEqual(scheda.productTypes, schedaprec?.productTypes) || - !arraysEqual(scheda.excludeproductTypes, schedaprec?.excludeproductTypes) || + !arraysEqual( + scheda.excludeproductTypes, + schedaprec?.excludeproductTypes + ) || !arraysEqual(scheda.idTipologie, schedaprec?.idTipologie) || !arraysEqual(scheda.idTipoFormato, schedaprec?.idTipoFormato) || !arraysEqual(scheda.editore, schedaprec?.editore) || @@ -1045,7 +1178,9 @@ export default defineComponent({ const filtroProductTypes = scheda.productTypes || [0]; const filtroExcludeProductTypes = scheda.excludeproductTypes || [0]; const filtroidTipologie = scheda.idTipologie || []; - const filtroidTipoFormato = getidTipoFormatoDaFiltrare(scheda.idTipoFormato); + const filtroidTipoFormato = getidTipoFormatoDaFiltrare( + scheda.idTipoFormato + ); const editore = getEditoreDaFiltrare(scheda.editore); const filtroPublishers = editore || []; const idCollane = getIdCollaneDaFiltrare(scheda.idCollane); @@ -1056,12 +1191,14 @@ export default defineComponent({ : []; const catstr = cat.value || ''; const collanastr = collana.value || ''; - const gasselstr = cosa.value === shared_consts.PROD.GAS ? idGasSel.value || '' : ''; + const gasselstr = + cosa.value === shared_consts.PROD.GAS ? idGasSel.value || '' : ''; const trovatocatalogo = myCatalog.value; let op_andor: IOpAndOr = { - condition_andor: trovatocatalogo?.condition_andor ?? costanti.OP_ANDOR.OP_AND, + condition_andor: + trovatocatalogo?.condition_andor ?? costanti.OP_ANDOR.OP_AND, }; if (myCatalog.value?.lista_prodotti?.length > 0) { @@ -1100,7 +1237,11 @@ export default defineComponent({ * @param sort_dir direzione dell'ordinamento (1 asc, -1 desc) * @returns array di prodotti ordinati */ - function getProductsSorted(arrprod: IProduct[], sort_field: string, sort_dir: number): IProduct[] { + function getProductsSorted( + arrprod: IProduct[], + sort_field: string, + sort_dir: number + ): IProduct[] { if (sort_field) { // console.log('--- Primi 10 elementi INIZIALI:'); /*arrprod.slice(0, 15).forEach((product, index) => { @@ -1109,12 +1250,18 @@ export default defineComponent({ // Crea una copia dell'array per non modificare l'originale const sortedArr = [...arrprod].sort((a: IProduct, b: IProduct) => { - const valA = a.productInfo?.[sort_field] ?? (typeof a.productInfo?.[sort_field] === 'number' ? 0 : ''); - const valB = b.productInfo?.[sort_field] ?? (typeof b.productInfo?.[sort_field] === 'number' ? 0 : ''); + const valA = + a.productInfo?.[sort_field] ?? + (typeof a.productInfo?.[sort_field] === 'number' ? 0 : ''); + const valB = + b.productInfo?.[sort_field] ?? + (typeof b.productInfo?.[sort_field] === 'number' ? 0 : ''); // Ordinamento per data if (valA instanceof Date && valB instanceof Date) { - return sort_dir === 1 ? valA.getTime() - valB.getTime() : valB.getTime() - valA.getTime(); + return sort_dir === 1 + ? valA.getTime() - valB.getTime() + : valB.getTime() - valA.getTime(); } // Ordinamento per numeri @@ -1125,7 +1272,9 @@ export default defineComponent({ // Ordinamento per stringhe o altri tipi const compA = valA.toString().toLowerCase(); const compB = valB.toString().toLowerCase(); - return sort_dir === 1 ? compA.localeCompare(compB) : compB.localeCompare(compA); + return sort_dir === 1 + ? compA.localeCompare(compB) + : compB.localeCompare(compA); }); // logga i primi N elementi, mostrando il nome del prodotto (productInfo.name e la data di pibblicazione : productinfo.date_pub @@ -1144,11 +1293,15 @@ export default defineComponent({ return arrprod; } - function addNextProductToTheView(arrproductfiltrati: IProduct[], indprod: number) { + function addNextProductToTheView( + arrproductfiltrati: IProduct[], + indprod: number + ) { try { while (indprod < arrproductfiltrati.length) { const rectrovato = arrProdToView.value.find( - (prodview: IProdView) => prodview.id === arrproductfiltrati[indprod]._id + (prodview: IProdView) => + prodview.id === arrproductfiltrati[indprod]._id ); if (!rectrovato) { @@ -1167,7 +1320,12 @@ export default defineComponent({ } } - function getProdBySchedaRigaCol(recscheda: ISchedaSingola, pagina: number, riga: number, col: number) { + function getProdBySchedaRigaCol( + recscheda: ISchedaSingola, + pagina: number, + riga: number, + col: number + ) { try { return recscheda.arrProdToShow![pagina][riga][col]; } catch (e) { @@ -1175,8 +1333,17 @@ export default defineComponent({ } } - function generatearrProdToViewSorted(usaprodottiSalvati?: boolean, salva?: boolean, salvasudb?: boolean) { - console.log('generatearrProdToViewSorted... usaprodottiSalvati=', usaprodottiSalvati, ' salva=', salva); + function generatearrProdToViewSorted( + usaprodottiSalvati?: boolean, + salva?: boolean, + salvasudb?: boolean + ) { + console.log( + 'generatearrProdToViewSorted... usaprodottiSalvati=', + usaprodottiSalvati, + ' salva=', + salva + ); try { // Svuota @@ -1208,21 +1375,35 @@ export default defineComponent({ let arrProdFiltrati: IProduct[] = []; - if (usaprodottiSalvati && myCatalog.value?.lista_prodotti?.length > 0) { + if ( + usaprodottiSalvati && + myCatalog.value?.lista_prodotti?.length > 0 + ) { arrProdFiltrati = myCatalog.value.lista_prodotti; } else { if (recscheda.scheda.productTypes!.length > 0) { // Filtra i prodotti in base ai filtri impostati ! - if (checkIfFiltriDiversi(recscheda.scheda, schedaprec) || indprod === 0) { - arrProdFiltrati = getProductsFilteredByScheda(recscheda.scheda); + if ( + checkIfFiltriDiversi(recscheda.scheda, schedaprec) || + indprod === 0 + ) { + arrProdFiltrati = getProductsFilteredByScheda( + recscheda.scheda + ); schedaprec = { ...recscheda.scheda }; indprod = 0; } } else { - let sort_field = recscheda.scheda.sort_field! || optcatalogo.value.sort_field; - let sort_dir = recscheda.scheda.sort_dir || optcatalogo.value.sort_dir; + let sort_field = + recscheda.scheda.sort_field! || optcatalogo.value.sort_field; + let sort_dir = + recscheda.scheda.sort_dir || optcatalogo.value.sort_dir; if (sort_field) { - arrProdFiltrati = getProductsSorted(arrGeneraleProdotti, sort_field, sort_dir); + arrProdFiltrati = getProductsSorted( + arrGeneraleProdotti, + sort_field, + sort_dir + ); indprod = 0; } else { indprod = indprodGenerale; @@ -1243,7 +1424,10 @@ export default defineComponent({ for (let giro = 0; giro < schedePerPagina; giro++) { // Aggiunge il prossimo prodotto che non è stato ancora inserito - const result = addNextProductToTheView(arrProdFiltrati, indprod); + const result = addNextProductToTheView( + arrProdFiltrati, + indprod + ); if (result.end) { lastresultend = true; break; // Esci dal ciclo se non ci sono più prodotti disponibili @@ -1290,13 +1474,21 @@ export default defineComponent({ if (!usaprodottiSalvati && salva) { if (trovatocatalogo) { - if (optrigenera.value.rig_mod === costanti.RIGENERAMOD.AGGIUNGI_SOLO) { + if ( + optrigenera.value.rig_mod === costanti.RIGENERAMOD.AGGIUNGI_SOLO + ) { // aggiungi solo i record che non sono presenti su lista_prodotti - trovatocatalogo.lista_prodotti = trovatocatalogo.lista_prodotti.filter( - (p) => !arrprod.some((ap) => ap._id === p._id) - ); + trovatocatalogo.lista_prodotti = + trovatocatalogo.lista_prodotti.filter( + (p) => !arrprod.some((ap) => ap._id === p._id) + ); trovatocatalogo.lista_prodotti.push( - ...arrprod.filter((ap) => !trovatocatalogo.lista_prodotti.some((p) => p._id === ap._id)) + ...arrprod.filter( + (ap) => + !trovatocatalogo.lista_prodotti.some( + (p) => p._id === ap._id + ) + ) ); } else { trovatocatalogo.lista_prodotti = arrprod; @@ -1324,7 +1516,14 @@ export default defineComponent({ }; // Salva gli ID dei prodotti nel catalogo - tools.saveFieldToServer($q, 'catalogs', myCatalog.value._id, mydata, !showListaFiltrata.value, false); + tools.saveFieldToServer( + $q, + 'catalogs', + myCatalog.value._id, + mydata, + !showListaFiltrata.value, + false + ); if (ricarica) { generatearrProdToViewSorted(true, false); @@ -1366,9 +1565,11 @@ export default defineComponent({ ismounting.value = true; generatinglist.value = true; - if (optcatalogo.value.showListaArgomenti) cat.value = tools.getCookie(getKeyCatAtLoad(), ''); + if (optcatalogo.value.showListaArgomenti) + cat.value = tools.getCookie(getKeyCatAtLoad(), ''); - if (optcatalogo.value.showListaCollane) collana.value = tools.getCookie(getKeyCollanaAtLoad(), ''); + if (optcatalogo.value.showListaCollane) + collana.value = tools.getCookie(getKeyCollanaAtLoad(), ''); if (myCatalog.value) { tabcatalogo.value = tools.getCookie('TAB_CAT', 'lista'); @@ -1445,7 +1646,14 @@ export default defineComponent({ }); function getCatProds() { - return [{ label: '[Seleziona un Argomento]', value: '', icon: undefined, color: undefined }].concat( + return [ + { + label: '[Seleziona un Argomento]', + value: '', + icon: undefined, + color: undefined, + }, + ].concat( productStore .getCatProds(cosa.value) .map((rec) => ({ @@ -1454,11 +1662,23 @@ export default defineComponent({ icon: rec.icon, color: rec.color, })) - .concat({ label: '[Senza Argomento]', value: costanti.NO_CATEGORY, icon: undefined, color: undefined }) + .concat({ + label: '[Senza Argomento]', + value: costanti.NO_CATEGORY, + icon: undefined, + color: undefined, + }) ); } function getCollane() { - return [{ label: '[Seleziona una Collana]', value: '', icon: undefined, color: undefined }].concat( + return [ + { + label: '[Seleziona una Collana]', + value: '', + icon: undefined, + color: undefined, + }, + ].concat( productStore .getCollane() .map((rec) => ({ @@ -1467,7 +1687,12 @@ export default defineComponent({ icon: rec.icon, color: rec.color, })) - .concat({ label: '[Senza Collana]', value: costanti.NO_CATEGORY, icon: undefined, color: undefined }) + .concat({ + label: '[Senza Collana]', + value: costanti.NO_CATEGORY, + icon: undefined, + color: undefined, + }) ); } @@ -1479,7 +1704,8 @@ export default defineComponent({ const step = 10; let mynrec = numRecLoaded.value + step; - if (mynrec > arrProducts.value.length) mynrec = arrProducts.value.length; + if (mynrec > arrProducts.value.length) + mynrec = arrProducts.value.length; numRecLoaded.value = mynrec; } @@ -1499,7 +1725,9 @@ export default defineComponent({ if (word.length > 1) { return authorName.includes(word); } else { - return authorName.split(' ').some((namePart: any) => namePart.startsWith(word)); + return authorName + .split(' ') + .some((namePart: any) => namePart.startsWith(word)); } }); }); @@ -1521,10 +1749,18 @@ export default defineComponent({ } }*/ - const valoriopt = computed(() => (item: any, addall: boolean, addnone: boolean = false) => { - // console.log('valoriopt', item.table) - return globalStore.getTableJoinByName(item.table, addall, addnone, item.filter); - }); + const valoriopt = computed( + () => + (item: any, addall: boolean, addnone: boolean = false) => { + // console.log('valoriopt', item.table) + return globalStore.getTableJoinByName( + item.table, + addall, + addnone, + item.filter + ); + } + ); const loadImage = (src: any) => { return new Promise((resolve, reject) => { @@ -1542,32 +1778,85 @@ export default defineComponent({ return {}; } - function generateStylePageScheda(optcatalogo: IOptCatalogo, scheda: IMyScheda) { + function generateStylePageScheda( + optcatalogo: IOptCatalogo, + scheda: IMyScheda + ) { const marginTop = scheda.dimensioni?.pagina?.dimensioni?.margini?.top - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.top) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.top) || ''; - const marginBottom = scheda.dimensioni?.pagina?.dimensioni?.margini?.bottom - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.bottom) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.bottom) || ''; + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.margini?.top + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.top + ) || ''; + const marginBottom = scheda.dimensioni?.pagina?.dimensioni?.margini + ?.bottom + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.margini?.bottom + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.bottom + ) || ''; const marginLeft = scheda.dimensioni?.pagina?.dimensioni?.margini?.left - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.left) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.left) || ''; + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.margini?.left + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.left + ) || ''; const marginRight = scheda.dimensioni?.pagina?.dimensioni?.margini?.right - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.margini?.right) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.right) || ''; + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.margini?.right + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.right + ) || ''; const paddingTop = scheda.dimensioni?.pagina?.dimensioni?.padding?.top - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.padding?.top) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.top) || ''; - const paddingBottom = scheda.dimensioni?.pagina?.dimensioni?.padding?.bottom - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.padding?.bottom) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.bottom) || ''; + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.padding?.top + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.top + ) || ''; + const paddingBottom = scheda.dimensioni?.pagina?.dimensioni?.padding + ?.bottom + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.padding?.bottom + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.bottom + ) || ''; const paddingLeft = scheda.dimensioni?.pagina?.dimensioni?.padding?.left - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.padding?.left) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.left) || ''; + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.padding?.left + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.left + ) || ''; const paddingRight = scheda.dimensioni?.pagina?.dimensioni?.padding?.right - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.padding?.right) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.right) || ''; + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.padding?.right + ) + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.right + ) || ''; // Esiste un immagine di sfondo specifica della singola pagina ? const recimg = getSfondoImgCatalogo(scheda); @@ -1575,11 +1864,23 @@ export default defineComponent({ const backgroundSize = recimg.fit; const width = scheda.dimensioni?.pagina?.dimensioni?.size?.width - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.size?.width) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.width) ?? ''); + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.size?.width + ) + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.size?.width + ) ?? ''); const height = scheda.dimensioni?.pagina?.dimensioni?.size?.height - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.size?.height) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.height) ?? ''); + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.size?.height + ) + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.size?.height + ) ?? ''); return { marginBottom, @@ -1595,36 +1896,65 @@ export default defineComponent({ '--width': width, '--height': height, ...(width && width !== '0px' ? { width: `${width} !important` } : {}), - ...(height && height !== '0px' ? { height: `${height} !important` } : {}), // Aggiungi l'altezza solo se è valorizzata + ...(height && height !== '0px' + ? { height: `${height} !important` } + : {}), // Aggiungi l'altezza solo se è valorizzata }; } - function generateStyleByPageDim(optcatalogo: IOptCatalogo, mypage: IDimensioni) { + function generateStyleByPageDim( + optcatalogo: IOptCatalogo, + mypage: IDimensioni + ) { const marginTop = mypage.margini?.top ? tools.adjustSize(optcatalogo, mypage.margini?.top) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.top) || ''; + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.top + ) || ''; const marginBottom = mypage.margini?.bottom ? tools.adjustSize(optcatalogo, mypage.margini?.bottom) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.bottom) || ''; + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.bottom + ) || ''; const marginLeft = mypage.margini?.left ? tools.adjustSize(optcatalogo, mypage.margini?.left) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.left) || ''; + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.left + ) || ''; const marginRight = mypage.margini?.right ? tools.adjustSize(optcatalogo, mypage.margini?.right) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.right) || ''; + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.margini?.right + ) || ''; const paddingTop = mypage.padding?.top ? tools.adjustSize(optcatalogo, mypage.padding?.top) - : tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.top) || ''; + : tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.top + ) || ''; const paddingBottom = mypage.padding?.bottom ? tools.adjustSize(optcatalogo, mypage.padding?.bottom) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.bottom) ?? ''); + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.bottom + ) ?? ''); const paddingLeft = mypage.padding?.left ? tools.adjustSize(optcatalogo, mypage.padding?.left) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.left) ?? ''); + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.left + ) ?? ''); const paddingRight = mypage.padding?.right ? tools.adjustSize(optcatalogo, mypage.padding?.right) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.right) ?? ''); + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.padding?.right + ) ?? ''); // Esiste un immagine di sfondo specifica della singola pagina ? const recimg = getSfondoImgCatalogo(null, mypage); @@ -1635,17 +1965,25 @@ export default defineComponent({ // Esiste un immagine di sfondo uguali per tutte le pagine ? fileimg = optcatalogo.dimensioni_def?.pagina.imgsfondo?.imagefile; backgroundSize = optcatalogo.dimensioni_def?.pagina.imgsfondo?.fit; - fileimg = fileimg ? `url(${tools.getDirUpload() + costanti.DIR_CATALOGO + fileimg})` : ''; + fileimg = fileimg + ? `url("${tools.getDirUpload() + costanti.DIR_CATALOGO + fileimg}")` + : ''; } const backgroundImage = fileimg ?? ''; const width = mypage.size?.width ? tools.adjustSize(optcatalogo, mypage.size?.width) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.width) ?? ''); + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.size?.width + ) ?? ''); const height = mypage.size?.height ? tools.adjustSize(optcatalogo, mypage.size?.height) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.height) ?? ''); + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.size?.height + ) ?? ''); return { marginBottom, @@ -1661,26 +1999,46 @@ export default defineComponent({ '--width': width, '--height': height, ...(width && width !== '0px' ? { width: `${width} !important` } : {}), - ...(height && height !== '0px' ? { height: `${height} !important` } : {}), // Aggiungi l'altezza solo se è valorizzata + ...(height && height !== '0px' + ? { height: `${height} !important` } + : {}), // Aggiungi l'altezza solo se è valorizzata }; } function getWidthPagina(optcatalogo: IOptCatalogo, scheda: IMyScheda) { return scheda.dimensioni?.pagina?.dimensioni?.size?.width - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.size?.width) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.width) ?? ''); + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.size?.width + ) + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.size?.width + ) ?? ''); } function getHeightPagina(optcatalogo: IOptCatalogo, scheda: IMyScheda) { return scheda.dimensioni?.pagina?.dimensioni?.size?.height - ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.dimensioni?.size?.height) - : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.height) ?? ''); + ? tools.adjustSize( + optcatalogo, + scheda.dimensioni?.pagina?.dimensioni?.size?.height + ) + : (tools.adjustSize( + optcatalogo, + optcatalogo.dimensioni_def?.pagina?.size?.height + ) ?? ''); } function getStyleRowSeparator(recscheda: ISchedaSingola) { const paddingLeft = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left) ?? '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left + ) ?? '0px'; const paddingRight = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right) ?? '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right + ) ?? '0px'; return { paddingLeft: `${paddingLeft}`, @@ -1691,22 +2049,58 @@ export default defineComponent({ function getStyleRow(recscheda: ISchedaSingola) { const placeContent = 'center'; - const width = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.size?.width) ?? ''; - const height = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.size?.height) ?? ''; + const width = + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.size?.width + ) ?? ''; + const height = + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.size?.height + ) ?? ''; - const marginTop = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.margini?.top) || '0'; + const marginTop = + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.margini?.top + ) || '0'; const marginBottom = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.margini?.bottom) || '0'; - const marginLeft = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.margini?.left) || '0'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.margini?.bottom + ) || '0'; + const marginLeft = + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.margini?.left + ) || '0'; const marginRight = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.margini?.right) || '0'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.margini?.right + ) || '0'; - const paddingTop = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.padding?.top) || '0'; + const paddingTop = + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.padding?.top + ) || '0'; const paddingBottom = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.padding?.bottom) || '0'; - const paddingLeft = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.padding?.left) || '0'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.padding?.bottom + ) || '0'; + const paddingLeft = + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.padding?.left + ) || '0'; const paddingRight = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.riga?.padding?.right) || '0'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.riga?.padding?.right + ) || '0'; const out: any = { placeContent, @@ -1714,7 +2108,9 @@ export default defineComponent({ margin: `${marginTop} ${marginRight} ${marginBottom} ${marginLeft}`, padding: `${paddingTop} ${paddingRight} ${paddingBottom} ${paddingLeft}`, ...(width && width !== '0px' ? { width: `${width} !important` } : {}), - ...(height && height !== '0px' ? { height: `${height} !important` } : {}), + ...(height && height !== '0px' + ? { height: `${height} !important` } + : {}), }; /*if (width) { @@ -1731,26 +2127,56 @@ export default defineComponent({ const placeContent = 'center'; const width = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.width) ?? '100px'; - const height = tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.height); + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.width + ) ?? '100px'; + const height = tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.height + ); const marginTop = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.top) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.top + ) || '0px'; const marginBottom = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.bottom) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.bottom + ) || '0px'; const marginLeft = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.left) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.left + ) || '0px'; const marginRight = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.right) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.right + ) || '0px'; const paddingTop = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.top) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.top + ) || '0px'; const paddingBottom = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.bottom) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.bottom + ) || '0px'; const paddingLeft = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left + ) || '0px'; const paddingRight = - tools.adjustSize(optcatalogo.value, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right) || '0px'; + tools.adjustSize( + optcatalogo.value, + recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right + ) || '0px'; return { placeContent, @@ -1758,7 +2184,9 @@ export default defineComponent({ flex: `0 1 ${width} !important`, margin: `${marginTop} ${marginRight} ${marginBottom} ${marginLeft}`, padding: `${paddingTop} ${paddingRight} ${paddingBottom} ${paddingLeft}`, - ...(height && height !== '0px' ? { height: `${height} !important` } : {}), // Aggiungi l'altezza solo se è valorizzata + ...(height && height !== '0px' + ? { height: `${height} !important` } + : {}), // Aggiungi l'altezza solo se è valorizzata }; } @@ -1784,11 +2212,15 @@ export default defineComponent({ if (element) { // add this record to lista_prodotti - if (myCatalog.value && !myCatalog.value?.lista_prodotti?.some((p) => p._id === element._id)) { + if ( + myCatalog.value && + !myCatalog.value?.lista_prodotti?.some((p) => p._id === element._id) + ) { // inserire il record in cima const arr = myCatalog.value?.lista_prodotti || []; if (where === shared_consts.WHERE_INSERT.ONTOP) arr.unshift(element); - else if (where === shared_consts.WHERE_INSERT.ONBOTTOM) arr.push(element); + else if (where === shared_consts.WHERE_INSERT.ONBOTTOM) + arr.push(element); updateProducts(arr); @@ -1818,7 +2250,8 @@ export default defineComponent({ title: 'Generazione PDF', }).onOk(async () => { optcatalogo.value.generazionePDFInCorso = true; - optcatalogo.value.areadistampa!.scale = optcatalogo.value.areadistampa!.scale_printable; + optcatalogo.value.areadistampa!.scale = + optcatalogo.value.areadistampa!.scale_printable; setTimeout(() => { optcatalogo.value.generazionePDFInCorso = true; @@ -1875,7 +2308,10 @@ export default defineComponent({ const finalPdf = await PDFDocument.create(); for (const blob of pdfs) { const pdf = await PDFDocument.load(await blob.arrayBuffer()); - const copiedPages = await finalPdf.copyPages(pdf, pdf.getPageIndices()); + const copiedPages = await finalPdf.copyPages( + pdf, + pdf.getPageIndices() + ); copiedPages.forEach((p) => finalPdf.addPage(p)); } @@ -1889,7 +2325,9 @@ export default defineComponent({ saveAs(blob, opt.filename); } else { // ✅ Crea un oggetto File da Blob - const pdfFile = new File([blob], 'report.pdf', { type: 'application/pdf' }); + const pdfFile = new File([blob], 'report.pdf', { + type: 'application/pdf', + }); // Converti il file appena generato const ris = await globalStore.convertPdf( @@ -1991,7 +2429,13 @@ export default defineComponent({ // a4: [595.28, 841.89] if (true) { - await generateLargePDF(opt, '.pdf-section', false, 'upload/cataloghi/', file_out); + await generateLargePDF( + opt, + '.pdf-section', + false, + 'upload/cataloghi/', + file_out + ); } else { await html2pdf().set(opt).from(element).save(); } @@ -2034,7 +2478,10 @@ export default defineComponent({ .onOk(async () => { if (!confirm) return; - const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: false }); + const ris = await globalStore.execOnlinePDF({ + id_catalog: catalog._id, + stampa: false, + }); if (ris) { if (ris.record?.pdf_online) { @@ -2073,7 +2520,10 @@ export default defineComponent({ }, }) .onOk(async () => { - const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: true }); + const ris = await globalStore.execOnlinePDF({ + id_catalog: catalog._id, + stampa: true, + }); if (ris) { if (ris.record.pdf_online_stampa) { @@ -2179,6 +2629,7 @@ export default defineComponent({ ismounting, pdfColumns, pdfRows, + getImgIntroCatalogo, }; }, }); diff --git a/src/views/ecommerce/catalogo/catalogo.vue b/src/views/ecommerce/catalogo/catalogo.vue index 377ecd9c..31ed9add 100755 --- a/src/views/ecommerce/catalogo/catalogo.vue +++ b/src/views/ecommerce/catalogo/catalogo.vue @@ -178,7 +178,10 @@ + +
+
+
+ +
+ IMG: + {{ getImgIntroCatalogo(recscheda.scheda) }} +
+