//
//  UITextFieldExt.swift
//  PaiaiUIKit
//
//  Created by FFIB on 2017/9/14.
//  Copyright © 2017年 FFIB. All rights reserved.
//

import UIKit

extension UITextField {
    
    public var isEmpty: Bool { return text?.isEmpty ?? false }
    
    public func setPlaceHolderTextColor(_ color: UIColor) {
        guard let holder = placeholder, !holder.isEmpty else {
            return
        }
        self.attributedPlaceholder = NSAttributedString(string: holder,
                                                        attributes: [NSAttributedString.Key.foregroundColor: color])
    }
    
    public func addLeftPadding(_ padding: CGFloat) {
        let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: padding, height: frame.height))
        leftView = paddingView
        leftViewMode = .always
    }
    
    public func addRightPadding(_ padding: CGFloat) {
        let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: padding, height: frame.height))
        rightView = paddingView
        rightViewMode = .always
    }
    
    public func addLeftIcon(image: UIImage, point: CGPoint) {
        leftView = addIcon(image: image, point: point)
        leftViewMode = .always
    }
    
    public func addrightIcon(image: UIImage, point: CGPoint) {
        rightView = addIcon(image: image, point: point)
        rightViewMode = .always
    }
    
    private func addIcon(image: UIImage, point: CGPoint) -> UIView {
        let view = UIView()
        let imageView = UIImageView(frame: CGRect(x: point.x, y: point.y, width: 0, height: 0))
        imageView.image = image
        imageView.sizeToFit()
        view.frame = CGRect(x: 0,
                            y: 0,
                            width: imageView.width + point.x,
                            height: imageView.height + point.y)
        view.addSubview(imageView)
        return view
    }
    
    public func clear() {
        text = ""
        attributedText = NSAttributedString(string: "")
    }
}