Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Objekty popisují přizpůsobitelné vlastnosti přidružené k vizuálu. Objekt může mít více vlastností a každá vlastnost má přidružený typ, který popisuje, co bude vlastnost. Tento článek obsahuje informace o objektech a typech vlastností.
myCustomObject je interní název, který slouží k odkazování na objekt v rámci dataView.
"objects": {
"myCustomObject": {
"properties": { ... }
}
}
Zobrazovaný název a popis
Poznámka:
Zobrazovaný název a popis jsou zastaralé z rozhraní API verze 5.1 nebo novější. Zobrazovaný název a popis se teď přidávají do modelu formátování místo souboru capabilities.json .
displayName je název, který se zobrazí v podokně vlastností.
description je popis vlastnosti formátování, která se uživateli zobrazí jako popis.
Vlastnosti
properties je mapa vlastností definovaných vývojářem.
"properties": {
"myFirstProperty": {
"type": ValueTypeDescriptor | StructuralTypeDescriptor
}
}
Poznámka:
show je speciální vlastnost, která umožňuje přepnutí objektu.
Příklad:
"properties": {
"show": {
"type": {"bool": true}
}
}
Typy vlastností
Existují dva typy vlastností: ValueTypeDescriptor a StructuralTypeDescriptor.
Popisovač typu hodnoty
ValueTypeDescriptor typy jsou většinou primitivní a obvykle se používají jako statický objekt.
Tady jsou některé běžné ValueTypeDescriptor prvky:
export interface ValueTypeDescriptor {
text?: boolean;
numeric?: boolean;
integer?: boolean;
bool?: boolean;
}
Popisovač strukturálního typu
StructuralTypeDescriptor typy se většinou používají pro objekty vázané na data.
Nejběžnějším StructuralTypeDescriptor typem je výplň.
export interface StructuralTypeDescriptor {
fill?: FillTypeDescriptor;
}
Gradient – vlastnost
Vlastnost přechodu je vlastnost, kterou nelze nastavit jako standardní vlastnost. Místo toho musíte nastavit pravidlo pro nahrazení vlastnosti výběru barvy (typ výplně ).
Příklad je uvedený v následujícím kódu:
"properties": {
"showAllDataPoints": {
"type": {
"bool": true
}
},
"fill": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
},
"fillRule": {
"type": {
"fillRule": {}
},
"rule": {
"inputRole": "Gradient",
"output": {
"property": "fill",
"selector": [
"Category"
]
}
}
}
}
Věnujte pozornost vlastnostem fill a fillRule . První je výběr barvy a druhý je pravidlo nahrazení přechodu, které nahradí vlastnost výplně , visuallypři splnění podmínek pravidla.
Toto propojení mezi vlastností fill a pravidlem nahrazení je nastaveno v "rule">"output"části vlastnosti fillRule.
"Rule"
>
"InputRole" vlastnost nastaví, která role dat aktivuje pravidlo (podmínku). V tomto příkladu platí, že pokud datová role "Gradient" obsahuje data, použije se pravidlo pro "fill" vlastnost.
Příklad role dat, která aktivuje pravidlo vyplnění (the last item) je znázorněno v následujícím kódu:
{
"dataRoles": [
{
"name": "Category",
"kind": "Grouping",
"displayName": "Details",
"displayNameKey": "Role_DisplayName_Details"
},
{
"name": "Series",
"kind": "Grouping",
"displayName": "Legend",
"displayNameKey": "Role_DisplayName_Legend"
},
{
"name": "Gradient",
"kind": "Measure",
"displayName": "Color saturation",
"displayNameKey": "Role_DisplayName_Gradient"
}
]
}
Podokno Formátování
Pokud chcete přizpůsobit vlastnosti v podokně formátování, použijte jednu z následujících metod v závislosti na verzi rozhraní API, kterou používáte.
Poznámka:
Metoda getFormattingModel rozhraní API je podporovaná z rozhraní API verze 5.1 nebo novější. Pokud chcete zjistit, kterou verzi používáte, podívejte se do apiVersionsouboru pbiviz.json .
Pokud chcete efektivně používat objekty v rozhraní API verze 5.1 nebo novější, musíte metodu getFormattingModel implementovat.
Tato metoda sestaví a vrátí formátovací model, který zahrnuje celou hierarchii podokna vlastností formátovací karty, skupiny formátování, také obsahuje vlastnosti formátování a jejich hodnoty.
Objekty schopností reflektované v modelu formátování
Každá vlastnost formátování v modelu formátování potřebuje odpovídající objekt v souboru capabilities.json . Vlastnost formátování by měla obsahovat popisovač s názvem objektu a názvem vlastnosti, které přesně odpovídají odpovídajícímu objektu schopností (v názvech objektů a vlastností se rozlišují malá a velká písmena).
Příklad:
Následující vlastnost formátování v modelu formátování (viz obsah popisovače objektu):
const myCustomCard: powerbi.visuals.FormattingCard = {
displayName: "My Custom Object Card",
uid: "myCustomObjectCard_uid",
groups: [{
displayName: undefined,
uid: "myCustomObjectGroup_uid",
slices: [
{
uid: "myCustomProperty_uid",
displayName: "My Custom Property",
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "myCustomObject",
propertyName: "myCustomProperty",
selector: null // selector is optional
},
value: { value: "#000000" }
}
}
}
],
}],
};
Odpovídající objekt z oddílu schopností objects by měl být:
"objects": {
"myCustomObject": {
"properties": {
"myCustomProperty": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
}
}
}
}
Selektor vlastností formátování
Volitelný selektor ve formátovací vlastnosti popisovač určuje, kde každá vlastnost je vázána v dataView. Existují čtyři různé možnosti.
Příklad
Výše uvedený myCustomCard příklad ukazuje, jak formátovací vlastnost ve formátovacím modelu by vypadala pro objekt s jednou vlastností myCustomProperty. Objekt této vlastnosti je staticky svázán s objektem dataViews[index].metadata.objects.
Selektor v popisovači lze odpovídajícím způsobem změnit na typ voliče, který zvolíte.
Typy selektorů objektů
Selektor určuje enumerateObjectInstances , kde je každý objekt vázaný v objektu dataView. Existují čtyři různé možnosti:
static
Tento objekt je vázán na metadata dataviews[index].metadata.objects, jak je znázorněno zde.
selector: null
sloupce
Tento objekt je vázán na sloupce s odpovídající QueryName.
selector: {
metadata: 'QueryName'
}
volič
Tento objekt je vázán na prvek, pro který jste vytvořili selectionID . V tomto příkladu předpokládejme, že jsme vytvořili selectionIDpro některé datové body a procházíme je.
for (let dataPoint in dataPoints) {
...
selector: dataPoint.selectionID.getSelector()
}
Identita oboru
Tento objekt je vázán na konkrétní hodnoty v průsečíku skupin. Pokud máte například kategorie ["Jan", "Feb", "March", ...] a řady ["Small", "Medium", "Large"], můžete chtít mít objekt v průsečíku hodnot, které se shodují Feb a Large. K tomu můžete získat DataViewScopeIdentity oba sloupce, odeslat je do proměnné identitiesa použít tuto syntaxi selektorem.
selector: {
data: <DataViewScopeIdentity[]>identities
}