47 Commits

Author SHA1 Message Date
appleguy
15f718ddc9 Merge pull request #868 from levi/levi/remove-deprecated
Clean up syntax and organization of ASRangeController
2015-11-23 21:24:58 -08:00
Levi McCallum
e9a32bfd3c Remove deprecated layout controller methods 2015-11-19 11:48:06 -08:00
Scott Goodson
2a0b9c8e14 Substantially improve behavior of nested Table & Collection Nodes
This ensures memory cleanup happens correctly and introduces a new test project
to support developing new features while stressing tough use cases for correctness.
2015-11-14 15:25:35 -08:00
Huy Nguyen
00400e166f Introduce ASCellNodeDelegate
- Cell node automatically notifies the delegate after a relayout (via -setNeedsLayout) that results in a new size. Confirming to ASCellNodeDelegate; ASTableView and ASCollectionView reload the calling cell upon notifications. These views automatically set themselves as delegate of every node.
- The result is that ASCellNode subclasses don't need to manually notify the containing view. Thus, `-relayoutItemAtIndexPath` and `-relayoutRowAtIndexPath` are removed.
- Kittens example is updated to reflect the change.
2015-10-29 16:59:46 +02:00
appleguy
7e616756a7 Merge pull request #722 from nguyenhuy/RelayoutCellAPI
Add relayout item/row APIs to ASTableView and ASCollectionView
2015-10-25 21:28:20 -07:00
appleguy
8dddcaa74b Merge pull request #766 from levi/levi/synchronous-reloaddata
Add synchronous reloadData methods to ASTableView and ASCollectionView
2015-10-25 21:05:52 -07:00
Levi McCallum
722b90f1cf Implement basic immediate reloadData method on table and collection view 2015-10-22 21:28:44 -07:00
Levi McCallum
c33d6efa8a WIP synchronous reload data on collection view 2015-10-22 21:28:30 -07:00
Levi McCallum
db0a0326d7 Rename layoutDelegate to layoutInspector in ASCollectionView 2015-10-21 23:17:38 -07:00
Levi McCallum
772e9b95a4 Document layout delegate on ASCollectionView 2015-10-15 11:40:53 -07:00
Levi McCallum
8ac02a6eaf Document public supplementary node methods 2015-10-15 11:40:53 -07:00
Levi McCallum
fddb0061b0 Use ASCellNodes for supplementary nodes 2015-10-15 11:40:52 -07:00
Levi McCallum
da7a2a5d48 Further implement data controller support and layout introspection 2015-10-15 11:40:49 -07:00
Levi McCallum
e492770aed Expose collection view supplementary node data source method 2015-10-15 11:38:48 -07:00
Levi McCallum
0d2332bd82 Allow ASCollectionView to register for supplementary container 2015-10-15 11:38:48 -07:00
Levi McCallum
2956c0cd8a Extract flow layout methods into a separate delegate 2015-10-15 11:38:47 -07:00
Huy Nguyen
f13f61c2f0 Add relayout item/row APIs to ASTableView and ASCollectionView. 2015-10-07 21:25:07 +03:00
Scott Goodson
a58844379c Implementation of Synchronous Concurrency features for AsyncDisplayKit 2.0
This provides internal features on _ASAsyncTransaction and ASDisplayNode to facilitate
implementing public API that allows clients to choose if they would prefer to block
on the completion of unfinished rendering, rather than allow a placeholder state to
become visible.

The internal features are:
-[_ASAsyncTransaction waitUntilComplete]
-[ASDisplayNode recursivelyEnsureDisplay]

Also provided are two such implementations:
-[ASCellNode setNeverShowPlaceholders:], which integrates with both Tables and Collections
-[ASViewController setNeverShowPlaceholders:], which should work with Nav and Tab controllers.

Lastly, on ASDisplayNode, a new property .shouldBypassEnsureDisplay allows individual node types
to exempt themselves from blocking the main thread on their display.

By implementing the feature at the ASCellNode level rather than ASTableView & ASCollectionView,
developers can retain fine-grained control on display characteristics.  For example, certain
cell types may be appropriate to display to the user with placeholders, whereas others may not.

Follow-up work will include unit tests, revisiting names, and the header locations of definitions.
2015-09-27 19:14:36 -07:00
Scott Goodson
08e31e1c37 Created ASCollectionNode with new example project.
Eases support for nesting horizontally scrolling elements within a vertical scroller.

Further changes will improve the API, and optimize handling of the nested working ranges.
2015-09-07 12:54:42 -07:00
Huy Nguyen
a3c2dbf8cd Table and collection views' async data source can provide different constrained size per node. And because the size is of type ASSizeRange, it has a min size that is very helpful in many cases.. 2015-08-12 22:45:08 +03:00
Levi McCallum
5eb75d6bc7 Add support for sectionInset in ASCollectionView in property and delegate form 2015-08-03 14:36:29 -07:00
Ethan Nagel
bf0766169b PR Feedback: Require main thread for all edit commands, various cleanup. 2015-07-20 22:08:19 -07:00
Ethan Nagel
f497639124 Add support automatically adjusting the content offset to UITableView as well as support for performing endUpdates with no animations. Additionally, there are critical bug fixes for ASDataController (begin/end updates delegates not called in correct order) and ASRangeController (failure to fully refresh internal state when inserts or delete are made.) 2015-07-20 14:05:56 -07:00
Huy Nguyen
3992e9b09b [appledoc] Fix all remaining warnings. 2015-07-12 17:27:44 +07:00
Huy Nguyen
cfac6c992a [appledoc] Fix appledoc warnings. (#553) 2015-07-10 19:02:04 +07:00
Rene Cacheaux
e46c13edc5 Exposes ASCollectionView's ability to determine scroll direction. Scroll direction detection can now support 2-axis collection view layouts. ASCollectionView can now determine scrollable axes. 2015-06-21 11:45:25 -05:00
Ethan Nagel
abd725d8c1 update documentation for reloadData:completion 2015-03-27 18:14:05 -07:00
Ethan Nagel
3f509dbd2f add completion block to reloadData methods 2015-03-26 16:32:44 -07:00
Nadine Salter
a79b771a85 Remove the nil-asyncDelegate proxy.
Fixes #349.
2015-03-11 17:43:45 -07:00
Huy Nguyen
6a13703932 Fix method documentation in ASCollectionView. 2015-03-06 12:29:59 +02:00
Ryan Nystrom
6588e7b665 Make data locking API optional 2015-03-04 10:13:32 -08:00
Ryan Nystrom
8d7fe334e2 Revisions based on feedback 2015-02-26 22:29:13 -08:00
Ryan Nystrom
b3ae15858a Unit tests for batch fetching 2015-02-26 22:26:25 -08:00
Ryan Nystrom
1f8001a104 ASCollectionView batch API 2015-02-26 22:24:46 -08:00
Ryan Nystrom
4fa03a01d1 Functioning Preload range
Refactor how we do ranges so they can be arbitrarily managed. Introduce the concept of a preload range.
2015-02-26 15:41:32 -08:00
Ryan Nystrom
9c877c51af Support for dynamic ranges
This refactors how we do ranges and implements tuning parameters for a "Render" range and a "Preload" range
2015-02-26 15:40:21 -08:00
Nadine Salter
b023cfbb2a Merge pull request #303 from facebook/enable_async_data_fetching
Move ASTableView & ASCollectionView data fetching to background thread
2015-02-23 15:25:36 -08:00
Ryan Nystrom
ad474fce8e Make project imports consistent 2015-02-23 14:55:15 -08:00
Li Tan
831aa47ae0 Address comments 2015-02-11 19:15:08 -08:00
Li Tan
6a2c472910 Add asyncDataFetchingEnabled as parameter of initializer of ASTableView & ASCollectionView
Conflicts:
	AsyncDisplayKit/ASCollectionView.mm
	AsyncDisplayKit/Details/ASDataController.mm
2015-02-11 17:24:49 -08:00
Li Tan
2f88ce56a2 Move ASTableView & ASCollectionView data fetching to background thread
Conflicts:
	AsyncDisplayKit/ASCollectionView.mm
	AsyncDisplayKit/Details/ASDataController.mm

Conflicts:
	AsyncDisplayKit/ASCollectionView.mm
	AsyncDisplayKit/Details/ASDataController.mm
2015-02-11 17:22:43 -08:00
andyscott
cc819a7d49 Use more specific types for Collection/TableView async delegate params 2015-02-05 10:35:07 -08:00
Dustin Shahidehpour
94cd785870 Added node access methods to ASTableView, ASCollectionView. 2015-01-26 13:57:04 -08:00
Li Tan
f7f5988fcd Support editing in table view and collection view 2014-12-15 13:19:10 -08:00
Huy Nguyen
230520fe7e Support custom working-range logic. 2014-11-25 12:31:20 +02:00
Huy Nguyen
c42d41fb4c Provide ASCollectionView::calculatedSizeForNodeAtIndexPath:, to be used in custom UICollectionViewLayouts. 2014-11-12 21:27:25 +02:00
Huy Nguyen
8e0c49a909 Define ASCollectionView interface, ASCollectionViewDataSource and ASCollectionViewDelegate protocols. 2014-11-10 22:56:21 +02:00