From 2cabf02215a6a745da33ce0489ffbf644ce19c86 Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Fri, 18 Mar 2016 11:53:36 +0200 Subject: [PATCH] Fixed navigation events --- CrossPlatformModules.csproj | 8 + apps/navigation-events-demo/app.ts | 2 + apps/navigation-events-demo/package.json | 4 + apps/navigation-events-demo/page1.ts | 38 +++++ apps/navigation-events-demo/page1.xml | 10 ++ apps/navigation-events-demo/page2.ts | 36 +++++ apps/navigation-events-demo/page2.xml | 10 ++ apps/tests/ui/page/modal-page.ts | 18 +-- apps/tests/ui/page/page-tests-common.ts | 4 +- apps/tests/ui/page/page-tests.ios.ts | 115 +++++++++----- tsconfig.json | 3 + ui/core/view.d.ts | 2 +- ui/frame/frame-common.ts | 13 +- ui/frame/frame.ios.ts | 151 ++++-------------- ui/page/page-common.ts | 12 +- ui/page/page.android.ts | 1 + ui/page/page.d.ts | 18 +-- ui/page/page.ios.ts | 193 ++++++++++++++++++----- ui/transition/transition.android.ts | 6 +- 19 files changed, 408 insertions(+), 236 deletions(-) create mode 100644 apps/navigation-events-demo/app.ts create mode 100644 apps/navigation-events-demo/package.json create mode 100644 apps/navigation-events-demo/page1.ts create mode 100644 apps/navigation-events-demo/page1.xml create mode 100644 apps/navigation-events-demo/page2.ts create mode 100644 apps/navigation-events-demo/page2.xml diff --git a/CrossPlatformModules.csproj b/CrossPlatformModules.csproj index ce25ffaa0..45e475464 100644 --- a/CrossPlatformModules.csproj +++ b/CrossPlatformModules.csproj @@ -84,6 +84,9 @@ + + + @@ -146,6 +149,8 @@ Designer + + @@ -2096,6 +2101,9 @@ PreserveNewest + + PreserveNewest + diff --git a/apps/navigation-events-demo/app.ts b/apps/navigation-events-demo/app.ts new file mode 100644 index 000000000..fb9b7b219 --- /dev/null +++ b/apps/navigation-events-demo/app.ts @@ -0,0 +1,2 @@ +import application = require("application"); +application.start({ moduleName: "page1" }); diff --git a/apps/navigation-events-demo/package.json b/apps/navigation-events-demo/package.json new file mode 100644 index 000000000..d8e832397 --- /dev/null +++ b/apps/navigation-events-demo/package.json @@ -0,0 +1,4 @@ +{ + "name": "navigation-events-demo", + "main": "app.js" +} diff --git a/apps/navigation-events-demo/page1.ts b/apps/navigation-events-demo/page1.ts new file mode 100644 index 000000000..a2a15f913 --- /dev/null +++ b/apps/navigation-events-demo/page1.ts @@ -0,0 +1,38 @@ +import {Frame, topmost} from "ui/frame"; + +export function loaded(args) { + console.log("+++Page 1 - LOADED"); + console.log(`backStack.length=${topmost().backStack.length}`); +} + +export function unloaded(args) { + console.log("+++Page 1 - UNLOADED"); + console.log(`backStack.length=${topmost().backStack.length}`); +} + +export function navigatingTo(args) { + console.log(`+++Page 1 - navigatingTo(isBack: ${args.isBackNavigation})`); + console.log(`backStack.length=${topmost().backStack.length}`); +} + +export function navigatedTo(args) { + console.log(`+++Page 1 - navigatedTo(isBack: ${args.isBackNavigation})`); + console.log(`backStack.length=${topmost().backStack.length}`); +} + +export function navigatingFrom(args) { + console.log(`+++Page 1 - navigatingFrom(isBack: ${args.isBackNavigation})`); + console.log(`backStack.length=${topmost().backStack.length}`); +} + +export function navigatedFrom(args) { + console.log(`+++Page 1 - navigatedFrom(isBack: ${args.isBackNavigation})`); + console.log(`backStack.length=${topmost().backStack.length}`); +} + +export function onTap(args) { + let frame: Frame = args.object.page.frame; + frame.navigate({ + moduleName: "page2" + }); +} \ No newline at end of file diff --git a/apps/navigation-events-demo/page1.xml b/apps/navigation-events-demo/page1.xml new file mode 100644 index 000000000..07e42c2f8 --- /dev/null +++ b/apps/navigation-events-demo/page1.xml @@ -0,0 +1,10 @@ + + +