Данный метод позволяет обновить модальное окно, открытое ранее с помощью метода
CondoWebAppShowModalWindow.Платформы
- B2B-Web
Параметры метода
| Имя параметра | Тип параметра | Обязательный | Описание параметра |
|---|---|---|---|
| modalId | string | да | ID модального окна, которое необходимо обновить |
| data | JSON | да | JSON, содержащий изменяемые параметры и их новые значения. Изменить можно любые параметры окна, описанные в методе CondoWebAppShowModalWindow, кроме ссылки на внутренний iframe (Для этого можно просто перенаправить пользователя внутри уже открытого iframe). |
При необходимости обновить модальное окно из основного окна приложения параметр
modalId может быть получен
в ответе метода CondoWebAppShowModalWindow.
Если же вам необходимо обновить модальное окно из iframe, открытого в модальном окне, то параметр modalId можно найти
в query-параметрах данного iframe.Возвращаемое значение
При успешном выполнении метод вернет назад JSON-объект, содержащий единственное поле
updated:json{ "updated": true }
Пример использования
Ниже приведен пример обновления модального окна из основной страницы мини-приложения и из iframe модального окна:
Из основного окна
Из модального окна
typescript// pages/index.tsx import React, { useCallback, useState, useEffect } from 'react' import bridge from '@open-condo/bridge' import { Button } from '@open-condo/ui' export default function MiniappPage (): React.ReactNode { const [openModalId, setOpenModalId] = useState<string | null>(null) const openModal = useCallback(() => { bridge.send('CondoWebAppShowModalWindow', { url: 'http://localhost:3001/modal', size: 'small', title: 'Loading...', }).then((data) => { setOpenModalId(data.modalId) }) }, []) useEffect(() => { if (openModalId) { setTimeout(() => { bridge.send('CondoWebAppUpdateModalWindow', { modalId: openModalId, data: { size: 'big', title: 'Welcome' } }) }, 1000) } }, [openModalId]) return ( <Button type='primary' onClick={openModal}>Open modal window</Button> ) }