@@ -192,7 +192,11 @@ export const getDispositivoPosteriorNaSequenciaDeLeitura = (disp: Dispositivo, a
192
192
}
193
193
let proximo : Dispositivo | undefined = undefined ;
194
194
if ( aPartirDe ) {
195
- proximo = getIrmaoPosteriorIndependenteDeTipo ( aPartirDe ) ;
195
+ if ( isArticulacaoAlteracao ( aPartirDe ) ) {
196
+ proximo = getIrmaoPosteriorIndependenteDeTipo ( aPartirDe . pai ! ) ;
197
+ } else {
198
+ proximo = getIrmaoPosteriorIndependenteDeTipo ( aPartirDe ) ;
199
+ }
196
200
} else {
197
201
const filhos = isArtigo ( disp ) ? getFilhosArtigoEstiloLexML ( disp as Artigo ) : disp . filhos ;
198
202
if ( filhos . length ) {
@@ -203,17 +207,7 @@ export const getDispositivoPosteriorNaSequenciaDeLeitura = (disp: Dispositivo, a
203
207
proximo = disp . alteracoes . filhos [ 0 ] ;
204
208
}
205
209
if ( ! proximo && ! isDispositivoRaiz ( disp ) ) {
206
- if ( ! isArticulacaoAlteracao ( disp ) ) {
207
- return getDispositivoPosteriorNaSequenciaDeLeitura ( disp . pai ! , accept , disp ) ;
208
- } else {
209
- // const proximo = (disp.pai! as Artigo).caput!;
210
- const dispSuperior = disp . pai ! ;
211
- const irmaos = isArtigo ( dispSuperior . pai ! ) ? getFilhosArtigoEstiloLexML ( dispSuperior . pai as Artigo ) : dispSuperior . pai ! . filhos ;
212
- const pos = irmaos . indexOf ( dispSuperior ) ;
213
- const proximo = pos > - 1 ? irmaos [ pos + 1 ] : disp . pai ;
214
-
215
- return ! accept || accept ( proximo ! ) ? proximo : getDispositivoPosteriorNaSequenciaDeLeitura ( proximo ! , accept ) ;
216
- }
210
+ return getDispositivoPosteriorNaSequenciaDeLeitura ( disp . pai ! , accept , disp ) ;
217
211
}
218
212
return proximo ? ( ! accept || accept ( proximo ) ? proximo : getDispositivoPosteriorNaSequenciaDeLeitura ( proximo , accept ) ) : undefined ;
219
213
} ;
0 commit comments