Commit Graph
4590 Commits
Author SHA1 Message Date
Eugene Dymov a9be79c977 Bumped PINRemoteImage (3.0.0-beta.9), PINCache (3.0.1-beta.4) (#37) 2017-04-19 14:17:42 -07:00
Phil Larson dca67c3d49 Use _ASCollectionReusableView inside ASIGListSupplementaryViewSourceMethods (#40) 2017-04-19 13:26:35 -07:00
Huy Nguyen ed5a13976b ASCollectionLayout needs to set size to measured cells (#24) 2017-04-19 10:35:50 -07:00
Levi McCallum 7c86faf42b Remove hero dropshadow (#35) 2017-04-18 17:37:31 -07:00
Levi McCallum e727d9a75f Add announcement banner to documentation site (#31)
* Add announcement banner to documentation site

* Move css to the file

* Remove css from inline
2017-04-18 14:04:43 -07:00
Adlai Holler fdb54a02d9 Fix case where we forget to unlock in ASNetworkImagenode (#17) 2017-04-17 11:38:07 -07:00
Garrett Moon 9f6ec95b53 Add blog post (#9) 2017-04-14 11:42:24 -07:00
Garrett Moon b793613e04 Update podspec 2017-04-14 09:37:38 -07:00
Garrett Moon 722b8b2f53 Update media.css 2017-04-14 09:37:38 -07:00
Garrett Moon 0d658af1e6 New logo on github pages (#8) 2017-04-14 09:37:38 -07:00
Garrett Moon 3fe11f2fd5 New logo (#7) 2017-04-14 09:37:38 -07:00
Garrett Moon f67376a4c3 Update docs 2017-04-14 09:37:38 -07:00
Garrett Moon 8b41c8c300 Update License (#6) 2017-04-14 09:37:38 -07:00
Michael Schneider fa08bd0ed1 Update contribution guidelines (#3)
* Update contribution guidelines

* Some improvements

* Improve code

* Update based on feedback
2017-04-14 09:37:38 -07:00
Garrett Moon b9a4885bfb Update README.md (#5)
* Update README.md

* Update README.md
2017-04-14 09:37:38 -07:00
Garrett Moon 059e74414e Update footer 2017-04-14 09:37:38 -07:00
Garrett Moon ede6145f97 Update docs.html 2017-04-14 09:37:38 -07:00
Garrett Moon 5c8b31684a Rename AsyncDisplayKit to Texture (#4)
* Rename AsyncDisplayKit to Texture

* More renaming
2017-04-14 09:37:38 -07:00
Garrett Moon fa18ad226b Update docs 2017-04-14 09:37:38 -07:00
Garrett Moon fe66bc1a8c Hopefully the last example fix. 2017-04-14 09:37:38 -07:00
Garrett Moon caace4f98b More example fixes 2017-04-14 09:37:38 -07:00
Garrett Moon 8f76f5dee0 Add header dir to fix includes 2017-04-14 09:37:38 -07:00
Garrett Moon 3522c81d5e Update examples 2017-04-14 09:37:38 -07:00
Garrett Moon 61c2bc4c91 Texture Podspec 2017-04-14 09:37:38 -07:00
Garrett Moon 71a2f3516e Update CNAME 2017-04-14 09:37:38 -07:00
Garrett Moon 9c3c5d7554 Add in docs from https://github.com/AsyncDisplayKit/Documentation 2017-04-14 09:37:38 -07:00
Garrett Moon 1718eb8bd7 Delete GITHUB_RULES.md 2017-04-14 09:37:33 -07:00
Garrett Moon 379bec2899 Update ISSUE_TEMPLATE.md 2017-04-14 09:37:33 -07:00
Garrett Moon cd42d9ddc0 Adding buildkite support (#1)
* Adding buildkite support

* Update build.sh to support all flag
2017-04-14 09:37:33 -07:00
Huy Nguyen dcf858eac1 [ASDisplayNode] Trigger a layout pass whenever a node enters preload state (#3263)
* Add a thread-safe layoutIfNeeded implementation to ASDisplayNode

* Trigger a layout pass when a display node enters preload state
- This ensures that all the subnodes have the correct size to preload their content.

* ASCollectionNode to trigger its initial data load when it enters preload state

* Minor change in _ASCollectionViewCell

* Layout sublayouts before dispatch to main for subclass hooks

* Update comments

* Don't wait until updates are committed when the collection node enters display state

* Same deal for table node

* Explain the layout trigger in ASDisplayNode
2017-04-13 16:25:17 -07:00
Phil Larson 3164d8d013 [ASCollectionNode] Add _ASCollectionReusableView container for supplementary nodes (#3255)
* Add _ASCollectionReusableView container for ASCollectionNode supplementary nodes with applyLayoutAttributes support

• Adds support for -[ASCellNode applyLayoutAttributes:] to supplementary nodes

* Ensure _ASCollectionReusableView has layoutAttributes if the collection view doesn’t set them

* Use correct layoutAttributes accessor for supplementary elements
2017-04-13 16:16:40 -07:00
Huy Nguyen 5ef1d2b541 Improve hash functions of image and text nodes (#3265)
* Improve hash functions of image and text nodes

* Move ASEqualityHashHelpers to Private/
2017-04-13 16:13:21 -07:00
Huy Nguyen c642771e1c Remove unused initializer in ASTableNode (#3268) 2017-04-13 16:11:32 -07:00
Huy Nguyen c325ae2cb5 Move thread ownership assertion to ASThread (#3269) 2017-04-13 15:49:32 -07:00
Adlai Holler 390d8f231c Disable event logging by default (#3272) 2017-04-13 13:07:48 -07:00
Christian Selig 3dd2da5b9f Fix incorrect argument label in function comment (#3261) 2017-04-13 18:38:44 +01:00
Huy Nguyen 7d365c7d07 Introduce ASCollectionLayout and friends (#3130)
* Introduce ASCollectionViewLayout
- `ASCollectionViewLayout` is an async `UICollectionViewLayout` that encapsulates its layout calculation logic into a separate thread-safe object which can be used ahead of time and/or on multiple threads.
- `ASDataController` now can prepare for a new layout resulted from a change set before `ASCollectionView` even knows about it. By the time the change set it ready to be consumed by `ASCollectionView`, its new layout is also ready.
- New `ASCollectionViewLayoutCalculating` protocol that is simple and generic enough that many types of calculators can be built on top. `ASCollectionViewLayoutSpecCalculator` conforms to `ASCollectionViewLayoutCalculating` protocol and can be backed by any layout spec (e.g `ASStackLayoutSpec`, `PIMasonryLayoutSpec`, etc). We can even build a `ASCollectionViewLayoutYogaCalculator` that uses Yoga internally.
- A built-in `ASCollectionViewFlowLayoutCalculator` that is a subclass of `ASCollectionViewLayoutSpecCalculator` and uses a multi-threaded multi-line `ASStackLayoutSpec` internally. The result is a performant and thread-safe flow layout calculator.
- Finally, `ASCollectionViewLayout` can be subclassed to handle a specific type of calculator with optimizations implemented based on the knowledge of such calculator. For example, `ASCollectionViewFlowLayout` can have a highly optimized implementation of `-layoutAttributesForElementsInRect:`.

Protocolize layout calculator providing and consuming

Add flex wrap documentation

Add a `multithreaded` flag to ASStackLayoutSpec that forces it to dispatch even if it's off main
- Update ASCollectionViewFlowLayoutSpecCalculator to use that flag.

Minor change in ASCollectionViewLayout

Implement Mosaic layout calculator

Minor change

Fix project file

Rename and fix project file

Skip fetching constrained size only if a layout calculator is available

Update examples/ASCollectionView

Remove unnecessary change in ASTableView

Address comments

Rename collection view calculator protocols

Minor changes after rebasing with master

Add ASLegacyCollectionLayoutCalculator for backward compatibility

Remove ASCollectionLayoutSpecCalculator

Remove ASLegacyCollectionLayoutCalculator

Introduce ASCollectionLayout
- A wrapper object that contains content size and an element to rect table.
- Collection layout calculators to return this new object instead of an ASLayout.

Before adding a content cache

Finishing hooking up ASCollectionLayoutDataSource to ASCollectionNode

Stash

Finish ASCollectionLayout

Rough impl of ASCollectionFlowLayout

Revert changes in CustomCollectionView example

Move ASRectTable back to Private

* Rename ASCollectionContentAttributes to ASCollectionLayoutState

* Address other comments

* Introduce ASCollectionLayoutDelegate and make ASCollectionLayout private

* Address comments

* API tweaks:
- Replace `-layoutContextWithElementMap:` in ASCollectionLayoutDelegate with `-additionalInfoForLayoutWithElements:`. The returned object is then stored in ASCollectionLayoutContext for later lookups.
- ASCollectionLayoutContext has no public initializer.
- ASDataControllerLayoutDelegate no longer requires a context of type ASCollectionLayoutContext but simply an `id`. This helps decouple ASDataController and ASCollectionLayout.
- Rename `elementMap` to `elements`.
- Rename `visibleMap` to `visibleElements`.
- Other minor changes.

* Rename ASCGSizeHash to ASHashFromCGSize

* Make sure to call super in -[ASCollectionLayout prepareLayout]

* Update example/ASCollectionView to use ASCollectionFlowLayoutDelegate

* Remove unnecessary change
2017-04-12 11:13:44 +01:00
Michael Schneider ae1e299f21 Fix PINRemoteImageManagerPriority deprecation (#3258) 2017-04-11 10:52:10 -07:00
Garrett Moon 8c3775f5e2 Need to check availability before use of macros. (#3254)
* Need to check availability before use of macros.

* Get rid of PCH and enforce macro definition.

* Remove prefix

* Switch to global warning instead, much better.
2017-04-10 15:06:40 -07:00
Garrett Moon 68a8d5f468 Add download resume support (#3246)
* Adds support for resuming downloads that were canceled due to exiting preload range.

* Update to latest PINRemoteImage

* Fix warnings

* Address comments. Thanks @nguyenhuy!
2017-04-10 11:18:05 -07:00
Heberti Almeida 582bca93cb Fix failing batch fetch in some cases. (#3242)
* Fixed failed batch fetch caused by _deceleratingVelocity

* Fixed indentation
2017-04-10 09:35:44 -07:00
Adlai Holler b41816d40d Standardize Dependency Flags for PINRemoteImage, IGListKit (#3244)
* no message

* Go further

* Make the symbols public so that apps actually build

* Move ASAvailability into the umbrella header

* Remove duplicate define

* Put the file back where it was in the list

* Revert "Put the file back where it was in the list"

This reverts commit 6a80c15b5b5efe5ff39812a018114e8bdc1dc0cf.
2017-04-07 15:04:50 -07:00
Adlai Holler 873ae64cec Remove macOS support (#3245) 2017-04-05 11:58:11 -07:00
Garrett Moon 30ad10da3c _setImage wasn't calling correct implementation (#3243)
_setImage is intended to call the super version of the method,
however with the adoption of the new _locked_ prefix, ASImageNode's
implementation would call back into ASNetworkImageNode's implementation.
This restore the intent of the _setImage method.
2017-04-04 15:13:10 -07:00
Huy Nguyen 75ad248f8c Fix failing build in XCode 8.3 (#3241) 2017-04-04 14:37:45 -07:00
Adlai Holler e1f7b86756 Add support for IGListKit > 2.1, without IGListCollectionView (#3239) 2017-04-03 12:52:36 -07:00
Adlai Holler 42eb955d8f Range controller: do not schedule range update after rendering finishes if already in full range mode (#3236) 2017-04-03 09:57:16 -07:00
Adlai Holler c7794a31dd Beef up the headers for ASSectionController and ASSupplementaryNodeSource (#3233) 2017-04-03 11:09:57 +01:00
appleguy d4af736985 [ASCollectionView] Improve interop to silence invalid layout warnings, fix supplementary passthrough. (#3178)
* [ASCollectionView] Improve interop to silence invalid layout warnings, fix supplementary passthrough.

Before this change, passthrough of supplementary elements didn't work properly -- it would get rehosted into the blank ASCellNode.

* [ASCollectionView] Ensure that IGListKit-handled supplementary views are sent through ASRangeController.

* [ASCellNode] When .shouldUseUIKitCell == YES, don't remove the subviews of the .contentView
2017-04-02 12:11:44 -07:00
Huy Nguyen 6abccf5841 ASDataController can bail early if a change set is empty (#3225) 2017-03-31 10:48:11 -07:00