src/sap.m/src/sap/m/IconTabBarDragAndDropUtil.js
function (context, sDropPosition, oDraggedControl, oDroppedControl, bIgnoreRTL) {
				var iBeginDragIndex = context.indexOfItem(oDraggedControl),
					iDropIndex = context.indexOfItem(oDroppedControl),
					$DraggedControl = oDraggedControl.$(),
					$DroppedControl = oDroppedControl.$(),
					iAggregationDropIndex = 0,
					bRtl = sap.ui.getCore().getConfiguration().getRTL(),
					bIsDropPositionBefore = sDropPosition === INSERT_POSITION_BEFORE;

				if (bRtl && !bIgnoreRTL) {
					if (bIsDropPositionBefore) {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex : iDropIndex + 1;
						sInsertAfterBeforePosition = INSERT_AFTER;
					} else {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex - 1 : iDropIndex;
						sInsertAfterBeforePosition = INSERT_BEFORE;
					}
				} else {
					if (bIsDropPositionBefore) {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex - 1 : iDropIndex;
						sInsertAfterBeforePosition = INSERT_BEFORE;
					} else {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex : iDropIndex + 1;
						sInsertAfterBeforePosition = INSERT_AFTER;
					}
				}

				IconTabBarDragAndDropUtil._insertControl(sInsertAfterBeforePosition, $DraggedControl, $DroppedControl);
				IconTabBarDragAndDropUtil._handleConfigurationAfterDragAndDrop.call(context, oDraggedControl, iAggregationDropIndex);
			}
function (context, sDropPosition, oDraggedControl, oDroppedControl, bIgnoreRTL) {
				var iBeginDragIndex = context.indexOfItem(oDraggedControl),
					iDropIndex = context.indexOfItem(oDroppedControl),
					$DraggedControl = oDraggedControl.$(),
					$DroppedControl = oDroppedControl.$(),
					iAggregationDropIndex = 0,
					bRtl = sap.ui.getCore().getConfiguration().getRTL(),
					bIsDropPositionBefore = sDropPosition === INSERT_POSITION_BEFORE;

				if (bRtl && !bIgnoreRTL) {
					if (bIsDropPositionBefore) {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex : iDropIndex + 1;
						sInsertAfterBeforePosition = INSERT_AFTER;
					} else {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex - 1 : iDropIndex;
						sInsertAfterBeforePosition = INSERT_BEFORE;
					}
				} else {
					if (bIsDropPositionBefore) {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex - 1 : iDropIndex;
						sInsertAfterBeforePosition = INSERT_BEFORE;
					} else {
						iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex : iDropIndex + 1;
						sInsertAfterBeforePosition = INSERT_AFTER;
					}
				}

				IconTabBarDragAndDropUtil._insertControl(sInsertAfterBeforePosition, $DraggedControl, $DroppedControl);
				IconTabBarDragAndDropUtil._handleConfigurationAfterDragAndDrop.call(context, oDraggedControl, iAggregationDropIndex);
			}
function ( context , sDropPosition , oDraggedControl , oDroppedControl , bIgnoreRTL ) { var iBeginDragIndex = context . indexOfItem ( oDraggedControl ) , iDropIndex = context . indexOfItem ( oDroppedControl ) , $DraggedControl = oDraggedControl . $ ( ) , $DroppedControl = oDroppedControl . $ ( ) , iAggregationDropIndex = 0 , bRtl = sap . ui . getCore ( ) . getConfiguration ( ) . getRTL ( ) , bIsDropPositionBefore = sDropPosition === INSERT_POSITION_BEFORE ; if ( bRtl && ! bIgnoreRTL ) { if ( bIsDropPositionBefore ) { iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex : iDropIndex + 1 ; sInsertAfterBeforePosition = INSERT_AFTER ; } else { iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex - 1 : iDropIndex ; sInsertAfterBeforePosition = INSERT_BEFORE ; } } else { if ( bIsDropPositionBefore ) { iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex - 1 : iDropIndex ; sInsertAfterBeforePosition = INSERT_BEFORE ; } else { iAggregationDropIndex = iBeginDragIndex < iDropIndex ? iDropIndex : iDropIndex + 1 ; sInsertAfterBeforePosition = INSERT_AFTER ; } } IconTabBarDragAndDropUtil . _insertControl ( sInsertAfterBeforePosition , $DraggedControl , $DroppedControl ) ; IconTabBarDragAndDropUtil . _handleConfigurationAfterDragAndDrop . call ( context , oDraggedControl , iAggregationDropIndex ) ; }
Handles drop event.
@param {object} context from which context function is called (sap.m.IconTabHeader or sap.m.IconTabSelectList)
@param {String} sDropPosition comes from drop event, it can be "Before" or "After"
@param {object} oDraggedControl control that is being dragged
@param {object} oDroppedControl control that the dragged control will be dropped on
@param {boolean} bIgnoreRTL should RTL configuration be ignored for drag and drop logic
Handles drop event .