I would like to add an array of elements in cardservice section "additem". I'm not familiar with cardservice.
function myFunction() {
var action = CardService.newAction().setFunctionName('notificationCallback');
var pratiche =["ciaone","ciao","ciao2","ciao3"]
return CardService
.newCardBuilder()
.setHeader(
CardService.newCardHeader()
.setTitle('Elenco operazioni rapide')
.setSubtitle('Inserisci rapidamente gli eventi con questi tasti'))
.addSection(
CardService.newCardSection()
.addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.DROPDOWN)
.setTitle("A group of checkboxes. Multiple selections are allowed.")
.setFieldName("CLIENTI")
.addItem(pratiche, "checkbox_one_value", false)
.setOnChangeAction(CardService.newAction().setFunctionName('notificationCallback')))
.addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.DROPDOWN)
.setTitle("A group of checkboxes. Multiple selections are allowed.")
.setFieldName("PRATICHE")
.addItem("Elenco clienti2", "checkbox_two_value", false)
.setOnChangeAction(CardService.newAction().setFunctionName('inseriscievento')))
.addWidget(CardService.newTextButton().setText('Telefonata').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action))
.addWidget(CardService.newTextButton().setText('Incontro').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action)))
.build();
}
Peraphs it is easy, but...not runs. I've tried also pratiche[]...not runs...I also thought to insert a for cycle for additem, but it's not run.
item
If you want to use checkboxes instead of a dropdown - please use CardService.SelectionInputType.CHECK_BOX
instead of
CardService.SelectionInputType.DROPDOWN
function myFunction() {
var action = CardService.newAction().setFunctionName('notificationCallback');
var pratiche =["ciaone","ciao","ciao2","ciao3"]
return CardService
.newCardBuilder()
.setHeader(
CardService.newCardHeader()
.setTitle('Elenco operazioni rapide')
.setSubtitle('Inserisci rapidamente gli eventi con questi tasti'))
.addSection(
CardService.newCardSection()
.addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.CHECK_BOX)
.setTitle("A group of checkboxes. Multiple selections are allowed.")
.setFieldName("CLIENTI")
.addItem(pratiche[0], "checkbox_one_value", false)
.addItem(pratiche[1], "checkbox_one_value", false)
.addItem(pratiche[2], "checkbox_one_value", false)
.addItem(pratiche[3], "checkbox_one_value", false)
.setOnChangeAction(CardService.newAction().setFunctionName('notificationCallback')))
.addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.DROPDOWN)
.setTitle("A group of checkboxes. Multiple selections are allowed.")
.setFieldName("PRATICHE")
.addItem("Elenco clienti2", "checkbox_two_value", false)
.setOnChangeAction(CardService.newAction().setFunctionName('inseriscievento')))
.addWidget(CardService.newTextButton().setText('Telefonata').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action))
.addWidget(CardService.newTextButton().setText('Incontro').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action)))
.build();
}
You can also do it with a loop:
var widget = CardService.newSelectionInput()
widget.setType(CardService.SelectionInputType.CHECK_BOX)
.setTitle("A group of checkboxes. Multiple selections are allowed.")
.setFieldName("CLIENTI")
.setOnChangeAction(CardService.newAction().setFunctionName('notificationCallback'))
for(var i = 0; i < pratiche.length; i++){
widget.addItem(pratiche[i], "checkbox_one_value", false)
}
return CardService
.newCardBuilder()
.setHeader(
CardService.newCardHeader()
.setTitle('Elenco operazioni rapide')
.setSubtitle('Inserisci rapidamente gli eventi con questi tasti'))
.addSection(
CardService.newCardSection()
.addWidget(widget)
...
).build();