Comment gérer les événements

Conseil

Expérimentez les API en temps réel à l’aide de votre propre rapport ou de notre exemple de rapport dans la section Bac à sable des développeurs du Power BI Embedded Analytics Playground.

Les événements sont utilisés pour communiquer entre le composant Power BI (par exemple, un rapport) et le code de l’application web.

Un composant incorporé émet des événements après l’exécution d’une action à l’intérieur du composant. Il peut s’agir d’interactions utilisateur ou d’une action automatisée (comme un visuel affiché) dans le composant.

Par exemple, buttonClicked est un événement émis par un rapport Power BI lorsqu’un utilisateur clique sur un bouton dans le rapport. Vous pouvez écouter l’événement à l’aide de report.on(...), puis définir un gestionnaire d’événements.

Exemple de gestion d’un événement

Cet exemple montre comment gérer un événement de rapport. Pour en savoir plus sur les autres types d’événements, consultez Événements et leurs valeurs de réponse.

Notes

Attendez que le composant se charge avant d’utiliser les API. Écoutez l’événement chargé, puis émettez de nouvelles commandes.

report.on('loaded', function(event)
{
    reportPages = await report.getPages();
});

Comment supprimer des gestionnaires d’événements

Vous pouvez utiliser report.off(...) pour supprimer tous les gestionnaires d’événements pour un événement spécifique.

Événements et leurs valeurs de réponse

Affichez la liste complète des événements possibles et leurs valeurs de réponse.

Événements d’erreur (pertinents pour toutes les incorporations)

Un événement d’erreur est émis pour décrire une opération ayant échoué.

interface IError {
    message: string // A general message that describes the operation that failed (example: "Could not set page")
    detailedMessage?: string // Detailed message that describes the error
    errorCode?: string  //  Short message that describes the error
    level?: TraceType // The level of the error (example: 'Fatal')
    technicalDetails?: ITechnicalDetails
}

interface ITechnicalDetails {
    requestId?: string // Id for debugging - should be provided when reporting a bug
}

Notes

Seule la message propriété est requise et les autres propriétés peuvent ne pas être définies.

Événements de rapport

Un événement de rapport est émis pour une interaction avec un rapport incorporé, comme cliquer sur un bouton de rapport ou afficher un visuel.

buttonClicked

L’événement buttonClicked est déclenché lorsqu’un utilisateur clique sur un bouton Rapport .

 id: string
 title?: string
 type?: string (type of button)
 bookmark?: string

commandTriggered

L’événement commandTriggered est déclenché lorsqu’un utilisateur clique sur une commande d’extension.

 command: string
 dataPoints?: IIdentityValue[]
 report: models.IReport
 page: models.IPage
 visual: models.IVisual

dataHyperlinkClicked

L’événement dataHyperlinkClicked est déclenché lorsque l’utilisateur clique sur un lien hypertexte et que le comportement du lien hypertexte est défini sur NavigateAndRaiseEvent ou RaiseEvent.

 url: string
 report: models.IReport
 page: models.IPage
 visual: models.IVisual

Pour plus d’informations, consultez Configurer les paramètres de rapport.

dataSelected

L’événement dataSelected est déclenché lorsqu’un point de données spécifique est sélectionné.

 report: models.IReport
 page: models.IPage
 visual: models.IVisual
 filters: IFilter[]
 dataPoints: IIdentityValue[]

chargé

L’événement loaded est déclenché lorsque le rapport s’initialise. Le chargement est terminé lorsque le logo Power BI disparaît.

pageChanged

L’événement pageChanged est déclenché chaque fois qu’une page est modifiée.

 newPage: Models.IPage

Rendu

L’événement rendered est déclenché lorsqu’un rapport est entièrement rendu. Par exemple, si tous les visuels sont rendus lors du chargement d’un rapport ou après une interaction utilisateur.

saveAsTriggered

L’événement saveAsTriggered est déclenché lorsqu’un utilisateur clique sur Enregistrer sous dans l’interface utilisateur. Cela vous permet de créer votre propre boîte de dialogue pour l’action Enregistrer sous .

Sauvé

L’événement saved est déclenché lorsqu’un enregistrement est déclenché par une save action ou saveAs dans l’interface utilisateur ou à l’aide des API.

selectionChanged

L’événement selectionChanged est déclenché chaque fois que l’utilisateur modifie le visuel sélectionné. selectedItems est une liste de tous les visuels sélectionnés lorsque plusieurs sont sélectionnés.

 report: models.IReport
 page: models.IPage
 visual?: models.IVisual
 selectedItems?: models.IVisual[]

visualClicked

L’événement visualClicked est déclenché chaque fois que l’utilisateur clique sur un visuel.

 report: models.IReport
 page: models.IPage
 visual: models.IVisual

visualRendered

L’événement visualRendered est déclenché lorsqu’un visuel est rendu (nécessite la définition de la valeurvisualRenderedEvents true dans l’objet settings).

Notes

Étant donné que les visuels peuvent s’afficher en raison d’interactions utilisateur, il est recommandé d’activer cet événement uniquement si nécessaire.

 name: string

Pour plus d’informations, consultez Configurer les paramètres de rapport.

Rapport incorporer des événements mobiles

Un événement Report Embed Mobile est émis pour une interaction avec un rapport incorporé dans une disposition mobile, comme le début ou la fin d’un balayage.

événements swipeStart et swipeEnd

swipeStart ou swipeEnd les événements sont déclenchés lorsqu’un utilisateur commence ou termine un mouvement de balayage sur un rapport incorporé.

interface ISwipeEvent {
    currentPosition: IPosition
    startPosition: IPosition
}

interface IPosition {
    x: number
    y: number
}

Événements de tableau de bord

Un événement de tableau de bord est émis lors du chargement du tableau de bord et lorsqu’un utilisateur clique sur une vignette dans le tableau de bord.

chargé

L’événement loaded est déclenché lorsque le tableau de bord s’initialise.

tileClicked

L’événement tileClicked est déclenché lorsqu’un utilisateur final clique sur une vignette. Il n’est pas déclenché pour les pages en direct épinglées.

 tileId: string
 navigationUrl: string
 pageName: string
 reportEmbedUrl: string

Événements Q&R

Un événement question-réponse (Q&A) est déclenché lorsqu’un visuel est affiché après avoir entré une question.

visualRendered (Q&A)

L’événement visualRendered est déclenché lorsqu’un visuel est rendu après l’entrée d’une question et qu’une réponse s’affiche.

 question: string
 normalizedQuestion: string

Événements de vignette

Un événement Tile est déclenché lorsqu’un utilisateur clique sur une vignette.

tileClicked (événement de vignette)

L’événement tileClicked est déclenché lorsqu’un utilisateur final clique sur une vignette. Il n’est pas déclenché pour les pages en direct épinglées.

 tileId: string
 navigationUrl: string
 pageName: string
 reportEmbedUrl: string

tileLoaded

L’événement tileLoaded est déclenché lorsque la vignette s’initialise. Le chargement est terminé lorsque le logo Power BI disparaît.

Étapes suivantes