Manually activate omega menu item

Post Reply
timbruegmann
Posts: 1
Joined: 07 Apr 2017, 11:57

26 Apr 2017, 13:47

Hi all,
can I set a menu item in the omega menu "active" (and all others as not active) manually (by code) without actually clicking the menu item.

My use case is that - after login - I see the home page, but the menu link for the home page is not active. So I want to activate this manually (e. g. by some javascript code) when i am on the home page.

BTW: You have the same issue on the Omega demo page, where the "Dashboard" link is not activated right after initially visiting the page, although you see the "Dashboard" page.

Thanks in advance!

User avatar
aragorn
Posts: 2659
Joined: 29 Jun 2013, 12:38

01 May 2017, 12:18

You can add the id of active menuitem to cookie after clicking login button;
Exp;
login.xhtml

Code: Select all

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <h:head>
        ...
        <script type="text/javascript">
            function addOmegaCookie() {
               $.cookie('omega_expandeditems', 'om_dashboard', {path: '/'});  /* 'om_dashboard' is the id of a menuitem in the po:menu */
            }
        </script>
    </h:head>

    <h:body styleClass="login-body">
             ...
                    <div class="ui-g-12">
                        <p:button outcome="dashboard" value="Login" icon="fa fa-check" onclick="addOmegaCookie()" />
                    </div>
            ...
    </h:body>

</html>
sidebar.xhtml

Code: Select all

<div class="menu">
    <po:menu>
          <p:menuitem id="om_dashboard" value="Dashboard" icon="fa fa-home" outcome="/dashboard"/>
        ...             

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest