2007 Commits

Author SHA1 Message Date
Eric Horacek
30dba283e2 Remove _pendingContexts dictionary mutation during enumeration 2016-06-05 21:43:05 -07:00
Eric Horacek
dc7f67c478 Populate more aggresively 2016-06-05 21:38:08 -07:00
Eric Horacek
d89504e345 Fix index path arithmetic error 2016-06-05 21:38:08 -07:00
Eric Horacek
8f3e511b22 Fix warning 2016-06-05 21:38:08 -07:00
Eric Horacek
fc5eef3269 Repopulate supplementary views on item-level changes
Currently within `ASCollectionView`, there is an assumption that there will always be a static number of supplementary views per section—even when additional items are added or removed from that section. This is evidenced by the fact that when you invoke -[ASCollectionView insertItemsAtIndexPaths:], the data source method -[ASCollectionDataSource collectionView:nodeForSupplementaryElementOfKind:atIndexPath:] is not invoked, preventing consumers from specifying a new number of supplementary nodes for the new set of items.

With this change, the set of supplementary nodes for a section is now recalculated not only on section-level mutations, but also on item-level mutations as well. This adds item-level counterparts to the section-level `-prepareFor...` subclassing hooks in `ASDataController+Subclasses.h` to make this possible.

This should fix #1278 and #1322

This has been tested in my project and seen to fix the assertion. Open to suggestions on how to test in a more universal way.
2016-06-05 21:38:08 -07:00
appleguy
3725e53fe9 Merge pull request #1687 from levi/constrainedSize
[ASDisplayNode] Move constrained size to ASLayout
2016-06-05 18:26:03 -07:00
Hannah Troisi
52d58992da [ASVideoNode] Change superclass to ASNetworkImageNode so that it can be its own placeholder (#1710)
* [ASVideoNode] Change superclass to ASNetworkImageNode so that ASVideoNode can be its own placeholder
- remove _placeholderImageNode property of ASVideoNode (use self.image now instead)
- move layoutSpecThatFits: code to calculateSizeThatFits: & layout: methods as ASImageNode uses calculateSizeThatFits:

* [ASVideoNode] Tweaks to the definition of the delegate protocols to integrate with ASNetworkImageNode (superclass)
2016-06-05 18:18:52 -07:00
Levi McCallum
3b6347c392 Update naming of dirty layout method 2016-06-05 09:33:27 -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
a004cc7263 Include header 2016-06-05 09:22:46 -07:00
Levi McCallum
c469ad273b [ASLayout] Cache constrained size range 2016-06-05 09:22:46 -07:00
appleguy
4804f429b9 Revert "[ASCollectionView] Add a "Null Object" for a layout inspector if custom layout is given but no layout inspector" (#1713) 2016-06-04 22:49:10 -07:00
Scott Goodson
5289b1e11e [ASCellNode] Restore new enum values that should have been part of the last commit, but were lost by rebasing. 2016-06-04 22:21:00 -07:00
appleguy
87575b78ee [ASCellNode] Adding support for scroll view begin / end drag to VisibilityEvent changes. 2016-06-04 22:14:08 -07:00
Scott Goodson
783011bc0e [ASVideoNode] Added a couple comments for clarity and to identify future improvement areas. 2016-06-04 21:38:05 -07:00
appleguy
8801b61707 Merge pull request #1438 from Adlai-Holler/AvoidMutatingSublayersAgain
[ASDisplayNode] Copy Sublayers in recursivelyTriggerDisplayForLayer to Avoid NSFastEnumerationMutation Exception
2016-06-04 21:36:05 -07:00
appleguy
c9b448bc95 Merge pull request #1674 from maicki/RefactorASCollectionViewLayoutInspectingUsage
[ASCollectionView] Add a "Null Object" for a layout inspector if custom layout is given but no layout inspector
2016-06-04 21:30:48 -07:00
appleguy
e01a9b3918 Merge pull request #1707 from maicki/FixPlaceholderNotAppearing
[ASDisplayNode] Fix placeholder image is not appearing if size of node changed after initial placement
2016-06-04 16:48:24 -07:00
Michael Schneider
a914e3c428 Change visibleSizeRange to return a range with 0 location and length 2016-06-04 15:40:07 -07:00
Michael Schneider
4f493c4ad3 Fix placeholder image is not appearing if size of node changed after initial placement 2016-06-04 15:04:52 -07:00
Michael Schneider
00d9372ee4 Add a "Null Object" for a layout inspector if no no flow layout is given
The purpose of the ASCollectionViewCustomLayoutInspector is to provide a default implementation if given a custom layout, but no layout inspector.
2016-06-04 13:58:23 -07:00
Michael Schneider
6945555d60 Sort in ascending order before removing nodes and restore FIXME 2016-06-04 13:56:10 -07:00
Michael Schneider
6566b7adb7 Use asdk_inverseCompare: to reverse sort the array of index path's to delete 2016-06-04 13:56:10 -07:00
Michael Schneider
3e4b5e9e82 Sort index paths or rows in descendant order for deletion 2016-06-04 13:56:10 -07:00
Michael Schneider
45ff5634fe Use NSFastEnumeration for enumerating though eyes of completedNodes 2016-06-04 13:56:10 -07:00
Michael Schneider
f72261bd10 Remove comment and use sorted array for reloading data 2016-06-04 13:56:10 -07:00
appleguy
50ca58f7e0 Merge pull request #1706 from maicki/FixASTextKitRendererCrashIfNoVisibleRange
[ASTextKitRenderer] Fix crash truncating a string of an ASTextNode with a zero size
2016-06-04 00:55:45 -07:00
appleguy
2e384a32e1 Merge pull request #1673 from maicki/AddAutomaticMeasureBeforeLayout
[ASDisplayNode] Add automatic measure before layout
2016-06-04 00:36:18 -07:00
appleguy
e5eed560e1 Merge pull request #1693 from rcancro/traitUpdate
[ASTraitCollection] Bug fixing/LayoutSpec propagation
2016-06-03 22:01:13 -07:00
Hannah Troisi
c9ac554889 [ASDisplayNode] Add assertion to +initialize warning developers who override and do not call super.
If a developer makes this error, it would prevent calls to key lifecycle methods, such as -layoutSpecThatFits:.
Although the superclasses of ASDisplayNode do not implement +initialize, a super call is added here for consistency.
2016-06-03 20:18:12 -07:00
Michael Schneider
691749d098 Address comments 2016-06-03 14:18:49 -07:00
ricky
13a35c5f2f more comments
* allow nil for setChild/children
* moved examples out of examples/
2016-06-03 13:59:59 -07:00
Michael Schneider
b4d490848f Add measure: call for nodes without host on themselves if developer does not
Normally measure will be called before layout occurs. If this doesn't happen, nothing is going to call it at all.  An experimenting developer probably added a node to the hierarchy directly. We simply call measureWithSizeRange: using a size range equal to whatever bounds were provided to that element. This make initial experimentation using layoutSpecs much easier. Furthermore added logging if no size is given for the node before layout occurs.
2016-06-03 13:24:47 -07:00
ricky
01dbc86778 First pass of comments
* make variable naming reflect ASEnvironmentTraitCollection vs ASTraitCollection
* move trait propagation to cell allocation instead of via a nested block
* move trait propagation when setting a displaynode's supernode instead of when adding a subnode
* fixed misspelling of "colection"
2016-06-03 09:59:24 -07:00
Michael Schneider
19bb6519ed Fix crash truncating a string of a node with a zero size
The crash happens in the placeholderImage of ASTextNode. The node is not visible in the time it try to get the `placeholderImage` and so the `visibleRange` has count 0 and a crash happens while accessing the first object of an empty array.
2016-06-03 09:53:59 -07:00
ricky
501fed16aa nil out displayContext when we get a new one
Summary: Don't set the new one in the subnodes yet as this will cause ASEnvironmentTraitCollectionIsEqualToASEnvironmentTraitCollection to return NO if only the displayContext changed.

Reviewers: garrett, levi, rmalik

Reviewed By: garrett, levi, rmalik

Subscribers: rmalik

Differential Revision: https://phabricator.pinadmin.com/D94320
2016-06-02 10:33:32 -07:00
appleguy
86deec4033 Merge pull request #1665 from hannahmbanana/master
[AsyncDisplayKit+Debug.h] Move hitTestDebug code out of ASControlNode and into debug file
2016-06-01 11:15:44 +07:00
appleguy
2358c54d7f Merge pull request #1700 from 1nput0utput/ASPINRemoteImageDownloaderChanllengeBlock
[ASPINRemoteImageDownloader] Allows setting authentication challenge …
2016-06-01 11:14:01 +07:00
Michael Schneider
e84f9f27c2 Fix measurement of ASEditableTextNode
- Add ability to measure the ASEditableTextNode based on the content now by calling measure:
- ASEditableTextNode considers preferredFrameSize now
- Fix crash if ASEditableTextNode is included in a horizontal stack
- Add tests for ASEditableTextNode
2016-05-31 16:29:40 -07:00
ricky
b66b519bd6 assert that child is not nil
Summary:

Test Plan:

Reviewers:

Subscribers:

JIRA Issue(s):

Service(s):
2016-05-31 10:29:46 -07:00
Rajinder Ramgarhia
1b7d68f63f [ASPINRemoteImageDownloader] Allows setting authentication challenge block 2016-05-31 10:06:54 -04:00
appleguy
89f4653cc9 Merge pull request #1696 from maicki/FixImageNodeOpaqueBackground
[ASImageNode] Fix image sometimes appearing with black background or completely disappearing in ASImageNode
2016-05-28 22:56:16 +07:00
rcancro
cf2d9aef5c fix crash when setting layoutSpec's child to nil 2016-05-26 15:44:21 -07:00
Michael Schneider
73ce8c148a Add comment for setting the backgroundColor in ASImageNode 2016-05-26 10:01:12 -07:00
Erekle
4f40f3c12f Merge remote-tracking branch 'facebook/master' into ASVideoPlayerNode
# Conflicts:
#	AsyncDisplayKit.xcodeproj/project.pbxproj
2016-05-26 12:15:23 +04:00
ricky
bebc4c604c remove _child from ASLayoutSpec.mm. Store all children in the children array. 2016-05-25 13:30:35 -07:00
ricky
c42b0dd33a Remove explicit passing of trait collection to setChild/Children 2016-05-25 10:49:42 -07:00
Michael Schneider
e3e9d36f56 Fix image sometimes appearing with black background or completely disappearing in ASImageNode 2016-05-25 10:07:34 -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