Документация для разработчиков
Темная тема

Встраивание в календарь

Плейсмент CALENDAR_GRIDVIEW позволяет встроиться в календарный вид (вверху - там где день/неделя/месяц/список).

Пример

Как можно забиндить (привязать) приложение к календарной встройке::

 BX24.callMethod('placement.bind', {
   PLACEMENT:'CALENDAR_GRIDVIEW',
   HANDLER: 'http://svd.org/svdapp.php',
   TITLE: 'Custom tab'
}, (result) => {console.log(result)});

Если в самом приложении вызвать

echo "<pre>";
print_r($_REQUEST);
echo "</pre>";

то увидим, что туда приходят определенные параметры. В частности:

[PLACEMENT_OPTIONS] => {
   "viewRangeFrom":"2018-09-30",
   "viewRangeTo":"2018-11-04"
}

Также при работе во встройке есть определенный интерфейс: методы и события.

Методы (js методы)

Метод Описание
getEvents
Получение событий
var dateFrom = new Date();
var dateTo = new Date(dateFrom.getTime() + 86400 * 30);
dateFrom.setHours(0, 0, 0, 0);
dateTo.setHours(0, 0, 0, 0);

BX24.placement.call('getEvents', {
   dateFrom: dateFrom,
   dateTo: dateTo
   }, function(events)
{
   console.log('getEvents responce:');
   console.dir(events);
});
viewEvent
Просмотр события (открытие карточки просмотра)
BX24.placement.call('viewEvent', {
       id: "1431170", - id события
       dateFrom: "11.07.2018" - дата события (не обязательно, но важно для регулярных)
},
function(){});
addEvent
Добавление нового события (открытие карточки)
BX24.placement.call('addEvent', function(){});
editEvent
Редактирование события (открытие карточки)
BX24.placement.call('editEvent', {uid: "1431171|19.07.2018"}, function(){});
deleteEvent
Удаление события
BX24.placement.call('deleteEvent',
{
   id: "1431169"
},
function(){});

События, которые можно отслеживать в плейсменте

События Описание
Calendar.customView:refreshEntries Обновление событий.
Calendar.customView:decreaseViewRangeDate Нажимаем на стрелочку назад, т.е. отматываем календарь на предыдущие даты (на какие точно - может решать автор плейсмента).
Calendar.customView:increaseViewRangeDate Нажимаем на стрелочку вперед, т.е. отматываем календарь на следующие даты (на какие точно - может решать автор плейсмента).
Calendar.customView:adjustToDate Переход к конкретной дате (она передается в параметре).


Дополнительно

Встраивание приложений (REST).

Встраивание приложений в курсе Маркетплейс Битрикс24.

Встраивание приложений в виде пользовательских типов полей в учебном курсе.

Добавление своих методов REST API в учебном курсе.



© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх