Commit graph

18 commits

Author SHA1 Message Date
Ryan Nystrom
f5339113df Support supplementaryViews created from nibs (continued)
Summary:
Continuing the work on #90. I don't believe I can push directly to that PR since the origin is `master` of a repo I don't have access to.

https://help.github.com/articles/checking-out-pull-requests-locally/

I went ahead and added another supplementary view test copying the old one we had.

cc jessesquires in case there's something else I can do here. I believe this will still give rawlinxx credit?
Closes https://github.com/Instagram/IGListKit/pull/162

Differential Revision: D4137364

Pulled By: rnystrom

fbshipit-source-id: d8418ac5728fd6d9570fa1d1568f4343f5c4112b
2016-11-05 16:29:06 -07:00
Ryan Nystrom
cd6f8bce2a Remove reload data experiment
Summary: Another experiment with neutral results. Removing.

Reviewed By: jessesquires

Differential Revision: D4127194

fbshipit-source-id: cdafca161e0fec95cb35baad446929a03bb1cf4c
2016-11-03 16:29:32 -07:00
Ryan Nystrom
f682dfd45c Remove layout experiment
Summary: Experiment results were neutral. Removing.

Reviewed By: jessesquires

Differential Revision: D4127172

fbshipit-source-id: 1110ea1e0c08ad74f63840465f12be5b6b059c15
2016-11-03 16:29:31 -07:00
Bofei Zhu
158d04ebe0 Support supplementaryViews created from storyboard
Summary:
Miss this in the previous PR #92. Will add unit test soon.
Closes https://github.com/Instagram/IGListKit/pull/123

Differential Revision: D4101594

Pulled By: rnystrom

fbshipit-source-id: 820030358532b0878f6d9e9092834266c9260a38
2016-11-01 10:59:21 -07:00
Bofei Zhu
9685f2ba06 Provide object in IGListSingleSectionController size block
Summary:
Fix #144
Closes https://github.com/Instagram/IGListKit/pull/147

Differential Revision: D4111495

Pulled By: rnystrom

fbshipit-source-id: 34d66e60a7e389da684239b6a6aa992cbcd3d9cd
2016-11-01 10:59:21 -07:00
Ryan Nystrom
9e8ad9626a Remove iOS 7 UICollectionView delegate API support
Summary: Don't need support for iOS 7 anymore, save some cycles on layout.

Reviewed By: ocrickard

Differential Revision: D4098229

fbshipit-source-id: eeaaf875acda1229f9622f11acc7c77ccad75cf0
2016-10-29 14:59:09 -07:00
Jake Lin
eca0205c26 Call copy method to avoid a potential issue for an NSString property
Summary:
According to rnystrom 's comment on #125 , we leave only two small changes in this PR.
1. Call copy method to avoid a potential issue for an `NSString` property.
2. fix a typo.

close #125

- [x] All tests pass. Demo project builds and runs.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/131

Differential Revision: D4095492

Pulled By: rnystrom

fbshipit-source-id: b162842a38850c826685efd0746022daabe9d2b8
2016-10-28 07:59:06 -07:00
Vinh Nguyen
a3d5c14a87 Add missing docs in IGListAdapterUpdaterDelegate
Summary:
- Add missing docs in `IGListAdapterUpdaterDelegate`, fix #128.

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/130

Differential Revision: D4095494

Pulled By: rnystrom

fbshipit-source-id: 49acb065b61e3837a9624a4d7e9b50fcd08351e8
2016-10-28 07:44:16 -07:00
Roman Klauke
348b11da4f reword some assertions with more informations
Summary:
This commit changes some assertion texts. No behavior is changed; no assertions are added (just reworded).  Some of them were short or contained no real meaningful informations, where the error probably is.

Ref: #113

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/122

Differential Revision: D4090470

Pulled By: rnystrom

fbshipit-source-id: 96f492a1efd258ec3424ce334802229fdbdee191
2016-10-27 14:29:12 -07:00
Ryan Nystrom
b5aa5e3900 Replace diff result API for batch updates
Summary:
Replacing the move+update API with a batch-updates-safe API on the diff results object. This makes using the diff results w/out the rest of IGListKit infra much easier when working with `UITableView` or `UICollectionView`.

- Added unit tests
- Removed outdated unit tests

Reviewed By: dshahidehpour

Differential Revision: D4065798

fbshipit-source-id: 30da8a7b483d56d5acc497da9320dc07a6d0b7ad
2016-10-26 11:59:13 -07:00
Bofei Zhu
8855b5156a Add storyboard support #39
Summary:
This PR is for #39

- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/92

Differential Revision: D4066721

Pulled By: rnystrom

fbshipit-source-id: 4fca278ae9a54aa46626932d47d4a4c001b437d6
2016-10-25 15:29:13 -07:00
Bofei Zhu
a01e9954e3 Add asserts to IGListAdapter
Summary:
Fix #91
Closes https://github.com/Instagram/IGListKit/pull/108

Differential Revision: D4063183

Pulled By: rnystrom

fbshipit-source-id: 8ff4a5ac3bf7418cb968093e9f87b7fc55bc2fe1
2016-10-21 19:59:14 -07:00
Sven Bacia
ce4b851da3 Support cells created from nibs
Summary:
I started working on adding support for dequeuing cells created from nibs (issue #1). Additionally I extended `IGListSingleSectionController` so that it can be used with nibs too. I don't know if you had this also in mind.

- [x]  I'm currently thinking about the best way to test these changes.
- [x] I was not able to update the documentation (issue #55).

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/56

Reviewed By: dshahidehpour

Differential Revision: D4023746

Pulled By: rnystrom

fbshipit-source-id: 6a8b4cfb4dba38ea6e9870a9a4506288ee155cfe
2016-10-14 18:59:18 -07:00
Valeriy Van
d3442ec497 Simplifies block ridding of one if-else branch met only once.
Summary:
Simplifies block ridding of one if-else branch met only once.
Solves issue #68.

- [*] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [*] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/69

Reviewed By: jessesquires

Differential Revision: D4021608

Pulled By: rnystrom

fbshipit-source-id: 21cfca8578398c819a68aa3a118d27d58bb580b3
2016-10-14 11:29:11 -07:00
Ryan Nystrom
394760081c Add isLast/FirstSection API to IGListSectionController
Summary: Product needs show that section controllers need some sort of awarenes when they are the first/last section in a list (e.g. for cell borders). Adding this simple API, non-breaking.

Reviewed By: jessesquires

Differential Revision: D4016023

fbshipit-source-id: c75f9298fc73875a1cabad191fe2db6cb9ee4376
2016-10-13 12:44:12 -07:00
Ben Asher
992c3b7caa IGListAdapter: Fix not returning early when collectionView/dataSource is nil and completion is nil
Summary:
- I ran the static analyzer, and it found a case in `performUpdatesAnimated:completion:` where it looks like we meant to bail out early if the `collectionView` or `dataSource` is nil, but it only does so if `completion` is provided.
- Fixed a spelling error in nearby documentation

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)

- There is one other analyzer warning, but it seems to be making an incorrect assumption. In any case, it's not something I can fix quickly (requires more time spent staring at IGListDiff.mm).
- A ticket should be opened to add static analysis to .travis.yml. I'lll do this soonish, unless someone beats me to it!

- I could add a test for this, but this project is annotated well enough with null
Closes https://github.com/Instagram/IGListKit/pull/51

Reviewed By: ocrickard

Differential Revision: D4008605

Pulled By: rnystrom

fbshipit-source-id: c2b7516cb8c1fc619aa63d1e9b0c26f2918cd8a1
2016-10-12 09:29:11 -07:00
Kyle Hickinson
a2e0005357 Replace reusable identifier methods with a C function (#40)
Summary:
Replaced the two methods for generating a reusable identifier with an inline C function (as per #40) which has 3 parameters: `viewClass` (unchanged), `nibName` (for when #1 is added), and `kind`. The string is generated following the same pattern as before.

A few things:
- The current test only tests one of the options. May want to add more tests for each.
- Not sure if you guys prefer `NS_INLINE` vs `static inline`.
- Not sure if we want to add assertions for empty strings for nibName/kind parameters.

- [x] All tests pass. Demo project builds and runs.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/49

Differential Revision: D4005549

Pulled By: jessesquires

fbshipit-source-id: e1683ebe8882d1a8de934c8166f67d3508cffba9
2016-10-11 17:59:08 -07:00
FBShipIt
cdc796746a Initial commit
fbshipit-source-id: c38b897b9e2b87c782e0e01b0145d9189dc7f9d8
2016-10-11 10:12:17 -04:00