Обработка события сохранения карточки

При сохранении карточки последовательно вызываются события Подготовка к сохранению карточки, Перед сохранением карточки и При сохранении карточки корневого элемента разметки карточки. Данные события могут быть обработаны в пользовательской функции.

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

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 Обработка события, когда нажата кнопка Отмена.