@rsuci/shared-form-components 1.0.41 → 1.0.42
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;AA4gBD;;;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;
|
|
@@ -109,6 +117,11 @@ const FormRendererInner = () => {
|
|
|
109
117
|
// Pour les groupes normaux, valider uniquement les variables visibles et obligatoires
|
|
110
118
|
const requiredVariables = currentGroup.variables.filter(v => v.estObligatoire);
|
|
111
119
|
for (const variable of requiredVariables) {
|
|
120
|
+
// Vérifier si la variable est filtrée par le mode (MENAGE/ENQUETE en mode public)
|
|
121
|
+
if (isVariableFilteredByMode(variable)) {
|
|
122
|
+
// Variable filtrée par mode = pas de validation
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
112
125
|
// Vérifier si la variable est visible via le formTree
|
|
113
126
|
const isVisible = isVariableVisible(variable);
|
|
114
127
|
if (!isVisible) {
|
|
@@ -126,7 +139,7 @@ const FormRendererInner = () => {
|
|
|
126
139
|
}
|
|
127
140
|
}
|
|
128
141
|
return true;
|
|
129
|
-
}, [currentGroup, currentInstance, responses, isVariableVisible, validation]);
|
|
142
|
+
}, [currentGroup, currentInstance, responses, isVariableVisible, isVariableFilteredByMode, validation]);
|
|
130
143
|
const canGoNext = validateCurrentGroupWithVisibility();
|
|
131
144
|
const isFormValid = validation.validateAllGroups(groupes, responses).isValid;
|
|
132
145
|
const handleNext = () => {
|
package/package.json
CHANGED