Forum Discussion

FabioG's avatar
FabioG
Contributor
22 days ago

Programmatically hide dashboard Tabs

Hi all,

I want to manage tabs on a dashboard in a programmatically way, showing/hiding them based on the result of an XFBR call (or similar).

Can someone point me in the right direction, please ?

Thanks in advance

Regards

FabioG

9 Replies

  • sameburn's avatar
    sameburn
    Icon for OneStream Employee rankOneStream Employee

    It is OneStream, so anything is possible :)

    I agree with JackLacava​ about look and performance of tabs. 

    You could also probably achieve what you want by simply using an embedded dashboard approach.  For example if each tabbed dashboard layout was represented by a different dashboard, you could just show the one you want based on your condition(s) e.g. pass that value to the embedded dashboard via a parameter or onload event. 

    Since your tabs are basically embedded dashboards, they could be reused between your different dashboard layouts and you would avoid handling all the micro actions to show/hide different elements within a single dashboard

    This no/low code approach has a bit less finesse, but I believe would achieve the same effect :D

    Hope this helps

    Sam

  • Ok guys, looks like I have to dig deeper into Dynamic Dashboard too !

    Thanks a lot for Your precious answers!

    regards

    FabioG

  • Sergey's avatar
    Sergey
    Icon for OneStream Employee rankOneStream Employee

    Hi FabioG​ 

    You can leverage both XFBR or dynamic dashboard, the later being programmatically oriented.

    If you want to work with XFBR, I would use the XFBR in an "embedded dashboard" component, where the XFBR function will output the name of the dashboard you would like to see. This XFBR would be driver by an input parameter that would be defined for the button you would click to activate them (or as a Load Dashboard function).

    In order to show/hide dashboard, you can also use the XFBR directly in the Dashboard layout, in a form where your XFBR will output True or False. It will look like: " IsVisible= XFBR(MyXFBRrule,MyXFBRfunction,[MyParam1=MyParamValue1]).

    I hope it will point you to the right direction ! :)

    Regards,

  • Hi Sergey​,

    thanks for Your answer.

    Sorry maybe my question wasn't so clear: I want to hide/unhide Tab's BUTTONS (not the tabs themselves).

    Anyway, I replicated the Tabs logic using buttons that appear/disappear based on a configuration, dynamically linking them to configurable dashboards (what I wanted hide/unhide were the buttons - or, better, the tab's buttons).

    So you're confirming that, in the Tabs Layout Type, there's no way to programmatically hide/unhide Tab's Buttons (and thus I followed the right path).

    Thanks

    Best Regards

    FabioG

  • Sergey's avatar
    Sergey
    Icon for OneStream Employee rankOneStream Employee

    Hello FabioG​ 

    You can actually hide / unhide buttons on a dashboard, programmatically, using dynamic dashboards in workspace assemblies. The XFBR is the easiest way :)

    Regards,

    • DanielWillis's avatar
      DanielWillis
      Valued Contributor

      Just confirming what Sergey said, This was an example of the power of dynamic dashboards, where you could truly hide/show content rather than a 'soft' hide which often left you with formatting issues / blank space. 

      • FabioG's avatar
        FabioG
        Contributor

        Hi all,

        what I want to show/hide is not the content... While using the Tab Layout, I'd like to show/hide tab buttons programmatically, like adding/removing underlying dashboards. These are not buttons (or components) on a dashboard, they are part of the control.

        AFAIK this cannot be done programmatically.

        Suppose I have Tab1, Tab2 and Tab3. In certain conditions I want to hide Tab2 button, so the tab control has only 2 tabs available. I was able to do so implementing removing the Tab layout and adding a set of buttons that I can show/hide programmatically.

        Regards

        FabioG