Adlai Holler
00af76226d
[ASDisplayNode] Clarify logic around calling setNeedsDisplay ( #2094 )
2016-08-18 09:45:43 -07:00
Adlai Holler
99574a728c
Make our snapshot testing possible without framework-private access, simplify ( #2083 )
2016-08-17 17:42:37 -07:00
Michael Schneider
11215bf97f
[Automatic Hierarchy Management] Rename IHM to automatic hierarchy management and move out of beta header ( #2066 )
...
* Rename automaticHierarchy to automaticallyManagesSubnodes
* Comment adjustments
2016-08-15 12:06:06 -07:00
Michael Schneider
adcc9afb5a
[Layout Transition] Add default fade in / out layout transition ( #2052 )
...
* Add default fade in / out layout transition
* Add example for layout transition
* Update for recent layout transition API changes
* To be able to do a layoutTransition the node needs to be loaded
* Rename layoutTransitionDuration to defaultLayoutTransitionDuration
* Expose default layout transition duration delay and options
* Use `UIViewAnimationOptionBeginFromCurrentState` for initial defaultLayoutTransitionOptions
2016-08-13 17:35:20 -07:00
Michael Schneider
678df37017
[Layout Transition API] Simplify applying layout transition ( #1886 )
...
* Simplify applying layout transition in preparation for bigger layout transition API work
* Change from apply to complete in if layout transitions are involved and _applyLayout: to _setCalculatedLayout: for layout
* Change to applySubnodeInsertions and applySubnodeRemovals
* Change from completeTransition to commitTransition and flip logic around when to trampoline to the main thread for implicit hierarchy management
* More internal API improvements
* Fix merge conflicts
* Rename _layout to _calculatedLayout
2016-07-29 10:52:55 -07:00
appleguy
74bf376b2f
[ASDisplayNode] Rename _propertyLock to __instanceLock__ to avoid subclass naming collisions. ( #1941 )
2016-07-16 15:32:13 -07:00
Michael Schneider
01fed69b26
Adds trampoline for inserting and deletion of nodes
...
Currently measurement always needs to happen on the main thread if implicit hierarchy management is enabled as adding and removing from nodes needs to happen on the main thread. We now will trampoline to the main thread to do the insertion and deletion of nodes.
This also resolves the issue that can occur if a node is already loaded deep in the layout hierarchy in the layout that the node is transforming to. Before insertion or deletion is happening we need to crawl the layout hierarchy to check that though.
2016-07-01 16:33:37 -07:00
Michael Schneider
eef22074a4
Add caching for checking if ASDisplayNode can clear it contents or setNeedsDisplay: can be called on the layer
2016-06-20 13:04:44 -07:00
Hannah Troisi
c857e809f4
Clean up header comments (for consistent Facebook licensing info) ( #1741 )
...
[Licensing] Clean up header comments (for consistent Facebook licensing info)
2016-06-11 23:31:39 -07:00
Levi McCallum
f809d4a1c9
Let ASLayout determine if a node should measure
2016-06-05 09:32:48 -07:00
Levi McCallum
19e949e02f
[ASDisplayNode] Move constrainedSize to layout
2016-06-05 09:30:57 -07:00
Levi McCallum
95f1ab4902
[ASDisplayNode] Rename ASDisplayNodeTransitionContext to ASLayoutTransition ( #1680 )
...
* [ASDisplayNode] Rename ASDisplayNodeTransitionContext to ASLayoutTransition
* Rename internal ivar to fit new naming
* Fix tabbing
2016-05-25 10:10:27 +07:00
rcancro
4b54144f55
Levi's comments
2016-05-11 10:21:11 -07:00
Michael Schneider
d1054d6ed9
Move from ASSentinel to a atomic int
2016-05-05 20:25:07 -07:00
Michael Schneider
dc6d2e7660
Improve Transition ID handling
2016-05-05 20:25:07 -07:00
Michael Schneider
42174210c5
Follow up for ASCollectionNode and ASTableNode background color fix
2016-04-19 16:07:42 -07:00
Michael Schneider
3793dc024e
Improve setting special properties for certain classes directly to the UIView
...
- Remove duplicated code in ASCollectionNode and ASTableNode
- Fix setting the pending state to the view if applying the pending state to the view
2016-04-19 10:50:22 -07:00
appleguy
30a0c471ca
Merge pull request #1528 from ejensen/instancetype
...
[Refactoring] Replace id with instancetype in initializers
2016-04-16 20:53:41 -07:00
Huy Nguyen
3dc2ceb0ad
Remove ASDisplayNodeExtraIvars
2016-04-15 21:48:11 +03:00
Eric Jensen
527397ba7e
Replace id with instancetype in initializers
2016-04-13 11:20:05 -07:00
Michael Schneider
28c4fede57
Add support for newly added a11y properties in iOS 8 / 9 and tvOS
...
New a11y properties:
- accessibilityNavigationStyle
- accessibilityHeaderElements
- accessibilityActivationPoint
- accessibilityPath
2016-04-09 11:23:25 -07:00
Michael Schneider
f3303c1fb8
Add properties for accessibilty to ASDisplayNode to support layer backed nodes
2016-04-09 11:23:25 -07:00
Michael Schneider
4e757f0969
General improvements
...
- Refactor naming of ASEnvironmentCollection to ASEnvironmentState
- Remove struct pointers
- Move ASEnvironmentStatePropagation to a enum class
- Move merge functions to pure functions
- Move ASLayoutOptionsForwarding and ASLayoutableExtensibility into ASLayoutSpec and ASDisplayNode
- Remove ASLayoutableSetValuesForLayoutable and move into explicit classes (ASDisplayNode, ASTextNode)
2016-03-31 20:43:20 -07:00
Michael Schneider
96df35e41a
Initial commit for ASEnvironment
2016-03-31 20:43:20 -07:00
appleguy
d9ef0922d8
Merge pull request #1354 from ejensen/cleanup
...
[Refactoring] Objective-C 2.0 / Modern syntax for arrays, dictionaries, numbers; logic simplification
2016-03-17 01:06:33 -07:00
Eric Jensen
33fda7ab49
- Use modern Objective-C syntax.
...
- Simplify comparisons.
- Remove dead stores.
2016-03-15 22:34:29 -07:00
Huy Nguyen
22b105bfdc
ASCollectionView doesn't animate size changes if some of the updated cell nodes don't want to
2016-03-15 16:17:43 -07:00
Huy Nguyen
fa8f2f4429
Implement async transition
2016-03-11 18:56:58 -08:00
Huy Nguyen
caddd1d287
Fix threadSafeBounds
...
- Bounds change set directly to _ASDisplayLayer should also be saved to threadSafeBounds
- Remove overkill _usesDisplayView flag
2016-03-03 16:18:07 -08:00
Huy Nguyen
5e49cc4382
Layout transition can measure in background
2016-03-02 22:47:04 -08:00
Huy Nguyen
9162d7b2df
Implement thread-safe bounds and use it in ASTextNode
2016-03-02 22:42:53 -08:00
Garrett Moon
eba6afc36b
Revert "Don't clear contents when moving between nodes"
...
This reverts commit 6d1732fcbdda44603577979afdddb9fc48b6d6e4.
2016-03-01 16:45:36 -08:00
Garrett Moon
6d1732fcbd
Don't clear contents when moving between nodes
2016-03-01 09:57:07 -08:00
Adlai Holler
3ff833c4f5
[ASDisplayNode:UIViewBridge] Reduce calls to -isNodeLoaded
2016-02-21 10:10:04 -08:00
Adlai Holler
648dc817ad
[ASDisplayNode] Use a C function to lazily create pending view state
2016-02-21 10:03:06 -08:00
Adlai Holler
edf6ee59e8
[ASDisplayNode] Remove RespectThreadAffinityOfNode function
2016-02-20 15:43:00 -08:00
Adlai Holler
a46bd8e29b
More tests, all but 1 passing
2016-02-20 15:40:47 -08:00
Adlai Holler
b5b5f9f559
Some clean up
2016-02-20 15:40:47 -08:00
Adlai Holler
99b674c346
Lay some foundation for our new pending state controller
2016-02-20 15:40:47 -08:00
Levi McCallum
b267821d4c
Wrap implicit node hierarchy management behind feature flag property
2016-02-10 19:21:29 -08:00
Levi McCallum
6f37bb40d9
Allow layouts to be accessible in context
2016-02-10 14:39:46 -08:00
Levi McCallum
499c3331ce
Optimize insertion/deletion node calculation & expose inserted/deleted subnodes to transition context
2016-02-10 11:44:13 -08:00
Levi McCallum
e57761ffbe
Fix pending layout reference causing nil references
2016-02-10 11:44:13 -08:00
Levi McCallum
8737e242f8
Extract measurement and transition into different methods based on feedback
2016-02-10 11:44:12 -08:00
Levi McCallum
8bfa3e4012
Remove ivar
2016-02-10 11:44:12 -08:00
Levi McCallum
5cf5cb8452
Delegate layout frame calculation to sublayout method
2016-02-10 11:44:12 -08:00
Levi McCallum
3b1a32c413
Clean up implicit hierarchy management to enable custom animation
2016-02-10 11:44:11 -08:00
Levi McCallum
9dc358196a
Basic implementation of transitioning API for layout specs
2016-02-10 11:44:10 -08:00
Scott Goodson
9e87813425
Micro-optimizations in ASDisplayNode that help reduce overhead when recursing large hierarchies.
2016-02-05 21:43:14 -08:00
Huy Nguyen
fda9efafa6
Add timestamp to notifications of rendering engine and avoid race conditions in ASRangeControllerBeta
...
- Accurately remove notification observer
2016-02-04 15:44:44 -08:00