Добавляем действие перехода к контакту на деталь «Карьера контакта»
Чтобы добавить кнопку «Перейти к контакту» необходимо реализовать несложный замещающий модуль страницы детали «Деталь карьера контакта».
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;
});
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать