|
//
// OrderViewModel.swift
// PaiAi
//
// Created by LISA on 2017/5/8.
// Copyright © 2017年 yb. All rights reserved.
//
import UIKit
import RxSwift
import RxCocoa
import RxDataSources
protocol OrderViewModelDelegate: class {
func didSelect(_ item: OrderItem)
}
public typealias OrderSource = OrderRepositorable & Gettable
public struct OrderViewModel<T: OrderSource> {
let respository: T
weak var delegate: OrderViewModelDelegate?
public init(respository: T) {
self.respository = respository
}
public var orderContents: Observable<[AnimatableSectionModel<Int, T.Content.Element>]> {
return respository.content.map({ model in
return [AnimatableSectionModel(model: 0, items: model)]
})
}
public func reload() {
respository.loadContent(isRefresh: isRefresh)
}
public func preload() {
respository.loadContent(isRefresh: false)
}
public func didSelect(_ item: OrderItem) {
delegate?.didSelect(item)
}
}
|