client/splunk.ui.charting.js
function () {
		var series = this,
			chart = series.chart,
			renderer = chart.renderer,
			shapeArgs,
			tracker,
			trackerLabel = +new Date(),
			options = series.options,
			cursor = options.cursor,
			css = cursor && { cursor: cursor },
			rel;

		each(series.data, function (point) {
			tracker = point.tracker;
			shapeArgs = point.trackerArgs || point.shapeArgs;
			delete shapeArgs.strokeWidth;
			if (point.y !== null) {
				if (tracker) {// update
					tracker.attr(shapeArgs);

				} else {
					point.tracker =
						renderer[point.shapeType](shapeArgs)
						.attr({
							isTracker: trackerLabel,
							fill: TRACKER_FILL,
							visibility: series.visible ? VISIBLE : HIDDEN,
							zIndex: options.zIndex || 1
						})
						.on(hasTouch ? 'touchstart' : 'mouseover', function (event) {
							rel = event.relatedTarget || event.fromElement;
							if (chart.hoverSeries !== series && attr(rel, 'isTracker') !== trackerLabel) {
								series.onMouseOver();
							}
							point.onMouseOver();

						})
						.on('mouseout', function (event) {
							if (!options.stickyTracking) {
								rel = event.relatedTarget || event.toElement;
								if (attr(rel, 'isTracker') !== trackerLabel) {
									series.onMouseOut();
								}
							}
						})
						.css(css)
						.add(point.group || chart.trackerGroup); // pies have point group - see issue #118
				}
			}
		});
	}
function () {
		var series = this,
			chart = series.chart,
			renderer = chart.renderer,
			shapeArgs,
			tracker,
			trackerLabel = +new Date(),
			options = series.options,
			cursor = options.cursor,
			css = cursor && { cursor: cursor },
			rel;

		each(series.data, function (point) {
			tracker = point.tracker;
			shapeArgs = point.trackerArgs || point.shapeArgs;
			delete shapeArgs.strokeWidth;
			if (point.y !== null) {
				if (tracker) {// update
					tracker.attr(shapeArgs);

				} else {
					point.tracker =
						renderer[point.shapeType](shapeArgs)
						.attr({
							isTracker: trackerLabel,
							fill: TRACKER_FILL,
							visibility: series.visible ? VISIBLE : HIDDEN,
							zIndex: options.zIndex || 1
						})
						.on(hasTouch ? 'touchstart' : 'mouseover', function (event) {
							rel = event.relatedTarget || event.fromElement;
							if (chart.hoverSeries !== series && attr(rel, 'isTracker') !== trackerLabel) {
								series.onMouseOver();
							}
							point.onMouseOver();

						})
						.on('mouseout', function (event) {
							if (!options.stickyTracking) {
								rel = event.relatedTarget || event.toElement;
								if (attr(rel, 'isTracker') !== trackerLabel) {
									series.onMouseOut();
								}
							}
						})
						.css(css)
						.add(point.group || chart.trackerGroup); // pies have point group - see issue #118
				}
			}
		});
	}
function ( ) { var series = this , chart = series . chart , renderer = chart . renderer , shapeArgs , tracker , trackerLabel = + new Date ( ) , options = series . options , cursor = options . cursor , css = cursor && { cursor : cursor } , rel ; each ( series . data , function ( point ) { tracker = point . tracker ; shapeArgs = point . trackerArgs || point . shapeArgs ; delete shapeArgs . strokeWidth ; if ( point . y !== null ) { if ( tracker ) { // update
 tracker . attr ( shapeArgs ) ; } else { point . tracker = renderer [ point . shapeType ] ( shapeArgs ) . attr ( { isTracker : trackerLabel , fill : TRACKER_FILL , visibility : series . visible ? VISIBLE : HIDDEN , zIndex : options . zIndex || 1 } ) . on ( hasTouch ? 'touchstart' : 'mouseover' , function ( event ) { rel = event . relatedTarget || event . fromElement ; if ( chart . hoverSeries !== series && attr ( rel , 'isTracker' ) !== trackerLabel ) { series . onMouseOver ( ) ; } point . onMouseOver ( ) ; } ) . on ( 'mouseout' , function ( event ) { if ( ! options . stickyTracking ) { rel = event . relatedTarget || event . toElement ; if ( attr ( rel , 'isTracker' ) !== trackerLabel ) { series . onMouseOut ( ) ; } } } ) . css ( css ) . add ( point . group || chart . trackerGroup ) ; // pies have point group - see issue #118
 } } } ) ; }
Draw the individual tracker elements.
This method is inherited by scatter and pie charts too.
Draw the individual tracker elements . This method is inherited by scatter and pie charts too .