refactor(devtools): create interface for forest builder options object; change patch template back

This commit is contained in:
AleksanderBodurri 2020-01-31 14:33:56 -05:00
parent 26fb1f4d4b
commit c98dc5fca5
2 changed files with 8 additions and 3 deletions

View file

@ -24,6 +24,11 @@ export interface ComponentTreeNode extends Node<DirectiveInstanceType, Component
children: ComponentTreeNode[];
}
export interface DirectiveForestBuilderOptions {
getDirectives?: boolean;
includeNativeElement?: boolean;
}
export const getLatestComponentState = (query: ComponentExplorerViewQuery): DirectivesProperties | undefined => {
let result;
if (query.selectedElement && query.expandedProperties) {
@ -86,7 +91,7 @@ export const getComponentForest = (root = document.documentElement): ComponentTr
const buildDirectiveForest = (
node: Element,
tree: ComponentTreeNode | undefined,
options: { [option: string]: boolean } = {}
options: DirectiveForestBuilderOptions = {}
): ComponentTreeNode[] => {
if (!node) {
return [tree];

View file

@ -12,8 +12,8 @@ export const patchTemplate = (instance: any, fn: () => void) => {
const metadata = componentMetadata(instance);
const original = metadata.template;
metadata.tView.template = metadata.template = (...args) => {
const result = original(...args);
metadata.tView.template = metadata.template = function() {
const result = original.apply(this, arguments);
fn();
return result;
};