mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
278 lines
9.1 KiB
TypeScript
278 lines
9.1 KiB
TypeScript
import * as dialogs from "tns-core-modules/ui/dialogs";
|
|
import * as observable from "tns-core-modules/data/observable";
|
|
|
|
var name = "Harold Finch";
|
|
|
|
export class SettingsViewModel extends observable.Observable {
|
|
|
|
get name(): string {
|
|
return name;
|
|
}
|
|
|
|
set name(value: string) {
|
|
name = value;
|
|
}
|
|
|
|
public actionName(args: observable.EventData) {
|
|
dialogs.action({
|
|
message: "Change the name?",
|
|
cancelButtonText: "Close",
|
|
actions: ["Yes", "No"]
|
|
}).then((actionResult) => {
|
|
console.log("### Result: " + actionResult);
|
|
if (actionResult === "Yes") {
|
|
this.set("name", "John Reese");
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public alertName(args: observable.EventData) {
|
|
dialogs.alert({
|
|
title: "Name",
|
|
message: "The name will change.",
|
|
okButtonText: "OK"
|
|
}).then((alertResult) => {
|
|
console.log("### Result: " + alertResult);
|
|
this.set("name", "John Reese");
|
|
});
|
|
}
|
|
|
|
public confirmName(args: observable.EventData) {
|
|
dialogs.confirm({
|
|
title: "Name",
|
|
message: "Do you want to change the name?",
|
|
cancelButtonText: "No",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "Yes"
|
|
}).then((confirmResult) => {
|
|
console.log("### Result: " + confirmResult);
|
|
if (confirmResult) {
|
|
this.set("name", "John Reese");
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public loginName(args: observable.EventData) {
|
|
dialogs.login({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
userName: "John",
|
|
password: "Reese"
|
|
}).then((loginResult) => {
|
|
console.log("### Result: " + loginResult.result + ", UserName: " + loginResult.userName + ", Password: " + loginResult.password);
|
|
if (loginResult.result) {
|
|
this.set("name", loginResult.userName + " " + loginResult.password);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptText(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
defaultText: "John Reese",
|
|
inputType: dialogs.inputType.text
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptPass(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
defaultText: "John Reese",
|
|
inputType: dialogs.inputType.password
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptEmail(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter email:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
defaultText: "john.reese@nativescript.org",
|
|
inputType: dialogs.inputType.email
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptNumber(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter a number:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
defaultText: "1234",
|
|
inputType: dialogs.inputType.number
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "1234");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptDecimal(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter a decimal number:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
defaultText: "13.50",
|
|
inputType: dialogs.inputType.decimal
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "13.50");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptPhone(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter a phone:",
|
|
cancelButtonText: "Cancel",
|
|
neutralButtonText: "Ignore",
|
|
okButtonText: "OK",
|
|
defaultText: "1234",
|
|
inputType: dialogs.inputType.phone
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "1234");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptCapitalizationNone(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
okButtonText: "OK",
|
|
inputType: dialogs.inputType.text,
|
|
capitalizationType: dialogs.capitalizationType.none
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptCapitalizationAll(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
okButtonText: "OK",
|
|
inputType: dialogs.inputType.text,
|
|
capitalizationType: dialogs.capitalizationType.all
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptCapitalizationSentences(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
okButtonText: "OK",
|
|
inputType: dialogs.inputType.text,
|
|
capitalizationType: dialogs.capitalizationType.sentences
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
|
|
public promptCapitalizationWords(args: observable.EventData) {
|
|
dialogs.prompt({
|
|
title: "Name",
|
|
message: "Enter name:",
|
|
cancelButtonText: "Cancel",
|
|
okButtonText: "OK",
|
|
inputType: dialogs.inputType.text,
|
|
capitalizationType: dialogs.capitalizationType.words
|
|
}).then((promptResult) => {
|
|
console.log("### Result: " + promptResult.result + ", Text: " + promptResult.text);
|
|
if (promptResult.result) {
|
|
this.set("name", promptResult.text);
|
|
}
|
|
else {
|
|
this.set("name", "Harold Finch");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
export var settingsViewModel = new SettingsViewModel();
|