Commit Graph

624 Commits

Author SHA1 Message Date
appleguy
d5086bd64f Merge pull request #568 from eanagel/update-astable-test
Update ASTableView test
2015-07-17 18:48:43 -07:00
appleguy
36884cc53e Merge pull request #573 from eanagel/fix-endUpdates-async-when-invalid
Prevent making async updates to UITable|CollectionView when asycDataSource is cleared
2015-07-17 17:54:10 -07:00
Ethan Nagel
c14ecd7e99 short-circuit editing calls after the asyncDataSource has been set to nil (ASCollectionView) 2015-07-16 20:26:45 -07:00
Ethan Nagel
9762e7cfe6 short-circuit editing calls after the asyncDataSource has been set to nil (ASTableView) 2015-07-16 20:26:28 -07:00
Ethan Nagel
3da7305abb Wait to begin thrashing until we have completed reloading the data so we aren't trying to do both operations concurrently. 2015-07-15 16:31:01 -07:00
Ethan Nagel
8c72118e69 Don't abuse the CI servers so much. Note - With this configuration we will often pass with a known race issue we currently have. Making ASTableViewStressTest more interesting so we can reliably reproduce the issue there. 2015-07-15 10:19:03 -07:00
appleguy
cfbf03f4e0 Merge pull request #567 from eanagel/FBSnapshotTestCase-version
Fb snapshot test case version
2015-07-14 13:56:04 -07:00
Ethan Nagel
98bdae8690 Merge branch 'master' into update-astable-test 2015-07-13 14:39:28 -07:00
Ethan Nagel
f1f124f8ac Merge branch 'master' into FBSnapshotTestCase-version 2015-07-13 14:36:51 -07:00
Ethan Nagel
13f71d6672 update Podfile to require FBSnapshotCase 1.8.1 because v2.0+ requires frameworks and we haven't tried enabling them yet. 2015-07-13 14:35:54 -07:00
Ethan Nagel
f010b0f3e3 Update ASTableView test to be more random and more rigorous. 2015-07-13 14:34:10 -07:00
appleguy
1bc972373a Merge pull request #558 from nguyenhuy/553_fix_remaining_docblocks
Fix all remaining docblocks
2015-07-12 12:18:23 -07:00
Huy Nguyen
8f83e1ae8c [appledoc] Should generate docs for layout headers. 2015-07-12 17:27:47 +07:00
Huy Nguyen
3992e9b09b [appledoc] Fix all remaining warnings. 2015-07-12 17:27:44 +07:00
appleguy
652f2255d1 Merge pull request #555 from nguyenhuy/clean_up_layout_spec
Clean up #468
2015-07-11 20:39:11 -07:00
Huy Nguyen
75983ca3e5 Merge branch 'master' into clean_up_layout_spec 2015-07-12 08:17:36 +07:00
appleguy
979774f969 Merge pull request #551 from ryanfitz/multiplex-image-node-clear-contents
releasing downloaded image when multiplex image node exits render range
2015-07-11 14:57:49 -07:00
Ryan Fitzgerald
4383e9ab2b releasing downloaded image when multiplex image node exits render range 2015-07-11 09:27:01 -04:00
appleguy
4aed9180d6 Merge pull request #554 from nguyenhuy/553_appledoc
Fix some appledoc warnings
2015-07-10 17:51:14 -07:00
Huy Nguyen
bbadc9a1e9 Update nodes in Kittens example to use new signature of layoutSpecThatFits:.. 2015-07-10 19:46:32 +07:00
Huy Nguyen
e1fd58268c Clean up #468:
- -layoutSpecThatFits: must return an ASLayoutSpec.
- Move ASDisplayNode's -measureWithSizeRange: redeclaration to ASDisplayNode.h.
- Rename ASStackLayoutChild.h to ASStackLayoutDefines.h.
- Rename ASStaticLayoutSpecDimension.h to ASRelativeSize.h.
- Don't import ASLayout.h in other headers to prevent circular inclusions.
- Explain use cases of ASLayout's initializers.
- Clean up ASInternalHelpers.h.
2015-07-10 19:41:17 +07:00
Huy Nguyen
cfac6c992a [appledoc] Fix appledoc warnings. (#553) 2015-07-10 19:02:04 +07:00
appleguy
6703c95aeb Merge pull request #543 from victormayorov/master
Implemented test for crash in ASCollectionView on reloadData
2015-07-08 12:46:49 -07:00
appleguy
4272164db3 Merge pull request #545 from ryanfitz/display-node-memory-leak-fix
fixed retain cycle between display node and its stored layout
2015-07-08 12:42:59 -07:00
Ryan Fitzgerald
83ac5ad823 changing layoutableObject to be a weak reference to avoid retain cycle between ASDisplayNode and its Layout 2015-07-08 09:58:31 -04:00
Victor Mayorov
01771f7860 Implemented test for crash in ASCollectionView on reloadData 2015-07-07 23:14:54 -07:00
appleguy
b859fdf4eb Merge pull request #542 from grigaci/fixDuplicateSymbols
Issue #541 Fix duplicate symbols on ASIndexPath with extern header and implementation file.
2015-07-07 10:15:38 -07:00
Bogdan Iusco
a0fcecc469 Fix duplicate symbols on ASIndexPath 2015-07-07 18:23:04 +03:00
appleguy
37b31a2917 Merge pull request #468 from nguyenhuy/layout_node
AsyncDisplayKit 2.0 Beta: Complete Flexbox layout system, with elimination of code duplication between sizing and layout for manual implementations!  Check out ASLayoutSpec, ASLayout, and methods like -layoutSpecThatFits:.
2015-07-06 22:57:13 -07:00
Huy Nguyen
9678adaa93 Merge branch 'master' into layout_node 2015-07-06 22:21:32 +07:00
Huy Nguyen
51f1ed819f - ASDisplayNode now caches calculated layout requested by layout specs.
- constrainedSizeForCalculatedLayout is of type ASSizeRange.
- calculatedLayout is better explained.
- Since ASLayout is cached and reused, its position property is mutable.
2015-07-06 22:08:01 +07:00
Huy Nguyen
772ed0b019 Fix import in ASCellNode. 2015-07-06 09:15:13 +07:00
appleguy
84b503c7ae Merge pull request #538 from facebook/PodspecUpdate122
Update podspec to 1.2.2
2015-07-05 13:20:15 -07:00
Scott Goodson
3afcf33206 Update podspec to 1.2.2 2015-07-05 13:19:24 -07:00
Huy Nguyen
daf3daeb51 Preserve the manual layout code in Kittens example. 2015-07-05 14:36:39 +07:00
Huy Nguyen
33a3412acf Horizontally center the text in Kittens' BlurbNode. 2015-07-05 13:54:47 +07:00
appleguy
3f574a3306 Merge pull request #521 from jflinter/jack-uiresponder-additions
Add UIResponder methods to ASDisplayNode
2015-07-04 22:36:09 -07:00
appleguy
58a55f035d Merge pull request #529 from facebook/DataControllerQueues
Overhaul ASDataController and extensively test ASTableView.
2015-07-04 21:06:34 -07:00
Scott Goodson
6220d65747 Property declaration tweak for odd Travis build failure (only on the Tests build). 2015-07-04 20:54:04 -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
appleguy
51297088ce Merge pull request #535 from eanagel/cell-clipsToBounds
Propagate ASCellNode's clipsToBounds value to the __ASTableViewCell
2015-07-01 20:11:38 -07:00
Huy Nguyen
af64f33ed7 Minor changes: remove unncessary imports and add a new line ad the end of ASInternalHelpers.h 2015-07-01 18:36:36 +07:00
Huy Nguyen
2a3753516a Fix naming convention: Rename ASLayout's "children" to "sublayouts". 2015-07-01 18:13:54 +07:00
Huy Nguyen
2149d44990 Fix naming convetion:
- "Layout node" is changed to "layout spec".
- Update tests.
- Update Kittens sample.
2015-07-01 18:13:44 +07:00
Huy Nguyen
eb5670032d ASDisplayNode flattens the ASLayout calculated from its layout spec and stores the result. This reduces memory footprint and gives -layout a performance gain. 2015-06-30 20:18:11 +07:00
Huy Nguyen
4799a9d206 Remove ASLayoutChild. ASLayout now has a position property defaults to (NAN, NAN). 2015-06-30 19:42:38 +07:00
Ethan Nagel
4963a88717 Propagate ASCellNode's clipsToBounds value to the __ASTableViewCell. This helps work around a bug we are seeing in some rare cases (selected background view overlaps other cells if size of ASCellNode has changed.) 2015-06-29 21:22:55 -07:00
Scott Goodson
57465c7fd3 Overhaul ASDataController and extensively test ASTableView.
This diff resolves all known consistency issues with ASTableView and ASCollectionView.
It includes significantly more aggressive thrash-testing in ASTableViewStressTest,
which now passes on a variety of device and simulator configurations.  It also updates
the unit tests run on every commit to ensure any regression is caught quickly.

A few of the salient changes in this diff:
- ASTableView now uses Rene's ASCollectionViewLayoutController, and actually uses a
UICollectionViewFlowLayout without any UICollectionView.  This resolves an issue where
ASFlowLayoutController was generating slightly out-of-bounds indicies when programmatically
scrolling past the end of the table content.  Because the custom implementation is likely
faster, I will revisit this later with profiling and possibly returning to the custom impl.
- There is now a second copy of the _nodes array maintained by ASDataController.  It shares
the same node instances, but this does add some overhead to manipulating the arrays. I've
filed a task to follow up with optimization, as there are several great opportunities to
make it faster.  However, I don't believe the overhead is a significant issue, and it does
guarantee correctness in even the toughest app usage scenarios.
- ASDataController no longer supports calling its delegate /before/ edit operations.  No
other class was relying on this behavior, and it would be unusual for an app developer to
use ASDataController directly.  However, it is possible that someone with a custom view
that integrates with ASDataController and ASRangeController could be affected by this.
- Further cleanup of organization, naming, additional comments, reduced code length
wherever possible.  Overall, significantly more accessible to a new reader.
2015-06-28 18:03:45 -07:00
Huy Nguyen
e74823bbee Merge branch 'master' into layout_node 2015-06-28 23:47:09 +07:00
Huy Nguyen
dd29a890df Still support -calculateLayoutThatFits: (and manual layout), for backward compatibility. 2015-06-28 20:31:32 +07:00