Avevo una situazione di questo tipo:
Pagina con dentro un Panel con dentro una Modale con dentro un Panel. Premendo un tasto di SAVE, dovevo chiudere la modale e mostrare nel feedback panel della pagina, un messaggio di avvertimento all'utente che l'operazione era andata a buon fine.
Per farlo serve un metodo getFeedBackPanel() da dare alla Page e che ritorna l'oggetto.
A questo punto usiamo questo codice:
FeedbackPanel feedbackPadre = ((ProtectedPage) findPage()).getFeedBackPanel(); feedbackPadre.info("Scrivo qualcosa"); target.addComponent(feedbackPadre);
Come vediamo, uso findPage() per trovare un oggetto di tipo Page (o suo figli) a ritroso nella gerarchia indipendentemente dalla profondità. La devo ovviamente castare alla pagina effettiva che mi aspetto (nel mio caso ProtectedPage) e quindi richiamare il nostro FeedbackPanel.
Poi in maniera classica, ci scrivo qualcosa dentro e quindi lo aggancio all'evento Ajax.
Nessun commento:
Posta un commento