Abort: force refresh if only it's last uncompleted bar
Vladimir Bauer
4 years ago
| 274 | 274 | } |
| 275 | 275 | if drop { |
| 276 | 276 | b.container.dropBar(b) |
| 277 | } else { | |
| 278 | b.container.refreshCh <- time.Now() | |
| 279 | } | |
| 280 | b.cancel() | |
| 277 | b.cancel() | |
| 278 | return | |
| 279 | } | |
| 280 | go func() { | |
| 281 | var uncompleted int | |
| 282 | b.container.traverseBars(func(bar *Bar) bool { | |
| 283 | if b != bar { | |
| 284 | if !bar.Completed() { | |
| 285 | uncompleted++ | |
| 286 | return false | |
| 287 | } | |
| 288 | } | |
| 289 | return true | |
| 290 | }) | |
| 291 | if uncompleted == 0 { | |
| 292 | b.container.refreshCh <- time.Now() | |
| 293 | } | |
| 294 | b.cancel() | |
| 295 | }() | |
| 281 | 296 | }: |
| 282 | 297 | <-b.done |
| 283 | 298 | case <-b.done: |