ユーザーに2つの変数を要求するUIを開こうとしています.「OK」でUIを閉じ、その2つの変数をパラメータとして関数を実行します...
私の問題は、UI が開いたままになり、UI が開くまでサーバー ハンドラのコードがループで実行されることです。コードにループが見られない場合、UI を使用せずに同じ関数を直接実行すると、うまくいっています... ハンドラーに何か不足がありますか?
function doGet() {
var app = UiApp.createApplication();
var mygrid = app.createGrid(3, 2);
mygrid.setWidget(0, 0, app.createLabel('Date de début:'));
mygrid.setWidget(0, 1, app.createDateBox().setId('dateA'));
mygrid.setWidget(1, 0, app.createLabel('Date de fin:'));
mygrid.setWidget(1, 1, app.createDateBox().setId('dateB'));
var mybutton = app.createButton('OK');
mybutton.setId("mybutton");
var mypanel = app.createVerticalPanel();
mypanel.setId('mypanel');
mypanel.add(mygrid);
mypanel.add(mybutton);
app.add(mypanel);
var handler = app.createServerHandler('summaryOnDemand');
handler.addCallbackElement(mypanel);
mybutton.addClickHandler(handler);
return app;
}
function summaryOnDemand(e) {
var app = UiApp.getActiveApplication();
var dateA = e.parameter.dateA;
var dateB = e.parameter.dateB;
var panel = app.getElementById('mypanel');
panel.setVisible(false);
app.close();
// var mydoc = SpreadsheetApp.openById("0AiK_IybPWcGcdEV5V2JQUHhtUHp1dEhEN3NuQjdrVWc");
var file = summary(dateA,dateB,true);
var folder = DocsList.getFolderById("0ByK_IybPWcGcX1lUTlRET0dQVXc");
file.addToFolder(folder);
MailApp.sendEmail(Session.getActiveUser().getEmail(),"Rapport réclamation à la demande","Le document ce trouve dans google drive à présent, pour y accéder directement : " + file.getUrl())
return app;
}