diff --git a/.env b/.env index 9e258ee4..377be6c8 100755 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ -VITE_APP_VERSION="1.2.44" +VITE_APP_VERSION="1.2.46" VITE_LANG_DEFAULT="it" VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF" -VITE_SERVICE_WORKER_FILE="sw-1.2.44.js" +VITE_SERVICE_WORKER_FILE="sw-1.2.46.js" VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a" VITE_VUE_ROUTER_MODE="history" \ No newline at end of file diff --git a/.env.production b/.env.production index 2a577413..806a4a4b 100644 --- a/.env.production +++ b/.env.production @@ -1,11 +1,13 @@ VITE_APP_ID="18" -VITE_APP_URL="https://test.gruppomacro.app" -VITE_MONGODB_HOST="https://testapi.gruppomacro.app" -VITE_LOGO_REG="gruppomacro-logo-full.png" +VITE_APP_URL="https://gruppomacro.app" +VITE_MONGODB_HOST="https://api.gruppomacro.app" +VITE_LOGO_REG='gruppomacro-logo-full.png' VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" -VITE_DEBUG="1" -VITE_VUE_APP_ISTEST="1" +VITE_DEBUG="0" +VITE_VUE_APP_ISTEST="0" DIRECTORY_LOCAL="myprojplanet_vite" -DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server" -SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app" -SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file +DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server" +SERVERDIR_WEBSITE="/var/www/gruppomacro.app" +SERVERPW_WEBSITE="pwdadmin@1AOK" +PORT_SPA="8089" +PORT_PWA="8099" \ No newline at end of file diff --git a/index.html b/index.html index 4762d9e9..f0b99480 100755 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - + diff --git a/package.json b/package.json index cc09f9f8..e02df3ba 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gruppomacro", - "version": "1.2.44", + "version": "1.2.46", "description": "Gruppo Macro", "productName": "Gruppo Macro", "author": "Surya", @@ -9,20 +9,20 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8089 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8089 APP_VERSION='1.2.46' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", - "buildspa": "APP_VERSION='1.2.44' quasar build -m spa", + "buildspa": "APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.46' 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 3641351b..eb45632e 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.44", + "version": "1.2.46", "description": "Comunita Nuovo Mondo", "productName": "ComunitaNuovoMondo", "author": "Surya", @@ -9,7 +9,7 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8083 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8083 APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.46' 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 3ecfa5d0..4abfa943 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.44", + "version": "1.2.46", "description": "freeplanet", "productName": "freeplanet", "author": "Surya", @@ -9,11 +9,11 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8087 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8087 APP_VERSION='1.2.46' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.46' 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 dc2e1253..3aa70277 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.44", + "version": "1.2.46", "description": "Gruppo Macro", "productName": "Gruppo Macro", "author": "Surya", @@ -9,20 +9,20 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8089 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8089 APP_VERSION='1.2.46' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", - "buildspa": "APP_VERSION='1.2.44' quasar build -m spa", + "buildspa": "APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.46' 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 26abe9b6..c8de1a3b 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.44", + "version": "1.2.46", "description": "kolibrilab", "productName": "kolibrilab", "author": "Surya Paolo", @@ -8,11 +8,11 @@ "keywords": [], "license": "MIT", "scripts": { - "dev": "PORT=8083 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8083 APP_VERSION='1.2.46' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.46' 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 14f6ac94..b68b24a5 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.44", + "version": "1.2.46", "description": "Nutriben", "productName": "Nutriben", "author": "Surya", @@ -9,20 +9,20 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8093 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8093 APP_VERSION='1.2.46' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", - "buildspa": "APP_VERSION='1.2.44' quasar build -m spa", + "buildspa": "APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.46' 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 c6a9d5c1..6c4e531f 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.44", + "version": "1.2.46", "description": "PiuCheBuono", "productName": "PiuCheBuono", "author": "Surya", @@ -9,11 +9,11 @@ "license": "MIT", "type": "module", "scripts": { - "dev": "PORT=8085 APP_VERSION='1.2.44' quasar dev", + "dev": "PORT=8085 APP_VERSION='1.2.46' quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.46' 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 faac8f43..cdb3d70b 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.44", + "version": "1.2.46", "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.44' PORT=8084 quasar dev", + "dev": "APP_VERSION='1.2.46' PORT=8084 quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", - "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.44' quasar build -m pwa", + "buildpwa": "NODE_ENV=production APP_VERSION='1.2.46' quasar build -m pwa", + "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.46' 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.44' quasar dev -m pwa", - "spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.44' quasar dev", + "pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.46' quasar dev -m pwa", + "spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.46' 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 0a9e3fa4..8ae43cb1 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.44'; +const VITE_APP_VERSION = '1.2.46'; // Costanti di configurazione const DYNAMIC_CACHE = 'dynamic-cache-v2'; @@ -83,6 +83,7 @@ cleanupOutdatedCaches(); self.addEventListener('install', () => { console.log('[Service Worker] Installing ...'); self.skipWaiting(); + clientsClaim(); }); diff --git a/src/components/MyHeader/MyHeader.ts b/src/components/MyHeader/MyHeader.ts index 51e673cb..f353c362 100755 --- a/src/components/MyHeader/MyHeader.ts +++ b/src/components/MyHeader/MyHeader.ts @@ -1,40 +1,54 @@ -import { useQuasar } from 'quasar' +import { useQuasar } from 'quasar'; import { - defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRefs, watch, inject, computed, nextTick, -} from 'vue' + defineComponent, + onBeforeMount, + onBeforeUnmount, + onMounted, + ref, + toRefs, + watch, + inject, + computed, + nextTick, +} from 'vue'; -import { tools } from '@tools' +import { tools } from '@tools'; -import { shared_consts } from '@src/common/shared_vuejs' -import { useI18n } from 'vue-i18n' -import { boot } from 'quasar/wrappers' -import { useRouter } from 'vue-router' -import { static_data } from '@src/db/static_data' -import messagePopover from '../../layouts/toolbar/messagePopover/messagePopover.vue' -import notifPopover from '../../layouts/toolbar/notifPopover/notifPopover.vue' -import coinsPopover from '../../layouts/toolbar/coinsPopover/coinsPopover.vue' -import drawer from '../../layouts/drawer/drawer.vue' -import { CMyAvatar } from '@src/components/CMyAvatar' -import { CMyFieldDb } from '@src/components/CMyFieldDb' -import { CSelectUserActive } from '@src/components/CSelectUserActive' -import { toolsext } from '@store/Modules/toolsext' -import { useGlobalStore } from '@store/globalStore' -import { useUserStore } from '@store/UserStore' -import { useProducts } from '@store/Products' - -import MixinUsers from '../../mixins/mixin-users' -import { CMyCart, CSigninNoreg } from '@src/components' -import { costanti } from '@costanti' -import { useNotifStore } from '@src/store/NotifStore' +import { shared_consts } from '@src/common/shared_vuejs'; +import { useI18n } from 'vue-i18n'; +import { boot } from 'quasar/wrappers'; +import { useRouter } from 'vue-router'; +import { static_data } from '@src/db/static_data'; +import messagePopover from '../../layouts/toolbar/messagePopover/messagePopover.vue'; +import notifPopover from '../../layouts/toolbar/notifPopover/notifPopover.vue'; +import coinsPopover from '../../layouts/toolbar/coinsPopover/coinsPopover.vue'; +import drawer from '../../layouts/drawer/drawer.vue'; +import { CMyAvatar } from '@src/components/CMyAvatar'; +import { CMyFieldDb } from '@src/components/CMyFieldDb'; +import { CSelectUserActive } from '@src/components/CSelectUserActive'; +import { toolsext } from '@store/Modules/toolsext'; +import { useGlobalStore } from '@store/globalStore'; +import { useUserStore } from '@store/UserStore'; +import { useProducts } from '@store/Products'; +import MixinUsers from '../../mixins/mixin-users'; +import { CMyCart, CSigninNoreg } from '@src/components'; +import { costanti } from '@costanti'; +import { useNotifStore } from '@src/store/NotifStore'; import { Platform } from 'quasar'; export default defineComponent({ name: 'MyHeader', components: { - drawer, messagePopover, - CMyFieldDb, CMyAvatar, CSigninNoreg, CMyCart, notifPopover, coinsPopover, + drawer, + messagePopover, + CMyFieldDb, + CMyAvatar, + CSigninNoreg, + CMyCart, + notifPopover, + coinsPopover, CSelectUserActive, }, props: { @@ -49,131 +63,143 @@ export default defineComponent({ }, setup() { - const $q = useQuasar() - const { t } = useI18n() - const $router = useRouter() + const $q = useQuasar(); + const { t } = useI18n(); + const $router = useRouter(); - const isUserNotAuth = ref(false) - const iconConn = ref('wifi') - const clIconConn = ref('clIconOnline') - const strConn = ref('') - const langshort = ref('') - const clCloudUpload = ref('') - const clCloudDownload = ref('') - const clCloudUp_Indexeddb = ref('') - const tabcmd = ref('') - const clCloudDown_Indexeddb = ref('clIndexeddbsend') - const photo = ref('') - const visuimg = ref(true) + const isUserNotAuth = ref(false); + const iconConn = ref('wifi'); + const clIconConn = ref('clIconOnline'); + const strConn = ref(''); + const langshort = ref(''); + const clCloudUpload = ref(''); + const clCloudDownload = ref(''); + const clCloudUp_Indexeddb = ref(''); + const tabcmd = ref(''); + const clCloudDown_Indexeddb = ref('clIndexeddbsend'); + const photo = ref(''); + const visuimg = ref(true); - const userStore = useUserStore() - const globalStore = useGlobalStore() - const products = useProducts() - const notifStore = useNotifStore() + const userStore = useUserStore(); + const globalStore = useGlobalStore(); + const products = useProducts(); + const notifStore = useNotifStore(); - const { getnumItemsCart } = MixinUsers() + const { getnumItemsCart } = MixinUsers(); - const site = computed(() => globalStore.site) - const isfinishLoading = computed(() => globalStore.finishLoading) + const site = computed(() => globalStore.site); + const isfinishLoading = computed(() => globalStore.finishLoading); - const dark = ref(false) + const dark = ref(false); - const leftDrawerOpen = ref(globalStore.leftDrawerOpen) + const leftDrawerOpen = ref(globalStore.leftDrawerOpen); const editOn = computed({ get: () => globalStore.editOn, - set: val => { - tools.updateEditOn(val) + set: (val) => { + tools.updateEditOn(val); }, - }) - + }); const getClassColorHeader = computed(() => { // if (tools.isTest()) return 'bg-light-blue' // if (tools.isDebug()) return 'bg-info' if (globalStore.site && globalStore.site.confpages?.col_toolbar) - return 'bg-' + globalStore.site.confpages?.col_toolbar + return 'bg-' + globalStore.site.confpages?.col_toolbar; else { if (globalStore.homescreen) { - return 'bg-blue' + return 'bg-blue'; } else { - return 'bg-light-blue' + return 'bg-light-blue'; } } - - }) + }); const getColorText = computed(() => { - if (globalStore.site && globalStore.site.confpages?.col_toolbar === 'white') - return 'black' - else - return 'white' - }) + if (globalStore.site && globalStore.site.confpages?.col_toolbar === 'white') return 'black'; + else return 'white'; + }); - watch(() => dark.value, (value: any, oldval: any) => { - if (isfinishLoading.value) { - $q.dark.set(value) - tools.setCookie('darkmode', value ? '-1' : '0') + watch( + () => dark.value, + (value: any, oldval: any) => { + if (isfinishLoading.value) { + $q.dark.set(value); + tools.setCookie('darkmode', value ? '-1' : '0'); + } } - }) + ); function setDarkMode() { - dark.value = tools.getCookie('darkmode', false, false, false) === '-1' + dark.value = tools.getCookie('darkmode', false, false, false) === '-1'; - $q.dark.set(dark.value) + $q.dark.set(dark.value); } function uploadStart() { - - BeforeMount() + BeforeMount(); } - watch(() => globalStore.finishLoading, (value: any, oldval: any) => { - if (value) { - uploadStart() + watch( + () => globalStore.finishLoading, + (value: any, oldval: any) => { + if (value) { + uploadStart(); + } } - }) + ); const data = ref({ registration: null, updateExists: false, - } as any) + } as any); - const refreshing = ref(false) + const refreshing = ref(false); - const stateconn = ref(globalStore.stateConnection) + const stateconn = ref(globalStore.stateConnection); function updateAvailable(event: any) { - console.log(event) - data.value.registration = event.detail - data.value.updateExists = true - RefreshApp() // update automatically + console.log(event); + data.value.registration = event.detail; + data.value.updateExists = true; + RefreshApp(); // update automatically } function created() { - if (isfinishLoading.value) { - uploadStart() + uploadStart(); } + try { if (window) { - window.addEventListener('swUpdated', updateAvailable, { once: true }) + // Ascolta evento custom 'swUpdated' per notifica aggiornamento + window.addEventListener( + 'swUpdated', + async (event) => { + // Chiedi conferma all’utente (qui con confirm, sostituisci con dialog Quasar se vuoi) + const doUpdate = confirm('È disponibile una nuova versione. Vuoi aggiornare ora?'); + + if (doUpdate) { + // Invia messaggio al service worker per skipWaiting + if (event.detail?.swWaiting) { + event.detail.swWaiting.postMessage({ action: 'skipWaiting' }); + } + } + }, + { once: true } + ); + if ('serviceWorker' in navigator) { navigator.serviceWorker.addEventListener('controllerchange', () => { - // We'll also need to add 'refreshing' to our data originally set to false. - if (refreshing.value) - return - refreshing.value = true - // Here the actual reload of the page occurs - window.location.reload() - }) - + if (refreshing.value) return; + refreshing.value = true; + window.location.reload(); + }); } } } catch (e) { - console.error('Err', e.message) + console.error('Err', e.message); } - } const { @@ -194,76 +220,76 @@ export default defineComponent({ getNumMsg, getNumMsgUnread, getMsgText, - paotest } = MixinUsers() + paotest, + } = MixinUsers(); function isonline() { - return globalStore.stateConnection === 'online' + return globalStore.stateConnection === 'online'; } function isAdmin() { - return userStore.isAdmin + return userStore.isAdmin; } function isManager() { - return userStore.isManager + return userStore.isManager; } function isEditor() { - return userStore.isEditor + return userStore.isEditor; } - const isSocio = computed(() => userStore.my.profile.socio) + const isSocio = computed(() => userStore.my.profile.socio); function isSocioResidente() { - return userStore.my.profile.socioresidente + return userStore.my.profile.socioresidente; } function isConsiglio() { - return userStore.my.profile.consiglio + return userStore.my.profile.consiglio; } function getcolormenu() { - return isSocio.value ? 'green-7' : 'white' + return isSocio.value ? 'green-7' : 'white'; } function isFacilitatore() { - return userStore.isFacilitatore + return userStore.isFacilitatore; } function isZoomeri() { - return userStore.isZoomeri + return userStore.isZoomeri; } function isTratuttrici() { - return userStore.isTratuttrici + return userStore.isTratuttrici; } function conndata_changed() { - return globalStore.connData + return globalStore.connData; } function snakeToCamel(str: string) { - return str.replace(/(-\w)/g, (m) => m[1].toUpperCase()) + return str.replace(/(-\w)/g, (m) => m[1].toUpperCase()); } - function setshortlang(mylang: string) { static_data.lang_available.forEach((langavail: any) => { if (langavail.value === mylang) { - langshort.value = langavail.short - return langshort.value + langshort.value = langavail.short; + return langshort.value; } - }) + }); } function isNewVersionAvailable() { - return globalStore.isNewVersionAvailable + return globalStore.isNewVersionAvailable; } function closeAll() { - globalStore.rightNotifOpen = false - globalStore.rightCartOpen = false - globalStore.rightDrawerOpen = false - globalStore.rightCoinsOpen = false + globalStore.rightNotifOpen = false; + globalStore.rightCartOpen = false; + globalStore.rightDrawerOpen = false; + globalStore.rightCoinsOpen = false; } /*const leftDrawerOpen = computed({ @@ -276,82 +302,79 @@ export default defineComponent({ const rightDrawerOpen = computed({ get: () => globalStore.rightDrawerOpen, - set: val => { - closeAll() - globalStore.rightDrawerOpen = val + set: (val) => { + closeAll(); + globalStore.rightDrawerOpen = val; }, - }) + }); const rightCartOpen = computed({ get: () => globalStore.rightCartOpen, - set: val => { - closeAll() - globalStore.rightCartOpen = val + set: (val) => { + closeAll(); + globalStore.rightCartOpen = val; }, - }) + }); const rightNotifOpen = computed({ get: () => globalStore.rightNotifOpen, - set: val => { - closeAll() - globalStore.rightNotifOpen = val + set: (val) => { + closeAll(); + globalStore.rightNotifOpen = val; }, - }) + }); const rightCoinsOpen = computed({ get: () => globalStore.rightCoinsOpen, - set: val => { - closeAll() - globalStore.rightCoinsOpen = val + set: (val) => { + closeAll(); + globalStore.rightCoinsOpen = val; }, - }) + }); const lang = computed({ get: () => $q.lang.isoName, - set: mylang => { + set: (mylang) => { // console.log('set lang', $q.lang.getLocale(), 'passato', mylang) - $q.lang.set(snakeToCamel(mylang)) + $q.lang.set(snakeToCamel(mylang)); // tools.showNotif($q, 'IMPOSTA LANG= ' + $i18n.locale) // console.log('IMPOSTA LANG= ' + $i18n.locale) - let mylangtopass = mylang + let mylangtopass = mylang; - mylangtopass = toolsext.checkLangPassed($q, $router, mylangtopass) + mylangtopass = toolsext.checkLangPassed($q, $router, mylangtopass); - userStore.setlang($q, $router, mylangtopass) + userStore.setlang($q, $router, mylangtopass); - setshortlang(mylangtopass) + setshortlang(mylangtopass); - tools.setLangAtt($q, $router, mylangtopass) + tools.setLangAtt($q, $router, mylangtopass); - userStore.setLangServer() + userStore.setLangServer(); }, - }) - - watch(() => - stateconn, - // @ts-ignore - (value: string, oldValue: string) => { - globalStore.stateConnection = value - }, - ) + }); watch( - conndata_changed, - (value, oldValue) => { - clCloudUpload.value = (value.uploading_server === 1) ? 'clCloudUpload send' : 'clCloudUpload' - clCloudUpload.value = (value.downloading_server === 1) ? 'clCloudUpload receive' : 'clCloudUpload' - clCloudUp_Indexeddb.value = (value.uploading_indexeddb === 1) ? 'clIndexeddb send' : 'clIndexeddb' - clCloudUp_Indexeddb.value = (value.downloading_indexeddb === 1) ? 'clIndexeddb receive' : 'clIndexeddb' + () => stateconn, + // @ts-ignore + (value: string, oldValue: string) => { + globalStore.stateConnection = value; + } + ); - /* clCloudUpload.value = (value.uploading_server === -1) ? 'clCloudUpload error' : clCloudUpload + watch(conndata_changed, (value, oldValue) => { + clCloudUpload.value = value.uploading_server === 1 ? 'clCloudUpload send' : 'clCloudUpload'; + clCloudUpload.value = value.downloading_server === 1 ? 'clCloudUpload receive' : 'clCloudUpload'; + clCloudUp_Indexeddb.value = value.uploading_indexeddb === 1 ? 'clIndexeddb send' : 'clIndexeddb'; + clCloudUp_Indexeddb.value = value.downloading_indexeddb === 1 ? 'clIndexeddb receive' : 'clIndexeddb'; + + /* clCloudUpload.value = (value.uploading_server === -1) ? 'clCloudUpload error' : clCloudUpload clCloudUpload.value = (value.downloading_server === -1) ? 'clCloudUpload error' : clCloudDownload clCloudUp_Indexeddb.value = (value.uploading_indexeddb === -1) ? 'clIndexeddb error' : clCloudUp_Indexeddb clCloudUp_Indexeddb.value = (value.downloading_indexeddb === -1) ? 'clIndexeddb error' : clCloudDown_Indexeddb */ - }, - ) + }); /* @Watch('conn_changed', { immediate: true, deep: true }) @@ -380,82 +403,78 @@ export default defineComponent({ */ function RefreshApp() { - if (Platform.is.ios) { // Unregister Service Worker if ('serviceWorker' in navigator) { navigator.serviceWorker.getRegistrations().then((registrations) => { for (const registration of registrations) { - registration.unregister() + registration.unregister(); } - }) + }); } // window.location.reload() } else { - - data.value.updateExists = false + data.value.updateExists = false; // Make sure we only send a 'skip waiting' message if the SW is waiting - if (!data.value.registration || !data.value.registration.waiting) return + if (!data.value.registration || !data.value.registration.waiting) return; // Send message to SW to skip the waiting and activate the new SW - data.value.registration.waiting.postMessage({ type: 'SKIP_WAITING' }) + data.value.registration.waiting.postMessage({ type: 'SKIP_WAITING' }); } } function changeIconConn() { - iconConn.value = globalStore.stateConnection === 'online' ? 'wifi' : 'wifi_off' - clIconConn.value = globalStore.stateConnection === 'online' ? 'clIconOnline' : 'clIconOffline' + iconConn.value = globalStore.stateConnection === 'online' ? 'wifi' : 'wifi_off'; + clIconConn.value = globalStore.stateConnection === 'online' ? 'clIconOnline' : 'clIconOffline'; } function getAppVersion() { // return "AA" - let strv = '' + let strv = ''; if (import.meta.env.DEV) { - strv = 'DEV ' + strv = 'DEV '; } else if (tools.isTest()) { - strv = 'TEST ' + strv = 'TEST '; } - return `${strv}v. ${import.meta.env.VITE_APP_VERSION}` + return `${strv}v. ${import.meta.env.VITE_APP_VERSION}`; } function getLangAtt() { - return $q.lang.isoName + return $q.lang.isoName; } function BeforeMount() { - setDarkMode() + setDarkMode(); // Estrai la Lang dal Localstorage - if (!globalStore.finishLoading) - return; + if (!globalStore.finishLoading) return; // console.log('$q.i18n=', $q.i18n, '$q.getLocale()=', $q.lang.isoName) - const mybrowserLang = getLangAtt() + const mybrowserLang = getLangAtt(); // tools.showNotif($q, 'prima: ' + String(my)) - let mylang = tools.getItemLS(toolsext.localStorage.lang) + let mylang = tools.getItemLS(toolsext.localStorage.lang); if (mylang === '') { if (navigator) { - mylang = navigator.language + mylang = navigator.language; // console.log(`LANG2 NAVIGATOR ${mylang}`) } else { - mylang = $q.lang.isoName + mylang = $q.lang.isoName; } // console.log('IMPOSTA LANGMY', mylang) } - mylang = toolsext.checkLangPassed($q, $router, mylang) + mylang = toolsext.checkLangPassed($q, $router, mylang); - tools.setLangAtt($q, $router, mylang) - setshortlang(mylang) + tools.setLangAtt($q, $router, mylang); + setshortlang(mylang); } function mounted() { // Test this by running the code snippet below and then // use the "TableOnlyView" checkbox in DevTools Network panel - // console.log('Event LOAD') if (window) { window.addEventListener('load', () => { @@ -463,78 +482,73 @@ export default defineComponent({ function updateOnlineStatus(event: any) { if (navigator.onLine) { - console.log('EVENT ONLINE!') + console.log('EVENT ONLINE!'); // handle online status - globalStore.setStateConnection('online') + globalStore.setStateConnection('online'); // mychangeIconConn() } else { - console.log('EVENT OFFLINE!') + console.log('EVENT OFFLINE!'); // handle offline status - globalStore.setStateConnection('offline') + globalStore.setStateConnection('offline'); // mychangeIconConn() } } - window.addEventListener('online', updateOnlineStatus) - window.addEventListener('offline', updateOnlineStatus) - }) + window.addEventListener('online', updateOnlineStatus); + window.addEventListener('offline', updateOnlineStatus); + }); } nextTick(() => { if (tools.getCookie('menu3oriz') === '1') { if ($q.screen.width < 800) { - leftDrawerOpen.value = false + leftDrawerOpen.value = false; // globalStore.leftDrawerOpen = false } else { - leftDrawerOpen.value = true - globalStore.leftDrawerOpen = true + leftDrawerOpen.value = true; + globalStore.leftDrawerOpen = true; } + } else if (tools.getCookie('menu3oriz') === '0') { + leftDrawerOpen.value = false; + globalStore.leftDrawerOpen = false; } - else if (tools.getCookie('menu3oriz') === '0') { - leftDrawerOpen.value = false - globalStore.leftDrawerOpen = false - } - }) - + }); } function imglogo() { - return `../../${tools.getimglogo()}` + return `../../${tools.getimglogo()}`; } function getappname() { - return tools.getappname(tools.isMobile()) - + return tools.getappname(tools.isMobile()); } function toggleanimation() { - console.log('toggleanimation') - visuimg.value = false + console.log('toggleanimation'); + visuimg.value = false; setTimeout(() => { - visuimg.value = true - }, 100) + visuimg.value = true; + }, 100); } function logoutHandler() { - userStore.logout() - .then(() => { - // $router.replace('/logout') - // - // setTimeout(() => { - // $router.replace('/') - // }, 1000) + userStore.logout().then(() => { + // $router.replace('/logout') + // + // setTimeout(() => { + // $router.replace('/') + // }, 1000) - tools.showNotif($q, t('logout.uscito'), { icon: 'exit_to_app' }) - }) + tools.showNotif($q, t('logout.uscito'), { icon: 'exit_to_app' }); + }); } function clickregister() { - rightDrawerOpen.value = false + rightDrawerOpen.value = false; - $router.replace('/signup') + $router.replace('/signup'); } - function getnumOrdersCart() { /* const arrorderscart = Products.orders.filter((rec) => rec.status < shared_consts.OrderStatus.COMPLETED) // const arrorderscart = Products.orders @@ -543,36 +557,34 @@ export default defineComponent({ } */ - return 0 + return 0; } function getcart() { // return Products.cart - return null + return null; } function toHome() { - $router.push('/') + $router.push('/'); } - function changecmd(value: any) { - console.log('changecmd', value) - globalStore.changeCmdClick(value) + console.log('changecmd', value); + globalStore.changeCmdClick(value); } function clickMenu3Orizz() { + leftDrawerOpen.value = !leftDrawerOpen.value; + globalStore.leftDrawerOpen = leftDrawerOpen.value; - leftDrawerOpen.value = !leftDrawerOpen.value - globalStore.leftDrawerOpen = leftDrawerOpen.value - - tools.setCookie('menu3oriz', globalStore.leftDrawerOpen ? '1' : '0') + tools.setCookie('menu3oriz', globalStore.leftDrawerOpen ? '1' : '0'); } - onBeforeMount(BeforeMount) - onMounted(mounted) + onBeforeMount(BeforeMount); + onMounted(mounted); - created() + created(); return { static_data, @@ -588,7 +600,11 @@ export default defineComponent({ t, isonline, isAdmin, - isManager, isSocio, isSocioResidente, isConsiglio, getcolormenu, + isManager, + isSocio, + isSocioResidente, + isConsiglio, + getcolormenu, isNewVersionAvailable, getAppVersion, RefreshApp, @@ -637,7 +653,6 @@ export default defineComponent({ clickMenu3Orizz, isEditor, editOn, - } + }; }, - -}) +}); diff --git a/src/store/Modules/tools.ts b/src/store/Modules/tools.ts index b156c901..76d53f80 100644 --- a/src/store/Modules/tools.ts +++ b/src/store/Modules/tools.ts @@ -8396,6 +8396,8 @@ export const tools = { console.log('beforeinstallprompt !'); // Stash the event so it can be triggered later. globalStore.deferredPrompt = event; + + // showInstallButton(true); }); } catch (e) { console.error('err', e); diff --git a/src/views/ecommerce/catalogo/catalogo.ts b/src/views/ecommerce/catalogo/catalogo.ts index 569d6d02..1f674f97 100755 --- a/src/views/ecommerce/catalogo/catalogo.ts +++ b/src/views/ecommerce/catalogo/catalogo.ts @@ -14,6 +14,7 @@ import { shared_consts } from '@src/common/shared_vuejs'; import { CProductCard } from '@src/components/CProductCard'; import { CMyDialog } from '@src/components/CMyDialog'; +import { CTitleBanner } from '@src/components/CTitleBanner'; import { CMySelect } from '@src/components/CMySelect'; import { CMyValueDb } from '@src/components/CMyValueDb'; import { CProductTable } from '@src/components/CProductTable'; @@ -57,6 +58,7 @@ export default defineComponent({ CSearchProduct, CMyDialog, CMyValueDb, + CTitleBanner, }, emits: ['update:modelValue', 'updateCatalogo'], props: { @@ -90,7 +92,33 @@ export default defineComponent({ const heightpdf = ref('12.31'); const compressionepdf = ref('prepress'); - const ismounting = ref(false) + const ismounting = ref(false); + + const pdfColumns = [ + { name: 'name', label: 'Nome', field: 'name', align: 'left' }, + { name: 'pdf', label: 'PDF', field: 'pdf', align: 'left' }, + { name: 'data', label: 'Data', field: 'data', align: 'left' }, + { name: 'azioni', label: 'Azioni', field: 'azioni', align: 'center' }, + ]; + + const pdfRows = computed(() => [ + { + name: 'PDF Generato', + pdf: getCatalogoByMyPage.value.pdf_generato, + data: getCatalogoByMyPage.value.data_generato, + showButton: getCatalogoByMyPage.value.data_generato !== getCatalogoByMyPage.value.data_online, + buttonLabel: 'Pubblica PDF OnLine', + action: pubblicaPDF, + }, + { + name: 'PDF Generato Stampa', + pdf: getCatalogoByMyPage.value.pdf_generato_stampa, + data: getCatalogoByMyPage.value.data_generato_stampa, + showButton: getCatalogoByMyPage.value.data_generato_stampa !== getCatalogoByMyPage.value.data_online_stampa, + buttonLabel: 'Pubblica PDF Stampa', + action: pubblicaPDFStampa, + }, + ]); const optDisp = ref([ { label: 'Tutti', value: costanti.DISP.TUTTI }, @@ -585,14 +613,20 @@ export default defineComponent({ if (optcatalogo.value) { // LINK PAGINA if (optcatalogo.value.dimensioni_def.linkIdTemplate) { - const reccatalog = globalStore.sovrascriviPaginaDefaultFromTemplate(optcatalogo.value.dimensioni_def.linkIdTemplate, optcatalogo.value.dimensioni_def); + const reccatalog = globalStore.sovrascriviPaginaDefaultFromTemplate( + optcatalogo.value.dimensioni_def.linkIdTemplate, + optcatalogo.value.dimensioni_def + ); if (reccatalog) { - optcatalogo.value.dimensioni_def.pagina = { ...reccatalog.dimensioni_def.pagina}; + optcatalogo.value.dimensioni_def.pagina = { ...reccatalog.dimensioni_def.pagina }; } } if (optcatalogo.value.print_linkIdTemplate) { - const reccat2 = globalStore.sovrascriviAreadistampaFromTemplate(optcatalogo.value.print_linkIdTemplate, optcatalogo.value); + const reccat2 = globalStore.sovrascriviAreadistampaFromTemplate( + optcatalogo.value.print_linkIdTemplate, + optcatalogo.value + ); if (reccat2) { const optcatalogo2 = { ...optcatalogo.value }; // optcatalogo2.areadistampa = { ...reccat2.areadistampa}; @@ -847,7 +881,6 @@ export default defineComponent({ await productStore.loadProducts(true); } - if (!loadpage.value) return; generatinglist.value = true; @@ -1333,7 +1366,7 @@ export default defineComponent({ async function mounted() { // console.log('mounted Catalogo') - ismounting.value = true + ismounting.value = true; generatinglist.value = true; if (optcatalogo.value.showListaArgomenti) cat.value = tools.getCookie(getKeyCatAtLoad(), ''); @@ -1400,7 +1433,7 @@ export default defineComponent({ calcArrProducts(); - ismounting.value = false + ismounting.value = false; } function loaddata() { @@ -1752,13 +1785,14 @@ export default defineComponent({ if (element) { // add this record to lista_prodotti - if (getCatalogoByMyPage.value && !getCatalogoByMyPage.value.lista_prodotti?.some((p) => p._id === element._id)) { + if ( + getCatalogoByMyPage.value && + !getCatalogoByMyPage.value.lista_prodotti?.some((p) => p._id === element._id) + ) { // inserire il record in cima const arr = getCatalogoByMyPage.value.lista_prodotti || []; - if (where === shared_consts.WHERE_INSERT.ONTOP) - arr.unshift(element); - else if (where === shared_consts.WHERE_INSERT.ONBOTTOM) - arr.push(element) + if (where === shared_consts.WHERE_INSERT.ONTOP) arr.unshift(element); + else if (where === shared_consts.WHERE_INSERT.ONBOTTOM) arr.push(element); updateProducts(arr); @@ -1989,51 +2023,81 @@ export default defineComponent({ const pubblicaPDF = async () => { const catalog = getCatalogoByMyPage.value; - const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: false }); + const confirm = await $q + .dialog({ + title: 'Conferma', + message: 'Vuoi pubblicare OnLine questo PDF?', + ok: { + label: 'S ', + push: true, + }, + cancel: { + label: 'Annulla', + }, + }) + .onOk(async () => { + if (!confirm) return; - if (ris) { - if (ris.record?.pdf_online) { - catalog.pdf_online = ris.record.pdf_online; - catalog.data_online = ris.record.data_online; - } - $q.notify({ - color: 'positive', - message: 'PDF inviato ONLINE!', - icon: 'check', + const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: false }); + + if (ris) { + if (ris.record?.pdf_online) { + catalog.pdf_online = ris.record.pdf_online; + catalog.data_online = ris.record.data_online; + } + $q.notify({ + color: 'positive', + message: 'PDF inviato ONLINE!', + icon: 'check', + }); + } else { + $q.loading.hide(); + $q.notify({ + color: 'negative', + message: "Errore nell'invio del PDF OnLine", + icon: 'error', + }); + } }); - } else { - $q.loading.hide(); - $q.notify({ - color: 'negative', - message: "Errore nell'invio del PDF OnLine", - icon: 'error', - }); - } }; const pubblicaPDFStampa = async () => { const catalog = getCatalogoByMyPage.value; - const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: true }); + const confirm = await $q + .dialog({ + title: 'Conferma', + message: 'Vuoi pubblicare OnLine questo PDF di STAMPA ?', + ok: { + label: 'S ', + push: true, + }, + cancel: { + label: 'Annulla', + }, + }) + .onOk(async () => { + const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: true }); - if (ris) { - if (ris.record.pdf_online_stampa) { - catalog.pdf_online_stampa = ris.record.pdf_online_stampa; - catalog.data_online_stampa = ris.record.data_online_stampa; - } - $q.notify({ - color: 'positive', - message: 'PDF STAMPA inviato ONLINE!', - icon: 'check', + if (ris) { + if (ris.record.pdf_online_stampa) { + catalog.pdf_online_stampa = ris.record.pdf_online_stampa; + catalog.data_online_stampa = ris.record.data_online_stampa; + } + $q.notify({ + color: 'positive', + message: 'PDF STAMPA inviato ONLINE!', + icon: 'check', + }); + } else { + $q.loading.hide(); + $q.notify({ + color: 'negative', + message: "Errore nell'invio del PDF STAMPA OnLine", + icon: 'error', + }); + } }); - } else { - $q.loading.hide(); - $q.notify({ - color: 'negative', - message: "Errore nell'invio del PDF STAMPA OnLine", - icon: 'error', - }); - } // await saveCatalog(); }; @@ -2118,6 +2182,8 @@ export default defineComponent({ pubblicaPDF, pubblicaPDFStampa, ismounting, + pdfColumns, + pdfRows, }; }, }); diff --git a/src/views/ecommerce/catalogo/catalogo.vue b/src/views/ecommerce/catalogo/catalogo.vue index 500db7ff..fcd11be9 100755 --- a/src/views/ecommerce/catalogo/catalogo.vue +++ b/src/views/ecommerce/catalogo/catalogo.vue @@ -298,21 +298,142 @@ >1 - - - - + + +
+
+ + + + +
+
+
+ PDF generati Temporanei +
+ + + + + + + + + +
+
+ PDF Pubblicati OnLine +
+ + + + + + + + + + + + + + +
PDF OnLine: + + {{ tools.getHost() + getCatalogoByMyPage.pdf_online }} + + - + {{ tools.getstrDateTime(getCatalogoByMyPage.data_online) }}
PDF OnLine Stampa: + + {{ tools.getHost() + getCatalogoByMyPage.pdf_online_stampa }} + + - + {{ tools.getstrDateTime(getCatalogoByMyPage.data_online_stampa) }}
+
+
+
+
+ --> - -
- - - - -
-
-
- PDF generati Temporanei -
-
- PDF Generato: - - {{ tools.getHost() + getCatalogoByMyPage.pdf_generato }} - - - -
(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_generato) }}) -
- -
-
-
- PDF Generato Stampa: - - {{ tools.getHost() + getCatalogoByMyPage.pdf_generato_stampa }} - - - -
(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_generato_stampa) }}) -
- -
-
-
- PDF Pubblicati OnLine -
-
- PDF OnLine: - - {{ tools.getHost() + getCatalogoByMyPage.pdf_online }} - - - -
(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_online) }}) -
-
-
- PDF OnLine Stampa: - - {{ tools.getHost() + getCatalogoByMyPage.pdf_online_stampa }} - - - -
(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_online_stampa) }}) -
-
-
-