Доброго времени суток.
Версия 7.9.
Необходимо на странице Лида добавить пункт в существующее подменю Дисквалификации.
В качестве примера воспользовались реализацией добавления остальных пунктов из файла LeadPageV2 в пакете Lead (при этом от этого файла уже создан наследник в нашем рабочем пакете).
var actionMenuItems = this.callParent(arguments);
var disqualifyMenuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");
disqualifyMenuItems.addItem(this.getActionsMenuItem({
Caption: {bindTo: "Resources.Strings.DisqualifyLeadDouble"},
Tag: "disqualifyDouble"
}));
return actionMenuItems;
},
Но это не помогло. Пока добавили пункт в основное меню. Можно ли как-нибудь добавить его именно в подменю?
Нравится
пакет CoreLead, схема LeadPageV2, обратите внимание на метод
getActions: function() { var actionMenuItems = this.callParent(arguments); var menuSeparator = this.getActionsMenuItem({ "Type": "Terrasoft.MenuSeparator" }); actionMenuItems.addItem(menuSeparator); var disqualificationMenuItems = this.get("DisqualificationMenuItems"); disqualificationMenuItems.each(function(item) { actionMenuItems.addItem(item); }); return actionMenuItems; }
Все пункты подменю валяются в this.model.attributes.DisqualificationMenuItems. Попробуйте туда добавить свой пункт меню. Скорее всего все это надо будет делать до callParent.
Попробовал разные варианты:
Вот так:
getActions: function() { var disqualificationMenuItems = this.get("DisqualificationMenuItems"); disqualificationMenuItems.addItem(this.getActionsMenuItem({ Caption: {bindTo: "Дубль 2 тест"}, Tag: "changeLeadStatus" })); var actionMenuItems = this.callParent(arguments); actionMenuItems.addItem(this.getButtonMenuItem({ // Привязка заголовка пункта меню к локализуемой строке схемы. "Caption": {bindTo: "Resources.Strings.DisqualifyLeadDuplicate"}, // Привязка метода-обработчика действия. "Tag": "changeLeadStatus", })); return actionMenuItems; },
Добавляется, но в основное меню. Если то же самое вызову после this.callParents:
var disqualificationMenuItems = this.get("DisqualificationMenuItems"); disqualificationMenuItems.addItem(this.getActionsMenuItem({ Caption: {bindTo: "Дубль 2 тест"}, Tag: "changeLeadStatus" }));
то не добавляется вообще никуда.
Всё, нашёл.
Не DisqualificationMenuItems, а DisqualificationReasonsMenuItems :)