Здравствуйте, уважаемые коллеги. Возник вопрос по мобильному приложению bpm'online.
Появилась необходимость заметить метод initialize из модуля "Terrasoft.view.BaseGridPage.View".
Сталкивался ли кто-то с подобной задачей? Помогите, пожалуйста. Пробовал создавать модуль, в котором писал extend: "Terrasoft.view.BaseGridPage.View", и подключал его в манифест. Сама схема подгружается, но метод вызывается только из родительской схемы.
![]()
Нравится
Федоровский Роман Дмитриевич,
Тогда для этой цели используйте override:
Ext.define("Terrasoft.BaseGridPageViewOverride", {
override: "Terrasoft.BaseGridPageView",
/**
* @protected
* @overridden
*/
initialize: function() {
/* Your code */
this.callParent(arguments);
}
});Только, пожалуйста, обращайте внимание на указанные области видимости методов (ни в коем случае не перекрывайте приватные методы).
Добрый день! Можете описать свою бизнес-задачу? Для какой цели вы хотите заменить initialize() в Terrasoft.view.BaseGridPage.View? Объясню свой вопрос: для ряда задач нет необходимости в расширении базовых классов или их замещению. Например, для изменения стилей страниц можно воспользоваться утилитным методом Terrasoft.util.writeStyles().
S.Kalishenko,
Мне нужно добавить элемент вроде QR-кода на экран, который будет на постоянной основе находиться на экране в момент открытия любого раздела в целях безопасности, для этого я в div главного окна из JS я добавляю автогенерируемый qr-код. Как применять стили страниц я понимаю.
Федоровский Роман Дмитриевич,
Тогда для этой цели используйте override:
Ext.define("Terrasoft.BaseGridPageViewOverride", {
override: "Terrasoft.BaseGridPageView",
/**
* @protected
* @overridden
*/
initialize: function() {
/* Your code */
this.callParent(arguments);
}
});Только, пожалуйста, обращайте внимание на указанные области видимости методов (ни в коем случае не перекрывайте приватные методы).
Большое спасибо! Это решило все мои проблемы. Прошу прощения за столь длительный ответ