Как отключить навигацию с помощью UniversalAction

Я создаю надстройку с кнопкой выхода. Эта кнопка выхода является универсальным действием. Насколько я смог сделать, это привязанная функция к этой кнопке:

function logout(e) {
  ...
  resetOAuth();

  return CardService
      .newUniversalActionResponseBuilder()
      .displayAddOnCards([buildAddOn(e)])
      .build();
}

Проблема в том, что новая карта рендерит навигацию. Итак, на экране отображается «кнопка возврата». Я не мог сделать это по-другому. Насколько я мог проверить, надстройка Trello и многие другие надстройки отображают простую карту, когда применяется выход из системы, без кнопки навигации «назад».

Что еще мне нужно попробовать? Как я могу избежать навигации по универсальному действию?


person Javier Sorella    schedule 03.12.2018    source источник


Ответы (2)


Используйте CardAction вместо UniversalAction, таким образом вы сможете избежать кнопки «Назад»:

function sidebarTrigger () {
  return isUserLoggedIn() ?  renderProfile() : loginCard()
}


function renderProfile() {
  const card = CardService.newCardBuilder()

  // build the card as wished
  // ...

  const logoutAction = CardService.newCardAction()
    .setText('Log out')
    .setOnClickAction(CardService.newAction().setFunctionName('logoutUser'))

  card.addCardAction(logoutAction)

  return card.build()
}

function logoutUser() {
  // your logout logic
  // ...

  return CardService.newActionResponseBuilder()
    .setNavigation(CardService.newNavigation().updateCard(sidebarTrigger()))
    .build()
}
person Frenchcooc    schedule 16.08.2019

Я думаю, что вы не можете, единственная карта, на которой нет «кнопки возврата», — это корневая карта, поэтому, возможно, вам нужно изменить свой способ сделать это. Для меня лучший способ - иметь функцию инициализации, которая проверяет, подключены ли мы, в этом случае вы возвращаете карту, и если мы выходим из системы, вы возвращаете другую карту.

person Albenss    schedule 05.12.2018