Použití motivů sestav
Motivy sestav Power BI umožňují použít změny návrhu na celou sestavu. Můžete například zahrnout firemní barvy a změnit sady ikon. Když použijete motiv sestavy, budou všechny vizuály v sestavě používat barvy a formátování z vybraného motivu jako výchozí hodnoty. Další informace o nastavení motivu a jejich návrhu najdete v tématu formát souboru JSON motivu sestavy.
Sestavu můžete uložit a publikovat s motivem použitým na ni. Použitý motiv je výchozím motivem pro tuto sestavu, když je načtený ve službě Power BI nebo vložených analytických možnostech Power BI.
Vývojáři, kteří používají vložené analytické možnosti Power BI, mají také možnost vložit sestavu s vlastním motivem použitým místo výchozího motivu pro sestavu. Použití motivu tímto způsobem načte stejnou sestavu s různými motivy různým uživatelům podle jejich nastavení.
Objekt motivu sestavy
Tato část popisuje objekt motivu sestavy, který se používá k reprezentaci motivů. Typ objektu IReportTheme
lze předat do vložené konfigurace.
interface IEmbedConfiguration extends IEmbedConfigurationBase {
...
theme?: models.IReportTheme;
}
Objekt motivu sestavy by měl mít jeden parametr s názvem themeJson
. Toto pole by mělo obsahovat objekt JSON, který představuje nastavení motivu. Další informace najdete na stránce formát souboru JSON motivu sestavy.
interface IReportTheme {}
interface ICustomTheme extends IReportTheme {
themeJson: any;
}
Použití motivu v sestavě
Použitý motiv lze také po načtení sestavy změnit. Když motiv použijete po načtení sestavy, koncový uživatel může vybrat motiv ze seznamu a okamžitě zobrazit změny stylu použité v sestavě bez opětovného načtení.
Použití motivu při načtení
Tento příklad je užitečný, pokud chcete použít vlastní motiv při načítání sestavy.
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedConfig = {
…
theme: {
themeJson: themeJsonObject
}
};
let report = powerbi.embed(embedContainer, embedConfig);
Použití motivu za běhu
Metoda Apply je užitečná, pokud chcete změnit motiv po načtení sestavy bez opětovného načtení sestavy.
Třída Sestava
applyTheme(theme: models.IReportTheme): Promise<void>
Rozhraní API applyTheme
změní motiv použitý na sestavu za běhu.
...
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
// Apply the theme
report.applyTheme({ themeJson: themeJsonObject });
Použití motivu při vytváření sestavy
Novou vloženou sestavu je možné vytvořit s použitým motivem. Nové vizuály přidané do sestavy respektují styl motivu. Viz také Vytvoření, úprava a uložení vložené sestavy stránku.
Tento příklad je užitečný, pokud chcete použít vlastní motiv na novou sestavu.
// Parse the theme JSON file into an object
let themeJsonObject = parseJsonfile(path);
let embedCreateConfiguration = {
…
theme: {
themeJson: themeJsonObject
}
};
let report = powerbi.createReport(embedContainer, embedCreateConfiguration);
Poznámka
parseJsonfile
je funkce, která se musí implementovat v kódu aplikace a není součástí sady SDK.
Resetování motivu sestavy
Metoda resetování je užitečná, pokud chcete obnovit motiv sestavy na výchozí motiv, ale nemáte soubor JSON motivu.
Třída sestavy klienta Power BI definuje metodu resetTheme
takto:
resetTheme(): Promise<void>
Volání rozhraní API resetTheme
se vrátí do výchozího motivu sestavy.
// Apply the theme
report.resetTheme();
Důležité informace a omezení
- Použití
applyTheme
rozhraní API popsaného výše přepíše výchozí motiv zcela novým souborem JSON. Rozhraní API nerozšiřuje konfiguraci výchozího motivu. - Při použití motivů se vizuály v sestavě několikrát nemění, jak očekáváte. Další informace najdete v tématu Situacích, kdy barvy motivu sestavy nezůsadí na sestavy.
- Rozhraní API nemůžete použít k použití motivu a nastavení úrovně kontrastu najednou. Pokud nakonfigurujete obě vlastnosti, rozhraní API použije zadanou úroveň kontrastu, ale ignoruje nastavení motivu.