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 tilstand -
update
– oppdaterer dataene for visualobjektet -
getFormattingModel
returnerer en formateringsmodell som fyller ut egenskapsruten (formateringsalternativer) der du kan endre egenskaper etter behov -
destroy
- 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 visualobjektet -
createSelectionManager
– 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 lokalisering -
applyJsonFilter
– bruker bestemte filtertyper. Se filter-API -
applyCustomSort
– 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 innlasting -
eventService
– returnerer en hendelsestjeneste for å støtte gjengivelseshendelser -
storageService
– returnerer en tjeneste for å hjelpe til med å bruke lokal lagring i visualobjektet -
storageV2Service
– returnerer en tjeneste for å bruke lokal lagringsplass versjon 2 i visualobjektet -
tooltipService
– returnerer en verktøytipstjeneste for å hjelpe deg med å bruke verktøytips i visualobjektet telemetry
drill
-
launchUrl
– hjelper til med å starte URL-adressen i neste fane -
authenticationService
– returnerer et Microsoft Entra ID-token. -
locale
– returnerer en nasjonal innstillingsstreng, se Lokalisering -
instanceId
– returnerer en streng for å identifisere gjeldende visualobjektforekomst -
colorPalette
– returnerer colorPalette som kreves for å bruke farger på dataene -
fetchMoreData
– støtter bruk av mer data enn standardgrensen (1000 rader). Se Hente flere data -
switchFocusModeState
– bidrar til å endre statusen for fokusmodus
-
oppdatering
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 i -
dataViews: 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 | | ResizeEnd) -
viewMode: ViewMode
– flagg som angir visningsmodus for visualobjektet (Vis | | 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 jsonfiltre -
isInFocus?: 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.