Files
flipper/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h
Andrey Mishanin 67a1c27af2 Prepending root scope ID
Summary: Using just the scope identifier for the root component is not sufficient when it doesn't have a scope. Solve this by prepending the scope root identifier to the parent identifier.

Reviewed By: fabiomassimo

Differential Revision: D19600721

fbshipit-source-id: d90f9ffd7ae369c76316cebc4ef792626a4584b7
2020-01-28 08:27:38 -08:00

31 lines
1.1 KiB
Objective-C

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import <Foundation/Foundation.h>
#import <ComponentKit/CKComponentLayout.h>
#import <ComponentKit/CKFlexboxComponent.h>
@protocol CKInspectableView;
@interface SKComponentLayoutWrapper : NSObject
@property (nonatomic, weak, readonly) CKComponent *component;
@property (nonatomic, readonly) NSString *identifier;
@property (nonatomic, readonly) CGSize size;
@property (nonatomic, readonly) CGPoint position;
@property (nonatomic, readonly) std::vector<SKComponentLayoutWrapper *> children;
@property (nonatomic, weak, readonly) id<CKInspectableView> rootNode;
// Null for layouts which are not direct children of a CKFlexboxComponent
@property (nonatomic, readonly) BOOL isFlexboxChild;
@property (nonatomic, readonly) CKFlexboxComponentChild flexboxChild;
+ (instancetype)newFromRoot:(id<CKInspectableView>)root;
+ (instancetype)newFromRoot:(id<CKInspectableView>)root parentKey:(NSString *)parentKey;
@end