Files
NativeScript/apps/action-bar-demo/pages/navigation-button.ts
Hristo Deshev 141668bb05 Fix applying app CSS to template children when using custom pages.
No longer using getAncestor(view, "Page") to look for a pagey parent.
Replaced that with a View.page property. Removed getAncestor as its type
name-based implementation seems unreliable.
2015-08-07 18:26:21 +03:00

49 lines
1.3 KiB
TypeScript

import observable = require("data/observable");
import pages = require("ui/page");
import action = require("ui/action-bar");
import view = require("ui/core/view");
var i = 0;
export function buttonTap(args: observable.EventData) {
var page = <pages.Page>(<view.View>args.object).page;
var navBtn = new action.NavigationButton();
navBtn.text = "nav " + i++;
if (i % 3 === 0) {
navBtn.icon = "res://ic_test";
}
else if (i % 3 === 1) {
navBtn.icon = "~/test-icon.png";
}
else if (i % 3 === 2) {
// no icon
}
navBtn.on("tap", navTap);
page.actionBar.navigationButton = navBtn;
}
var j = 0;
export function visibilityTap(args: observable.EventData) {
var page = <pages.Page>(<view.View>args.object).page;
if (page.actionBar.android) {
if (j % 3 === 0) {
page.actionBar.android.iconVisibility = "always";
}
else if (j % 3 === 1) {
page.actionBar.android.iconVisibility = "never";
}
else if (j % 3 === 2) {
page.actionBar.android.iconVisibility = "auto";
}
j++;
console.log("Visibility changed to: " + page.actionBar.android.iconVisibility);
}
}
export function navTap(args: observable.EventData) {
console.log("navigation button tapped");
}