Skip to content

Commit e84e5fb

Browse files
author
Nedyalko Nikolov
committed
Merge pull request NativeScript#750 from NativeScript/nnikolov/ActionBarItemNumberIssue
Fix for NativeScript#747 issue.
2 parents c71b606 + bfaeb3c commit e84e5fb

File tree

6 files changed

+44
-3
lines changed

6 files changed

+44
-3
lines changed

CrossPlatformModules.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
<TypeScriptCompile Include="apps\action-bar-demo\pages\data-binding.ts">
8080
<DependentUpon>data-binding.xml</DependentUpon>
8181
</TypeScriptCompile>
82+
<TypeScriptCompile Include="apps\tests\ui\action-bar\ActionBar_NumberAsText.ts" />
8283
<TypeScriptCompile Include="apps\tests\xml-declaration\custom-code-file.ts" />
8384
<TypeScriptCompile Include="apps\transforms\app.ts" />
8485
<TypeScriptCompile Include="apps\transforms\main-page.ts" />
@@ -111,6 +112,7 @@
111112
<Content Include="apps\action-bar-demo\pages\center-view-segmented.xml" />
112113
<Content Include="apps\action-bar-demo\pages\center-view.xml" />
113114
<Content Include="apps\action-bar-demo\pages\data-binding.xml" />
115+
<Content Include="apps\tests\ui\action-bar\ActionBar_NumberAsText.xml" />
114116
<Content Include="apps\tests\xml-declaration\custom-css-file.css" />
115117
<Content Include="apps\transforms\main-page.xml">
116118
<SubType>Designer</SubType>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import frame = require("ui/frame");
2+
3+
export function buttonTap(args) {
4+
frame.topmost().goBack();
5+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<Page>
2+
<Page.actionBar>
3+
<ActionBar title="Service Asset Maintenance">
4+
<ActionBar.actionItems>
5+
<ActionItem text="1" ios.position="right"/>
6+
</ActionBar.actionItems>
7+
</ActionBar>
8+
</Page.actionBar>
9+
<StackLayout>
10+
<Button text="Click me" />
11+
</StackLayout>
12+
</Page>

apps/tests/ui/action-bar/action-bar-tests-common.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import helper = require("../helper");
44
import builder = require("ui/builder");
55
import button = require("ui/button");
66
import PageModule = require("ui/page");
7+
import fs = require("file-system");
78

89
// <snippet module="ui/action-bar" title="ActionBar">
910
// # ActionBar
@@ -203,3 +204,24 @@ export function test_Setting_ActionItems_doesnt_thrown() {
203204
helper.goBack();
204205
}
205206
}
207+
208+
export function test_Setting_ActionItemsWithNumberAsText_doesnt_thrown() {
209+
210+
var gotException = false;
211+
212+
var moduleName = __dirname.substr(fs.knownFolders.currentApp().path.length);
213+
214+
try {
215+
helper.navigateToModule(moduleName + "/ActionBar_NumberAsText");
216+
}
217+
catch (e) {
218+
gotException = true;
219+
}
220+
221+
try {
222+
TKUnit.assert(!gotException, "Expected: false, Actual: " + gotException);
223+
}
224+
finally {
225+
helper.goBack();
226+
}
227+
}

ui/action-bar/action-bar.android.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ export class ActionBar extends common.ActionBar {
197197
menu.clear();
198198
for (var i = 0; i < items.length; i++) {
199199
var item = items[i];
200-
var menuItem = menu.add(android.view.Menu.NONE, i + ACTION_ITEM_ID_OFFSET, android.view.Menu.NONE, item.text);
200+
var menuItem = menu.add(android.view.Menu.NONE, i + ACTION_ITEM_ID_OFFSET, android.view.Menu.NONE, item.text + "");
201201
if (item.icon) {
202202
var drawableOrId = getDrawableOrResourceId(item.icon, this._appResources);
203203
if (drawableOrId) {

ui/action-bar/action-bar.ios.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export class ActionBar extends common.ActionBar {
5252
if (previousController) {
5353
if (this.navigationButton) {
5454
var tapHandler = TapBarItemHandlerImpl.new().initWithOwner(this.navigationButton);
55-
var barButtonItem = UIBarButtonItem.alloc().initWithTitleStyleTargetAction(this.navigationButton.text, UIBarButtonItemStyle.UIBarButtonItemStylePlain, tapHandler, "tap");
55+
var barButtonItem = UIBarButtonItem.alloc().initWithTitleStyleTargetAction(this.navigationButton.text + "", UIBarButtonItemStyle.UIBarButtonItemStylePlain, tapHandler, "tap");
5656
previousController.navigationItem.backBarButtonItem = barButtonItem;
5757
}
5858
else {
@@ -124,7 +124,7 @@ export class ActionBar extends common.ActionBar {
124124
}
125125
}
126126
else {
127-
barButtonItem = UIBarButtonItem.alloc().initWithTitleStyleTargetAction(item.text, UIBarButtonItemStyle.UIBarButtonItemStylePlain, tapHandler, "tap");
127+
barButtonItem = UIBarButtonItem.alloc().initWithTitleStyleTargetAction(item.text + "", UIBarButtonItemStyle.UIBarButtonItemStylePlain, tapHandler, "tap");
128128
}
129129

130130
return barButtonItem;

0 commit comments

Comments
 (0)