mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
feat: decimal keyboard
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user