Our module creates Employees,Departments,Projects menubar entries.
private void registerMenu(AppEntryPoint appEntryPoint, Module module) {
MenuBarBuilder menuBarBuilder = PicoHelper.getMandatoryComponent(module.getContainer(), MenuBarBuilder.class);
menuBarBuilder.registerMenuBuilder(new EmployeesMenuDefinitionBuilder());
menuBarBuilder.registerMenuBuilder(new DepartmentsMenuDefinitionBuilder());
menuBarBuilder.registerMenuBuilder(new ProjectsMenuDefinitionBuilder());
}
We will show how to implement Department menu entry. Very simply on menu activation, we will show DepartmentsDBListViewProviderImpl view provider.
public class DepartmentsMenuDefinitionBuilder implements MenuDefinitionBuilder {
public MenuDefinition buildMenuDefinition(UserSession sesion) {
MenuDefinition departmentsMenu = new MenuDefinition(
EmployessMenuConstants.DEPARTMENTS_MENU_ID,
MenuConstants.MAIN_MENU_LOC_NODE_PATH);
Command showDepartmentsCmd = ShowViewProviderCommand.showListProvider(
new ViewProviderDef(ViewProviderKind.ListViewProvider,
DepartmentsDBListViewProviderImpl.class,
"dep.departments"));
MenuItemDefinition showAllDepartmentsItem = new MenuItemDefinition(
showDepartmentsCmd, "dep.departments",
MenuConstants.MAIN_MENU_LOC_NODE_PATH);
departmentsMenu.addMenuItemDefinition(showAllDepartmentsItem);
return departmentsMenu;
}
public String getId() {
return EmployessMenuConstants.DEPARTMENTS_MENU_ID;
}
}