Hahmontamistapahtumat Power BI:n visualisoinneissa
Visualisoinnin sertifioinnin saamiseksi sen täytyy sisältää hahmontamistapahtumat. Näiden tapahtumien avulla kuuntelutoiminnot (ensisijaisesti vienti PDF-tiedostoon ja PowerPointiin) tietävät, milloin visualisointi hahmonnetaan ja milloin se on valmis vientiin.
Tärkeä
Kaikkien visualisointien, jotka vievät tietoja (esimerkiksi PowerPointiin tai .pdf-tiedostoon ), on sisällettävä hahmontamistapahtumia, jotta vienti ei ala ennen visualisoinnin hahmontamista.
Hahmontamistapahtumien ohjelmointirajapinta koostuu kolmesta menetelmästä, joita tulee kutsua hahmonnuksen aikana:
renderingStarted
: Power BI:n visualisoinnin koodi kutsuu -renderingStarted
menetelmää sen ilmaisemiseksi, että hahmontamisprosessi on alkanut. Tämän menetelmän tulee aina olla päivitysmenetelmän ensimmäinen rivi, koska siitä hahmontamisprosessi alkaa.renderingFinished
: Kun hahmontaminen on suoritettu onnistuneesti, Power BI:n visualisoinnin koodi kutsuurenderingFinished
-menetelmää ilmoittaakseen kuuntelutoiminnoille, että visualisoinnin kuva on valmis vientiin. Tämän menetelmän tulee olla viimeinen koodirivi, joka on suoritettu visualisoinnin päivittyessä. Päivitysmenetelmän viimeinen rivi on yleensä, mutta ei aina.renderingFailed
: Jos hahmontamisprosessin aikana ilmenee ongelma, Power BI -visualisointia ei voi hahmontaa onnistuneesti. Jos haluat ilmoittaa kuuntelutoiminnoille, että hahmontamisprosessi ei ole valmis, Power BI:n visualisoinnin koodin tulee kutsua -renderingFailed
menetelmää. Tämä menetelmä tarjoaa myös valinnaisen merkkijonon virheen syyn ilmoittamista varten.
Muistiinpano
Tapahtumien hahmontaminen on välttämätöntä visualisointien sertifioinnin kannalta. Ilman niitä kumppanikeskus ei hyväksy visualisointiasi julkaistavaksi. Lisätietoja on artikkelissa Sertifioinnin edellytykset.
Tapahtumien hahmontamisen ohjelmointirajapinnan käyttäminen
Jos haluat kutsua hahmontamismenetelmiä, sinun on tuotava ne ensin IVisualEventService-palvelusta.
visual.ts
Sisällytä tiedostoon rivi:import IVisualEventService = powerbi.extensibility.IVisualEventService;
Sisällytä
IVisual
luokkaan rivi:private events: IVisualEventService;
constructor
Luokan -menetelmässäIVisual
this.events = options.host.eventService;
Voit nyt kutsua -menetelmiä this.events.renderingStarted(options);
, this.events.renderingFinished(options);
ja this.events.renderingFailed(options);
tarvittaessa päivitysmenetelmässä.
Esimerkki 1: Visualisointi ilman animaatioita
Tässä on esimerkki yksinkertaisesta visualisoinnista, joka käyttää tapahtumien hahmontamisen ohjelmointirajapintaa.
export class Visual implements IVisual {
...
private events: IVisualEventService;
...
constructor(options: VisualConstructorOptions) {
...
this.events = options.host.eventService;
...
}
public update(options: VisualUpdateOptions) {
this.events.renderingStarted(options);
...
this.events.renderingFinished(options);
}
Esimerkki 2: Animaatioita sisältävä visualisointi
Jos visualisoinnissa on animaatioita tai asynkronisia funktioita hahmontamista varten, renderingFinished
-menetelmä tulee kutsua animaation jälkeen tai asynkronisen funktion sisällä, vaikka se ei olisi päivitysmenetelmän viimeinen rivi.
export class Visual implements IVisual {
...
private events: IVisualEventService;
private element: HTMLElement;
...
constructor(options: VisualConstructorOptions) {
...
this.events = options.host.eventService;
this.element = options.element;
...
}
public update(options: VisualUpdateOptions) {
this.events.renderingStarted(options);
...
// Learn more at https://github.com/d3/d3-transition/blob/master/README.md#transition_end
d3.select(this.element).transition().duration(100).style("opacity","0").end().then(() => {
// renderingFinished called after transition end
this.events.renderingFinished(options);
});
}