Доступ к функциям approve/reject визы на странице карточки

Добрый день, коллеги.

Подскажите пожалуйста, как на странице карточки отловить нажатие на кнопки Утвердить/Отклонить визы (на ActionsDashboardContainer, не детали)? Дело в том, что нужно запретить пользователю утверждать визу без сохранения карточки.

Нравится

3 комментария

Логика этих кнопок реализована в схеме 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, и с деталью виз одновременно.

Показать все комментарии