initial
This commit is contained in:
60
Pods/SwiftEntryKit/Source/Model/EKRatingMessage.swift
generated
Normal file
60
Pods/SwiftEntryKit/Source/Model/EKRatingMessage.swift
generated
Normal file
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// EKRatingMessage.swift
|
||||
// SwiftEntryKit
|
||||
//
|
||||
// Created by Daniel Huri on 6/1/18.
|
||||
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
public struct EKRatingMessage {
|
||||
|
||||
// NOTE: Intentionally a reference type
|
||||
class SelectedIndex {
|
||||
var selectedIndex: Int!
|
||||
}
|
||||
|
||||
/** Selection */
|
||||
public typealias Selection = (Int) -> Void
|
||||
|
||||
/** Initial title */
|
||||
public var initialTitle: EKProperty.LabelContent
|
||||
|
||||
/** Initial description */
|
||||
public var initialDescription: EKProperty.LabelContent
|
||||
|
||||
/** Rating items */
|
||||
public var ratingItems: [EKProperty.EKRatingItemContent]
|
||||
|
||||
/** Button bar content appears after selection */
|
||||
public var buttonBarContent: EKProperty.ButtonBarContent
|
||||
|
||||
/** Selection event - Each time the user interacts a rating star */
|
||||
public var selection: Selection!
|
||||
|
||||
let selectedIndexRef = SelectedIndex()
|
||||
|
||||
/** Selected index (if there is one) */
|
||||
public var selectedIndex: Int? {
|
||||
get {
|
||||
return selectedIndexRef.selectedIndex
|
||||
}
|
||||
set {
|
||||
selectedIndexRef.selectedIndex = newValue
|
||||
}
|
||||
}
|
||||
|
||||
/** Initializer */
|
||||
public init(initialTitle: EKProperty.LabelContent,
|
||||
initialDescription: EKProperty.LabelContent,
|
||||
ratingItems: [EKProperty.EKRatingItemContent],
|
||||
buttonBarContent: EKProperty.ButtonBarContent,
|
||||
selection: Selection? = nil) {
|
||||
self.initialTitle = initialTitle
|
||||
self.initialDescription = initialDescription
|
||||
self.ratingItems = ratingItems
|
||||
self.buttonBarContent = buttonBarContent
|
||||
self.selection = selection
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user