react-native-typerich 0.1.14 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/typerich/TypeRichTextInputView.kt +29 -3
- package/android/src/main/java/com/typerich/TypeRichTextInputViewManager.kt +10 -1
- package/lib/module/TypeRichTextInput.js +7 -2
- package/lib/module/TypeRichTextInput.js.map +1 -1
- package/lib/module/TypeRichTextInputNativeComponent.ts +10 -2
- package/lib/typescript/src/TypeRichTextInput.d.ts +2 -1
- package/lib/typescript/src/TypeRichTextInput.d.ts.map +1 -1
- package/lib/typescript/src/TypeRichTextInputNativeComponent.d.ts +3 -1
- package/lib/typescript/src/TypeRichTextInputNativeComponent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TypeRichTextInput.tsx +9 -3
- package/src/TypeRichTextInputNativeComponent.ts +10 -2
|
@@ -65,7 +65,6 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
65
65
|
private var isSettingTextFromJS = false
|
|
66
66
|
private var isInitialized = false
|
|
67
67
|
|
|
68
|
-
|
|
69
68
|
constructor(context: Context) : super(context) {
|
|
70
69
|
prepareComponent()
|
|
71
70
|
}
|
|
@@ -303,6 +302,10 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
303
302
|
super.onSelectionChanged(selStart, selEnd)
|
|
304
303
|
if (isDuringTransaction) return
|
|
305
304
|
|
|
305
|
+
dispatchSelectionChangeEvent(selStart,selEnd)
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
fun dispatchSelectionChangeEvent(selStart: Int, selEnd: Int){
|
|
306
309
|
val reactContext = context as? ReactContext ?: return
|
|
307
310
|
val dispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, id)
|
|
308
311
|
?: return
|
|
@@ -321,7 +324,6 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
321
324
|
)
|
|
322
325
|
}
|
|
323
326
|
|
|
324
|
-
|
|
325
327
|
override fun clearFocus() {
|
|
326
328
|
super.clearFocus()
|
|
327
329
|
inputMethodManager?.hideSoftInputFromWindow(windowToken, 0)
|
|
@@ -329,6 +331,7 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
329
331
|
|
|
330
332
|
override fun onFocusChanged(focused: Boolean, direction: Int, previouslyFocusedRect: Rect?) {
|
|
331
333
|
super.onFocusChanged(focused, direction, previouslyFocusedRect)
|
|
334
|
+
|
|
332
335
|
val reactContext = context as ReactContext
|
|
333
336
|
val surfaceId = UIManagerHelper.getSurfaceId(reactContext)
|
|
334
337
|
val dispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, id)
|
|
@@ -355,7 +358,8 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
355
358
|
fun requestFocusProgrammatically() {
|
|
356
359
|
requestFocus()
|
|
357
360
|
inputMethodManager?.showSoftInput(this, 0)
|
|
358
|
-
setSelection(text?.length ?: 0)
|
|
361
|
+
// setSelection(text?.length ?: 0)
|
|
362
|
+
setSelection(selectionStart,selectionEnd)
|
|
359
363
|
}
|
|
360
364
|
|
|
361
365
|
fun setMultiline(enabled: Boolean) {
|
|
@@ -422,6 +426,28 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
422
426
|
}
|
|
423
427
|
}
|
|
424
428
|
|
|
429
|
+
fun insertTextAt(start: Int, end: Int, insert: String) {
|
|
430
|
+
val editable = editableText ?: return
|
|
431
|
+
|
|
432
|
+
val safeStart = start.coerceIn(0, editable.length)
|
|
433
|
+
val safeEnd = end.coerceIn(0, editable.length)
|
|
434
|
+
|
|
435
|
+
var newCursor = safeStart
|
|
436
|
+
|
|
437
|
+
isSettingTextFromJS = true
|
|
438
|
+
try {
|
|
439
|
+
runAsATransaction {
|
|
440
|
+
editable.replace(safeStart, safeEnd, insert) // this will not emit selectionChange event cause of transaction
|
|
441
|
+
newCursor = safeStart + insert.length
|
|
442
|
+
setSelection(newCursor, newCursor)
|
|
443
|
+
}
|
|
444
|
+
} finally {
|
|
445
|
+
isSettingTextFromJS = false
|
|
446
|
+
layoutManager.invalidateLayout()
|
|
447
|
+
}
|
|
448
|
+
dispatchSelectionChangeEvent(newCursor,newCursor) // manually emit selectionChange event
|
|
449
|
+
}
|
|
450
|
+
|
|
425
451
|
fun setAutoFocus(autoFocus: Boolean) {
|
|
426
452
|
this.autoFocus = autoFocus
|
|
427
453
|
}
|
|
@@ -53,6 +53,11 @@ class TypeRichTextInputViewManager :
|
|
|
53
53
|
view?.setDefaultValue(value)
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
@ReactProp(name = "value")
|
|
57
|
+
override fun setValue(view: TypeRichTextInputView?, value: String?) {
|
|
58
|
+
view?.setValue(value)
|
|
59
|
+
}
|
|
60
|
+
|
|
56
61
|
@ReactProp(name = "color")
|
|
57
62
|
override fun setColor(view: TypeRichTextInputView, value: Int?) {
|
|
58
63
|
if (value != null) view.setTextColor(value)
|
|
@@ -175,10 +180,14 @@ class TypeRichTextInputViewManager :
|
|
|
175
180
|
view?.clearFocus()
|
|
176
181
|
}
|
|
177
182
|
|
|
178
|
-
override fun
|
|
183
|
+
override fun setText(view: TypeRichTextInputView?, text: String) {
|
|
179
184
|
view?.setValue(text)
|
|
180
185
|
}
|
|
181
186
|
|
|
187
|
+
override fun insertTextAt(view: TypeRichTextInputView?,start:Int,end:Int, text:String) {
|
|
188
|
+
view?.insertTextAt(start,end, text)
|
|
189
|
+
}
|
|
190
|
+
|
|
182
191
|
override fun setSelection(
|
|
183
192
|
view: TypeRichTextInputView?,
|
|
184
193
|
start: Int,
|
|
@@ -46,9 +46,9 @@ const TypeRichTextInput = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
46
46
|
Commands.blur(nativeRef.current);
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
|
-
|
|
49
|
+
setText: text => {
|
|
50
50
|
if (isAndroid && nativeRef.current) {
|
|
51
|
-
Commands.
|
|
51
|
+
Commands.setText(nativeRef.current, text);
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
setSelection(start, end) {
|
|
@@ -56,6 +56,11 @@ const TypeRichTextInput = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
56
56
|
Commands.setSelection(nativeRef.current, start, end);
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
+
insertTextAt: (start, end, text) => {
|
|
60
|
+
if (isAndroid && nativeRef.current) {
|
|
61
|
+
Commands.insertTextAt(nativeRef.current, start, end, text);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
59
64
|
getNativeRef: () => nativeRef.current
|
|
60
65
|
}));
|
|
61
66
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useImperativeHandle","useRef","Platform","View","Commands","jsx","_jsx","NativeTypeRichTextInput","OS","require","default","normalizeEvent","event","nativeEvent","isAndroid","TypeRichTextInput","props","ref","nativeRef","focus","current","blur","
|
|
1
|
+
{"version":3,"names":["forwardRef","useImperativeHandle","useRef","Platform","View","Commands","jsx","_jsx","NativeTypeRichTextInput","OS","require","default","normalizeEvent","event","nativeEvent","isAndroid","TypeRichTextInput","props","ref","nativeRef","focus","current","blur","setText","text","setSelection","start","end","insertTextAt","getNativeRef","handlePasteImage","data","undefined","onPasteImageData","handleOnChangeTextEvent","e","onChangeText","value","handleonChangeSelectionEvent","onChangeSelection","androidExperimentalSynchronousEvents","onFocus","onBlur","restProps","onInputFocus","onInputBlur","onPasteImage"],"sourceRoot":"../../src","sources":["TypeRichTextInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,6 +34,7 @@ export interface onPasteImageEventData {
|
|
|
34
34
|
|
|
35
35
|
export interface TypeRichTextInputNativeProps extends ViewProps {
|
|
36
36
|
// base props
|
|
37
|
+
value?: string;
|
|
37
38
|
autoFocus?: boolean;
|
|
38
39
|
editable?: boolean;
|
|
39
40
|
defaultValue?: string;
|
|
@@ -77,7 +78,13 @@ interface NativeCommands {
|
|
|
77
78
|
// General commands
|
|
78
79
|
focus: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
79
80
|
blur: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
80
|
-
|
|
81
|
+
setText: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
|
|
82
|
+
insertTextAt: (
|
|
83
|
+
viewRef: React.ElementRef<ComponentType>,
|
|
84
|
+
start: Int32,
|
|
85
|
+
end: Int32,
|
|
86
|
+
text: string
|
|
87
|
+
) => void;
|
|
81
88
|
setSelection: (
|
|
82
89
|
viewRef: React.ElementRef<ComponentType>,
|
|
83
90
|
start: Int32,
|
|
@@ -90,8 +97,9 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
90
97
|
// General commands
|
|
91
98
|
'focus',
|
|
92
99
|
'blur',
|
|
93
|
-
'
|
|
100
|
+
'setText',
|
|
94
101
|
'setSelection',
|
|
102
|
+
'insertTextAt',
|
|
95
103
|
],
|
|
96
104
|
});
|
|
97
105
|
|
|
@@ -17,7 +17,8 @@ export interface TypeRichTextInputProps extends Omit<TypeRichTextInputNativeProp
|
|
|
17
17
|
export interface TypeRichTextInputRef {
|
|
18
18
|
focus: () => void;
|
|
19
19
|
blur: () => void;
|
|
20
|
-
|
|
20
|
+
setText: (text: string) => void;
|
|
21
|
+
insertTextAt: (start: number, end: number, text: string) => void;
|
|
21
22
|
setSelection: (start: number, end: number) => void;
|
|
22
23
|
getNativeRef: () => any | null;
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeRichTextInput.d.ts","sourceRoot":"","sources":["../../../src/TypeRichTextInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAClC,MAAM,oCAAoC,CAAC;AAW5C,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,WAAW,EAAE,CAAC,CAAA;CAAE,CAAC;AAElD,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAK/D;AAGD,MAAM,WAAW,sBACf,SAAQ,IAAI,CACV,4BAA4B,EAC1B,cAAc,GACd,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,cAAc,CACjB;IAED,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"TypeRichTextInput.d.ts","sourceRoot":"","sources":["../../../src/TypeRichTextInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAClC,MAAM,oCAAoC,CAAC;AAW5C,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,WAAW,EAAE,CAAC,CAAA;CAAE,CAAC;AAElD,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAK/D;AAGD,MAAM,WAAW,sBACf,SAAQ,IAAI,CACV,4BAA4B,EAC1B,cAAc,GACd,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,cAAc,CACjB;IAED,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC;CAChC;AAID;;;;;;;;;;GAUG;AACH,QAAA,MAAM,iBAAiB,yHAmGtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -21,6 +21,7 @@ export interface onPasteImageEventData {
|
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
export interface TypeRichTextInputNativeProps extends ViewProps {
|
|
24
|
+
value?: string;
|
|
24
25
|
autoFocus?: boolean;
|
|
25
26
|
editable?: boolean;
|
|
26
27
|
defaultValue?: string;
|
|
@@ -51,7 +52,8 @@ type ComponentType = HostComponent<TypeRichTextInputNativeProps>;
|
|
|
51
52
|
interface NativeCommands {
|
|
52
53
|
focus: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
53
54
|
blur: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
54
|
-
|
|
55
|
+
setText: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
|
|
56
|
+
insertTextAt: (viewRef: React.ElementRef<ComponentType>, start: Int32, end: Int32, text: string) => void;
|
|
55
57
|
setSelection: (viewRef: React.ElementRef<ComponentType>, start: Int32, end: Int32) => void;
|
|
56
58
|
}
|
|
57
59
|
export declare const Commands: NativeCommands;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeRichTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/TypeRichTextInputNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,KAAK,EACN,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAClD,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAE7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAM1E,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAI3D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;IAGnB,oCAAoC,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;AAEjE,UAAU,cAAc;IAEtB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACzD,
|
|
1
|
+
{"version":3,"file":"TypeRichTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/TypeRichTextInputNativeComponent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -54,7 +54,8 @@ export interface TypeRichTextInputProps
|
|
|
54
54
|
export interface TypeRichTextInputRef {
|
|
55
55
|
focus: () => void;
|
|
56
56
|
blur: () => void;
|
|
57
|
-
|
|
57
|
+
setText: (text: string) => void;
|
|
58
|
+
insertTextAt: (start: number, end: number, text: string) => void;
|
|
58
59
|
setSelection: (start: number, end: number) => void;
|
|
59
60
|
getNativeRef: () => any | null;
|
|
60
61
|
}
|
|
@@ -87,9 +88,9 @@ const TypeRichTextInput = forwardRef(
|
|
|
87
88
|
Commands.blur(nativeRef.current);
|
|
88
89
|
}
|
|
89
90
|
},
|
|
90
|
-
|
|
91
|
+
setText: (text: string) => {
|
|
91
92
|
if (isAndroid && nativeRef.current) {
|
|
92
|
-
Commands.
|
|
93
|
+
Commands.setText(nativeRef.current, text);
|
|
93
94
|
}
|
|
94
95
|
},
|
|
95
96
|
setSelection(start, end) {
|
|
@@ -97,6 +98,11 @@ const TypeRichTextInput = forwardRef(
|
|
|
97
98
|
Commands.setSelection(nativeRef.current, start, end);
|
|
98
99
|
}
|
|
99
100
|
},
|
|
101
|
+
insertTextAt: (start: number, end: number, text: string) => {
|
|
102
|
+
if (isAndroid && nativeRef.current) {
|
|
103
|
+
Commands.insertTextAt(nativeRef.current, start, end, text);
|
|
104
|
+
}
|
|
105
|
+
},
|
|
100
106
|
getNativeRef: () => nativeRef.current,
|
|
101
107
|
}));
|
|
102
108
|
|
|
@@ -34,6 +34,7 @@ export interface onPasteImageEventData {
|
|
|
34
34
|
|
|
35
35
|
export interface TypeRichTextInputNativeProps extends ViewProps {
|
|
36
36
|
// base props
|
|
37
|
+
value?: string;
|
|
37
38
|
autoFocus?: boolean;
|
|
38
39
|
editable?: boolean;
|
|
39
40
|
defaultValue?: string;
|
|
@@ -77,7 +78,13 @@ interface NativeCommands {
|
|
|
77
78
|
// General commands
|
|
78
79
|
focus: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
79
80
|
blur: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
80
|
-
|
|
81
|
+
setText: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
|
|
82
|
+
insertTextAt: (
|
|
83
|
+
viewRef: React.ElementRef<ComponentType>,
|
|
84
|
+
start: Int32,
|
|
85
|
+
end: Int32,
|
|
86
|
+
text: string
|
|
87
|
+
) => void;
|
|
81
88
|
setSelection: (
|
|
82
89
|
viewRef: React.ElementRef<ComponentType>,
|
|
83
90
|
start: Int32,
|
|
@@ -90,8 +97,9 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
90
97
|
// General commands
|
|
91
98
|
'focus',
|
|
92
99
|
'blur',
|
|
93
|
-
'
|
|
100
|
+
'setText',
|
|
94
101
|
'setSelection',
|
|
102
|
+
'insertTextAt',
|
|
95
103
|
],
|
|
96
104
|
});
|
|
97
105
|
|