|
//
// GroupMemberViewModel.swift
// PaiaiDataKit
//
// Created by FFIB on 2017/5/8.
// Copyright © 2017年 FFIB. All rights reserved.
//
import Foundation
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) {
Toast.showActivity(message: "正在删除群成员")
repository.removeMember(userId: item.user_id)
.subscribe(onCompleted: {[unowned self] in
Toast.showActivity(message: "群成员已删除")
var content = self.items.value
content.removeAll(where: { $0.user_id == item.user_id })
self.items.accept(content)
}).disposed(by: disposeBag)
}
}
|