Come gestire gli eventi

Suggerimento

Sperimentare le API in tempo reale usando il report personalizzato o il report di esempio nella sezione Sandbox sviluppatore della Power BI Embedded Analytics Playground.

Gli eventi vengono usati per comunicare tra il componente Power BI ,ad esempio un report, e il codice dell'applicazione Web.

Un componente incorporato genera eventi dopo l'esecuzione di un'azione all'interno del componente. Queste possono essere interazioni utente o un'azione automatizzata (ad esempio il rendering di un oggetto visivo) all'interno del componente.

Ad esempio, buttonClicked è un evento generato da un report di Power BI quando un utente fa clic su un pulsante nel report. È possibile ascoltare l'evento usando report.on(...)e quindi impostare un gestore eventi.

Esempio di come gestire un evento

In questo esempio viene illustrato come gestire un evento di report. Per informazioni su altri tipi di eventi, vedere Eventi e i relativi valori di risposta.

Nota

Attendere che il componente venga caricato prima di usare le API. Ascoltare l'evento caricato e quindi eseguire nuovi comandi.

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

Come rimuovere gestori eventi

È possibile usare report.off(...) per rimuovere tutti i gestori eventi per un evento specifico.

Eventi e valori di risposta

Visualizzare un elenco completo degli eventi possibili e dei relativi valori di risposta.

Eventi di errore (rilevanti per tutti gli incorporamenti)

Viene generato un evento di errore per descrivere un'operazione non riuscita.

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
}

Nota

Solo la message proprietà è obbligatoria e le altre proprietà potrebbero non essere definita.

Eventi del report

Un evento di report viene generato per un'interazione con un report incorporato, ad esempio facendo clic su un pulsante del report o per eseguire il rendering di un oggetto visivo.

buttonClicked

L'evento buttonClicked viene generato quando un utente fa clic su un pulsante Report .

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

commandTriggered

L'evento commandTriggered viene generato quando un utente fa clic su un comando di estensione.

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

dataHyperlinkClicked

L'evento dataHyperlinkClicked viene generato quando viene fatto clic su un collegamento ipertestuale e il comportamento del collegamento ipertestuale è impostato su NavigateAndRaiseEvent o RaiseEvent.

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

Per altre informazioni, vedere Configurare le impostazioni del report.

dataSelected

L'evento dataSelected viene generato quando viene selezionato un punto dati specifico.

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

loaded

L'evento loaded viene generato quando il report inizializza. Il caricamento viene completato quando il logo di Power BI scompare.

pageChanged

L'evento pageChanged viene generato ogni volta che viene modificata una pagina.

 newPage: Models.IPage

Rendering

L'evento rendered viene generato quando viene eseguito il rendering completo di un report. Ad esempio, se tutti gli oggetti visivi vengono visualizzati al caricamento di un report o dopo un'interazione dell'utente.

saveAsTriggered

L'evento saveAsTriggered viene generato quando un utente fa clic su Salva con nome nell'interfaccia utente. In questo modo è possibile creare una finestra di dialogo personalizzata per l'azione Salva con nome.

Salvato

L'evento saved viene generato quando un salvataggio viene attivato da un'azione save o saveAs dall'interfaccia utente o usando le API.

Selectionchanged

L'evento selectionChanged viene generato ogni volta che l'utente modifica l'oggetto visivo selezionato. selectedItems è un elenco di tutti gli oggetti visivi selezionati quando vengono selezionati più oggetti visivi.

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

visualClicked

L'evento visualClicked viene generato ogni volta che viene fatto clic su un oggetto visivo.

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

visualRendered

L'evento visualRendered viene generato quando viene eseguito il rendering di un oggetto visivo (richiede l'impostazione visualRenderedEventssu true nell'oggetto impostazioni).

Nota

Poiché gli oggetti visivi potrebbero essere visualizzati a causa di interazioni utente, è consigliabile attivare questo evento solo quando necessario.

 name: string

Per altre informazioni, vedere Configurare le impostazioni del report.

Eventi Di incorporamento di report per dispositivi mobili

Un evento Di incorporamento report per dispositivi mobili viene generato per un'interazione con un report incorporato in un layout per dispositivi mobili, ad esempio l'inizio o la fine di uno scorrimento rapido.

eventi swipeStart e swipeEnd

swipeStart o swipeEnd gli eventi vengono generati quando un utente inizia o termina uno spostamento di scorrimento rapido in un report incorporato.

interface ISwipeEvent {
    currentPosition: IPosition
    startPosition: IPosition
}

interface IPosition {
    x: number
    y: number
}

Eventi del dashboard

Un evento dashboard viene generato quando il dashboard viene caricato e quando un utente fa clic su un riquadro nel dashboard.

loaded

L'evento loaded viene generato quando il dashboard inizializza.

tileClicked

L'evento tileClicked viene generato quando un utente finale fa clic su un riquadro. Non viene generato per le pagine live aggiunte.

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

Eventi Q&A

Viene generato un evento domande e risposte (Q&A) quando viene eseguito il rendering di un oggetto visivo dopo aver immesso una domanda.

visualRendered (Q&A)

L'evento viene generato quando viene eseguito il rendering di un oggetto visivo dopo l'immissione visualRendered di una domanda e viene visualizzata una risposta.

 question: string
 normalizedQuestion: string

Eventi riquadro

Viene generato un evento Tile quando un utente fa clic su un riquadro.

tileClicked (evento di riquadro)

L'evento tileClicked viene generato quando un utente finale fa clic su un riquadro. Non viene generato per le pagine live aggiunte.

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

riquadro Caricato

L'evento tileLoaded viene generato quando il riquadro inizializza. Il caricamento viene completato quando il logo di Power BI scompare.

Passaggi successivi