use of com.vaadin.navigator.Navigator in project v-leaflet by mstahv.
the class ViewChangeTest method setup.
@Override
protected void setup() {
content.setSizeFull();
nav = new Navigator(this, content);
nav.addProvider(new TestViewProvider());
nav.navigateTo("A");
nav.navigateTo("B");
}
use of com.vaadin.navigator.Navigator in project vaadin-app-layout by appreciated.
the class AppLayoutConfiguration method prepareNavigationElement.
private void prepareNavigationElement(AbstractNavigationElement element) {
if (element instanceof HasCaptionInterceptor) {
((HasCaptionInterceptor) element).setCaptionInterceptor(captionInterceptor);
}
if (element instanceof NavigatorNavigationElement) {
NavigatorNavigationElement nElement = (NavigatorNavigationElement) element;
nElement.setCDI(isCDI);
nElement.setNavigationElementInfoProvider(navigationElementInfoProvider);
if ((isCDI == false && nElement.getViewClassName() == defaultNavigationElement.getViewClassName()) || (isCDI == true && nElement.getViewName().equals(""))) {
AppLayoutSessionHelper.updateActiveElementSessionData(nElement);
}
nElement.setViewNameInterceptor(viewNameInterceptor);
if (isNavigatorEnabled) {
nElement.addViewToNavigator(navigator);
} else {
nElement.addViewToComponentNavigator(componentNavigator);
}
navigatorElements.add(nElement);
} else if (element instanceof SubmenuNavigationElement) {
SubmenuNavigationElement sElement = (SubmenuNavigationElement) element;
sElement.getSubmenuElements().forEach(element1 -> prepareNavigationElement(element1));
}
}
use of com.vaadin.navigator.Navigator in project vaadin-app-layout by appreciated.
the class AppLayoutConfiguration method build.
/**
* FIXME this configuration should only hold configuration => Single responsibility principle
* This terminating build method is part of the builder and not of the configuration.
*/
public AppLayoutComponent build() {
// this method has a lot of magic. add some inline comments describing why are you doing what.
if (navigationElementProvider == null) {
if (variant.isTop())
navigationElementProvider = new DefaultLeftNavigationBadgeElementComponentFactory();
else
navigationElementProvider = new DefaultLeftNavigationBadgeElementComponentFactory();
}
if (customElementProvider == null) {
if (variant.isTop())
customElementProvider = new DefaultLeftClickableNavigationElementFactory();
else
customElementProvider = new DefaultLeftClickableNavigationElementFactory();
}
if (sectionProvider == null) {
if (variant.isTop())
sectionProvider = new DefaultLeftSectionElementComponentFactory();
else
sectionProvider = new DefaultLeftSectionElementComponentFactory();
}
if (submenuProvider == null) {
if (variant.isTop())
submenuProvider = new DefaultTopSubmenuNavigationElementFactory();
else
submenuProvider = new DefaultLeftSubmenuNavigationElementFactory();
}
AppLayoutSessionHelper.setActiveVariant(variant);
if (titleComponent == null) {
instance.setTitle(title);
} else {
instance.setTitleComponent(titleComponent);
}
if (isNavigatorEnabled) {
navigator = navigatorProducer.apply(instance.getContentHolder());
if (navigator == null) {
throw new RuntimeException("The set navigatorProducer returned 'null' as a Navigator");
}
navigator.addViewChangeListener(event -> beforeViewChange(event.getViewName()));
if (viewProviderSupplier != null) {
navigator.addProvider(viewProviderSupplier.get());
}
if (errorProvider != null) {
navigator.setErrorProvider(errorProvider.get());
}
if (errorViewProvider != null) {
navigator.setErrorView(errorViewProvider.get());
}
if (navigatorConsumer != null) {
navigatorConsumer.accept(navigator);
}
if (!isCDI && defaultNavigationElement == null) {
defaultNavigationElement = navigationElements.stream().filter(element -> element instanceof NavigatorNavigationElement).map(element -> ((NavigatorNavigationElement) element)).findFirst().orElse(null);
}
} else {
componentNavigator = new ComponentNavigator(instance.getContentHolder());
componentNavigator.addViewChangeListener(event -> beforeViewChange(event.getViewName()));
if (errorViewProvider != null) {
componentNavigator.setErrorView(errorViewProvider.get());
}
if (componentNavigatorConsumer != null) {
componentNavigatorConsumer.accept(componentNavigator);
}
if (defaultNavigationElement == null) {
defaultNavigationElement = navigationElements.stream().filter(element -> element instanceof NavigatorNavigationElement).map(element -> ((NavigatorNavigationElement) element)).findFirst().orElse(null);
}
defaultNavigationElement.addViewToComponentNavigator(componentNavigator);
}
addComponents(headerElements, instance::addNavigationHeaderElement);
addComponents(navigationElements, instance::addNavigationElement);
addComponents(footerElements, instance::addNavigationFooterElement);
appBarElements.forEach(instance::addAppBarElement);
instance.setDesign(design);
if (appBarIconComponent != null) {
instance.addAppBarIcon(appBarIconComponent);
}
instance.setNavigatorNavigationElements(navigatorElements);
if (!isNavigatorEnabled) {
componentNavigator.navigateTo(defaultNavigationElement.getViewName());
} else {
if (!isCDI && defaultNavigationElement != null) {
defaultNavigationElement.addViewToNavigator(navigator);
} else if (isCDI && defaultNavigationElement != null) {
System.err.println("WARNING - AppLayout - You are using isCDI but try to set the DefaultNavigationElement this will have no effect");
}
}
return instance;
}
use of com.vaadin.navigator.Navigator in project opennms by OpenNMS.
the class WallboardUI method init.
/**
* Entry point for a VAADIN application.
*
* @param request the {@link VaadinRequest} instance
*/
@Override
protected void init(VaadinRequest request) {
VerticalLayout rootLayout = new VerticalLayout();
rootLayout.setSizeFull();
rootLayout.setSpacing(true);
HeaderLayout headerLayout = new HeaderLayout();
rootLayout.addComponent(headerLayout);
VerticalLayout portalWrapper = new VerticalLayout();
portalWrapper.setSizeFull();
portalWrapper.setMargin(true);
rootLayout.addComponent(portalWrapper);
rootLayout.setExpandRatio(portalWrapper, 1);
setContent(rootLayout);
Navigator navigator = new Navigator(this, portalWrapper);
navigator.addView("dashboard", DashboardView.class);
navigator.addView("wallboard", WallboardView.class);
navigator.navigateTo("wallboard");
BeanItemContainer<Wallboard> beanItemContainer = WallboardProvider.getInstance().getBeanContainer();
for (Wallboard wallboard : beanItemContainer.getItemIds()) {
if (wallboard.isDefault()) {
headerLayout.gotoWallboard(wallboard);
break;
}
}
}
use of com.vaadin.navigator.Navigator in project vaadin-tips by marcushellberg.
the class AwesomeApp method setupNavigator.
private void setupNavigator() {
navigator = new Navigator(DemoUI.getCurrent(), content);
registerViews();
// Add view change listeners so we can do things like select the correct menu item and update the page title
navigator.addViewChangeListener(navBar);
navigator.addViewChangeListener(new PageTitleUpdater());
navigator.navigateTo(navigator.getState());
}
Aggregations