class CWidgetPieChart extends CWidget {
static ZBX_STYLE_DASHBOARD_WIDGET_PADDING_V = 8;
static ZBX_STYLE_DASHBOARD_WIDGET_PADDING_H = 10;
static ZBX_STYLE_PIE_CHART_LEGEND = 'svg-pie-chart-legend';
static ZBX_STYLE_PIE_CHART_LEGEND_HEADER = 'svg-pie-chart-legend-header';
static ZBX_STYLE_PIE_CHART_LEGEND_ITEM = 'svg-pie-chart-legend-item';
static ZBX_STYLE_PIE_CHART_LEGEND_SHOW_VALUE = 'svg-pie-chart-legend-show-value';
static ZBX_STYLE_PIE_CHART_LEGEND_VALUE = 'svg-pie-chart-legend-value';
static ZBX_STYLE_PIE_CHART_LEGEND_NO_DATA = 'svg-pie-chart-legend-no-data';
static DATASET_TYPE_SINGLE_ITEM = 0;
static LEGEND_LINE_HEIGHT = 18;
static LEGEND_LINES_MODE_VARIABLE = 1;
if (this.getState() === WIDGET_STATE_ACTIVE && this.#pie_chart !== null) {
this.#pie_chart.setSize(this.#getSize());
const readiness = [super.promiseReady()];
if (this.#pie_chart !== null) {
readiness.push(this.#pie_chart.promiseRendered());
return Promise.all(readiness);
const request_data = super.getUpdateRequestData();
for (const [dataset_key, dataset] of request_data.fields.ds.entries()) {
if (dataset.dataset_type != CWidgetPieChart.DATASET_TYPE_SINGLE_ITEM) {