All Projects → devxoul → SectionReactor

devxoul / SectionReactor

Licence: MIT license
A ReactorKit extension for managing table view and collection view sections with RxDataSources

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to SectionReactor

SNAdapter
iOS swift tableview and collectionView Adapter
Stars: ✭ 35 (-22.22%)
Mutual labels:  tableview, collectionview
Containercontroller
UI Component. This is a copy swipe-panel from app: Apple Maps, Stocks. Swift version
Stars: ✭ 273 (+506.67%)
Mutual labels:  tableview, collectionview
Shsegmentedcontroltableview
Both scroll horizontal and vertical for segment scrollview which have a same header. — 类似半糖、美丽说主页与QQ音乐歌曲列表布局效果,实现不同菜单的左右滑动切换,同时支持类似tableview的顶部工具栏悬停(既可以左右滑动,又可以上下滑动)。兼容下拉刷新,上拉加载更多。现已加入swift豪华套餐,使用样例助你快速使用
Stars: ✭ 259 (+475.56%)
Mutual labels:  tableview, collectionview
Differencekit
💻 A fast and flexible O(n) difference algorithm framework for Swift collection.
Stars: ✭ 2,986 (+6535.56%)
Mutual labels:  tableview, collectionview
Reactivelists
React-like API for UITableView & UICollectionView
Stars: ✭ 250 (+455.56%)
Mutual labels:  tableview, collectionview
Pageable
An easy way to Pagination or Infinite scrolling for TableView/CollectionView
Stars: ✭ 44 (-2.22%)
Mutual labels:  tableview, collectionview
Swipetableview
Both scroll horizontal and vertical for segment scrollview which have a same header. — 类似半糖、美丽说主页与QQ音乐歌曲列表布局效果,实现不同菜单的左右滑动切换,同时支持类似tableview的顶部工具栏悬停(既可以左右滑动,又可以上下滑动)。兼容下拉刷新,自定义 collectionview实现自适应 contentSize 还可实现瀑布流功能
Stars: ✭ 2,252 (+4904.44%)
Mutual labels:  tableview, collectionview
GitTime
GitTime is GitHub Tracking App. Using ReactorKit, RxSwift, Moya.
Stars: ✭ 55 (+22.22%)
Mutual labels:  reactorkit, rxdatasources
Rxasdatasources
RxDataSource for AsyncDisplayKit/Texture
Stars: ✭ 114 (+153.33%)
Mutual labels:  tableview, collectionview
Modelassistant
Elegant library to manage the interactions between view and model in Swift
Stars: ✭ 26 (-42.22%)
Mutual labels:  tableview, collectionview
Diffabledatasources
💾 A library for backporting UITableView/UICollectionViewDiffableDataSource.
Stars: ✭ 601 (+1235.56%)
Mutual labels:  tableview, collectionview
Rxrealmdatasources
An easy way to bind an RxRealm observable to a table or collection view
Stars: ✭ 154 (+242.22%)
Mutual labels:  tableview, collectionview
Emptykit
A lightweight, swift library for displaying emptyView whenever the view(tableView/collectionView) has no content to display, just like DZNEmptyDataSet
Stars: ✭ 117 (+160%)
Mutual labels:  tableview, collectionview
Rxdatasources
UITableView and UICollectionView Data Sources for RxSwift (sections, animated updates, editing ...)
Stars: ✭ 2,784 (+6086.67%)
Mutual labels:  tableview, collectionview
Tqmultistagetableview
TQMultistageTableView是一个分3层的列表控件
Stars: ✭ 232 (+415.56%)
Mutual labels:  tableview
SwiftWaterfallFlow
swift写的瀑布流布局
Stars: ✭ 37 (-17.78%)
Mutual labels:  collectionview
Magearrefreshcontrol
An iOS refresh control with gear animation
Stars: ✭ 231 (+413.33%)
Mutual labels:  tableview
V Selectpage
SelectPage for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server side resources supports
Stars: ✭ 211 (+368.89%)
Mutual labels:  tableview
StretchableTableViewHeader-Swift
You might have seen a collapsable or stretchable tableview header in android. If you check the whatsapp profile/ group settings page , you can see this. If you are using Netflix app, you might have seen a zoom in effect in the tableview header as well. Well, if you ever wondered how to do this in iOS, I will give a simple solution.
Stars: ✭ 57 (+26.67%)
Mutual labels:  tableview
XTableView
一个基于RecyclerView+Scroller实现的二维表格组件,同时支持侧滑菜单、拖动调整列表顺序等拓展功能。A two-dimensional table view, base on recyclerview, both support to side slide menu、drag item and more.
Stars: ✭ 15 (-66.67%)
Mutual labels:  tableview

SectionReactor

Swift CocoaPods Build Status Codecov

SectionReactor is a ReactorKit extension for managing table view and collection view sections with RxDataSources.

Getting Started

This is a draft. I have no idea how would I explain this concept 🤦‍♂️ It would be better to see the ArticleFeed example.

ArticleViewSection.swift

enum ArticleViewSection: SectionModelType {
  case article(ArticleSectionReactor)

  var items: [ArticleViewSection] {
    switch self {
    case let .article(sectionReactor):
      return sectionReactor.currentState.sectionItems
    }
  }
}

ArticleSectionReactor.swift

import SectionReactor

final class ArticleSectionItem: SectionReactor {
  struct State: SectionReactorState {
    var sectionItems: [ArticleSectionItem]
  }
}

ArticleListViewReactor.swift

final class ArticleListViewReactor: Reactor {
  struct State {
    var articleSectionReactors: [ArticleSectionReactor]
    var sections: [ArticleViewSection] {
      return self.articleSectionReactors.map(ArticleViewSection.article)
    }
  }

  func transform(state: Observable<State>) -> Observable<State> {
    return state.merge(sections: [
      { $0.articleSectionReactors },
    ])
  }
}

Dependencies

Installation

pod 'SectionReactor'

License

SectionReactor is under MIT license. See the LICENSE for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].