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