You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by cx...@apache.org on 2017/03/05 11:19:24 UTC
[20/29] incubator-weex git commit: Merge branch
'0.11-dev-suppport-recycler-component' into ios-feature-grid
Merge branch '0.11-dev-suppport-recycler-component' into ios-feature-grid
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ba73ba7c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ba73ba7c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ba73ba7c
Branch: refs/heads/0.11-dev
Commit: ba73ba7c9daeb69baeea2289cc891ac7fb84f797
Parents: c0dce9b 1d01df1
Author: \u9690\u5c0f\u98ce <cx...@gmail.com>
Authored: Mon Feb 27 10:49:45 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Mon Feb 27 10:49:45 2017 +0800
----------------------------------------------------------------------
.../main/java/com/taobao/weex/WXSDKEngine.java | 9 +-
.../java/com/taobao/weex/common/Constants.java | 14 +-
.../main/java/com/taobao/weex/dom/WXAttr.java | 96 +++++-
.../java/com/taobao/weex/dom/WXDomHandler.java | 2 +
.../java/com/taobao/weex/dom/WXDomManager.java | 1 +
.../java/com/taobao/weex/dom/WXDomModule.java | 8 +-
.../taobao/weex/dom/WXRecyclerDomObject.java | 317 +++++++++++++++++++
.../weex/ui/component/WXBasicComponentType.java | 2 +
.../com/taobao/weex/ui/component/WXHeader.java | 4 +-
.../weex/ui/component/WXSliderNeighbor.java | 39 ++-
.../ui/component/list/BasicListComponent.java | 29 +-
.../ui/component/list/ListComponentView.java | 3 -
.../ui/component/list/SimpleListComponent.java | 6 +-
.../weex/ui/component/list/WXListComponent.java | 85 ++++-
.../listview/ExtendedLinearLayoutManager.java | 25 ++
.../weex/ui/view/listview/WXRecyclerView.java | 43 +--
.../listview/adapter/ListBaseViewHolder.java | 8 +-
.../adapter/RecyclerViewBaseAdapter.java | 21 +-
.../adapter/WXRecyclerViewOnScrollListener.java | 107 ++++---
.../ui/view/refresh/wrapper/BaseBounceView.java | 19 +-
.../refresh/wrapper/BounceRecyclerView.java | 23 +-
.../refresh/wrapper/BounceScrollerView.java | 1 +
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 24 ++
.../Sources/Component/WXComponent_internal.h | 3 +
.../WeexSDK/Sources/Component/WXEditComponent.m | 1 -
.../Sources/Component/WXTextAreaComponent.m | 16 +-
.../Sources/Display/WXComponent+BoxShadow.h | 37 +++
.../Sources/Display/WXComponent+BoxShadow.m | 91 ++++++
ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h | 19 ++
ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.m | 87 +++++
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 11 +-
.../WeexSDK/Sources/Layout/WXComponent+Layout.m | 4 +
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 9 +-
ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.h | 31 ++
ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m | 108 +++++++
ios/sdk/WeexSDK/Sources/Utility/WXConvert.h | 2 +
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 16 +
.../Sources/View/WXComponent+ViewManagement.m | 15 +
38 files changed, 1197 insertions(+), 139 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ba73ba7c/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index 2111b76,0f2ff1e..d6a68f7
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@@ -1537,9 -1490,9 +1559,10 @@@
74862F7E1E03A0F300B7A041 /* WXModuleMethod.m in Sources */,
742AD7341DF98C45007DC46C /* WXResourceResponse.m in Sources */,
77E65A161C155EB5008B8775 /* WXTextComponent.m in Sources */,
+ C4D872261E5DDF7500E39BC1 /* WXBoxShadow.m in Sources */,
746319031C60AFC100EFEBD4 /* WXThreadSafeCounter.m in Sources */,
74A4BAA71CB4F98300195969 /* WXStreamModule.m in Sources */,
+ 744D610D1E49978200B624B3 /* WXHeaderComponent.m in Sources */,
59597F991D2A041700EE9317 /* WXDebugLoggerBridge.m in Sources */,
77E659F21C0C3612008B8775 /* WXModuleFactory.m in Sources */,
DCF343681E49CAEE00A2FB34 /* WXJSExceptionInfo.m in Sources */,
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ba73ba7c/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ba73ba7c/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ba73ba7c/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK/Sources/Utility/WXConvert.h
index bef72d0,d9312bc..eb80aa6
--- a/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXConvert.h
@@@ -11,7 -11,7 +11,8 @@@
#import "WXLog.h"
#import "WXLayoutDefine.h"
#import "WXType.h"
+#import "WXLength.h"
+ #import "WXBoxShadow.h"
@interface WXConvert : NSObject
@@@ -69,7 -69,7 +70,8 @@@ typedef BOOL WXClipType
+ (WXGradientType)gradientType:(id)value;
++ (WXLength *)WXLength:(id)value isFloat:(BOOL)isFloat scaleFactor:(CGFloat)scaleFactor;
+ + (WXBoxShadow *)WXBoxShadow:(id)value scaleFactor:(CGFloat)scaleFactor;
@end
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ba73ba7c/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK/Sources/Utility/WXConvert.m
index b72d7df,c497d28..ad9ba51
--- a/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXConvert.m
@@@ -724,32 -723,21 +724,48 @@@ WX_NUMBER_CONVERT(NSUInteger, unsignedI
return type;
}
+#pragma mark - Length
+
++ (WXLength *)WXLength:(id)value isFloat:(BOOL)isFloat scaleFactor:(CGFloat)scaleFactor
+{
+ if (!value) {
+ return nil;
+ }
+
+ WXLengthType type = WXLengthTypeFixed;
+ if ([value isKindOfClass:[NSString class]]) {
+ if ([value isEqualToString:@"auto"]) {
+ type = WXLengthTypeAuto;
+ } else if ([value isEqualToString:@"normal"]){
+ type = WXLengthTypeNormal;
+ } else if ([value hasSuffix:@"%"]) {
+ type = WXLengthTypePercent;
+ }
+ } else if (![value isKindOfClass:[NSNumber class]]) {
+ WXAssert(NO, @"Unsupported type:%@ for WXLength", NSStringFromClass([value class]));
+ }
+
+ if (isFloat) {
+ return [WXLength lengthWithFloat:([value floatValue] * scaleFactor) type:type];
+ } else {
+ return [WXLength lengthWithInt:([value intValue] * scaleFactor) type:type];
+ }
++
+ + (WXBoxShadow *)WXBoxShadow:(id)value scaleFactor:(CGFloat)scaleFactor
+ {
+ NSString *boxShadow = @"";
+ if([value isKindOfClass:[NSString class]]){
+ boxShadow = value;
+ } else if([value isKindOfClass:[NSNumber class]]){
+ boxShadow = [((NSNumber *)value) stringValue];
+ } else if (value != nil) {
+ boxShadow = nil;
+ WXLogError(@"Convert Error:%@ can not be converted to boxshadow type", value);
+ }
+ if (boxShadow) {
+ return [WXBoxShadow getBoxShadowFromString:boxShadow scaleFactor:scaleFactor];
+ }
+ return nil;
}
@end