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

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

Плейсмент 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-2024, «1С-Битрикс», 2024