На некоторых поверхностях Condo мини-приложение может управлять своим состоянием и навигацией с помощью API, схожего с браузерным window.history
Для управления навигацией в condo вам доступны три метода: PushHistoryState, ReplaceHistoryState и PopHistoryState.
Платформы
| B2B Web | B2C Web | B2C Cordova |
|---|---|---|
События
В процессе работы с навигацией мини-приложение может получать два входящих события.
CondoWebAppHistoryPopStateEvent
Событие содержит текущее состояние навигации — заголовок и произвольный стейт, переданный мини-приложением ранее.
Событие вызывается в следующих случаях:
- после вызова методов PushHistoryState, ReplaceHistoryState или PopHistoryState
- при срабатывании навигационной кнопки «Назад» (т.к. она автоматически вызывает PopHistoryState)
Данные события:
| Поле | Тип | Описание |
|---|---|---|
| title | string | null | Заголовок текущего состояния навигации |
| state | unknown | Произвольный стейт, переданный мини-приложением при push/replace |
Пример подписки:
typescriptimport bridge from '@open-condo/bridge' bridge.subscribe((event) => { if (event.type === 'CondoWebAppHistoryPopStateEvent') { const { title, state } = event.data console.log('Текущий стейт навигации:', title, state) } })
CondoWebAppBackButton
Событие отправляется при нажатии пользователем навигационной кнопки «Назад».
Если стек навигации мини-приложения не пуст, вместе с
CondoWebAppBackButton автоматически вызывается CondoWebAppHistoryPopState с актуальным состоянием на вершине стека.Событие не содержит дополнительных данных.
Пример подписки:
typescriptimport bridge from '@open-condo/bridge' bridge.subscribe((event) => { if (event.type === 'CondoWebAppBackButtonEvent') { console.log('Пользователь нажал кнопку «Назад»') } })