Search in sources :

Example 1 with ContextMenu

use of com.haulmont.cuba.web.widgets.addons.contextmenu.ContextMenu in project cuba by cuba-platform.

the class WebLayoutAnalyzerContextMenuProvider method initContextMenu.

@Override
public void initContextMenu(Window window, Component contextMenuTarget) {
    ClientConfig clientConfig = configuration.getConfig(ClientConfig.class);
    if (clientConfig.getLayoutAnalyzerEnabled()) {
        ContextMenu contextMenu = new ContextMenu(contextMenuTarget.unwrap(AbstractComponent.class), true);
        MenuItem menuItem = contextMenu.addItem(messages.getMainMessage("actions.analyzeLayout"), c -> {
            LayoutAnalyzer analyzer = new LayoutAnalyzer();
            List<LayoutTip> tipsList = analyzer.analyze(window);
            if (tipsList.isEmpty()) {
                window.showNotification("No layout problems found", NotificationType.HUMANIZED);
            } else {
                window.openWindow("layoutAnalyzer", OpenType.DIALOG, ParamsMap.of("tipsList", tipsList));
            }
        });
        menuItem.setStyleName("c-cm-item");
    }
}
Also used : AbstractComponent(com.vaadin.ui.AbstractComponent) LayoutTip(com.haulmont.cuba.gui.app.core.dev.LayoutTip) ContextMenu(com.haulmont.cuba.web.widgets.addons.contextmenu.ContextMenu) MenuItem(com.vaadin.ui.MenuBar.MenuItem) LayoutAnalyzer(com.haulmont.cuba.gui.app.core.dev.LayoutAnalyzer) ClientConfig(com.haulmont.cuba.client.ClientConfig)

Aggregations

ClientConfig (com.haulmont.cuba.client.ClientConfig)1 LayoutAnalyzer (com.haulmont.cuba.gui.app.core.dev.LayoutAnalyzer)1 LayoutTip (com.haulmont.cuba.gui.app.core.dev.LayoutTip)1 ContextMenu (com.haulmont.cuba.web.widgets.addons.contextmenu.ContextMenu)1 AbstractComponent (com.vaadin.ui.AbstractComponent)1 MenuItem (com.vaadin.ui.MenuBar.MenuItem)1