fix(ui5-shellbar): do not duplicate popover menu items #1456
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
_menuPopoverItems
metadata property had a wrong type and a wrong default value. When the default value is an object, in this case[]
, whenever there is a type mismatch, the default value is returned:return propDefaultValue;
inUI5Element.js
. However, if the default value is an object, it's passed by reference and when the components work with it (f.e. push items as is here), thedefaultValue
is updated every time. Thus items are duplicated again and again.In addition, to prevent this from happening in the future, some more metadata checks are added:
type
can no longer beArray
type
equal toObject
, or withmultiple: true
, cannot have a default value at all. The default value can only be{}
or[]
respectively, and provided by the framework.In addition, the check for
Boolean
properties was wrong, a leftover from the time whenBoolean
was denoted by a string"boolean"
.