Tuesday, June 19, 2012

CDE - Popup component explained

It's been a long time request the ability to include popups in dashboards. Not only for the standard tooltips but also for rich and contextualized content.
 
 

Description 

Popup component allows us to create a standard layout element and then place it inside a popup. We can use any kind of components available in CDE to put inside the component, with all the generic interaction rules.

After getting the popup's contents defined, we need to choose an element to bind the popup to. Usually a button, can be any html element, from image to table cell.

Usage


There are 3 steps for defining the popup component
  • Defining the content that will appear on the popup
  • Configure popup component
  • Call the popup
The first one is simple - just define the layout as you'd normally do, in the end of the dashboard or any place you want. When you configure the popup component, the component will be responsible for detaching the selected elements from the dom and only showing it when the popup is called. For a better experience, you can also set a css rule like display: none to prevent onstart flickering

After that, add a popup component. The only thing that needs to be configured is the layout element that will be inserted in the content. Note that this will not appear in the general dropdown of the htmlObject element (only elements with no children appear on the list), so you'll need to type it manually.
There are 3 specific options with the following defaults:
{
    gravity: "S",               // where the popup will appear, valid values are N, S, E, W
    draggable: true,            // if you can drag the popup around
    closeOnClickOutside: false  // Clicking outside the popup will close the popup
}
The last bit is triggering the event that will call the button. We can bind it to a click event anywhere in the dom. The simplest and most useful example is clicking on a button component. This is the function that will trigger it from with a button component expression:
function f(e){   
    render_popup1.popup($(e.target));
}
Note that when you create a component with name 'popup1' CDE will generate a js variable 'named render_popup1'

8 comments:

  1. Thanks for the instructions. I think this post should be included as part of CDE for the instructions on how to use the popup component. In my use, it's one of the BEST tools to allow amazing graphical drill downs. I use this for a selector panel with 24 selectors with buttons, dropdowns, text entry, etc. I also use popups in popups in popups. This allows me to start with a global chart for all time, then a chart showing a specific month for all factories globally, then specific information on that month for the factory and finally a popup table with data visualization with an export button.

    For my uses, popups are the most used CDE component.

    ReplyDelete
  2. Thanks John. It's actually included in the cde reference docs

    ReplyDelete
  3. Hi,Pedro Alves

    I have a question, How to make a Population pyramids with CDE?. Can you give us an orientation.

    The expected result is something like this:

    http://www.census.gov/population/international/data/idb/region.php?N=%20Results%20&T=12&A=separate&RT=0&Y=2012&R=-1&C=CO

    Thanks

    ReplyDelete
  4. I see that this can be done with protovis, but do not understand how to put it in CDE linked to my data, obtained with an MDX query.

    http://multimedia.journalism.berkeley.edu/tutorials/protovis-templates/pyramid/

    ReplyDelete
  5. Thank you for the fantastic article. The place else could anyone get that kind of info in such a perfect means of writing? I have a presentation next week, and I am at the search for such information

    ReplyDelete
  6. hiii every one,from last last two month i m using pentaho cde and recently i have update my cde bundle with new version which is 1.0 rc3.I have tried as much i can but cant see the POPUP component in the component property in CDE.

    Please let me know,what should i do??
    Many many thanks for any information.

    ReplyDelete
  7. Another issu...

    How can i insert a line chart in a bar chart.
    I m using cde 1.0 RC3.

    Any information, plz give me in detail.

    Thank you.

    ReplyDelete
  8. hii evry one...

    This time i brought a new thought.Is it possible to make a drill down inside popup window??

    Another pair of eye would be greatly appreciated.

    thank you.

    ReplyDelete