48 Commits

Author SHA1 Message Date
Michael Schneider
aecd36a4df [ASViewController] Support optional node (#3021)
* ASViewController can be used without a node
- If a node isn't provided by developers via -initWithNode:, a default one will be created and used internally.
- This allows developers to use ASViewController like a normal UIViewController and as a base class for all view controllers among which some use a node hierarchy and some don't.

* Update ASDKgram to use a shared base ASViewController

* Minor fixes in ASViewController:
- If its node isn't provided by users, don't replace the view controller's view with the default node's view because it might be loaded from a nib.
- Init a vanilla ASDisplayNode if a node isn't provided.

* Some smaller cleanup

* Remove dummy node for ASViewController if it’s used without a node
2017-02-14 13:18:59 -08:00
Adlai Holler
bbc1aecf95 Deprecate shouldRasterizeDescendants (#3024)
* Deprecate shouldRasterizeDescendants

* Set superclass right
2017-02-13 13:34:53 -08:00
Michael Schneider
12e4e5b048 [Layout] Improve Layout System Abstraction (#2941)
* Improve Layout Abstraction

* Address naming comments

- Rename ASPrimitiveTraitEnvironment to ASTraitEnvironment
- Rename ASPrimitiveTraitCollectionPropagateDown to ASTraitCollectionPropagateDown
- Rename progagateNewPrimitiveTraitCollection: to propagateNewTraitCollection:
2017-02-03 13:04:20 -08:00
Adlai Holler
bf2363cb8f [ASDKgram] Perform batch-fetching updates on main (#2972) 2017-02-02 14:03:40 -08:00
Adlai Holler
404795dc02 Remove Support for iOS 7 (#2930)
* Drop support for iOS 7

* Copy reference images

* Update deployment for sample projects

* Update version

* Update "Life Without Cocoapods"
2017-02-01 14:40:37 -08:00
Adlai Holler
38aac9d019 IGListKit Support II: Electric Boogaloo (#2942)
* Reimplement IGListKit support in a cleaner way

* Rename and fix some stuff

* Fix supplementaries more

* Update docs

* Update test

* Cleanup minor things

* Tweak it

* Indentation

* Remove irrelevant changes

* Break out cell into its own file

* Fix indentation

* Address feedback
2017-01-30 11:16:59 -08:00
Hannah Troisi
34338cadeb [Examples] Rename node variables for clarity (#2946) 2017-01-29 10:36:34 -08:00
Scott Goodson
6db83732a8 [Examples] ASDKgram: Improve style and formatting of primary LayoutSpec implementation.
This edits only the flat layout style.  The visually structured version is still the default.
2016-12-13 13:50:06 -08:00
jaichaudhry
03045ee549 [PhotoCellNode]Update formatting of layoutSpec to a flat structure. (#2732)
* [PhotoCellNode]Update formatting of layoutSpec to a flat structure.

* [PhotoCellNode] Adding a flag to switch between flat and tree like structure of layout specs.
2016-12-12 19:45:33 -08:00
Adlai Holler
5b80a641af Improve Handling of Rasterized Node Interface & Hierarchy States (#2731)
* Improve handling of rasterize node interface states and testing

* Fix harder

* Finish fixes and move rasterization flag into beta header

* Re-enable rasterization in ASDKgram

* Re-enable working test

* Only do it in debug
2016-12-08 09:52:21 -08:00
Michael Schneider
aec8dbfb33 Fix ASDKGram deprecation warning (#2719) 2016-12-06 11:52:31 -08:00
Hannah Troisi
5f9e84ce28 [Examples] fix CustomCollectionView-Swift project configs (#2671)
* fix podfile

* add Sample scheme

* remove example project workspace files

* remove use_frameworks!

* add Sample scheme

* add use_frameworks! back in

* add scrollableDirections method
2016-11-28 15:33:29 -08:00
Austin Louden
ae11fc755e Update deprecations in ASCollectionView example, enable warnings (#2594)
* Update example deprecations and flags

* update podfile
2016-11-10 22:42:37 -08:00
Scott Goodson
d3e942acf7 [Build] Disable failing test in ASViewController until it can be investigated. 2016-11-08 15:25:05 -08:00
Michael Schneider
4e32cf6388 Rewrite layoutSpecThatFits: in ASDKgram (#2402) 2016-10-27 16:28:47 -07:00
Michael Schneider
6d5bd6e969 Cleanup calculateLayoutThatFits: (#2480) 2016-10-26 11:26:57 -07:00
Hannah Troisi
3c995d8d12 [Examples] Layout 2.0 updates (#2382)
[Examples] Layout 2.0 updates: Switch YES to 1.0 for flexGrow and flexShrink
2016-10-15 17:30:48 -07:00
Adlai Holler
c2ea7cfeac [Umbrella] ASCollectionView -> ASCollectionNode Migration, Separate Index Spaces (#2372)
* Separate dataSource & UIKit index spaces

Beef up our supplementary node support

Make the API way better

Go nuts

Add a unit test for UICollectionView's handling of reloadData inside batch updates

Wrap indexPathForNode: in a cache

Convert index paths in delegate methods

Go back on table view

Put collection view back

Switch up the API

Move most ASCollectionView API to ASCollectionNode

Move most table logic over to ASTableNode

Do the things

More conversion work

Keep on keepin' on

Get table view delegate API done

More porting

Simplify

Clear the delegate

More cleanup

Move more stuff around

Remove pointless file

Re-add some API

Put back more API

Use the right flag

* Some cleanup

* Remove incorrect comment

* Tweak the API

* Put back a couple methods

* update example projects (note: ASCollectionView deprecation warnings expected)

* change reloadDataWithCompletion:nil --> reloadData

* Clean up rebase

* Make deprecated numberOfItemsInSection methods optional

* Use the right flag

* Address nits

* update ASDKTube, ASDKgram & ASViewController examples
2016-10-14 17:21:16 -07:00
Michael Schneider
d6e5e27c39 [Layout] Add helper properties for setting sizes via CGSize and ASRelativeSize (#2324)
* Remove set layout style size helper

* Update API to set and get a CGSize / ASRelativeSize from an ASLayoutElementStyle

- Expose ASRelativeSize type
- Add new helper properties to set a size / relative size to ASLayoutElementStyle
- Don't expose the size in ASLayoutElementStyle anymore and move into ASLayoutElementStylePrivate

* Update examples

* Update comments for size helpers
2016-10-04 12:35:45 -04:00
Michael Schneider
75dca556e6 [Layout] Add style property to ASLayoutable (#2261)
* Add style property to ASLayoutable

* Add styles property to further layout specs

* Adjust some examples

* Add `loadStyle` to create the style object in a ASLayoutable

* Revert "Add `loadStyle` to create the style object in a ASLayoutable"

This reverts commit 2b7240f2c7dc993e38cadf290cfdf08482dd70c7.

* Revert "Adjust some examples"

This reverts commit 3254ae0a321e75db3ecfa80adee9d96bde93a33d.

* Revert "Add styles property to further layout specs"

This reverts commit c779dcb876ead27122c1af1300146a6ad36912cb.

* Rename ASLayoutableStyleDeclaration to ASLayoutableStyle

* Add styleClass class property for extensibility support of the ASLayoutable style object

* flexShrink should not be YES by default
2016-09-22 16:00:52 -07:00
Michael Schneider
53a6743908 Don't use automaticallyManageSubnodes in ASTextCellNode (#2212) 2016-09-08 11:17:50 -07:00
Michael Schneider
8897614f0e [Layout] Layout API based on content area (#2110)
* Initial commit for adding a size constraint to ASLayoutable's

* Some more commits

* Fix sample projects in extra/

* Remove preferredFrameSize test of ASEditableTextNode

* Remove preferredFrameSize from examples_extra

* Add deprecation warning to -[ASDisplayNode preferredFrameSize]

* Add deprecation warning to -[ASDisplayNode measureWithSizeRange:]

* Commit

* Commit

* Remove ASRelativeSizeRange

* Make ASRelativeSize private

* Adjust examples

* Improve setting of -[ASLayoutable size] with points or fractions

* Add ASWrapperLayoutSpec

* Improve creation of ASRelativeDimension

* Add `preferredFrameSize` back and add deprecated logging

* Add `layoutSpecBlock` setter and getter and add locking for it

* Add better documentation and fix macros to create ASRelativeDimension

* Create new ASSizeRangeMake with just a CGSize as parameter

* Update Kitten and Social App Layout example

* Add layoutThatFits: and deprecate measure:

* Rename ASRelativeDimension to ASDimension

* Fix examples for ASDimension renaming

* Remove fancy height and width setter

* Fix ASDimension helper

* Rename -[ASLayout layoutableObject] to -[ASLayout layoutable]

* Update layout related methods and more clearer documentation around how to use it

* Deprecate old ASLayout class constructors

* Don't unnecessary recalculate layout if constrained or parent size did not change

* Use shared pointer for ASDisplayNodeLayout

* Fix rebase conflicts

* Add documentation and move implementation in mm file of ASDisplayNodeLayout

* Fix test errors

* Rename ASSize to ASLayoutableSize

* Address comments

* Rename setSizeFromCGSize to setSizeWithCGSize

* Improve inline functions in ASDimension

* Fix rebase conflicts
2016-09-07 08:44:48 -07:00
Adlai Holler
5e3627a9cd [ASTextNode] Actually deprecate attributedString property (#2151) 2016-09-01 16:43:03 -07:00
Michael Schneider
68d6d6f5b4 [ASDisplayNode] Add documentation for range state changes and moved deprecated header to category file (#2170)
* Add documentation for range state changes and moved deprecated header to category file

* Fix self.usesImplicitHierarchyManagement not found
2016-08-31 15:39:23 -07:00
Michael Schneider
075dd73280 Parse RFC 3339 date time strings around 7-8 times faster (#2059) 2016-08-11 12:46:26 -07:00
Hannah Trosi
2317e17c53 Remove UIKit call from -init!1 2016-07-10 21:17:32 -07:00
Hannah Troisi
c857e809f4 Clean up header comments (for consistent Facebook licensing info) (#1741)
[Licensing] Clean up header comments (for consistent Facebook licensing info)
2016-06-11 23:31:39 -07:00
Erekle
03f193c58b Merge remote-tracking branch 'facebook/master' into ASVideoPlayerNode 2016-05-22 13:49:36 +04:00
Jonas Schmid
94b88ad1ab Removed DevelopmentTeam setting in sample (#1682) 2016-05-19 13:20:37 -07:00
Erekle
8c8fc3dba0 Adding ASVideoPlayerNode 2016-05-17 11:08:53 -07:00
Scott Goodson
15a4e18844 [Examples] Officially add tvOS to podspec, ensure Podfiles correctly show minimum supported version 7.0 instead of 7.1 2016-04-22 20:29:52 -07:00
Michael Schneider
563e52bb6a Fix Podfile is missing target for samples 2016-04-21 11:07:08 -07:00
Hannah Troisi
4e8d835280 [ASDKgram example update] addressed PR comments
- overrode the -(void)fetchData method in PhotoCellNode.m to download the photo’s comments. This method gets called with the PhotoCellNode enters ASInterfaceStateFetchData, which is set by the rangeController.
    - UIKIT COMPARISON: I left the comment bulk download (for all photos in a page load) in the PhotoFeedViewController side for UIKit because when implemented in the PhotoTableViewCell, each cell jumped around as it changed size when it came on screen.
- minor appearance updates
    - updated color scheme
    - fixed status bar style to darkBackgroundColor
- cleaned up layoutSpecThatFits: in PhotoCellNode
2016-04-14 00:52:05 -07:00
Hannah Troisi
23d00d40e1 [New Example] 500pxgram
- added UIActivityMonitor
- added simple NSCache for UIKit tab
2016-04-11 19:04:05 -07:00
Hannah Troisi
89ab6b38fc [New Example] 500pxgram updates
- added UIKit autolayout to UIKit PhotoTableViewCell
2016-04-11 13:31:31 -07:00
Hannah Troisi
44d483b7fe [New Example] 500pxgram updates
- addressed all comments in PR except autolayout of UIKit code
2016-04-10 23:34:41 -07:00
Hannah Troisi
decb623d38 Merge remote-tracking branch 'facebook/master' into 500pxgram 2016-04-10 21:46:51 -07:00
Scott Goodson
ccddb36ed9 [ASDisplayNode] Ensure that Visible interfaceState is cleared on removal from hierarchy for rasterized elements. 2016-04-07 14:10:34 -07:00
Hannah Troisi
7a5c64f59e Removed resetDataModel on tab switching. 2016-04-05 21:59:16 -07:00
Hannah Troisi
50bb7d9386 - Partial implementation of feature resetPhotoFeedModel when switching between UIKit / ASDK tabs.
- Replaced NSData data fetches with NSURLSession
2016-04-04 20:43:07 -07:00
Hannah Troisi
caf2e43d57 ASDKgram Refactoring
- replace ASTableView's nodeForRowAtIndexPath: with nodeBlockForRowAtIndexPath:  (performance gain because nodeBlock can be called concurrently)
- replace scrollViewDidScroll: method for determining when to loadPage for ASTableView’s data model with ASBatchContext
2016-04-04 18:46:50 -07:00
Hannah Troisi
55efc4cfb3 Final code cleanup 2016-03-29 14:53:42 -07:00
Hannah Troisi
f1dbc45cef Move NavigationController and statusBarOpaqueUnderlayView to AppDelegate 2016-03-29 13:13:20 -07:00
Hannah Troisi
53741a4e0a cleaned up model, view files 2016-03-29 13:00:44 -07:00
Hannah Troisi
0f4481718c Changed UITableViewController to UIViewController 2016-03-29 00:50:52 -07:00
Hannah Troisi
112bfa8e71 Switched ASDKViewController from UIViewController to ASViewController, renamed files. 2016-03-29 00:04:08 -07:00
Hannah Troisi
d96582913a excluded questionable photos from 500px data source endpoint call. removed unneeded files for ASDK example. 2016-03-28 23:00:32 -07:00
Hannah Troisi
b5e502fbc9 [Examples: ASDKgram] Initial commit of a new sample app - a 500px photo feed / social app using layout specs and nodes. 2016-03-28 21:31:37 -07:00