|
1 | 1 | import { ChangeDetectorRef, getDebugNode, Injector, Type } from '@angular/core'; |
2 | 2 | import { NgtArgs } from '../directives/args'; |
| 3 | +import { NgtCommonDirective } from '../directives/common'; |
| 4 | +import { NgtRef } from '../directives/ref'; |
3 | 5 | import { NgtStore } from '../stores/store'; |
4 | 6 | import type { NgtAnyRecord } from '../types'; |
5 | 7 | import { applyProps } from '../utils/apply-props'; |
6 | 8 | import { getLocalState } from '../utils/instance'; |
7 | | -import { is } from '../utils/is'; |
8 | 9 | import { NgtCompoundClassId, NgtQueueOpClassId, NgtRendererClassId } from './enums'; |
9 | 10 | import { attachThreeChild, removeThreeChild, SPECIAL_PROPERTIES } from './utils'; |
10 | 11 |
|
@@ -210,11 +211,11 @@ export class NgtRendererStore { |
210 | 211 | if (node.__ngt_renderer__[NgtRendererClassId.destroyed]) return; |
211 | 212 | // setup [ref] here |
212 | 213 | // ref should never change |
213 | | - if (name === SPECIAL_PROPERTIES.REF && is.ref(value)) { |
214 | | - node.__ngt_renderer__[NgtRendererClassId.ref] = value; |
215 | | - value.nativeElement = node; |
216 | | - return; |
217 | | - } |
| 214 | + // if (name === SPECIAL_PROPERTIES.REF && is.ref(value)) { |
| 215 | + // node.__ngt_renderer__[NgtRendererClassId.ref] = value; |
| 216 | + // value.nativeElement = node; |
| 217 | + // return; |
| 218 | + // } |
218 | 219 |
|
219 | 220 | const parent = getLocalState(node).parent || node.__ngt_renderer__[NgtRendererClassId.parent]; |
220 | 221 |
|
@@ -318,8 +319,9 @@ export class NgtRendererStore { |
318 | 319 |
|
319 | 320 | getCreationState() { |
320 | 321 | const injectedArgs = this.firstNonInjectedDirective(NgtArgs)?.args || []; |
| 322 | + const injectedRef = this.firstNonInjectedDirective(NgtRef)?.ref || null; |
321 | 323 | const store = this.tryGetPortalStore(); |
322 | | - return { injectedArgs, store }; |
| 324 | + return { injectedArgs, injectedRef, store }; |
323 | 325 | } |
324 | 326 |
|
325 | 327 | destroy(node: NgtRendererNode, parent?: NgtRendererNode) { |
@@ -405,8 +407,8 @@ export class NgtRendererStore { |
405 | 407 | } |
406 | 408 | } |
407 | 409 |
|
408 | | - private firstNonInjectedDirective(dir: Type<NgtArgs>) { |
409 | | - let directive: NgtArgs | undefined; |
| 410 | + private firstNonInjectedDirective<T extends NgtCommonDirective>(dir: Type<T>) { |
| 411 | + let directive: T | undefined; |
410 | 412 |
|
411 | 413 | let i = this.comments.length - 1; |
412 | 414 | while (i >= 0) { |
|
0 commit comments