Merge pull request #148 from NativeScript/tab-entry-rename

TabEntry renamed to TabViewItem
This commit is contained in:
Vladimir Enchev
2015-03-09 10:44:18 +02:00
10 changed files with 71 additions and 71 deletions

View File

@ -1,8 +1,8 @@
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded"> <Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded">
<TabView> <TabView>
<TabView.items> <TabView.items>
<TabEntry title="List"> <TabViewItem title="List">
<TabEntry.view> <TabViewItem.view>
<ListView items="{{ redditItems }}" isScrolling="{{ isScrolling }}" itemTap="listViewItemTap" loadMoreItems="listViewLoadMoreItems"> <ListView items="{{ redditItems }}" isScrolling="{{ isScrolling }}" itemTap="listViewItemTap" loadMoreItems="listViewLoadMoreItems">
<ListView.itemTemplate> <ListView.itemTemplate>
<!-- Binding in template property of an component will use the bindingContext provided by the component. --> <!-- Binding in template property of an component will use the bindingContext provided by the component. -->
@ -15,16 +15,16 @@
<!-- End of tempplate. --> <!-- End of tempplate. -->
</ListView.itemTemplate> </ListView.itemTemplate>
</ListView> </ListView>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
<TabEntry title="About"> <TabViewItem title="About">
<TabEntry.view> <TabViewItem.view>
<StackLayout> <StackLayout>
<Image margin="10" url="~/app/res/telerik-logo.png" /> <Image margin="10" url="~/app/res/telerik-logo.png" />
<Label margin="10" textWrap="true" text="{{ aboutText }}" /> <Label margin="10" textWrap="true" text="{{ aboutText }}" />
</StackLayout> </StackLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
</TabView.items> </TabView.items>
</TabView> </TabView>
</Page> </Page>

View File

@ -2,20 +2,20 @@
<Page> <Page>
<TabView> <TabView>
<TabView.items> <TabView.items>
<TabEntry title="First"> <TabViewItem title="First">
<TabEntry.view> <TabViewItem.view>
<GridLayout> <GridLayout>
<Label text="First Tab" verticalAlignment="center" horizontalAlignment="center"/> <Label text="First Tab" verticalAlignment="center" horizontalAlignment="center"/>
</GridLayout> </GridLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
<TabEntry title="Second"> <TabViewItem title="Second">
<TabEntry.view> <TabViewItem.view>
<GridLayout> <GridLayout>
<Label text="Second Tab" verticalAlignment="center" horizontalAlignment="center"/> <Label text="Second Tab" verticalAlignment="center" horizontalAlignment="center"/>
</GridLayout> </GridLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
</TabView.items> </TabView.items>
</TabView> </TabView>
</Page> </Page>

View File

@ -1,22 +1,22 @@
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded"> <Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded">
<TabView> <TabView>
<TabView.items> <TabView.items>
<TabEntry title="First"> <TabViewItem title="First">
<TabEntry.view> <TabViewItem.view>
<StackLayout cssClass="tab-content"> <StackLayout cssClass="tab-content">
<Label text="First View" cssClass="title"/> <Label text="First View" cssClass="title"/>
<Label text="This is the content of the first tab." textWrap="true"/> <Label text="This is the content of the first tab." textWrap="true"/>
</StackLayout> </StackLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
<TabEntry title="Second"> <TabViewItem title="Second">
<TabEntry.view> <TabViewItem.view>
<StackLayout cssClass="tab-content"> <StackLayout cssClass="tab-content">
<Label text="Second View" cssClass="title"/> <Label text="Second View" cssClass="title"/>
<Label text="This is the content of the second tab." textWrap="true"/> <Label text="This is the content of the second tab." textWrap="true"/>
</StackLayout> </StackLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
</TabView.items> </TabView.items>
</TabView> </TabView>
</Page> </Page>

View File

@ -17,16 +17,16 @@ import buttonModule = require("ui/button");
// <Page> // <Page>
// <TabView> // <TabView>
// <TabView.items> // <TabView.items>
// <TabEntry title="Tab 1"> // <TabViewItem title="Tab 1">
// <TabEntry.view> // <TabViewItem.view>
// <Label text="Label in Tab1" /> // <Label text="Label in Tab1" />
// </TabEntry.view> // </TabViewItem.view>
// </TabEntry> // </TabViewItem>
// <TabEntry title="Tab 2"> // <TabViewItem title="Tab 2">
// <TabEntry.view> // <TabViewItem.view>
// <Label text="Label in Tab2" /> // <Label text="Label in Tab2" />
// </TabEntry.view> // </TabViewItem.view>
// </TabEntry> // </TabViewItem>
// </TabView.items> // </TabView.items>
// </TabView> // </TabView>
// </Page> // </Page>
@ -47,8 +47,8 @@ function _createTabView(): tabViewModule.TabView {
return tabView; return tabView;
} }
function _createItems(count: number): Array<tabViewModule.TabEntry> { function _createItems(count: number): Array<tabViewModule.TabViewItem> {
var items = new Array<tabViewModule.TabEntry>(); var items = new Array<tabViewModule.TabViewItem>();
for (var i = 0; i < count; i++) { for (var i = 0; i < count; i++) {
var label = new labelModule.Label(); var label = new labelModule.Label();
label.text = "Tab " + i; label.text = "Tab " + i;
@ -263,7 +263,7 @@ export var testBindingToTabEntryWithUndefinedViewShouldThrow = function () {
var tabView = <tabViewModule.TabView>views[0]; var tabView = <tabViewModule.TabView>views[0];
TKUnit.assertThrows(function () { TKUnit.assertThrows(function () {
tabView.items = [{ title: "Tab 0", view: undefined }]; tabView.items = [{ title: "Tab 0", view: undefined }];
}, "Binding TabView to a TabEntry with undefined view should throw."); }, "Binding TabView to a TabViewItem with undefined view should throw.");
}); });
} }
@ -273,7 +273,7 @@ export var testBindingToTabEntryWithNullViewShouldThrow = function () {
var tabView = <tabViewModule.TabView>views[0]; var tabView = <tabViewModule.TabView>views[0];
TKUnit.assertThrows(function () { TKUnit.assertThrows(function () {
tabView.items = [{ title: "Tab 0", view: null }]; tabView.items = [{ title: "Tab 0", view: null }];
}, "Binding TabView to a TabEntry with null view should throw."); }, "Binding TabView to a TabViewItem with null view should throw.");
}); });
} }

View File

@ -3,8 +3,8 @@
xmlns:customControls2="app/xml-declaration/mymodulewithxml"> xmlns:customControls2="app/xml-declaration/mymodulewithxml">
<TabView> <TabView>
<TabView.items> <TabView.items>
<TabEntry title="Tab 1"> <TabViewItem title="Tab 1">
<TabEntry.view> <TabViewItem.view>
<StackLayout> <StackLayout>
<SegmentedBar selectedIndex="1" style="background-color: red; color: white" selectedBackgroundColor="green"> <SegmentedBar selectedIndex="1" style="background-color: red; color: white" selectedBackgroundColor="green">
@ -38,25 +38,25 @@
<Button text="This is Button!" tap="buttonTap" /> <Button text="This is Button!" tap="buttonTap" />
<customControls:MyControl /> <customControls:MyControl />
</StackLayout> </StackLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
<TabEntry title="Tab 2"> <TabViewItem title="Tab 2">
<TabEntry.view> <TabViewItem.view>
<StackLayout> <StackLayout>
<customControls2:MyControl /> <customControls2:MyControl />
<Label text="This is Label in Tab 2" /> <Label text="This is Label in Tab 2" />
</StackLayout> </StackLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
<TabEntry title="Tab 3"> <TabViewItem title="Tab 3">
<TabEntry.view> <TabViewItem.view>
<GridLayout columns="50, auto, *" rows="50, auto, *"> <GridLayout columns="50, auto, *" rows="50, auto, *">
<Label text="This is Label in Tab 3" row="0" /> <Label text="This is Label in Tab 3" row="0" />
<Label text="This is second Label in Tab 3" row="1" /> <Label text="This is second Label in Tab 3" row="1" />
<customControls:MyControl /> <customControls:MyControl />
</GridLayout> </GridLayout>
</TabEntry.view> </TabViewItem.view>
</TabEntry> </TabViewItem>
</TabView.items> </TabView.items>
</TabView> </TabView>
</Page> </Page>

View File

@ -23,7 +23,7 @@ var MODULES = {
"SearchBar": "ui/search-bar", "SearchBar": "ui/search-bar",
"SlideOut": "ui/slide-out", "SlideOut": "ui/slide-out",
"TabView": "ui/tab-view", "TabView": "ui/tab-view",
"TabEntry": "ui/tab-view", "TabViewItem": "ui/tab-view",
"TextField": "ui/text-field", "TextField": "ui/text-field",
"TextView": "ui/text-view", "TextView": "ui/text-view",
"FormattedString": "text/formatted-string", "FormattedString": "text/formatted-string",

View File

@ -49,10 +49,10 @@ export class TabView extends view.View implements definition.TabView, view.AddAr
} }
} }
get items(): Array<definition.TabEntry> { get items(): Array<definition.TabViewItem> {
return this._getValue(TabView.itemsProperty); return this._getValue(TabView.itemsProperty);
} }
set items(value: Array<definition.TabEntry>) { set items(value: Array<definition.TabViewItem>) {
this._setValue(TabView.itemsProperty, value); this._setValue(TabView.itemsProperty, value);
} }
@ -84,24 +84,24 @@ export class TabView extends view.View implements definition.TabView, view.AddAr
} }
} }
public _removeTabs(oldItems: Array<definition.TabEntry>) { public _removeTabs(oldItems: Array<definition.TabViewItem>) {
// //
} }
public _addTabs(newItems: Array<definition.TabEntry>) { public _addTabs(newItems: Array<definition.TabViewItem>) {
// Validate that all items are ok before the native _addTabs code runs. // Validate that all items are ok before the native _addTabs code runs.
var i: number; var i: number;
var length = newItems.length; var length = newItems.length;
var newItem: definition.TabEntry; var newItem: definition.TabViewItem;
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
newItem = newItems[i]; newItem = newItems[i];
if (!newItem) { if (!newItem) {
throw new Error("TabEntry at index " + i + " is undefined."); throw new Error("TabViewItem at index " + i + " is undefined.");
} }
if (!newItem.view) { if (!newItem.view) {
throw new Error("TabEntry at index " + i + " does not have a view."); throw new Error("TabViewItem at index " + i + " does not have a view.");
} }
} }
} }
@ -163,7 +163,7 @@ export class TabView extends view.View implements definition.TabView, view.AddAr
var i; var i;
var length = _items.length; var length = _items.length;
var item: definition.TabEntry; var item: definition.TabViewItem;
var retVal: boolean; var retVal: boolean;
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {

View File

@ -326,7 +326,7 @@ export class TabView extends common.TabView {
} }
} }
public _addTabs(newItems: Array<definition.TabEntry>) { public _addTabs(newItems: Array<definition.TabViewItem>) {
trace.write("TabView._addTabs(" + newItems + ");", common.traceCategory); trace.write("TabView._addTabs(" + newItems + ");", common.traceCategory);
super._addTabs(newItems); super._addTabs(newItems);
@ -351,7 +351,7 @@ export class TabView extends common.TabView {
// TODO: Where will be the support for more ActionBar settings like Title, Navigation buttons, etc.? // TODO: Where will be the support for more ActionBar settings like Title, Navigation buttons, etc.?
var i: number = 0; var i: number = 0;
var length = newItems.length; var length = newItems.length;
var item: definition.TabEntry; var item: definition.TabViewItem;
var tab: android.app.ActionBar.Tab; var tab: android.app.ActionBar.Tab;
for (i; i < length; i++) { for (i; i < length; i++) {
@ -367,7 +367,7 @@ export class TabView extends common.TabView {
} }
} }
public _removeTabs(oldItems: Array<definition.TabEntry>) { public _removeTabs(oldItems: Array<definition.TabViewItem>) {
trace.write("TabView._removeTabs(" + oldItems + ");", common.traceCategory); trace.write("TabView._removeTabs(" + oldItems + ");", common.traceCategory);
super._removeTabs(oldItems); super._removeTabs(oldItems);

View File

@ -8,14 +8,14 @@ declare module "ui/tab-view" {
/** /**
* Represents a tab view entry. * Represents a tab view entry.
*/ */
interface TabEntry { interface TabViewItem {
/** /**
* Gets or sets the title of the TabEntry. * Gets or sets the title of the TabViewItem.
*/ */
title: string; title: string;
/** /**
* Gets or sets the view of the TabEntry. * Gets or sets the view of the TabViewItem.
*/ */
view: view.View; view: view.View;
} }
@ -30,7 +30,7 @@ declare module "ui/tab-view" {
/** /**
* Gets or sets the items of the TabView. * Gets or sets the items of the TabView.
*/ */
items: Array<TabEntry>; items: Array<TabViewItem>;
/** /**
* Gets or sets the selectedIndex of the TabView. * Gets or sets the selectedIndex of the TabView.

View File

@ -117,13 +117,13 @@ export class TabView extends common.TabView {
} }
} }
public _removeTabs(oldItems: Array<definition.TabEntry>) { public _removeTabs(oldItems: Array<definition.TabViewItem>) {
trace.write("TabView._removeTabs(" + oldItems + ");", trace.categories.Debug); trace.write("TabView._removeTabs(" + oldItems + ");", trace.categories.Debug);
super._removeTabs(oldItems); super._removeTabs(oldItems);
var i: number; var i: number;
var length = oldItems.length; var length = oldItems.length;
var oldItem: definition.TabEntry; var oldItem: definition.TabViewItem;
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
oldItem = oldItems[i]; oldItem = oldItems[i];
this._removeView(oldItem.view); this._removeView(oldItem.view);
@ -132,13 +132,13 @@ export class TabView extends common.TabView {
this._ios.viewControllers = null; this._ios.viewControllers = null;
} }
public _addTabs(newItems: Array<definition.TabEntry>) { public _addTabs(newItems: Array<definition.TabViewItem>) {
trace.write("TabView._addTabs(" + newItems + ");", trace.categories.Debug); trace.write("TabView._addTabs(" + newItems + ");", trace.categories.Debug);
super._addTabs(newItems); super._addTabs(newItems);
var i: number; var i: number;
var length = newItems.length; var length = newItems.length;
var newItem: definition.TabEntry; var newItem: definition.TabViewItem;
var newControllers: NSMutableArray = NSMutableArray.alloc().initWithCapacity(length); var newControllers: NSMutableArray = NSMutableArray.alloc().initWithCapacity(length);
var newController: UIViewController; var newController: UIViewController;