From 85b1096e36ed83726f3d99e000b6d53b5abfab93 Mon Sep 17 00:00:00 2001 From: tsanislavgatev Date: Thu, 18 Dec 2025 16:03:52 +0200 Subject: [PATCH] fix(framework): move element registration inside async --- packages/base/src/UI5Element.ts | 26 ++++++++++++------------ packages/main/test/pages/DatePicker.html | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/base/src/UI5Element.ts b/packages/base/src/UI5Element.ts index 36f31b62b81c..41f125ad78c1 100644 --- a/packages/base/src/UI5Element.ts +++ b/packages/base/src/UI5Element.ts @@ -1354,22 +1354,22 @@ abstract class UI5Element extends HTMLElement { this.i18nBundleStorage[bundleName] = i18nBundles[index]; }); this.asyncFinished = true; + + // Register the custom element only after CLDR and i18n data is loaded + const tag = this.getMetadata().getTag(); + const definedLocally = isTagRegistered(tag); + const definedGlobally = customElements.get(tag); + + if (definedGlobally && !definedLocally) { + recordTagRegistrationFailure(tag); + } else if (!definedGlobally) { + this._generateAccessors(); + registerTag(tag); + customElements.define(tag, this as unknown as CustomElementConstructor); + } }; this.definePromise = defineSequence(); - const tag = this.getMetadata().getTag(); - - const definedLocally = isTagRegistered(tag); - const definedGlobally = customElements.get(tag); - - if (definedGlobally && !definedLocally) { - recordTagRegistrationFailure(tag); - } else if (!definedGlobally) { - this._generateAccessors(); - registerTag(tag); - customElements.define(tag, this as unknown as CustomElementConstructor); - } - return this; } diff --git a/packages/main/test/pages/DatePicker.html b/packages/main/test/pages/DatePicker.html index 17d3689a3969..e2588126ca69 100644 --- a/packages/main/test/pages/DatePicker.html +++ b/packages/main/test/pages/DatePicker.html @@ -76,7 +76,7 @@

format-pattern - 'short'

format-pattern - 'long'

- +

format-pattern - 'QQQ yyyy, MMM dd'

@@ -179,7 +179,7 @@

DatePicker with format `yyyy` should open picker on years

Form validation
- +

Check Validity