mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(ios): dialog handling with top view controller (#8609)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { Page, ShownModallyData } from "tns-core-modules/ui/page";
|
||||
import { EventData, fromObject } from "tns-core-modules/data/observable";
|
||||
import { alert } from "tns-core-modules/ui/dialogs";
|
||||
|
||||
export function onShowingModally(args: ShownModallyData) {
|
||||
console.log("login-page.onShowingModally, context: " + args.context);
|
||||
@@ -12,7 +13,19 @@ export function onShowingModally(args: ShownModallyData) {
|
||||
onLoginButtonTap: function () {
|
||||
console.log("login-page.onLoginButtonTap");
|
||||
args.closeCallback(this.username, this.password);
|
||||
}
|
||||
},
|
||||
showAlert: function () {
|
||||
alert("showing alert!");
|
||||
args.closeCallback();
|
||||
},
|
||||
openNestedModal: function () {
|
||||
page.showModal("modal-view/nested-modal", {
|
||||
context: "First",
|
||||
closeCallback: () => {
|
||||
console.log("login-page.openNestedModal");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -7,5 +7,7 @@
|
||||
<TextField hint="username" text="{{ username }}"/>
|
||||
<TextField hint="password" text="{{ password }}" secure="true"/>
|
||||
<Button text="Login" tap="{{ onLoginButtonTap }}"/>
|
||||
<Button text="Show Alert" tap="{{ showAlert }}"/>
|
||||
<Button text="Open Nested Modal" tap="{{ openNestedModal }}"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
|
||||
27
e2e/ui-tests-app/app/modal-view/nested-modal.ts
Normal file
27
e2e/ui-tests-app/app/modal-view/nested-modal.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { Page, ShownModallyData } from "tns-core-modules/ui/page";
|
||||
import { EventData, fromObject } from "tns-core-modules/data/observable";
|
||||
import { alert } from "tns-core-modules/ui/dialogs";
|
||||
|
||||
export function onShowingModally(args: ShownModallyData) {
|
||||
console.log("nested-modal.onShowingModally, context: " + args.context);
|
||||
const page = <Page>args.object;
|
||||
|
||||
page.bindingContext = fromObject({
|
||||
context: args.context,
|
||||
onTap: function () {
|
||||
alert("it works!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function onShownModally(args: ShownModallyData) {
|
||||
console.log("nested-modal.onShownModally, context: " + args.context);
|
||||
}
|
||||
|
||||
export function onLoaded(args: EventData) {
|
||||
console.log("nested-modal.onLoaded");
|
||||
}
|
||||
|
||||
export function onUnloaded() {
|
||||
console.log("nested-modal.onUnloaded");
|
||||
}
|
||||
9
e2e/ui-tests-app/app/modal-view/nested-modal.xml
Normal file
9
e2e/ui-tests-app/app/modal-view/nested-modal.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
|
||||
showingModally="onShowingModally"
|
||||
shownModally="onShownModally"
|
||||
loaded="onLoaded" unloaded="onUnloaded" backgroundColor="Red">
|
||||
<StackLayout backgroundColor="PaleGreen" margin="10">
|
||||
<Label text="{{ context }}"/>
|
||||
<Button text="Show Alert" tap="{{ onTap }}"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
Reference in New Issue
Block a user