From 0bd9a67bdbe58bc5353371c23fce455e7215444b Mon Sep 17 00:00:00 2001 From: Zz Date: Sat, 29 Sep 2018 10:55:18 +0800 Subject: [PATCH] Add support auto-capitalization-type for WXEditComponent --- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 6 ------ .../WeexSDK/Sources/Component/WXEditComponent.mm | 15 +++++++++++++++ .../Sources/Component/WXTextAreaComponent.mm | 4 ++++ .../Sources/Component/WXTextInputComponent.m | 5 +++++ ios/sdk/WeexSDK/Sources/Utility/WXConvert.h | 1 + ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 16 ++++++++++++++++ ios/sdk/WeexSDK/Sources/Utility/WXVersion.m | 4 ++-- 7 files changed, 43 insertions(+), 8 deletions(-) diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj index a591598222..a032a801eb 100644 --- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj +++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj @@ -314,11 +314,8 @@ B8394F3821468AF100CA1EFF /* render_action_trigger_vsync.h in Headers */ = {isa = PBXBuildFile; fileRef = B8394F3521468AF100CA1EFF /* render_action_trigger_vsync.h */; }; B8394F3921468AF100CA1EFF /* render_action_trigger_vsync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8394F3621468AF100CA1EFF /* render_action_trigger_vsync.cpp */; }; B8394F3A21468AF100CA1EFF /* render_action_trigger_vsync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8394F3621468AF100CA1EFF /* render_action_trigger_vsync.cpp */; }; - B858E1272158BE0A00722366 /* render_document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B858E1252158BE0900722366 /* render_document.cpp */; }; B858E1282158BE0A00722366 /* render_document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B858E1252158BE0900722366 /* render_document.cpp */; }; - B858E1292158BE0A00722366 /* render_document.h in Headers */ = {isa = PBXBuildFile; fileRef = B858E1262158BE0A00722366 /* render_document.h */; }; B858E12A2158BE0A00722366 /* render_document.h in Headers */ = {isa = PBXBuildFile; fileRef = B858E1262158BE0A00722366 /* render_document.h */; }; - B858E12C2158BE1000722366 /* render_document_factory.h in Headers */ = {isa = PBXBuildFile; fileRef = B858E12B2158BE1000722366 /* render_document_factory.h */; }; B858E12D2158BE1000722366 /* render_document_factory.h in Headers */ = {isa = PBXBuildFile; fileRef = B858E12B2158BE1000722366 /* render_document_factory.h */; }; B85ED3032126715100EBEC11 /* WXRecyclerComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 745B2D601E5A8E1E0092D38A /* WXRecyclerComponent.h */; }; B863DF322107308000EA887D /* WXBridgeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = B863DF312107307F00EA887D /* WXBridgeContext.m */; }; @@ -2756,7 +2753,6 @@ 77D1614B1C02E3790010B15B /* WXConvert.h in Headers */, 1746EA7320E9D253007E55BD /* WXComponent_performance.h in Headers */, 59A596221CB6311F0012CD52 /* WXNavigatorModule.h in Headers */, - B858E12C2158BE1000722366 /* render_document_factory.h in Headers */, B8F2C7082133A83C00635B37 /* rax_parser_context.h in Headers */, 33CE190E2153443000CF9670 /* WXJSFrameworkLoadDefaultImpl.h in Headers */, C47B78CE1F2998EE001D3B0C /* WXExtendCallNativeManager.h in Headers */, @@ -2818,7 +2814,6 @@ C4F0127D1E1502A6003378D0 /* WXWebSocketHandler.h in Headers */, B8D66C9D21255730003960BD /* json11.hpp in Headers */, DC03ADBA1D508719003F76E7 /* WXTextAreaComponent.h in Headers */, - B858E1292158BE0A00722366 /* render_document.h in Headers */, B8D66C5721255730003960BD /* render_action_layout.h in Headers */, 2AC750241C7565690041D390 /* WXIndicatorComponent.h in Headers */, B8F2C6E82133A83C00635B37 /* class_array.h in Headers */, @@ -3546,7 +3541,6 @@ B8D66C4D21255730003960BD /* render_action_move_element.cpp in Sources */, 742AD7341DF98C45007DC46C /* WXResourceResponse.m in Sources */, B87B9E7F21539B3300B6DC61 /* WXVersion.m in Sources */, - B858E1272158BE0A00722366 /* render_document.cpp in Sources */, 77E65A161C155EB5008B8775 /* WXTextComponent.mm in Sources */, C4D872261E5DDF7500E39BC1 /* WXBoxShadow.m in Sources */, B8D66BB32125572F003960BD /* parser.cc in Sources */, diff --git a/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.mm b/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.mm index d93b19c75b..696b212066 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.mm +++ b/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.mm @@ -43,6 +43,7 @@ @interface WXEditComponent() @property (nonatomic, copy) NSString *inputType; @property (nonatomic) NSUInteger rows; @property (nonatomic) BOOL hideDoneButton; +@property (nonatomic) UITextAutocapitalizationType autocapitalizationType; //style @property (nonatomic) WXPixelType fontSize; @@ -154,6 +155,10 @@ - (instancetype)initWithRef:(NSString *)ref type:(NSString *)type styles:(NSDict }else { _placeholderColor = [UIColor colorWithRed:0x99/255.0 green:0x99/255.0 blue:0x99/255.0 alpha:1.0]; } + + if (attributes[@"autoCapitalizationType"]) { + _autocapitalizationType = [WXConvert UITextAutocapitalizationType:attributes[@"autoCapitalizationType"]]; + } } return self; @@ -182,6 +187,7 @@ - (void)viewDidLoad [self setEnabled:!_disabled]; [self setRows:_rows]; [self setReturnKeyType:_returnKeyType]; + [self setAutocapitalizationType:_autocapitalizationType]; [self updatePattern]; if (!self.hideDoneButton) { @@ -305,6 +311,10 @@ -(void)setReturnKeyType:(UIReturnKeyType)returnKeyType { } +- (void)setAutocapitalizationType:(UITextAutocapitalizationType)autocapitalizationType { + +} + -(void)setInputAccessoryView:(UIView *)inputAccessoryView { } @@ -447,6 +457,11 @@ - (void)updateAttributes:(NSDictionary *)attributes _rows = 2; [self setRows:_rows]; } + + if (attributes[@"autoCapitalizationType"]) { + _autocapitalizationType = [WXConvert UITextAutocapitalizationType:attributes[@"autoCapitalizationType"]]; + [self setAutocapitalizationType:_autocapitalizationType]; + } } #pragma mark - upate styles diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTextAreaComponent.mm b/ios/sdk/WeexSDK/Sources/Component/WXTextAreaComponent.mm index f64df8af38..2b6d2fb3ae 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXTextAreaComponent.mm +++ b/ios/sdk/WeexSDK/Sources/Component/WXTextAreaComponent.mm @@ -221,6 +221,10 @@ -(void)setRows:(NSUInteger)rows [self setNeedsLayout]; } +- (void)setAutocapitalizationType:(UITextAutocapitalizationType)type { + _textView.autocapitalizationType = type; +} + #pragma mark -Private Method - (void)_updateTextContentInset { diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTextInputComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXTextInputComponent.m index 02d8f52f26..a94c72a2ce 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXTextInputComponent.m +++ b/ios/sdk/WeexSDK/Sources/Component/WXTextInputComponent.m @@ -134,6 +134,11 @@ -(void)setReturnKeyType:(UIReturnKeyType)returnKeyType { _inputView.returnKeyType = returnKeyType; } + +- (void)setAutocapitalizationType:(UITextAutocapitalizationType)type { + _inputView.autocapitalizationType = type; +} + -(void)setInputAccessoryView:(UIView *)inputAccessoryView { _inputView.inputAccessoryView = inputAccessoryView; diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h b/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h index 3b83f5c169..62598f6aa4 100644 --- a/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h +++ b/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h @@ -82,6 +82,7 @@ typedef BOOL WXClipType; + (WXTextDecoration)WXTextDecoration:(id)value; + (NSTextAlignment)NSTextAlignment:(id)value; + (UIReturnKeyType)UIReturnKeyType:(id)value; ++ (UITextAutocapitalizationType)UITextAutocapitalizationType:(id)value; + (WXScrollDirection)WXScrollDirection:(id)value; + (UITableViewRowAnimation)UITableViewRowAnimation:(id)value; diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m b/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m index bdfb127528..be706fd700 100644 --- a/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m +++ b/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m @@ -536,6 +536,22 @@ + (UIReturnKeyType)UIReturnKeyType:(id)value return UIReturnKeyDefault; } ++ (UITextAutocapitalizationType)UITextAutocapitalizationType:(id)value +{ + if([value isKindOfClass:[NSString class]]){ + NSString *string = (NSString *)value; + if ([string isEqualToString:@"none"]) + return UITextAutocapitalizationTypeNone; + else if ([string isEqualToString:@"words"]) + return UITextAutocapitalizationTypeWords; + else if ([string isEqualToString:@"sentences"]) + return UITextAutocapitalizationTypeSentences; + else if ([string isEqualToString:@"allcharacters"]) + return UITextAutocapitalizationTypeAllCharacters; + } + return UITextAutocapitalizationTypeSentences; +} + + (WXTextStyle)WXTextStyle:(id)value { if([value isKindOfClass:[NSString class]]){ diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXVersion.m b/ios/sdk/WeexSDK/Sources/Utility/WXVersion.m index aef6efc273..7d3701a91e 100644 --- a/ios/sdk/WeexSDK/Sources/Utility/WXVersion.m +++ b/ios/sdk/WeexSDK/Sources/Utility/WXVersion.m @@ -20,8 +20,8 @@ #import "WXVersion.h" #import "WXDefine.h" -static const char* WeexSDKBuildTime = "2018-09-20 09:52:40 UTC"; -static const unsigned long WeexSDKBuildTimestamp = 1537437160; +static const char* WeexSDKBuildTime = "2018-09-28 12:00:22 UTC"; +static const unsigned long WeexSDKBuildTimestamp = 1538136022; NSString* GetWeexSDKVersion(void) {