Visual-API

Alle visuals beginnen met een klasse die de IVisual interface implementeert. U kunt de klasse een naam geven zolang er precies één klasse is die de IVisual interface implementeert.

Notitie

De naam van de visualklasse moet hetzelfde zijn als het visualClassName in het pbiviz.json bestand.

De visualklasse moet de volgende methoden implementeren, zoals wordt weergegeven in het volgende voorbeeld:

  • constructor - een standaardconstructor waarmee de status van de visual wordt geïnitialiseerd
  • update - werkt de gegevens van de visual bij
  • getFormattingModel, retourneert een opmaakmodel dat het eigenschappenvenster (opmaakopties) vult, waar u indien nodig eigenschappen kunt wijzigen
  • destroy - een standaarddestructor voor opschonen
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)
    }
}

Constructor

De constructor visualklasse wordt aangeroepen wanneer de visual wordt geïnstantieerd. Deze kan worden gebruikt voor alle instelbewerkingen die de visual nodig heeft.

constructor(options: VisualConstructorOptions)

VisualConstructorOptions

Deze interfaces worden bijgewerkt met elke nieuwe API-versie. Ga naar onze GitHub-opslagplaats voor de meest bijgewerkte interface-indeling.

In de volgende lijst worden enkele eigenschappen van de VisualConstructorOptions interface beschreven:

  • element: HTMLElement - een verwijzing naar het DOM-element dat uw visual bevat

  • host: IVisualHost - een verzameling eigenschappen en services die kunnen worden gebruikt om te communiceren met de visualhost (Power BI)

    IVisualHost bevat de volgende services:

    • createSelectionIdBuilder - genereert en slaat metagegevens op voor selecteerbare items in uw visual
    • createSelectionManager - maakt de communicatiebrug die wordt gebruikt om de host van de visual op de hoogte te stellen van wijzigingen in de selectiestatus, zie Selectie-API.
    • hostCapabilities
    • refreshHostData
    • downloadService - retourneert uitgebreide resultaatinformatie van de download.
    • eventService - retourneert informatie over renderinggebeurtenissen.
    • hostEnv
    • displayWarningIcon - retourneert een foutbericht of waarschuwingsbericht.
    • licenseManager - retourneert licentiegegevens.
    • createLocalizationManager - genereert een manager om te helpen bij lokalisatie
    • applyJsonFilter - past specifieke filtertypen toe. Filter-API bekijken
    • applyCustomSort- hiermee kunnen aangepaste sorteeropties worden toegestaan.
    • acquireAADTokenService- retourneert verificatiegegevens van Microsoft Entra ID.
    • webAccessService - retourneert de machtigingsstatus voor toegang tot externe resources.
    • openModalDialog - retourneert een dialoogvenster.
    • persistProperties - stelt gebruikers in staat om permanente instellingen te maken en ze samen met de definitie van de visual op te slaan, zodat ze beschikbaar zijn bij de volgende herlaadbewerking
    • eventService- retourneert een gebeurtenisservice ter ondersteuning van Render-gebeurtenissen
    • storageService- retourneert een service om lokale opslag in de visual te gebruiken
    • storageV2Service- retourneert een service om lokale opslagversie 2 in de visual te gebruiken
    • tooltipService - retourneert een knopinfoservice om knopinfo in de visual te gebruiken
    • telemetry
    • drill
    • launchUrl - helpt bij het starten van DE URL op het volgende tabblad
    • authenticationService - retourneert een Microsoft Entra ID-token.
    • locale - retourneert een landinstellingentekenreeks, zie Lokalisatie
    • instanceId - retourneert een tekenreeks om het huidige visuele exemplaar te identificeren
    • colorPalette - retourneert de colorPalette die vereist is om kleuren toe te passen op uw gegevens
    • fetchMoreData - ondersteunt het gebruik van meer gegevens dan de standaardlimiet (1000 rijen). Zie Meer gegevens ophalen
    • switchFocusModeState - helpt bij het wijzigen van de status van de focusmodus

update

Alle visuals moeten een openbare updatemethode implementeren die wordt aangeroepen wanneer er een wijziging in de gegevens- of hostomgeving is.

public update(options: VisualUpdateOptions): void

VisualUpdateOptions

  • viewport: IViewport - dimensies van de viewport waarbinnen de visual moet worden weergegeven
  • dataViews: DataView[] - het gegevensweergaveobject dat alle gegevens bevat die nodig zijn om uw visual weer te geven (een visual maakt doorgaans gebruik van de categorische eigenschap onder DataView)
  • type: VisualUpdateType- vlaggen die aangeven welk type gegevens worden bijgewerkt (Formaat | | van ViewMode-stijl | | aanpassen)
  • viewMode: ViewMode- vlaggen die de weergavemodus van de visual aangeven (View | Edit | InFocusEdit)
  • editMode: EditMode- vlag die de bewerkingsmodus van de visual aangeeft (standaard | geavanceerd) (als de visual AdvancedEditMode ondersteunt, moeten de geavanceerde besturingselementen van de gebruikersinterface alleen worden weergegeven wanneer editMode is ingesteld op Geavanceerd, zie AdvancedEditMode)
  • operationKind?: VisualDataChangeOperationKind- vlag die het type gegevenswijziging aangeeft (Toevoegen maken | )
  • jsonFilters?: IFilter[] - verzameling toegepaste json-filters
  • isInFocus?: boolean - vlag om aan te geven of de visual zich in de focusmodus bevindt of niet

getFormattingModel (optioneel)

Deze methode wordt eenmaal aangeroepen wanneer we het eigenschappenvenster openen of de gebruiker bewerkt een van de eigenschappen in het deelvenster. Deze retourneert FormattingModel met alle informatie over het ontwerp van het eigenschappenvenster, de hiërarchie, de eigenschappen en de meest recente opmaakwaarden.

getFormattingModel(): visuals.FormattingModel;

vernietigen (optioneel)

De vernietigingsfunctie wordt aangeroepen wanneer uw visual wordt verwijderd en kan worden gebruikt voor het opschonen van taken, zoals het verwijderen van gebeurtenislisteners.

public destroy(): void

Tip

Power BI roept over het algemeen geen aan omdat destroy het sneller is om het volledige IFrame met de visual te verwijderen.