2133 Commits

Author SHA1 Message Date
Eric Jensen
91e6df0af9 Add a way to check if data is in a format supported by a class implementing ASAnimatedImageProtocol 2016-06-09 10:36:18 -07:00
Eric Jensen
1fb3ffc6f8 Replace usage of imageWithData: with imageWithContentsOfFile: 2016-06-09 10:01:59 -07:00
appleguy
1847b5e947 Merge pull request #1727 from ejensen/video-poster-fix
[ASVideoNode] Prevent setting old poster image if the asset was set to nil
2016-06-08 22:41:30 -07:00
appleguy
6632b4ec5f Merge pull request #1722 from rcancro/layoutSpecTraitObject
[ASLayoutSpec] Remove cached ASTraitCollection
2016-06-08 22:29:47 -07:00
Michael Schneider
434102f988 Address comments from review
- Remove public NSMutableArray header for validators
- Add ASDISPLAYNODE_EXTERN_C_BEGIN/END
- Rename isRootLayout to isFinalLayoutable
2016-06-08 18:42:32 -07:00
Michael Schneider
9ff7223b77 Move validation code to ASLayoutValidation and add validation flag 2016-06-08 16:59:46 -07:00
Michael Schneider
f9e13545bf Improve layout validation
- Asserts if layout is invalid
- Add better help messages if layout is invalid
2016-06-08 16:39:03 -07:00
Eric Jensen
5cc25686ff Correct documentation comment 2016-06-08 12:37:46 -07:00
Eric Jensen
001d3ea624 Use a strong reference to the current asset in order to prevent setting a placeholder image if the asset is set to nil while the placeholder image is generating 2016-06-08 12:37:32 -07:00
Eric Jensen
7de82b0b5b Support loading animated images from the local filesystem 2016-06-08 11:34:56 -07:00
Eric Jensen
370e5f1006 Allow configuration of ASImageNode's animation runloop 2016-06-08 10:38:43 -07:00
Michael Schneider
197950f39b Add basic infrastructure for layout validation 2016-06-08 10:35:28 -07:00
ricky
3c34d51a19 [ASLayoutSpec] Remove cached ASTraitCollection 2016-06-07 10:50:42 -07:00
appleguy
cb67671f1d Merge pull request #1719 from garrettmoon/fixParentManagesVisibilityDepth
Reset the parentManagesVisibilityDepth flag so it's checked again
2016-06-06 23:13:18 -07:00
Garrett Moon
1e51569538 Reset the parentManagesVisibilityDepth flag so it's checked again 2016-06-06 14:38:03 -07:00
Levi McCallum
e5d7d29eb6 Fix boolean logic that prevents layout 2016-06-06 13:57:17 -07:00
Levi McCallum
20523821f9 Revert "Merge pull request #1673 from maicki/AddAutomaticMeasureBeforeLayout"
This reverts commit 2e384a32e15d34ea8f963dbc4e44aaa297ca019b, reversing
changes made to b8618d3151d9714d24ccfd935b92a99b774442f1.
2016-06-06 13:12:10 -07:00
Garrett Moon
7358fa9182 Missed #def ing out the header I guess? 2016-06-06 12:33:50 -07:00
Scott Goodson
58d7a18dd4 [Build] Tag __unused for variable only needed by an assertion. 2016-06-06 00:45:23 -07:00
Luke Parham
fc5467b110 fixed typo and added backwards compatibility for 'visibilityDidChange' 2016-06-06 02:02:23 -05:00
Luke Parham
e510120031 changed '-visibilityDidChange:' to '-visiblieStateDidChange:' to match the others 2016-06-06 00:56:21 -05:00
Luke Parham
d47059dffe updated load and display did change methods 2016-06-06 00:56:21 -05:00
Luke Parham
4b2aa1fc59 added comments to header and cleaned up interface state did change 2016-06-06 00:56:21 -05:00
Luke Parham
449a2cc517 added callbacks for entering and exiting fetch data and display ranges 2016-06-06 00:56:21 -05:00
Eric Horacek
70fbbe00a3 Whitespace 2016-06-05 21:55:57 -07:00
Eric Horacek
ed9fcdc2d7 Rebase 2016-06-05 21:53:04 -07:00
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