Пока есть событие, когда RadScheduler открывает форму «Редактировать», которая называется OnClientFormCreated, нет, когда форма редактирования закрывается. Однако есть способы сделать это, но у вас есть дополнительный код.
Когда вы думаете об этом, есть несколько разных элементов, которые могут привести к закрытию формы - пользователь может щелкнуть по значку закрытия в правом верхнем углу (или слева, в зависимости от вашей ориентации) окна, они могут щелкнуть отменить, или они могут нажать «Сохранить».
Помня об этом, мы можем взглянуть на this demo, в котором показана расширенная форма редактирования в действии, а также есть JavaScript, предварительно написанный для нас.
В функции schedulerFormCreated()
мы можем сделать следующее:
function schedulerFormCreated(scheduler, eventArgs) {
// Create a client-side object only for the advanced templates
var mode = eventArgs.get_mode();
if (mode == Telerik.Web.UI.SchedulerFormMode.AdvancedInsert ||
mode == Telerik.Web.UI.SchedulerFormMode.AdvancedEdit) {
// Initialize the client-side object for the advanced form
var formElement = eventArgs.get_formElement();
var cancelButton = $("[id$='_CancelButton']");
cancelButton.on("click", formClosed);
var templateKey = scheduler.get_id() + "_" + mode;
....
И тогда мы имеем formClosed событие:
function formClosed(eventArgs) {
}
в formClosed вы можете просто создать свою логику для возобновления таймера, в то время как в schedulerFormCreated вы можете напрямую вызвать функцию, которая останавливает таймер сразу после этого if-statement.
В случае, если вам интересно, что мы здесь делаем, мы просто захватываем экземпляр объекта jQuery, представляющего элемент с id, который заканчивается _CancelButton (нас не интересует начальная часть), а затем просто привязка к событию клика с использованием функции jQuery .on().
Чтобы получить экземпляр кнопки сохранения вы просто должны использовать _UpdateButton, и для близкой иконы это _AdvancedEditCloseButton. Имейте в виду, что будет выбран любой элемент, который заканчивается этими подстроками, поэтому, если вы хотите быть более конкретным, я рекомендую проверить элементы вашей расширенной формы с помощью FireBug или инструментов Chrome Dev, чтобы получить их идентификатор и подключить его к селектор выше.
Это должно позволить вам получить функциональность, которую вы ищете.