Dont know why return unexpected error ocurred:
I am trying to edit a caption panel but if i make “return app”, error appears.
My function panel Admin creates my Captionpanel and my function createActivatePanelAdmin gets the caption panel and try to edit the content becouse if one itembar is selected the content of Caption Panel must change.
function panelAdmin(){
var app = UiApp.getActiveApplication();
var ss = SpreadsheetApp.openById(LOGS_SHEET_ID);
var verticalPanelAdmin = app.createVerticalPanel().setId("verticalPanelAdmin");
var mainPanelIndex = app.createCaptionPanel().setText("Index");
var menuBar = app.createMenuBar().setId("menuBar").setAnimationEnabled(true);//For vertical menubar(true)
var hdPanelAdminIndex = app.createServerHandler("createPanelAdminIndex").addCallbackElement(mainPanelIndex);
var hdPanelCreateUserPanel = app.createServerHandler("createUserPanelAdmin").addCallbackElement(mainPanelIndex);
var hdPanelActive = app.createServerHandler("createActivatePanelAdmin").addCallbackElement(mainPanelIndex);
var hdPanelDeleteUserPanel = app.createServerHandler("deleteUserPanel").addCallbackElement(mainPanelIndex);
var hdPanelSearchUserPanel = app.createServerHandler("searchUserPanel").addCallbackElement(mainPanelIndex);
var hdPanelExitUserPanel = app.createServerHandler("ExitUserPanel").addCallbackElement(mainPanelIndex);
var menuItem0 = app.createMenuItem('Inicio ', hdPanelAdminIndex);
var menuItem1 = app.createMenuItem('Crear Usuarios', hdPanelCreateUserPanel);
var menuItem2 = app.createMenuItem('Activar Usuarios', hdPanelActive);
var menuItem3 = app.createMenuItem('Borrar Usuarios', hdPanelDeleteUserPanel);
var menuItem4 = app.createMenuItem('Buscar', hdPanelSearchUserPanel);
var menuItem5 = app.createMenuItem('Salir', hdPanelExitUserPanel);
//top level menu items
//create menuItem separators
var separator0 = app.createMenuItemSeparator();
var separator1 = app.createMenuItemSeparator();
var separator2 = app.createMenuItemSeparator();
var separator3 = app.createMenuItemSeparator();
var separator4 = app.createMenuItemSeparator();
var separator5 = app.createMenuItemSeparator();
//Add the menu item separators and menuItem to the MenuBar
menuBar.addSeparator(separator0).addItem(menuItem0).addSeparator(separator1)
.addItem(menuItem1).addSeparator(separator2)
.addItem(menuItem2).addSeparator(separator3)
.addItem(menuItem3).addSeparator(separator4)
.addItem(menuItem4).addSeparator(separator5)
.addItem(menuItem5).addSeparator(separator0);
verticalPanelAdmin.add(menuBar);
verticalPanelAdmin.add(mainPanelIndex);
app.add(verticalPanelAdmin);
return app;
};
function createActivatePanelAdmin(){
var ss = SpreadsheetApp.openById(LOGS_SHEET_ID);
var app = UiApp.getActiveApplication();
var verticalPanelAdmin = app.getElementById("verticalPanelAdmin");
var menuBar = app.getElementById("menuBar");
var mainPanelIndex = app.getElementById("mainPanelIndex");
mainPanelIndex.setText("Sistema de creación de usuarios");
var mainPanelActivateAdmin = app.createHorizontalPanel().setId("mainPanelActivateAdmin");
/*FROM HERE WORKS CORRECTLY (TESTED)*/
var lastCol = ss.getLastColumn();
var rowsToConfirm = confirmReg();
var lastRow = numRows(rowsToConfirm);
if (rowsToConfirm != null){
var flexTableRegAdmin = app.createFlexTable().setId("flexTableRegAdmin").setBorderWidth(1);
flexTableRegAdmin.setText(0, 0, "ID");
flexTableRegAdmin.setText(0, 1, "NOMBRE");
flexTableRegAdmin.setText(0, 2, "PASS");
flexTableRegAdmin.setText(0, 3, "EMAIL");
flexTableRegAdmin.setText(0, 4, "ESTADO");
flexTableRegAdmin.setText(0, 5, "ACTIVAR");
var check = new Array(lastRow);
for(var r = 0; r < lastRow; r++){
for(var c = 0; c < lastCol; c++){
var text = rowsToConfirm[r][c].toString();
flexTableRegAdmin.setText(r+1, c, text);
}
var id = rowsToConfirm[r][0];
check[r] = app.createCheckBox().setName("chk_"+id).setId("chk_"+id);
flexTableRegAdmin.setWidget(r+1, lastCol, check[r]);
}//end fors
}//end if
var botMod = app.createButton().setText("Activar").setId("botStatus");
var botHandle = app.createServerHandler("changeStatus").addCallbackElement(mainPanelActivateAdmin);
botMod.addClickHandler(botHandle);
/*TO HERE*/
mainPanelActivateAdmin.add(flexTableRegAdmin);
mainPanelActivateAdmin.add(botMod);
mainPanelIndex.add(mainPanelActivateAdmin);
return app;
};
**Thanks for help! AND I have to say that the flextable is ok, i builded it in other site so don’t spend your time trying to see if the error is in Flextable or botton_send **
THE PROBLEM IS IN PANELS (I tried to clear code)

EDIT: (I am only trying to remove the captionPanel and i can’t. Unexpected error)
function createActivatePanelAdmin(){
var app = UiApp.getActiveApplication();
var verticalPanelAdmin = app.getElementById("verticalPanelAdmin");
var mainPanelIndex = app.getElementById("mainPanelIndex");
verticalPanelAdmin.remove(mainPanelIndex);
return app;
};
I agree with Waqar, your code is not testable since it calls variables defined outside of it.
These errors occurs often when you try to get by ID something with the wrong ID (ie an id that doesn’t exist), so I’d recommend you dubble check every ID of every panel and widgets you use, there might be a typo somewhere…
EDIT : there is one error I think I (maybe) found :
in the first part of the code you wrote :
and in the second function you call this panel with :
The ID’s are different… is that normal ?
EDIT 2 : also a problem here … First function :
and then you call it with
try it and keep checking yourself also please…