SAP / openui5

OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice.
http://openui5.org
Apache License 2.0
2.9k stars 1.23k forks source link

PlanningCalendarRow cannot be given id #4079

Closed malkoto1 closed 1 week ago

malkoto1 commented 1 week ago

OpenUI5 version: ALL

Browser/version (+device/version): ALL

Any other tested browsers/devices(OK/FAIL):

URL (minimal example if possible):

User/password (if required and possible - do not post any confidential information here):

Steps to reproduce the problem: 1.Add "id" property to a PlanningCalendarRow control

What is the expected result? Planning Calendar row is rendered with the given ID

What happens instead? Error loading the app PlanningCalendarExample.zip

Any other information? (attach screenshot if possible)

This seems odd. Is that by design or is that a bug?

If this is by design, why?

codeworrior commented 1 week ago

The problem is not that you add an ID to the PlanningCalendarRow, but that you try to bind it.

Data binding is supported only for properties and aggregations. "id" is neither of the two, it's a special setting (search for "specialSettings") and therefore cannot be bound.

codeworrior commented 1 week ago

Just in case my reply didn't provide enough "why":

It's a fundamental requirement of UI5 that the "id" of a ManagedObject is know and given in the constructor and not modified afterwards. Data binding, on the other side, most of the time is asynchronous and therefore only applied later (and values might change).

As those two aspects don't fit together, we introduced the category of "special settings" for controls (or more general, for ManagedObjects) to better describe such special cases.