From b0976bf986340066e531671b9b51042eef244509 Mon Sep 17 00:00:00 2001 From: Rossen Hristov Date: Fri, 15 Jan 2016 09:20:58 +0200 Subject: [PATCH] Resolved #811: Page Navigation Transitions --- CrossPlatformModules.csproj | 19 +- apps/perf-tests/NavigationTest/app.ts | 16 +- .../NavigationTest/list-picker-page.ts | 21 + .../NavigationTest/list-picker-page.xml | 6 + apps/perf-tests/custom-transition.android.ts | 35 ++ apps/perf-tests/custom-transition.ios.ts | 26 ++ apps/perf-tests/nav-page.ts | 190 +++++++-- apps/tab-view-demo/mainPage.ts | 10 +- apps/tests/app/mainPage.ts | 1 + apps/tests/navigation-tests.ts | 113 ----- .../navigation/custom-transition.android.ts | 39 ++ .../tests/navigation/custom-transition.ios.ts | 30 ++ apps/tests/navigation/navigation-tests.ts | 183 ++++++++ apps/tests/testRunner.ts | 5 +- apps/tests/ui/helper.ts | 15 +- apps/tests/ui/page/page-tests-common.ts | 215 +++++----- apps/tests/ui/page/page-tests.ios.ts | 16 +- trace/trace.d.ts | 1 + trace/trace.ts | 3 +- tsconfig.json | 15 +- ui/animation/animation-common.ts | 6 +- ui/animation/animation.android.ts | 46 +- ui/animation/animation.d.ts | 7 +- ui/animation/animation.ios.ts | 40 +- ui/core/view-common.ts | 7 +- ui/frame/frame-common.ts | 35 +- ui/frame/frame.android.ts | 248 ++++++----- ui/frame/frame.d.ts | 36 ++ ui/frame/frame.ios.ts | 275 ++++++++++-- ui/page/page.android.ts | 6 +- ui/page/page.ios.ts | 22 - ui/transition/fade-transition.android.ts | 29 ++ ui/transition/fade-transition.ios.ts | 25 ++ ui/transition/flip-transition.android.ts | 120 ++++++ ui/transition/package.json | 2 + ui/transition/slide-transition.android.ts | 116 +++++ ui/transition/slide-transition.ios.ts | 64 +++ ui/transition/transition.android.ts | 395 ++++++++++++++++++ ui/transition/transition.d.ts | 29 ++ ui/transition/transition.ios.ts | 115 +++++ ui/ui.d.ts | 1 + 41 files changed, 2090 insertions(+), 493 deletions(-) create mode 100644 apps/perf-tests/NavigationTest/list-picker-page.ts create mode 100644 apps/perf-tests/NavigationTest/list-picker-page.xml create mode 100644 apps/perf-tests/custom-transition.android.ts create mode 100644 apps/perf-tests/custom-transition.ios.ts delete mode 100644 apps/tests/navigation-tests.ts create mode 100644 apps/tests/navigation/custom-transition.android.ts create mode 100644 apps/tests/navigation/custom-transition.ios.ts create mode 100644 apps/tests/navigation/navigation-tests.ts create mode 100644 ui/transition/fade-transition.android.ts create mode 100644 ui/transition/fade-transition.ios.ts create mode 100644 ui/transition/flip-transition.android.ts create mode 100644 ui/transition/package.json create mode 100644 ui/transition/slide-transition.android.ts create mode 100644 ui/transition/slide-transition.ios.ts create mode 100644 ui/transition/transition.android.ts create mode 100644 ui/transition/transition.d.ts create mode 100644 ui/transition/transition.ios.ts diff --git a/CrossPlatformModules.csproj b/CrossPlatformModules.csproj index 3c8aa80a5..54b01ab88 100644 --- a/CrossPlatformModules.csproj +++ b/CrossPlatformModules.csproj @@ -83,7 +83,12 @@ data-binding.xml + + + + + modal-page.xml @@ -130,6 +135,7 @@ + @@ -175,7 +181,7 @@ - + page21.xml @@ -737,6 +743,14 @@ + + + + + + + + @@ -2093,6 +2107,9 @@ + + PreserveNewest + diff --git a/apps/perf-tests/NavigationTest/app.ts b/apps/perf-tests/NavigationTest/app.ts index 91949d903..00c39550d 100644 --- a/apps/perf-tests/NavigationTest/app.ts +++ b/apps/perf-tests/NavigationTest/app.ts @@ -4,13 +4,23 @@ import navPageModule = require("../nav-page"); import trace = require("trace"); trace.enable(); trace.setCategories(trace.categories.concat( - trace.categories.NativeLifecycle - , trace.categories.Navigation + trace.categories.NativeLifecycle, + trace.categories.Navigation, + //trace.categories.Animation, + trace.categories.Transition )); application.mainEntry = { create: function () { - return new navPageModule.NavPage(0); + return new navPageModule.NavPage({ + index: 0, + backStackVisible: true, + clearHistory: false, + animated: true, + transition: 0, + curve: 0, + duration: 0, + }); } //backstackVisible: false, //clearHistory: true diff --git a/apps/perf-tests/NavigationTest/list-picker-page.ts b/apps/perf-tests/NavigationTest/list-picker-page.ts new file mode 100644 index 000000000..0c93c1bf6 --- /dev/null +++ b/apps/perf-tests/NavigationTest/list-picker-page.ts @@ -0,0 +1,21 @@ +import {Page, ShownModallyData, ListPicker} from "ui"; + +var closeCallback: Function; +var page: Page; +var listPicker: ListPicker; + +export function onLoaded(args) { + page = args.object; + listPicker = page.getViewById("listPicker"); +} + +export function onShownModally(args) { + closeCallback = args.closeCallback; + + listPicker.items = args.context.items; + listPicker.selectedIndex = args.context.selectedIndex || 0; +} + +export function onButtonTap() { + closeCallback(listPicker.selectedIndex); +} \ No newline at end of file diff --git a/apps/perf-tests/NavigationTest/list-picker-page.xml b/apps/perf-tests/NavigationTest/list-picker-page.xml new file mode 100644 index 000000000..27cdc8b69 --- /dev/null +++ b/apps/perf-tests/NavigationTest/list-picker-page.xml @@ -0,0 +1,6 @@ + + + +