Skip to content

Commit 9ca9db4

Browse files
JeanMecheAndrewKushnir
authored andcommitted
refactor(core): drop ViewRefTracker in favor of ApplicationRef. (#58096)
We can leverage an `import type` to prevent the circular import. PR Close #58096
1 parent 9f2726b commit 9ca9db4

File tree

2 files changed

+4
-13
lines changed

2 files changed

+4
-13
lines changed

packages/core/src/linker/view_ref.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,3 @@ export abstract class EmbeddedViewRef<C> extends ViewRef {
100100
*/
101101
abstract get rootNodes(): any[];
102102
}
103-
104-
/**
105-
* Interface for tracking root `ViewRef`s in `ApplicationRef`.
106-
*
107-
* NOTE: Importing `ApplicationRef` here directly creates circular dependency, which is why we have
108-
* a subset of the `ApplicationRef` interface `ViewRefTracker` here.
109-
*/
110-
export interface ViewRefTracker {
111-
detachView(viewRef: ViewRef): void;
112-
}

packages/core/src/render3/view_ref.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88

99
import {ChangeDetectorRef} from '../change_detection/change_detector_ref';
1010
import {NotificationSource} from '../change_detection/scheduling/zoneless_scheduling';
11+
import type {ApplicationRef} from '../core';
1112
import {RuntimeError, RuntimeErrorCode} from '../errors';
12-
import {EmbeddedViewRef, ViewRefTracker} from '../linker/view_ref';
13+
import {EmbeddedViewRef} from '../linker/view_ref';
1314
import {removeFromArray} from '../util/array_utils';
1415
import {assertEqual} from '../util/assert';
1516

@@ -43,7 +44,7 @@ import {storeLViewOnDestroy, updateAncestorTraversalFlagsOnAttach} from './util/
4344
interface ChangeDetectorRefInterface extends ChangeDetectorRef {}
4445

4546
export class ViewRef<T> implements EmbeddedViewRef<T>, ChangeDetectorRefInterface {
46-
private _appRef: ViewRefTracker | null = null;
47+
private _appRef: ApplicationRef | null = null;
4748
private _attachedToViewContainer = false;
4849

4950
get rootNodes(): any[] {
@@ -349,7 +350,7 @@ export class ViewRef<T> implements EmbeddedViewRef<T>, ChangeDetectorRefInterfac
349350
detachViewFromDOM(this._lView[TVIEW], this._lView);
350351
}
351352

352-
attachToAppRef(appRef: ViewRefTracker) {
353+
attachToAppRef(appRef: ApplicationRef) {
353354
if (this._attachedToViewContainer) {
354355
throw new RuntimeError(
355356
RuntimeErrorCode.VIEW_ALREADY_ATTACHED,

0 commit comments

Comments
 (0)