Closed nippur72 closed 9 years ago
Ho modificato PortentoMenuReader.pc
, adesso legge anche i menu esterni .menu
.
E' necessario però che i menu esterni abbiano una codifica che non vada in conflitto col menu padre (per questo motivo "gradoacolico" chiama invece "anagrafe" poichè hanno entrambi codice nodo 0001
).
@mariocarmelo puoi corregere la codifica del menu cosi chiudiamo questo ticket?
??? Con 0001 il menù chiamato con il gestore funziona con desktop no. Comunque ho sostituito 0001 con 7801 in quanto il nodo padre chiamante è il 7800. Ma attenzione devo scrivere 7801,, perchè se scrivo: 7801,7800 - come sarebbe giusto - il gestore si blocca segnalando errore nel riferimento.
si è giusto che il nodo padre resti vuoto, poichè il menu si può intendere anche come menu "singolo" e la convenzione è che il nodo radice non abbia padre.
Il PortentoMenuReader.pc
si basa infatti su questo per trovare la radice e collegarla al menu chiamante come sotto-menu:
var TrovaRadice(m)
{
foreach(nodo in m)
{
if(nodo["padre"].Trim().IsEmpty) return nodo;
}
throw "nodo radice non trovato";
}
riguardo al menù del gestore, funziona perchè il menu viene gestito diversamente. Ogni nodo viene aperto e espanso solo quando ci si clicca sopra, mentre in desktop viene sviluppato l'intero menu all'inizio.
Probabilmente, nel menu del gestore, se cliccassi su anagrafe e poi aprissi il menu esterno darebbe errore.
come da mail di @mariocarmelo : non è prevista, contrariamente al gestore, il caricamento di eventuali menù al posto dei pbin.
Infatti da desktop non funziona il rigo con codice
7800
di Portento.Net.menu.