เพิ่มบานหน้าต่างรูปแบบใหม่ไปยังวิชวลแบบกําหนดเองโดยใช้ API
สําคัญ
หากต้องการเพิ่มบานหน้าต่างรูปแบบใหม่ลงในวิชวลแบบกําหนดเอง เราขอแนะนําให้ใช้ utils การจัดรูปแบบ
แม้ว่าเราขอแนะนําให้ใช้ยูทิลิตี้การจัดรูปแบบ ยูทิลิตี้รูปแบบ ด้วยบานหน้าต่างรูปแบบใหม่ ตัวอย่างนี้สาธิตวิธีการสร้างแบบจําลองการจัดรูปแบบวิชวลแบบกําหนดเองด้วยการ์ดเดียวโดยใช้ API เท่านั้น
ตัวอย่าง: การจัดรูปแบบการ์ดข้อมูล
การ์ดมีสองกลุ่ม:
-
ควบคุมแบบอักษรของกลุ่มด้วยคุณสมบัติแบบรวมหนึ่งคุณสมบัติ
- ตัวควบคุมฟอนต์
-
กลุ่มการออกแบบข้อมูลด้วยคุณสมบัติอย่างง่ายสองอย่าง
- สีแบบอักษร
- การจัดแนวเส้น
ก่อนอื่น ให้เพิ่มวัตถุไปยังไฟล์ความสามารถ:
"objects": {
"dataCard": {
"properties": {
"displayUnitsProperty": {
"type":
{
"formatting": {
"labelDisplayUnits": true
}
}
},
"fontSize": {
"type": {
"formatting": {
"fontSize": true
}
}
},
"fontFamily": {
"type": {
"formatting": {
"fontFamily": true
}
}
},
"fontBold": {
"type": {
"bool": true
}
},
"fontUnderline": {
"type": {
"bool": true
}
},
"fontItalic": {
"type": {
"bool": true
}
},
"fontColor": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
},
"lineAlignment": {
"type": {
"formatting": {
"alignment": true
}
}
}
}
}
}
จากนั้นสร้าง getFormattingModel
public getFormattingModel(): powerbi.visuals.FormattingModel {
// Building data card, We are going to add two formatting groups "Font Control Group" and "Data Design Group"
let dataCard: powerbi.visuals.FormattingCard = {
description: "Data Card Description",
displayName: "Data Card",
uid: "dataCard_uid",
groups: []
}
// Building formatting group "Font Control Group"
// Notice that "descriptor" objectName and propertyName should match capabilities object and property names
let group1_dataFont: powerbi.visuals.FormattingGroup = {
displayName: "Font Control Group",
uid: "dataCard_fontControl_group_uid",
slices: [
{
uid: "dataCard_fontControl_displayUnits_uid",
displayName:"display units",
control: {
type: powerbi.visuals.FormattingComponent.Dropdown,
properties: {
descriptor: {
objectName: "dataCard",
propertyName:"displayUnitsProperty"
},
value: 0
}
}
},
// FontControl slice is composite slice, It means it contain multiple properties inside it
{
uid: "data_font_control_slice_uid",
displayName: "Font",
control: {
type: powerbi.visuals.FormattingComponent.FontControl,
properties: {
fontFamily: {
descriptor: {
objectName: "dataCard",
propertyName: "fontFamily"
},
value: "wf_standard-font, helvetica, arial, sans-serif"
},
fontSize: {
descriptor: {
objectName: "dataCard",
propertyName: "fontSize"
},
value: 16
},
bold: {
descriptor: {
objectName: "dataCard",
propertyName: "fontBold"
},
value: false
},
italic: {
descriptor: {
objectName: "dataCard",
propertyName: "fontItalic"
},
value: false
},
underline: {
descriptor: {
objectName: "dataCard",
propertyName: "fontUnderline"
},
value: false
}
}
}
}
],
};
// Building formatting group "Font Control Group"
// Notice that "descriptor" objectName and propertyName should match capabilities object and property names
let group2_dataDesign: powerbi.visuals.FormattingGroup = {
displayName: "Data Design Group",
uid: "dataCard_dataDesign_group_uid",
slices: [
// Adding ColorPicker simple slice for font color
{
displayName: "Font Color",
uid: "dataCard_dataDesign_fontColor_slice",
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor:
{
objectName: "dataCard",
propertyName: "fontColor"
},
value: { value: "#01B8AA" }
}
}
},
// Adding AlignmentGroup simple slice for line alignment
{
displayName: "Line Alignment",
uid: "dataCard_dataDesign_lineAlignment_slice",
control: {
type: powerbi.visuals.FormattingComponent.AlignmentGroup,
properties: {
descriptor:
{
objectName: "dataCard",
propertyName: "lineAlignment"
},
mode: powerbi.visuals.AlignmentGroupMode.Horizonal,
value: "right"
}
}
},
]
};
// Add formatting groups to data card
dataCard.groups.push(group1_dataFont);
dataCard.groups.push(group2_dataDesign);
// Build and return formatting model with data card
const formattingModel: powerbi.visuals.FormattingModel = { cards: [dataCard] };
return formattingModel;
}
นี่คือบานหน้าต่างผลลัพธ์:
รีเซ็ตการตั้งค่าเป็นค่าเริ่มต้น
บานหน้าต่างรูปแบบใหม่มีตัวเลือกในการตั้งค่าคุณสมบัติของการ์ดการจัดรูปแบบทั้งหมดเป็นค่าเริ่มต้นโดยคลิกที่ปุ่มรีเซ็ตเป็นค่าเริ่มต้น ที่ปรากฏในการ์ดเปิด
เมื่อต้องการเปิดใช้งานคุณลักษณะนี้ ให้เพิ่มรายการของตัวอธิบายคุณสมบัติการ์ดการจัดรูปแบบลงในการ์ดการจัดรูปแบบ revertToDefaultDescriptors
ตัวอย่างต่อไปนี้แสดงวิธีการเพิ่มรีเซ็ต เป็นค่าเริ่มต้น ปุ่ม:
let dataCard: powerbi.visuals.FormattingCard = {
displayName: "Data Card",
// ... card parameters and groups list
revertToDefaultDescriptors: [
{
objectName: "dataCard",
propertyName:"displayUnitsProperty"
},
{
objectName: "dataCard",
propertyName: "fontFamily"
},
// ... the rest of properties descriptors
]
};
การเพิ่ม revertToDefaultDescriptors
การจัดรูปแบบการ์ดยังทําให้สามารถรีเซ็ตคุณสมบัติการ์ดการจัดรูปแบบทั้งหมดพร้อมกันได้โดยคลิกที่ รีเซ็ตการตั้งค่าทั้งหมดเป็นค่าเริ่มต้นปุ่ม ในแถบด้านบนของบานหน้าต่างรูปแบบ:
ตัวเลือกคุณสมบัติการจัดรูปแบบ
ตัวเลือกที่เลือกได้ในตัวอธิบายคุณสมบัติการจัดรูปแบบจะกําหนดตําแหน่งที่แต่ละคุณสมบัติถูกผูกไว้ใน dataView มีตัวเลือกที่แตกต่างกันสี่ตัวเลือก อ่านเกี่ยวกับตัวเลือกเหล่านั้นในตัวเลือกวัตถุ พิมพ์
แปล
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะการแปลเป็นภาษาท้องถิ่นและการตั้งค่าสภาพแวดล้อมการแปลเป็นภาษาท้องถิ่น ให้ดู เพิ่มภาษาท้องถิ่นไปยังวิชวล Power BI ของคุณ ใช้ตัวจัดการการแปลเป็นภาษาท้องถิ่นเพื่อจัดรูปแบบคอมโพเนนต์ที่คุณต้องการแปล:
displayName: this.localization.getDisplayName("Font_Color_DisplayNameKey");
description: this.localization.getDisplayName("Font_Color_DescriptionKey");
หากต้องการแปลยูทิลิตี้แบบจําลองการจัดรูปแบบให้เป็นภาษาท้องถิ่น ยูทิลิตี้การจัดรูปแบบยูทิลิตี้การแปลเป็นภาษาท้องถิ่น
ทรัพยากร GitHub
ส่วนติดต่อแบบจําลองการจัดรูปแบบทั้งหมดสามารถพบได้ใน GitHub - microsoft/powerbi-visuals-api: POWER BI custom visuals API ใน "formatting-model-api.d.ts"
เราขอแนะนําให้ใช้ยูทิลิตี้แบบจําลองการจัดรูปแบบใหม่ที่ GitHub - microsoft/powerbi-visuals-utils-formattingmodel: ผู้ช่วยเหลือแบบจําลองการจัดรูปแบบวิชวล Power BI
คุณสามารถค้นหาตัวอย่างของวิชวลแบบกําหนดเอง SampleBarChart ที่ใช้ API เวอร์ชัน 5.1.0 และใช้
getFormattingModel
โดยใช้ยูทิลิตี้แบบจําลองการจัดรูปแบบใหม่ที่ GitHub - microsoft/PowerBI-visuals-sampleBarChart: Bar Chart Custom Visual for tutorial
เนื้อหาที่เกี่ยวข้อง
มีคําถามเพิ่มเติมหรือไม่ ถาม ชุมชน Power BI