From d6e0e13a4c8f880c5a961a6621b917009fe47de6 Mon Sep 17 00:00:00 2001 From: Panayot Cankov Date: Thu, 24 Aug 2017 10:32:58 +0300 Subject: [PATCH] The tns-core-modules tracer was intended to be called after an isEnabledCheck() to avoid string concatenation --- nativescript-angular/renderer.ts | 113 +++++++++++++----- .../router/page-router-outlet.ts | 46 ++++--- nativescript-angular/trace.ts | 1 + nativescript-angular/view-util.ts | 11 +- 4 files changed, 119 insertions(+), 52 deletions(-) diff --git a/nativescript-angular/renderer.ts b/nativescript-angular/renderer.ts index ddf247c0b..bfab44617 100644 --- a/nativescript-angular/renderer.ts +++ b/nativescript-angular/renderer.ts @@ -14,7 +14,7 @@ import { APP_ROOT_VIEW, DEVICE, getRootPage } from "./platform-providers"; import { isBlank } from "./lang-facade"; import { ViewUtil } from "./view-util"; import { NgView, InvisibleNode } from "./element-registry"; -import { rendererLog as traceLog } from "./trace"; +import { rendererLog as log, isEnabled as isLogEnabled } from "./trace"; // CONTENT_ATTR not exported from NativeScript_renderer - we need it for styles application. const COMPONENT_REGEX = /%COMP%/g; @@ -81,120 +81,160 @@ export class NativeScriptRenderer extends Renderer2 { private viewUtil: ViewUtil ) { super(); - traceLog("NativeScriptRenderer created"); + if (isLogEnabled()) { + log("NativeScriptRenderer created"); + } } @profile appendChild(parent: any, newChild: NgView): void { - traceLog(`NativeScriptRenderer.appendChild child: ${newChild} parent: ${parent}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.appendChild child: ${newChild} parent: ${parent}`); + } this.viewUtil.insertChild(parent, newChild); } @profile insertBefore(parent: NgView, newChild: NgView, refChildIndex: number): void { - traceLog(`NativeScriptRenderer.insertBefore child: ${newChild} parent: ${parent}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.insertBefore child: ${newChild} parent: ${parent}`); + } this.viewUtil.insertChild(parent, newChild, refChildIndex); } @profile removeChild(parent: any, oldChild: NgView): void { - traceLog(`NativeScriptRenderer.removeChild child: ${oldChild} parent: ${parent}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.removeChild child: ${oldChild} parent: ${parent}`); + } this.viewUtil.removeChild(parent, oldChild); } @profile selectRootElement(selector: string): NgView { - traceLog("NativeScriptRenderer.selectRootElement: " + selector); + if (isLogEnabled()) { + log("NativeScriptRenderer.selectRootElement: " + selector); + } return this.rootView; } @profile parentNode(node: NgView): any { - traceLog("NativeScriptRenderer.parentNode for node: " + node); + if (isLogEnabled()) { + log("NativeScriptRenderer.parentNode for node: " + node); + } return node.parent || node.templateParent; } @profile nextSibling(node: NgView): number { - traceLog(`NativeScriptRenderer.nextSibling ${node}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.nextSibling ${node}`); + } return this.viewUtil.nextSiblingIndex(node); } @profile createComment(_value: any): InvisibleNode { - traceLog(`NativeScriptRenderer.createComment ${_value}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.createComment ${_value}`); + } return this.viewUtil.createComment(); } @profile createElement(name: any, _namespace: string): NgView { - traceLog(`NativeScriptRenderer.createElement: ${name}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.createElement: ${name}`); + } return this.viewUtil.createView(name); } @profile createText(_value: string): InvisibleNode { - traceLog(`NativeScriptRenderer.createText ${_value}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.createText ${_value}`); + } return this.viewUtil.createText(); } @profile createViewRoot(hostElement: NgView): NgView { - traceLog(`NativeScriptRenderer.createViewRoot ${hostElement.nodeName}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.createViewRoot ${hostElement.nodeName}`); + } return hostElement; } @profile projectNodes(parentElement: NgView, nodes: NgView[]): void { - traceLog("NativeScriptRenderer.projectNodes"); + if (isLogEnabled()) { + log("NativeScriptRenderer.projectNodes"); + } nodes.forEach((node) => this.viewUtil.insertChild(parentElement, node)); } @profile destroy() { - traceLog("NativeScriptRenderer.destroy"); + if (isLogEnabled()) { + log("NativeScriptRenderer.destroy"); + } // Seems to be called on component dispose only (router outlet) // TODO: handle this when we resolve routing and navigation. } @profile setAttribute(view: NgView, name: string, value: string, namespace?: string) { - traceLog(`NativeScriptRenderer.setAttribute ${view} : ${name} = ${value}, namespace: ${namespace}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.setAttribute ${view} : ${name} = ${value}, namespace: ${namespace}`); + } return this.viewUtil.setProperty(view, name, value, namespace); } @profile removeAttribute(_el: NgView, _name: string): void { - traceLog(`NativeScriptRenderer.removeAttribute ${_el}: ${_name}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.removeAttribute ${_el}: ${_name}`); + } } @profile setProperty(view: any, name: string, value: any) { - traceLog(`NativeScriptRenderer.setProperty ${view} : ${name} = ${value}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.setProperty ${view} : ${name} = ${value}`); + } return this.viewUtil.setProperty(view, name, value); } @profile addClass(view: NgView, name: string): void { - traceLog(`NativeScriptRenderer.addClass ${name}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.addClass ${name}`); + } this.viewUtil.addClass(view, name); } @profile removeClass(view: NgView, name: string): void { - traceLog(`NativeScriptRenderer.removeClass ${name}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.removeClass ${name}`); + } this.viewUtil.removeClass(view, name); } @profile setStyle(view: NgView, styleName: string, value: any, _flags?: RendererStyleFlags2): void { - traceLog(`NativeScriptRenderer.setStyle: ${styleName} = ${value}`); + if (isLogEnabled()) { + log(`NativeScriptRenderer.setStyle: ${styleName} = ${value}`); + } this.viewUtil.setStyle(view, styleName, value); } @profile removeStyle(view: NgView, styleName: string, _flags?: RendererStyleFlags2): void { - traceLog("NativeScriptRenderer.removeStyle: ${styleName}"); + if (isLogEnabled()) { + log("NativeScriptRenderer.removeStyle: ${styleName}"); + } this.viewUtil.removeStyle(view, styleName); } @@ -202,32 +242,41 @@ export class NativeScriptRenderer extends Renderer2 { // such as