From 2147858d72e74fce3a6753905981331663a28554 Mon Sep 17 00:00:00 2001 From: sis0k0 Date: Wed, 29 Mar 2017 17:49:06 +0300 Subject: [PATCH] fix(action bar): attach #comment nodes with _addView #comment nodes should be added as views to 'actionBar' since they are anchors for the elements added by structural directive (*ngIf, *ngFor, etc.) closes #725 --- nativescript-angular/directives/action-bar.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nativescript-angular/directives/action-bar.ts b/nativescript-angular/directives/action-bar.ts index 63acb4308..d2d0718a6 100644 --- a/nativescript-angular/directives/action-bar.ts +++ b/nativescript-angular/directives/action-bar.ts @@ -5,9 +5,9 @@ import { Page } from "ui/page"; import { View } from "ui/core/view"; import { registerElement, ViewClassMeta, NgView } from "../element-registry"; -let actionBarMeta: ViewClassMeta = { +const actionBarMeta: ViewClassMeta = { skipAddToDom: true, - insertChild: (parent: NgView, child: NgView, _atIndex: number) => { + insertChild: (parent: NgView, child: NgView, atIndex: number) => { const bar = (parent); const childView = child; @@ -17,13 +17,16 @@ let actionBarMeta: ViewClassMeta = { } else if (child instanceof ActionItem) { bar.actionItems.addItem(childView); childView.parent = bar; - } else if (child.nodeName !== "#text" && child instanceof View) { + } else if (child.nodeName === "#comment") { + bar._addView(childView, atIndex); + } else if (child instanceof View) { bar.titleView = childView; } }, removeChild: (parent: NgView, child: NgView) => { const bar = (parent); const childView = child; + if (child instanceof NavigationButton) { if (bar.navigationButton === childView) { bar.navigationButton = null;