@rsuci/shared-form-components 1.0.142 → 1.0.143

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,KAA4D,MAAM,OAAO,CAAC;AACjF,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;AAuBlF;;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;AA4nCD;;;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,KAA4D,MAAM,OAAO,CAAC;AACjF,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;AAuBlF;;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;AAooCD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -649,14 +649,23 @@ const FormRendererInner = () => {
649
649
  }
650
650
  return;
651
651
  }
652
- // Valider les conditions de validation (ConditionEval) de tous les groupes
652
+ // Valider les conditions de validation (ConditionEval) uniquement sur les variables visibles
653
653
  const instancesMap = new Map();
654
+ const visibleCodes = new Set();
654
655
  for (const groupe of groupes) {
655
656
  if (groupe.estMultiple && groupe.instances) {
656
657
  instancesMap.set(groupe.code, groupe.instances.map(i => i.numeroInstance));
658
+ for (const inst of groupe.instances) {
659
+ const vars = getVisibleVariablesForInstance(groupe.code, inst.numeroInstance);
660
+ vars.forEach(v => visibleCodes.add(v.code));
661
+ }
662
+ }
663
+ else {
664
+ const vars = getVisibleVariables(groupe.code);
665
+ vars.forEach(v => visibleCodes.add(v.code));
657
666
  }
658
667
  }
659
- const conditionErrors = validateAllConditions(groupes, instancesMap);
668
+ const conditionErrors = validateAllConditions(groupes, instancesMap, visibleCodes);
660
669
  if (conditionErrors.length > 0) {
661
670
  if (callbacks.onValidationError) {
662
671
  // Convertir les erreurs de condition en erreurs de validation standard
@@ -19,9 +19,9 @@ export interface UseConditionValidationResult {
19
19
  /** Valide une variable individuelle et retourne l'erreur ou null */
20
20
  validateVariable: (variable: VariableFormulaire, numeroMembre?: number) => ConditionValidationError | null;
21
21
  /** Valide toutes les variables d'un groupe et retourne les erreurs */
22
- validateGroup: (groupe: GroupeFormulaire, numeroMembre?: number) => ConditionValidationError[];
23
- /** Valide toutes les variables de tous les groupes */
24
- validateAll: (groupes: GroupeFormulaire[], instances?: Map<string, number[]>) => ConditionValidationError[];
22
+ validateGroup: (groupe: GroupeFormulaire, numeroMembre?: number, visibleVariableCodes?: Set<string>) => ConditionValidationError[];
23
+ /** Valide toutes les variables de tous les groupes (seules les variables visibles sont validées si visibleVariableCodes est fourni) */
24
+ validateAll: (groupes: GroupeFormulaire[], instances?: Map<string, number[]>, visibleVariableCodes?: Set<string>) => ConditionValidationError[];
25
25
  /** Efface l'erreur pour une variable */
26
26
  clearError: (variableCode: string, numeroMembre?: number) => void;
27
27
  /** Efface toutes les erreurs */
@@ -1 +1 @@
1
- {"version":3,"file":"useConditionValidation.d.ts","sourceRoot":"","sources":["../../src/hooks/useConditionValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,6BAA6B;IAC5C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,kGAAkG;IAClG,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAExD,oEAAoE;IACpE,gBAAgB,EAAE,CAChB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,CAAC,EAAE,MAAM,KAClB,wBAAwB,GAAG,IAAI,CAAC;IAErC,sEAAsE;IACtE,aAAa,EAAE,CACb,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,KAClB,wBAAwB,EAAE,CAAC;IAEhC,sDAAsD;IACtD,WAAW,EAAE,CACX,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAC9B,wBAAwB,EAAE,CAAC;IAEhC,wCAAwC;IACxC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;IAEnB,+DAA+D;IAC/D,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAEpF,sFAAsF;IACtF,oBAAoB,EAAE,CACpB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;CACX;AASD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,eAAe,GAAG,IAAI,EACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EACzC,OAAO,GAAE,6BAAkC,GAC1C,4BAA4B,CA+N9B;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"useConditionValidation.d.ts","sourceRoot":"","sources":["../../src/hooks/useConditionValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,6BAA6B;IAC5C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,kGAAkG;IAClG,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAExD,oEAAoE;IACpE,gBAAgB,EAAE,CAChB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,CAAC,EAAE,MAAM,KAClB,wBAAwB,GAAG,IAAI,CAAC;IAErC,sEAAsE;IACtE,aAAa,EAAE,CACb,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC/B,wBAAwB,EAAE,CAAC;IAEhC,uIAAuI;IACvI,WAAW,EAAE,CACX,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjC,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC/B,wBAAwB,EAAE,CAAC;IAEhC,wCAAwC;IACxC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;IAEnB,+DAA+D;IAC/D,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAEpF,sFAAsF;IACtF,oBAAoB,EAAE,CACpB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;CACX;AASD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,eAAe,GAAG,IAAI,EACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EACzC,OAAO,GAAE,6BAAkC,GAC1C,4BAA4B,CAkO9B;AAED,eAAe,sBAAsB,CAAC"}
@@ -100,9 +100,12 @@ export function useConditionValidation(conditionEngine, responses, options = {})
100
100
  /**
101
101
  * Valide toutes les variables d'un groupe
102
102
  */
103
- const validateGroup = useCallback((groupe, numeroMembre) => {
103
+ const validateGroup = useCallback((groupe, numeroMembre, visibleVariableCodes) => {
104
104
  const errors = [];
105
105
  for (const variable of groupe.variables) {
106
+ // Ignorer les variables non visibles si un filtre est fourni
107
+ if (visibleVariableCodes && !visibleVariableCodes.has(variable.code))
108
+ continue;
106
109
  const error = validateVariable(variable, numeroMembre);
107
110
  if (error) {
108
111
  errors.push(error);
@@ -118,20 +121,18 @@ export function useConditionValidation(conditionEngine, responses, options = {})
118
121
  /**
119
122
  * Valide toutes les variables de tous les groupes
120
123
  */
121
- const validateAll = useCallback((groupes, instances) => {
124
+ const validateAll = useCallback((groupes, instances, visibleVariableCodes) => {
122
125
  const allErrors = [];
123
126
  for (const groupe of groupes) {
124
127
  if (groupe.estMultiple && instances?.has(groupe.code)) {
125
- // Groupe multiple: valider chaque instance
126
128
  const instanceNumbers = instances.get(groupe.code) || [];
127
129
  for (const instanceNum of instanceNumbers) {
128
- const errors = validateGroup(groupe, instanceNum);
130
+ const errors = validateGroup(groupe, instanceNum, visibleVariableCodes);
129
131
  allErrors.push(...errors);
130
132
  }
131
133
  }
132
134
  else {
133
- // Groupe simple
134
- const errors = validateGroup(groupe);
135
+ const errors = validateGroup(groupe, undefined, visibleVariableCodes);
135
136
  allErrors.push(...errors);
136
137
  }
137
138
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsuci/shared-form-components",
3
- "version": "1.0.142",
3
+ "version": "1.0.143",
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",