Commit 8288f92c authored by Soomin Lee's avatar Soomin Lee

VLCEditController: Create AlertTextField helper

parent e4ccab12
......@@ -51,6 +51,39 @@ private extension VLCEditController {
cell.checkView.isEnabled = false
}
}
private struct TextFieldAlertInfo {
var alertTitle: String
var placeHolder: String
}
private func presentTextFieldAlert(with info: TextFieldAlertInfo,
completionHandler: @escaping (String) -> Void) {
let alertController = UIAlertController(title: info.alertTitle,
message: "",
preferredStyle: .alert)
alertController.addTextField(configurationHandler: {
textField in
textField.placeholder = info.placeHolder
})
let cancelButton = UIAlertAction(title: NSLocalizedString("BUTTON_CANCEL", comment: ""),
style: .default)
let confirmAction = UIAlertAction(title: NSLocalizedString("BUTTON_DONE", comment: ""), style: .default) {
[weak alertController] _ in
guard let alertController = alertController,
let textField = alertController.textFields?.first else { return }
completionHandler(textField.text ?? "")
}
alertController.addAction(cancelButton)
alertController.addAction(confirmAction)
UIApplication.shared.keyWindow?.rootViewController?.present(alertController, animated: true, completion: nil)
}
}
extension VLCEditController: VLCEditControllerDataSource {
......@@ -104,31 +137,14 @@ extension VLCEditController: VLCEditToolbarDelegate {
for indexPath in selectedCellIndexPaths {
if let media = category.anyfiles[indexPath.row] as? VLCMLMedia {
// Not using VLCAlertViewController to have more customization in text fields
let alertController = UIAlertController(title: String(format: NSLocalizedString("RENAME_MEDIA_TO", comment: ""), media.title),
message: "",
preferredStyle: .alert)
alertController.addTextField(configurationHandler: {
textField in
textField.placeholder = NSLocalizedString("NEW_NAME", comment: "")
})
let cancelButton = UIAlertAction(title: NSLocalizedString("BUTTON_CANCEL", comment: ""),
style: .default)
let alertInfo = TextFieldAlertInfo(alertTitle: String(format: NSLocalizedString("RENAME_MEDIA_TO", comment: ""), media.title),
placeHolder: "NEW_NAME")
let confirmAction = UIAlertAction(title: NSLocalizedString("BUTTON_DONE", comment: ""), style: .default) {
[weak alertController, weak self] _ in
guard let alertController = alertController,
let textField = alertController.textFields?.first else { return }
media.updateTitle(textField.text)
presentTextFieldAlert(with: alertInfo, completionHandler: {
[weak self] text -> Void in
media.updateTitle(text)
self?.resetCell(at: indexPath)
}
alertController.addAction(cancelButton)
alertController.addAction(confirmAction)
UIApplication.shared.keyWindow?.rootViewController?.present(alertController, animated: true, completion: nil)
})
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment