brushExtents now fires events only after all new extents have been set. This prevents calls to 'brushend' with incomplete brushings.
Example:
brushExtents updates extent on dimension 1, calls 'brushend' with wrong .brushed b/c dimension 2 does not have a brush extent yet;
then updates extent on dimension 2, calls 'brushend' again, this time with correct .brushed
brushExtents now fires events only after all new extents have been set. This prevents calls to 'brushend' with incomplete brushings.
Example: brushExtents updates extent on dimension 1, calls 'brushend' with wrong .brushed b/c dimension 2 does not have a brush extent yet; then updates extent on dimension 2, calls 'brushend' again, this time with correct .brushed