client/splunk.ui.charting.js
function drop() {
			if (selectionMarker) {
				var selectionData = {
						xAxis: [],
						yAxis: []
					},
					selectionBox = selectionMarker.getBBox(),
					selectionLeft = selectionBox.x - plotLeft,
					selectionTop = selectionBox.y - plotTop;


				// a selection has been made
				if (hasDragged) {

					// record each axis' min and max
					each(axes, function (axis) {
						var translate = axis.translate,
							isXAxis = axis.isXAxis,
							isHorizontal = inverted ? !isXAxis : isXAxis,
							selectionMin = translate(
								isHorizontal ?
									selectionLeft :
									plotHeight - selectionTop - selectionBox.height,
								true,
								0,
								0,
								1
							),
							selectionMax = translate(
								isHorizontal ?
									selectionLeft + selectionBox.width :
									plotHeight - selectionTop,
								true,
								0,
								0,
								1
							);

							selectionData[isXAxis ? 'xAxis' : 'yAxis'].push({
								axis: axis,
								min: mathMin(selectionMin, selectionMax), // for reversed axes,
								max: mathMax(selectionMin, selectionMax)
							});

					});
					fireEvent(chart, 'selection', selectionData, zoom);

				}
				selectionMarker = selectionMarker.destroy();
			}

			chart.mouseIsDown = mouseIsDown = hasDragged = false;
			removeEvent(doc, hasTouch ? 'touchend' : 'mouseup', drop);

		}
function drop() {
			if (selectionMarker) {
				var selectionData = {
						xAxis: [],
						yAxis: []
					},
					selectionBox = selectionMarker.getBBox(),
					selectionLeft = selectionBox.x - plotLeft,
					selectionTop = selectionBox.y - plotTop;


				// a selection has been made
				if (hasDragged) {

					// record each axis' min and max
					each(axes, function (axis) {
						var translate = axis.translate,
							isXAxis = axis.isXAxis,
							isHorizontal = inverted ? !isXAxis : isXAxis,
							selectionMin = translate(
								isHorizontal ?
									selectionLeft :
									plotHeight - selectionTop - selectionBox.height,
								true,
								0,
								0,
								1
							),
							selectionMax = translate(
								isHorizontal ?
									selectionLeft + selectionBox.width :
									plotHeight - selectionTop,
								true,
								0,
								0,
								1
							);

							selectionData[isXAxis ? 'xAxis' : 'yAxis'].push({
								axis: axis,
								min: mathMin(selectionMin, selectionMax), // for reversed axes,
								max: mathMax(selectionMin, selectionMax)
							});

					});
					fireEvent(chart, 'selection', selectionData, zoom);

				}
				selectionMarker = selectionMarker.destroy();
			}

			chart.mouseIsDown = mouseIsDown = hasDragged = false;
			removeEvent(doc, hasTouch ? 'touchend' : 'mouseup', drop);

		}
function drop ( ) { if ( selectionMarker ) { var selectionData = { xAxis : [ ] , yAxis : [ ] } , selectionBox = selectionMarker . getBBox ( ) , selectionLeft = selectionBox . x - plotLeft , selectionTop = selectionBox . y - plotTop ; // a selection has been made
 if ( hasDragged ) { // record each axis' min and max
 each ( axes , function ( axis ) { var translate = axis . translate , isXAxis = axis . isXAxis , isHorizontal = inverted ? ! isXAxis : isXAxis , selectionMin = translate ( isHorizontal ? selectionLeft : plotHeight - selectionTop - selectionBox . height , true , 0 , 0 , 1 ) , selectionMax = translate ( isHorizontal ? selectionLeft + selectionBox . width : plotHeight - selectionTop , true , 0 , 0 , 1 ) ; selectionData [ isXAxis ? 'xAxis' : 'yAxis' ] . push ( { axis : axis , min : mathMin ( selectionMin , selectionMax ) , // for reversed axes,
 max : mathMax ( selectionMin , selectionMax ) } ) ; } ) ; fireEvent ( chart , 'selection' , selectionData , zoom ) ; } selectionMarker = selectionMarker . destroy ( ) ; } chart . mouseIsDown = mouseIsDown = hasDragged = false ; removeEvent ( doc , hasTouch ? 'touchend' : 'mouseup' , drop ) ; }
Mouse up or outside the plot area
Mouse up or outside the plot area