mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Fixed 'jurky` navigation between pages in iOS.
Fixed after application suspend/resume the UI was not restored. Fixed modal-views page
This commit is contained in:
@@ -1,67 +1,62 @@
|
||||
import observable = require("data/observable");
|
||||
import pages = require("ui/page");
|
||||
import labelModule = require("ui/label");
|
||||
import {EventData} from "data/observable";
|
||||
import {Page} from "ui/page";
|
||||
import {Label} from "ui/label";
|
||||
import frame = require("ui/frame");
|
||||
|
||||
var page: pages.Page;
|
||||
var label: labelModule.Label;
|
||||
|
||||
export function onNavigatingTo(args: observable.EventData) {
|
||||
export function onNavigatingTo(args: EventData) {
|
||||
console.log(">>> main-page.onNavigatingTo");
|
||||
//console.trace();
|
||||
}
|
||||
|
||||
export function onLoaded(args: observable.EventData) {
|
||||
export function onLoaded(args: EventData) {
|
||||
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");
|
||||
}
|
||||
page = <pages.Page>args.object;
|
||||
label = frame.topmost().getViewById<labelModule.Label>("label");
|
||||
if (!label) {
|
||||
throw new Error("Could not find `label`");
|
||||
}
|
||||
}
|
||||
|
||||
export function onNavigatedTo(args: observable.EventData) {
|
||||
export function onNavigatedTo(args: EventData) {
|
||||
console.log(">>> main-page.onNavigatedTo");
|
||||
//console.trace();
|
||||
}
|
||||
|
||||
export function onNavigatingFrom(args: observable.EventData) {
|
||||
export function onNavigatingFrom(args: EventData) {
|
||||
console.log(">>> main-page.onNavigatingFrom");
|
||||
}
|
||||
|
||||
export function onNavigatedFrom(args: observable.EventData) {
|
||||
export function onNavigatedFrom(args: EventData) {
|
||||
console.log(">>> main-page.onNavigatedFrom");
|
||||
}
|
||||
|
||||
export function onUnloaded(args: observable.EventData) {
|
||||
export function onUnloaded(args: EventData) {
|
||||
console.log(">>> main-page.onUnloaded");
|
||||
}
|
||||
|
||||
export function onTap(args: observable.EventData) {
|
||||
export function onTap(args: EventData) {
|
||||
let page = (<any>args.object).page;
|
||||
if ((<any>args.object).text.indexOf("(navigate)") !== -1) {
|
||||
var entry: frame.NavigationEntry = {
|
||||
moduleName: "./login-page",
|
||||
context: "Context from navigate"
|
||||
};
|
||||
frame.topmost().navigate(entry);
|
||||
|
||||
page.frame.navigate(entry);
|
||||
}
|
||||
else {
|
||||
var fullscreen = (<any>args.object).text.indexOf("(full-screen)") !== -1;
|
||||
showModal(fullscreen);
|
||||
showModal(page, fullscreen);
|
||||
}
|
||||
}
|
||||
|
||||
function showModal(fullscreen?: boolean) {
|
||||
function showModal(page: Page, 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;
|
||||
let label = page.getViewById<Label>("label");
|
||||
if (label) {
|
||||
label.text = username + "/" + password;
|
||||
}
|
||||
}, fullscreen);
|
||||
}
|
||||
|
||||
export function onCloseModal(args: observable.EventData) {
|
||||
export function onCloseModal(args: EventData) {
|
||||
let page = (<any>args.object).page;
|
||||
page.closeModal();
|
||||
}
|
||||
Reference in New Issue
Block a user