function (areas) {
        if (__DEV__) {
            zrUtil.assert(zrUtil.isArray(areas));
            zrUtil.each(areas, function (area) {
                zrUtil.assert(area.brushType, 'Illegal areas');
            });
        }

        // If ranges is null/undefined, range state remain.
        // This helps user to dispatchAction({type: 'brush'}) with no areas
        // set but just want to get the current brush select info from a `brush` event.
        if (!areas) {
            return;
        }

        this.areas = zrUtil.map(areas, function (area) {
            return generateBrushOption(this.option, area);
        }, this);
    }
function (areas) {
        if (__DEV__) {
            zrUtil.assert(zrUtil.isArray(areas));
            zrUtil.each(areas, function (area) {
                zrUtil.assert(area.brushType, 'Illegal areas');
            });
        }

        // If ranges is null/undefined, range state remain.
        // This helps user to dispatchAction({type: 'brush'}) with no areas
        // set but just want to get the current brush select info from a `brush` event.
        if (!areas) {
            return;
        }

        this.areas = zrUtil.map(areas, function (area) {
            return generateBrushOption(this.option, area);
        }, this);
    }
function ( areas ) { if ( __DEV__ ) { zrUtil . assert ( zrUtil . isArray ( areas ) ) ; zrUtil . each ( areas , function ( area ) { zrUtil . assert ( area . brushType , 'Illegal areas' ) ; } ) ; } // If ranges is null/undefined, range state remain. // This helps user to dispatchAction({type: 'brush'}) with no areas // set but just want to get the current brush select info from a `brush` event. if ( ! areas ) { return ; } this . areas = zrUtil . map ( areas , function ( area ) { return generateBrushOption ( this . option , area ) ; } , this ) ; }
If ranges is null/undefined, range state remain.

@param {Array.<Object>} [ranges]
If ranges is null / undefined range state remain .
Set the current brush area