- Assegnazione di linkIdTemplate anche per la "Pagina di Default", in modo che posso da "Templates" cambiare le impostazioni.
This commit is contained in:
@@ -17,6 +17,9 @@ mongoose.plugin(schema => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const IElementiPagina = new Schema({
|
const IElementiPagina = new Schema({
|
||||||
|
isTemplate: Boolean,
|
||||||
|
linkIdTemplate: String,
|
||||||
|
name: String,
|
||||||
pagina: IDimensioni,
|
pagina: IDimensioni,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -422,6 +425,18 @@ async function deleteOldMyElems(idapp) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trova tutte le schede template associate a pagine di idapp.
|
||||||
|
* Restituisce un array di oggetti con le seguenti proprietà:
|
||||||
|
* - scheda: l'oggetto scheda, con proprietà come _id, name, isTemplate
|
||||||
|
* - idPageOrig: l'idPage originale associata alla scheda
|
||||||
|
*
|
||||||
|
* Se idapp === '18', stampa i duplicati e i titoli delle pagine
|
||||||
|
* e cancella i documenti di MyElem con idPage non esistenti in MyPage
|
||||||
|
*
|
||||||
|
* @param {string} idapp ID dell'applicazione
|
||||||
|
* @returns {Promise<IMyElemTemplate[]>} Array di oggetti scheda con idPageOrig
|
||||||
|
*/
|
||||||
MyElemSchema.statics.findallSchedeTemplate = async function (idapp) {
|
MyElemSchema.statics.findallSchedeTemplate = async function (idapp) {
|
||||||
const MyElem = this;
|
const MyElem = this;
|
||||||
|
|
||||||
@@ -490,12 +505,21 @@ MyElemSchema.statics.findallSchedeTemplate = async function (idapp) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Ricerca tra tutte le schede, contenute in catalogo, se esiste un nome di template uguale,
|
/**
|
||||||
// se non lo trova allora è quello giusto per crearne uno nuovo
|
* Ricerca tra tutte le schede, contenute in catalogo, se esiste un nome di template uguale,
|
||||||
|
* se non lo trova allora è quello giusto per crearne uno nuovo
|
||||||
|
*
|
||||||
|
* @param {string} idapp - ID dell'app
|
||||||
|
* @param {string} idPageOrig - ID della pagina originale
|
||||||
|
* @param {string} nomeTemplate - Nome del template
|
||||||
|
*
|
||||||
|
* @returns {string} Il nome del template libero
|
||||||
|
*/
|
||||||
MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig, nomeTemplate) {
|
MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig, nomeTemplate) {
|
||||||
const MyElem = this;
|
const MyElem = this;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// Trova tutti gli elementi che hanno un template con lo stesso nome
|
||||||
const ris = await MyElem.find(
|
const ris = await MyElem.find(
|
||||||
{
|
{
|
||||||
idapp,
|
idapp,
|
||||||
@@ -509,6 +533,7 @@ MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig,
|
|||||||
'catalogo.arrSchede.scheda.idPage': 1
|
'catalogo.arrSchede.scheda.idPage': 1
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Recupera i nomi dei template già esistenti
|
||||||
const existingNames = new Set(
|
const existingNames = new Set(
|
||||||
ris.flatMap(elem =>
|
ris.flatMap(elem =>
|
||||||
elem.catalogo?.arrSchede?.filter(scheda =>
|
elem.catalogo?.arrSchede?.filter(scheda =>
|
||||||
@@ -519,6 +544,7 @@ MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig,
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Crea un nuovo nome di template univoco
|
||||||
let ind = 2;
|
let ind = 2;
|
||||||
let newNameTemplate;
|
let newNameTemplate;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user