Доступ к функциям approve/reject визы на странице карточки
Добрый день, коллеги.
Подскажите пожалуйста, как на странице карточки отловить нажатие на кнопки Утвердить/Отклонить визы (на ActionsDashboardContainer, не детали)? Дело в том, что нужно запретить пользователю утверждать визу без сохранения карточки.
Нравится
Логика этих кнопок реализована в схеме VisaDetailV2 в функциях, которые так и называются approve и reject:
/**
* @inheritdoc Terrasoft.BaseGridDetailV2#addRecordOperationsMenuItems
* @override
*/
addRecordOperationsMenuItems: function(toolsButtonMenu) {
this.callParent(arguments);
toolsButtonMenu.addItem(this.getButtonMenuItem({
Caption: {bindTo: "Resources.Strings.Approve"},
Click: {bindTo: "approve"},
Enabled: {bindTo: "getEditRecordButtonEnabled"},
ImageConfig: this.get("Resources.Images.ApproveImage")
}), 0);
toolsButtonMenu.addItem(this.getButtonMenuItem({
Caption: {bindTo: "Resources.Strings.Reject"},
Click: {bindTo: "reject"},
Enabled: {bindTo: "getEditRecordButtonEnabled"},
ImageConfig: this.get("Resources.Images.RejectImage")
}), 1);
.....
/**
* Approval of the selected record.
* @private
*/
approve: function() {
var activeRow = this.getActiveRow();
if (!this.checkState(activeRow)) {
return;
}
VisaHelper.approveAction(activeRow, this.visaHelperActionsCallBack, this);
},
/**
* Rejected approval.
* @private
*/
reject: function() {
var activeRow = this.getActiveRow();
if (!this.checkState(activeRow)) {
return;
}
VisaHelper.rejectAction(activeRow, this.visaHelperActionsCallBack, this);
},Там можно добавить интересующую проверку. А передача информации между карточкой и деталью делается через «песочницу».
Зверев Александр,
Здравствуйте Александр, спасибо за ответ!
Правда решил кейс другим способом: оверрайдом класса ApprovalDashboardItemViewModel, затем в SectionActionsDashboard указал зависимость от нового класса и передачу информацию в карточку реализовал через песочницу.
Видимо, мы с Вами имели в виду разные элементы интерфейса. Я как раз имел в виду кнопки детали, сходу не вижу разделов и с ActionsDashboard, и с деталью виз одновременно.