Обработка события сохранения карточки
При сохранении карточки последовательно вызываются события Подготовка к сохранению карточки
, Перед сохранением карточки
и При сохранении карточки
корневого элемента разметки карточки. Данные события могут быть обработаны в пользовательской функции.
Событие Перед сохранением карточки
является прерываемым, т. е. предоставляет возможность отменять сохранение изменений карточки в зависимости от условий:
function onSaveCard(sender: Layout, e: CancelableEventArgs<ICardSavingEventArgs>) {
if (CheckPossibility()){ (1)
e.accept(); (2)
return;
}
MessageBox.ShowWarning("Сохранение отклонено");
e.cancel(); (3)
}
1 | Функция CheckPossibility проверяет выполнение неких требований |
2 | Подтверждение сохранения. Необязательно. |
3 | Отмена сохранения, если условия не выполняются. |
Если при сохранении карточки нужно изменить значение элемента управления разметки (и данное изменение должно быть включено в сохранение), изменение следует применять до сохранения в обработчике события Подготовка к сохранению карточки .
|
Обработка события элемента Кнопки сохранения
Другой способ обработать событие попытки сохранения карточки — подписаться на событие Перед щелчком
элемента управления Кнопки сохранения
. В аргументе события будет передан тип нажатой кнопки, который может использоваться при реализации логики обработчика.
export function onClicking(sender: SavingButtons, e: ICancelableEventArgs<ISavingButtonClickEventArgs>) {
if (e.data.button == SavingButton.Save){ (1)
}else{ (2)
}
}
1 | Обработка события, когда нажата кнопка Сохранить/ОК. |
2 | Обработка события, когда нажата кнопка Отмена. |