[MGNLUI-5403] Make ds definititon resolution algorithm treat WithDatasource iterface the same way as if the definition was there in the storage Created: 01/Oct/19 Updated: 01/Nov/19 Resolved: 01/Nov/19 |
|
| Status: | Closed |
| Project: | Magnolia UI |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.2 |
| Type: | Task | Priority: | Neutral |
| Reporter: | Aleksandr Pchelintcev | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoR: |
Empty
|
| Epic Link: | UI framework: basic features |
| Sprint: | UI Framework 7 |
| Story Points: | 2 |
| Description |
|
The problem was uncovered by the tasks app: the DS definition defined on the app level (via app descriptor) was queried indirectly and got cached in session storage (because that's how our scopes work). As a result as per current DS def resolution mechanism - that cached definition was taking precedence over the DS defs configured in sub-app descriptors due to technical detail: the "free-roaming" DS definition stream was concatenated by the ones provided by other definitions and the first one was to be picked. The lined changeset shifts the choice preference to the Ui context proximity: if there's a descriptor that has DS configured closer to the current view than the explicitly cached DS def somewhere far (e.g. in the app scope), prefer the closer one. |