754 Commits

Author SHA1 Message Date
Alexey Glushkov
42f56defbf ASTextNode wrong text layout fix 2015-11-22 11:56:12 +03:00
Scott Goodson
18dffb41e8 Fix an issue that could cause the view / layer to be created early by -clearContents. 2015-11-19 17:10: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
Rui Peres
377c84abc2 Imported missing classes in the umbrella header 2015-11-14 15:07:35 +00:00
Scott Goodson
bfe908bc8a Fix for behavior difference between CA and UIKit that causes mutation crash 2015-11-09 13:41:25 -08:00
Scott Goodson
6d8bad13c0 Fix crash in ASCII art creator for one-element children arrays 2015-11-08 19:04:16 -08:00
appleguy
e8d238610f Merge pull request #830 from facebook/WorkingWindowQuickFix
Patch for properly tearing down Working Window
2015-11-08 18:54:34 -08:00
appleguy
b295eda4b1 Merge pull request #823 from vitalybaev/SocialAppExample
New example app -- a "social" feed similar to Facebook or Twitter
2015-11-08 18:53:22 -08:00
appleguy
7c9698a833 Merge pull request #812 from nguyenhuy/ImproveCellNodeLayoutDelegate
Improve cell node layout delegate
2015-11-08 18:29:35 -08:00
Scott Goodson
40237a52fc Patch for properly tearing down Working Window 2015-11-08 18:24:58 -08:00
Scott Goodson
98010c4e16 Include moved UIResponder methods in UIViewBridging Category Implementation. 2015-11-08 00:12:13 -08:00
Scott Goodson
3a4e9902e2 Remove a change that leaked from another diff in progress. 2015-11-07 23:35:58 -08:00
Scott Goodson
efa47d65dd Re-add name method to fix tests (grr). Clean up positioning of responder methods in header. 2015-11-07 23:29:36 -08:00
Scott Goodson
e0f40d5644 Fix unusual cell content blanking issue when making existing cells much taller. 2015-11-07 23:08:53 -08:00
Vitaly Baev
b1784bcf9b Fix ASTableViewCell's node selected/highlighted property 2015-11-06 13:46:30 +03:00
Steven Ramkumar
a621e10a93 Modify ASTableNode initializer 2015-11-05 08:59:41 -08:00
Steven Ramkumar
3018030c00 Add a ASTableNode class, similar to ASCollectionNode 2015-11-04 17:56:26 -08:00
Huy Nguyen
a6807ef477 Address comments in #793 2015-11-04 16:53:36 +02:00
Huy Nguyen
12dbfd1992 Only set a default layout delegate to ASCellNode if it is not provided by the async data source 2015-11-04 16:53:36 +02:00
Huy Nguyen
5701cbba40 After relayout of a cell node, table and collection views trigger an empty update transaction, instead of a reload 2015-11-04 16:53:33 +02:00
Scott Goodson
e517f88e65 Rename ASCellNode delegate to layoutDelegate to avoid common naming overlap 2015-11-01 12:51:46 -08:00
appleguy
0598935957 Merge pull request #793 from nguyenhuy/ImproveCellNodeRelayout
ASCellNode delegate to automatically resize in table & collection when -setNeedsLayout called.
2015-11-01 11:11:32 -08:00
Samuel Hsiung
e4d2551384 Make textContainerInset configurable for ASEditableTextNode placeholder and typed textViews
Previously, it was only possible to configure the textContainerInset of the typed textView by accessing the textView property on didLoad. This would cause the placeholder and typed textViews to become desynced however, so in this commit we add the ability to configure both.
2015-10-31 16:37:04 -07:00
appleguy
e11007f906 Merge pull request #781 from levi/master
Expose ASViewController's constrained size for subclass customization
2015-10-31 16:28:53 -07:00
appleguy
ae692be806 Merge pull request #796 from samhsiung/name_stacks
adds convenience methods to return a vertical and horizontal stack spec
2015-10-31 16:08:59 -07:00
Scott Goodson
3416450f11 Adding ASButtonNode. Simple but flexible, add features as desired! 2015-10-31 15:12:05 -07:00
Scott Goodson
3175ce2fe7 Fix retain cycle in basic, cache-less ASNetworkImageNodes
This should not directly affect more complex apps that don't use the ASBasicImageDownloader.

Also disables the default-on text placeholders, as they churn memory during the measurement pass.
These were intended to be written with pure layers (without using backing stores), so I don't
think it is a reasonable default-on behavior until that is fixed.
2015-10-30 22:42:05 -07:00
Samuel Hsiung
29a12834b0 adds convenience methods to return a vertical and horizontal stack spec 2015-10-29 20:06:46 -07:00
Huy Nguyen
fb18e7635b Notify ASCellNodeDelegate even if a relayout doesn't result in a resize
If the delegate is an ASTableView, relayoutAnimation will still be considered for animation.
2015-10-29 21:27:29 +02:00
Adlai Holler
cf8946cf97 Use fast enumeration when performing collection view update blocks 2015-10-29 10:30:12 -07:00
Huy Nguyen
5b8f7e978d Improve documentation of ASCellNode setNeedsLayout 2015-10-29 16:59:50 +02:00
Huy Nguyen
c7d18a4f1b ASTextCellNode triggers a relayout after a text change 2015-10-29 16:59:50 +02: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
Huy Nguyen
cd31f884dd Move ASDisplayNodePerformBlockOnMainThread to ASInternalHelpers 2015-10-29 16:09:36 +02:00
Adlai Holler
50485663b9 Never use setAnimationsEnabled: so we don't risk corrupting enabledness 2015-10-28 16:09:56 -07:00
Ethan Nagel
a2bc2074cc release any CGColor's set while the node is in a pending state 2015-10-28 11:01:01 -07:00
Levi McCallum
03bd1f4358 Expose ASViewController's constrained size for subclass customization 2015-10-27 11:40:43 -07:00
appleguy
2c8626e1f6 Merge pull request #753 from nguyenhuy/DataControllerSortedTransaction
Sort edit commands during batch updating of table and collection views
2015-10-26 13:40:06 -07:00
Huy Nguyen
6644621c04 Revert "Fix unnecessary relayout if table view width is zero initially"
This reverts commit 75331189455af75b2a5c091d7df75380676a47cf.
2015-10-26 14:28:28 +02:00
Huy Nguyen
72fca5395f Inject an ASDataController class to ASTableView, for testing purposes
- Injection can be done via a new internal initializer. The class will be used by ASTableView to create (and configure) a new data controller.
- ASTableViewTests now injects its own type of ASDataController. This facilitates new ways for testing ASTableView-specific behaviours. The first application is counting the number of times relayoutAllNodes is called on the data controller.
2015-10-26 13:52:49 +02:00
Huy Nguyen
1b500e407f Fix comment in ASTableView 2015-10-26 08:37:17 +02:00
appleguy
6c0818790c Merge pull request #774 from nguyenhuy/FixFailingTestsRelatedToDisplayNodeName
Fix failing tests related to ASDisplayNode name
2015-10-25 23:26:53 -07:00
Huy Nguyen
b77522bf4f Remove debugging names of ASDisplayNode and _ASDisplayLayer
- They are neither considered internally nor in tests. And when they are accidently considered, they cause tests to fail.
- Developers can easily set debugging names themselves whenever needed.
2015-10-26 07:44:59 +02:00
Huy Nguyen
53a3b76d6d Add read-only names to UIView and CALayer
- Backed by name of the underlying ASDisplayNode.
- Remove goofy usages of `setValue:forKey:` in ASDisplayNodeTests and ASDisplayNodeAppearanceTests.
2015-10-26 07:44:05 +02:00
Huy Nguyen
fd0b3aaf52 Revert "Revert "Make ASDisplayNode.name Thread Safe""
This reverts commit 906d7c759b471eda67b95574199b6f91d46b6782.
2015-10-26 06:29:01 +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
Huy Nguyen
ecc5e1ac83 Remove duplicate steps while coalescing changes in _ASHierarchyChangeSet 2015-10-26 06:22:30 +02:00
Huy Nguyen
8745a478ec Add documentation to ASChangeSetDataController. 2015-10-26 06:22:30 +02:00
Huy Nguyen
0315d628c5 Rename as_inverseCompare to asdk_inverseCompare for prefix consistency 2015-10-26 06:22:30 +02:00
Huy Nguyen
5ea4b1b92d Implement ASChangeSetDataController. 2015-10-26 06:22:30 +02:00