mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
initial alert dialogs implementation for Android
This commit is contained in:
@ -1,15 +1,67 @@
|
||||
/**
|
||||
* Android specific dialogs functions implementation.
|
||||
*/
|
||||
import promises = require("promises");
|
||||
import dialogs = require("ui/dialogs");
|
||||
import appmodule = require("application");
|
||||
|
||||
export function alert(message: string): void {
|
||||
|
||||
function createAlertDialog(options: dialogs.DialogOptions): android.app.AlertDialog.Builder {
|
||||
var alert = new android.app.AlertDialog.Builder(appmodule.android.currentActivity);
|
||||
alert.setTitle(options.title);
|
||||
alert.setMessage(options.message);
|
||||
return alert;
|
||||
}
|
||||
|
||||
export function confirm(message: string): void {
|
||||
|
||||
export function alert(arg: any): promises.Promise<any> {
|
||||
var d = promises.defer<any>();
|
||||
try {
|
||||
var options = typeof arg === "string" ? { message: arg, title: "Alert", buttonName: "OK" } : arg
|
||||
|
||||
var alert = createAlertDialog(options);
|
||||
/*
|
||||
alert.setPositiveButton(options.buttonName, new android.content.DialogInterface.OnClickListener({
|
||||
onClick: function (dialog: android.content.DialogInterface, id: number) {
|
||||
dialog.cancel();
|
||||
}
|
||||
}));
|
||||
*/
|
||||
alert.show();
|
||||
|
||||
} catch (ex) {
|
||||
d.reject(ex);
|
||||
}
|
||||
|
||||
return d.promise();
|
||||
}
|
||||
|
||||
export function prompt(text: string, defaultText?: string): void {
|
||||
|
||||
export function confirm(arg: any): promises.Promise<boolean> {
|
||||
var d = promises.defer<boolean>();
|
||||
try {
|
||||
var options = typeof arg === "string" ? { message: arg, title: "Alert", okButtonName: "OK", cancelButtonName: "Cancel" } : arg
|
||||
|
||||
var alert = createAlertDialog(options);
|
||||
|
||||
alert.show();
|
||||
|
||||
} catch (ex) {
|
||||
d.reject(ex);
|
||||
}
|
||||
|
||||
return d.promise();
|
||||
}
|
||||
|
||||
export function prompt(arg: any): promises.Promise<string> {
|
||||
var d = promises.defer<string>();
|
||||
try {
|
||||
var options = typeof arg === "string" ? { message: arg, title: "Alert", okButtonName: "OK", cancelButtonName: "Cancel" } : arg
|
||||
|
||||
var alert = createAlertDialog(options);
|
||||
|
||||
alert.show();
|
||||
|
||||
} catch (ex) {
|
||||
d.reject(ex);
|
||||
}
|
||||
|
||||
return d.promise();
|
||||
}
|
2
ui/dialogs/dialogs.d.ts
vendored
2
ui/dialogs/dialogs.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
declare module "dialogs" {
|
||||
declare module "ui/dialogs" {
|
||||
import promises = require("promises");
|
||||
/**
|
||||
* The alert() method displays an alert box with a specified message.
|
||||
|
@ -2,8 +2,15 @@
|
||||
* iOS specific dialogs functions implementation.
|
||||
*/
|
||||
import promises = require("promises");
|
||||
import dialogs = require("ui/dialogs");
|
||||
|
||||
function createUIAlertView(options) {
|
||||
var UIALERTVIEWDELEGATE = "UIAlertViewDelegate",
|
||||
STRING = "string",
|
||||
ALERT = "Alert",
|
||||
OK = "OK",
|
||||
CANCEL = "Cancel";
|
||||
|
||||
function createUIAlertView(options: dialogs.DialogOptions): UIKit.UIAlertView {
|
||||
var alert = new UIKit.UIAlertView();
|
||||
alert.title = options.title;
|
||||
alert.message = options.message;
|
||||
@ -12,7 +19,7 @@ function createUIAlertView(options) {
|
||||
|
||||
function createDelegate(callback) {
|
||||
var delegateType = Foundation.NSObject.extends({}, {}).implements({
|
||||
protocol: "UIAlertViewDelegate",
|
||||
protocol: UIALERTVIEWDELEGATE,
|
||||
implementation: {
|
||||
alertViewClickedButtonAtIndex: function (view, index) {
|
||||
callback(view, index);
|
||||
@ -25,7 +32,7 @@ function createDelegate(callback) {
|
||||
export function alert(arg: any): promises.Promise<any> {
|
||||
var d = promises.defer<any>();
|
||||
try {
|
||||
var options = typeof arg === "string" ? { message: arg, title: "Alert", buttonName: "OK" } : arg
|
||||
var options = typeof arg === STRING ? { message: arg, title: ALERT, buttonName: OK } : arg
|
||||
|
||||
var alert = createUIAlertView(options);
|
||||
|
||||
@ -51,7 +58,7 @@ export function alert(arg: any): promises.Promise<any> {
|
||||
export function confirm(arg: any): promises.Promise<boolean> {
|
||||
var d = promises.defer<boolean>();
|
||||
try {
|
||||
var options = typeof arg === "string" ? { message: arg, title: "Alert", okButtonName: "OK", cancelButtonName: "Cancel" } : arg
|
||||
var options = typeof arg === STRING ? { message: arg, title: ALERT, okButtonName: OK, cancelButtonName: CANCEL } : arg
|
||||
|
||||
var alert = createUIAlertView(options);
|
||||
|
||||
@ -79,7 +86,7 @@ export function confirm(arg: any): promises.Promise<boolean> {
|
||||
export function prompt(arg: any): promises.Promise<string> {
|
||||
var d = promises.defer<string>();
|
||||
try {
|
||||
var options = typeof arg === "string" ? { message: arg, title: "Alert", okButtonName: "OK", cancelButtonName: "Cancel" } : arg
|
||||
var options = typeof arg === STRING ? { message: arg, title: ALERT, okButtonName: OK, cancelButtonName: CANCEL } : arg
|
||||
|
||||
var alert = createUIAlertView(options);
|
||||
alert.alertViewStyle = UIKit.UIAlertViewStyle.UIAlertViewStylePlainTextInput;
|
||||
|
Reference in New Issue
Block a user