Класс ParentManager

Предоставляет методы для управления родительским окном приложения в Bitrix24, включая изменение размера окна, управление прокруткой, инициацию звонков и открытие мессенджера.
Мы всё ещё дорабатываем эту страницу. Некоторых данных здесь может не хватать — скоро дополним.
// ... /////
$b24 = await initializeB24Frame()
// ... /////
await $b24.parent.fitWindow()

Методы

closeApplication

async closeApplication(): Promise<void>

Закрывает слайдер приложения.

fitWindow

async fitWindow(): Promise<any>

Устанавливает размер фрейма приложения в соответствии с размером его содержимого.

resizeWindow

async resizeWindow(width: number, height: number): Promise<void>

Изменяет размер фрейма приложения до указанных ширины и высоты.

resizeWindowAuto

async resizeWindowAuto(
    appNode: null | HTMLElement = null,
    minHeight: number = 0,
    minWidth: number = 0
): Promise<void>

Автоматически изменяет размер document.body фрейма приложения в соответствии с размером его содержимого.

ПараметрТипОписание
appNodenull|HTMLElementУзел приложения для расчёта высоты.
minHeightnumberМинимальная высота.
minWidthnumberМинимальная ширина.

getScrollSize

getScrollSize(): { scrollWidth: number, scrollHeight: number }

Возвращает внутренние размеры фрейма приложения.

scrollParentWindow

async scrollParentWindow(scroll: number): Promise<void>

Прокручивает родительское окно до указанной позиции.

reloadWindow

async reloadWindow(): Promise<void>

Перезагружает страницу приложения.

setTitle

async setTitle(title: string): Promise<void>

Устанавливает заголовок страницы.

imCallTo

async imCallTo(userId: number, isVideo: boolean = true): Promise<void>

Инициирует звонок через внутреннюю связь.

ПараметрТипОписание
userIdnumberИдентификатор пользователя.
isVideobooleantrue — видеозвонок, false — аудиозвонок.

imPhoneTo

async imPhoneTo(phone: string): Promise<void>

Совершает звонок на указанный номер телефона.

ПараметрТипОписание
phonestringНомер телефона.

imOpenMessenger

async imOpenMessenger(dialogId: number|'chat${number}'|'sg${number}'|'imol|${number}'|undefined): Promise<void>

Открывает окно мессенджера.

ПараметрТипОписание
dialogIdnumber|chat${number}|sg${number}|imol|${number}|undefinedИдентификатор диалога.

imOpenHistory

async imOpenHistory(dialogId: number|'chat${number}'|'imol|${number}'): Promise<void>

Открывает окно истории сообщений.

ПараметрТипОписание
dialogIdnumber|chat${number}|imol|${number}Идентификатор диалога.

Примеры

Пробный звонок

frame-parent-call.ts
import type { B24Frame } from '@bitrix24/b24jssdk'
import { Text, LoggerFactory, Logger, ConsoleV2Handler, LogLevel } from '@bitrix24/b24jssdk'


const devMode = typeof import.meta !== 'undefined' && (import.meta?.dev || globalThis._importMeta_.env?.DEV)
const $logger = LoggerFactory.createForBrowser('Example:B24FrameParentCall', devMode)
const $b24 = useB24().get() as B24Frame

const loggerForDebugB24 = Logger.create('b24')
const handlerForDebugB24 = new ConsoleV2Handler(LogLevel.DEBUG, { useStyles: true })
loggerForDebugB24.pushHandler(handlerForDebugB24)

$b24.setLogger(loggerForDebugB24)

const response = await $b24.parent.message.send(
  'setTitle',
  {
    title: 'Text for insertion',
    requestId: Text.getUuidRfc4122(),
    isSafely: true,
    safelyTime: 1500
  }
)

$logger.debug('parent response', {
  response
})