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í metodybookmarksManager.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ískat seznam uložených záložek sestavy.
- Použít uloženou záložku podle názvu při načtení sestavy nebo během relace.
- Capture a získat aktuální zobrazení jako objekt záložky.
- Použití zachyceného stavu záložky při načítání sestavy nebo během relace
- Provést další logiku při použití záložky sestavy.
- Zobrazení nebo skrytí podokna Záložky.
- režim prezentace enter nebo ukončení záložek .
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 metoducapture
s možnostíallPages
nastavenou natrue
. -
personalizeVisuals
- Chcete-li zachytit aktuální stav pomocí přizpůsobených vizuálů, zavolejte metoducapture
s možnostípersonalizeVisuals
nastavenou natrue
.
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.