API απεικόνισης

Όλες οι απεικονίσεις ξεκινούν με μια κλάση που υλοποιεί τη IVisual διασύνδεση . Μπορείτε να ονομάσετε την κλάση οτιδήποτε, αρκεί να υπάρχει ακριβώς μία κλάση που υλοποιεί τη IVisual διασύνδεση .

Σημείωμα

Το όνομα κλάσης απεικόνισης πρέπει να είναι ίδιο με το visualClassNamepbiviz.json στο αρχείο.

Η κλάση απεικόνισης θα πρέπει να υλοποιεί τις ακόλουθες μεθόδους, όπως φαίνεται στο παρακάτω δείγμα:

  • constructor - μια τυπική κατασκευή που προετοιμάζει την κατάσταση της απεικόνισης
  • update - ενημερώνει τα δεδομένα της απεικόνισης
  • getFormattingModel, επιστρέφει ένα μοντέλο μορφοποίησης που συμπληρώνει το τμήμα παραθύρου ιδιοτήτων (επιλογές μορφοποίησης), όπου μπορείτε να τροποποιήσετε τις ιδιότητες ανάλογα με τις ανάγκες
  • destroy - τυπική εφαρμογή καταστροφής για εκκαθάριση
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(options: VisualConstructorOptions)

VisualConstructorOptions

Αυτές οι διασυνδέσεις ενημερώνονται με κάθε νέα έκδοση του API. Για την πιο ενημερωμένη μορφή διασύνδεσης, μεταβείτε στο αποθετήριο δεδομένων GitHub.

Η παρακάτω λίστα περιγράφει ορισμένες από τις ιδιότητες της διασύνδεσης VisualConstructorOptions :

  • element: HTMLElement - μια αναφορά στο στοιχείο DOM που περιέχει την απεικόνισή σας

  • host: IVisualHost - μια συλλογή ιδιοτήτων και υπηρεσιών που μπορούν να χρησιμοποιηθούν για αλληλεπίδραση με τον κεντρικό υπολογιστή απεικόνισης (Power BI)

    IVisualHost Το περιλαμβάνει τις ακόλουθες υπηρεσίες:

    • createSelectionIdBuilder - δημιουργεί και αποθηκεύει μετα-δεδομένα για επιλεγέντα στοιχεία στην απεικόνισή σας
    • createSelectionManager - δημιουργεί τη γέφυρα επικοινωνίας που χρησιμοποιείται για την ειδοποίηση του κεντρικού υπολογιστή της απεικόνισης σχετικά με τις αλλαγές στην κατάσταση επιλογής, ανατρέξτε στο θέμα API επιλογής.
    • hostCapabilities
    • refreshHostData
    • downloadService - επιστρέφει ανεπτυγμένες πληροφορίες αποτελέσματος της λήψης.
    • eventService - επιστρέφει πληροφορίες σχετικά με την απόδοση συμβάντων.
    • hostEnv
    • displayWarningIcon - επιστρέφει σφάλμα ή προειδοποιητικό μήνυμα.
    • licenseManager - επιστρέφει πληροφορίες άδειας χρήσης.
    • createLocalizationManager - δημιουργεί ένα πρόγραμμα διαχείρισης που θα σας βοηθήσει με την τοπική προσαρμογή
    • applyJsonFilter - εφαρμόζει συγκεκριμένους τύπους φίλτρων. Ανατρέξτε στο θέμα API φίλτρου
    • applyCustomSort - επιτρέπει προσαρμοσμένες επιλογές ταξινόμησης.
    • acquireAADTokenService- επιστρέφει πληροφορίες ελέγχου ταυτότητας με το Microsoft Entra ID.
    • webAccessService - επιστρέφει την κατάσταση δικαιωμάτων για την πρόσβαση σε απομακρυσμένους πόρους.
    • openModalDialog - επιστρέφει ένα παράθυρο διαλόγου.
    • persistProperties - επιτρέπει στους χρήστες να δημιουργούν μόνιμες ρυθμίσεις και να τις αποθηκεύουν μαζί με τον ορισμό της απεικόνισης, ώστε να είναι διαθέσιμες στην επόμενη επαναφόρτωση
    • eventService- επιστρέφει μια υπηρεσία συμβάντων για την υποστήριξη συμβάντων Render
    • storageService - επιστρέφει μια υπηρεσία που σας βοηθά να χρησιμοποιήσετε τον τοπικό χώρο αποθήκευσης στην απεικόνιση
    • storageV2Service - επιστρέφει μια υπηρεσία που σας βοηθά να χρησιμοποιήσετε την έκδοση 2 του τοπικού χώρου αποθήκευσης στην απεικόνιση
    • tooltipService - επιστρέφει μια υπηρεσία συμβουλής εργαλείου για να σας βοηθήσει να χρησιμοποιήσετε συμβουλές εργαλείων στην απεικόνιση
    • telemetry
    • drill
    • launchUrl - βοηθά στην εκκίνηση της διεύθυνσης URL στην επόμενη καρτέλα
    • authenticationService - επιστρέφει ένα διακριτικό αναγνωριστικού Microsoft Entra.
    • locale - επιστρέφει μια συμβολοσειρά τοπικών ρυθμίσεων, ανατρέξτε στο θέμα Τοπική προσαρμογή
    • instanceId - επιστρέφει μια συμβολοσειρά για τον προσδιορισμό της τρέχουσας παρουσίας απεικόνισης
    • colorPalette - επιστρέφει την colorPalette που απαιτείται για την εφαρμογή χρωμάτων στα δεδομένα σας
    • fetchMoreData - υποστηρίζει τη χρήση περισσότερων δεδομένων από το τυπικό όριο (1.000 γραμμές). Ανατρέξτε στο θέμα Λήψη περισσότερων δεδομένων
    • switchFocusModeState - βοηθά στην αλλαγή της κατάστασης λειτουργίας εστίασης

Ενημερωμένη έκδοση

Όλες οι απεικονίσεις πρέπει να υλοποιούν μια δημόσια μέθοδο ενημέρωσης που καλείται κάθε φορά που υπάρχει μια αλλαγή στο περιβάλλον δεδομένων ή κεντρικού υπολογιστή.

public update(options: VisualUpdateOptions): void

VisualUpdateOptions

  • viewport: IViewport - διαστάσεις της οπτικής γωνίας μέσα στις οποίες πρέπει να αποδοθεί η απεικόνιση
  • dataViews: DataView[] - το αντικείμενο προβολής δεδομένων που περιέχει όλα τα δεδομένα που απαιτούνται για την απόδοση της απεικόνισης (μια απεικόνιση χρησιμοποιεί γενικά την κατηγορική ιδιότητα στην περιοχή DataView)
  • type: VisualUpdateType- σημαίες που υποδεικνύουν τον τύπο των δεδομένων που ενημερώνονται (Data | Resize | ViewMode | Style | ResizeEnd)
  • viewMode: ViewMode- σημαίες που υποδεικνύουν τη λειτουργία προβολής της απεικόνισης (Προβολή | επεξεργασίας | InFocusEdit)
  • editMode: EditMode- σημαία που υποδεικνύει τη λειτουργία επεξεργασίας της απεικόνισης (Προεπιλογή | για προχωρημένους) (εάν η απεικόνιση υποστηρίζει AdvancedEditMode, θα πρέπει να αποδίδει τα προηγμένα στοιχεία ελέγχου περιβάλλοντος εργασίας χρήστη μόνο όταν η editMode έχει οριστεί σε Για προχωρημένους, ανατρέξτε στο θέμα AdvancedEditMode)
  • operationKind?: VisualDataChangeOperationKind- σημαία που υποδεικνύει τον τύπο αλλαγής δεδομένων (Δημιουργία | προσάρτησης)
  • jsonFilters?: IFilter[] - συλλογή εφαρμοσμένων φίλτρων json
  • isInFocus?: boolean - σημαία για υπόδειξη εάν η απεικόνιση βρίσκεται σε λειτουργία εστίασης ή όχι

getFormattingModel (προαιρετικό)

Αυτή η μέθοδος καλείται μία φορά κάθε φορά που ανοίγουμε το τμήμα παραθύρου ιδιοτήτων ή ο χρήστης επεξεργάζεται οποιαδήποτε από τις ιδιότητες στο τμήμα παραθύρου. Επιστρέφει FormattingModel με όλες τις πληροφορίες σχετικά με τη σχεδίαση, την ιεραρχία, τις ιδιότητες και τις πιο πρόσφατες τιμές μορφοποίησης του τμήματος παραθύρου ιδιοτήτων.

getFormattingModel(): visuals.FormattingModel;

destroy (προαιρετικό)

Η συνάρτηση destroy καλείται όταν καταργηθεί η φόρτωση της απεικόνισης και μπορεί να χρησιμοποιηθεί για εργασίες εκκαθάρισης, όπως η κατάργηση των ακροατών συμβάντων.

public destroy(): void

Φιλοδώρημα

Το Power BI γενικά δεν καλεί destroy το καθώς είναι ταχύτερη η κατάργηση ολόκληρου του IFrame που περιέχει την απεικόνιση.