mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Resolved #142: Modal views.
This commit is contained in:
3
apps/modal-views-demo/app.ts
Normal file
3
apps/modal-views-demo/app.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import application = require("application");
|
||||
application.mainModule = "main-page";
|
||||
application.start();
|
||||
32
apps/modal-views-demo/login-page.ts
Normal file
32
apps/modal-views-demo/login-page.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import observable = require("data/observable");
|
||||
import pages = require("ui/page");
|
||||
import textField = require("ui/text-field");
|
||||
|
||||
var context: any;
|
||||
var closeCallback: Function;
|
||||
|
||||
var page: pages.Page;
|
||||
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;
|
||||
closeCallback = args.closeCallback;
|
||||
}
|
||||
|
||||
export function onLoaded(args: observable.EventData) {
|
||||
console.log("login-page.onLoaded");
|
||||
page = <pages.Page>args.object;
|
||||
usernameTextField = page.getViewById<textField.TextField>("username");
|
||||
passwordTextField = page.getViewById<textField.TextField>("password");
|
||||
}
|
||||
|
||||
export function onUnloaded() {
|
||||
console.log("login-page.onUnloaded");
|
||||
}
|
||||
|
||||
export function onLoginButtonTap() {
|
||||
console.log("login-page.onLoginButtonTap");
|
||||
closeCallback(usernameTextField.text, passwordTextField.text);
|
||||
}
|
||||
7
apps/modal-views-demo/login-page.xml
Normal file
7
apps/modal-views-demo/login-page.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<Page xmlns="http://www.nativescript.org/tns.xsd" shownModally="onShownModally" loaded="onLoaded" unloaded="onUnloaded">
|
||||
<StackLayout>
|
||||
<TextField hint="username" id="username"/>
|
||||
<TextField hint="password" id="password" secure="true"/>
|
||||
<Button text="Login" tap="onLoginButtonTap"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
18
apps/modal-views-demo/main-page.ts
Normal file
18
apps/modal-views-demo/main-page.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import observable = require("data/observable");
|
||||
import pages = require("ui/page");
|
||||
import labelModule = require("ui/label");
|
||||
|
||||
var page: pages.Page;
|
||||
var label: labelModule.Label;
|
||||
|
||||
export function pageLoaded(args: observable.EventData) {
|
||||
page = <pages.Page>args.object;
|
||||
label = page.getViewById<labelModule.Label>("label");
|
||||
}
|
||||
|
||||
export function onTap(args: observable.EventData) {
|
||||
page.showModal("./modal-views-demo/login-page", "some custom context", function(username: string, password: string) {
|
||||
console.log(username + "/" + password);
|
||||
label.text = username + "/" + password;
|
||||
});
|
||||
}
|
||||
6
apps/modal-views-demo/main-page.xml
Normal file
6
apps/modal-views-demo/main-page.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded" id="_mainPage">
|
||||
<StackLayout>
|
||||
<Button text="Login" tap="onTap" />
|
||||
<Label id="label" text="Anonymous"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
2
apps/modal-views-demo/package.json
Normal file
2
apps/modal-views-demo/package.json
Normal file
@@ -0,0 +1,2 @@
|
||||
{ "name" : "modal-views-demo",
|
||||
"main" : "app.js" }
|
||||
Reference in New Issue
Block a user