Skip to content

[ui5-dialog]: prevent-initial-focus is not working correctly #11449

@nnaydenow

Description

@nnaydenow

Bug Description

The ui5-dialog currently contains logic in the onEnterDOM hook that depends on the component’s state. This is problematic, as described in the official UI5 Web Components documentation:
https://sap.github.io/ui5-webcomponents/docs/development/deep-dive-and-best-practices/#onenterdom-and-onexitdom

"These hooks are completely independent of the component's rendering lifecycle, and are solely related to its insertion and removal from the DOM."

This means they are also independent of the component’s internal state. Using them in conjunction with state-dependent logic can result in incorrect behavior or broken functionality.

Affected Component

ui5-dialog

Expected Behaviour

No response

Isolated Example

https://sap.github.io/ui5-webcomponents/play/#eyJpbmRleC5odG1sIjp7Im5hbWUiOiJpbmRleC5odG1sIiwiY29udGVudCI6IjwhLS0gcGxheWdyb3VuZC1mb2xkIC0tPlxuPCFET0NUWVBFIGh0bWw-XG48aHRtbCBsYW5nPVwiZW5cIj5cblxuXG5cbjxoZWFkPlxuICAgIFxuICAgIDxzdHlsZT5cbiAgICAgICo6bm90KDpkZWZpbmVkKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICBodG1sIHtcbiAgICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7XG4gICAgfVxuICAgIDwvc3R5bGU-XG5cbiAgICBcbiAgICA8c3R5bGU-XG4gICAgICAqOm5vdCg6ZGVmaW5lZCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgaHRtbCB7XG4gICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuICAgIH1cbiAgICA8L3N0eWxlPlxuXG4gICAgPG1ldGEgY2hhcnNldD1cIlVURi04XCI-XG4gICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjBcIj5cbiAgICA8dGl0bGU-U2FtcGxlPC90aXRsZT5cbiAgICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1cIi4vbWFpbi5jc3NcIj5cbjwvaGVhZD5cblxuPGJvZHkgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYXBCYWNrZ3JvdW5kQ29sb3IpOyBoZWlnaHQ6IDQ1MHB4O1wiPlxuICAgIDwhLS0gcGxheWdyb3VuZC1mb2xkLWVuZCAtLT5cblxuICAgIDx1aTUtYnV0dG9uIGlkPVwiZGlhbG9nT3BlbmVyXCI-T3BlbiBEaWFsb2c8L3VpNS1idXR0b24-XG5cblx0PHVpNS1kaWFsb2cgaWQ9XCJkaWFsb2dcIiBvcGVuIHByZXZlbnQtaW5pdGlhbC1mb2N1cz5cblx0XHQ8dWk1LWlucHV0PjwvdWk1LWlucHV0PlxuXHQ8L3VpNS1kaWFsb2c-XG4gICAgPCEtLSBwbGF5Z3JvdW5kLWZvbGQgLS0-XG4gICAgPHNjcmlwdCB0eXBlPVwibW9kdWxlXCIgc3JjPVwibWFpbi5qc1wiPjwvc2NyaXB0PlxuPC9ib2R5PlxuXG48L2h0bWw-XG48IS0tIHBsYXlncm91bmQtZm9sZC1lbmQgLS0-XG4ifSwibWFpbi5qcyI6eyJuYW1lIjoibWFpbi5qcyIsImNvbnRlbnQiOiIvKiBwbGF5Z3JvdW5kLWhpZGUgKi9cbmltcG9ydCBcIi4vcGxheWdyb3VuZC1zdXBwb3J0LmpzXCI7XG4vKiBwbGF5Z3JvdW5kLWhpZGUtZW5kICovXG5pbXBvcnQgXCJAdWk1L3dlYmNvbXBvbmVudHMvZGlzdC9EaWFsb2cuanNcIjtcbmltcG9ydCBcIkB1aTUvd2ViY29tcG9uZW50cy9kaXN0L0J1dHRvbi5qc1wiO1xuaW1wb3J0IFwiQHVpNS93ZWJjb21wb25lbnRzL2Rpc3QvSW5wdXQuanNcIjtcbmltcG9ydCBcIkB1aTUvd2ViY29tcG9uZW50cy9kaXN0L0xpbmsuanNcIjtcbmltcG9ydCBcIkB1aTUvd2ViY29tcG9uZW50cy9kaXN0L0xhYmVsLmpzXCI7XG5pbXBvcnQgXCJAdWk1L3dlYmNvbXBvbmVudHMvZGlzdC9Ub29sYmFyLmpzXCJcbmltcG9ydCBcIkB1aTUvd2ViY29tcG9uZW50cy9kaXN0L1Rvb2xiYXJCdXR0b24uanNcIlxuXG52YXIgZGlhbG9nT3BlbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkaWFsb2dPcGVuZXJcIik7XG52YXIgZGlhbG9nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkaWFsb2dcIik7XG52YXIgZGlhbG9nQ2xvc2VycyA9IFsuLi5kaWFsb2cucXVlcnlTZWxlY3RvckFsbChcIi5kaWFsb2dDbG9zZXJcIildO1xuXG5kaWFsb2dPcGVuZXIuYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZXMgPSB7XG4gICAgaGFzUG9wdXA6IFwiZGlhbG9nXCIsXG4gICAgY29udHJvbHM6IGRpYWxvZy5pZCxcbn07XG5kaWFsb2dPcGVuZXIuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0-IHtcbiAgICBkaWFsb2cub3BlbiA9IHRydWU7XG59KTtcbmRpYWxvZ0Nsb3NlcnMuZm9yRWFjaChidG4gPT4ge1xuICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICBkaWFsb2cub3BlbiA9IGZhbHNlO1xuICAgIH0pO1xufSkifSwibWFpbi5jc3MiOnsibmFtZSI6Im1haW4uY3NzIiwiY29udGVudCI6Ii5sb2dpbi1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAzcmVtIDZyZW07XG59XG5cbi5sb2dpbi1mb3JtID4gZGl2IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHdpZHRoOiAxNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuQG1lZGlhKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAubG9naW4tZm9ybSB7XG4gICAgICAgIG1hcmdpbjogM3JlbSAxcmVtO1xuICAgIH1cbn0ifX0

Steps to Reproduce

...

Log Output, Stack Trace or Screenshots

No response

Priority

None

UI5 Web Components Version

nightly

Browser

Chrome

Operating System

No response

Additional Context

No response

Organization

No response

Declaration

  • I’m not disclosing any internal or sensitive information.

Metadata

Metadata

Labels

TOPIC RDbugThis issue is a bug in the code

Type

No fields configured for Bug.

Projects

Status
Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions