- Cataloghi: parte finale... prima bozza 9 dic

This commit is contained in:
Surya Paolo
2024-12-09 12:32:19 +01:00
parent 5c20e75b6a
commit 29c59588c7
33 changed files with 1009 additions and 397 deletions

View File

@@ -1,31 +1,51 @@
import { PropType, defineComponent } from 'vue'
import { PropType, defineComponent, ref, watch } from 'vue'
import { Catalogo } from '@src/views/ecommerce'
import { Catalogo } from '@src/views/ecommerce/catalogo'
import { ICatalogo } from '@src/model'
export default defineComponent({
name: 'CCatalogo',
components: { Catalogo },
emits: ['update:modelValue', 'updateCatalogo'],
props: {
// add options ICatalogo
optcatalogo: {
modelValue: {
type: Object as PropType<ICatalogo>,
required: false,
default: () => ({
//++AddCATALOGO_FIELDS
productTypes: [],
excludeproductTypes: [],
formato: [],
Categoria: [],
Editore: [],
pdf: false,
}),
required: true,
},
},
setup(props) {
setup(props, { emit }) {
// Crea una copia locale reattiva di modelValue
const localCatalogo = ref<ICatalogo>({ ...props.modelValue });
// Watcher per sincronizzare le modifiche di modelValue
watch(() => props.modelValue, (newVal) => {
localCatalogo.value = { ...newVal };
// updateCatalogoPadre()
}, { deep: true });
function updateCatalogoPadre() {
emit('update:modelValue', localCatalogo.value);
emit('updateCatalogo', localCatalogo.value);
}
// Metodo per aggiornare il valore del catalogo
const updateCatalogo = (updatedCatalogo: ICatalogo) => {
localCatalogo.value = updatedCatalogo; // Aggiorna la copia locale
updateCatalogoPadre()
};
function updateCatalogoEmit(updatedCatalogo: ICatalogo) {
console.log('updateCatalogoEmit')
localCatalogo.value = updatedCatalogo; // Aggiorna la copia locale
updateCatalogoPadre()
}
return {
}
localCatalogo,
updateCatalogoEmit,
};
}
})