Merge branch 'feature/dynamicRuleFormFieldEffect' into 'develop'
implemented dynamic rule effect See merge request BPHV_MIPS/mvm_core_ui!790
This commit is contained in:
commit
c07767cfb9
@ -569,6 +569,7 @@
|
||||
DBC4391922442197001AB423 /* DashLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC4391722442197001AB423 /* DashLine.swift */; };
|
||||
DBC4391B224421A0001AB423 /* CaretLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC4391A224421A0001AB423 /* CaretLink.swift */; };
|
||||
DBEFFA04225A829700230692 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB891E822253FA8500022516 /* Label.swift */; };
|
||||
EA41F4AC2787927100F5B377 /* DynamicRuleFormFieldEffectModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA41F4AB2787927100F5B377 /* DynamicRuleFormFieldEffectModel.swift */; };
|
||||
EA5124FD243601600051A3A4 /* BGImageHeadlineBodyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA5124FC243601600051A3A4 /* BGImageHeadlineBodyButton.swift */; };
|
||||
EA5124FF2436018E0051A3A4 /* BGImageHeadlineBodyButtonModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA5124FE2436018E0051A3A4 /* BGImageHeadlineBodyButtonModel.swift */; };
|
||||
EA7E67742758310500ABF773 /* EnableFormFieldEffectModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA7E67732758310500ABF773 /* EnableFormFieldEffectModel.swift */; };
|
||||
@ -1146,6 +1147,7 @@
|
||||
DBC4391622442196001AB423 /* CaretView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaretView.swift; sourceTree = "<group>"; };
|
||||
DBC4391722442197001AB423 /* DashLine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DashLine.swift; sourceTree = "<group>"; };
|
||||
DBC4391A224421A0001AB423 /* CaretLink.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaretLink.swift; sourceTree = "<group>"; };
|
||||
EA41F4AB2787927100F5B377 /* DynamicRuleFormFieldEffectModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicRuleFormFieldEffectModel.swift; sourceTree = "<group>"; };
|
||||
EA5124FC243601600051A3A4 /* BGImageHeadlineBodyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BGImageHeadlineBodyButton.swift; sourceTree = "<group>"; };
|
||||
EA5124FE2436018E0051A3A4 /* BGImageHeadlineBodyButtonModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BGImageHeadlineBodyButtonModel.swift; sourceTree = "<group>"; };
|
||||
EA7E67732758310500ABF773 /* EnableFormFieldEffectModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnableFormFieldEffectModel.swift; sourceTree = "<group>"; };
|
||||
@ -2422,8 +2424,9 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAA0CFAE275E7D8000D65EB0 /* FormFieldEffectProtocol.swift */,
|
||||
EA7E67732758310500ABF773 /* EnableFormFieldEffectModel.swift */,
|
||||
EAA0CFB2275E831E00D65EB0 /* DisableFormFieldEffectModel.swift */,
|
||||
EA41F4AB2787927100F5B377 /* DynamicRuleFormFieldEffectModel.swift */,
|
||||
EA7E67732758310500ABF773 /* EnableFormFieldEffectModel.swift */,
|
||||
EAA0CFB0275E823A00D65EB0 /* HideFormFieldEffectModel.swift */,
|
||||
);
|
||||
path = FormFieldEffect;
|
||||
@ -2985,6 +2988,7 @@
|
||||
1D6D258826899B0C00DEBB08 /* ImageButtonModel.swift in Sources */,
|
||||
AA07EA912510A442009A2AE3 /* StarModel.swift in Sources */,
|
||||
D29DF2AA21E7B2F9003B2FB9 /* MVMCoreUIConstants.m in Sources */,
|
||||
EA41F4AC2787927100F5B377 /* DynamicRuleFormFieldEffectModel.swift in Sources */,
|
||||
011D95892404249B000E3791 /* FormHolderModelProtocol.swift in Sources */,
|
||||
BB54C5202434D92F0038326C /* ListRightVariableButtonAllTextAndLinks.swift in Sources */,
|
||||
948DB67E2326DCD90011F916 /* MultiProgress.swift in Sources */,
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
//
|
||||
// Dynamic.swift
|
||||
// MVMCoreUI
|
||||
//
|
||||
// Created by Matt Bruce on 1/6/22.
|
||||
// Copyright © 2022 Verizon Wireless. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
public class DynamicRuleFormFieldEffectModel: FormFieldEffectProtocol {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
//--------------------------------------------------
|
||||
|
||||
public static var identifier: String = "dynamicRuleFormFieldEffect"
|
||||
public var fieldKey: String = ""
|
||||
public var activatedRuleIds: [String]?
|
||||
public var rules: [RulesProtocol]
|
||||
|
||||
init(_ fieldKey: String, activatedRuleIds: [String], rules: [RulesProtocol]) {
|
||||
self.fieldKey = fieldKey
|
||||
self.activatedRuleIds = activatedRuleIds
|
||||
self.rules = rules
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Keys
|
||||
//--------------------------------------------------
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case fieldKey
|
||||
case activatedRuleIds
|
||||
case rules
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Codec
|
||||
//--------------------------------------------------
|
||||
|
||||
required public init(from decoder: Decoder) throws {
|
||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||
self.fieldKey = try typeContainer.decode(String.self, forKey: .fieldKey)
|
||||
self.activatedRuleIds = try typeContainer.decodeIfPresent([String].self, forKey: .activatedRuleIds)
|
||||
self.rules = try typeContainer.decodeModels(codingKey: .rules)
|
||||
}
|
||||
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encode(fieldKey, forKey: .fieldKey)
|
||||
try container.encode(activatedRuleIds, forKey: .activatedRuleIds)
|
||||
try container.encodeModels(rules, forKey: .rules)
|
||||
}
|
||||
|
||||
public func setEffect(validity: Bool, field: FormFieldProtocol,form: FormValidator, group: FormGroupRule) { }
|
||||
}
|
||||
|
||||
@ -244,6 +244,7 @@ open class CoreUIModelMapping: ModelMapping {
|
||||
ModelRegistry.register(RuleEqualsIgnoreCaseModel.self)
|
||||
ModelRegistry.register(RuleRegexModel.self)
|
||||
ModelRegistry.register(EnableFormFieldEffectModel.self)
|
||||
ModelRegistry.register(DynamicRuleFormFieldEffectModel.self)
|
||||
ModelRegistry.register(DisableFormFieldEffectModel.self)
|
||||
ModelRegistry.register(HideFormFieldEffectModel.self)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user