|
//
// GroupMemberViewModel.swift
// PaiAi
//
// Created by LISA on 2017/5/8.
// Copyright © 2017年 yb. All rights reserved.
//
import UIKit
import RxSwift
import RxCocoa
import RxDataSources
public class GroupMemberViewModel {
private var repository: PhotoGroupDetailRepository
private var items: BehaviorRelay<[GroupMemberItem]>
private var disposeBag = DisposeBag()
public var isAdmin: Bool
public var contents: Observable<[AnimatableSectionModel<Int, GroupMemberItem>]> {
return items.map({ model in
return [AnimatableSectionModel(model: 0, items: model)]
})
}
public init(item: GroupDetailItem) {
self.repository = PhotoGroupDetailRepository(groupId: item.group_id)
self.items = BehaviorRelay<[GroupMemberItem]>(value: item.users)
self.isAdmin = item.group.admin_id == ShareUserId
}
public func removeMember(_ item: GroupMemberItem) {
repository.removeMember(userId: item.user_id)
.subscribe(onCompleted: {[unowned self] in
var content = self.items.value
content.removeAll(where: { $0.user_id == item.user_id })
self.items.accept(content)
}).disposed(by: disposeBag)
}
}
|