function _updateDisplayText(bForce) {
		var oDisplay = this.getAggregation("_displayField");

		if (oDisplay && (oDisplay.getDomRef() || bForce)) { // update only if rendered (or forced on before rendering)
			if (bForce && oDisplay._bNoForceUpdate) { // re-rendering triggered by update of text itself -> do not do twice
				oDisplay._bNoForceUpdate = false;
				return;
			}

			var aFields = this.getFields();
			var aTexts = [];
			var bAsync = false;

			for (var i = 0; i < aFields.length; i++) {
				var oField = aFields[i];
				if (oField.getVisible()) {
					var sProperyName = oField.getFormValueProperty ? oField.getFormValueProperty() : null;
					var vText;
					if (oField.getFormFormattedValue) {
						vText = oField.getFormFormattedValue();
						if (vText instanceof Promise) {
							bAsync = true;
						}
					} else if (sProperyName) {
						vText = oField.getProperty(sProperyName);
					} else if (oField.getMetadata().getProperty("value")) {
						vText = oField.getValue();
					} else if (oField.getMetadata().getProperty("text")) {
						vText = oField.getText();
					}
					aTexts.push(vText);
				}
			}

			oDisplay._bNoForceUpdate = true; // prevent double update, as setText might trigger re-rendering
			if (bAsync) {
				Promise.all(aTexts).then(function(aTexts) {
					var oDisplay = this.getAggregation("_displayField");
					var sText = _concatenateTexts.call(this, aTexts);
					oDisplay._bNoForceUpdate = true; // prevent double update, as setText might trigger re-rendering (again as a re-rendeing could happen until promise resolved)
					library.form.FormHelper.updateSemanticDisplayControl(oDisplay, sText);
				}.bind(this));
			} else {
				var sText = _concatenateTexts.call(this, aTexts);
				library.form.FormHelper.updateSemanticDisplayControl(oDisplay, sText);
			}
		} else if (oDisplay && oDisplay._bNoForceUpdate) { // execute update on next rendering
			oDisplay._bNoForceUpdate = false;
		}

	}
// As display text might need some logic to be determined -> determine only if really rendered and not for every update
As display text might need some logic to be determined -> determine only if really rendered and not for every update
As display text might need some logic to be determined - > determine only if really rendered and not for every update
function _updateDisplayText(bForce) {
		var oDisplay = this.getAggregation("_displayField");
		if (oDisplay && (oDisplay.getDomRef() || bForce)) { 
			if (bForce && oDisplay._bNoForceUpdate) { 
				oDisplay._bNoForceUpdate = false;
				return;
			}
			var aFields = this.getFields();
			var aTexts = [];
			var bAsync = false;
			for (var i = 0; i < aFields.length; i++) {
				var oField = aFields[i];
				if (oField.getVisible()) {
					var sProperyName = oField.getFormValueProperty ? oField.getFormValueProperty() : null;
					var vText;
					if (oField.getFormFormattedValue) {
						vText = oField.getFormFormattedValue();
						if (vText instanceof Promise) {
							bAsync = true;
						}
					} else if (sProperyName) {
						vText = oField.getProperty(sProperyName);
					} else if (oField.getMetadata().getProperty("value")) {
						vText = oField.getValue();
					} else if (oField.getMetadata().getProperty("text")) {
						vText = oField.getText();
					}
					aTexts.push(vText);
				}
			}
			oDisplay._bNoForceUpdate = true; 
			if (bAsync) {
				Promise.all(aTexts).then(function(aTexts) {
					var oDisplay = this.getAggregation("_displayField");
					var sText = _concatenateTexts.call(this, aTexts);
					oDisplay._bNoForceUpdate = true;  (again as a re-rendeing could happen until promise resolved)
					library.form.FormHelper.updateSemanticDisplayControl(oDisplay, sText);
				}.bind(this));
			} else {
				var sText = _concatenateTexts.call(this, aTexts);
				library.form.FormHelper.updateSemanticDisplayControl(oDisplay, sText);
			}
		} else if (oDisplay && oDisplay._bNoForceUpdate) { 
			oDisplay._bNoForceUpdate = false;
		}
	}
function _updateDisplayText ( bForce ) { var oDisplay = this . getAggregation ( "_displayField" ) ; if ( oDisplay && ( oDisplay . getDomRef ( ) || bForce ) ) { if ( bForce && oDisplay . _bNoForceUpdate ) { oDisplay . _bNoForceUpdate = false ; return ; } var aFields = this . getFields ( ) ; var aTexts = [ ] ; var bAsync = false ; for ( var i = 0 ; i < aFields . length ; i ++ ) { var oField = aFields [ i ] ; if ( oField . getVisible ( ) ) { var sProperyName = oField . getFormValueProperty ? oField . getFormValueProperty ( ) : null ; var vText ; if ( oField . getFormFormattedValue ) { vText = oField . getFormFormattedValue ( ) ; if ( vText instanceof Promise ) { bAsync = true ; } } else if ( sProperyName ) { vText = oField . getProperty ( sProperyName ) ; } else if ( oField . getMetadata ( ) . getProperty ( "value" ) ) { vText = oField . getValue ( ) ; } else if ( oField . getMetadata ( ) . getProperty ( "text" ) ) { vText = oField . getText ( ) ; } aTexts . push ( vText ) ; } } oDisplay . _bNoForceUpdate = true ; if ( bAsync ) { Promise . all ( aTexts ) . then ( function ( aTexts ) { var oDisplay = this . getAggregation ( "_displayField" ) ; var sText = _concatenateTexts . call ( this , aTexts ) ; oDisplay . _bNoForceUpdate = true ; library . form . FormHelper . updateSemanticDisplayControl ( oDisplay , sText ) ; } . bind ( this ) ) ; } else { var sText = _concatenateTexts . call ( this , aTexts ) ; library . form . FormHelper . updateSemanticDisplayControl ( oDisplay , sText ) ; } } else if ( oDisplay && oDisplay . _bNoForceUpdate ) { oDisplay . _bNoForceUpdate = false ; } }
As display text might need some logic to be determined -> determine only if really rendered and not for every update
As display text might need some logic to be determined - > determine only if really rendered and not for every update
// update only if rendered (or forced on before rendering) // re-rendering triggered by update of text itself -> do not do twice // prevent double update, as setText might trigger re-rendering // prevent double update, as setText might trigger re-rendering (again as a re-rendeing could happen until promise resolved) // execute update on next rendering