Apertura Scheda (Tab) Generica

Una generica scheda (aka tab) di Geoweb può essere aperta invocando la generica function openTab() con il corretto set di argomenti. Essa può essere usata direttamente, ma è anche invocata internamente a tutte le function semplificate che aprono schede di tipi specifici usando un minore set di parametri o settandone alcuni default.

Ad ogni tab viene assegnato, in fase di prima apertura, un id univoco (tabWidgetId) (dojo si assicura con non possa essere usato più volte). Esso è rilevante, in quanto, in caso di successive invocazioni della function openTab(), con lo stesso tabWidgetId, Geoweb in caso trovasse già aperta una scheda con lo stesso identificativo, la ri-porterebbe semplicemente in primo piano (Anche se esistono parametri per forzare refresh/reload). E' buona prassi generare tabWidgetId utilizzando l'apposita function createTabId(/*String*/ tabWidgetType, /*String*/ name). Essa prende in ingresso tabWidgetType come primo parametro e una caratteristica identificativa del tipo di scheda che si vuole aprire (Es: per una scheda con tabWidgetType='gwClassList', tabWidgetId è rappresentato dal nome della gwClass).

//tabWidgetId creation
var tabWidgetType = 'gwClassList';
var name = 'gw_class_Name';
var tabWidgetId = createTabId(tabWidgetType, name);

La funzione restituisce il widget dojo che di fatto rappresenta la scheda aperta, e che può esporre tutte le API generali (come gwRefresh(), gwReload(), etc..), se implementate, e API specifiche, che dipendono di volta in volta dalla tipologia di scheda.

La funzione assume comportamenti differenti a seconda del tipo di progetto dove viene eseguita. Nei progetti di tipo GeoManager essa apre una scheda nel contenitore di tab principale. Nei progetti di tipo GeoExplorer essa apre il contenuto della scheda nel contenitore comune posto sotto le schede di tipo mappa (per ottenere lo stesso comportamento del GeoManager vedi la function openMainTab()).

Parametri

Esempio

var tabWidgetType = 'gwClassList';
var name = 'gw_class_Name';
var tabWidgetId = createTabId(tabWidgetType, name);
var tabWidgetTitle = 'Title';
var parametersMap = {
    forceReplaceTab: true
    //...
};
var insertIndex = null;
var tabWidget = openTab(tabWidgetId, tabWidgetType, tabWidgetTitle, parametersMap, insertIndex);
//tabWidget holds all exposed functions