dmencu 0.7.22 → 0.7.23

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.
@@ -1011,6 +1011,26 @@ var botonFormularioConResumen = (
1011
1011
  ]).create()
1012
1012
  }
1013
1013
 
1014
+ var buscarHnosFormulario = (idFormularioDestino:IdFormulario)=>{
1015
+ var estructura = getEstructura();
1016
+ var ua = estructura.formularios[idFormularioDestino].casilleros.unidad_analisis;
1017
+ return likeAr(estructura.formularios)
1018
+ .filter((infoFormulario:InfoFormulario, idForm:IdFormulario)=>
1019
+ infoFormulario.casilleros.unidad_analisis == ua
1020
+ ).map((_infoFormulario:InfoFormulario, idForm:IdFormulario)=>
1021
+ idForm
1022
+ ).array()
1023
+ }
1024
+
1025
+ var checkFormsVacios = (forms:IdFormulario[], feedbackAll:{
1026
+ [formulario in PlainForPk]:FormStructureState<IdVariable, Valor, IdFin> // resultado del rowValidator para estado.forPk
1027
+ }, forPk:ForPk)=>{
1028
+ return forms.filter((form:IdFormulario)=>{
1029
+ let myforPk={...forPk, formulario:form};
1030
+ var feedback = feedbackAll[toPlainForPk(myforPk)];
1031
+ return feedback.resumen != 'vacio'
1032
+ }).length == 0
1033
+ }
1014
1034
 
1015
1035
  function BotonFormularioDespliegue(props:{casillero:BotonFormulario, formulario:Formulario, forPk:ForPk}){
1016
1036
  var {casillero, forPk} = props;
@@ -1074,6 +1094,7 @@ function BotonFormularioDespliegue(props:{casillero:BotonFormulario, formulario:
1074
1094
  listaDeBotonesAbrir = likeAr(conjunto).map((_, i)=>{
1075
1095
  let num:number = numberOrStringIncIfArray(i, conjunto) as number;
1076
1096
  let forPk={...props.forPk, formulario:idFormularioDestino, [nuevoCampoPk]:num};
1097
+ var formHnos = buscarHnosFormulario(idFormularioDestino)
1077
1098
  var feedback = feedbackAll[toPlainForPk(forPk)];
1078
1099
  if(numActual == null && feedback.resumen == "vacio" && estadoDelBoton =='valida'){
1079
1100
  numActual = num;
@@ -1085,7 +1106,7 @@ function BotonFormularioDespliegue(props:{casillero:BotonFormulario, formulario:
1085
1106
  actual: calcularActualBF(configSorteoFormulario, num, numActual, idFormularioDestino, respuestasAumentadas),
1086
1107
  previo: numActual == null,
1087
1108
  permiteBorrar: likeAr(conjunto).array().length == Number(i) + 1 &&
1088
- feedback.resumen == 'vacio' &&
1109
+ checkFormsVacios(formHnos, feedbackAll, forPk) &&
1089
1110
  calcularPermiteBorrarBF(configSorteoFormulario,idFormularioDestino),
1090
1111
  disabled: calcularDisabledBF(configSorteoFormulario, num, idFormularioDestino, respuestasAumentadas)
1091
1112
  }