Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
323 changes: 126 additions & 197 deletions plugins/ui5-modernization/skills/fix-cyclic-deps/SKILL.md

Large diffs are not rendered by default.

951 changes: 180 additions & 771 deletions plugins/ui5-modernization/skills/fix-js-globals/SKILL.md

Large diffs are not rendered by default.

36 changes: 5 additions & 31 deletions plugins/ui5-modernization/skills/fix-xml-globals/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -279,40 +279,14 @@ When multiple modules share the same class name, use descriptive aliases:
</mvc:View>
```

### Formatters with Multiple Parameters
### Formatters with Multiple Parts / Expression Bindings

When a binding expression uses a formatter with multiple parts, the `core:require` is the same — only the global namespace in the formatter reference changes.
Multi-part bindings and expression bindings follow the same `core:require` pattern — just replace the dotted global with the local alias. Expression binding example:

```xml
<!-- Before -->
<Text text="{
parts: [
{path: 'firstName'},
{path: 'lastName'}
],
formatter: 'my.app.model.formatter.formatFullName'
}" />

<!-- After (with core:require for formatter on the view root) -->
<Text text="{
parts: [
{path: 'firstName'},
{path: 'lastName'}
],
formatter: 'formatter.formatFullName'
}" />
```

### Globals Accessed Inside Expression Bindings

Expression bindings that reference globals via the `${...}` syntax also need `core:require`.

```xml
<!-- Before -->
<Text visible="{= ${/count} > 0}" text="{= my.app.model.formatter.formatCount(${/count})}" />

<!-- After -->
<Text visible="{= ${/count} > 0}" text="{= formatter.formatCount(${/count})}" />
<!-- Before: text="{= my.app.model.formatter.formatCount(${/count})}" -->
<!-- After (with core:require for formatter): -->
<Text text="{= formatter.formatCount(${/count})}" />
```

## App-Namespace Globals in XML
Expand Down
Loading