@rsuci/shared-form-components 1.0.41 → 1.0.43
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-renderer/FormRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAmBlF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,oCAAoC;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iCAAiC;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"FormRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-renderer/FormRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAmBlF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,oCAAoC;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iCAAiC;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAohBD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -98,7 +98,15 @@ const FormRendererInner = () => {
|
|
|
98
98
|
};
|
|
99
99
|
// Navigation - Validation avant navigation
|
|
100
100
|
const groupes = groupesWithInstances.length > 0 ? groupesWithInstances : formulaire?.groupes || [];
|
|
101
|
-
//
|
|
101
|
+
// Vérifier si une variable est filtrée par le mode (exclue du rendu)
|
|
102
|
+
const isVariableFilteredByMode = useCallback((variable) => {
|
|
103
|
+
// En mode public, les variables MENAGE et ENQUETE sont filtrées
|
|
104
|
+
if (mode === 'public' && !features?.showMenageVariables && !features?.showEnqueteVariables) {
|
|
105
|
+
return variable.typeCode === 'MENAGE' || variable.typeCode === 'ENQUETE';
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
}, [mode, features]);
|
|
109
|
+
// Validation locale utilisant isVariableVisible du formTree ET le filtrage par mode
|
|
102
110
|
const validateCurrentGroupWithVisibility = useCallback(() => {
|
|
103
111
|
if (!currentGroup || !currentGroup.variables)
|
|
104
112
|
return true;
|
|
@@ -108,11 +116,19 @@ const FormRendererInner = () => {
|
|
|
108
116
|
}
|
|
109
117
|
// Pour les groupes normaux, valider uniquement les variables visibles et obligatoires
|
|
110
118
|
const requiredVariables = currentGroup.variables.filter(v => v.estObligatoire);
|
|
119
|
+
console.log('🔍 [Validation] Mode:', mode, 'Groupe:', currentGroup.code);
|
|
120
|
+
console.log('🔍 [Validation] Variables obligatoires:', requiredVariables.length);
|
|
111
121
|
for (const variable of requiredVariables) {
|
|
122
|
+
// Vérifier si la variable est filtrée par le mode (MENAGE/ENQUETE en mode public)
|
|
123
|
+
const isFilteredByMode = isVariableFilteredByMode(variable);
|
|
124
|
+
if (isFilteredByMode) {
|
|
125
|
+
console.log('🔍 [Validation] Variable filtrée par mode:', variable.code, 'typeCode:', variable.typeCode);
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
112
128
|
// Vérifier si la variable est visible via le formTree
|
|
113
129
|
const isVisible = isVariableVisible(variable);
|
|
114
130
|
if (!isVisible) {
|
|
115
|
-
|
|
131
|
+
console.log('🔍 [Validation] Variable masquée par formTree:', variable.code);
|
|
116
132
|
continue;
|
|
117
133
|
}
|
|
118
134
|
// Vérifier si la variable a une valeur
|
|
@@ -121,12 +137,15 @@ const FormRendererInner = () => {
|
|
|
121
137
|
: variable.code;
|
|
122
138
|
const response = responses[responseKey];
|
|
123
139
|
const hasValue = response && response.valeur != null && response.valeur !== '';
|
|
140
|
+
console.log('🔍 [Validation] Variable:', variable.code, 'hasValue:', hasValue, 'valeur:', response?.valeur);
|
|
124
141
|
if (!hasValue) {
|
|
142
|
+
console.log('❌ [Validation] ECHEC - Variable sans valeur:', variable.code);
|
|
125
143
|
return false;
|
|
126
144
|
}
|
|
127
145
|
}
|
|
146
|
+
console.log('✅ [Validation] Toutes les variables obligatoires sont remplies');
|
|
128
147
|
return true;
|
|
129
|
-
}, [currentGroup, currentInstance, responses, isVariableVisible, validation]);
|
|
148
|
+
}, [currentGroup, currentInstance, responses, isVariableVisible, isVariableFilteredByMode, validation, mode]);
|
|
130
149
|
const canGoNext = validateCurrentGroupWithVisibility();
|
|
131
150
|
const isFormValid = validation.validateAllGroups(groupes, responses).isValid;
|
|
132
151
|
const handleNext = () => {
|
package/package.json
CHANGED