FlagsSelection 格式设置切片
FlagsSelection 切片是一个简单的格式设置切片,用于表示 capabilities.json
文件中的枚举对象类型。
有两种 FlagSelection 切片:ItemFlagsSelection 和 AutoFlagsSelection。
它们的区别在于,对于 AutoFlagsSelection 切片,需要在 capabilities.json
文件中的相应对象下声明其枚举项列表,而对于 ItemFlagsSelection,则需要在格式设置类中进行声明。
示例:FlagsSelection 实现
在此示例中,我们演示如何使用格式模型 utils 生成 FlagsSelection 切片。 以下选项卡显示了 ItemFlagsSelection 和 AutoFlagsSelection 切片的示例。
Capabilities 对象
将以下 JSON 片段插入 capabilities.json
文件中。
{
// ... same level as dataRoles and dataViewMappings
"objects": {
"labels": {
"properties": {
"itemFlag": {
"type": {
"enumeration": []
}
},
}
}
}
}
格式设置模型类
将以下代码片段插入设置文件中。
import powerbi from "powerbi-visuals-api";
import { formattingSettings } from "powerbi-visuals-utils-formattingmodel";
const itemFlagOptions : powerbi.IEnumMember[] = [
{value : "1", displayName : "Top"},
{value : "2", displayName : "Bottom"},
{value : "4", displayName : "Left"},
{value : "8", displayName : "Right"}
];
class LabelsCardSetting extends formattingSettings.SimpleCard {
name: string = "labels"; // same as capabilities object name
displayName: string = "Labels";
public itemFlag: formattingSettings.ItemFlagsSelection = new formattingSettings.ItemFlagsSelection({
name: "itemFlag", // same as capabilities property name
displayName: "Item flag",
items: itemFlagOptions,
value: "1"
});
public slices: formattingSettings.Slice[] = [ this.itemFlag ];
}
export class VisualSettings extends formattingSettings.Model {
public labels: LabelsCardSetting = new LabelsCardSetting();
public cards: formattingSettings.SimpleCard[] = [this.labels];
}