Commit Graph

6 Commits

Author SHA1 Message Date
Valentin Shergin 568529e1ec Fabric: Introducting RCTViewComponentView
Summary:
Implementation of the native view component of <View>.
Root View also must have dedicated class even if its empty now.

Reviewed By: mdvacca

Differential Revision: D7526406

fbshipit-source-id: 9e14c9f679396c2cdb2d64c99086bb19df37c25c
2018-04-10 17:15:08 -07:00
Valentin Shergin 3093df6754 Fabric: RCTMountingManager and RCTMountingManagerDelegate
Summary: RCTMountingManager manages mounting process transforming mutation instructions into mount items and executing them.

Reviewed By: mdvacca

Differential Revision: D7507521

fbshipit-source-id: 6e5acdbf0b7f8bedc7e1de141dc9086f35a376c9
2018-04-10 17:15:07 -07:00
Valentin Shergin 6c406ffe38 Fabric: RCTComponentViewRegistry
Summary:
A registry for components. The registry allows to refer to component view instance by react tag.
It also has recycle-pool-like interface (and eventually the pool will be implemented).

Reviewed By: mdvacca

Differential Revision: D7507519

fbshipit-source-id: ed74203fb4d0694490b0dc23aae0aa067b3fc55b
2018-04-10 17:15:07 -07:00
Valentin Shergin 11833714d9 Fabric: RCTMountItemProtocol and five base mount items
Summary:
MountItem is a small granular light-weight instruction describing a change in the component view tree.
All instruction are supposed to be small and standard. All additional logic must be implemented in component view subclasses.
No more opaque and untyped objcblocks.
All that allows mounting manager to control and optimize an execution of those items (eventually).

Besides that five we probably will need `perform imperative instruction` (for execution something like `scrollTo`) and `update local data` (for updating local state of something like text input).

Reviewed By: mdvacca

Differential Revision: D7507518

fbshipit-source-id: 745b93125231a02cbc152cfa6c6baf423d100f81
2018-04-10 17:15:07 -07:00
Valentin Shergin dfb8fd26e6 Fabric: Default implementation of RCTComponentViewProtocol
Summary:
All methods of RCTComponentViewProtocol are non-optional,
but this default implementation removes necessity to implement all of them manually.

Reviewed By: mdvacca

Differential Revision: D7507522

fbshipit-source-id: e4dff97e8bf64e79d2f1ffca94f0549bd4b5e2fa
2018-04-10 17:15:07 -07:00
Valentin Shergin 87539c34db Fabric: RCTComponentViewProtocol
Summary: RCTComponentViewProtocol is a protocol for all UIView instances which are managed by React/MountingManager.

Reviewed By: mdvacca

Differential Revision: D7507520

fbshipit-source-id: dcbed8c5d0cc97f72942508aeccb445833ade271
2018-04-10 17:15:07 -07:00