// // CalendarViewController.swift // GMERemittance // // Created by Fm-user on 3/6/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit protocol CalendarViewDelegate { func getDate(fromDate:String,toDate:String) func goBackOneScreen() } class CalendarViewController: PopUpSavingViewController { @IBOutlet weak var calendarParentView: UIView! @IBOutlet weak var fromDateTextField: UITextField! @IBOutlet weak var toDateTextField: UITextField! private let fromDatePicker = UIDatePicker() private let toDatePicker = UIDatePicker() var delegate: CalendarViewDelegate? @IBAction func cancelCalendarAction(_ sender: Any) { self.dismissDialog() delegate?.goBackOneScreen() } override func viewDidLoad() { super.viewDidLoad() fromDatePicker.datePickerMode = .date toDatePicker.datePickerMode = .date fromDateTextField.inputView = fromDatePicker toDateTextField.inputView = toDatePicker fromDatePicker.addTarget(self, action: #selector(handleFromDatePicker(sender:)), for: .valueChanged) toDatePicker.addTarget(self, action: #selector(handleToDatePicker(sender:)), for: .valueChanged) } /** Display date picker */ @objc func handleFromDatePicker(sender: UIDatePicker) { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy/MM/dd" fromDateTextField.text = dateFormatter.string(from: sender.date) } /** Display date picker */ @objc func handleToDatePicker(sender: UIDatePicker) { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy/MM/dd" toDateTextField.text = dateFormatter.string(from: sender.date) } /** Request a transaction api */ @IBAction func submitAction(_ sender: Any) { if fromDateTextField.text != "" && toDateTextField.text != ""{ delegate?.getDate(fromDate: fromDateTextField.text!, toDate: toDateTextField.text!) self.dismissDialog() }else{ self.popUpMessageError(value: 10, message: "Please select both the dates.") } } /** Dismiss calendar dialog */ func dismissDialog() { UIView.animate(withDuration: 0.0, animations: { self.view.transform = CGAffineTransform(scaleX: 1.3, y: 1.3) self.view.alpha = 0.0; }, completion:{(finished : Bool) in if (finished) { self.view.removeFromSuperview() } }); self.removeFromParentViewController() } /** Format date as per api requirement - Parameter date: date value from Date object - returns : date value as per in format required by an api */ func dateFormatter(date: Date) -> String{ let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy/MM/dd" return dateFormatter.string(from: date) } }