feat: implement capitalization type option for prompt dialogs (#6325)

* feat: implement capitalization type option for prompt dialogs

Allow setting auto capitalization to "none", "all", "sentences" and "words".
This feature works on both Android and iOS.

* feat: add capitalization type examples to test page for dialogs
This commit is contained in:
Martin Hettiger
2018-10-05 16:15:54 +02:00
committed by Alexander Vakrilov
parent 1232d1edfd
commit ae6a661ecd
6 changed files with 169 additions and 2 deletions

View File

@ -8,5 +8,9 @@
<Button text="promptText" tap="{{ promptText }}" />
<Button text="promptPass" tap="{{ promptPass }}" />
<Button text="promptEmail" tap="{{ promptEmail }}" />
<Button text="promptCapitalizationNone" tap="{{ promptCapitalizationNone }}" />
<Button text="promptCapitalizationAll" tap="{{ promptCapitalizationAll }}" />
<Button text="promptCapitalizationSentences" tap="{{ promptCapitalizationSentences }}" />
<Button text="promptCapitalizationWords" tap="{{ promptCapitalizationWords }}" />
</StackLayout>
</Page>

View File

@ -137,5 +137,81 @@ export class SettingsViewModel extends observable.Observable {
}
});
}
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();