TextInput: Unified support of `clearTextOnFocus` prop
Summary: The implementation of `clearTextOnFocus` was unified and moved to baseclass. Reviewed By: javache Differential Revision: D5299489 fbshipit-source-id: ff166f9bb0673ff8766f20b677f56810f64d7b2d
This commit is contained in:
parent
cb96f1d5d2
commit
d69e60bb7a
|
@ -162,15 +162,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithCoder:(NSCoder *)aDecoder)
|
||||||
[self sendSelectionEvent];
|
[self sendSelectionEvent];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)textInputDidBeginEditing
|
|
||||||
{
|
|
||||||
[_eventDispatcher sendTextEventWithType:RCTTextEventTypeFocus
|
|
||||||
reactTag:self.reactTag
|
|
||||||
text:_backedTextInput.text
|
|
||||||
key:nil
|
|
||||||
eventCount:_nativeEventCount];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (BOOL)textInputShouldEndEditing
|
- (BOOL)textInputShouldEndEditing
|
||||||
{
|
{
|
||||||
_finalText = _backedTextInput.text;
|
_finalText = _backedTextInput.text;
|
||||||
|
|
|
@ -49,17 +49,17 @@ RCT_REMAP_VIEW_PROPERTY(secureTextEntry, backedTextInputView.secureTextEntry, BO
|
||||||
RCT_REMAP_VIEW_PROPERTY(selectionColor, backedTextInputView.tintColor, UIColor)
|
RCT_REMAP_VIEW_PROPERTY(selectionColor, backedTextInputView.tintColor, UIColor)
|
||||||
RCT_REMAP_VIEW_PROPERTY(spellCheck, backedTextInputView.spellCheckingType, UITextSpellCheckingType)
|
RCT_REMAP_VIEW_PROPERTY(spellCheck, backedTextInputView.spellCheckingType, UITextSpellCheckingType)
|
||||||
RCT_REMAP_VIEW_PROPERTY(textAlign, backedTextInputView.textAlignment, NSTextAlignment)
|
RCT_REMAP_VIEW_PROPERTY(textAlign, backedTextInputView.textAlignment, NSTextAlignment)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(blurOnSubmit, BOOL)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(clearTextOnFocus, BOOL)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(maxLength, NSNumber)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(selectTextOnFocus, BOOL)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(selection, RCTTextSelection)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(text, NSString)
|
||||||
|
|
||||||
#pragma mark - Singleline <TextInput> (aka TextField) specific properties
|
#pragma mark - Singleline <TextInput> (aka TextField) specific properties
|
||||||
|
|
||||||
RCT_REMAP_VIEW_PROPERTY(caretHidden, backedTextInputView.caretHidden, BOOL)
|
RCT_REMAP_VIEW_PROPERTY(caretHidden, backedTextInputView.caretHidden, BOOL)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(selection, RCTTextSelection)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(text, NSString)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(maxLength, NSNumber)
|
|
||||||
RCT_REMAP_VIEW_PROPERTY(clearButtonMode, backedTextInputView.clearButtonMode, UITextFieldViewMode)
|
RCT_REMAP_VIEW_PROPERTY(clearButtonMode, backedTextInputView.clearButtonMode, UITextFieldViewMode)
|
||||||
RCT_REMAP_VIEW_PROPERTY(clearTextOnFocus, backedTextInputView.clearsOnBeginEditing, BOOL)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(selectTextOnFocus, BOOL)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(blurOnSubmit, BOOL)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock)
|
||||||
RCT_CUSTOM_VIEW_PROPERTY(fontSize, NSNumber, RCTTextField)
|
RCT_CUSTOM_VIEW_PROPERTY(fontSize, NSNumber, RCTTextField)
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,12 +43,14 @@
|
||||||
@property (nonatomic, assign) NSInteger mostRecentEventCount;
|
@property (nonatomic, assign) NSInteger mostRecentEventCount;
|
||||||
@property (nonatomic, assign) BOOL blurOnSubmit;
|
@property (nonatomic, assign) BOOL blurOnSubmit;
|
||||||
@property (nonatomic, assign) BOOL selectTextOnFocus;
|
@property (nonatomic, assign) BOOL selectTextOnFocus;
|
||||||
|
@property (nonatomic, assign) BOOL clearTextOnFocus;
|
||||||
|
|
||||||
- (void)invalidateContentSize;
|
- (void)invalidateContentSize;
|
||||||
|
|
||||||
// Temporary exposure of particial `RCTBackedTextInputDelegate` support.
|
// Temporary exposure of particial `RCTBackedTextInputDelegate` support.
|
||||||
// In the future all methods of the protocol should move to this class.
|
// In the future all methods of the protocol should move to this class.
|
||||||
- (BOOL)textInputShouldBeginEditing;
|
- (BOOL)textInputShouldBeginEditing;
|
||||||
|
- (void)textInputDidBeginEditing;
|
||||||
- (BOOL)textInputShouldReturn;
|
- (BOOL)textInputShouldReturn;
|
||||||
- (void)textInputDidReturn;
|
- (void)textInputDidReturn;
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,19 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)textInputDidBeginEditing
|
||||||
|
{
|
||||||
|
if (_clearTextOnFocus) {
|
||||||
|
self.backedTextInputView.text = @"";
|
||||||
|
}
|
||||||
|
|
||||||
|
[_eventDispatcher sendTextEventWithType:RCTTextEventTypeFocus
|
||||||
|
reactTag:self.reactTag
|
||||||
|
text:self.backedTextInputView.text
|
||||||
|
key:nil
|
||||||
|
eventCount:_nativeEventCount];
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)textInputShouldReturn
|
- (BOOL)textInputShouldReturn
|
||||||
{
|
{
|
||||||
return _blurOnSubmit;
|
return _blurOnSubmit;
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
@property (nonatomic, assign) UITextAutocorrectionType autocorrectionType;
|
@property (nonatomic, assign) UITextAutocorrectionType autocorrectionType;
|
||||||
@property (nonatomic, assign) UITextSpellCheckingType spellCheckingType;
|
@property (nonatomic, assign) UITextSpellCheckingType spellCheckingType;
|
||||||
@property (nonatomic, assign) BOOL clearTextOnFocus;
|
|
||||||
@property (nonatomic, assign) BOOL automaticallyAdjustContentInsets;
|
@property (nonatomic, assign) BOOL automaticallyAdjustContentInsets;
|
||||||
@property (nonatomic, copy) NSString *text;
|
@property (nonatomic, copy) NSString *text;
|
||||||
@property (nonatomic, strong) UIColor *placeholderTextColor;
|
@property (nonatomic, strong) UIColor *placeholderTextColor;
|
||||||
|
|
|
@ -329,19 +329,6 @@ static NSAttributedString *removeReactTagFromString(NSAttributedString *string)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)textInputDidBeginEditing
|
|
||||||
{
|
|
||||||
if (_clearTextOnFocus) {
|
|
||||||
_backedTextInput.text = @"";
|
|
||||||
}
|
|
||||||
|
|
||||||
[_eventDispatcher sendTextEventWithType:RCTTextEventTypeFocus
|
|
||||||
reactTag:self.reactTag
|
|
||||||
text:nil
|
|
||||||
key:nil
|
|
||||||
eventCount:_nativeEventCount];
|
|
||||||
}
|
|
||||||
|
|
||||||
static BOOL findMismatch(NSString *first, NSString *second, NSRange *firstRange, NSRange *secondRange)
|
static BOOL findMismatch(NSString *first, NSString *second, NSRange *firstRange, NSRange *secondRange)
|
||||||
{
|
{
|
||||||
NSInteger firstMismatch = -1;
|
NSInteger firstMismatch = -1;
|
||||||
|
|
|
@ -49,20 +49,21 @@ RCT_REMAP_VIEW_PROPERTY(secureTextEntry, backedTextInputView.secureTextEntry, BO
|
||||||
RCT_REMAP_VIEW_PROPERTY(selectionColor, backedTextInputView.tintColor, UIColor)
|
RCT_REMAP_VIEW_PROPERTY(selectionColor, backedTextInputView.tintColor, UIColor)
|
||||||
RCT_REMAP_VIEW_PROPERTY(spellCheck, backedTextInputView.spellCheckingType, UITextSpellCheckingType)
|
RCT_REMAP_VIEW_PROPERTY(spellCheck, backedTextInputView.spellCheckingType, UITextSpellCheckingType)
|
||||||
RCT_REMAP_VIEW_PROPERTY(textAlign, backedTextInputView.textAlignment, NSTextAlignment)
|
RCT_REMAP_VIEW_PROPERTY(textAlign, backedTextInputView.textAlignment, NSTextAlignment)
|
||||||
|
|
||||||
#pragma mark - Multiline <TextInput> (aka TextView) specific properties
|
|
||||||
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(blurOnSubmit, BOOL)
|
RCT_EXPORT_VIEW_PROPERTY(blurOnSubmit, BOOL)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(clearTextOnFocus, BOOL)
|
RCT_EXPORT_VIEW_PROPERTY(clearTextOnFocus, BOOL)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(maxLength, NSNumber)
|
RCT_EXPORT_VIEW_PROPERTY(maxLength, NSNumber)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(selectTextOnFocus, BOOL)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(selection, RCTTextSelection)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(text, NSString)
|
||||||
|
|
||||||
|
#pragma mark - Multiline <TextInput> (aka TextView) specific properties
|
||||||
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onContentSizeChange, RCTBubblingEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onContentSizeChange, RCTBubblingEventBlock)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onScroll, RCTDirectEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onScroll, RCTDirectEventBlock)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onTextInput, RCTDirectEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onTextInput, RCTDirectEventBlock)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(selectTextOnFocus, BOOL)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(selection, RCTTextSelection)
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(text, NSString)
|
|
||||||
RCT_CUSTOM_VIEW_PROPERTY(fontSize, NSNumber, RCTTextView)
|
RCT_CUSTOM_VIEW_PROPERTY(fontSize, NSNumber, RCTTextView)
|
||||||
{
|
{
|
||||||
view.font = [RCTFont updateFont:view.font withSize:json ?: @(defaultView.font.pointSize)];
|
view.font = [RCTFont updateFont:view.font withSize:json ?: @(defaultView.font.pointSize)];
|
||||||
|
|
Loading…
Reference in New Issue