Commit Graph

30 Commits

Author SHA1 Message Date
Andres Suarez
79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00
Hugo Cuvillier
3423d78f59 Rename CKComponentViewConfiguration -> CKViewConfiguration
Summary:
Ditto. #cleanup

allow-large-files

Reviewed By: kevin0571

Differential Revision: D27498785

fbshipit-source-id: 06aa1cd186a4784a93be3fe2fc240a10c3f9fabe
2021-04-01 04:58:24 -07:00
Pritesh Nandgaonkar
790f23301e Refactor Layout Plugin
Summary:
This diff moves the iOS descriptors and other layout helpers into its own buck target. Earlier everything was part of the FlipperKitLayoutPlugin target. When kcui, tried to add macos descriptors, we realised that FlipperKitLayoutPlugin doesn't have macos platform in it and thus he had to put #if TARGET_OS_SIMULATOR check in iOS descriptors and at some other places.

In order to make the integration easier I decided to split the Layout Plugin in following way.

```
FlipperKitLayoutPlugin
  -> FlipperKitLayoutIOSDescriptors (platform set as IOS)
  -> FlipperKitLayoutHelpers (used in iOS Descriptors and usefule for Macos too)
  -> FlipperKitLayoutMacOSDescriptors(coming soon by kcui)(platform set as MacOS)

```

Reviewed By: kcui

Differential Revision: D27127587

fbshipit-source-id: f108ef81914297e93c886fe53dabf0a4bf11ebc1
2021-03-25 16:00:28 -07:00
Dustin Shahidehpour
7711502413 Add ability to register additional attribute providers.
Summary:
We have some "internal-only" stuff we want to put in the attribute of a layout node.
This allows us to do so a way that keeps it out of open-source and avoid the clunky subclassing.

Reviewed By: adamjernst

Differential Revision: D24162047

fbshipit-source-id: 518ab9fbf0b4274076f5b0ae1b249e197563fa7f
2020-10-07 15:41:44 -07:00
Dominik Wielgórski
41f1a0b454 Extra data send from iOS to Flipper Desktop
Summary: Added `extraInfo` for node descriptor for ios. Analogical to android node descriptor

Reviewed By: cuva, Andrey-Mishanin

Differential Revision: D23105947

fbshipit-source-id: f21541e97d79c0009815f94e733a056320324459
2020-08-17 10:20:53 -07:00
Chaiwat Ekkaewnumchai
f4c209bc1c (client_ios) Update Descriptors
Summary: Similar to D21040424 and D21040426.

Reviewed By: Andrey-Mishanin

Differential Revision: D21335955

fbshipit-source-id: 5e8326915e54647c77fb241ad2ed4eaa55d0cfe2
2020-05-07 06:18:38 -07:00
Adam Ernst
d66484822b Allow subdescriptors to return nil to signal no data
Summary: Currently subdescriptors are *always* rendered. Allow them to return `nil` to signal that they don't need to be rendered.

Reviewed By: cuva

Differential Revision: D21157249

fbshipit-source-id: 68a83424efc50723e1ec71c069feef8e10037671
2020-04-21 11:53:11 -07:00
Adam Ernst
d0803ecd56 Show mounted ComponentKit views in Flipper
Summary:
Before this diff, Flipper showed *leaf* views created by ComponentKit, but not any intermediate views. Now we show both.

A new node type `SKComponentMountedView` is used for this purpose. Its descriptor `SKComponentMountedViewDescriptor` mostly delegates to its view's descriptor, but redirects back into ComponentKit for children.

Reviewed By: Andrey-Mishanin

Differential Revision: D21130997

fbshipit-source-id: b3c12ea7cc1200962b3ba7c269c48d68b1809948
2020-04-21 11:53:10 -07:00
Adam Ernst
d9a2167019 Refactor SKSubDescriptor
Reviewed By: d16r

Differential Revision: D20458337

fbshipit-source-id: e8ea848c6e2f7521c5a6c6eb4110bba0bfe25593
2020-03-15 19:42:39 -07:00
Adam Ernst
19876273a3 Refactor SKComponentLayoutDescriptor
Reviewed By: Andrey-Mishanin

Differential Revision: D20458227

fbshipit-source-id: 1723043d6b217323a1c70a455042b28eaf5218a0
2020-03-15 19:42:38 -07:00
Pritesh Nandgaonkar
e8b20d5b15 Run CLANGFORMAT on plugins
Summary:
This diff runs CLANGFORMAT lint on plugins. I have added CLANGFORMAT as the lint engined for objc files in xplat/sonar. Right now the iOS folder is not formatted according to CLANGFORMAT.

Ran `arc lint -a --paths-cmd "find ./iOS/Plugins -type f" --verbose`

Reviewed By: passy

Differential Revision: D19942173

fbshipit-source-id: 8b975b0a344df073b02d69cd1f9ee5629af2799d
2020-02-17 10:49:18 -08:00
Andres Suarez
0675dd924d Tidy up Flipper license headers [1/2]
Reviewed By: passy

Differential Revision: D17863711

fbshipit-source-id: 259dc77826fb803ff1b88c88529d7f679d3b74d8
2019-10-11 13:46:45 -07:00
Andres Suarez
c4c5d453c2 Fix license headers
Reviewed By: scottrice

Differential Revision: D17673481

fbshipit-source-id: 1794e0a6e92e6894b5634b24c6e7910847616261
2019-09-30 15:10:17 -07:00
Roman Gorbunov
eff95991c6 Moving SKHighlightOverlay
Summary: Moving FlipperKitLayoutPlugin/FlipperKitPluginUtils/SKHighlightOverlay to shared folder, so Layout and WorkingRange plugins can depend on it

Reviewed By: kevin0571

Differential Revision: D17156396

fbshipit-source-id: 3f17371f2ab4818924d61e6cfb243f60ad1f2892
2019-09-05 07:31:23 -07:00
Oleksii Dykan
dbf0e3db43 Add size prop to layout inspector
Summary: Size is passed as a prop to every `CKComponent` and `CKFlexboxChild`. It is useful to see where it was set exactly

Reviewed By: kevin0571

Differential Revision: D16688496

fbshipit-source-id: 5f8dc39a967ab2d7d89d6a37a8152aa6b59db220
2019-08-07 10:24:19 -07:00
Roman Gorbunov
f2bc5d3fb2 Generic solution for live editing
Summary: Preparation for making components live editable

Reviewed By: kevin0571

Differential Revision: D16379961

fbshipit-source-id: d0ea3d753eb588fe7b55f2345124427b4a5a58b5
2019-07-25 04:03:03 -07:00
Roman Gorbunov
7551b6da04 Added search in text of some components
Summary: Added a possibility to search for the text not only in name and id of components but also in text for all components, that conforms to a protocol <SKTextSearchable>

Reviewed By: priteshrnandgaonkar

Differential Revision: D16108297

fbshipit-source-id: 31da4ac6762c487ef644d62c9576d9eff43e8cd4
2019-07-08 03:43:55 -07:00
Pritesh Nandgaonkar
7576e1c61d Fix watch tab bug
Summary:
This solves the watch tab crash discussed here D15266478, which got reverted.

Bug: [Here](diffusion/FBS/browse/master/xplat/sonar/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.mm;57c596a566bec49e343af51b93df65ed1377a2b9$338), when the node is `CKComponentRootView` the `[descriptor childForNode: node atIndex: i]` returns `SKComponentLayoutWrapper`. In the next iteration of the loop, node is `SKComponentLayoutWrapper`, the  `[descriptor childForNode: node atIndex: i]` returns `CKComponentRootView`, and hence the infinite recursion

I also tested T44431259, it is not regressed.

Reviewed By: passy

Differential Revision: D15451821

fbshipit-source-id: 25f10112f5f52bb1fa964316a4c7e91a3b29156d
2019-05-23 03:50:11 -07:00
Jonathan Ballerano
bcc05296ef Back out "Fix the crash in the watch tab"
Summary: This resolves a crash related to the contents of certain CKComponents, which was apparently introduced by D15266478

Differential Revision: D15406260

fbshipit-source-id: efd1ad1a1bcb41451c56b74c240ad2dca069deb0
2019-05-17 22:42:35 -07:00
Pritesh Nandgaonkar
821232a9c6 Fix the crash in the watch tab
Summary:
BUG:

{F158264042}

Context: The code entered an infinite loop till it crashed. In the implementation of `- (SKSearchResultNode *)searchForQuery:(NSString *)query fromNode:(id)node withElementsAlreadyAdded:(NSMutableSet<NSString *> *)alreadyAdded`, we recurse through the child. In the case when the view was `CKRootComponent` it created a `SKComponentLayoutWrapper` in the call to `[descriptor childForNode: node atIndex: i];`. This wrapper's descriptor used to return the very same view from which it was created when it's children were asked. So this led to an infinite loop.

Reviewed By: kfirapps

Differential Revision: D15266478

fbshipit-source-id: 8035209746b7cb4b8773e2fcbdd4c0a148191304
2019-05-10 09:53:18 -07:00
Pascal Hartig
bbee7a3357 Update iOS license headers (and more)
Summary: Add the affiliates bit that the linter is checking for.

Reviewed By: jknoxville

Differential Revision: D15164826

fbshipit-source-id: 500ffe89ec0c2fd3acfbc374408d16a337cecfa4
2019-05-02 03:28:07 -07:00
Kfir Schindelhaim
c764322c1a Layout plugin integration for reused nodes information
Summary:
- Expose the reused component counter into the layout plugin

https://pxl.cl/wVJf

Reviewed By: priteshrnandgaonkar

Differential Revision: D14952906

fbshipit-source-id: 784a02dbf44d80d95fdd3a804f58ecd0f51a3e1f
2019-04-26 10:15:02 -07:00
Daniel Abramowitz
0f5cee4fec Reenable SubDescriptors after fixing a bug on the flipper client dealing with empty strings
Summary: Previously an empty string would crash the flipper client. Now that we handled that ok, we can reenable the descriptors.

Reviewed By: jknoxville

Differential Revision: D13257534

fbshipit-source-id: 09be4834d5a7023b2fa4e2bee7e57e412916120b
2018-11-30 10:50:32 -08:00
John Knox
ed93c98313 Disable subdescriptors to fix layout plugin
Summary:
Bug report here: https://fb.facebook.com/groups/230455004101832/permalink/519062535241076/

This has broken layout plugin when NT components are used.
Removing the subdescriptors as a quick fix. At the moment, this means removing the new NT features.

Reviewed By: priteshrnandgaonkar

Differential Revision: D13103790

fbshipit-source-id: 57c10a0a07507aaba0cd7a20d1b548470203f2f6
2018-11-16 11:33:04 -08:00
Pritesh Nandgaonkar
2e9489d426 Remove unwanted import (#315)
Summary:
- [ ] Solves the broken travis
Pull Request resolved: https://github.com/facebook/flipper/pull/315

Reviewed By: jknoxville

Differential Revision: D12903152

Pulled By: passy

fbshipit-source-id: c349e451fd62f50d07814b86ff3e52cc5bdda10f
2018-11-02 09:59:54 -07:00
Dimple Jethani
aa979b8abd Added NTSubDescriptor files and SKSubDescriptor interface
Summary: Added NTSubDescriptor file which implements the SKSubDescriptor interface to pass all NT specific data to the Layout Component Descriptor.

Reviewed By: jknoxville

Differential Revision: D12840392

fbshipit-source-id: bff295e13e8531456428424b7e073aefe7e1ced4
2018-11-01 14:43:48 -07:00
Dimple Jethani
f153eedd3e add xhp tags on nt primitives
Summary: Adding xhp tags of <:nt:object> to reduction trace elements

Reviewed By: priteshrnandgaonkar

Differential Revision: D12818285

fbshipit-source-id: 4729ecc84dd1c31242c48fc6195ba05cdbb58e59
2018-10-29 12:04:06 -07:00
Dimple Jethani
e19489fbcb parsing JSON string for NTData subsections
Summary: Added separate subsections for ntData in objc - json string will be parsed on ios into correct subsections

Reviewed By: priteshrnandgaonkar

Differential Revision: D12817695

fbshipit-source-id: e1480303e121ceb537c47e6c30d328654ab91b8a
2018-10-29 11:29:28 -07:00
Dimple Jethani
a2c4c98feb Added nt stack trace param in SKComponentLayoutDescriptor
Summary: Added stack trace param in layout node descriptor

Reviewed By: priteshrnandgaonkar

Differential Revision: D10850248

fbshipit-source-id: 0d647c773528f40a349b6738ecfafed0f22df193
2018-10-26 18:53:25 -07:00
Pritesh Nandgaonkar
588d61efc6 Rename SonarKitLayoutComponentkitsupport
Summary: Rename SonarKitLayoutComponentkitsupport

Reviewed By: passy

Differential Revision: D10029301

fbshipit-source-id: c87717d431ce2603e31bf3c25add40f90eb76609
2018-09-25 13:47:38 -07:00