Skip to content

Latest commit

 

History

History
200 lines (124 loc) · 3.33 KB

condensing-f4e064b.md

File metadata and controls

200 lines (124 loc) · 3.33 KB

Condensing

Condensing keeps change files clean.

Each UI change made by a developer, key user or end user with SAPUI5 flexibility results in a change file being stored in the back end. Multiple changes to the same control can lead to superfluous changes that are not required for the target UI, for example, if a text has been renamed multiple times. Condensing minimizes the number of changes to be stored as much as possible. Certain changes, however, can't be condensed, for example, if they have been made on different layers or in different versions. Change handlers therefore have to classify the type of changes they create.

When the getCondenserInfo function is implemented, the change type is enabled to be condensed. Redundant changes are deleted while preserving the target UI. There are several classifications available, but no option to define a custom classification. Depending on the classification, different properties have to be returned by the function:

Classification

Description

Example

Required Properties

All classifications

 

 

affectedControl, classification

LastOneWins

All changes except for the last one are removed.

rename

uniqueKey

Reverse

Two change types reverse each other like a toggle. A maximum of one change is left.

hide/unhide

uniqueKey

The unique key has to be the same for both change types that reverse each other.

Move

A control is moved inside a container.After any number of move changes, only one change of this type remains per control.

 

sourceContainer, targetContainer, sourceIndex, sourceAggregation, targetAggregation, etTargetIndex, getTargetIndex

Create

A new control is created (it's not just changing the visibility) that was previously not in the container.

 

targetContainer, targetAggregation, setTargetIndex, getTargetIndex

Destroy

A control is destroyed or removed from the container.

 

targetContainer, sourceIndex, targetAggregation

Update

A change is deleted and integrated in another change.

addIFrame + UpdateIFrame

uniqueKey, updateContent

The uniqueKey and affectedControl have to be the same as in the change into which this change is integrated.

The updates themselves are last one wins, so only the newest update change gets integrated.

The update change must not have any impact on any indices.

The change that receives the update can be of any kind, but additionally needs the update property.