setupInitializationTracking
Creates an observable that tracks when all form components are initialized. Uses shareReplay({ bufferSize: 1, refCount: false }) to ensure exactly one emission that can be received by late subscribers and keeps the subscription alive.
This utility function replaces the manual ReplaySubject pattern for tracking initialization. The count includes container components (dynamic-form, pages, rows, groups).
Presentation
function setupInitializationTracking (
options: InitializationTrackingOptions ,
): Observable<boolean>;Returns
Observable<boolean> -Observable
Parameters
| Name | Type | Description |
|---|---|---|
| options | | Configuration options for initialization tracking |
Example usage
const eventBus = inject(EventBus );
const totalComponents = computed(() => countContainerComponents(fields));
readonly initialized$ = setupInitializationTracking ({
eventBus,
totalComponentsCount: totalComponents,
injector: this.injector,
componentId: 'dynamic-form'
});