Udostępnij za pośrednictwem


Tworzenie adresu URL uruchamiania

Adres URL uruchamiania umożliwia otwarcie nowej karty lub okna przeglądarki przez dodanie host.launchUrl() wywołania interfejsu API do kodu wizualizacji usługi Power BI.

Uwaga

Metoda została wprowadzona host.launchUrl() w interfejsie API wizualizacji w wersji 1.9.0.

Przykład

Zaimportuj IVisualHost interfejs i zapisz link do host obiektu w konstruktorze wizualizacji.

import powerbi from "powerbi-visuals-api";
import IVisualHost = powerbi.extensibility.visual.IVisualHost;

export class Visual implements IVisual {
    private host: IVisualHost;
    // ...
    constructor(options: VisualConstructorOptions) {
        // ...
        this.host = options.host;
        // ...
    }

    // ...
}

Użycie

Użyj wywołania interfejsu host.launchUrl() API i przekaż docelowy adres URL jako argument ciągu:

this.host.launchUrl('https://some.link.net');

Najlepsze rozwiązania

  • Zazwyczaj najlepiej jest otworzyć link tylko jako odpowiedź na jawną akcję użytkownika. Ułatw użytkownikowi zrozumienie, że kliknięcie linku lub przycisku powoduje otwarcie nowej karty. Może to być mylące lub frustrujące dla użytkownika, jeśli launchUrl() wywołanie wyzwala bez akcji użytkownika lub jako efekt uboczny innej akcji.

  • Jeśli link nie jest niezbędny do prawidłowego działania wizualizacji, zalecamy nadanie autorowi raportu sposobu wyłączenia i ukrycia linku. Specjalne przypadki użycia usługi Power BI, takie jak osadzanie raportu w aplikacji innej firmy lub publikowanie go w Internecie, może wymagać wyłączenia i ukrycia linku.

  • Unikaj wyzwalania wywołania launchUrl() wewnątrz pętli, funkcji wizualizacji update lub innego często cyklicznego kodu.

Przykład krok po kroku

Dodaj następujące wiersze do funkcji wizualizacji constructor :

    this.helpLinkElement = this.createHelpLinkElement();
    options.element.appendChild(this.helpLinkElement);

Dodaj funkcję prywatną, która tworzy i dołącza element kotwicy:

private createHelpLinkElement(): Element {
    let linkElement = document.createElement("a");
    linkElement.textContent = "?";
    linkElement.setAttribute("title", "Open documentation");
    linkElement.setAttribute("class", "helpLink");
    linkElement.addEventListener("click", () => {
        this.host.launchUrl("https://learn.microsoft.com/power-bi/developer/visuals/custom-visual-develop-tutorial");
    });
    return linkElement;
};

Zdefiniuj styl elementu linku z wpisem w pliku visual.less :

.helpLink {
    position: absolute;
    top: 0px;
    right: 12px;
    display: block;
    width: 20px;
    height: 20px;
    border: 2px solid #80B0E0;
    border-radius: 20px;
    color: #80B0E0;
    text-align: center;
    font-size: 16px;
    line-height: 20px;
    background-color: #FFFFFF;
    transition: all 900ms ease;

    &:hover {
        background-color: #DDEEFF;
        color: #5080B0;
        border-color: #5080B0;
        transition: all 250ms ease;
    }

    &.hidden {
        display: none;
    }
}

Dodawanie mechanizmu przełączania

Aby dodać mechanizm przełączania, należy dodać obiekt statyczny, aby autor raportu mógł przełączać widoczność elementu linku. (Wartość domyślna jest ustawiona na ukrytą). Aby uzyskać więcej informacji, zobacz samouczek dotyczący obiektu statycznego.

showHelpLink Dodaj obiekt statyczny warunkowy do wpisu obiektów pliku capabilities.json:

"objects": {
    "generalView": {
            "displayName": "General View",
            "properties":
                "showHelpLink": {
                    "displayName": "Show Help Button",
                    "type": {
                        "bool": true
                    }
                }
            }
        }
    }

Zrzut ekranu przedstawiający okienko Wizualizacje usługi Power BI z nową opcją Włącz przycisk Pomocy.

Dodaj następujące wiersze w funkcji wizualizacji update :

if (settings.generalView.showHelpLink) {
    this.helpLinkElement.classList.remove("hidden");
} else {
    this.helpLinkElement.classList.add("hidden");
}

Klasa ukryta jest zdefiniowana w pliku visual.less w celu kontrolowania wyświetlania elementu.

Rozważania i ograniczenia

  • Używaj tylko ścieżek bezwzględnych, a nie ścieżek względnych. Na przykład użyj ścieżki bezwzględnej, takiej jak https://some.link.net/subfolder/page.html. Ścieżka/page.html względna nie zostanie otwarta.

  • Obecnie obsługiwane są tylko protokoły HTTP i HTTPS . Unikaj protokołów FTP, MAILTO i innych.