Visuellt API

Alla visuella objekt börjar med en klass som implementerar IVisual gränssnittet. Du kan ge klassen namnet vad som helst så länge det finns exakt en klass som implementerar IVisual gränssnittet.

Kommentar

Det visuella klassnamnet måste vara samma som visualClassName i pbiviz.json filen.

Den visuella klassen bör implementera följande metoder enligt följande exempel:

  • constructor – en standardkonstruktor som initierar det visuella objektets tillstånd
  • update – uppdaterar det visuella objektets data
  • getFormattingModel, returnerar en formateringsmodell som fyller i egenskapsfönstret (formateringsalternativ) där du kan ändra egenskaper efter behov
  • destroy - en standardförstörare för rensning
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ören

Den constructor visuella klassen anropas när det visuella objektet instansieras. Den kan användas för alla konfigurationsåtgärder som det visuella objektet behöver.

constructor(options: VisualConstructorOptions)

VisualConstructorOptions

Dessa gränssnitt uppdateras med varje ny API-version. För det mest uppdaterade gränssnittsformatet går du till vår GitHub-lagringsplats.

I följande lista beskrivs några av egenskaperna för VisualConstructorOptions gränssnittet:

  • element: HTMLElement – en referens till DOM-elementet som innehåller ditt visuella objekt

  • host: IVisualHost – en samling egenskaper och tjänster som kan användas för att interagera med den visuella värden (Power BI)

    IVisualHost innehåller följande tjänster:

    • createSelectionIdBuilder – genererar och lagrar metadata för valbara objekt i ditt visuella objekt
    • createSelectionManager – skapar kommunikationsbrygga som används för att meddela det visuella objektets värd om ändringar i urvalstillståndet, se Markerings-API.
    • hostCapabilities
    • refreshHostData
    • downloadService– returnerar expanderad resultatinformation för nedladdningen.
    • eventService – returnerar information om återgivningshändelser.
    • hostEnv
    • displayWarningIcon – returnerar fel eller varningsmeddelande.
    • licenseManager – returnerar licensinformation.
    • createLocalizationManager – genererar en chef för att hjälpa till med lokalisering
    • applyJsonFilter – tillämpar specifika filtertyper. Se Filter-API
    • applyCustomSort – tillåter anpassade sorteringsalternativ.
    • acquireAADTokenService– returnerar autentiseringsinformation för Microsoft Entra-ID.
    • webAccessService – returnerar behörighetsstatus för åtkomst till fjärrresurser.
    • openModalDialog – returnerar en dialogruta.
    • persistProperties – tillåter användare att skapa beständiga inställningar och spara dem tillsammans med den visuella definitionen, så att de är tillgängliga vid nästa ny inläsning
    • eventService– returnerar en händelsetjänst för att stödja Render-händelser
    • storageService – returnerar en tjänst som hjälper dig att använda lokal lagring i det visuella objektet
    • storageV2Service – returnerar en tjänst som hjälper dig att använda lokal lagringsversion 2 i det visuella objektet
    • tooltipService – returnerar en knappbeskrivningstjänst för att använda knappbeskrivningar i det visuella objektet
    • telemetry
    • drill
    • launchUrl – hjälper till att starta URL:en på nästa flik
    • authenticationService – returnerar en Microsoft Entra ID-token.
    • locale – returnerar en språksträng, se Lokalisering
    • instanceId – returnerar en sträng för att identifiera den aktuella visuella instansen
    • colorPalette – returnerar den colorPalette som krävs för att tillämpa färger på dina data
    • fetchMoreData – stöder användning av mer data än standardgränsen (1 000 rader). Se Hämta mer data
    • switchFocusModeState – hjälper till att ändra fokuslägestillståndet

update

Alla visuella objekt måste implementera en offentlig uppdateringsmetod som anropas när det sker en ändring i data- eller värdmiljön.

public update(options: VisualUpdateOptions): void

VisualUpdateOptions

  • viewport: IViewport – dimensioner för det visningsområde som det visuella objektet ska återges inom
  • dataViews: DataView[] – datavyobjektet som innehåller alla data som behövs för att återge ditt visuella objekt (ett visuellt objekt använder vanligtvis den kategoriska egenskapen under DataView)
  • type: VisualUpdateType– flaggor som anger vilken typ av data som uppdateras (Ändra | storlek | på ViewMode-format | | resizeEnd)
  • viewMode: ViewMode– flaggor som anger visningsläget för det visuella objektet (Visa | Redigera | InFocusEdit)
  • editMode: EditMode- flagga som anger redigeringsläget för det visuella objektet (standard | avancerat) (om det visuella objektet stöder AdvancedEditMode bör det endast återge sina avancerade användargränssnittskontroller när editMode är inställt på Avancerat, se AdvancedEditMode)
  • operationKind?: VisualDataChangeOperationKind– flagga som anger typ av dataändring (Skapa | tillägg)
  • jsonFilters?: IFilter[] - samling av tillämpade json-filter
  • isInFocus?: boolean - flagga för att ange om det visuella objektet är i fokusläge eller inte

getFormattingModel (valfritt)

Den här metoden anropas en gång varje gång vi öppnar egenskapsfönstret eller användaren redigerar någon av egenskaperna i fönstret. Den returnerar FormattingModel med all information om egenskapernas fönsterdesign, hierarki, egenskaper och de senaste formateringsvärdena.

getFormattingModel(): visuals.FormattingModel;

destroy (valfritt)

Funktionen destroy anropas när ditt visuella objekt tas bort och kan användas för rensningsuppgifter som att ta bort händelselyssnare.

public destroy(): void

Dricks

Power BI anropar destroy vanligtvis inte eftersom det går snabbare att ta bort hela IFrame som innehåller det visuella objektet.