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ïnitialiseerdupdate
- werkt de gegevens van de visual bijgetFormattingModel
, retourneert een opmaakmodel dat het eigenschappenvenster (opmaakopties) vult, waar u indien nodig eigenschappen kunt wijzigendestroy
- 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 bevathost: 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 visualcreateSelectionManager
- 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 lokalisatieapplyJsonFilter
- past specifieke filtertypen toe. Filter-API bekijkenapplyCustomSort
- 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 herlaadbewerkingeventService
- retourneert een gebeurtenisservice ter ondersteuning van Render-gebeurtenissenstorageService
- retourneert een service om lokale opslag in de visual te gebruikenstorageV2Service
- retourneert een service om lokale opslagversie 2 in de visual te gebruikentooltipService
- retourneert een knopinfoservice om knopinfo in de visual te gebruikentelemetry
drill
launchUrl
- helpt bij het starten van DE URL op het volgende tabbladauthenticationService
- retourneert een Microsoft Entra ID-token.locale
- retourneert een landinstellingentekenreeks, zie LokalisatieinstanceId
- retourneert een tekenreeks om het huidige visuele exemplaar te identificerencolorPalette
- retourneert de colorPalette die vereist is om kleuren toe te passen op uw gegevensfetchMoreData
- ondersteunt het gebruik van meer gegevens dan de standaardlimiet (1000 rijen). Zie Meer gegevens ophalenswitchFocusModeState
- 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 weergegevendataViews: 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-filtersisInFocus?: 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.