Forum Discussion

godd4k's avatar
godd4k
Regular Visitor
8 years ago
Solved

Events only triggered once [Dashboard confirmed]

I've started implementing some functionality using the tileClicked event on an embedded dashboard, it works great but the event is only triggered once and then never again.   Here's a watered down ...
  • godd4k's avatar
    godd4k
    8 years ago

    v-ljerr-msft

    I should have updated this post, the problem was actually that empty DOM elements were infront of my dashboard element and so I was never actualy clicking on the tile after the first time (where they get added), it just looked like it. Bit of a rookie mistake really, I clearly wasn't thinking but it's all working now.

    FYI though, you are able to have multiple listeners for the same event on an element.

    For example

     

    var embeddedDashboard = powerbi.embed({{myElem}}, {{myConfig}});
    embeddedDashboard.on('tileClicked', function (event) {
      console.log('tile clicked event', event);
    });
    embeddedDashboard.on('tileClicked', function (event) {
    console.log('I would log after the above console log');
    });

     

    Using off

     

    var embeddedDashboard = powerbi.embed({{myElem}}, {{myConfig}});
    embeddedDashboard.on('tileClicked', function (event) {
      console.log('You will never see me', event);
    });
    embeddedDashboard.off('tileClicked);
    embeddedDashboard.on('tileClicked', function (event) {
    console.log('You would see me though!');
    });

     

    var embeddedDashboard = powerbi.embed({{myElem}}, {{myConfig}});
    embeddedDashboard.on('tileClicked', function (event) {
      console.log('You will never see me', event);
    });
    embeddedDashboard.on('tileClicked', function (event) {
    console.log('Or me!');
    });
    embeddedDashboard.off('tileClicked');