2

私はここのような以前の投稿のいくつかで、chart.isDirtyBoxchart.isDirtyLegendプロパティを利用して見つけました。highchartsAPIでもそれらを見つけることができませんでした。

彼らは実際に何をしますか?誰かが私がこれらのプロパティのドキュメントを入手するのを手伝ったり、おそらく例を使ってこれらのプロパティの使用法を説明するのを手伝ってくれますか?

4

1 に答える 1

3

これはドキュメントにはありません。どの要素が変更され、再描画する必要があるかを知るために内部的に使用されるだけです。

ハイストックv1.2.4

isDirtyBox-関連するコード。

var chart = this,
    ...
    isDirtyBox = chart.isDirtyBox;

// redraw axes
each(axes, function (axis) {

    // Fire 'afterSetExtremes' only if extremes are set
    if (axis.isDirtyExtremes) { // #821
        axis.isDirtyExtremes = false;
        afterRedraw.push(function () { // prevent a recursive call to chart.redraw() (#1119)
            fireEvent(axis, 'afterSetExtremes', axis.getExtremes()); // #747, #751
        });
    }

    if (axis.isDirty || isDirtyBox || hasStackedSeries) {
        axis.redraw();
        isDirtyBox = true; // #792
    }
});

// the plot areas size has changed
if (isDirtyBox) {
    chart.drawChartBox();
}

isDirtyLegend-関連するコード。

var chart = this,
    ...
    redrawLegend = chart.isDirtyLegend,
    ...

// handle updated data in the series
each(series, function (serie) {
    if (serie.isDirty) { // prepare the data so axis can read it
        if (serie.options.legendType === 'point') {
            redrawLegend = true;
        }
    }
});

// handle added or removed series
if (redrawLegend && legend.options.enabled) { // series or pie points are added or removed
    // draw legend graphics
    legend.render();

    chart.isDirtyLegend = false;
}

isDirtyLegendchart.resize、、series.removeおよびchart.addSeries次の行で も使用されます。

chart.isDirtyLegend = true; // force legend redraw
于 2013-02-19T17:20:51.073 に答える