Pagina 1 di 1

Come aprire una nuova tab di un menù via php/javascript

Inviato: 14 mar 2020, 15:51
da Vincenzo
Mi è capitato, quando utilizzo un menù che apre le applicazioni come tab, di voler aprire una nuova tab con un'applicazione ma non potendo usare il link standard di SC.
Guardando il codice ho visto che funzione chiamare per farlo in javascript, quindi per esempio se in una grid ho un campo di testo che voglio trasformare come link ad altra applicazione ma come nuovo tab del menù potrò fare:

nell'evento onScriptInit metto il codice della funzione javascript, in questo caso l'unico parametro è l'id della missione.

Codice: Seleziona tutto

?>

<script type="text/javascript" >
function aprimissione( idmissione )
{
	var func_menu_aba = null;
	var padre = null; 
	
	padre = window.top;
	if ( padre ) {
		eval ("func_menu_aba = padre.createIframe");
	}	
	
	if ( typeof func_menu_aba === 'function' ) {
		
        func_menu_aba('Missioni', 'Missioni', '', '','', '../form_missioni?idesterna_missione='+idmissione , 'form');
 				
	} else {
		window.open( '../form_missioni?idesterna_missione='+idmissione );	
	}
	
}
	
</script>

<?PHP
nell'evento OnRecord trasformo il campo testo dell'idmissione in un link passando l'id stesso come parametro:

Codice: Seleziona tutto

{idmissione} = "<a href=\"javascript:aprimissione('{idmissione}');\" class=\"scGridFieldOddLink\" >{idmissione}</a>";
la funzione js non fa altro che prendere la finestra top (se c'è il menù aperto è quella) e prendo il puntatore alla funzione createIframe, se è una funzione allora è il menù e quindi chiamo quella funzione per creare il nuovo tab con i vari parametri, altrimenti apre il link con una banale nuova finestra del browser.

Cosa significano i vari parametri della funzione:

Codice: Seleziona tutto

 function createIframe(str_id, str_label, str_hint, str_img_on, str_img_off, str_link, tp_apl)
str_id: stringa che identifica il tab, se si apre un tab con un certo id, se si chiama la funzione con lo stesso id, viene rimpiazzato il link dello stesso tab
str_label: testo che deve comparire come titolo del tab
str_hint: Testo di suggerimento quando si mette il cursore sul titolo del tab
str_img_on: filename dell'immagine quando il tab è attivo
str_img_off: filename dell'immagine quando il tab è non attivo
str_link: url dell'iframe dell'applicazione o altro che voglio visualizzare (comprensivo di eventuali parametri dopo ?)
tp_apl: tipo applicazione (es form, grid), serve nel caso non si specificano le immagini attivo/disattivo per selezionare le immagini, se non vengono specificate le immagini e tp_apl è vuoto l'icona che viene presa è quella si SC.

Spero vi possa essere utile.

Re: Come aprire una nuova tab di un menù via php/javascript

Inviato: 17 mar 2020, 12:01
da admin
Molto utile,
si potrebbe usare il tuo post per inaugurare la sezione no_spam_please.
Che ne pensi?

Re: Come aprire una nuova tab di un menù via php/javascript

Inviato: 17 mar 2020, 21:29
da Vincenzo
admin ha scritto: 17 mar 2020, 12:01 Molto utile,
si potrebbe usare il tuo post per inaugurare la sezione no_spam_please.
Che ne pensi?
non so cosa sia una sezione no_spam_please. :mrgreen:

Re: Come aprire una nuova tab di un menù via php/javascript

Inviato: 19 mar 2020, 11:16
da Vincenzo
Una cosa mi son dimenticato di scrivere, ho fatto la funzione guardando il codice esistente, prodotto da SC, non essendo documentata ufficialmente, se un giorno in SC cambiano qualcosa, potrebbe smettere di funzionare, ma fino ad allora... ;)