jupiter-dynamic-forms 1.17.3 → 1.17.5
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/dist/core/concept-tree.d.ts +2 -0
- package/dist/core/concept-tree.d.ts.map +1 -1
- package/dist/core/dynamic-form.d.ts +6 -0
- package/dist/core/dynamic-form.d.ts.map +1 -1
- package/dist/core/form-field.d.ts +3 -0
- package/dist/core/form-field.d.ts.map +1 -1
- package/dist/core/form-section.d.ts +2 -0
- package/dist/core/form-section.d.ts.map +1 -1
- package/dist/index.js +41 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +148 -20
- package/dist/index.mjs.map +1 -1
- package/dist/schema/types.d.ts +1 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1702,7 +1702,8 @@ const field$1 = {
|
|
|
1702
1702
|
urlPlaceholder: "https://example.com",
|
|
1703
1703
|
phonePlaceholder: "+1 (555) 000-0000",
|
|
1704
1704
|
enterValue: "Enter value",
|
|
1705
|
-
enterDetailedInformation: "Enter detailed information..."
|
|
1705
|
+
enterDetailedInformation: "Enter detailed information...",
|
|
1706
|
+
scale: "Scale"
|
|
1706
1707
|
};
|
|
1707
1708
|
const admin$1 = {
|
|
1708
1709
|
title: "Configure Roles",
|
|
@@ -1855,7 +1856,8 @@ const field = {
|
|
|
1855
1856
|
urlPlaceholder: "https://voorbeeld.nl",
|
|
1856
1857
|
phonePlaceholder: "+31 (0)20 123 4567",
|
|
1857
1858
|
enterValue: "Voer waarde in",
|
|
1858
|
-
enterDetailedInformation: "Voer gedetailleerde informatie in..."
|
|
1859
|
+
enterDetailedInformation: "Voer gedetailleerde informatie in...",
|
|
1860
|
+
scale: "Schaal"
|
|
1859
1861
|
};
|
|
1860
1862
|
const admin = {
|
|
1861
1863
|
title: "Rollen configureren",
|
|
@@ -2137,7 +2139,7 @@ class DraftStorageService {
|
|
|
2137
2139
|
/**
|
|
2138
2140
|
* Create metadata snapshot from current form state
|
|
2139
2141
|
*/
|
|
2140
|
-
createMetadataSnapshot(periodStartDate, periodEndDate, language, selectedRoleIds, allSections, typedMemberData, periodPreferences, periodData, unitData, reportingLanguage = "en", repeatCounts) {
|
|
2142
|
+
createMetadataSnapshot(periodStartDate, periodEndDate, language, selectedRoleIds, allSections, typedMemberData, periodPreferences, periodData, unitData, reportingLanguage = "en", repeatCounts, decimalsData) {
|
|
2141
2143
|
return {
|
|
2142
2144
|
periodStartDate,
|
|
2143
2145
|
periodEndDate,
|
|
@@ -2150,6 +2152,7 @@ class DraftStorageService {
|
|
|
2150
2152
|
periodPreferences,
|
|
2151
2153
|
periodData,
|
|
2152
2154
|
unitData,
|
|
2155
|
+
decimalsData,
|
|
2153
2156
|
repeatCounts,
|
|
2154
2157
|
schemaVersion: this.STORAGE_VERSION
|
|
2155
2158
|
};
|
|
@@ -3016,6 +3019,7 @@ let JupiterFormField = class extends LitElement {
|
|
|
3016
3019
|
this.locale = "en-US";
|
|
3017
3020
|
this.hideLabel = false;
|
|
3018
3021
|
this.mode = "inputForm";
|
|
3022
|
+
this.globalDecimals = "INF";
|
|
3019
3023
|
this.typedMemberValues = {};
|
|
3020
3024
|
this._errors = [];
|
|
3021
3025
|
this._xbrlErrors = [];
|
|
@@ -3317,6 +3321,17 @@ let JupiterFormField = class extends LitElement {
|
|
|
3317
3321
|
}));
|
|
3318
3322
|
console.log(`🏷️ [FormField] unit-change event dispatched`);
|
|
3319
3323
|
}
|
|
3324
|
+
_handleDecimalsChange(event) {
|
|
3325
|
+
const raw = event.target.value.trim();
|
|
3326
|
+
const num = parseFloat(raw);
|
|
3327
|
+
const value = raw && !isNaN(num) ? String(Math.abs(num)) : raw === "" ? "" : raw;
|
|
3328
|
+
this.decimals = value || void 0;
|
|
3329
|
+
this.dispatchEvent(new CustomEvent("decimals-change", {
|
|
3330
|
+
detail: { conceptId: this.conceptId, columnId: this.columnId, decimals: this.decimals },
|
|
3331
|
+
bubbles: true,
|
|
3332
|
+
composed: true
|
|
3333
|
+
}));
|
|
3334
|
+
}
|
|
3320
3335
|
_handlePopupOverlayClick(e2) {
|
|
3321
3336
|
if (e2.target === e2.currentTarget) {
|
|
3322
3337
|
this._closePeriodPopup();
|
|
@@ -3665,6 +3680,21 @@ let JupiterFormField = class extends LitElement {
|
|
|
3665
3680
|
</div>
|
|
3666
3681
|
` : ""}
|
|
3667
3682
|
|
|
3683
|
+
${this._isMonetaryType() ? html`
|
|
3684
|
+
<div class="period-controls">
|
|
3685
|
+
<label>${I18n.t("field.scale")}:</label>
|
|
3686
|
+
<input
|
|
3687
|
+
type="number"
|
|
3688
|
+
min="0"
|
|
3689
|
+
class="typed-member-input"
|
|
3690
|
+
placeholder="Leave blank for INF"
|
|
3691
|
+
.value="${this.decimals ?? (this.globalDecimals !== "INF" ? this.globalDecimals : "")}"
|
|
3692
|
+
@input="${this._handleDecimalsChange}"
|
|
3693
|
+
?disabled="${this.disabled}"
|
|
3694
|
+
/>
|
|
3695
|
+
</div>
|
|
3696
|
+
` : ""}
|
|
3697
|
+
|
|
3668
3698
|
${this.field.crossRoleTypedMembers && this.field.crossRoleTypedMembers.length > 0 ? html`
|
|
3669
3699
|
${this.field.crossRoleTypedMembers.map((tm) => html`
|
|
3670
3700
|
<div class="period-controls">
|
|
@@ -4201,6 +4231,12 @@ __decorateClass$6([
|
|
|
4201
4231
|
__decorateClass$6([
|
|
4202
4232
|
n2({ type: String })
|
|
4203
4233
|
], JupiterFormField.prototype, "unit", 2);
|
|
4234
|
+
__decorateClass$6([
|
|
4235
|
+
n2({ type: String })
|
|
4236
|
+
], JupiterFormField.prototype, "decimals", 2);
|
|
4237
|
+
__decorateClass$6([
|
|
4238
|
+
n2({ type: String })
|
|
4239
|
+
], JupiterFormField.prototype, "globalDecimals", 2);
|
|
4204
4240
|
__decorateClass$6([
|
|
4205
4241
|
n2({ type: Object })
|
|
4206
4242
|
], JupiterFormField.prototype, "typedMemberValues", 2);
|
|
@@ -4240,6 +4276,8 @@ let JupiterConceptTree = class extends LitElement {
|
|
|
4240
4276
|
this.formData = {};
|
|
4241
4277
|
this.periodData = {};
|
|
4242
4278
|
this.unitData = {};
|
|
4279
|
+
this.decimalsData = {};
|
|
4280
|
+
this.globalDecimals = "INF";
|
|
4243
4281
|
this.defaultUnits = [];
|
|
4244
4282
|
this.disabled = false;
|
|
4245
4283
|
this.locale = "en-US";
|
|
@@ -4351,12 +4389,13 @@ let JupiterConceptTree = class extends LitElement {
|
|
|
4351
4389
|
|
|
4352
4390
|
<!-- Input Field Cells (Period Columns) - Only for non-abstract concepts -->
|
|
4353
4391
|
${this.columns.map((column2) => {
|
|
4354
|
-
var _a, _b, _c;
|
|
4392
|
+
var _a, _b, _c, _d, _e;
|
|
4355
4393
|
const field2 = this._getFieldForColumn(column2.id);
|
|
4356
4394
|
const shouldShowField = !isAbstract && field2;
|
|
4357
4395
|
const storedUnit = (_b = (_a = this.unitData) == null ? void 0 : _a[this.concept.id]) == null ? void 0 : _b[column2.id];
|
|
4396
|
+
const storedDecimals = (_d = (_c = this.decimalsData) == null ? void 0 : _c[this.concept.id]) == null ? void 0 : _d[column2.id];
|
|
4358
4397
|
return html`
|
|
4359
|
-
<td class="field-cell ${!shouldShowField ? "empty" : ""} ${isAbstract ? "abstract-row" : ""} ${this.highlightType && column2.id === this.highlightColumnId ? "highlight-" + this.highlightType : ""} ${((
|
|
4398
|
+
<td class="field-cell ${!shouldShowField ? "empty" : ""} ${isAbstract ? "abstract-row" : ""} ${this.highlightType && column2.id === this.highlightColumnId ? "highlight-" + this.highlightType : ""} ${((_e = this.calculationErrorKeys) == null ? void 0 : _e.has(`${this.concept.id}__${column2.id}`)) ? "calc-error" : ""}">
|
|
4360
4399
|
${shouldShowField ? html`
|
|
4361
4400
|
<jupiter-form-field
|
|
4362
4401
|
.field="${field2}"
|
|
@@ -4367,6 +4406,8 @@ let JupiterConceptTree = class extends LitElement {
|
|
|
4367
4406
|
.columnId="${column2.id}"
|
|
4368
4407
|
.value="${this._getFieldValue(field2)}"
|
|
4369
4408
|
.unit="${storedUnit || ""}"
|
|
4409
|
+
.decimals="${storedDecimals}"
|
|
4410
|
+
.globalDecimals="${this.globalDecimals}"
|
|
4370
4411
|
.periodStartDate="${field2.periodStartDate || column2.periodStartDate}"
|
|
4371
4412
|
.periodEndDate="${field2.periodEndDate || column2.periodEndDate}"
|
|
4372
4413
|
.periodInstantDate="${field2.periodInstantDate || (field2.periodType === "instant" ? field2.periodEndDate || field2.periodStartDate : void 0)}"
|
|
@@ -4575,6 +4616,12 @@ __decorateClass$5([
|
|
|
4575
4616
|
__decorateClass$5([
|
|
4576
4617
|
n2({ type: Object })
|
|
4577
4618
|
], JupiterConceptTree.prototype, "unitData", 2);
|
|
4619
|
+
__decorateClass$5([
|
|
4620
|
+
n2({ type: Object })
|
|
4621
|
+
], JupiterConceptTree.prototype, "decimalsData", 2);
|
|
4622
|
+
__decorateClass$5([
|
|
4623
|
+
n2({ type: String })
|
|
4624
|
+
], JupiterConceptTree.prototype, "globalDecimals", 2);
|
|
4578
4625
|
__decorateClass$5([
|
|
4579
4626
|
n2({ type: Array })
|
|
4580
4627
|
], JupiterConceptTree.prototype, "defaultUnits", 2);
|
|
@@ -5271,6 +5318,8 @@ let JupiterFormSection = class extends LitElement {
|
|
|
5271
5318
|
this.formData = {};
|
|
5272
5319
|
this.periodData = {};
|
|
5273
5320
|
this.unitData = {};
|
|
5321
|
+
this.decimalsData = {};
|
|
5322
|
+
this.globalDecimals = "INF";
|
|
5274
5323
|
this.typedMemberData = {};
|
|
5275
5324
|
this.repeatCounts = {};
|
|
5276
5325
|
this.defaultUnits = [];
|
|
@@ -5706,6 +5755,8 @@ let JupiterFormSection = class extends LitElement {
|
|
|
5706
5755
|
.formData="${this.formData}"
|
|
5707
5756
|
.periodData="${this.periodData}"
|
|
5708
5757
|
.unitData="${this.unitData}"
|
|
5758
|
+
.decimalsData="${this.decimalsData}"
|
|
5759
|
+
.globalDecimals="${this.globalDecimals}"
|
|
5709
5760
|
.defaultUnits="${this.defaultUnits}"
|
|
5710
5761
|
.disabled="${this.disabled}"
|
|
5711
5762
|
.locale="${this.locale}"
|
|
@@ -6175,6 +6226,12 @@ __decorateClass$3([
|
|
|
6175
6226
|
__decorateClass$3([
|
|
6176
6227
|
n2({ type: Object })
|
|
6177
6228
|
], JupiterFormSection.prototype, "unitData", 2);
|
|
6229
|
+
__decorateClass$3([
|
|
6230
|
+
n2({ type: Object })
|
|
6231
|
+
], JupiterFormSection.prototype, "decimalsData", 2);
|
|
6232
|
+
__decorateClass$3([
|
|
6233
|
+
n2({ type: String })
|
|
6234
|
+
], JupiterFormSection.prototype, "globalDecimals", 2);
|
|
6178
6235
|
__decorateClass$3([
|
|
6179
6236
|
n2({ type: Object })
|
|
6180
6237
|
], JupiterFormSection.prototype, "typedMemberData", 2);
|
|
@@ -8106,6 +8163,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8106
8163
|
this.showLastValidationResultBtn = false;
|
|
8107
8164
|
this.isDraftSaving = false;
|
|
8108
8165
|
this.defaultUnits = [];
|
|
8166
|
+
this.decimals = "INF";
|
|
8109
8167
|
this._formData = {};
|
|
8110
8168
|
this._draftLoaded = false;
|
|
8111
8169
|
this._preservedFormData = {};
|
|
@@ -8113,6 +8171,8 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8113
8171
|
this._preservedPeriodData = {};
|
|
8114
8172
|
this._unitData = {};
|
|
8115
8173
|
this._preservedUnitData = {};
|
|
8174
|
+
this._decimalsData = {};
|
|
8175
|
+
this._effectiveMasterData = void 0;
|
|
8116
8176
|
this._typedMemberData = {};
|
|
8117
8177
|
this._preservedTypedMemberData = {};
|
|
8118
8178
|
this._repeatCounts = {};
|
|
@@ -8161,6 +8221,9 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8161
8221
|
console.log(`🏷️ [GLOBAL DynamicForm] Event detail:`, customEvent.detail);
|
|
8162
8222
|
this._handleUnitChange(customEvent);
|
|
8163
8223
|
});
|
|
8224
|
+
this.addEventListener("decimals-change", (e2) => {
|
|
8225
|
+
this._handleDecimalsChange(e2);
|
|
8226
|
+
});
|
|
8164
8227
|
this.addEventListener("field-blur", (e2) => {
|
|
8165
8228
|
console.log("🚨 [DynamicForm] field-blur event listener triggered!", e2);
|
|
8166
8229
|
const customEvent = e2;
|
|
@@ -8196,6 +8259,9 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8196
8259
|
}
|
|
8197
8260
|
}
|
|
8198
8261
|
updated(changedProperties) {
|
|
8262
|
+
if (changedProperties.has("decimals") || changedProperties.has("masterData")) {
|
|
8263
|
+
this._computeEffectiveMasterData();
|
|
8264
|
+
}
|
|
8199
8265
|
if (changedProperties.has("language")) {
|
|
8200
8266
|
I18n.setLanguage(this.language);
|
|
8201
8267
|
}
|
|
@@ -8853,7 +8919,8 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8853
8919
|
this._periodData,
|
|
8854
8920
|
this._unitData,
|
|
8855
8921
|
this.reportingLanguage,
|
|
8856
|
-
this._repeatCounts
|
|
8922
|
+
this._repeatCounts,
|
|
8923
|
+
this._decimalsData
|
|
8857
8924
|
);
|
|
8858
8925
|
this._draftStorageService.saveDraft(currentFormData, currentMetadata);
|
|
8859
8926
|
console.log("✅ Current form data saved to draft storage with NEW preferences");
|
|
@@ -9011,6 +9078,35 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
9011
9078
|
console.log(`💾 [_storeUnit] Unit data stored for [${conceptId}][${columnId}]:`, this._unitData[conceptId][columnId]);
|
|
9012
9079
|
console.log(`📦 [_storeUnit] Full unit data state after update:`, JSON.stringify(this._unitData, null, 2));
|
|
9013
9080
|
}
|
|
9081
|
+
_handleDecimalsChange(event) {
|
|
9082
|
+
const { conceptId, columnId, decimals } = event.detail;
|
|
9083
|
+
if (!conceptId || !columnId)
|
|
9084
|
+
return;
|
|
9085
|
+
this._storeDecimals(conceptId, columnId, decimals);
|
|
9086
|
+
this._dirty = true;
|
|
9087
|
+
this.requestUpdate();
|
|
9088
|
+
}
|
|
9089
|
+
_computeEffectiveMasterData() {
|
|
9090
|
+
const ROUNDING_CONCEPT = "rj-i_DocumentIntendedRoundingLevel";
|
|
9091
|
+
if (this.decimals !== "INF") {
|
|
9092
|
+
const parsed = parseFloat(this.decimals);
|
|
9093
|
+
if (!isNaN(parsed)) {
|
|
9094
|
+
this._effectiveMasterData = {
|
|
9095
|
+
...this.masterData || {},
|
|
9096
|
+
[ROUNDING_CONCEPT]: String(-parsed)
|
|
9097
|
+
};
|
|
9098
|
+
return;
|
|
9099
|
+
}
|
|
9100
|
+
}
|
|
9101
|
+
this._effectiveMasterData = this.masterData ? { ...this.masterData } : void 0;
|
|
9102
|
+
}
|
|
9103
|
+
_storeDecimals(conceptId, columnId, decimals) {
|
|
9104
|
+
const updated = { ...this._decimalsData };
|
|
9105
|
+
if (!updated[conceptId])
|
|
9106
|
+
updated[conceptId] = {};
|
|
9107
|
+
updated[conceptId] = { ...updated[conceptId], [columnId]: decimals ?? "" };
|
|
9108
|
+
this._decimalsData = updated;
|
|
9109
|
+
}
|
|
9014
9110
|
/**
|
|
9015
9111
|
* Generate a unique concept key that includes section context
|
|
9016
9112
|
*/
|
|
@@ -9728,7 +9824,8 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
9728
9824
|
this._periodData,
|
|
9729
9825
|
this._unitData,
|
|
9730
9826
|
this.reportingLanguage,
|
|
9731
|
-
this._repeatCounts
|
|
9827
|
+
this._repeatCounts,
|
|
9828
|
+
this._decimalsData
|
|
9732
9829
|
);
|
|
9733
9830
|
const draftPayloadSnapshot = JSON.stringify({
|
|
9734
9831
|
draftData,
|
|
@@ -9854,6 +9951,10 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
9854
9951
|
this._unitData = metadata.unitData;
|
|
9855
9952
|
console.log("🔄 Restored custom field-level unit data:", Object.keys(this._unitData).length, "concepts");
|
|
9856
9953
|
}
|
|
9954
|
+
if (metadata.decimalsData) {
|
|
9955
|
+
this._decimalsData = metadata.decimalsData;
|
|
9956
|
+
console.log("🔄 Restored per-fact decimals data:", Object.keys(this._decimalsData).length, "concepts");
|
|
9957
|
+
}
|
|
9857
9958
|
if (metadata.periodPreferences) {
|
|
9858
9959
|
if (this._skipPeriodPreferencesRestore) {
|
|
9859
9960
|
console.log("⏭️ Skipping period preferences restoration - using new filter selections");
|
|
@@ -10395,7 +10496,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10395
10496
|
return null;
|
|
10396
10497
|
}
|
|
10397
10498
|
_addConceptDataToSubmission(concept, columnId, value, submissionData, section2) {
|
|
10398
|
-
var _a, _b, _c;
|
|
10499
|
+
var _a, _b, _c, _d, _e;
|
|
10399
10500
|
const field2 = concept.fields.find((f2) => f2.columnId === columnId);
|
|
10400
10501
|
if (!field2)
|
|
10401
10502
|
return;
|
|
@@ -10423,7 +10524,14 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10423
10524
|
entry.unit = fieldUnit;
|
|
10424
10525
|
console.log(`✅ [Submission] Adding unit to entry: ${fieldUnit} for ${concept.id}/${columnId}`);
|
|
10425
10526
|
}
|
|
10426
|
-
|
|
10527
|
+
const isMonetary = (_c = concept.type) == null ? void 0 : _c.toLowerCase().includes("monetary");
|
|
10528
|
+
const fieldDecimals = (_d = this._decimalsData[concept.id]) == null ? void 0 : _d[columnId];
|
|
10529
|
+
const decimalsValue = fieldDecimals || (this.decimals !== "INF" ? this.decimals : void 0);
|
|
10530
|
+
if (isMonetary && decimalsValue) {
|
|
10531
|
+
const parsed = parseFloat(decimalsValue);
|
|
10532
|
+
entry.decimals = isNaN(parsed) ? decimalsValue : String(-Math.abs(parsed));
|
|
10533
|
+
}
|
|
10534
|
+
if ((_e = column2 == null ? void 0 : column2.dimensionData) == null ? void 0 : _e.memberLabel) {
|
|
10427
10535
|
entry.dimension = column2.dimensionData.memberLabel;
|
|
10428
10536
|
}
|
|
10429
10537
|
console.log(`📤 [Submission Entry] Created entry:`, JSON.stringify(entry, null, 2));
|
|
@@ -10561,12 +10669,12 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10561
10669
|
}
|
|
10562
10670
|
if (concept.fields && concept.fields.length > 0) {
|
|
10563
10671
|
concept.fields.forEach((field2) => {
|
|
10564
|
-
var _a, _b, _c, _d, _e;
|
|
10672
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
10565
10673
|
const conceptData = this._formData[concept.id];
|
|
10566
10674
|
let fieldValue = conceptData == null ? void 0 : conceptData[field2.columnId];
|
|
10567
|
-
if ((fieldValue === void 0 || fieldValue === null || fieldValue === "") && this.
|
|
10675
|
+
if ((fieldValue === void 0 || fieldValue === null || fieldValue === "") && this._effectiveMasterData) {
|
|
10568
10676
|
const baseConceptId = field2.conceptId || concept.id.split("__").slice(0, -1).join("__") || concept.id;
|
|
10569
|
-
const masterValue = this.
|
|
10677
|
+
const masterValue = (_a = this._effectiveMasterData) == null ? void 0 : _a[baseConceptId];
|
|
10570
10678
|
if (masterValue !== void 0 && masterValue !== null && masterValue !== "") {
|
|
10571
10679
|
fieldValue = masterValue;
|
|
10572
10680
|
console.warn(` 📦 [Submission] Using masterData for: ${baseConceptId} [${field2.columnId}] = ${JSON.stringify(fieldValue)}`);
|
|
@@ -10574,7 +10682,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10574
10682
|
}
|
|
10575
10683
|
if (fieldValue !== void 0 && fieldValue !== null && fieldValue !== "") {
|
|
10576
10684
|
const column2 = this._findColumnByIdInSection(field2.columnId, section2);
|
|
10577
|
-
const fieldPeriodData = (
|
|
10685
|
+
const fieldPeriodData = (_b = this._periodData[concept.id]) == null ? void 0 : _b[field2.columnId];
|
|
10578
10686
|
const submissionEntry = {
|
|
10579
10687
|
conceptId: concept.id,
|
|
10580
10688
|
draftInstanceId: concept.id,
|
|
@@ -10596,14 +10704,21 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10596
10704
|
submissionEntry.period.endDate = endDate;
|
|
10597
10705
|
}
|
|
10598
10706
|
console.log(`🔍 [Submission] Concept: ${concept.id}, Column: ${field2.columnId}, Field Period: ${fieldPeriodData ? JSON.stringify(fieldPeriodData) : "none"}, Column Period: ${(column2 == null ? void 0 : column2.periodStartDate) || "none"} - ${(column2 == null ? void 0 : column2.periodEndDate) || "none"}, Used Period: ${submissionEntry.period.type === "instant" ? submissionEntry.period.date : `${submissionEntry.period.startDate} - ${submissionEntry.period.endDate}`}`);
|
|
10599
|
-
const fieldUnit = (
|
|
10707
|
+
const fieldUnit = (_c = this._unitData[concept.id]) == null ? void 0 : _c[field2.columnId];
|
|
10600
10708
|
if (fieldUnit) {
|
|
10601
10709
|
submissionEntry.unit = fieldUnit;
|
|
10602
10710
|
console.log(`✅ [Submission] Adding unit to entry: ${fieldUnit} for ${concept.id}/${field2.columnId}`);
|
|
10603
10711
|
} else {
|
|
10604
10712
|
console.log(`⚠️ [Submission] No unit found in _unitData for ${concept.id}/${field2.columnId}. _unitData state:`, JSON.stringify(this._unitData, null, 2));
|
|
10605
10713
|
}
|
|
10606
|
-
|
|
10714
|
+
const isMonetary = (_d = concept.type) == null ? void 0 : _d.toLowerCase().includes("monetary");
|
|
10715
|
+
const fieldDecimals = (_e = this._decimalsData[concept.id]) == null ? void 0 : _e[field2.columnId];
|
|
10716
|
+
const decimalsValue = fieldDecimals || (this.decimals !== "INF" ? this.decimals : void 0);
|
|
10717
|
+
if (isMonetary && decimalsValue) {
|
|
10718
|
+
const parsed = parseFloat(decimalsValue);
|
|
10719
|
+
submissionEntry.decimals = isNaN(parsed) ? decimalsValue : String(-Math.abs(parsed));
|
|
10720
|
+
}
|
|
10721
|
+
if ((column2 == null ? void 0 : column2.type) === "dimension" && ((_f = column2.dimensionData) == null ? void 0 : _f.dimensionIdKey)) {
|
|
10607
10722
|
submissionEntry.dimension = column2.dimensionData.dimensionIdKey;
|
|
10608
10723
|
console.log(`🔍 [DynamicForm] Using dimension key from field's column (${field2.columnId}):`, column2.dimensionData.dimensionIdKey);
|
|
10609
10724
|
} else {
|
|
@@ -10639,12 +10754,12 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10639
10754
|
console.log(`🔍 [DynamicForm] Column details:`, {
|
|
10640
10755
|
id: column2.id,
|
|
10641
10756
|
type: column2.type,
|
|
10642
|
-
hasTypedMembers: (
|
|
10757
|
+
hasTypedMembers: (_g = column2.dimensionData) == null ? void 0 : _g.hasTypedMembers,
|
|
10643
10758
|
dimensionData: column2.dimensionData
|
|
10644
10759
|
});
|
|
10645
10760
|
}
|
|
10646
10761
|
}
|
|
10647
|
-
if (!submissionEntry.typedMembers && ((
|
|
10762
|
+
if (!submissionEntry.typedMembers && ((_h = field2.crossRoleTypedMembers) == null ? void 0 : _h.length)) {
|
|
10648
10763
|
const crossRoleKey = `${concept.id}__${field2.columnId}`;
|
|
10649
10764
|
const crossRoleValues = this._typedMemberData[crossRoleKey];
|
|
10650
10765
|
if (crossRoleValues) {
|
|
@@ -10910,7 +11025,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
10910
11025
|
if (value === void 0 && conceptIdWithSuffix !== fieldConceptId) {
|
|
10911
11026
|
value = (_b = this._formData[fieldConceptId]) == null ? void 0 : _b[field2.columnId];
|
|
10912
11027
|
}
|
|
10913
|
-
const masterValue = (_c = this.
|
|
11028
|
+
const masterValue = (_c = this._effectiveMasterData) == null ? void 0 : _c[fieldConceptId];
|
|
10914
11029
|
if ((value === null || value === void 0 || typeof value === "string" && value.trim() === "") && masterValue !== void 0) {
|
|
10915
11030
|
value = masterValue;
|
|
10916
11031
|
console.warn(` 📦 Using masterData value for: ${fieldConceptId} [${field2.columnId}] = ${JSON.stringify(value)}`);
|
|
@@ -11448,6 +11563,8 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
11448
11563
|
.formData="${this._formData}"
|
|
11449
11564
|
.periodData="${this._periodData}"
|
|
11450
11565
|
.unitData="${this._unitData}"
|
|
11566
|
+
.decimalsData="${this._decimalsData}"
|
|
11567
|
+
.globalDecimals="${this.decimals}"
|
|
11451
11568
|
.typedMemberData="${this._typedMemberData}"
|
|
11452
11569
|
.repeatCounts="${this._repeatCounts}"
|
|
11453
11570
|
.defaultUnits="${this.defaultUnits}"
|
|
@@ -11459,7 +11576,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
11459
11576
|
.mode="${this.mode}"
|
|
11460
11577
|
.showFactsOnly="${this._showFactsOnly}"
|
|
11461
11578
|
.conceptMatchIds="${hasConceptSearch ? conceptMatchIds : void 0}"
|
|
11462
|
-
.masterData="${this.
|
|
11579
|
+
.masterData="${this._effectiveMasterData}"
|
|
11463
11580
|
.periodStartDate="${this.periodStartDate}"
|
|
11464
11581
|
.periodEndDate="${this.periodEndDate}"
|
|
11465
11582
|
@field-change="${this._handleFieldChange}"
|
|
@@ -11588,6 +11705,8 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
11588
11705
|
.formData="${this._formData}"
|
|
11589
11706
|
.periodData="${this._periodData}"
|
|
11590
11707
|
.unitData="${this._unitData}"
|
|
11708
|
+
.decimalsData="${this._decimalsData}"
|
|
11709
|
+
.globalDecimals="${this.decimals}"
|
|
11591
11710
|
.typedMemberData="${this._typedMemberData}"
|
|
11592
11711
|
.repeatCounts="${this._repeatCounts}"
|
|
11593
11712
|
.defaultUnits="${this.defaultUnits}"
|
|
@@ -11600,7 +11719,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
11600
11719
|
.mode="${this.mode}"
|
|
11601
11720
|
.showFactsOnly="${this._showFactsOnly}"
|
|
11602
11721
|
.conceptMatchIds="${hasConceptSearch ? conceptMatchIds : void 0}"
|
|
11603
|
-
.masterData="${this.
|
|
11722
|
+
.masterData="${this._effectiveMasterData}"
|
|
11604
11723
|
.periodStartDate="${this.periodStartDate}"
|
|
11605
11724
|
.periodEndDate="${this.periodEndDate}"
|
|
11606
11725
|
@field-change="${this._handleFieldChange}"
|
|
@@ -12634,6 +12753,9 @@ __decorateClass([
|
|
|
12634
12753
|
__decorateClass([
|
|
12635
12754
|
n2({ type: Array })
|
|
12636
12755
|
], JupiterDynamicForm.prototype, "defaultUnits", 2);
|
|
12756
|
+
__decorateClass([
|
|
12757
|
+
n2({ type: String })
|
|
12758
|
+
], JupiterDynamicForm.prototype, "decimals", 2);
|
|
12637
12759
|
__decorateClass([
|
|
12638
12760
|
n2({ type: Object, attribute: "master-data" })
|
|
12639
12761
|
], JupiterDynamicForm.prototype, "masterData", 2);
|
|
@@ -12667,6 +12789,12 @@ __decorateClass([
|
|
|
12667
12789
|
__decorateClass([
|
|
12668
12790
|
r()
|
|
12669
12791
|
], JupiterDynamicForm.prototype, "_preservedUnitData", 2);
|
|
12792
|
+
__decorateClass([
|
|
12793
|
+
r()
|
|
12794
|
+
], JupiterDynamicForm.prototype, "_decimalsData", 2);
|
|
12795
|
+
__decorateClass([
|
|
12796
|
+
r()
|
|
12797
|
+
], JupiterDynamicForm.prototype, "_effectiveMasterData", 2);
|
|
12670
12798
|
__decorateClass([
|
|
12671
12799
|
r()
|
|
12672
12800
|
], JupiterDynamicForm.prototype, "_typedMemberData", 2);
|