@Nonnull public IHCNode renderMenuItemPage (@Nonnull final ISimpleWebExecutionContext aSWEC, @Nonnull final IMenuItemPage aMenuItem, final boolean bHasChildren, final boolean bIsSelected, final boolean bIsExpanded) { final String sMenuItemID = aMenuItem.getID (); final HCA aLink = new HCA (aSWEC.getLinkToMenuItem (sMenuItemID)); aLink.addChild (aMenuItem.getDisplayText (getContentLocale ()) + (bHasChildren && !bIsExpanded ? " [+]" : "")); aLink.setID (CSS_ID_PREFIX_MENU_ITEM + sMenuItemID); if (bIsSelected) aLink.addClass (CSS_CLASS_SELECTED_MENU_ITEM); return aLink; }
@Nonnull default IPage getSelectedPage () { final IMenuItemPage aSelectedMenuItem = getSelectedMenuItem (); // Resolve the page of the selected menu item (if found) if (aSelectedMenuItem.matchesDisplayFilter ()) { // Only if we have display rights! return aSelectedMenuItem.getPage (); } // No rights -> goto start page return getMenuTree ().getDefaultMenuItem ().getPage (); }
@Nonnull public static <WPECTYPE extends IWebPageExecutionContext> IMenuItemPage addUtilsItems (@Nonnull final IMenuTree aMenuTree, @Nonnull final IMenuItem aParent, @Nullable final IMenuObjectFilter aDisplayFilter) { final IMenuItemPage aAdminSysInfo = aMenuTree.createItem (aParent, new BasePageShowChildren <WPECTYPE> (MENU_ADMIN_UTILS, EWebPageText.PAGE_NAME_UTILS.getAsMLT (), aMenuTree)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminSysInfo, new BasePageUtilsPortChecker <WPECTYPE> (MENU_ADMIN_UTILS_PORT_CHECKER)) .setDisplayFilter (aDisplayFilter); return aAdminSysInfo; }
@Nullable public String getMenuItemAsString () { return m_aMenuItem == null ? null : m_aMenuItem.getID (); }
/** * Get the label to display. * * @param aMenuItem * Menu item. Never <code>null</code>. * @param bHasChildren * <code>true</code> if the item has children * @param bIsSelected * <code>true</code> if it is selected * @param bIsExpanded * <code>true</code> if it is expanded. * @return The label text. Should not be <code>null</code>. * @see #getContentLocale() */ @Nonnull @OverrideOnDemand protected String getMenuItemPageLabel (@Nonnull final IMenuItemPage aMenuItem, final boolean bHasChildren, final boolean bIsSelected, final boolean bIsExpanded) { return aMenuItem.getDisplayText (getContentLocale ()); }
if (aDefaultMenuItem != null && aDefaultMenuItem.matchesDisplayFilter ()) aMenuItem = aDefaultMenuItem;
public final void postRedirectGet (@Nonnull final ISimpleURL aTargetURL, @Nullable final IHCNode aContent) throws ForcedRedirectException { // Add the "PRG active" parameter throw new ForcedRedirectException (m_aSelectedMenuItem.getID (), aTargetURL, aContent); }
/** * Get the label to display. * * @param aMenuItem * Menu item. Never <code>null</code>. * @param bHasChildren * <code>true</code> if the item has children * @param bIsSelected * <code>true</code> if it is selected * @param bIsExpanded * <code>true</code> if it is expanded. * @return The label text. Should not be <code>null</code>. * @see #getContentLocale() */ @Nonnull @OverrideOnDemand protected String getMenuItemPageLabel (@Nonnull final IMenuItemPage aMenuItem, final boolean bHasChildren, final boolean bIsSelected, final boolean bIsExpanded) { return aMenuItem.getDisplayText (getContentLocale ()); }
if (aSelectedMenuItem.matchesDisplayFilter ()) aDisplayPage = GenericReflection.uncheckedCast (aSelectedMenuItem.getPage ()); aDisplayPage = GenericReflection.uncheckedCast (aLEC.getMenuTree ().getDefaultMenuItem ().getPage ());
@Nonnull public static <WPECTYPE extends IWebPageExecutionContext> IMenuItemPage addUtilsItems (@Nonnull final IMenuTree aMenuTree, @Nonnull final IMenuItem aParent, @Nullable final IMenuObjectFilter aDisplayFilter) { final IMenuItemPage aAdminUtils = aMenuTree.createItem (aParent, new BasePageShowChildren <WPECTYPE> (MENU_ADMIN_UTILS, EWebPageText.PAGE_NAME_UTILS.getAsMLT (), aMenuTree)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminUtils, new BasePageUtilsPortChecker <WPECTYPE> (MENU_ADMIN_UTILS_PORT_CHECKER)) .setDisplayFilter (aDisplayFilter); return aAdminUtils; }
@Nonnull @Nonempty public static String getMenuItemID (@Nonnull final IRequestWebScopeWithoutResponse aRequestScope) { return getMenuItem (aRequestScope).getID (); }
aMenuItem.getDisplayText (aDisplayLocale)));
if (aSelectedMenuItem.matchesDisplayFilter ()) aDisplayPage = (IWebPage <WebPageExecutionContext>) aSelectedMenuItem.getPage (); aDisplayPage = (IWebPage <WebPageExecutionContext>) aLEC.getMenuTree ().getDefaultMenuItem ().getPage ();
@Nonnull public static <WPECTYPE extends IWebPageExecutionContext> IMenuItemPage addDataItems (@Nonnull final IMenuTree aMenuTree, @Nonnull final IMenuItem aParent, @Nullable final IMenuObjectFilter aDisplayFilter) { final IMenuItemPage aAdminData = aMenuTree.createItem (aParent, new BasePageShowChildren <WPECTYPE> (MENU_ADMIN_DATA, EWebPageText.PAGE_NAME_DATA.getAsMLT (), aMenuTree)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataCountries <WPECTYPE> (MENU_ADMIN_DATA_COUNTRIES)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataCurrencies <WPECTYPE> (MENU_ADMIN_DATA_CURRENCIES)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataLanguages <WPECTYPE> (MENU_ADMIN_DATA_LANGUAGES)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataTimeZones <WPECTYPE> (MENU_ADMIN_DATA_TIMEZONES)) .setDisplayFilter (aDisplayFilter); return aAdminData; }
/** * @return The ID of the selected menu item as specified in the constructor. * Neither <code>null</code> nor empty. */ @Nonnull @Nonempty default String getSelectedMenuItemID () { return getSelectedMenuItem ().getID (); }
aMenuItem.getDisplayText (aDisplayLocale)));
if (aSelectedMenuItem.matchesDisplayFilter ()) aDisplayPage = (IWebPage <WebPageExecutionContext>) aSelectedMenuItem.getPage (); aDisplayPage = (IWebPage <WebPageExecutionContext>) aLEC.getMenuTree ().getDefaultMenuItem ().getPage ();
@Nonnull public static <WPECTYPE extends IWebPageExecutionContext> IMenuItemPage addDataItems (@Nonnull final IMenuTree aMenuTree, @Nonnull final IMenuItem aParent, @Nullable final IMenuObjectFilter aDisplayFilter) { final IMenuItemPage aAdminData = aMenuTree.createItem (aParent, new BasePageShowChildren <WPECTYPE> (MENU_ADMIN_DATA, EWebPageText.PAGE_NAME_DATA.getAsMLT (), aMenuTree)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataCountries <WPECTYPE> (MENU_ADMIN_DATA_COUNTRIES)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataCurrencies <WPECTYPE> (MENU_ADMIN_DATA_CURRENCIES)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataLanguages <WPECTYPE> (MENU_ADMIN_DATA_LANGUAGES)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminData, new BasePageDataTimeZones <WPECTYPE> (MENU_ADMIN_DATA_TIMEZONES)) .setDisplayFilter (aDisplayFilter); return aAdminData; }
@Nonnull public IHCNode renderMenuItemPage (@Nonnull final ISimpleWebExecutionContext aSWEC, @Nonnull final IMenuItemPage aMenuItem, final boolean bHasChildren, final boolean bIsSelected, final boolean bIsExpanded) { final HCA aLink = new HCA (aSWEC.getLinkToMenuItem (aMenuItem.getID ())); aLink.addChild (getMenuItemPageLabel (aMenuItem, bHasChildren, bIsSelected, bIsExpanded)); if (bHasChildren && !bIsExpanded) aLink.addChildren (new HCTextNode (" "), EBootstrapIcon.CHEVRON_RIGHT.getAsNode ()); return aLink; }
@Nonnull public static <WPECTYPE extends IWebPageExecutionContext> IMenuItemPage addSettingsItems (@Nonnull final IMenuTree aMenuTree, @Nonnull final IMenuItem aParent, @Nullable final IMenuObjectFilter aDisplayFilter, @Nullable final NamedSMTPSettingsManager aNamedSMTPSettingsMgr) { final IMenuItemPage aAdminSettings = aMenuTree.createItem (aParent, new BasePageShowChildren <WPECTYPE> (MENU_ADMIN_SETTINGS, EWebPageText.PAGE_NAME_SETTINGS.getAsMLT (), aMenuTree)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminSettings, new BasePageSettingsGlobal <WPECTYPE> (MENU_ADMIN_SETTINGS_GLOBAL)) .setDisplayFilter (aDisplayFilter); aMenuTree.createItem (aAdminSettings, new BasePageSettingsHTML <WPECTYPE> (MENU_ADMIN_SETTINGS_HTML)) .setDisplayFilter (aDisplayFilter); if (aNamedSMTPSettingsMgr != null) { aMenuTree.createItem (aAdminSettings, new BasePageSettingsSMTP <WPECTYPE> (aNamedSMTPSettingsMgr, MENU_ADMIN_SETTINGS_SMTP)) .setDisplayFilter (aDisplayFilter); } aMenuTree.createItem (aAdminSettings, new BasePageSettingsSystemMessage <WPECTYPE> (MENU_ADMIN_SETTINGS_SYSTEMMESSAGE)) .setDisplayFilter (aDisplayFilter); return aAdminSettings; }