mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-03 03:30:04 +08:00
dialogs module added with alert implementation for iOS
This commit is contained in:
11
BCL.csproj
11
BCL.csproj
@ -216,6 +216,14 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<TypeScriptCompile Include="ui\core\view.ts" />
|
<TypeScriptCompile Include="ui\core\view.ts" />
|
||||||
<TypeScriptCompile Include="ui\core\observable.ts" />
|
<TypeScriptCompile Include="ui\core\observable.ts" />
|
||||||
|
<TypeScriptCompile Include="ui\dialogs\dialogs.android.ts">
|
||||||
|
<DependentUpon>dialogs.d.ts</DependentUpon>
|
||||||
|
</TypeScriptCompile>
|
||||||
|
<TypeScriptCompile Include="ui\dialogs\dialogs.d.ts" />
|
||||||
|
<TypeScriptCompile Include="ui\dialogs\dialogs.ios.ts">
|
||||||
|
<DependentUpon>dialogs.d.ts</DependentUpon>
|
||||||
|
</TypeScriptCompile>
|
||||||
|
<TypeScriptCompile Include="ui\dialogs\index.ts" />
|
||||||
<Content Include="_references.ts" />
|
<Content Include="_references.ts" />
|
||||||
<Content Include="image-source\Readme.md" />
|
<Content Include="image-source\Readme.md" />
|
||||||
<Content Include="http\Readme.md" />
|
<Content Include="http\Readme.md" />
|
||||||
@ -234,6 +242,9 @@
|
|||||||
<Folder Include="Deploy\Full\" />
|
<Folder Include="Deploy\Full\" />
|
||||||
<Folder Include="Deploy\xCode\" />
|
<Folder Include="Deploy\xCode\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="ui\dialogs\Readme.md" />
|
||||||
|
</ItemGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)' == 'Full'">
|
<PropertyGroup Condition="'$(Configuration)' == 'Full'">
|
||||||
<TypeScriptModuleKind>commonjs</TypeScriptModuleKind>
|
<TypeScriptModuleKind>commonjs</TypeScriptModuleKind>
|
||||||
<TypeScriptRemoveComments>True</TypeScriptRemoveComments>
|
<TypeScriptRemoveComments>True</TypeScriptRemoveComments>
|
||||||
|
|||||||
1
ui/dialogs/Readme.md
Normal file
1
ui/dialogs/Readme.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
Dialogs module.
|
||||||
15
ui/dialogs/dialogs.android.ts
Normal file
15
ui/dialogs/dialogs.android.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
/**
|
||||||
|
* Android specific dialogs functions implementation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export function alert(message: string): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export function confirm(message: string): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export function prompt(text: string, defaultText?: string): void {
|
||||||
|
|
||||||
|
}
|
||||||
47
ui/dialogs/dialogs.d.ts
vendored
Normal file
47
ui/dialogs/dialogs.d.ts
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
declare module "dialogs" {
|
||||||
|
import promises = require("promises");
|
||||||
|
/**
|
||||||
|
* The alert() method displays an alert box with a specified message.
|
||||||
|
* @param message Specifies the text to display in the alert box.
|
||||||
|
*/
|
||||||
|
function alert(message: string): promises.Promise<any>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The alert() method displays an alert box with a specified options.
|
||||||
|
* @param options Specifies the options for the alert box.
|
||||||
|
*/
|
||||||
|
function alert(options: AlertOptions): promises.Promise<any>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The confirm() method displays a dialog box with a specified message, along with an OK and a Cancel button.
|
||||||
|
* @param message Specifies the text to display in the confirm box.
|
||||||
|
*/
|
||||||
|
function confirm(message: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The prompt() method displays a dialog box that prompts the visitor for input.
|
||||||
|
* @param text The text to display in the dialog box.
|
||||||
|
* @param defaultText The default input value.
|
||||||
|
*/
|
||||||
|
function prompt(text: string, defaultText?: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides options for the alert.
|
||||||
|
*/
|
||||||
|
interface AlertOptions {
|
||||||
|
/**
|
||||||
|
* Gets or sets the alert message.
|
||||||
|
*/
|
||||||
|
message: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets or sets the alert message.
|
||||||
|
*/
|
||||||
|
title?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets or sets the request headers in JSON format.
|
||||||
|
*/
|
||||||
|
buttonName?: any;
|
||||||
|
}
|
||||||
|
}
|
||||||
43
ui/dialogs/dialogs.ios.ts
Normal file
43
ui/dialogs/dialogs.ios.ts
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/**
|
||||||
|
* iOS specific dialogs functions implementation.
|
||||||
|
*/
|
||||||
|
import promises = require("promises");
|
||||||
|
|
||||||
|
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 = new UIKit.UIAlertView();
|
||||||
|
alert.title = options.title;
|
||||||
|
alert.message = options.message;
|
||||||
|
alert.addButtonWithTitle(options.buttonName);
|
||||||
|
|
||||||
|
var delegateType = Foundation.NSObject.extends({}, {}).implements({
|
||||||
|
protocol: "UIAlertViewDelegate",
|
||||||
|
implementation: {
|
||||||
|
alertViewClickedButtonAtIndex: function (view, index) {
|
||||||
|
d.resolve();
|
||||||
|
// Remove the local variable for the delegate.
|
||||||
|
delegate = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// Assign first to local variable, otherwise it will be garbage collected since delegate is weak reference.
|
||||||
|
var delegate = new delegateType();
|
||||||
|
alert.delegate = delegate;
|
||||||
|
|
||||||
|
alert.show();
|
||||||
|
} catch (ex) {
|
||||||
|
d.reject(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
return d.promise();
|
||||||
|
}
|
||||||
|
|
||||||
|
export function confirm(message: string): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export function prompt(text: string, defaultText?: string): void {
|
||||||
|
|
||||||
|
}
|
||||||
2
ui/dialogs/index.ts
Normal file
2
ui/dialogs/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
declare var module, require;
|
||||||
|
module.exports = require("ui/dialogs/dialogs");
|
||||||
Reference in New Issue
Block a user