jupiter-dynamic-forms 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -0
- package/dist/core/DynamicFormRefactored.d.ts +9 -0
- package/dist/core/DynamicFormRefactored.d.ts.map +1 -1
- package/dist/core/dynamic-form.d.ts +9 -0
- package/dist/core/dynamic-form.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +50 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3939,6 +3939,44 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
3939
3939
|
updated(changedProperties) {
|
|
3940
3940
|
if (changedProperties.has("xbrlInput") || changedProperties.has("schema")) {
|
|
3941
3941
|
this._initializeForm();
|
|
3942
|
+
} else if (changedProperties.has("language")) {
|
|
3943
|
+
console.log("🌐 Language changed from", changedProperties.get("language"), "to", this.language);
|
|
3944
|
+
this._handleLanguageChange();
|
|
3945
|
+
}
|
|
3946
|
+
}
|
|
3947
|
+
/**
|
|
3948
|
+
* Handle language change - rebuild schema with new language while preserving form data
|
|
3949
|
+
*/
|
|
3950
|
+
_handleLanguageChange() {
|
|
3951
|
+
if (!this.xbrlInput) {
|
|
3952
|
+
console.warn("⚠️ Cannot change language without XBRL input data");
|
|
3953
|
+
return;
|
|
3954
|
+
}
|
|
3955
|
+
try {
|
|
3956
|
+
const currentFormData = { ...this._formData };
|
|
3957
|
+
const currentPreservedData = { ...this._preservedFormData };
|
|
3958
|
+
const currentTypedMemberData = { ...this._typedMemberData };
|
|
3959
|
+
const currentPreservedTypedMemberData = { ...this._preservedTypedMemberData };
|
|
3960
|
+
const currentSelectedRoles = [...this._selectedRoleIds];
|
|
3961
|
+
console.log("💾 Preserving form data during language change:", currentFormData);
|
|
3962
|
+
console.log("🔄 Rebuilding form schema with language:", this.language);
|
|
3963
|
+
this._currentSchema = XBRLFormBuilder.buildFormSchema(
|
|
3964
|
+
this.xbrlInput,
|
|
3965
|
+
this.periodStartDate,
|
|
3966
|
+
this.periodEndDate,
|
|
3967
|
+
this.language
|
|
3968
|
+
);
|
|
3969
|
+
this._allSections = [...this._currentSchema.sections];
|
|
3970
|
+
this._selectedRoleIds = currentSelectedRoles;
|
|
3971
|
+
this._applyRoleFilter();
|
|
3972
|
+
this._formData = currentFormData;
|
|
3973
|
+
this._preservedFormData = currentPreservedData;
|
|
3974
|
+
this._typedMemberData = currentTypedMemberData;
|
|
3975
|
+
this._preservedTypedMemberData = currentPreservedTypedMemberData;
|
|
3976
|
+
console.log("✅ Language changed successfully, form data preserved");
|
|
3977
|
+
this.requestUpdate();
|
|
3978
|
+
} catch (error) {
|
|
3979
|
+
console.error("❌ Error changing language:", error);
|
|
3942
3980
|
}
|
|
3943
3981
|
}
|
|
3944
3982
|
_initializeForm() {
|
|
@@ -4911,6 +4949,18 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
4911
4949
|
getState() {
|
|
4912
4950
|
return this._getFormState();
|
|
4913
4951
|
}
|
|
4952
|
+
/**
|
|
4953
|
+
* Change the form language and re-render labels while preserving data
|
|
4954
|
+
* @param newLanguage - ISO language code (e.g., 'en', 'nl', 'de')
|
|
4955
|
+
*/
|
|
4956
|
+
changeLanguage(newLanguage) {
|
|
4957
|
+
if (this.language === newLanguage) {
|
|
4958
|
+
console.log("🌐 Language already set to", newLanguage);
|
|
4959
|
+
return;
|
|
4960
|
+
}
|
|
4961
|
+
console.log("🌐 Changing language from", this.language, "to", newLanguage);
|
|
4962
|
+
this.language = newLanguage;
|
|
4963
|
+
}
|
|
4914
4964
|
render() {
|
|
4915
4965
|
const errorCount = this._errors.filter((e2) => e2.severity === "error").length;
|
|
4916
4966
|
const config = this.config || {};
|