Use unique id for both root and hosting views

Summary: Same as D19600721, but supports hosting views too.

Reviewed By: cuva

Differential Revision: D19949935

fbshipit-source-id: 4490b03aff9f6d00003cf59468081cc3a4fef598
This commit is contained in:
Andrey Mishanin
2020-03-11 09:27:05 -07:00
committed by Facebook GitHub Bot
parent 0b8c2e27aa
commit 127cb604be
4 changed files with 4 additions and 9 deletions

View File

@@ -29,7 +29,9 @@
}
- (id)childForNode:(CKComponentHostingView*)node atIndex:(NSUInteger)index {
return [SKComponentLayoutWrapper newFromRoot:node];
return [SKComponentLayoutWrapper
newFromRoot:node
parentKey:[NSString stringWithFormat:@"%@.", node.uniqueIdentifier]];
}
- (void)setHighlighted:(BOOL)highlighted forNode:(CKComponentHostingView*)node {

View File

@@ -24,7 +24,6 @@
@property(nonatomic, readonly) BOOL isFlexboxChild;
@property(nonatomic, readonly) CKFlexboxComponentChild flexboxChild;
+ (instancetype)newFromRoot:(id<CKInspectableView>)root;
+ (instancetype)newFromRoot:(id<CKInspectableView>)root
parentKey:(NSString*)parentKey;

View File

@@ -47,10 +47,6 @@ static CKFlexboxComponentChild findFlexboxLayoutParams(
@implementation SKComponentLayoutWrapper
+ (instancetype)newFromRoot:(id<CKInspectableView>)root {
return [self newFromRoot:root parentKey:@""];
}
+ (instancetype)newFromRoot:(id<CKInspectableView>)root
parentKey:(NSString*)parentKey {
const CKComponentLayout layout = [root mountedLayout];

View File

@@ -33,11 +33,9 @@
}
- (id)childForNode:(CKComponentRootView*)node atIndex:(NSUInteger)index {
auto const attachState = CKGetAttachStateForView(node);
return [SKComponentLayoutWrapper
newFromRoot:node
parentKey:[NSString
stringWithFormat:@"%d.", attachState.scopeIdentifier]];
parentKey:[NSString stringWithFormat:@"%@.", node.uniqueIdentifier]];
}
- (NSArray<SKNamed<NSDictionary*>*>*)dataForNode:(CKComponentRootView*)node {