Технические вопросы
5.x

Добавить кнопку на страницу редактирования в bpmonline 7.0

Нужно добавить кнопку на страницу редактирования в bpmonline 7.0. Как это сделать? Добавить к существующим кнопкам

Нравится

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

Здравствуйте, Антон! Предоставляю пример добавления кнопки на "AccountPage".

Код замещающего модуля:
[javascript]
define('AccountPage', ['terrasoft', 'Account', 'AccountPageStructure', 'AccountPageResources'],
function(Terrasoft, Account, structure, resources) {
var viewModel;
structure.userCode = function() {
//помещение ссылки на текущий объект вызова в переменную
var parentThis = this;
//помещение ссылки на метод init-a в переменную
//и последующий его вызов из функции
//таким образом происходит переопределение метода
var baseInit = this.methods.init;
this.methods.init = function() {
if (Ext.isFunction(baseInit)) {
baseInit.call(this);
}
//снова сохраняем ссылку на объект вызова
viewModel = this;
//добавление контрола кнопки
var button = Ext.create('Terrasoft.controls.Button', {
renderTo: Ext.get('utils-left'),
caption: "Основной контакт"
});
//подписываемся на событие клика
button.addListener("click", parentThis.methods.move, parentThis);
};
//описываем функцию-обработчик события клика
this.methods.move = function() {
var primaryId = this.get('PrimaryContact').value;
if (primaryId) {
var URL = Terrasoft.workspaceBaseUrl + 'Nui/ViewModule.aspx#CardModule/ContactPage/view/' + primaryId;
document.location.replace(URL);
}
};
};
return structure;
});
[/javascript]

Ext.get() возвращает элемент страницы по идентификатору, который можно получить используя инспектор элементов в инструментах разработчика браузера (F12 в Chrome):

Большое спасибо, а теперь как мне скрывать и открывать добавленные кнопки:sad:

Антон, с помощью свойства visible при определении кнопки:

[javascript]
var button = Ext.create('Terrasoft.controls.Button', {
renderTo: Ext.get('utils-left'),
caption: "Основной контакт",
visible: false
});
[/javascript]

а также, с помощью метода setVisible( visible ), где visible: boolean:

[javascript]
button.setVisible(true);
[/javascript]

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