confluence changes Updated

This commit is contained in:
Damodaram 2020-04-09 15:24:08 +05:30
parent 870658b4c1
commit 7cba93e9f5
4 changed files with 30 additions and 13 deletions

View File

@ -135,7 +135,6 @@ open class RadioBoxCollectionViewCell: UICollectionViewCell, MoleculeViewProtoco
lineView.backgroundColor = collectionModel.selectedAccentColor?.uiColor lineView.backgroundColor = collectionModel.selectedAccentColor?.uiColor
bodyLabel.text = collectionModel.text bodyLabel.text = collectionModel.text
subTextLabel.text = collectionModel.subText subTextLabel.text = collectionModel.subText
// isSelected = collectionModel.selected
fieldValue = collectionModel.fieldValue fieldValue = collectionModel.fieldValue
isOutOfStock = collectionModel.strikethrough isOutOfStock = collectionModel.strikethrough

View File

@ -17,6 +17,8 @@ import Foundation
public var enabled: Bool = true public var enabled: Bool = true
public var strikethrough: Bool = false public var strikethrough: Bool = false
public var fieldValue: String? public var fieldValue: String?
public var fieldKey: String?
public var groupName: String?
private enum CodingKeys: String, CodingKey { private enum CodingKeys: String, CodingKey {
case moleculeName case moleculeName
@ -28,6 +30,9 @@ import Foundation
case enabled case enabled
case strikethrough case strikethrough
case fieldValue case fieldValue
case fieldKey
case groupName
} }
required public init(from decoder: Decoder) throws { required public init(from decoder: Decoder) throws {
@ -50,6 +55,9 @@ import Foundation
strikethrough = isStrikeTrough strikethrough = isStrikeTrough
} }
fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue) fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue)
fieldKey = try typeContainer.decodeIfPresent(String.self, forKey: .fieldKey)
groupName = try typeContainer.decodeIfPresent(String.self, forKey: .groupName)
} }
public func encode(to encoder: Encoder) throws { public func encode(to encoder: Encoder) throws {
@ -63,5 +71,8 @@ import Foundation
try container.encodeIfPresent(enabled, forKey: .enabled) try container.encodeIfPresent(enabled, forKey: .enabled)
try container.encodeIfPresent(strikethrough, forKey: .strikethrough) try container.encodeIfPresent(strikethrough, forKey: .strikethrough)
try container.encodeIfPresent(fieldValue, forKey: .fieldValue) try container.encodeIfPresent(fieldValue, forKey: .fieldValue)
try container.encodeIfPresent(fieldKey, forKey: .fieldKey)
try container.encodeIfPresent(groupName, forKey: .groupName)
} }
} }

View File

@ -14,13 +14,18 @@ open class RadioBoxes: View {
/// The models for the molecules. /// The models for the molecules.
var boxes: [RadioBoxModel]? var boxes: [RadioBoxModel]?
public var fieldKey: String?
public var groupName: String?
public var collectionViewHeight: NSLayoutConstraint? public var collectionViewHeight: NSLayoutConstraint?
private let boxWidth: Double = 151.0 private let boxWidth: Double = 151.0
private let boxHeight: Double = 64.0 private let boxHeight: Double = 64.0
private let itemSpacing: Double = 10.0 private let itemSpacing: Double = 10.0
private let leadingSpacing: Double = 0 private let leadingSpacing: Double = 0
public var selectedBox: RadioBoxModel? {
get{
guard let selectedItem = collectionView.indexPathsForSelectedItems?.first else {return nil}
return boxes?[selectedItem.item]
}
}
// MARK: - MVMCoreViewProtocol // MARK: - MVMCoreViewProtocol
open override func setupView() { open override func setupView() {
@ -45,8 +50,6 @@ open class RadioBoxes: View {
super.set(with: model, delegateObject, additionalData) super.set(with: model, delegateObject, additionalData)
guard let radioBoxesModel = model as? RadioBoxesModel else { return } guard let radioBoxesModel = model as? RadioBoxesModel else { return }
backgroundColor = radioBoxesModel.backgroundColor?.uiColor backgroundColor = radioBoxesModel.backgroundColor?.uiColor
fieldKey = radioBoxesModel.fieldKey
groupName = radioBoxesModel.groupName
registerCells() registerCells()
setupLayout(with: radioBoxesModel) setupLayout(with: radioBoxesModel)
prepareMolecules(with: radioBoxesModel) prepareMolecules(with: radioBoxesModel)
@ -119,3 +122,14 @@ extension RadioBoxes: UICollectionViewDataSource {
return cell return cell
} }
} }
extension RadioBoxes: UICollectionViewDelegate {
public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
guard let boxItem = boxes?[indexPath.row] else { return }
boxItem.selected = true
}
public func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
guard let boxItem = boxes?[indexPath.row] else { return }
boxItem.selected = false
}
}

View File

@ -12,16 +12,13 @@ import Foundation
public var backgroundColor: Color? = Color(uiColor: .white) public var backgroundColor: Color? = Color(uiColor: .white)
public var selectedAccentColor: Color? = Color(uiColor: .red) public var selectedAccentColor: Color? = Color(uiColor: .red)
public var boxes: [RadioBoxModel] public var boxes: [RadioBoxModel]
public var fieldKey: String?
public var groupName: String?
private enum CodingKeys: String, CodingKey { private enum CodingKeys: String, CodingKey {
case moleculeName case moleculeName
case selectedAccentColor case selectedAccentColor
case backgroundColor case backgroundColor
case boxes case boxes
case fieldKey
case groupName
} }
required public init(from decoder: Decoder) throws { required public init(from decoder: Decoder) throws {
@ -33,8 +30,6 @@ import Foundation
backgroundColor = color backgroundColor = color
} }
boxes = try typeContainer.decode([RadioBoxModel].self, forKey: .boxes) boxes = try typeContainer.decode([RadioBoxModel].self, forKey: .boxes)
fieldKey = try typeContainer.decodeIfPresent(String.self, forKey: .fieldKey)
groupName = try typeContainer.decodeIfPresent(String.self, forKey: .groupName)
} }
public func encode(to encoder: Encoder) throws { public func encode(to encoder: Encoder) throws {
@ -42,7 +37,5 @@ import Foundation
try container.encode(moleculeName, forKey: .moleculeName) try container.encode(moleculeName, forKey: .moleculeName)
try container.encodeIfPresent(selectedAccentColor, forKey: .selectedAccentColor) try container.encodeIfPresent(selectedAccentColor, forKey: .selectedAccentColor)
try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor) try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor)
try container.encodeIfPresent(fieldKey, forKey: .fieldKey)
try container.encodeIfPresent(groupName, forKey: .groupName)
} }
} }