feat: decimal keyboard

This commit is contained in:
Martin Guillon
2021-06-08 18:13:43 +02:00
parent 97a94e82a8
commit d602d112c5
4 changed files with 11 additions and 2 deletions

View File

@@ -32,7 +32,7 @@ export namespace CoreTypes {
export type LengthType = 'auto' | dip | LengthDipUnit | LengthPxUnit;
export type PercentLengthType = 'auto' | dip | LengthDipUnit | LengthPxUnit | LengthPercentUnit;
export type KeyboardInputType = 'datetime' | 'phone' | 'number' | 'url' | 'email' | 'integer';
export type KeyboardInputType = 'datetime' | 'phone' | 'number' | 'url' | 'email' | 'integer' | 'decimal';
export module KeyboardType {
export const datetime = 'datetime';
export const phone = 'phone';
@@ -40,6 +40,7 @@ export namespace CoreTypes {
export const url = 'url';
export const email = 'email';
export const integer = 'integer';
export const decimal = 'decimal';
}
export type ReturnKeyButtonType = 'done' | 'next' | 'go' | 'search' | 'send';

View File

@@ -48,7 +48,7 @@ export const placeholderColorProperty = new CssProperty<Style, Color>({
});
placeholderColorProperty.register(Style);
const keyboardTypeConverter = makeParser<CoreTypes.KeyboardInputType>(makeValidator<CoreTypes.KeyboardInputType>(CoreTypes.KeyboardType.datetime, CoreTypes.KeyboardType.phone, CoreTypes.KeyboardType.number, CoreTypes.KeyboardType.url, CoreTypes.KeyboardType.email, CoreTypes.KeyboardType.integer), true);
const keyboardTypeConverter = makeParser<CoreTypes.KeyboardInputType>(makeValidator<CoreTypes.KeyboardInputType>(CoreTypes.KeyboardType.datetime, CoreTypes.KeyboardType.phone, CoreTypes.KeyboardType.number, CoreTypes.KeyboardType.url, CoreTypes.KeyboardType.email, CoreTypes.KeyboardType.integer, CoreTypes.KeyboardType.decimal), true);
export const keyboardTypeProperty = new Property<EditableTextBase, CoreTypes.KeyboardInputType>({ name: 'keyboardType', valueConverter: keyboardTypeConverter });
keyboardTypeProperty.register(EditableTextBase);

View File

@@ -280,6 +280,10 @@ export abstract class EditableTextBase extends EditableTextBaseCommon {
newInputType = android.text.InputType.TYPE_CLASS_NUMBER;
break;
case 'decimal':
newInputType = android.text.InputType.TYPE_CLASS_NUMBER | android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL;
break;
default:
const inputType = +value;
if (!isNaN(inputType)) {

View File

@@ -59,6 +59,10 @@ export abstract class EditableTextBase extends EditableTextBaseCommon {
newKeyboardType = UIKeyboardType.NumberPad;
break;
case 'decimal':
newKeyboardType = UIKeyboardType.DecimalPad;
break;
default:
const kt = +value;
if (!isNaN(kt)) {