From 0ba899bfd5a9b4a1012fa182843dffded6da0a74 Mon Sep 17 00:00:00 2001 From: AleksanderBodurri Date: Wed, 1 Apr 2020 15:58:31 -0400 Subject: [PATCH] refactor(devtools): remove ng.getComponent calls in places it is no longer needed --- projects/ng-devtools-backend/src/lib/component-tree.ts | 2 +- .../ng-devtools-backend/src/lib/selected-component.ts | 10 +++++----- .../shell-chrome/src/app/chrome-window-extensions.ts | 5 ++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/projects/ng-devtools-backend/src/lib/component-tree.ts b/projects/ng-devtools-backend/src/lib/component-tree.ts index c73cf20d16f..582eea47fd9 100644 --- a/projects/ng-devtools-backend/src/lib/component-tree.ts +++ b/projects/ng-devtools-backend/src/lib/component-tree.ts @@ -160,7 +160,7 @@ const findElementIDFromNativeElementInForest = ( return null; }; -export const findNodeFromSerializedPosition = (serializedPosition: string) => { +export const findNodeFromSerializedPosition = (serializedPosition: string): ComponentTreeNode | null => { const position: number[] = serializedPosition.split(',').map((index) => parseInt(index, 10)); return queryDirectiveForest(position, buildDirectiveForest()); }; diff --git a/projects/ng-devtools-backend/src/lib/selected-component.ts b/projects/ng-devtools-backend/src/lib/selected-component.ts index e34b2c3f517..24910ad8a13 100644 --- a/projects/ng-devtools-backend/src/lib/selected-component.ts +++ b/projects/ng-devtools-backend/src/lib/selected-component.ts @@ -28,7 +28,7 @@ const _setConsoleReference = (referenceNode: ConsoleReferenceNode) => { }; const prepareCurrentReferencesForInsertion = (referenceNode: ConsoleReferenceNode) => { - const foundIndex = nodesForConsoleReference.findIndex(nodeToLookFor => + const foundIndex = nodesForConsoleReference.findIndex((nodeToLookFor) => arrayEquals(nodeToLookFor.position, referenceNode.position) ); if (foundIndex !== -1) { @@ -44,13 +44,13 @@ const assignConsoleReferencesFrom = (referenceNodes: ConsoleReferenceNode[]) => ); }; -const setDirectiveKey = (node: ComponentTreeNode | null, key) => { +const setDirectiveKey = (node: ComponentTreeNode | null, key: string) => { Object.defineProperty(window, key, { get: () => { - if (node && node.nativeElement instanceof HTMLElement) { - return ng.getComponent(node.nativeElement) || node; + if (node?.component) { + return node.component.instance; } - if (node) { + if (node?.nativeElement) { return node.nativeElement; } return node; diff --git a/projects/shell-chrome/src/app/chrome-window-extensions.ts b/projects/shell-chrome/src/app/chrome-window-extensions.ts index f64aa9d1de4..341165e57da 100644 --- a/projects/shell-chrome/src/app/chrome-window-extensions.ts +++ b/projects/shell-chrome/src/app/chrome-window-extensions.ts @@ -23,9 +23,8 @@ const chromeWindowExtensions = { console.error(`Cannot find element associated with node ${serializedId}`); return; } - const root = node.nativeElement instanceof HTMLElement && ng.getComponent(node.nativeElement); - if (root) { - return root.constructor; + if (node.component) { + return node.component.instance.constructor; } else { console.error('This component has no instance and therefore no constructor'); }