src/sap.ui.core/src/sap/ui/core/Control.js
function fnAppendBusyIndicator() {

		// Only append if busy state is still set
		if (!this.getBusy()) {
			return;
		}

		var $this = this.$(this._sBusySection);

		//If there is a pending delayed call to append the busy indicator, we can clear it now
		if (this._busyIndicatorDelayedCallId) {
			clearTimeout(this._busyIndicatorDelayedCallId);
			delete this._busyIndicatorDelayedCallId;
		}

		// if no busy section/control jquery instance could be retrieved -> the control is not part of the dom anymore
		// this might happen in certain scenarios when e.g. a dialog is closed faster than the busyIndicatorDelay
		if (!$this || $this.length === 0) {
			Log.warning("BusyIndicator could not be rendered. The outer control instance is not valid anymore.");
			return;
		}

		if (this._sBlockSection === this._sBusySection) {
			if (this._oBlockState) {
				BusyIndicatorUtils.addHTML(this._oBlockState, this.getBusyIndicatorSize());

				BlockLayerUtils.toggleAnimationStyle(this._oBlockState, true);

				this._oBusyBlockState = this._oBlockState;

			} else {
				// BusyIndicator is the first blocking element created (and )
				fnAddStandaloneBusyIndicator.call(this);
			}
		} else {
			// Standalone busy indicator
			fnAddStandaloneBusyIndicator.call(this);
		}
	}
function fnAppendBusyIndicator() {

		// Only append if busy state is still set
		if (!this.getBusy()) {
			return;
		}

		var $this = this.$(this._sBusySection);

		//If there is a pending delayed call to append the busy indicator, we can clear it now
		if (this._busyIndicatorDelayedCallId) {
			clearTimeout(this._busyIndicatorDelayedCallId);
			delete this._busyIndicatorDelayedCallId;
		}

		// if no busy section/control jquery instance could be retrieved -> the control is not part of the dom anymore
		// this might happen in certain scenarios when e.g. a dialog is closed faster than the busyIndicatorDelay
		if (!$this || $this.length === 0) {
			Log.warning("BusyIndicator could not be rendered. The outer control instance is not valid anymore.");
			return;
		}

		if (this._sBlockSection === this._sBusySection) {
			if (this._oBlockState) {
				BusyIndicatorUtils.addHTML(this._oBlockState, this.getBusyIndicatorSize());

				BlockLayerUtils.toggleAnimationStyle(this._oBlockState, true);

				this._oBusyBlockState = this._oBlockState;

			} else {
				// BusyIndicator is the first blocking element created (and )
				fnAddStandaloneBusyIndicator.call(this);
			}
		} else {
			// Standalone busy indicator
			fnAddStandaloneBusyIndicator.call(this);
		}
	}
function fnAppendBusyIndicator ( ) { // Only append if busy state is still set if ( ! this . getBusy ( ) ) { return ; } var $this = this . $ ( this . _sBusySection ) ; //If there is a pending delayed call to append the busy indicator, we can clear it now if ( this . _busyIndicatorDelayedCallId ) { clearTimeout ( this . _busyIndicatorDelayedCallId ) ; delete this . _busyIndicatorDelayedCallId ; } // if no busy section/control jquery instance could be retrieved -> the control is not part of the dom anymore // this might happen in certain scenarios when e.g. a dialog is closed faster than the busyIndicatorDelay if ( ! $this || $this . length === 0 ) { Log . warning ( "BusyIndicator could not be rendered. The outer control instance is not valid anymore." ) ; return ; } if ( this . _sBlockSection === this . _sBusySection ) { if ( this . _oBlockState ) { BusyIndicatorUtils . addHTML ( this . _oBlockState , this . getBusyIndicatorSize ( ) ) ; BlockLayerUtils . toggleAnimationStyle ( this . _oBlockState , true ) ; this . _oBusyBlockState = this . _oBlockState ; } else { // BusyIndicator is the first blocking element created (and ) fnAddStandaloneBusyIndicator . call ( this ) ; } } else { // Standalone busy indicator fnAddStandaloneBusyIndicator . call ( this ) ; } }
Add busy indicator to DOM

@private
Add busy indicator to DOM