ui-core-abv 0.10.5 → 0.10.6
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/fesm2022/ui-core-abv.mjs
CHANGED
|
@@ -7685,13 +7685,12 @@ function helperShowFormFromBuilder(blocks, cols, editable = false, schemaOptions
|
|
|
7685
7685
|
};
|
|
7686
7686
|
}
|
|
7687
7687
|
function mapEditableBlocksToBlocks(blocks, editable) {
|
|
7688
|
+
// Solo campos raíz: un campo raíz nunca depende de un subcampo (raíz -> ítem no existe),
|
|
7689
|
+
// y los códigos sf_N se repiten entre repeaters, así que no pueden ir en un mapa global.
|
|
7688
7690
|
const fieldCodeToName = new Map();
|
|
7689
7691
|
blocks.forEach(block => {
|
|
7690
7692
|
block.fields.forEach(field => {
|
|
7691
7693
|
fieldCodeToName.set(field.code, field.fieldData.name);
|
|
7692
|
-
field.repeaterSubFields?.forEach(sf => {
|
|
7693
|
-
fieldCodeToName.set(sf.code, sf.fieldData.name);
|
|
7694
|
-
});
|
|
7695
7694
|
});
|
|
7696
7695
|
});
|
|
7697
7696
|
return blocks.map(block => ({
|
|
@@ -7710,9 +7709,9 @@ function mapEditableBlocksToBlocks(blocks, editable) {
|
|
|
7710
7709
|
}
|
|
7711
7710
|
: field.fieldData.optionsSource;
|
|
7712
7711
|
const isComputedField = field.fieldData.type === 'computed';
|
|
7713
|
-
//
|
|
7714
|
-
// se resuelven primero contra los hermanos de su propio repeater.
|
|
7712
|
+
// Referencias de un subcampo: gana el hermano del mismo repeater, luego el raíz.
|
|
7715
7713
|
const siblingCodeToName = new Map((field.repeaterSubFields ?? []).map(sf => [sf.code, sf.fieldData.name]));
|
|
7714
|
+
const resolveSubFieldRef = (code) => siblingCodeToName.get(code) ?? fieldCodeToName.get(code) ?? code;
|
|
7716
7715
|
return {
|
|
7717
7716
|
...field.fieldData,
|
|
7718
7717
|
type: isComputedField ? 'text' : field.fieldData.type,
|
|
@@ -7731,13 +7730,12 @@ function mapEditableBlocksToBlocks(blocks, editable) {
|
|
|
7731
7730
|
const sfIsComputed = sf.fieldData.type === 'computed';
|
|
7732
7731
|
const sfVisibilityRules = sf.fieldData.visibilityRules?.map(rule => ({
|
|
7733
7732
|
...rule,
|
|
7734
|
-
fieldName:
|
|
7733
|
+
fieldName: resolveSubFieldRef(rule.fieldName)
|
|
7735
7734
|
}));
|
|
7736
7735
|
const sfOptionsSource = sf.fieldData.optionsSource?.dependsOn
|
|
7737
7736
|
? {
|
|
7738
7737
|
...sf.fieldData.optionsSource,
|
|
7739
|
-
dependsOn:
|
|
7740
|
-
?? sf.fieldData.optionsSource.dependsOn
|
|
7738
|
+
dependsOn: resolveSubFieldRef(sf.fieldData.optionsSource.dependsOn)
|
|
7741
7739
|
}
|
|
7742
7740
|
: sf.fieldData.optionsSource;
|
|
7743
7741
|
return {
|
|
@@ -7750,7 +7748,7 @@ function mapEditableBlocksToBlocks(blocks, editable) {
|
|
|
7750
7748
|
? {
|
|
7751
7749
|
computedSource: {
|
|
7752
7750
|
key: sf.fieldData.computedSource.key,
|
|
7753
|
-
dependsOn: (sf.fieldData.computedSource.dependsOn ?? []).map(
|
|
7751
|
+
dependsOn: (sf.fieldData.computedSource.dependsOn ?? []).map(resolveSubFieldRef)
|
|
7754
7752
|
}
|
|
7755
7753
|
}
|
|
7756
7754
|
: {})
|