diff --git a/apps/modal-views-demo/app.ts b/apps/modal-views-demo/app.ts index e29b44a65..8c0658fa1 100644 --- a/apps/modal-views-demo/app.ts +++ b/apps/modal-views-demo/app.ts @@ -3,7 +3,8 @@ application.mainModule = "main-page"; import trace = require("trace"); trace.enable(); trace.setCategories(trace.categories.concat( - trace.categories.Layout, - "LayoutRootView.iOS" + trace.categories.Navigation + //trace.categories.Layout, + //"LayoutRootView.iOS" )); application.start(); diff --git a/apps/modal-views-demo/login-page.ts b/apps/modal-views-demo/login-page.ts index a7d6c9345..05435d74e 100644 --- a/apps/modal-views-demo/login-page.ts +++ b/apps/modal-views-demo/login-page.ts @@ -3,7 +3,6 @@ import pages = require("ui/page"); import textField = require("ui/text-field"); import frame = require("ui/frame"); -var context: any; var closeCallback: Function; var page: pages.Page; @@ -11,8 +10,8 @@ var usernameTextField: textField.TextField; var passwordTextField: textField.TextField; export function onShownModally(args: pages.ShownModallyData) { - console.log("login-page.onShownModally, context: " + args.context); - context = args.context; + console.log(">>> login-page.onShownModally, context: " + args.context); + closeCallback = args.closeCallback; var modalPage = args.object; @@ -21,18 +20,40 @@ export function onShownModally(args: pages.ShownModallyData) { } } +export function onNavigatingTo(args: observable.EventData) { + console.log(">>> login-page.onNavigatingTo"); +} + export function onLoaded(args: observable.EventData) { - console.log("login-page.onLoaded"); + console.log(">>> login-page.onLoaded"); page = args.object; usernameTextField = page.getViewById("username"); passwordTextField = page.getViewById("password"); } +export function onNavigatedTo(args: pages.NavigatedData) { + console.log(">>> login-page.onNavigatedTo, context: " + args.context); +} + +export function onNavigatingFrom(args: observable.EventData) { + console.log(">>> login-page.onNavigatingFrom"); +} + +export function onNavigatedFrom(args: observable.EventData) { + console.log(">>> login-page.onNavigatedFrom"); +} + export function onUnloaded() { - console.log("login-page.onUnloaded"); + console.log(">>> login-page.onUnloaded"); } export function onLoginButtonTap() { - console.log("login-page.onLoginButtonTap"); - closeCallback(usernameTextField.text, passwordTextField.text); + console.log(">>> login-page.onLoginButtonTap"); + + if (closeCallback) { + closeCallback(usernameTextField.text, passwordTextField.text); + } + else { + frame.topmost().goBack(); + } } \ No newline at end of file diff --git a/apps/modal-views-demo/login-page.xml b/apps/modal-views-demo/login-page.xml index 745e7e296..9d02d64d8 100644 --- a/apps/modal-views-demo/login-page.xml +++ b/apps/modal-views-demo/login-page.xml @@ -1,4 +1,12 @@ - + diff --git a/apps/modal-views-demo/main-page.ts b/apps/modal-views-demo/main-page.ts index d1e154697..a3e1f46c6 100644 --- a/apps/modal-views-demo/main-page.ts +++ b/apps/modal-views-demo/main-page.ts @@ -6,8 +6,14 @@ import frame = require("ui/frame"); var page: pages.Page; var label: labelModule.Label; +export function onNavigatingTo(args: observable.EventData) { + console.log(">>> main-page.onNavigatingTo"); + //console.trace(); +} + export function onLoaded(args: observable.EventData) { - console.log("main-page.onLoaded"); + console.log(">>> main-page.onLoaded"); + //console.trace(); if (args.object !== frame.topmost().currentPage) { throw new Error("args.object must equal frame.topmost().currentPage on page.loaded"); } @@ -19,12 +25,38 @@ export function onLoaded(args: observable.EventData) { } export function onNavigatedTo(args: observable.EventData) { - console.log("main-page.onNavigatedTo"); + console.log(">>> main-page.onNavigatedTo"); + //console.trace(); +} + +export function onNavigatingFrom(args: observable.EventData) { + console.log(">>> main-page.onNavigatingFrom"); +} + +export function onNavigatedFrom(args: observable.EventData) { + console.log(">>> main-page.onNavigatedFrom"); +} + +export function onUnloaded(args: observable.EventData) { + console.log(">>> main-page.onUnloaded"); } export function onTap(args: observable.EventData) { - var fullscreen = (args.object).text.indexOf("(full-screen)") !== -1; - page.showModal("./modal-views-demo/login-page", "some custom context", function (username: string, password: string) { + if ((args.object).text.indexOf("(navigate)") !== -1) { + var entry: frame.NavigationEntry = { + moduleName: "./login-page", + context: "Context from navigate" + }; + frame.topmost().navigate(entry); + } + else { + var fullscreen = (args.object).text.indexOf("(full-screen)") !== -1; + showModal(fullscreen); + } +} + +function showModal(fullscreen?: boolean) { + page.showModal("./modal-views-demo/login-page", "Context from showModal", function (username: string, password: string) { console.log(username + "/" + password); label.text = username + "/" + password; }, fullscreen); diff --git a/apps/modal-views-demo/main-page.xml b/apps/modal-views-demo/main-page.xml index f2b105846..ac0460072 100644 --- a/apps/modal-views-demo/main-page.xml +++ b/apps/modal-views-demo/main-page.xml @@ -1,7 +1,14 @@ - +