Skip to content

Commit 6f66ca7

Browse files
author
Nedyalko Nikolov
committed
Merge pull request NativeScript#1380 from NativeScript/nnikolov/TabViewAdditionalFixes
Added _removeTabs implementation in common.
2 parents 938922c + 30d5eba commit 6f66ca7

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

ui/tab-view/tab-view-common.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,21 @@ export class TabView extends view.View implements definition.TabView, view.AddAr
150150
}
151151

152152
public _removeTabs(oldItems: Array<definition.TabViewItem>) {
153-
//
153+
var i: number;
154+
var length = oldItems.length;
155+
var oldItem: definition.TabViewItem;
156+
for (i = 0; i < length; i++) {
157+
oldItem = oldItems[i];
158+
159+
if (!oldItem) {
160+
throw new Error("TabViewItem at index " + i + " is undefined.");
161+
}
162+
163+
if (!oldItem.view) {
164+
throw new Error("TabViewItem at index " + i + " does not have a view.");
165+
}
166+
this._removeView(oldItem.view);
167+
}
154168
}
155169

156170
public _addTabs(newItems: Array<definition.TabViewItem>) {

ui/tab-view/tab-view.android.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,11 @@ export class TabView extends common.TabView {
225225

226226
if (data.oldValue) {
227227
var oldItems: Array<TabViewItem> = data.oldValue;
228-
oldItems.forEach((oldItem) => { oldItem._parent = null; });
229-
228+
oldItems.forEach((oldItem) => {
229+
// _removeView is called within destroyItem method
230+
oldItem._parent = null;
231+
});
232+
230233
this._viewPager.setAdapter(null);
231234
this._pagerAdapter = null;
232235
this._tabLayout.setItems(null, null);

ui/tab-view/tab-view.ios.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ export class TabView extends common.TabView {
173173
oldItem = <TabViewItem>oldItems[i];
174174
oldItem._parent = null;
175175
oldItem._controller = null;
176-
this._removeView(oldItem.view);
177176
}
178177

179178
this._ios.viewControllers = null;

0 commit comments

Comments
 (0)