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/package.json b/package.json
index 8f36f001..9dbf590e 100755
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"@cubejs-client/core": "^1.2.26",
"@quasar/extras": "^1.16.17",
"@quasar/quasar-ui-qcalendar": "^4.1.2",
+ "@syncfusion/ej2-vue-pdfviewer": "^29.1.40",
"@types/jsbarcode": "^3.11.4",
"@types/leaflet": "^1.9.17",
"@vue/compat": "^3.5.13",
diff --git a/scripts/deploy_on_prod_gruppomacro.app.sh b/scripts/deploy_on_prod_gruppomacro.app.sh
index 2a9d7d61..6c07024b 100755
--- a/scripts/deploy_on_prod_gruppomacro.app.sh
+++ b/scripts/deploy_on_prod_gruppomacro.app.sh
@@ -18,8 +18,14 @@ fi
if [[ $risposta == "Y" || $risposta == "y" ]]; then
+ mv public/upload/products ../../
+ mv public/upload/profile ../../
+
npm run buildpwa
+ mv ../../products public/upload/
+ mv ../../profile public/upload/
+
echo "Sincronizzazione in remoto $SERVERDIR_WEBSITE ..."
rsync -e 'ssh -p 8822' -a dist/pwa/ pcbuser@pcb:$SERVERDIR_WEBSITE
#rsync -e 'ssh -p 8822' -av --delete dist/pwa/js/ pcbuser@pcb:$SERVERDIR_WEBSITE/js
diff --git a/scripts/deploy_on_test_gruppomacro.app.sh b/scripts/deploy_on_test_gruppomacro.app.sh
index adfbafe3..30294651 100755
--- a/scripts/deploy_on_test_gruppomacro.app.sh
+++ b/scripts/deploy_on_test_gruppomacro.app.sh
@@ -16,7 +16,13 @@ cp .env.test.gruppomacro .env.production
sleep 1
-npm run buildpwatest
+ mv public/upload/products ../../
+ mv public/upload/profile ../../
+
+ npm run buildpwatest
+
+ mv ../../products public/upload/
+ mv ../../profile public/upload/
echo "Sincronizzazione $SERVERDIR_WEBSITE in remoto..."
rsync -e 'ssh -p 8822' -a --exclude 'upload' dist/pwa/ pcbuser@pcb:$SERVERDIR_WEBSITE
diff --git a/src/components/CCatalogoCard/CCatalogoCard.vue b/src/components/CCatalogoCard/CCatalogoCard.vue
index 887b57d6..564dfc3f 100755
--- a/src/components/CCatalogoCard/CCatalogoCard.vue
+++ b/src/components/CCatalogoCard/CCatalogoCard.vue
@@ -134,7 +134,7 @@
/>
- Scheda Libro
+ Scheda
- Carica dati del Libro (da GM)
+ Carica dati (da GM)
- Carica dati del Libro (dal DB Locale)
+ Carica dati (dal DB Locale)
diff --git a/src/components/CSchedaProdotto/CSchedaProdotto.ts b/src/components/CSchedaProdotto/CSchedaProdotto.ts
index 6a7cc167..9753cd46 100755
--- a/src/components/CSchedaProdotto/CSchedaProdotto.ts
+++ b/src/components/CSchedaProdotto/CSchedaProdotto.ts
@@ -274,6 +274,17 @@ export default defineComponent({
function getArrListScheda(): IRecFields[] {
const arrlist: IRecFields[] = [
+ {
+ editOn: true,
+ label: "Verifica",
+ table: "products",
+ id: myproduct.value._id,
+ rec: myproduct.value,
+ mykey: "validaprod",
+ debounce: "1000",
+ type: costanti.FieldType.verifica,
+ dense: true,
+ },
{
editOn: true,
label: "Titolo",
diff --git a/src/model/CatalogStore.ts b/src/model/CatalogStore.ts
index 01857a74..28243f8c 100755
--- a/src/model/CatalogStore.ts
+++ b/src/model/CatalogStore.ts
@@ -26,6 +26,8 @@ export interface ICatalog {
pdf_generato?: string
data_generato?: Date
+ data_lista_generata?: Date
+ username_lista_generata?: string
pdf_online?: string
data_online?: Date
diff --git a/src/model/GlobalStore.ts b/src/model/GlobalStore.ts
index bf2c3e2a..5700c1e6 100755
--- a/src/model/GlobalStore.ts
+++ b/src/model/GlobalStore.ts
@@ -674,7 +674,7 @@ export interface ITimeLineMain {
export interface IImgGallery {
_id?: string
imagefile: string
- vers_img: number
+ vers_img?: number
// order?: number
alt?: string
description?: string
diff --git a/src/model/Products.ts b/src/model/Products.ts
index b09b949e..b7b359cb 100755
--- a/src/model/Products.ts
+++ b/src/model/Products.ts
@@ -1,6 +1,6 @@
import type { IUserFields, IUserShort } from './UserStore'
-export interface IVerificaProd {
+export interface IValidaProd {
esito?: number
data?: Date
username?: string
@@ -97,6 +97,7 @@ export interface IVariazione {
preOrderDate?: Date
addtocart_link?: string
eta?: string
+ validaprod?: IValidaProd
}
export interface IAuthor {
diff --git a/src/statics/lang/it.js b/src/statics/lang/it.js
index e94798dc..8ea20776 100755
--- a/src/statics/lang/it.js
+++ b/src/statics/lang/it.js
@@ -2076,7 +2076,13 @@ const msg_it = {
withexplain: 'Con Spiegazione',
temperatura: 'Temperatura',
outputType: 'Formato di Uscita',
- }
+ },
+
+ validazione: {
+ SI: 'Validato',
+ NO: 'NON Validato',
+ TO_RESOLV: 'Da Risolvere!',
+ },
},
};
diff --git a/src/store/Modules/costanti.ts b/src/store/Modules/costanti.ts
index c75adb87..d233e46c 100755
--- a/src/store/Modules/costanti.ts
+++ b/src/store/Modules/costanti.ts
@@ -488,6 +488,7 @@ export const costanti = {
arrmenu: 18000,
op_andor: 19000,
editor_nohtml: 20000,
+ verifica: 21000,
},
@@ -557,6 +558,12 @@ export const costanti = {
OP_ANDOR: {
OP_OR: 0,
OP_AND: 1,
+ },
+
+ VALIDATO: {
+ NO: 0,
+ SI: 1,
+ TO_RESOLV: -1,
}
}
diff --git a/src/store/Modules/fieldsTable.ts b/src/store/Modules/fieldsTable.ts
index d31838b3..4c5575bc 100755
--- a/src/store/Modules/fieldsTable.ts
+++ b/src/store/Modules/fieldsTable.ts
@@ -2748,6 +2748,7 @@ export const colTableProducts = [
AddCol({ name: 'canBeShipped', label_trans: 'products.canBeShipped', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'canBeBuyOnline', label_trans: 'products.canBeBuyOnline', fieldtype: costanti.FieldType.boolean }),
+ AddCol({ name: 'validaprod', label_trans: 'products.validaprod', fieldtype: costanti.FieldType.verifica }),
AddCol(DeleteRec),
AddCol(DuplicateRec),
]
diff --git a/src/store/Modules/tools.ts b/src/store/Modules/tools.ts
index 895d5616..0adaeac8 100644
--- a/src/store/Modules/tools.ts
+++ b/src/store/Modules/tools.ts
@@ -9905,6 +9905,18 @@ export const tools = {
}
},
+ isDateValid(mydate: Date) {
+ try {
+ return (
+ mydate instanceof Date &&
+ isFinite(mydate.getTime()) &&
+ mydate.toISOString().split("T")[0] !== "1970-01-01"
+ )
+ } catch {
+ return false
+ }
+ },
+
// FINE !
diff --git a/src/store/Products.ts b/src/store/Products.ts
index 642578ba..d45843ab 100755
--- a/src/store/Products.ts
+++ b/src/store/Products.ts
@@ -1943,7 +1943,24 @@ export const useProducts = defineStore('Products', {
}
)
- }
+ },
+
+
+ getPathByPage(idpag: string) {
+
+ let linkpage = ''
+
+ const globalStore = useGlobalStore()
+
+ if (idpag) {
+ const mypage = globalStore.getPageById(idpag)
+ if (mypage)
+ linkpage = mypage.path!
+ }
+
+ return linkpage
+
+ },
},
diff --git a/src/views/ecommerce/catalogo/catalogo.ts b/src/views/ecommerce/catalogo/catalogo.ts
index 91d1664f..18ad60fd 100755
--- a/src/views/ecommerce/catalogo/catalogo.ts
+++ b/src/views/ecommerce/catalogo/catalogo.ts
@@ -20,6 +20,10 @@ import { CProductTable } from '@src/components/CProductTable'
import { CSearchProduct } from '@src/components/CSearchProduct'
import { CContainerCatalogoCard } from '@src/components/CContainerCatalogoCard'
import { CSelectUserActive } from '@src/components/CSelectUserActive'
+
+import html2pdf from 'html2pdf.js'
+
+
import type {
IOptCatalogo, IDimensioni, IFilterCatalogo,
IMyScheda, IProdView, IProduct, ISchedaSingola, ISearchList, ICatalog, IImg,
@@ -96,6 +100,17 @@ export default defineComponent({
const optcatalogo = ref({ ...props.modelValue });
+ const getPdfFilename = () => {
+ let myfilename = (optcatalogo.value.pdf_filename ?? 'catalogo_completo')
+
+ const catalog = getCatalogoByMyPage.value
+ if (catalog) {
+ myfilename = productStore.getPathByPage(catalog.idPageAssigned)
+ }
+
+ return myfilename
+ }
+
function updateCatalogoPadre() {
console.log('catalogo.ts PADRE')
emit('update:modelValue', optcatalogo.value);
@@ -461,6 +476,25 @@ export default defineComponent({
return argomenti
}
+ function getidTipoFormatoDaFiltrare(def_idTipoFormato?: number[]) {
+ let idTipoFormato: number[] = []
+
+ // Cerca se nella lista cataloghi c'è la Collana di questa Pagina !
+ const trovatocatalogo = getCatalogoByMyPage.value
+
+ if (trovatocatalogo) {
+ idTipoFormato = trovatocatalogo.idTipoFormato! || []
+ } else {
+ if (def_idTipoFormato && def_idTipoFormato.length > 0) {
+ idTipoFormato = def_idTipoFormato
+ } else {
+ idTipoFormato = []
+ }
+ }
+
+ return idTipoFormato
+ }
+
function getEditoreDaFiltrare(def_editori?: string[]) {
let editore: string[] = []
@@ -546,7 +580,7 @@ export default defineComponent({
if (!(optrigenera.value.visibilitaDisp === costanti.DISP.TUTTI ||
(optrigenera.value.visibilitaDisp === costanti.DISP.ESAURITI && productStore.isEsaurito(product)) ||
- (optrigenera.value.visibilitaDisp === costanti.DISP.DISPONIBILI && productStore.isDisponibile(product)))) {
+ (optrigenera.value.visibilitaDisp === costanti.DISP.DISPONIBILI && (productStore.isDisponibile(product) || productStore.isPrevendita(product))))) {
return false;
}
if (!(optrigenera.value.stato === costanti.STATO.TUTTI ||
@@ -675,7 +709,7 @@ export default defineComponent({
const filtroProductTypes = optcatalogo.value.productTypes || [0];
const filtroExcludeProductTypes = optcatalogo.value.excludeproductTypes || [0];
const filtroidTipologie = optcatalogo.value.idTipologie || [];
- const filtroidTipoFormato = optcatalogo.value.idTipoFormato || [];
+ const filtroidTipoFormato = getidTipoFormatoDaFiltrare(optcatalogo.value.idTipoFormato);
const editore = getEditoreDaFiltrare(optcatalogo.value.editore);
const filtroPublishers = editore || [];
const idCollane = getIdCollaneDaFiltrare(optcatalogo.value.idCollane);
@@ -741,12 +775,31 @@ export default defineComponent({
generatearrProdToViewSorted(!generalista, salva, !optcatalogo.value.showListaArgomenti);
loaddata();
+ if (generalista) {
+ const catalog = getCatalogoByMyPage.value
+ if (catalog) {
+ catalog.data_lista_generata = tools.getDateNow()
+ catalog.username_lista_generata = userStore.my.username
+ await saveCatalog()
+ }
+ }
+
console.log('***** FINE calcArrPROD')
generatinglist.value = false
rigeneraLibri.value = false
}
+ async function saveCatalog() {
+ const catalog = getCatalogoByMyPage.value
+ const mydata = {
+ table: 'catalogs',
+ data: catalog
+ }
+
+ await globalStore.saveTable(mydata)
+ }
+
function generaListaLibri() {
// chiedi prima "Sei sicuro di rigenerare il catalogo?"
let risposta_si = false
@@ -815,7 +868,7 @@ export default defineComponent({
const filtroProductTypes = scheda.productTypes || [0];
const filtroExcludeProductTypes = scheda.excludeproductTypes || [0];
const filtroidTipologie = scheda.idTipologie || [];
- const filtroidTipoFormato = scheda.idTipoFormato || [];
+ const filtroidTipoFormato = getidTipoFormatoDaFiltrare(scheda.idTipoFormato);
const editore = getEditoreDaFiltrare(scheda.editore);
const filtroPublishers = editore || [];
const idCollane = getIdCollaneDaFiltrare(scheda.idCollane);
@@ -1500,6 +1553,130 @@ export default defineComponent({
addnewProd.value = true
}
+ function toggleDebug() {
+ optcatalogo.value.indebug = !optcatalogo.value.indebug
+ }
+
+ const preparePDF = async () => {
+ optcatalogo.value.generazionePDFInCorso = true
+ optcatalogo.value.areadistampa!.scale = optcatalogo.value.areadistampa!.scale_printable
+ }
+
+ const terminaPDF = async () => {
+ optcatalogo.value.generazionePDFInCorso = false
+ optcatalogo.value.areadistampa!.scale = 1
+ }
+
+
+
+
+ const generatePDF = async () => {
+
+ await nextTick()
+
+ $q.dialog({
+ message: 'Generare il PDF ?',
+ ok: {
+ label: t('dialog.yes'),
+ push: true
+ },
+ cancel: {
+ label: t('dialog.cancel')
+ },
+ title: 'Generazione PDF'
+ }).onOk(async () => {
+
+
+ $q.loading.show({
+ message: 'Caricamento immagini e generazione PDF in corso...'
+ })
+
+ try {
+
+ let defaultMargin = 0.1
+ if (optcatalogo.value.printable) {
+ defaultMargin = 0
+ } else {
+ defaultMargin = 0
+ }
+ const unit = optcatalogo.value.areadistampa!.unit
+
+ let myformat = { ...optcatalogo.value.areadistampa!.format }
+
+ const scale = tools.getScale(optcatalogo.value)
+
+ const scalecanvas = optcatalogo.value.areadistampa!.scalecanvas
+
+ if (tools.isObject(myformat) && scale > 0) {
+ } else {
+ myformat = [210, 297]
+ }
+
+
+ const formatwidth = (myformat[0] * scale)
+ const formatheight = (myformat[1] * scale)
+
+ let myfile = getPdfFilename()
+
+ myfile += '_' + formatwidth + '_' + formatheight + '_' + unit + '_scale_' + scale
+
+ myfile += '.pdf'
+
+
+ const element = document.getElementById('pdf-content')
+ const opt = {
+ margin: [
+ optcatalogo.value.printable ? (parseFloat(optcatalogo.value.areadistampa!.margini?.top) || defaultMargin) : defaultMargin,
+ optcatalogo.value.printable ? (parseFloat(optcatalogo.value.areadistampa!.margini?.left) || defaultMargin) : defaultMargin,
+ optcatalogo.value.printable ? (parseFloat(optcatalogo.value.areadistampa!.margini?.bottom) || defaultMargin) : defaultMargin,
+ optcatalogo.value.printable ? (parseFloat(optcatalogo.value.areadistampa!.margini?.right) || defaultMargin) : defaultMargin
+ ],
+ filename: myfile,
+ image: {
+ type: 'jpeg',
+ quality: 0.98
+ },
+ html2canvas: {
+ scale: scalecanvas,
+ useCORS: true,
+ letterRendering: true,
+ },
+ jsPDF: {
+ unit: unit,
+ format: [formatwidth, formatheight],
+ orientation: optcatalogo.value.areadistampa!.orientation,
+ compress: optcatalogo.value.areadistampa!.compress,
+ },
+ enableLinks: true,
+ pagebreak: { mode: 'avoid-all', before: '.card-page' }
+ }
+
+ console.log('opt di stampa', opt)
+ // a4: [595.28, 841.89]
+
+ await html2pdf().set(opt).from(element).save()
+
+ optcatalogo.value.generazionePDFInCorso = false
+ optcatalogo.value.areadistampa!.scale = 1
+
+ $q.loading.hide()
+ $q.notify({
+ color: 'positive',
+ message: 'PDF generato con successo!',
+ icon: 'check'
+ })
+ } catch (error) {
+ $q.loading.hide()
+ $q.notify({
+ color: 'negative',
+ message: 'Errore nella generazione del PDF',
+ icon: 'error'
+ })
+ console.error('Errore nella generazione del PDF:', error)
+ }
+ })
+ }
+
onMounted(mounted)
@@ -1571,6 +1748,9 @@ export default defineComponent({
getCatalogoByMyPage,
getReferentiCatalogo,
reSortList,
+ preparePDF, terminaPDF, toggleDebug,
+ generatePDF,
+ getPdfFilename,
}
}
})
diff --git a/src/views/ecommerce/catalogo/catalogo.vue b/src/views/ecommerce/catalogo/catalogo.vue
index eaefa0c0..afebf5c3 100755
--- a/src/views/ecommerce/catalogo/catalogo.vue
+++ b/src/views/ecommerce/catalogo/catalogo.vue
@@ -141,6 +141,7 @@
+
+
+
+
+
+
+
@@ -760,7 +786,6 @@
-
+
-
diff --git a/yarn.lock b/yarn.lock
index 9f60defc..b3f9ea34 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2704,6 +2704,266 @@
dependencies:
"@swc/counter" "^0.1.3"
+"@syncfusion/ej2-base@~29.1.33", "@syncfusion/ej2-base@~29.1.36":
+ version "29.1.36"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-base/-/ej2-base-29.1.36.tgz#3c467967d4ed05c89c252d852940e9ff3e780519"
+ integrity sha512-XVRrymlbywtzNnxiaf/ByudElO3p7gieJuN2IHcs6FxsQNI60d3A5RdBqEF0znAH/KM0iSiWDFaaP2pqQltiEQ==
+ dependencies:
+ "@syncfusion/ej2-icons" "~29.1.33"
+
+"@syncfusion/ej2-buttons@~29.1.33", "@syncfusion/ej2-buttons@~29.1.34":
+ version "29.1.34"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-buttons/-/ej2-buttons-29.1.34.tgz#bf401f5390ab942c8b6d2445d37aeda1aa01a18c"
+ integrity sha512-zCePhsc7w2OtRwifEzsWFvFgik2ISM03vwGrHbT3IZP5lbs9asrXOJUdxmhvqqH2/Jhv5LT0/oEILx2LclzQtw==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+
+"@syncfusion/ej2-calendars@~29.1.33", "@syncfusion/ej2-calendars@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-calendars/-/ej2-calendars-29.1.40.tgz#1df4559a856f4361e9ae36daefbac098248b548d"
+ integrity sha512-zYGGBGd1miZtYJysyQO+yoDN4mXxJ9PTKYhDGIR/5IeWVerDSXk5IPkVE0iAR3KmSnLvYYfA0nj6xbIFPOB4hQ==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-lists" "~29.1.40"
+ "@syncfusion/ej2-popups" "~29.1.37"
+
+"@syncfusion/ej2-compression@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-compression/-/ej2-compression-29.1.33.tgz#d8d11460ae91656fda4f17f462bef992accdc7df"
+ integrity sha512-NVVW988jmjMCuDl07jUyN7fO62Ak34dBZnLkew8/PzC1KqXj4abFvHmNJ+crUDaNq3kPvjR8YrhWDfLzLZGaZA==
+ dependencies:
+ "@syncfusion/ej2-file-utils" "~29.1.33"
+
+"@syncfusion/ej2-data@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-data/-/ej2-data-29.1.33.tgz#73ea1b1943f3d35cf8a131447f0805cda3e9fedc"
+ integrity sha512-dqXJtljDm8fPmLl7kuO3GYuoF8xHtnUE7qwvFWE3VZTvJYWLyG68auf5gNCK47hckMp9zvgWXboTMXMBXpAkrA==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+
+"@syncfusion/ej2-drawings@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-drawings/-/ej2-drawings-29.1.40.tgz#d26c09a26673e65ae34268e21001af5365b32e9c"
+ integrity sha512-skfA1R5zqxhZNFr2ErmLqp2CBg3BJGLThpBDmdKR9+eIwJgVlJMwOdKWEE85Hl+HMVMo08BimoqX23RZDQfvgQ==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-data" "~29.1.33"
+
+"@syncfusion/ej2-dropdowns@~29.1.33", "@syncfusion/ej2-dropdowns@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-29.1.40.tgz#3db43f382eed81b68e5c5564f3c31e7424426d5b"
+ integrity sha512-ai1IWL82TlBSGYVEKyItxxeXVqSB1VagAvU4f7yA9j1k1BEvzUpo79U+Pt32rjW5EPacWaWHZsmUeMgfBrp+IA==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-lists" "~29.1.40"
+ "@syncfusion/ej2-navigations" "~29.1.40"
+ "@syncfusion/ej2-notifications" "~29.1.33"
+ "@syncfusion/ej2-popups" "~29.1.37"
+
+"@syncfusion/ej2-excel-export@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-excel-export/-/ej2-excel-export-29.1.33.tgz#b68c6702b86296b3dd2f062c1ed2bc1d10ca76cc"
+ integrity sha512-UOkX00nb45eTii+Y8kwsCn0Jkn+UBRwznF7l9d9MN9aIJ4zCg+AJ88V/SqASA7Y4+qtGR7I1f4b69Wr0uau0Zw==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+ "@syncfusion/ej2-compression" "~29.1.33"
+
+"@syncfusion/ej2-file-utils@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-file-utils/-/ej2-file-utils-29.1.33.tgz#821398f346e0bdf148fc6cd5ae5e2cdec9583158"
+ integrity sha512-RxHWK1Xk3Q1TP9XE93pWxwjheIygeeu6TkGvih8H7MQZUdr+igRYG65ii2OhFBAT26BndU7gtl3Jv5l+eZBNfA==
+
+"@syncfusion/ej2-filemanager@~29.1.39":
+ version "29.1.39"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-filemanager/-/ej2-filemanager-29.1.39.tgz#f6b8d841941d784c9ad9dd284ca104784fee1c64"
+ integrity sha512-vpZoKCmMwjyhI/hLLV+79bDoYT2B6FeleBGwhZc4jjEtZKK7Ddbs0aqNJ2WBjgET8Da1mZdT7bK5AaU1R8scsQ==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-grids" "~29.1.39"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-layouts" "~29.1.39"
+ "@syncfusion/ej2-lists" "~29.1.34"
+ "@syncfusion/ej2-navigations" "~29.1.38"
+ "@syncfusion/ej2-popups" "~29.1.37"
+ "@syncfusion/ej2-splitbuttons" "~29.1.33"
+
+"@syncfusion/ej2-grids@~29.1.39":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-grids/-/ej2-grids-29.1.40.tgz#e8f1ae106883474c5eadd046c0a818fe8d8df63c"
+ integrity sha512-zv6StTIP3Q66gjnY9/Oz5vPcknHXCCVaevKPfM350LMfqhFvfTOrE8mUi5bPOphx7XY+oizug7bm1EfIRUZaDA==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-calendars" "~29.1.40"
+ "@syncfusion/ej2-compression" "~29.1.33"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-dropdowns" "~29.1.40"
+ "@syncfusion/ej2-excel-export" "~29.1.33"
+ "@syncfusion/ej2-file-utils" "~29.1.33"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-lists" "~29.1.40"
+ "@syncfusion/ej2-navigations" "~29.1.40"
+ "@syncfusion/ej2-notifications" "~29.1.33"
+ "@syncfusion/ej2-pdf-export" "~29.1.40"
+ "@syncfusion/ej2-popups" "~29.1.37"
+ "@syncfusion/ej2-splitbuttons" "~29.1.33"
+
+"@syncfusion/ej2-icons@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-icons/-/ej2-icons-29.1.33.tgz#8ac6fc04dc31dbb20a2f20f753dada2e9ee2d6e5"
+ integrity sha512-kfhXGZ5QQAIkvqGdPXOnZCkPqKnyw0ieK74vfoFXv3UlJKLiSIAbkBxr8xOWn7k+FtlADDkGnOTAtIKUpyHBfQ==
+
+"@syncfusion/ej2-inplace-editor@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-inplace-editor/-/ej2-inplace-editor-29.1.33.tgz#95be3631efdf7a527c5a4105fa9eeecd48722fd0"
+ integrity sha512-Tl9fvHg1OMW4KwVkfLDLP3sCHKRRa9RvrK3VyVFCOIMvwcu3iHYn6NyHR3t2FvB5kSpKcxJ0OtUGIXMGP2RmhQ==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+ "@syncfusion/ej2-buttons" "~29.1.33"
+ "@syncfusion/ej2-calendars" "~29.1.33"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-dropdowns" "~29.1.33"
+ "@syncfusion/ej2-inputs" "~29.1.33"
+ "@syncfusion/ej2-lists" "~29.1.33"
+ "@syncfusion/ej2-navigations" "~29.1.33"
+ "@syncfusion/ej2-notifications" "~29.1.33"
+ "@syncfusion/ej2-popups" "~29.1.33"
+ "@syncfusion/ej2-richtexteditor" "~29.1.33"
+ "@syncfusion/ej2-splitbuttons" "~29.1.33"
+
+"@syncfusion/ej2-inputs@~29.1.33", "@syncfusion/ej2-inputs@~29.1.39":
+ version "29.1.39"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-inputs/-/ej2-inputs-29.1.39.tgz#a5c1a8a5fed9da88a3f9224a951c0ce3c2e4bddc"
+ integrity sha512-W9jPqWsms1IyhhRx4Z9nyT1GfZx58D7W4C4eiwgUiGTS3+D+ahdFcy/z3VqI0q56+Hekn2cfinnQxBttsgwy+w==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-popups" "~29.1.37"
+ "@syncfusion/ej2-splitbuttons" "~29.1.33"
+
+"@syncfusion/ej2-layouts@~29.1.39":
+ version "29.1.39"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-layouts/-/ej2-layouts-29.1.39.tgz#73478a212e9f912397a6ed522dfc2b89ef267fc1"
+ integrity sha512-32IlwaZ2UVbvCzO2JW7zibICbIRF7DVjkeyysxihl1N7RMo1+ahFKb8pAOx24qzj95A4sDcrnhYga/hw7E9tAg==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+
+"@syncfusion/ej2-lists@~29.1.33", "@syncfusion/ej2-lists@~29.1.34", "@syncfusion/ej2-lists@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-lists/-/ej2-lists-29.1.40.tgz#49c419db6d6757659df0c46d80b65d5cfa7a3be0"
+ integrity sha512-2fYtWa/HqPeaquP6aF4p/fghvOHTKwXv4t9JCCd/sNFpSdUmfVkVBIvXSyAVEiSRgofMg7cHlVgxKfjpSH++Fg==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-popups" "~29.1.37"
+
+"@syncfusion/ej2-navigations@~29.1.33", "@syncfusion/ej2-navigations@~29.1.38", "@syncfusion/ej2-navigations@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-navigations/-/ej2-navigations-29.1.40.tgz#4af9a223ee1dd25d8bf305bc1128d4e7db1f4785"
+ integrity sha512-AJfd1BHYi4USjgR+69CsIcj2ulRhGV0tfZ0kcuLhf+NLUTMhPB5ttKJHUKx1ABWAaDBt7Dt7Bd6zAqsC/cv/lA==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-lists" "~29.1.40"
+ "@syncfusion/ej2-popups" "~29.1.37"
+
+"@syncfusion/ej2-notifications@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-notifications/-/ej2-notifications-29.1.33.tgz#8f32f21148d7c66139349745311e89690f4f83f2"
+ integrity sha512-MNKwBHXlDeuvjn+BDeIc77Ei2PGm7egiKnIZoP4A93fxZCetaiqLLUbGOHHJYmvOPuL4OOifNXcKSrhMA6RcrQ==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+ "@syncfusion/ej2-buttons" "~29.1.33"
+ "@syncfusion/ej2-popups" "~29.1.33"
+
+"@syncfusion/ej2-pdf-export@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-pdf-export/-/ej2-pdf-export-29.1.40.tgz#3580a0ce520a90534230f83c5901f622b8ffacd1"
+ integrity sha512-LCfbVuQOhw1JDLEjpWA4Ez//5pei5g36X0Wq4xiMgdWGYf1TloU0LtfbgTc56nXZhCKYJ3a3yhyD9s/SJ6DJwg==
+ dependencies:
+ "@syncfusion/ej2-compression" "~29.1.33"
+
+"@syncfusion/ej2-pdf@~29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-pdf/-/ej2-pdf-29.1.40.tgz#f7ec7612f536851b3a895b485ea5d7e767840984"
+ integrity sha512-cHdHA3yodqtSJs97Bernth3zcQoT3x79roV+dVBUI9wip80IFjpq28zARmbjcCkrIvBfvN9/Ushg3rgybRWEgw==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-compression" "~29.1.33"
+
+"@syncfusion/ej2-pdfviewer@29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-pdfviewer/-/ej2-pdfviewer-29.1.40.tgz#1a2624ee65d6de7619ea49e1602ced0cceb4b872"
+ integrity sha512-IGNKUi+V8hEMDfnbOq0QkFtbx4rQIgv4wrvp04QARtyvx4PDOxi9xsiAIaQOEBQT3Sku5oJHXX1sDde9yZRfYw==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-data" "~29.1.33"
+ "@syncfusion/ej2-drawings" "~29.1.40"
+ "@syncfusion/ej2-dropdowns" "~29.1.40"
+ "@syncfusion/ej2-inplace-editor" "~29.1.33"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-lists" "~29.1.40"
+ "@syncfusion/ej2-navigations" "~29.1.40"
+ "@syncfusion/ej2-notifications" "~29.1.33"
+ "@syncfusion/ej2-pdf" "~29.1.40"
+ "@syncfusion/ej2-popups" "~29.1.37"
+
+"@syncfusion/ej2-popups@~29.1.33", "@syncfusion/ej2-popups@~29.1.37":
+ version "29.1.37"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-popups/-/ej2-popups-29.1.37.tgz#965f3888b36345afb953c824f21b994017111e8f"
+ integrity sha512-0LAqQeYVu+eOu21ZXWkjycej4gOgfuR9A2Zm+GsgF+jskvL6ev47hCHg60zjlt9dowHPGJimz2ksKLDulyP64A==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+
+"@syncfusion/ej2-richtexteditor@~29.1.33":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-29.1.40.tgz#7f12a65253c36725cbbd743c52ee4b56e27bef1e"
+ integrity sha512-hm/TL8tiowQ0GDjb7RR3BBxX3ChM6ygtb2Him0wyunEx8hQVnI9wzmC1b+p/MBywF22x6KSzhtXPxZIYzgRe8w==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-buttons" "~29.1.34"
+ "@syncfusion/ej2-dropdowns" "~29.1.40"
+ "@syncfusion/ej2-filemanager" "~29.1.39"
+ "@syncfusion/ej2-inputs" "~29.1.39"
+ "@syncfusion/ej2-navigations" "~29.1.40"
+ "@syncfusion/ej2-popups" "~29.1.37"
+ "@syncfusion/ej2-splitbuttons" "~29.1.33"
+
+"@syncfusion/ej2-splitbuttons@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-splitbuttons/-/ej2-splitbuttons-29.1.33.tgz#595b9ef4de78462e1d9c609b1e91b700a050bbcd"
+ integrity sha512-ScZpb7fiBOd/55AkpFZPvcFrTs6MiEkUFtH8vtqrV1G9cmgCJ8zl+6QbJjAtCOsWYEWPA70Qh5JKppMXJWkhGw==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+ "@syncfusion/ej2-popups" "~29.1.33"
+
+"@syncfusion/ej2-vue-base@~29.1.33":
+ version "29.1.33"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-vue-base/-/ej2-vue-base-29.1.33.tgz#e75be00a529eed5f2fdc888fba100a53e43f40ea"
+ integrity sha512-XnvgVioEejFL8aHJ1V0/kYd7ikE5tCHHcQSkiu38vyPRylg2ZwmidXWJT61d3LIjHc/f817mkQQUqfK8kbwVoQ==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.33"
+
+"@syncfusion/ej2-vue-pdfviewer@^29.1.40":
+ version "29.1.40"
+ resolved "https://registry.yarnpkg.com/@syncfusion/ej2-vue-pdfviewer/-/ej2-vue-pdfviewer-29.1.40.tgz#9db58414836c30366b65e21723e93557d7ebe820"
+ integrity sha512-QHOmuxEzQD1P2LYFpFODne2zfjejFx2k1KI9HfnRWMXj99X96zf4+0DK6fjlP5B9mWo+MuGqsHJ/7Vv3ArMOAw==
+ dependencies:
+ "@syncfusion/ej2-base" "~29.1.36"
+ "@syncfusion/ej2-pdfviewer" "29.1.40"
+ "@syncfusion/ej2-vue-base" "~29.1.33"
+
"@szmarczak/http-timer@^4.0.5":
version "4.0.6"
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807"
|