Visualobjekt-API
Alle visualobjekter starter med en klasse som implementerer grensesnittet IVisual
. Du kan gi klassen et navn så lenge det er nøyaktig én klasse som implementerer grensesnittet IVisual
.
Merk
Klassenavnet for visualobjektet må være det samme som visualClassName
i pbiviz.json
filen.
Visualobjektklassen bør implementere følgende metoder som vist i følgende eksempel:
constructor
– en standardkonstruktør som initialiserer visualobjektets tilstandupdate
– oppdaterer dataene for visualobjektetgetFormattingModel
returnerer en formateringsmodell som fyller ut egenskapsruten (formateringsalternativer) der du kan endre egenskaper etter behovdestroy
- en standard destructor for opprydding
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
Visualobjektklassen constructor
kalles når visualobjektet startes. Den kan brukes for alle oppsettsoperasjoner som visualobjektet trenger.
constructor(options: VisualConstructorOptions)
VisualConstructorOptions
Disse grensesnittene oppdateres med hver nye API-versjon. Hvis du vil ha det mest oppdaterte grensesnittformatet, kan du gå til GitHub-repositoriet vårt.
Listen nedenfor beskriver noen av egenskapene for grensesnittet VisualConstructorOptions
:
element: HTMLElement
– en referanse til DOM-elementet som inneholder visualobjektethost: IVisualHost
– en samling av egenskaper og tjenester som kan brukes til å samhandle med den visuelle verten (Power BI)IVisualHost
inneholder følgende tjenester:createSelectionIdBuilder
– genererer og lagrer metadata for valgbare elementer i visualobjektetcreateSelectionManager
– oppretter kommunikasjonsbroen som brukes til å varsle verten for visualobjektet om endringer i valgtilstanden, se Utvalgs-API.hostCapabilities
refreshHostData
downloadService
– returnerer utvidet resultatinformasjon for nedlastingen.eventService
– returnerer informasjon om gjengivelse av hendelser.hostEnv
displayWarningIcon
– returnerer feil eller advarselsmelding.licenseManager
- returnerer lisensinformasjon.createLocalizationManager
– genererer en leder for å hjelpe til med lokaliseringapplyJsonFilter
– bruker bestemte filtertyper. Se filter-APIapplyCustomSort
– tillater egendefinerte sorteringsalternativer.acquireAADTokenService
– returnerer godkjenningsinformasjon for Microsoft Entra ID.webAccessService
– returnerer tillatelsesstatus for tilgang til eksterne ressurser.openModalDialog
– returnerer en dialogboks.persistProperties
– gjør det mulig for brukere å opprette faste innstillinger og lagre dem sammen med den visuelle definisjonen, slik at de er tilgjengelige ved neste innlastingeventService
– returnerer en hendelsestjeneste for å støtte gjengivelseshendelserstorageService
– returnerer en tjeneste for å hjelpe til med å bruke lokal lagring i visualobjektetstorageV2Service
– returnerer en tjeneste for å bruke lokal lagringsplass versjon 2 i visualobjektettooltipService
– returnerer en verktøytipstjeneste for å hjelpe deg med å bruke verktøytips i visualobjektettelemetry
drill
launchUrl
– hjelper til med å starte URL-adressen i neste faneauthenticationService
– returnerer et Microsoft Entra ID-token.locale
– returnerer en nasjonal innstillingsstreng, se LokaliseringinstanceId
– returnerer en streng for å identifisere gjeldende visualobjektforekomstcolorPalette
– returnerer colorPalette som kreves for å bruke farger på dataenefetchMoreData
– støtter bruk av mer data enn standardgrensen (1000 rader). Se Hente flere dataswitchFocusModeState
– bidrar til å endre statusen for fokusmodus
Oppdateringen
Alle visualobjekter må implementere en offentlig oppdateringsmetode som kalles når det er en endring i data- eller vertsmiljøet.
public update(options: VisualUpdateOptions): void
VisualUpdateOptions
viewport: IViewport
– dimensjoner av visningsporten som visualobjektet skal gjengis idataViews: DataView[]
– datavisningsobjektet som inneholder alle dataene som kreves for å gjengi visualobjektet (et visualobjekt bruker vanligvis den kategoriske egenskapen under DataView)type: VisualUpdateType
– flagg som angir datatypen som oppdateres (Endre | størrelsen på | ViewMode | Style | ResizeEnd)viewMode: ViewMode
– flagg som angir visningsmodus for visualobjektet (Vis | Rediger | InFocusEdit)editMode: EditMode
– flagg som angir redigeringsmodus for visualobjektet (standard | avansert) (hvis visualobjektet støtter AdvancedEditMode, bør det bare gjengi de avanserte grensesnittkontrollene når editMode er satt til Avansert, se AdvancedEditMode)operationKind?: VisualDataChangeOperationKind
– flagg som angir typen dataendring (Opprett | tilføying)jsonFilters?: IFilter[]
– samling av brukte jsonfiltreisInFocus?: boolean
– flagg for å angi om visualobjektet er i fokusmodus eller ikke
getFormattingModel (valgfritt)
Denne metoden kalles én gang hver gang vi åpner egenskapsruten, eller brukeren redigerer noen av egenskapene i ruten. Den returnerer FormattingModel
med all informasjon om egenskaperrutens utforming, hierarki, egenskaper og de nyeste formateringsverdiene.
getFormattingModel(): visuals.FormattingModel;
ødelegge (valgfritt)
Ødeleggefunksjonen kalles når visualobjektet lastes ut og kan brukes til opprydningsoppgaver, for eksempel fjerning av hendelseslyttere.
public destroy(): void
Tips
Power BI ringer vanligvis ikke fordi destroy
det er raskere å fjerne hele IFrame som inneholder visualobjektet.