diff --git a/tns-core-modules/ui/core/view-base/view-base.d.ts b/tns-core-modules/ui/core/view-base/view-base.d.ts index 8c5f7e280..34a79edcd 100644 --- a/tns-core-modules/ui/core/view-base/view-base.d.ts +++ b/tns-core-modules/ui/core/view-base/view-base.d.ts @@ -157,6 +157,11 @@ export abstract class ViewBase extends Observable { */ public readonly parent: ViewBase; + /** + * Gets the template parent or the native parent. Sets the template parent. + */ + public parentNode: ViewBase; + /** * Gets or sets the id for this view. */ diff --git a/tns-core-modules/ui/core/view-base/view-base.ts b/tns-core-modules/ui/core/view-base/view-base.ts index bdbdee00b..632215e52 100644 --- a/tns-core-modules/ui/core/view-base/view-base.ts +++ b/tns-core-modules/ui/core/view-base/view-base.ts @@ -149,6 +149,7 @@ export abstract class ViewBase extends Observable implements ViewBaseDefinition private _style: Style; private _isLoaded: boolean; private _visualState: string; + private _templateParent: ViewBase; private __nativeView: any; // private _disableNativeViewRecycling: boolean; public domNode: dnm.DOMNode; @@ -221,6 +222,14 @@ export abstract class ViewBase extends Observable implements ViewBaseDefinition this._style = new Style(this); } + get parentNode() { + return this._templateParent || this.parent; + } + + set parentNode(node: ViewBase) { + this._templateParent = node; + } + get nativeView(): any { // this._disableNativeViewRecycling = true; return this.nativeViewProtected;