API Visual
Semua visual dimulai dengan kelas yang mengimplementasikan IVisual
antarmuka. Anda dapat memberi nama kelas apa pun asalkan ada satu kelas yang mengimplementasikan antarmuka IVisual
.
Catatan
Nama kelas visual harus sama dengan visualClassName
di file pbiviz.json
.
Kelas visual harus menerapkan metode berikut seperti yang ditunjukkan dalam sampel berikut:
constructor
- konstruktor standar yang menginisialisasi status visualupdate
- memperbarui data visualgetFormattingModel
, mengembalikan model pemformatan yang mengisi panel properti (opsi pemformatan) tempat Anda dapat mengubah properti sesuai kebutuhandestroy
- destruktor standar untuk pembersihan
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
constructor
kelas visual dipanggil saat instans visual dibuat. Ini dapat digunakan untuk operasi penyiapan apa pun yang dibutuhkan visual.
constructor(options: VisualConstructorOptions)
VisualConstructorOptions
Antarmuka ini diperbarui dengan setiap versi API baru. Untuk format antarmuka yang paling diperbarui, buka repositori GitHub kami.
Daftar berikut ini menjelaskan beberapa properti VisualConstructorOptions
antarmuka:
element: HTMLElement
- referensi ke elemen DOM yang berisi visual Andahost: IVisualHost
- kumpulan properti dan layanan yang dapat digunakan untuk berinteraksi dengan host visual (Power BI)IVisualHost
berisi layanan berikut:createSelectionIdBuilder
- menghasilkan dan menyimpan metadata untuk item yang dapat dipilih di visual AndacreateSelectionManager
- membuat jembatan komunikasi yang digunakan untuk memberi tahu host visual tentang perubahan dalam status pemilihan, lihat Selection API.hostCapabilities
refreshHostData
downloadService
- mengembalikan informasi hasil yang diperluas dari unduhan.eventService
- mengembalikan informasi tentang peristiwa penyajian.hostEnv
displayWarningIcon
- mengembalikan pesan kesalahan atau peringatan.licenseManager
- mengembalikan informasi lisensi.createLocalizationManager
- menghasilkan manajer untuk membantu pelokalanapplyJsonFilter
- menerapkan jenis filter tertentu. Lihat FILTER APIapplyCustomSort
- memungkinkan opsi pengurutan kustom.acquireAADTokenService
- mengembalikan informasi autentikasi ID Microsoft Entra.webAccessService
- mengembalikan status izin untuk mengakses sumber daya jarak jauh.openModalDialog
- mengembalikan kotak dialog.persistProperties
- memungkinkan pengguna untuk membuat pengaturan persisten dan menyimpannya bersama dengan definisi visual, sehingga mereka tersedia pada reload berikutnyaeventService
- mengembalikan layanan peristiwa untuk mendukung Peristiwa renderstorageService
- mengembalikan layanan untuk membantu menggunakan penyimpanan lokal dalam visualstorageV2Service
- mengembalikan layanan untuk membantu menggunakan penyimpanan lokal versi 2 di visualtooltipService
- mengembalikan layanan tipsalat untuk membantu menggunakan tipsalat dalam visualtelemetry
drill
launchUrl
- membantu meluncurkan URL di tab berikutnyaauthenticationService
- mengembalikan token ID Microsoft Entra.locale
- mengembalikan string lokal, lihat PelokalaninstanceId
- mengembalikan string untuk mengidentifikasi instans visual saat inicolorPalette
- mengembalikan colorPalette yang diperlukan untuk menerapkan warna ke data AndafetchMoreData
- mendukung penggunaan lebih banyak data daripada batas standar (1.000 baris). Lihat Mengambil data lainnyaswitchFocusModeState
- membantu mengubah status mode fokus
pembaruan
Semua visual harus menerapkan metode pembaruan publik yang dipanggil setiap kali ada perubahan di lingkungan data atau host.
public update(options: VisualUpdateOptions): void
VisualUpdateOptions
viewport: IViewport
- dimensi viewport bahwa visual harus dirender di dalamnyadataViews: DataView[]
- objek tampilan data yang berisi semua data yang diperlukan untuk merender visual Anda (visual umumnya menggunakan properti kategoris di bawah DataView)type: VisualUpdateType
- bendera yang menunjukkan jenis data yang sedang diperbarui (Resize | ViewMode | Style | ResizeEnd Data) |viewMode: ViewMode
- bendera yang menunjukkan mode tampilan visual (Lihat | Edit | InFocusEdit)editMode: EditMode
- bendera yang menunjukkan mode edit visual (Default | Advanced) (jika visual mendukung AdvancedEditMode, itu harus merender kontrol UI tingkat lanjut hanya ketika editMode diatur ke Tingkat Lanjut, lihat AdvancedEditMode)operationKind?: VisualDataChangeOperationKind
- bendera yang menunjukkan jenis perubahan data (Buat | Tambahkan)jsonFilters?: IFilter[]
- kumpulan filter json yang diterapkanisInFocus?: boolean
- bendera untuk menunjukkan apakah visual berada dalam mode fokus atau tidak
getFormattingModel (opsional)
Metode ini dipanggil sekali setiap kali kita membuka panel properti atau pengguna mengedit salah satu properti di panel. Ini ditampilkan FormattingModel
dengan semua informasi tentang desain panel properti, hierarki, properti, dan nilai pemformatan terbaru.
getFormattingModel(): visuals.FormattingModel;
destroy (opsional)
Fungsi destroy dipanggil saat visual Anda dibongkar dan dapat digunakan untuk tugas pembersihan seperti menghapus listener peristiwa.
public destroy(): void
Tip
Power BI umumnya tidak memanggil destroy
karena lebih cepat menghapus seluruh IFrame yang berisi visual.