Ui サービスのデッキ パネルに関連する GAS のドキュメントを読んだ後、デッキ パネルに要素を追加すると非表示になり、要素を削除すると再び表示されることがわかりました。テスト コードをいくつか書きましたが、デッキ パネルからパネルを削除したときに、パネルを表示することができません。洞察はありますか?
コードは次のとおりです。
function doGet() {
var app = UiApp.createApplication();
var globalPan = app.createAbsolutePanel();
app.add(globalPan);
var deckPanel = app.createDeckPanel().setId('deck').setSize(300, 300).setTitle('DeckPanel').setAnimationEnabled(true);
globalPan.add(deckPanel);
globalPan.add(app.createHorizontalPanel().add(app.createLabel('Element to add to DeckPanel')).setId('visiblePan'));
var hidden = app.createHidden('hEl', 'visible').setId('hEl').setName('hEl');
app.add(hidden);
app.add(app.createButton('Add to DeckPanel').setId('button').addClickHandler(app.createServerHandler('handlerFunction').addCallbackElement(hidden)));
return app;
}
function handlerFunction(eventInfo) {
var app = UiApp.getActiveApplication();
var parameter = eventInfo.parameter;
var state = parameter.hEl;
if (state == 'visible'){
app.getElementById('deck').add(app.getElementById('visiblePan'));
app.getElementById("button").setText("Remove from DeckPanel");
app.getElementById('hEl').setValue('hidden');
};
else{
app.getElementById('deck').remove(0);
app.getElementById("button").setText("Add to DeckPanel");
app.getElementById('hEl').setValue('visible');
};
return app;
}