@rsuci/shared-form-components 1.0.99 → 1.0.101
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/dist/components/form-renderer/FormRenderer.d.ts.map +1 -1
- package/dist/components/form-renderer/FormRenderer.js +55 -0
- package/dist/lib/form-tree.d.ts.map +1 -1
- package/dist/lib/form-tree.js +12 -0
- package/dist/lib/utils/variableValueConverter.d.ts.map +1 -1
- package/dist/lib/utils/variableValueConverter.js +18 -2
- package/package.json +1 -1
|
@@ -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;
|
|
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;AA+6BD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -23,6 +23,10 @@ import { useConditionValidation } from '../../hooks/useConditionValidation';
|
|
|
23
23
|
import { GroupeInstanceManager } from '../../lib/utils/groupeInstanceManager';
|
|
24
24
|
import { interpolateVariableLabel } from '../../lib/utils/interpolateVariableLabel';
|
|
25
25
|
import { VariableValueConverter } from '../../lib/utils/variableValueConverter';
|
|
26
|
+
// Types de variables en lecture seule qui ne possèdent pas de valeur à effacer
|
|
27
|
+
const READ_ONLY_TYPES = new Set([
|
|
28
|
+
'LABEL', 'PANEL', 'ENQUETEUR', 'EMAIL_ENQUETEUR', 'TELEPHONE_ENQUETEUR'
|
|
29
|
+
]);
|
|
26
30
|
/**
|
|
27
31
|
* Composant interne qui utilise le contexte
|
|
28
32
|
*/
|
|
@@ -61,6 +65,8 @@ const FormRendererInner = () => {
|
|
|
61
65
|
// Refs pour éviter les boucles infinies lors de l'application des autoactions
|
|
62
66
|
const isApplyingAutoActions = useRef(false);
|
|
63
67
|
const lastProcessedResponsesKey = useRef('');
|
|
68
|
+
// Ref pour éviter les boucles infinies lors du nettoyage des variables masquées
|
|
69
|
+
const isClearingHiddenRef = useRef(false);
|
|
64
70
|
// useEffect pour évaluer et appliquer les autoactions (calculs automatiques comme setValeur)
|
|
65
71
|
useEffect(() => {
|
|
66
72
|
// Éviter les boucles infinies: ne pas exécuter si on est déjà en train d'appliquer des autoactions
|
|
@@ -110,6 +116,55 @@ const FormRendererInner = () => {
|
|
|
110
116
|
});
|
|
111
117
|
}
|
|
112
118
|
}, [responses, currentGroup, currentInstance, evaluateAutoActionsForInstance, updateResponse]);
|
|
119
|
+
// useEffect pour effacer les valeurs des variables masquées par showMe/hideMe
|
|
120
|
+
// Quand une variable devient invisible (condition non satisfaite), sa valeur est supprimée
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
if (!currentGroup?.variables || isClearingHiddenRef.current)
|
|
123
|
+
return;
|
|
124
|
+
const variablesToClear = [];
|
|
125
|
+
for (const variable of currentGroup.variables) {
|
|
126
|
+
if (READ_ONLY_TYPES.has(variable.typeCode))
|
|
127
|
+
continue;
|
|
128
|
+
if (!variable.estVisible)
|
|
129
|
+
continue; // Ignorer les variables masquées statiquement par l'admin
|
|
130
|
+
if (currentGroup.estMultiple && currentGroup.instances) {
|
|
131
|
+
// Groupes multiples : vérifier par instance
|
|
132
|
+
for (const instance of currentGroup.instances) {
|
|
133
|
+
const visibleVars = getVisibleVariablesForInstance(currentGroup.code, instance.numeroInstance);
|
|
134
|
+
if (!visibleVars.some(v => v.code === variable.code)) {
|
|
135
|
+
const responseKey = `${variable.code}_${instance.numeroInstance}`;
|
|
136
|
+
const response = responses[responseKey];
|
|
137
|
+
if (response && response.valeur != null && response.valeur !== '') {
|
|
138
|
+
variablesToClear.push({ variable, instanceNumber: instance.numeroInstance });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// Groupes simples : utiliser la visibilité FormTree
|
|
145
|
+
const visibleVars = getVisibleVariables(currentGroup.code);
|
|
146
|
+
if (!visibleVars.some(v => v.code === variable.code)) {
|
|
147
|
+
const response = responses[variable.code]
|
|
148
|
+
|| responsesByVariableCode.get(variable.code);
|
|
149
|
+
if (response && response.valeur != null && response.valeur !== '') {
|
|
150
|
+
variablesToClear.push({
|
|
151
|
+
variable,
|
|
152
|
+
instanceNumber: response.numeroMembre
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (variablesToClear.length > 0) {
|
|
159
|
+
isClearingHiddenRef.current = true;
|
|
160
|
+
for (const { variable, instanceNumber } of variablesToClear) {
|
|
161
|
+
updateResponse(variable.code, null, variable, instanceNumber);
|
|
162
|
+
}
|
|
163
|
+
requestAnimationFrame(() => {
|
|
164
|
+
isClearingHiddenRef.current = false;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}, [responses, currentGroup, getVisibleVariables, getVisibleVariablesForInstance, updateResponse, responsesByVariableCode]);
|
|
113
168
|
// Vérifier si une variable est visible
|
|
114
169
|
const isVariableVisible = useCallback((variable) => {
|
|
115
170
|
if (!currentGroup?.code)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-tree.d.ts","sourceRoot":"","sources":["../../src/lib/form-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,SAAS,EACT,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAc,MAAM,oBAAoB,CAAC;AAGjE,qBAAa,QAAS,YAAW,SAAS;IACxC,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,KAAK,CAAU;IAIvB,OAAO,CAAC,cAAc,CAA0D;IAGhF,OAAO,CAAC,kBAAkB,CAAuC;IAIjE,OAAO,CAAC,sBAAsB,CAAuC;IAE9D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;gBAG9C,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAM,EAC9C,OAAO,GAAE,eAAoB;IAU/B,OAAO,CAAC,GAAG;IAQX,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAsDtD,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI;IAkBhE;;;OAGG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EACzC,eAAe,EAAE,MAAM,EACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAC9B,IAAI;IA4BP,WAAW,IAAI,IAAI;IA+BnB,OAAO,CAAC,uBAAuB;IAkC/B,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,YAAY;IA+DpB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"form-tree.d.ts","sourceRoot":"","sources":["../../src/lib/form-tree.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/form-tree.js
CHANGED
|
@@ -305,6 +305,10 @@ export class FormTree {
|
|
|
305
305
|
state.variable.estVisible &&
|
|
306
306
|
state.isConditionMet &&
|
|
307
307
|
!state.isJumpedOver;
|
|
308
|
+
// Marquer les variables masquées par condition (showMe/hideMe) pour nettoyage
|
|
309
|
+
if (state.variable.estVisible && !state.isConditionMet) {
|
|
310
|
+
state.shouldClearOnSave = true;
|
|
311
|
+
}
|
|
308
312
|
}
|
|
309
313
|
}
|
|
310
314
|
// ============ REQUÊTES ============
|
|
@@ -397,6 +401,10 @@ export class FormTree {
|
|
|
397
401
|
state.variable.estVisible &&
|
|
398
402
|
state.isConditionMet &&
|
|
399
403
|
!state.isJumpedOver;
|
|
404
|
+
// Marquer les variables masquées par condition (showMe/hideMe) pour nettoyage
|
|
405
|
+
if (state.variable.estVisible && !state.isConditionMet) {
|
|
406
|
+
state.shouldClearOnSave = true;
|
|
407
|
+
}
|
|
400
408
|
}
|
|
401
409
|
// Stocker les jumps de cette instance pour référence
|
|
402
410
|
const instanceKey = `${groupeCode}_${instanceNumber}`;
|
|
@@ -823,6 +831,10 @@ export class FormTree {
|
|
|
823
831
|
state.variable.estVisible &&
|
|
824
832
|
state.isConditionMet &&
|
|
825
833
|
!state.isJumpedOver;
|
|
834
|
+
// Marquer les variables masquées par condition (showMe/hideMe) pour nettoyage
|
|
835
|
+
if (state.variable.estVisible && !state.isConditionMet) {
|
|
836
|
+
state.shouldClearOnSave = true;
|
|
837
|
+
}
|
|
826
838
|
}
|
|
827
839
|
}
|
|
828
840
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variableValueConverter.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/variableValueConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGlE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IAEjC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,aAAa;IAwEjF;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM;IAkElE,OAAO,CAAC,MAAM,CAAC,YAAY;IAK3B,OAAO,CAAC,MAAM,CAAC,SAAS;IAexB,OAAO,CAAC,MAAM,CAAC,aAAa;IAqB5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAQxB,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,OAAO,CAAC,MAAM,CAAC,QAAQ;IAcvB,OAAO,CAAC,MAAM,CAAC,SAAS;IAmBxB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAkDnC,OAAO,CAAC,MAAM,CAAC,aAAa;IA8B5B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoElC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAUhC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAIrC,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B,OAAO,CAAC,MAAM,CAAC,aAAa;IAc5B;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAShD,OAAO,CAAC,MAAM,CAAC,YAAY;IAK3B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA2DtC;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE;IAuBpE;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE;;;;;IAUlD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO;IA8ChE;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,YAAY,GAAG,MAAM,EAC/B,KAAK,EAAE,aAAa,EACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO;
|
|
1
|
+
{"version":3,"file":"variableValueConverter.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/variableValueConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -560,10 +560,26 @@ export class VariableValueConverter {
|
|
|
560
560
|
*/
|
|
561
561
|
static hasRequiredValue(typeCode, value, optionsSource) {
|
|
562
562
|
// LISTRADIO : chaque option doit avoir une sélection (true ou false)
|
|
563
|
+
// Supporte les valeurs objet (runtime) ET les chaînes JSON (chargées du backend)
|
|
563
564
|
if (typeCode === 'LISTRADIO') {
|
|
564
|
-
|
|
565
|
+
let obj;
|
|
566
|
+
if (typeof value === 'string') {
|
|
567
|
+
try {
|
|
568
|
+
const parsed = JSON.parse(value);
|
|
569
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
|
|
570
|
+
return false;
|
|
571
|
+
obj = parsed;
|
|
572
|
+
}
|
|
573
|
+
catch {
|
|
574
|
+
return false;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
else if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
578
|
+
obj = value;
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
565
581
|
return false;
|
|
566
|
-
|
|
582
|
+
}
|
|
567
583
|
if (!optionsSource)
|
|
568
584
|
return false;
|
|
569
585
|
const options = VariableValueConverter.parseOptionsFromProperty(optionsSource);
|
package/package.json
CHANGED