@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;AA6fD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
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
- // Validation locale utilisant isVariableVisible du formTree
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsuci/shared-form-components",
3
- "version": "1.0.41",
3
+ "version": "1.0.42",
4
4
  "description": "Composants partagés de rendu de formulaires RSU v2 - Package local pour frontend Admin et Public",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",