mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
44 lines
2.3 KiB
TypeScript
44 lines
2.3 KiB
TypeScript
import { EditableTextBase as EditableTextBaseDefinition } from "ui/editable-text-base";
|
|
import { Property, CssProperty } from "ui/core/properties";
|
|
import { TextBase } from "ui/text-base";
|
|
import { Style } from "ui/styling/style";
|
|
import { Color } from "color";
|
|
|
|
export * from "ui/text-base";
|
|
|
|
export abstract class EditableTextBase extends TextBase implements EditableTextBaseDefinition {
|
|
|
|
public keyboardType: "datetime" | "phone" | "number" | "url" | "email";
|
|
public returnKeyType: "done" | "next" | "go" | "search" | "send";
|
|
public updateTextTrigger: "focusLost" | "textChanged";
|
|
public autocapitalizationType: "none" | "words" | "sentences" | "allCharacters";
|
|
public editable: boolean;
|
|
public autocorrect: boolean;
|
|
public hint: string;
|
|
|
|
public abstract dismissSoftInput();
|
|
}
|
|
|
|
export let placeholderColorProperty = new CssProperty<Style, Color>({ name: "placeholderColor", cssName: "placeholder-color", equalityComparer: Color.equals, valueConverter: (v: string) => new Color(v) });
|
|
placeholderColorProperty.register(Style);
|
|
|
|
export let keyboardTypeProperty = new Property<EditableTextBase, "datetime" | "phone" | "number" | "url" | "email">({ name: "keyboardType" });
|
|
keyboardTypeProperty.register(EditableTextBase);
|
|
|
|
export let returnKeyTypeProperty = new Property<EditableTextBase, "done" | "next" | "go" | "search" | "send">({ name: "returnKeyType" });
|
|
returnKeyTypeProperty.register(EditableTextBase);
|
|
|
|
export let editableProperty = new Property<EditableTextBase, boolean>({ name: "editable", defaultValue: true });
|
|
editableProperty.register(EditableTextBase);
|
|
|
|
export let updateTextTriggerProperty = new Property<EditableTextBase, "focusLost" | "textChanged">({ name: "updateTextTrigger", defaultValue: "textChanged" });
|
|
updateTextTriggerProperty.register(EditableTextBase);
|
|
|
|
export let autocapitalizationTypeProperty = new Property<EditableTextBase, "none" | "words" | "sentences" | "allCharacters">({ name: "autocapitalizationType", defaultValue: "sentences" });
|
|
autocapitalizationTypeProperty.register(EditableTextBase);
|
|
|
|
export let autocorrectProperty = new Property<EditableTextBase, boolean>({ name: "autocorrect" });
|
|
autocorrectProperty.register(EditableTextBase);
|
|
|
|
export let hintProperty = new Property<EditableTextBase, string>({ name: "hint", defaultValue: "" });
|
|
hintProperty.register(EditableTextBase); |