mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Action bar progress
This commit is contained in:
@@ -6,38 +6,38 @@ import frame = require("ui/frame");
|
||||
export function createPage() {
|
||||
var page = new pageModule.Page();
|
||||
|
||||
var iconItem = new pageModule.MenuItem();
|
||||
iconItem.text = "TEST";
|
||||
//var iconItem = new pageModule.MenuItem();
|
||||
//iconItem.text = "TEST";
|
||||
|
||||
iconItem.icon = "~/app" + "/tests" + "/test-icon.png"; // use + to stop regex replace during build
|
||||
iconItem.on("tap", () => {
|
||||
console.log("Icon item tapped");
|
||||
});
|
||||
page.optionsMenu.addItem(iconItem);
|
||||
//iconItem.icon = "~/app" + "/tests" + "/test-icon.png"; // use + to stop regex replace during build
|
||||
//iconItem.on("tap", () => {
|
||||
// console.log("Icon item tapped");
|
||||
//});
|
||||
//page.optionsMenu.addItem(iconItem);
|
||||
|
||||
var textItem = new pageModule.MenuItem();
|
||||
textItem.text = "SAVE";
|
||||
textItem.on("tap", () => {
|
||||
console.log("Save item tapped");
|
||||
});
|
||||
page.optionsMenu.addItem(textItem);
|
||||
//var textItem = new pageModule.MenuItem();
|
||||
//textItem.text = "SAVE";
|
||||
//textItem.on("tap", () => {
|
||||
// console.log("Save item tapped");
|
||||
//});
|
||||
//page.optionsMenu.addItem(textItem);
|
||||
|
||||
var stackLayout = new stackModule.StackLayout();
|
||||
var count = 0;
|
||||
//var count = 0;
|
||||
var btn1 = new buttonModule.Button();
|
||||
btn1.text = "add item";
|
||||
btn1.on("tap", () => {
|
||||
console.log("adding menu item");
|
||||
//btn1.on("tap", () => {
|
||||
// console.log("adding menu item");
|
||||
|
||||
var newItem = new pageModule.MenuItem();
|
||||
var text = "item " + count;
|
||||
newItem.text = text
|
||||
newItem.on("tap", () => {
|
||||
console.log("ITEM [" + text + "] tapped");
|
||||
});
|
||||
page.optionsMenu.addItem(newItem);
|
||||
count++;
|
||||
});
|
||||
// var newItem = new pageModule.MenuItem();
|
||||
// var text = "item " + count;
|
||||
// newItem.text = text
|
||||
// newItem.on("tap", () => {
|
||||
// console.log("ITEM [" + text + "] tapped");
|
||||
// });
|
||||
// page.optionsMenu.addItem(newItem);
|
||||
// count++;
|
||||
//});
|
||||
|
||||
stackLayout.addChild(btn1);
|
||||
|
||||
|
||||
@@ -1,20 +1,36 @@
|
||||
import observable = require("data/observable");
|
||||
import action = require("ui/action-bar");
|
||||
|
||||
import pages = require("ui/page");
|
||||
|
||||
var currentPage:pages.Page;
|
||||
// Event handler for Page "loaded" event attached in main-page.xml
|
||||
export function pageLoaded(args: observable.EventData) {
|
||||
// Get the event sender
|
||||
var page = <pages.Page>args.object;
|
||||
|
||||
var textItem = new pages.MenuItem();
|
||||
currentPage = page;
|
||||
var textItem = new action.ActionItem();
|
||||
textItem.text = "from loaded";
|
||||
textItem.on("tap", () => {
|
||||
console.log("item added in page.loaded tapped!!!");
|
||||
});
|
||||
page.optionsMenu.addItem(textItem);
|
||||
page.actionBar.actionItems.addItem(textItem);
|
||||
}
|
||||
|
||||
export function optionTap(args) {
|
||||
console.log("item added form XML tapped!!!");
|
||||
}
|
||||
var i = 0;
|
||||
export function buttonTap(args: observable.EventData) {
|
||||
currentPage.actionBar.title = "hi " + i++;
|
||||
if (i % 3 === 0) {
|
||||
currentPage.actionBar.icon = "res://ic_test";
|
||||
}
|
||||
else if (i % 3 === 1) {
|
||||
currentPage.actionBar.icon = "~/test-icon.png";
|
||||
}
|
||||
else if (i % 3 === 2) {
|
||||
currentPage.actionBar.icon = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
<Page loaded="pageLoaded">
|
||||
<Page.optionsMenu>
|
||||
<MenuItem text="test" tap="optionTap" android.position="popup" />
|
||||
<MenuItem text="with icon" tap="optionTap" icon="~/app/test-icon.png" android.position="actionBar" />
|
||||
</Page.optionsMenu>
|
||||
<Page loaded="pageLoaded" title="MyPageTitle" icon="res://icon">
|
||||
|
||||
<StackLayout>
|
||||
<Button text="button" />
|
||||
<Button text="button" tap="buttonTap"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
@@ -28,6 +28,7 @@ import stackLayoutModule = require("ui/layouts/stack-layout");
|
||||
import helper = require("../helper");
|
||||
import view = require("ui/core/view");
|
||||
import builder = require("ui/builder");
|
||||
import actionBar = require("ui/action-bar");
|
||||
|
||||
export function addLabelToPage(page: PageModule.Page, text?: string) {
|
||||
var label = new LabelModule.Label();
|
||||
@@ -44,14 +45,14 @@ export function test_menuItem_inherit_bindingContext() {
|
||||
var pageFactory = function (): PageModule.Page {
|
||||
page = new PageModule.Page();
|
||||
page.bindingContext = context;
|
||||
var menuItem = new PageModule.MenuItem();
|
||||
var menuItem = new actionBar.ActionItem();
|
||||
|
||||
menuItem.bind({
|
||||
sourceProperty: "text",
|
||||
targetProperty: "text"
|
||||
});
|
||||
|
||||
page.optionsMenu.addItem(menuItem);
|
||||
page.actionBar.actionItems.addItem(menuItem);
|
||||
|
||||
label = new LabelModule.Label();
|
||||
label.text = "Text";
|
||||
@@ -62,7 +63,7 @@ export function test_menuItem_inherit_bindingContext() {
|
||||
helper.navigate(pageFactory);
|
||||
|
||||
try {
|
||||
TKUnit.assertEqual(page.optionsMenu.getItemAt(0).text, "item", "menuItem.text should equal to 'item'");
|
||||
TKUnit.assertEqual(page.actionBar.actionItems.getItemAt(0).text, "item", "menuItem.text should equal to 'item'");
|
||||
}
|
||||
finally {
|
||||
helper.goBack();
|
||||
@@ -70,15 +71,15 @@ export function test_menuItem_inherit_bindingContext() {
|
||||
}
|
||||
|
||||
export function test_menuItem_inherit_bindingContext_inXML() {
|
||||
var p = <PageModule.Page>builder.parse("<Page><Page.optionsMenu><MenuItem text=\"{{ myProp }} \" /></Page.optionsMenu></Page>");
|
||||
var p = <PageModule.Page>builder.parse("<Page><Page.actionItems><ActionItem text=\"{{ myProp }} \" /></Page.actionItems></Page>");
|
||||
p.bindingContext = { myProp: "success" };
|
||||
|
||||
var menuItem = p.optionsMenu.getItemAt(0);
|
||||
var menuItem = p.actionBar.actionItems.getItemAt(0);
|
||||
|
||||
TKUnit.assertEqual(menuItem.text, "success", "menuItem.text");
|
||||
};
|
||||
|
||||
export function test_Setting_OptionsMenu_doesnt_thrown() {
|
||||
export function test_Setting_ActionItems_doesnt_thrown() {
|
||||
|
||||
var page: PageModule.Page;
|
||||
var label: LabelModule.Label;
|
||||
@@ -86,9 +87,9 @@ export function test_Setting_OptionsMenu_doesnt_thrown() {
|
||||
|
||||
var pageFactory = function (): PageModule.Page {
|
||||
page = new PageModule.Page();
|
||||
var menuItem = new PageModule.MenuItem();
|
||||
var menuItem = new actionBar.ActionItem();
|
||||
menuItem.text = "Item";
|
||||
page.optionsMenu.addItem(menuItem);
|
||||
page.actionBar.actionItems.addItem(menuItem);
|
||||
|
||||
label = new LabelModule.Label();
|
||||
label.text = "Text";
|
||||
|
||||
@@ -4,6 +4,7 @@ import TKUnit = require("../../TKUnit");
|
||||
import LabelModule = require("ui/label");
|
||||
import helper = require("../helper");
|
||||
import view = require("ui/core/view");
|
||||
import actionBar = require("ui/action-bar");
|
||||
|
||||
declare var exports;
|
||||
require("utils/module-merge").merge(PageTestCommon, exports);
|
||||
@@ -41,9 +42,9 @@ export function test_NavBar_isVisible_when_MenuItems_areSet() {
|
||||
page = new PageModule.Page();
|
||||
page.on(PageModule.Page.navigatedToEvent, handler);
|
||||
|
||||
var mi = new PageModule.MenuItem();
|
||||
var mi = new actionBar.ActionItem();
|
||||
mi.text = "B";
|
||||
page.optionsMenu.addItem(mi);
|
||||
page.actionBar.actionItems.addItem(mi);
|
||||
label = new LabelModule.Label();
|
||||
label.text = "Text";
|
||||
page.content = label;
|
||||
@@ -67,10 +68,10 @@ export function test_NavBarItemsAreClearedFromNativeWhenClearedFromNativeScript(
|
||||
|
||||
var handler = function (data) {
|
||||
page.off(PageModule.Page.navigatedToEvent, handler);
|
||||
var menuItems = page.optionsMenu.getItems();
|
||||
var menuItems = page.actionBar.actionItems.getItems();
|
||||
var i;
|
||||
for (i = menuItems.length - 1; i >= 0; i--) {
|
||||
page.optionsMenu.removeItem(menuItems[i]);
|
||||
page.actionBar.actionItems.removeItem(menuItems[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,9 +79,9 @@ export function test_NavBarItemsAreClearedFromNativeWhenClearedFromNativeScript(
|
||||
page = new PageModule.Page();
|
||||
page.on(PageModule.Page.navigatedToEvent, handler);
|
||||
|
||||
var mi = new PageModule.MenuItem();
|
||||
var mi = new actionBar.ActionItem();
|
||||
mi.text = "B";
|
||||
page.optionsMenu.addItem(mi);
|
||||
page.actionBar.actionItems.addItem(mi);
|
||||
label = new LabelModule.Label();
|
||||
label.text = "Text";
|
||||
page.content = label;
|
||||
|
||||
Reference in New Issue
Block a user