( tView: TView, tDetails: TDeferBlockDetails, placeholderConfigIndex?: number | null, loadingConfigIndex?: number | null, )
| 462 | * on the `@loading` or `@placeholder` blocks. |
| 463 | */ |
| 464 | export function ɵɵdeferEnableTimerScheduling( |
| 465 | tView: TView, |
| 466 | tDetails: TDeferBlockDetails, |
| 467 | placeholderConfigIndex?: number | null, |
| 468 | loadingConfigIndex?: number | null, |
| 469 | ) { |
| 470 | const tViewConsts = tView.consts; |
| 471 | if (placeholderConfigIndex != null) { |
| 472 | tDetails.placeholderBlockConfig = getConstant<DeferredPlaceholderBlockConfig>( |
| 473 | tViewConsts, |
| 474 | placeholderConfigIndex, |
| 475 | ); |
| 476 | } |
| 477 | if (loadingConfigIndex != null) { |
| 478 | tDetails.loadingBlockConfig = getConstant<DeferredLoadingBlockConfig>( |
| 479 | tViewConsts, |
| 480 | loadingConfigIndex, |
| 481 | ); |
| 482 | } |
| 483 | |
| 484 | // Enable implementation that supports timer-based scheduling. |
| 485 | if (applyDeferBlockStateWithSchedulingImpl === null) { |
| 486 | applyDeferBlockStateWithSchedulingImpl = applyDeferBlockStateWithScheduling; |
| 487 | } |
| 488 | } |
| 489 | |
| 490 | /** |
| 491 | * Determines whether we should proceed with triggering a given defer block. |
nothing calls this directly
no test coverage detected
searching dependent graphs…