|
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