批量清除时,添加二次确认

This commit is contained in:
Fin 2021-05-26 12:43:31 +08:00
parent e5c0f7384f
commit f8e2b28be2
No known key found for this signature in database
GPG Key ID: CFB59B99D87A7B93
3 changed files with 37 additions and 9 deletions

View File

@ -75,3 +75,6 @@ lastHour = "The last hour";
today = "Today";
todayAndYesterday = "Today and yesterday";
allTime = "All time";
clearFrom = "Clear from:";
clear = "Clear";

View File

@ -76,3 +76,7 @@ lastHour = "过去一小时";
today = "今天";
todayAndYesterday = "昨天和今天";
allTime = "所有时间";
clearFrom = "清除以下时间段的历史消息:";
clear = "清除";

View File

@ -13,11 +13,22 @@ import RxCocoa
import RxDataSources
import MJRefresh
enum MessageDeleteType {
case lastHour
enum MessageDeleteType: Int{
case lastHour = 0
case today
case todayAndYesterday
case allTime
var string: String{
get {
return [
NSLocalizedString("lastHour"),
NSLocalizedString("today"),
NSLocalizedString("todayAndYesterday"),
NSLocalizedString("allTime"),
][self.rawValue]
}
}
}
class MessageListViewController: BaseViewController {
@ -33,6 +44,7 @@ class MessageListViewController: BaseViewController {
tableView.separatorStyle = .none
tableView.backgroundColor = Color.grey.lighten5
tableView.register(MessageTableViewCell.self, forCellReuseIdentifier: "\(MessageTableViewCell.self)")
tableView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 20, right: 0)
return tableView
}()
@ -62,21 +74,30 @@ class MessageListViewController: BaseViewController {
.tap
.flatMapLatest { Void -> PublishRelay<MessageDeleteType> in
let relay = PublishRelay<MessageDeleteType>()
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
func alert(_ type:MessageDeleteType){
let alertController = UIAlertController(title: nil, message: "\(NSLocalizedString("clearFrom"))\n\(type.string)", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: NSLocalizedString("clear"), style: .destructive, handler: { _ in
relay.accept(type)
}))
alertController.addAction(UIAlertAction(title: NSLocalizedString("Cancel"), style: .cancel, handler: nil))
self.navigationController?.present(alertController, animated: true, completion: nil)
}
let alertController = UIAlertController(title: nil, message: NSLocalizedString("clearFrom"), preferredStyle: .actionSheet)
alertController.addAction(UIAlertAction(title: NSLocalizedString("lastHour"), style: .default, handler: { _ in
relay.accept(.lastHour)
alert(.lastHour)
}))
alertController.addAction(UIAlertAction(title: NSLocalizedString("today"), style: .default, handler: { _ in
relay.accept(.today)
alert(.today)
}))
alertController.addAction(UIAlertAction(title: NSLocalizedString("todayAndYesterday"), style: .default, handler: { _ in
relay.accept(.todayAndYesterday)
alert(.todayAndYesterday)
}))
alertController.addAction(UIAlertAction(title: NSLocalizedString("allTime"), style: .default, handler: { _ in
relay.accept(.allTime)
alert(.allTime)
}))
alertController.addAction(UIAlertAction(title: NSLocalizedString("cancel"), style: .cancel, handler: nil))
alertController.addAction(UIAlertAction(title: NSLocalizedString("Cancel"), style: .cancel, handler: nil))
self.navigationController?.present(alertController, animated: true, completion: nil)
return relay