Del via


Visualiserings-API

Alle visualiseringer starter med en klasse, der implementerer grænsefladen IVisual . Du kan navngive klassen, så længe der er præcis én klasse, der implementerer grænsefladen IVisual .

Bemærk

Klassenavnet for visualiseringen skal være det samme som visualClassName i pbiviz.json filen.

Visualiseringsklassen skal implementere følgende metoder som vist i følgende eksempel:

  • constructor – en standardkonstruktør, der initialiserer visualiseringens tilstand
  • update – opdaterer visualiseringens data
  • getFormattingModel, returnerer en formateringsmodel, der udfylder egenskabsruden (formateringsindstillinger), hvor du kan ændre egenskaber efter behov
  • destroy - en standarddestruktor til oprydning
class MyVisual implements IVisual {
    
    constructor(options: VisualConstructorOptions) {
        //one time setup code goes here (called once)
    }
    
    public update(options: VisualUpdateOptions): void {
        //code to update your visual goes here (called on all view or data changes)
    }

    public getFormattingModel(): FormattingModel {
        // returns modern format pane formatting model that contain all format pane components and properties (called on opening format and analytics pane or on editing format properties)
    }
    
    public destroy(): void {
        //one time cleanup code goes here (called once)
    }
}

konstruktør

Visualiseringsklassen constructor kaldes, når visualiseringen instantieres. Den kan bruges til alle konfigureringshandlinger, som visualiseringen har brug for.

constructor(options: VisualConstructorOptions)

VisualConstructorOptions

Disse grænseflader opdateres med hver nye API-version. Gå til vores GitHub-lager for at få det mest opdaterede grænsefladeformat.

På følgende liste beskrives nogle af egenskaberne for grænsefladen VisualConstructorOptions :

  • element: HTMLElement – en reference til det DOM-element, der indeholder din visualisering

  • host: IVisualHost – en samling af egenskaber og tjenester, der kan bruges til at interagere med den visuelle vært (Power BI)

    IVisualHost indeholder følgende tjenester:

    • createSelectionIdBuilder – genererer og gemmer metadata for elementer, der kan vælges, i din visualisering
    • createSelectionManager – opretter den kommunikationsbro, der bruges til at give visualiseringens vært besked om ændringer i valgtilstanden, se Valg-API.
    • hostCapabilities
    • refreshHostData
    • downloadService– returnerer udvidede resultatoplysninger for downloaden.
    • eventService – returnerer oplysninger om gengivelseshændelser.
    • hostEnv
    • displayWarningIcon – returnerer en fejl- eller advarselsmeddelelse.
    • licenseManager – returnerer licensoplysninger.
    • createLocalizationManager – genererer en leder for at hjælpe med lokalisering
    • applyJsonFilter – anvender bestemte filtertyper. Se Filter-API
    • applyCustomSort – tillader brugerdefinerede sorteringsindstillinger.
    • acquireAADTokenService– returnerer godkendelsesoplysninger for Microsoft Entra ID.
    • webAccessService – returnerer tilladelsesstatus for at få adgang til eksterne ressourcer.
    • openModalDialog – returnerer en dialogboks.
    • persistProperties – giver brugerne mulighed for at oprette faste indstillinger og gemme dem sammen med visualiseringsdefinitionen, så de er tilgængelige ved næste genindlæsning
    • eventService– returnerer en hændelsestjeneste for at understøtte gengivelseshændelser
    • storageService – returnerer en tjeneste for at hjælpe med at bruge lokalt lager i visualiseringen
    • storageV2Service – returnerer en tjeneste for at hjælpe med at bruge den lokale lagerversion 2 i visualiseringen
    • tooltipService – returnerer en værktøjstiptjeneste for at hjælpe med at bruge værktøjstip i visualiseringen
    • telemetry
    • drill
    • launchUrl – hjælper med at starte URL-adressen i næste fane
    • authenticationService – returnerer et Microsoft Entra ID-token.
    • locale – returnerer en landestandardstreng, se Lokalisering
    • instanceId – returnerer en streng til at identificere den aktuelle visualiseringsforekomst
    • colorPalette – returnerer den colorPalette, der kræves for at anvende farver på dine data
    • fetchMoreData – understøtter brug af flere data end standardgrænsen (1.000 rækker). Se Hent flere data
    • switchFocusModeState – hjælper med at ændre fokustilstandstilstanden

Opdater

Alle visualiseringer skal implementere en offentlig opdateringsmetode, der kaldes, når der er en ændring i data- eller værtsmiljøet.

public update(options: VisualUpdateOptions): void

VisualUpdateOptions

  • viewport: IViewport – dimensionerne for den visning, som visualiseringen skal gengives i
  • dataViews: DataView[] – det datavisningsobjekt, der indeholder alle de data, der er nødvendige for at gengive din visualisering (en visualisering bruger generelt kategoriegenskaben under DataView)
  • type: VisualUpdateType– flag, der angiver den datatype, der opdateres (Data | Resize | ResizeEnd)
  • viewMode: ViewMode– flag, der angiver visningstilstanden for visualiseringen (Vis | | InFocusEdit)
  • editMode: EditMode– flag, der angiver redigeringstilstanden for visualiseringen (standard | avanceret) (hvis visualiseringen understøtter AdvancedEditMode, skal den kun gengive de avancerede kontrolelementer i brugergrænsefladen, når editMode er angivet til Avanceret, se AdvancedEditMode)
  • operationKind?: VisualDataChangeOperationKind– flag, der angiver dataændringstype (Opret | tilføjelse)
  • jsonFilters?: IFilter[] - samling af anvendte json-filtre
  • isInFocus?: boolean – flag for at angive, om visualiseringen er i fokustilstand eller ej

getFormattingModel (valgfrit)

Denne metode kaldes én gang, hver gang vi åbner ruden egenskaber, eller brugeren redigerer en af egenskaberne i ruden. Den returnerer FormattingModel med alle oplysninger om design, hierarki, egenskaber og seneste formateringsværdier for ruden Egenskaber.

getFormattingModel(): visuals.FormattingModel;

destroy (valgfrit)

Funktionen destroy kaldes, når visualiseringen er fjernet og kan bruges til oprydningsopgaver, f.eks. fjernelse af lyttefunktioner til hændelser.

public destroy(): void

Tip

Power BI kalder normalt ikke, destroy da det er hurtigere at fjerne hele den IFrame, der indeholder visualiseringen.