36 lines
1.0 KiB
Swift
36 lines
1.0 KiB
Swift
//
|
|
// AlertObject.swift
|
|
// MVMCore
|
|
//
|
|
// Created by Suresh, Kamlesh on 7/10/20.
|
|
// Copyright © 2020 myverizon. All rights reserved.
|
|
//
|
|
|
|
import MVMCore
|
|
|
|
public protocol AlertModelProtocol {
|
|
var title: String? { get }
|
|
var message: String? { get }
|
|
var actions: [UIAlertAction] { get }
|
|
var preferredActionIndex: Int? { get }
|
|
var preferredStyle: UIAlertController.Style { get }
|
|
}
|
|
|
|
/// An object with properties for managing the alert.
|
|
public struct AlertObject {
|
|
|
|
/// Greedy alerts dismiss any other alerts and do not allow any other alerts to show until finished.
|
|
public var isGreedy = false
|
|
|
|
/// The alert model for the alert to show.
|
|
public var alertModel: AlertModelProtocol
|
|
|
|
public weak var alertDelegate: AlertDelegateProtocol?
|
|
|
|
public init(alertModel: AlertModelProtocol, isGreedy: Bool = false, alertDelegate: AlertDelegateProtocol? = nil) {
|
|
self.alertModel = alertModel
|
|
self.isGreedy = isGreedy
|
|
self.alertDelegate = alertDelegate
|
|
}
|
|
}
|