La presentación de la Cumbre del Descubrimiento Un panel filtrable con varias pestañas presenta un script universal para generar un panel con varias pestañas.Estoy usando una copia de este script (que se muestra a continuación) para combinar una serie de paneles en un panel con varias pestañas. Sin embargo, el script desarma todos los paneles y los combina nuevamente 1 por 1 o 2 por 2. Entonces, un tablero original con dos gráficos, uno encima del otro, se convierte en un tablero con los dos gráficos uno al lado del otro.
Lo que necesitaría es una secuencia de comandos que tome todos los paneles abiertos y los combine sin alterar la configuración de los paneles. ¿Alguna sugerencia sobre cómo cambiar el siguiente script o empezar desde cero?
///////////////////////////////// Create Tabbed Dashboard //////////////////////////////////////////////////
wait( 2 );
dashes = Find All(Reports);
tb = Expr(Tab Box());
For(i = 1, i<= N Items(dashes), i ++,
tabPage = Expr(Tab Page Box());
dfcb = Expr(Data Filter Context Box());
lub = Expr(Line Up Box(N Col(2)));
hlb = Expr(H List Box());
//Get Data table name to use with the data filter
wintitle = dashes[i] << Get Window Title;
wordone = Word(1, wintitle, "-");
wordtwo = Word(2, wintitle, "-");
dtname = Substr(wordone, 1, Length(wordone)-1 );
dt = Eval Expr(Data Table(Expr(dtName)));
//Get dashboard name
dashName = Substr(wordtwo, 2);
failed = 0;
j = 1;
//Loop through the tab page boxes in the dashboard, and extract the scripts
While(failed ==0,
Try(tpb = dashes[i] << Find(TabPageBox(j)),
failed = 1; Continue();
);
//Try to get the script from the display box if it exisits
Try(obj = tpb << Get Scriptable Object;
script = obj << Get Script,
j ++; Continue();
);
//If the script is for the local data filter add the script to the H List Box
If(Char(Head(Name Expr(script))) == "Data Filter",
FilterExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
FilterExpr = Parse(FilterExprStr);
Insert Into(hlb,NameExpr(FilterExpr));
,
//Else add it to the lineup box
If( Char(Name Expr(script)) != "Scriptable[]",
reportExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
reportExpr = Parse(reportExprStr);
scrollbox = Expr(Scroll Box());
Insert Into(scrollbox, Name Expr(reportExpr));
Insert Into(lub,Name Expr(scrollbox));
);
);
j ++;
);
//Build up the display boxes
Insert Into(hlb, Name Expr(lub));
Insert Into(dfcb, Name Expr(hlb));
Insert Into(tabPage, Eval Expr(Title(Expr(dashName))), 1);
Insert Into(tabPage, Name Expr(dfcb), 2);
Insert Into(tb, Name Expr(tabPage));
);
//Create combined dashboard window
New Window("Combined Dashboard", tb);
//Close all the individual dash reports
For( w = 1, w <= N Items(dashes), w ++,
dashes[w] << Close Window;
);