Добрый день, коллеги. Необходимо добавить кнопку на панель визирования (помимо approve и reject).
Как я заметил данная панель геренируется по модулю ApprovalDashboardItemViewModel, но модули замещать нельзя. Как можно выкрутиться из такой ситуации? Кто-нибудь сталкивался с такой необходимостью?
Нравится
Замещать как и расширять модули можно, если делать это правильно.
Вот пример замещения модуля BaseCommunicationViewModel.
Создаем новый модуль, в данном случае будем замещать (override, можно использовать расширение extend(вместо override заменить)). Затем, где нужно, вызываете реализованный вами модуль.
Например в детали:
define("AppFormCommunicationDetail", ["ScBaseCommunicationViewModel"],
Реализация модуля:
define("ScBaseCommunicationViewModel", ["BaseCommunicationViewModel"], function() { Ext.define("Terrasoft.ScBaseCommunicationViewModel", { override: "Terrasoft.BaseCommunicationViewModel", alternateClassName: "Terrasoft.ScBaseCommunicationViewModel", getLinkUrl: function(value) { //нужная реализация метода } }); return Terrasoft.ScBaseCommunicationViewModel; });
Замещать как и расширять модули можно, если делать это правильно.
Вот пример замещения модуля BaseCommunicationViewModel.
Создаем новый модуль, в данном случае будем замещать (override, можно использовать расширение extend(вместо override заменить)). Затем, где нужно, вызываете реализованный вами модуль.
Например в детали:
define("AppFormCommunicationDetail", ["ScBaseCommunicationViewModel"],
Реализация модуля:
define("ScBaseCommunicationViewModel", ["BaseCommunicationViewModel"], function() { Ext.define("Terrasoft.ScBaseCommunicationViewModel", { override: "Terrasoft.BaseCommunicationViewModel", alternateClassName: "Terrasoft.ScBaseCommunicationViewModel", getLinkUrl: function(value) { //нужная реализация метода } }); return Terrasoft.ScBaseCommunicationViewModel; });