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();