You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

105 lines
3.0 KiB

//
// 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)
}
}