Руководство. Добавление параметров форматирования в визуальный элемент "Карточка круга"
При создании визуального элемента можно добавить параметры настройки его свойств. Некоторые элементы, которые можно настроить для настройки форматирования, включают:
- Заголовок
- Общие сведения
- Граница
- Тень
- Цвета
В этом руководстве описано следующее:
- Добавьте свойства форматирования в визуальный элемент.
- Упаковка визуального элемента
- Импорт пользовательского визуального элемента в отчет Power BI Desktop или service
Необходимые условия
В этом руководстве объясняется, как добавить в визуальный элемент общие свойства форматирования. Мы будем использовать визуальный элемент Circle карта в качестве примера. Мы добавим возможность изменить цвет и толщину круга. Если у вас нет папки проекта Circle карта, созданной в этом руководстве, перед продолжением выполните повторную инструкцию.
Добавление параметров форматирования
В PowerShell перейдите в папку проекта карта круга и запустите визуальный элемент карта круга. Теперь визуальный элемент запущен во время размещения на компьютере.
pbiviz start
В Power BI выберите панель "Формат".
Вы должны увидеть общие параметры форматирования, но не параметры визуального форматирования.
В Visual Studio Code откройте
capabilities.json
файл.Перед массивом dataViewMappings добавьте объекты.
"objects": {},
Сохраните файл
capabilities.json
.В Power BI снова просмотрите параметры форматирования.
Примечание.
Если параметры форматирования не отображаются, выберите "Перезагрузить настраиваемый визуальный элемент".
Установите для параметра Title значение Off. Обратите внимание, что визуальный элемент больше не отображает имя меры в левом верхнем углу.
Добавление настраиваемых параметров форматирования
Теперь добавим новую группу с именем цвета для настройки цвета круга и толщины контура круга.
В PowerShell введите ctrl+C , чтобы остановить пользовательский визуальный элемент.
В Visual Studio Code в
capabilities.json
файле вставьте следующий фрагмент JSON в объекты, помеченные объектом."circle": { "properties": { "circleColor": { "type": { "fill": { "solid": { "color": true } } } }, "circleThickness": { "type": { "numeric": true } } } }
Этот фрагмент JSON описывает группу с именем circle, которая состоит из двух переменных — circleColor и circleThickness.
Сохраните файл
capabilities.json
.В области Обозреватель перейдите в папку src и выберите settings.ts. Этот файл представляет параметры для начального визуального элемента.
В файле замените
settings.ts
строки импорта и два класса следующим кодом.import { formattingSettings } from "powerbi-visuals-utils-formattingmodel"; import FormattingSettingsCard = formattingSettings.SimpleCard; import FormattingSettingsSlice = formattingSettings.Slice; import FormattingSettingsModel = formattingSettings.Model; export class CircleSettings extends FormattingSettingsCard{ public circleColor = new formattingSettings.ColorPicker({ name: "circleColor", displayName: "Color", value: { value: "#ffffff" }, visible: true }); public circleThickness = new formattingSettings.NumUpDown({ name: "circleThickness", displayName: "Thickness", value: 2, visible: true }); public name: string = "circle"; public displayName: string = "Circle"; public visible: boolean = true; public slices: FormattingSettingsSlice[] = [this.circleColor, this.circleThickness] } export class VisualSettings extends FormattingSettingsModel { public circle: CircleSettings = new CircleSettings(); public cards: FormattingSettingsCard[] = [this.circle]; }
Этот модуль определяет два класса. Класс Circle Параметры определяет два свойства с именами, которые соответствуют объектам, определенным в файле capabilities.json (circleColor и circleThickness), и задает значения по умолчанию. Класс Visual Параметры определяет объект круга в соответствии со свойствами, описанными в
capabilities.json
файле.Сохраните файл
settings.ts
.Откройте файл
visual.ts
.visual.ts
В файле импортируйте :import { VisualSettings } from "./settings"; import { FormattingSettingsService } from "powerbi-visuals-utils-formattingmodel";
и в классе Visual добавьте следующие свойства:
private visualSettings: VisualSettings; private formattingSettingsService: FormattingSettingsService;
Это свойство сохраняет ссылку на объект Visual Параметры, описывающий визуальные параметры.
В классе Visual вставьте следующую строку конструктора:
this.formattingSettingsService = new FormattingSettingsService();
В классе Visual добавьте следующий метод после метода обновления.
public getFormattingModel(): powerbi.visuals.FormattingModel { return this.formattingSettingsService.buildFormattingModel(this.visualSettings); }
Эта функция вызывается для каждой отрисовки области форматирования. Он позволяет выбрать объекты и свойства, которые вы хотите предоставить пользователям в области свойств.
В методе обновления после объявления переменной радиуса добавьте следующий код.
this.visualSettings = this.formattingSettingsService.populateFormattingSettingsModel(VisualSettings, options.dataViews[0]); this.visualSettings.circle.circleThickness.value = Math.max(0, this.visualSettings.circle.circleThickness.value); this.visualSettings.circle.circleThickness.value = Math.min(10, this.visualSettings.circle.circleThickness.value);
Этот код извлекает параметры формата. Он корректирует любое значение, переданное в свойство circleThickness , и преобразует его в число от нуля до 10.
В элементе circle измените значения, передаваемые в стиль заливки и стиль ширины штриха следующим образом:
.style("fill", this.visualSettings.circle.circleColor.value.value)
.style("stroke-width", this.visualSettings.circle.circleThickness.value)
Сохраните файл
visual.ts
.В PowerShell запустите визуальный элемент.
pbiviz start
В Power BI на панели инструментов, плавающей над визуальным элементом, выберите переключатель автозагрузки.
В параметрах визуального формата разверните " Круг".
Измените цвет и толщину.
Измените параметр толщины на значение меньше нуля и значение выше 10. Обратите внимание, что визуальный элемент обновляет значение до допустимого минимума или максимума.
Отладка
Советы по отладке пользовательского визуального элемента см. в руководстве по отладке.
Упаковка пользовательского визуального элемента
Теперь, когда визуальный элемент завершен и готов к использованию, пришло время упаковать его. Упакованный визуальный элемент можно импортировать в отчеты или службы Power BI, которые будут использоваться другими пользователями.
Когда визуальный элемент готов, следуйте указаниям в пакете визуального элемента Power BI, а затем, если вы хотите, поделитесь им с другими пользователями, чтобы они могли импортировать и наслаждаться им.