Embed Page/Story and update filters via javascript postMessage

Gijs
Gijs Amsterdam, Netherlands ⚪️

hi all,

we embed cards and pages/stories in iframes on our platform. We have some filtering options that build the pfilters query parameter, and reload the cards/pages iframes when those filters are changed by the user. This will fully reload the iframe. Im looking into a solution where we push the filter information into the iframes with js.

I looked into the ryuu/domojs files and this comment, https://dojo.domo.com/discussion/comment/49756#Comment_49756

The difference with our setup is that the postMessage is triggered from the parent window (not a domo custom app). I tried several formats and configs, but I cant get it to work.

I also don't get any errors, so im not sure what is going on.

document.getElementsByTagName('iframe')[0].contentWindow.postMessage(JSON.stringify({
    event: "filter",
    filter: [{{"column":"uniqueformid","operand":"IN","values":["33865"]}]
   
  }), "*")


Also, a few years ago I saw a demo where a custom domo app was build as a filter card, and the structure of the filter push was a bit different, but did not have any success with it either

{
    id: 'setFilters123',
    jsonrpc: '2.0',
    method: '/v1/filters/apply',
    params: {
      filters: [{{"column":"uniqueformid","operand":"IN","values":["33865"]}]
    }
}


Is what im trying to accomplish even possible?

Best Answer

  • Gijs
    Gijs Amsterdam, Netherlands ⚪️
    Answer ✓

    Needed to configure Embed authorized domains



Answers