This is a Workspace Add-on which is using a
card to build the sidebar.
Is it possible to refresh the sidebar card when a new sheet is added or deleted? My script run without error except it doesn't update the sidebar card.
The sample code below does the following:
1. Create an Installable Event-trigger
onChange2. Display 'hello' text in sidebar card
3. When new sheet is created
4. It executes the myOnChange() function but does not refresh the sidebar.
Expected output should display "hi" text in the sidebar card.
function onHomepage() {
createOnChangeTrigger();
return greetCard('hello');
}
function createOnChangeTrigger() {
const triggers = ScriptApp.getUserTriggers(SpreadsheetApp.getActiveSpreadsheet());
if (triggers.length > 0) {
return;
}
ScriptApp.newTrigger('myOnChange')
.forSpreadsheet(SpreadsheetApp.getActive())
.onChange()
.create();
}
function myOnChange() {
const card = greetCard('hi');
const newcard = CardService.newNavigation()
.popToRoot()
.pushCard(card))
return CardService.newActionResponseBuilder()
.setNavigation(newcard)
.build();
}
function greetCard(text) {
Logger.log('greet: %s', text)
let content = CardService.newDecoratedText().setText(text);
let section = CardService.newCardSection().addWidget(content);
return CardService.newCardBuilder()
.addSection(section)
.build();
}
Does Installable triggers run on a different context that's why it can't update the card?
Thanks