Добавляем действие перехода к контакту на деталь «Карьера контакта»
Чтобы добавить кнопку «Перейти к контакту» необходимо реализовать несложный замещающий модуль страницы детали «Деталь карьера контакта».
define('ContactCareerDetail', ['terrasoft', 'ContactCareer', 'ContactCareerDetailStructure', 'ContactCareerDetailResources'], function(Terrasoft, ContactCareer, structure, resources) { structure.userCode = function() { //в этом методе можно работать со списком действий детали this.modifyUtilsButton = function(utilsButton) { //получаем список действий var utilsMenuItems = utilsButton.menu.items; //добавляем новый пункт в начало списка utilsMenuItems.unshift(actionGoToContact); return utilsButton; }; var actionGoToContact = { caption: resources.localizableStrings.GoToContact, click: { bindTo: 'goToContact' }, enabled: { bindTo: 'isAnySelected' } }; this.methods.goToContact = function() { var selectedRows = this.GetSelectedItems(); if (Ext.isEmpty(selectedRows)) { return; } var viewModel = this; var cardSchemaName; var moduleStructure = Terrasoft.configuration.ModuleStructure.Contact; var config = Terrasoft.configuration.EntityStructure[this.entitySchema.columns.Contact.name]; if (config) { cardSchemaName = config.pages[0].cardSchema; } var gridData = this.get('gridData'); var contactId; gridData.collection.items.forEach( function(item) { if (item.values.Id == selectedRows[0]) { contactId = item.values.Contact.value; } }); if (contactId) { var token = moduleStructure.cardModule + '/' + cardSchemaName + '/view/' + contactId; Terrasoft.Router.pushState(null, null, token); } else { return; } }; }; return structure; });
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать