Sdílet prostřednictvím


Vylepšení uživatelského prostředí pomocí záložek

Záložky sestav v Power BI umožňují zachytit aktuální stav vložené stránky sestavy, včetně všech filtrů a stavu vizuálů. Když sestavu otevřete později, můžete vybrat záložku a obnovit sestavu do uloženého stavu. Vývojáři můžou uživatelské prostředí řídit pomocí rozhraní API klienta Power BI k zachycení a použití záložek.

Uložená záložka může být záložka uložená jako součást sestavy nebo záložka zachycená jako stav sestavy v reálném čase. Pokud při načítání sestavy použijete uloženou záložku, můžete ji zadat zadáním názvu záložky nebo jejího stavu. Pokud zadáte záložku podle názvu, musí sestava obsahovat uloženou záložku se stejným názvem.

Tento článek vysvětluje různá nastavení rozhraní API, která budete potřebovat k vložení sestav, které podporují záložky.

Poznámka

V sestavách, které vložíte pro vaši organizaci, uživatelé sestav vytvářejí osobní záložky zachycením stavu sestavy a rychlým návratem do tohoto stavu výběrem záložky. Další informace najdete v tématu Osobní záložky.

Informace o tom, jak vytvořit podobné prostředí v sestavách, které vkládáte pro vaše zákazníky, najdete v prezentaci zobrazení sestav v analytickém prostředí Power BI Embedded.

Další informace o používání záložek v Power BI najdete v tématu Vytvoření záložek v Power BI Desktopu.

Informace o používání osobních záložek při vkládání Power BI najdete v tématu Osobní záložky.

Jak používat záložky sestavy

Následující části ukazují, jak používat rozhraní API klienta Power BI pro práci se záložkami sestavy.

Správa záložek sestavy

Chcete-li spravovat záložky sestavy, použijte vlastnost bookmarksManager instance vložené sestavy.

Třída BookmarksManager má následující metody:

  • getBookmarks – vrátí seznam uložených záložek přidružených k sestavě.

  • apply – vztahuje se na sestavu podle názvu dříve uložené záložky.

  • capture – Zachytává a vrací řetězec serializace base64, který představuje aktuální stav sestavy.

  • applyState použije dříve zachycený stav serializace base64 záložky do sestavy.

  • play – řídí režim prezentace prezentace pro záložky sestavy.

Přístup k záložce sestavy

Pokud chcete získat přístup k jednotlivým záložkám, použijte metodu getBookmarks pro přístup k seznamu ReportBookmark objektů. Třída ReportBookmark má následující vlastnosti:

  • name – jedinečný identifikátor záložky sestavy.

  • displayName – zobrazovaný název záložky sestavy, který se zobrazí v podokně Záložky.

  • state – serializace base64 stavu záložky sestavy. Můžete ho uložit a použít na sestavu pomocí metody bookmarksManager.applyState.

  • children – seznam objektů ReportBookmark představujících skupinu záložek sestavy, pokud existuje.

Použití rozhraní API záložek sestavy

Ve vložené sestavě můžou vývojáři:

Získání seznamu záložek uložené sestavy

Chcete-li získat seznam uložených záložek přidružených k sestavě, zavolejte getBookmarks metodu BookmarksManager objekt vrácený vlastností bookmarksManager sestavy.

Metoda getBookmarks je definována takto:

getBookmarks(): Promise<models.IReportBookmark[]>

Například:

let bookmarks = await report.bookmarksManager.getBookmarks();

Použití uložené záložky podle názvu při načtení sestavy nebo během relace

Chcete-li použít dříve uloženou záložku na sestavu pomocí názvu záložky, zavolejte apply metodu BookmarksManager objekt vrácený bookmarksManager vlastnosti sestavy.

Další informace najdete v tématu Konfigurace nastavení sestavy.

Metoda apply je definována takto:

apply(bookmarkName: string): Promise<void>

Například:

await report.bookmarksManager.apply("Bookmark1234");

Zachycení a získání aktuálního zobrazení jako objekt záložky

Chcete-li zachytit aktuální stav sestavy jako řetězec base64, zavolejte capture metodu BookmarksManager objektu. Metoda capture vrátí objekt IReportBookmark, který představuje záložku, která není uložena v konkrétní sestavě. Pomocí vlastnosti IReportBookmark.state vrátí řetězec base64 identifikující stav záložky, který můžete později použít pro sestavu během načítání nebo doby běhu.

Metoda capture je definována takto:

capture(options?:ICaptureBookmarkOptions): Promise<models.IReportBookmark>

Například:

let capturedBookmark = await report.bookmarksManager.capture();

Zachycení možností záložek

Objekt ICaptureBookmarkOptions můžete předat také capture metodě.

interface ICaptureBookmarkOptions {
    allPages?: boolean;
    personalizeVisuals?: boolean;
}
  • allPages – Ve výchozím nastavení uloží zachycený stav záložky pouze aktuální stav stránky. Chcete-li zaznamenat stav všech stránek, zavolejte metodu capture s možností allPages nastavenou na true.
  • personalizeVisuals - Chcete-li zachytit aktuální stav pomocí přizpůsobených vizuálů, zavolejte metodu capture s možností personalizeVisuals nastavenou na true.

Následující kód například zachytí stav všech stránek, včetně přizpůsobených vizuálů:

let capturedBookmark = await report.bookmarksManager.capture({
    allPages: true,
    personalizeVisuals: true
});

Použití zachyceného stavu záložky při načtení sestavy nebo během relace

Pokud chcete u sestavy použít dříve zachycený stav záložky, použijte applyState metodu BookmarksManager objektu.

Další informace najdete v tématu Konfigurace nastavení sestavy.

Metoda applyState je definována takto:

applyState(state: string): Promise<void>

Například:

await report.bookmarksManager.applyState(capturedBookmark.state);

Provedení další logiky při použití záložky sestavy

Pokud chcete zjistit, kdy byla použita záložka sestavy, naslouchejte události bookmarkApplied voláním on metody sestavy objektu.

Například:

report.on("bookmarkApplied", (event) => {
    console.log(event.detail.name);
});

Zobrazení nebo skrytí podokna Záložky

Pokud chcete zobrazit nebo skrýt podokno Záložky Power BI, aktualizujte vlastnost panes nastavení sestavy.

Zobrazení podokna Záložky

let embedConfig = {
    ...
    panes: {
        bookmarks: {
            visible: true
        }
    }
};

Skrytí podokna Záložky

let embedConfig = {
    ...
    panes: {
        bookmarks: {
            visible: false
        }
    }
};

Informace o aktualizaci nastavení sestavy najdete v tématu Konfigurace nastavení sestavy.

Vstup nebo ukončení režimu prezentace se záložkami

Pokud chcete řídit režim prezentace prezentace pro záložky sestavy, zavolejte play metodu BookmarksManager objektu. Další informace najdete v tématu Záložky jako prezentace.

Metoda play je definována takto:

play(playMode: models.BookmarksPlayMode): Promise<void>

Poznámka

Před zadáním režimu prezentace záložek se ujistěte, že je v sestavě alespoň jedna záložka s rozhraní API getBookmarks.

Přechod do prezentačního režimu prezentace

await report.bookmarksManager.play(models.BookmarksPlayMode.Presentation);

Ukončení prezentačního režimu prezentace

await report.bookmarksManager.play(models.BookmarksPlayMode.Off);

Důležité informace a omezení

  • Při použití rozhraní API záložek můžou určité změny v sestavě způsobit chybu nebo neočekávaný výsledek. Jedním z příkladů je odebrání filtrů sestavy ze sestavy. Aby nedocházelo k chybám, musí existovat odpovídající karty filtru. Místo odebrání filtrů nastavte jejich hodnoty na All. Pokud nevíte, které filtry byly odstraněny nebo změněny, znovu vytvořte záložku po použití změn v sestavě.

  • Filtry, jako jsou při načítání filtrů vytvořené relací pro vložení nebo přidané aktualizační filtry přidávají operaci, jsou zachyceny ve stavu záložky, ale použijí se pouze v aktuální relaci. Chcete-li toto omezení překonat, filtr by měl být uložen v sestavě s hodnotou All a upraven v relaci vložení pomocí operace aktualizace aktualizace filtry.