Класс SliderManager
Предоставляет методы для работы с слайдерами в приложении Битрикс24. Он позволяет открывать и закрывать слайдеры, а также управлять их содержимым.
ts
// ... /////
$b24 = await initializeB24Frame()
// ... /////
const makeOpenSliderForUser = async(userId: number) =>
{
return $b24.slider.openPath(
$b24.slider.getUrl(`/company/personal/user/${userId}/`),
950
)
.then((response: StatusClose) =>
{
if(
!response.isOpenAtNewWindow
&& response.isClose
)
{
$logger.info("Slider is closed! Reinit the application")
return reloadData()
}
})
}
TIP
Работу с B24Frame.parent можно протестировать в примере.
Методы
getUrl
ts
getUrl(
path: string = '/'
): URL
Возвращает URL, относительный к доменному имени и пути.
ts
// ... /////
$b24 = await initializeB24Frame()
// ... /////
const url = $b24.slider.getUrl('/settings/configs/userfield_list.php')
getTargetOrigin
ts
getTargetOrigin(): string
Возвращает адрес Битрикс24 (например, https://name.bitrix24.com
). Аналог функции
openSliderAppPage
ts
async openSliderAppPage(
params: any = {}
): Promise<any>
Открывает слайдер с фреймом приложения. Аналог функции
ts
// ... /////
$b24 = await initializeB24Frame()
// ... /////
const makeOpenAppOptions = async() => {
return $b24.slider.openSliderAppPage(
{
place: 'app.options',
bx24_width: 650,
bx24_label: {
bgColor: 'violet',
text: '🛠️',
color: '#ffffff',
},
bx24_title: 'App Options',
}
)
}
closeSliderAppPage
ts
async closeSliderAppPage(): Promise<void>
Закрывает слайдер с приложением. Аналог функции
ts
// ... /////
$b24 = await initializeB24Frame()
// ... /////
const makeClosePage = async (): Promise<void> => {
return $b24.slider.closeSliderAppPage()
}
openPath
ts
async openPath(
url: URL,
width: number = 1640
): Promise<StatusClose>
Открывает указанный путь внутри портала в слайдере. Аналог функции
Обрабатывает ошибки, связанные с использованием мобильных устройств, и может открывать URL в новой вкладке, если слайдер не поддерживается.
Возвращает StatusClose
Параметр | Тип | Описание |
---|---|---|
url | URL | URL который нужно открыть. |
width | number | Ширина слайдера, число в диапазоне от 1640 до 900. |
ts
// ... /////
$b24 = await initializeB24Frame()
// ... /////
const makeOpenSliderEditCurrency = async(currencyCode: string) =>
{
return $b24.slider.openPath(
$b24.slider.getUrl(`/crm/configs/currency/edit/${currencyCode}/`),
950
)
.then((response: StatusClose) =>
{
$logger.warn(response)
if(
!response.isOpenAtNewWindow
&& response.isClose
)
{
$logger.info("Slider is closed! Reinit the application")
return reloadData()
}
})
}
makeOpenSliderEditCurrency('INR')