Доступ к функциям 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, и с деталью виз одновременно.