Search in sources :

Example 1 with IMenuItemExternal

use of com.helger.photon.core.menu.IMenuItemExternal in project phoss-directory by phax.

the class PublicHTMLProvider method getContent.

@Nonnull
public static IHCNode getContent(@Nonnull final LayoutExecutionContext aLEC) {
    final Locale aDisplayLocale = aLEC.getDisplayLocale();
    final IRequestWebScopeWithoutResponse aRequestScope = aLEC.getRequestScope();
    final HCNodeList ret = new HCNodeList();
    // Header
    ret.addChild(_getNavbar(aLEC));
    final BootstrapContainer aOuterContainer = ret.addAndReturnChild(new BootstrapContainer().setFluid(false));
    // Content - no menu
    aOuterContainer.addChild(BootstrapPageRenderer.getPageContent(aLEC));
    // Footer
    {
        final BootstrapContainer aDiv = new BootstrapContainer().setFluid(true).setID(CLayout.LAYOUT_AREAID_FOOTER);
        aDiv.addChild(new HCP().addChild(CPDPublisher.getApplication() + " - an ").addChild(new HCA(new SimpleURL(VENDOR_URL)).addChild(VENDOR_NAME)).addChild(" service"));
        if (PDServerConfiguration.getConfig().getAsBoolean("webapp.showtwitter", true)) {
            aDiv.addChild(new HCP().addChild("Follow us on Twitter: ").addChild(new HCA(new SimpleURL("https://twitter.com/PEPPOLDirectory")).addChild("@PEPPOLDirectory")));
        }
        final HCP aP = new HCP().addChild("Download data [");
        aP.addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_BUSINESS_CARDS_XML_FULL)).addChild("BusinessCards XML"));
        aP.addChild(" | ").addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_BUSINESS_CARDS_XML_NO_DOC_TYPES)).addChild("BusinessCards w/o doctypes XML"));
        if (CPDPublisher.EXPORT_BUSINESS_CARDS_EXCEL) {
            aP.addChild(" | ").addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_BUSINESS_CARDS_EXCEL)).addChild("BusinessCards Excel"));
        }
        if (CPDPublisher.EXPORT_BUSINESS_CARDS_CSV) {
            aP.addChild(" | ").addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_BUSINESS_CARDS_CSV)).addChild("BusinessCards CSV"));
        }
        if (CPDPublisher.EXPORT_PARTICIPANTS_XML) {
            aP.addChild(" | ").addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_PARTICIPANTS_XML)).addChild("Participant IDs XML"));
        }
        if (CPDPublisher.EXPORT_PARTICIPANTS_JSON) {
            aP.addChild(" | ").addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_PARTICIPANTS_JSON)).addChild("Participant IDs JSON"));
        }
        if (CPDPublisher.EXPORT_PARTICIPANTS_CSV) {
            aP.addChild(" | ").addChild(new HCA(LinkHelper.getURLWithContext(aRequestScope, ExportServlet.SERVLET_DEFAULT_PATH + ExportDeliveryHttpHandler.SPECIAL_PARTICIPANTS_CSV)).addChild("Participant IDs CSV"));
        }
        aP.addChild("]");
        aDiv.addChild(aP);
        final BootstrapMenuItemRendererHorz aRenderer = new BootstrapMenuItemRendererHorz(aDisplayLocale);
        final HCUL aUL = aDiv.addAndReturnChild(new HCUL().addClass(CSS_CLASS_FOOTER_LINKS));
        for (final IMenuObject aMenuObj : s_aFooterObjects) {
            if (aMenuObj instanceof IMenuSeparator)
                aUL.addItem(aRenderer.renderSeparator(aLEC, (IMenuSeparator) aMenuObj));
            else if (aMenuObj instanceof IMenuItemPage)
                aUL.addItem(aRenderer.renderMenuItemPage(aLEC, (IMenuItemPage) aMenuObj, false, false, false));
            else if (aMenuObj instanceof IMenuItemExternal)
                aUL.addItem(aRenderer.renderMenuItemExternal(aLEC, (IMenuItemExternal) aMenuObj, false, false, false));
            else
                throw new IllegalStateException("Unsupported menu object type!");
        }
        ret.addChild(aDiv);
    }
    // Google Analytics?
    final String sAccountID = PDServerConfiguration.getConfig().getAsString("webapp.google.analytics.account");
    if (StringHelper.hasText(sAccountID))
        ret.addChild(new HCUniversalAnalytics(sAccountID, false, false, false, false));
    ret.addChild(HCCookieConsent.createBottomDefault("#000", "#0f0", "#0f0", null));
    return ret;
}
Also used : Locale(java.util.Locale) HCNodeList(com.helger.html.hc.impl.HCNodeList) HCUniversalAnalytics(com.helger.photon.uicore.html.google.HCUniversalAnalytics) HCA(com.helger.html.hc.html.textlevel.HCA) IMenuItemPage(com.helger.photon.core.menu.IMenuItemPage) IMenuObject(com.helger.photon.core.menu.IMenuObject) SimpleURL(com.helger.commons.url.SimpleURL) ISimpleURL(com.helger.commons.url.ISimpleURL) IMenuItemExternal(com.helger.photon.core.menu.IMenuItemExternal) IRequestWebScopeWithoutResponse(com.helger.web.scope.IRequestWebScopeWithoutResponse) BootstrapMenuItemRendererHorz(com.helger.photon.bootstrap4.uictrls.ext.BootstrapMenuItemRendererHorz) HCUL(com.helger.html.hc.html.grouping.HCUL) IMenuSeparator(com.helger.photon.core.menu.IMenuSeparator) BootstrapContainer(com.helger.photon.bootstrap4.layout.BootstrapContainer) HCP(com.helger.html.hc.html.grouping.HCP) Nonnull(javax.annotation.Nonnull)

Example 2 with IMenuItemExternal

use of com.helger.photon.core.menu.IMenuItemExternal in project phoss-smp by phax.

the class SMPRendererPublic method getContent.

@Nonnull
public static IHCNode getContent(@Nonnull final LayoutExecutionContext aLEC) {
    final Locale aDisplayLocale = aLEC.getDisplayLocale();
    final HCNodeList ret = new HCNodeList();
    // Header
    ret.addChild(_getNavbar(aLEC));
    final BootstrapContainer aOuterContainer = ret.addAndReturnChild(new BootstrapContainer().setFluid(true));
    // Breadcrumbs
    if (false) {
        final BootstrapBreadcrumb aBreadcrumbs = BootstrapBreadcrumbProvider.createBreadcrumb(aLEC);
        aBreadcrumbs.addClasses(CBootstrapCSS.D_NONE, CBootstrapCSS.D_SM_BLOCK);
        aOuterContainer.addChild(aBreadcrumbs);
    }
    // Content
    aOuterContainer.addChild(BootstrapPageRenderer.getPageContent(aLEC));
    // Footer
    {
        final BootstrapContainer aDiv = createDefaultFooter(SMPWebAppConfiguration.isPublicShowApplicationName(), SMPWebAppConfiguration.isPublicShowSource(), SMPWebAppConfiguration.isPublicShowAuthor());
        {
            final BootstrapMenuItemRendererHorz aRenderer = new BootstrapMenuItemRendererHorz(aDisplayLocale);
            final HCUL aUL = new HCUL().addClass(CSS_CLASS_FOOTER_LINKS);
            for (final IMenuObject aMenuObj : FOOTER_OBJECTS) {
                if (aMenuObj instanceof IMenuSeparator)
                    aUL.addItem(aRenderer.renderSeparator(aLEC, (IMenuSeparator) aMenuObj));
                else if (aMenuObj instanceof IMenuItemPage)
                    aUL.addItem(aRenderer.renderMenuItemPage(aLEC, (IMenuItemPage) aMenuObj, false, false, false));
                else if (aMenuObj instanceof IMenuItemExternal)
                    aUL.addItem(aRenderer.renderMenuItemExternal(aLEC, (IMenuItemExternal) aMenuObj, false, false, false));
                else
                    throw new IllegalStateException("Unsupported menu object type!");
            }
            if (aUL.hasChildren())
                aDiv.addChild(aUL);
        }
        if (aDiv.hasChildren())
            aOuterContainer.addChild(aDiv);
    }
    return ret;
}
Also used : Locale(java.util.Locale) HCNodeList(com.helger.html.hc.impl.HCNodeList) BootstrapMenuItemRendererHorz(com.helger.photon.bootstrap4.uictrls.ext.BootstrapMenuItemRendererHorz) HCUL(com.helger.html.hc.html.grouping.HCUL) IMenuSeparator(com.helger.photon.core.menu.IMenuSeparator) BootstrapContainer(com.helger.photon.bootstrap4.layout.BootstrapContainer) IMenuItemPage(com.helger.photon.core.menu.IMenuItemPage) IMenuObject(com.helger.photon.core.menu.IMenuObject) BootstrapBreadcrumb(com.helger.photon.bootstrap4.breadcrumb.BootstrapBreadcrumb) IMenuItemExternal(com.helger.photon.core.menu.IMenuItemExternal) Nonnull(javax.annotation.Nonnull)

Aggregations

HCUL (com.helger.html.hc.html.grouping.HCUL)2 HCNodeList (com.helger.html.hc.impl.HCNodeList)2 BootstrapContainer (com.helger.photon.bootstrap4.layout.BootstrapContainer)2 BootstrapMenuItemRendererHorz (com.helger.photon.bootstrap4.uictrls.ext.BootstrapMenuItemRendererHorz)2 IMenuItemExternal (com.helger.photon.core.menu.IMenuItemExternal)2 IMenuItemPage (com.helger.photon.core.menu.IMenuItemPage)2 IMenuObject (com.helger.photon.core.menu.IMenuObject)2 IMenuSeparator (com.helger.photon.core.menu.IMenuSeparator)2 Locale (java.util.Locale)2 Nonnull (javax.annotation.Nonnull)2 ISimpleURL (com.helger.commons.url.ISimpleURL)1 SimpleURL (com.helger.commons.url.SimpleURL)1 HCP (com.helger.html.hc.html.grouping.HCP)1 HCA (com.helger.html.hc.html.textlevel.HCA)1 BootstrapBreadcrumb (com.helger.photon.bootstrap4.breadcrumb.BootstrapBreadcrumb)1 HCUniversalAnalytics (com.helger.photon.uicore.html.google.HCUniversalAnalytics)1 IRequestWebScopeWithoutResponse (com.helger.web.scope.IRequestWebScopeWithoutResponse)1