Wednesday, 25 April 2018

Oracle APEX region help text hacks

Oracle APEX 5 region help text

 

Simple way for creating region help details 


Universal theme - how to implement region help text?


Prior or later we all had this question from our end users "I want a region help text same as what you did for page items". 

Fair enough you say this should be simple to do. Something that is similar to 

Unfortunately the only current region in APEX (Universal theme) that support this functionality out of the box is new interactive grid. But even here it is not ideal as it sits under Actions menu -> Help and contains additional text about IG functionalities which might be not what you want to show anyway.    

Ok so what about workarounds?


In this post I will cover an easy alternative that might be handy if this is not a general application requirement where all regions in your application would need to have a help text. In this case approach would be slightly different and more generic which I will cover this in separate post to follow. 

Steps:
  1. Create a interactive report for example give it a static ID: my_sample_region
  2. Create new standard region item with specific Help text (that you want to show for your region)
    - Item name: P11_HELP_ITEM
    -
    Type: Text field
    - Label: Your Help text title
    - Label Column span: 0
    - Under Advance CSS classes set your CSS class for example: hide_input
    - Help Text: This is my help text! 

     
    So far region should look like this

  3. Apply some CSS
    .hide_input  {
            display:none !important;
    }
     
  4. Apply some simple JQuery magic                                                                               $('#my_sample_region .t-Region-title').append($('#P11_HELP_ITEM_CONTAINER button'));
  5. And we are done. 

Please note that JQuery selectors do depend on region template you are working with but generally speaking this should still work. Also I am assuming you are using Universal Theme.

Probably not the ideal way but still you can do this for any region you have on a page.

Demo 
 
Happy APEXing,
Lino