client/splunk.ui.charting.js
function () {
		var series = this;

		// cache attributes for shapes
		//series.getAttribs();

		this.drawPoints();

		// draw the mouse tracking area
		if (series.options.enableMouseTracking !== false) {
			series.drawTracker();
		}
        
        // PATCH by Simon Fishel
        //
        // execute beforeLabelRender hook to allow re-formatting of data labels
        //
        // + if(series.options.hooks && series.options.hooks.beforeLabelRender) {
        // +    series.options.hooks.beforeLabelRender(series)
        // + }
        
        if(series.options.hooks && series.options.hooks.beforeLabelRender) {
            series.options.hooks.beforeLabelRender(series)
        }

		this.drawDataLabels();

		if (series.options.animation && series.animate) {
			series.animate();
		}

		series.isDirty = false; // means data is in accordance with what you see
	}
function () {
		var series = this;

		// cache attributes for shapes
		//series.getAttribs();

		this.drawPoints();

		// draw the mouse tracking area
		if (series.options.enableMouseTracking !== false) {
			series.drawTracker();
		}
        
        // PATCH by Simon Fishel
        //
        // execute beforeLabelRender hook to allow re-formatting of data labels
        //
        // + if(series.options.hooks && series.options.hooks.beforeLabelRender) {
        // +    series.options.hooks.beforeLabelRender(series)
        // + }
        
        if(series.options.hooks && series.options.hooks.beforeLabelRender) {
            series.options.hooks.beforeLabelRender(series)
        }

		this.drawDataLabels();

		if (series.options.animation && series.animate) {
			series.animate();
		}

		series.isDirty = false; // means data is in accordance with what you see
	}
function ( ) { var series = this ; // cache attributes for shapes
 //series.getAttribs();
 this . drawPoints ( ) ; // draw the mouse tracking area
 if ( series . options . enableMouseTracking !== false ) { series . drawTracker ( ) ; } // PATCH by Simon Fishel
 //
 // execute beforeLabelRender hook to allow re-formatting of data labels
 //
 // + if(series.options.hooks && series.options.hooks.beforeLabelRender) {
 // +    series.options.hooks.beforeLabelRender(series)
 // + }
 if ( series . options . hooks && series . options . hooks . beforeLabelRender ) { series . options . hooks . beforeLabelRender ( series ) } this . drawDataLabels ( ) ; if ( series . options . animation && series . animate ) { series . animate ( ) ; } series . isDirty = false ; // means data is in accordance with what you see
 }
Render the slices
Render the slices