Link in calendar cells

Мне необходимо привязать к событиям в календаре дополнительные свойства, для этого я решил в каждой ячейке создать ссылки по которым будет показываться моя диалоговая панель с дополнительными свойствами, которые будут подтягиваться из БД по идент. события. С событиями которые уже существуют проблемы нет, но вот со вновь создаваемыми да.
Для генерации ссылок в календаре я переопределяю шаблон:
scheduler.templates.event_bar_text = function(start, end, event) {
//debugger;
return "ID " + event.id + " " + event.text + “”;
}
После создания события ссылка генерится с временным идент. (например, 1317965603288) и не обновляется пока не перейдешь к другому просмотру (например с месячного на недельный), поэтому попытка посмотреть дополнительные свойства события приводит к неудаче.
Кроме того, хотелось бы добавить в стандарный события диалог кнопку для сохранения и автоматического открытия собственного диалога после закрытия стандартного. Но это тоже не работает из-за отсутствия реального идент. события.
Что вы можете предложить для решения этой задачи, как узнать новый идент. после создания события?

scheduler.attachEvent("onEventIdChange", function(oldid, newid){ scheduler.updateEvent(newid); });

Этот код заставит событие перерисовываться после смены айди, то есть темплейт будет вызван с новым айди и сгенерирует правильные ссылки

Спасибо, вопрос с обновлением идент. события снят. Но остался второй вопрос, как после закрытия стандартной формы Создания/Редактирования событий открыть мою собственную.
Я добавил в нижнюю панель дополнительную кнопку. В обработчике события я запоминаю идент. события, который затем проверяю в событии onEventIdChange и показываю свой диалог, но это работает только при создании новых событий. А как быть при редактировании существующих, в какой момент нужно показывать диалог, как отличить редактирование событие от его создания? Т.е. я не знаю как в обработчике добавленной кнопки узнать в каком режиме я нахожусь: Редактирование или Создание, чтобы выбрать правильную стратегию для показа своего диалога - это первое. И второе, в ответ на какое событие лучше показать свою форму, чтобы данные уже сохранились в БД и я бы знал, что ошибок не было.
Внизу привожу фрагмент своего кода:

var defferID = null;

scheduler.config.buttons_right = [“dhx_delete_btn”, “dhx_custom_btn_savenext”];
scheduler.locale.labels[“dhx_custom_btn_savenext”] = “Сохранить и …”;
scheduler.attachEvent(“onLightboxButton”, function(button_id, node, e){
defferID = scheduler._lightbox_id;
scheduler.save_lightbox();
//showOptions(id);
});

scheduler.attachEvent(“onEventIdChange”, function(old_event_id, new_event_id){
scheduler.updateEvent(new_event_id);
var id = null;
if (defferID)
{
if (defferID == old_event_id)
id = new_event_id;
}
defferID = null;
if (id)
showOptions(id);
});

Т.е. я не знаю как в обработчике добавленной кнопки узнать в каком режиме я нахожусь: Редактирование или Создание

В scheduler 3.0 это можно узнать как

scheduler.getState().new_event

И второе, в ответ на какое событие лучше показать свою форму, чтобы данные уже сохранились в БД и я бы знал, что ошибок не было.

Если используется стандартный датапроцессор, лучше всего использовать onAfterUpdate событие датапроцессора

  • 3й параметр новое значение айди
  • 2й параметр тип операции ( insert, update, delete, error )