Friday 31 March 2017

Universal Theme sidebar menu tooltip

If your sidebar text is too long, APEX truncates it to some fixed width. Here comes the use of Tool Tip option for the side bar. Also if you make the sidebar navigation menu collapsed by default and when only the icons are displayed, This Tool Tip will be helpful to understand the menu better.

Here are the simple steps to achieve this tool-tip functionality.

1) Create an Global Page (Page 0) if its not already present.
2) In Page 0, Create a Dynamic Action on Page Load.
3) Select Action as "Execute JavaScript Code" and paste the below code in its source.

//Tooltip for Menu Text
$("#t_TreeNav").treeView("option", "tooltip", {
    content: function(cb, node) {
        return node.label;
    }
} );
 //This tells the tooltip to show up for the whole node content including the icon.
$("#t_TreeNav").tooltip("option", "items", ".a-TreeView-content");

In the above piece of code "t_TreeNav" is the ID of the sidebar navigation tree which is set by default in Universal Theme.

Once the Dynamic Action is created, Run the application and hover the mouse through Sidebar menu to see the Tool Tip in action.

Below is the sample application which demonstrates the use of tool-tip.
https://apex.oracle.com/pls/apex/f?p=83384

Cheers!!!!

10 comments:

  1. Hi, thanks for sharing !
    I've found a bug : if you're using modal window, all buttons will not work after doing this ...
    If you have any workaround ... ;)

    ReplyDelete
    Replies
    1. use parent. before $ in both lines below
      for example
      parent.$("#t_TreeNav").treeView("option", "tooltip", {
      content: function(cb, node) {
      return node.label;
      }
      } );
      //This tells the tooltip to show up for the whole node content including the icon.
      parent.$("#t_TreeNav").tooltip("option", "items", ".a-TreeView-content");

      Delete
  2. Hi Thanks for sharing this.

    I found some discrepancy with this implementation ,as it also shows tooltip on other events like 'click'(expanding child items).Is anything we can do for this, Kindly suggest.

    ReplyDelete
  3. Thanks Prashanth, worked like a charm!

    ReplyDelete
  4. hello again, i am getting this error for some pages, have this happened before to you?. they have the same page template, but for some reason treeView widget is unknown just in these pages.

    Uncaught TypeError: $(...).treeView is not a function

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. if ($("#t_Body_nav #t_TreeNav")[0] != undefined) { $("#t_Body_nav #t_TreeNav").treeView("option", "tooltip", { content: function(cb, node) { return node.label; } }); $("#t_Body_nav #t_TreeNav").tooltip("option", "items", "#t_Body_nav .a-TreeView-content");}
    //https://community.oracle.com/tech/developers/discussion/4329217/menu-tooltip

    ReplyDelete

Universal Theme - Side Navigation Menu Child Entry Icon Alignment

Hi, There is an issue with the Side Navigation Menu Child Entry Icon Alignment in Universal theme if you are using APEX 5.1 or prior vers...