Filter Request from Custom Domo App

your_super_shawn
edited May 2023 in APIs & Domo Developer

Hi everyone, I am currently working on a custom Domo app using React, and I'm trying to develop an interactive filter app. I've researched the domo.js library and found that it mainly provides functionality for managing and operating datasets, users, groups, etc., in Domo. However, it doesn't seem to be suited for sending filter requests with the Domo App Framework for real-time interactive operations.

For instance, the one I am trying to achieve: when I click somewhere on the filter app, other cards in the same dashboard can receive filter requests from the app.

In light of this, I would like to seek help on the best approach to implement a filter in a Domo custom app. Specifically, I would like to know if there are any existing APIs or methods that would allow me to achieve this functionality. If there are no direct APIs or methods available, any suggestions or workarounds for achieving this goal would be greatly appreciated!

Best Answer

  • your_super_shawn
    Answer ✓

    Guys, just share some updates on this:

    After some extensive research and communication with domo support team, it seems that creating custom filter to affect all cards and custom apps on the same dashboard is not directly feasible, due to isolated environment where domo cards and custom apps live on.

    In other words, while we can manipulate the data sources powering these cards and apps, we cant control their behaviours directly from an external custom app filter as they do not share any state or context.

    I appreciate the assistance from domo support team in helping me understand the current capabilities and limitations.

    Cheers.

Answers

  • Have you looked at the domo.filterContainer() method?

    https://developer.domo.com/portal/e947d87e17547-domo-js#domofiltercontainer

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Hi Grant,

    Thank you for your suggestion! I have indeed looked into the domo.filterContainer() method. However, this method is specifically for creating a filter container within my custom app, which affects the data displayed within the app itself. My goal is to send filter requests to other cards within the same dashboard when an interaction occurs within my custom app.

    To provide a simpler example, let's say I want to use the Domo custom app to develop a filter UI. I would like this custom filter to work similarly to Domo's native filters within a dashboard, affecting the data displayed on other cards in the same dashboard based on the option selected/entered. So, while the domo.filterContainer() method is useful for creating filters within the custom app, it doesn't directly address my need to send filter requests to other cards in the dashboard.

    If you has any further suggestions or insights on how to deal with this, I would greatly appreciate it! : )

  • your_super_shawn
    Answer ✓

    Guys, just share some updates on this:

    After some extensive research and communication with domo support team, it seems that creating custom filter to affect all cards and custom apps on the same dashboard is not directly feasible, due to isolated environment where domo cards and custom apps live on.

    In other words, while we can manipulate the data sources powering these cards and apps, we cant control their behaviours directly from an external custom app filter as they do not share any state or context.

    I appreciate the assistance from domo support team in helping me understand the current capabilities and limitations.

    Cheers.

  • Aditya_Jain
    Aditya_Jain Contributor

    @your_super_shawn
    https://developer.domo.com/portal/e947d87e17547-domo-js#domofiltercontainer

    domo.filterContainer() would add a filter on top of the page similar to what chart interactions do. This would then filter your other charts / cards/ apps if that same column is encountered in the dataset powering them.
    I wonder if this is what you are looking for. This is not just limited to the app, but it does actually filter the entire page.

    'Happy to Help'