78 Commits

Author SHA1 Message Date
Levi McCallum
fddb0061b0 Use ASCellNodes for supplementary nodes 2015-10-15 11:40:52 -07:00
Levi McCallum
848dc26a0d Fix hook method naming 2015-10-15 11:40:52 -07:00
Levi McCallum
4fb4119f9c Clarify data controller subclass hooks 2015-10-15 11:40:52 -07:00
Levi McCallum
eb5c79598c Clean up arrangement of data controller subclassing methods 2015-10-15 11:40:52 -07:00
Levi McCallum
3f0092435a Add support to move supplementary nodes with section position changes 2015-10-15 11:40:51 -07:00
Levi McCallum
9235ce5ac2 Support reloading supplementary nodes when sections reload 2015-10-15 11:40:51 -07:00
Levi McCallum
f9bba315df Stub out subclass hooks for section insert/remove/update/moving 2015-10-15 11:40:51 -07:00
Levi McCallum
ed7a73361b Use simpler completed nodes loop 2015-10-15 11:40:51 -07:00
Levi McCallum
71966f3549 Relayout all nodes in backing store on relayoutAllNodes 2015-10-15 11:40:51 -07:00
Levi McCallum
b58649fdcb Clean up supplementary nodes in data controller store on each reload 2015-10-15 11:40:51 -07:00
Levi McCallum
769a67569c Batch layout as display nodes 2015-10-15 11:40:50 -07:00
Levi McCallum
34f3065825 Use local method for introspecting data controller constrained sizes 2015-10-15 11:40:50 -07:00
Levi McCallum
0086949a65 Fix typo 2015-10-15 11:40:50 -07:00
Levi McCallum
1c2046cdf4 Localize debugging LOG definition 2015-10-15 11:40:50 -07:00
Levi McCallum
e4f274aebb Expose completed nodes array by kind 2015-10-15 11:40:50 -07:00
Levi McCallum
aa1842e484 Remove non-null definitions 2015-10-15 11:40:50 -07:00
Levi McCallum
6e49e1f4d5 Initialize mutable editing nodes before section insertion 2015-10-15 11:40:50 -07:00
Levi McCallum
f041a273b5 Use rows mutable array for section deletion 2015-10-15 11:40:50 -07:00
Levi McCallum
afda471bd0 Clean up interfacing with internal editing/completed stores 2015-10-15 11:40:50 -07:00
Levi McCallum
835f9e99ca Batch render supplementary views on reload data 2015-10-15 11:40:49 -07:00
Levi McCallum
a3dce24fdc Document data controller node population 2015-10-15 11:40:49 -07:00
Levi McCallum
bdd786f593 Document internal storage behaviors of ASDataController 2015-10-15 11:40:49 -07:00
Levi McCallum
da7a2a5d48 Further implement data controller support and layout introspection 2015-10-15 11:40:49 -07:00
Levi McCallum
ed1b737ead Define initial supplementary node creation behavior 2015-10-15 11:40:48 -07:00
Levi McCallum
e9eadac4ae Stub out ASCollectionDataController subclass 2015-10-15 11:40:48 -07:00
Adlai Holler
fbd3c77fec Finish that thought 2015-10-11 08:43:43 -07:00
Adlai Holler
d964364cd5 Add some documentation in DataController, plus use Fast Enumeration more 2015-10-11 08:39:29 -07:00
Adlai Holler
595891629c Remove pointless assertion 2015-10-10 10:33:56 -07:00
Adlai Holler
0c361894ac Remove comment 2015-10-09 21:17:11 -07:00
Adlai Holler
1e232561f4 Whitespace 2015-10-09 21:16:28 -07:00
Adlai Holler
7f42b37dec Remove needsMeasure 2015-10-09 21:13:00 -07:00
Adlai Holler
fdb11275db Put back the frame-setting behavior when measuring cell nodes 2015-10-09 20:23:54 -07:00
Adlai Holler
06b7897bc1 Finish measuring on main thread when possible 2015-10-09 20:06:59 -07:00
Adlai Holler
93cdc0f2f5 Don't set cell node frames during measurement 2015-10-09 19:55:14 -07:00
Adlai Holler
223e9ff504 Merge branch 'DontSetCellNodeFramesDuringMeasure' into MeasureCellNodesOnMain
Conflicts:
	AsyncDisplayKit/Details/ASDataController.mm
2015-10-09 19:53:46 -07:00
Adlai Holler
e716ccb580 Don't set cell node frames during measure, set them just before returning the cell size to UITableView/UICollectionView 2015-10-09 19:51:12 -07:00
Adlai Holler
e92a6ce9e3 Initial work on measuring loaded cell nodes on the main thread 2015-10-09 19:37:36 -07:00
Adlai Holler
99b9f73b1a Fix index into size ranges 2015-10-05 11:51:05 -07:00
Adlai Holler
33c07db58c Set node.frame entirely 2015-10-05 11:42:25 -07:00
Adlai Holler
4601fccb5a Optimize ASDataController._layoutNodes 2015-10-05 11:37:29 -07:00
Huy Nguyen
a94cd9dd99 Remove externalCompletedNodes getter in ASDataController. 2015-09-28 00:18:49 +03:00
Huy Nguyen
e619edcd86 Ensure data consistency between ASDataController and its delegate while executing update transactions. 2015-09-27 22:59:36 +03:00
Steven Ramkumar
d09888f9c2 Add a indexPathForNode: to ASTableView 2015-09-22 12:09:56 -07:00
Huy Nguyen
97f323a8d9 Fix relayoutAllRows to trigger measurement (with the new constrained size) on all nodes, including loading ones. 2015-08-21 01:02:19 +03:00
Huy Nguyen
7249661990 Improve relayout when constrained size of all nodes is changed:
- In -layoutSubviews of table and collection views, detect changes that cause a different constrained size for nodes, and trigger relayout immediately.
- Orientation change can be handled by this solution. So, no need to observe to its events.
- Update Kittens example to support iPad (easier to catch bugs on these devices) and add a title to navigation bar (looks a bit nicer).
2015-08-13 06:28:47 +03: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
Huy Nguyen
e657bedd40 Automatically relayout cells after orientation changed. 2015-08-09 00:36:58 +03: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
Scott Goodson
8fa092fb77 Complete overhaul of ASFlowLayoutController.
Introduced ASIndexPath for efficient handling of index paths in C++ vectors,
while maintaining the readability of ".section" and ".row" instead of
".first" and ".second" inside of complicated business logic.

Confirmed that the working range calls are firing appropriately during
ASTableViewStressTest, including the deallocation of the rich text placeholders
provided by ASTextNode.
2015-07-04 20:22:04 -07:00