1
- function generateAnimations ( ) {
1
+ function generateAnimations ( { element } ) {
2
2
3
- for ( let elem of pathElements ) {
4
- // console.log('animate', elem);
3
+ if ( element != null ) {
4
+ let elem = { 'id' : element . id . split ( '-' ) [ 2 ] , 'type' : element . id . split ( '-' ) [ 1 ] } ;
5
+ if ( elem . id === '' ) elem . id = '-1' ;
6
+ // console.log('animate', elem.type);
5
7
switch ( elem . type ) {
6
8
case 'userInput' :
9
+ console . log ( 'userInput' ) ;
7
10
generateUserInputAnimation ( elem ) ;
8
11
break ;
9
- case 'lut' :
12
+ case 'lut' :
13
+ console . log ( 'lut' ) ;
10
14
generateLUTAnimation ( elem ) ;
11
15
break ;
12
- case 'DFF' :
16
+ case 'ff' :
17
+ console . log ( 'ff' ) ;
13
18
generateDFFAnimation ( elem ) ;
14
19
break ;
15
-
16
20
default :
17
21
break ;
18
22
}
23
+ } else {
24
+ for ( let elem of pathElements ) {
25
+ // console.log('animate', elem);
26
+ switch ( elem . type ) {
27
+ case 'userInput' :
28
+ generateUserInputAnimation ( elem ) ;
29
+ break ;
30
+ case 'lut' :
31
+ generateLUTAnimation ( elem ) ;
32
+ break ;
33
+ case 'DFF' :
34
+ generateDFFAnimation ( elem ) ;
35
+ break ;
36
+
37
+ default :
38
+ break ;
39
+ }
40
+ }
19
41
}
20
42
}
21
43
@@ -141,18 +163,20 @@ async function animatePath(i) {
141
163
let wire4 = document . getElementById ( `${ type } -${ id } -Wire4` ) ?? null ;
142
164
let wire5 = document . getElementById ( `${ type } -${ id } -Wire5` ) ?? null ;
143
165
elem . style . display = 'block' ;
144
- let wiresLength = wire4 != null
145
- ? wire5 != null
146
- ? 5
147
- : 4
148
- : 3 ;
166
+ let wiresLength = wire4 != null
167
+ ? wire5 != null
168
+ ? 5
169
+ : 4
170
+ : 3 ;
149
171
animateElement ( elem , [ wire1 , wire2 , wire3 , wire4 , wire5 ] ) ;
150
172
setTimeout ( ( ) => {
151
173
if ( i < pathElements . length - 2 ) {
152
- elem . style . display = 'none' ;
174
+ elem . remove ( ) ;
175
+ generateAnimations ( { element : elem } ) ;
153
176
animatePath ( i + 1 ) ;
154
177
} else {
155
- elem . style . display = 'none' ;
178
+ elem . remove ( ) ;
179
+ generateAnimations ( { element : elem } ) ;
156
180
}
157
181
} , wiresLength * 400 ) ;
158
182
}
0 commit comments