Model organizing
This commit is contained in:
parent
016c6edc06
commit
712d18d123
@ -25,57 +25,7 @@
|
||||
static dispatch_once_t onceToken;
|
||||
static NSMutableDictionary <NSString *, Class>*mapping;
|
||||
dispatch_once(&onceToken, ^{
|
||||
mapping = [@{
|
||||
@"label": Label.class,
|
||||
@"line": Line.class,
|
||||
@"button": PrimaryButton.class,
|
||||
@"link": MFTextButton.class,
|
||||
@"header": HeaderView.class,
|
||||
@"twoButtonView": TwoButtonView.class,
|
||||
@"footer": FooterView.class,
|
||||
@"caretView": CaretView.class,
|
||||
@"caretLink": CaretButton.class,
|
||||
@"textField": MFTextField.class,
|
||||
@"dropDown": DropDown.class,
|
||||
@"digitTextField": MFDigitTextField.class,
|
||||
@"digitEntryField": DigitEntryField.class,
|
||||
@"textEntryField": TextEntryField.class,
|
||||
@"itemDropdownEntryField": ItemDropdownEntryField.class,
|
||||
@"dateDropdownEntryField": DateDropdownEntryField.class,
|
||||
@"checkbox": Checkbox.class,
|
||||
@"checkboxLabel": CheckboxWithLabelView.class,
|
||||
@"cornerLabels" : CornerLabels.class,
|
||||
@"progressBar": ProgressBar.class,
|
||||
@"circleProgress": GraphView.class,
|
||||
@"multiProgressBar": MultiProgress.class,
|
||||
@"radioButton": RadioButton.class,
|
||||
@"radioButtonLabel": RadioButtonLabel.class,
|
||||
@"listItem": MoleculeTableViewCell.class,
|
||||
@"accordionListItem": AccordionMoleculeTableViewCell.class,
|
||||
@"toggle": Toggle.class,
|
||||
@"leftRightLabelView": LeftRightLabelView.class,
|
||||
@"actionDetailWithImage": ActionDetailWithImage.class,
|
||||
@"image": MFLoadImageView.class,
|
||||
@"moduleMolecule": ModuleMolecule.class,
|
||||
@"headlineBody": HeadlineBody.class,
|
||||
@"carousel": Carousel.class,
|
||||
@"carouselItem": MoleculeCollectionViewCell.class,
|
||||
@"barsPager": MVMCoreUIPageControl.class,
|
||||
@"scroller": Scroller.class,
|
||||
@"imageHeadlineBody": ImageHeadlineBody.class,
|
||||
@"labelToggle": LabelSwitch.class,
|
||||
@"headlineBodyToggle": HeadlineBodySwitch.class,
|
||||
@"headlineBodyLink": HeadlineBodyTextButton.class,
|
||||
@"headlineBodyLinkToggle": HeadlineBodyTextButtonSwitch.class,
|
||||
@"tabsListItem": TabsTableViewCell.class,
|
||||
@"dropDownListItem": DropDownFilterTableViewCell.class,
|
||||
@"headlineBodyButton": HeadlineBodyButton.class,
|
||||
@"stackItem": MoleculeStackItem.class,
|
||||
@"eyebrowHeadlineBodyLink": EyebrowHeadlineBodyLink.class,
|
||||
@"headlineBodyCaretLinkImage" : HeadLineBodyCaretLinkImage.class,
|
||||
@"doughnutChart": DoughnutChartView.class,
|
||||
@"headLineBodyCaretLinkImage" : HeadLineBodyCaretLinkImage.class
|
||||
} mutableCopy];
|
||||
mapping = [@{} mutableCopy];
|
||||
});
|
||||
return mapping;
|
||||
}
|
||||
|
||||
@ -10,42 +10,14 @@ import Foundation
|
||||
|
||||
@objcMembers public class MoleculeObjectMapping: NSObject {
|
||||
public static func registerObjects() {
|
||||
// Stacks
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MoleculeStackView.self, viewModelClass: MoleculeStackModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Stack<StackModel>.self, viewModelClass: StackModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MoleculeStackItem.self, viewModelClass: MoleculeStackItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: StackItem.self, viewModelClass: StackItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: StringAndMoleculeView.self, viewModelClass: StringAndMoleculeModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: UnOrderedList.self, viewModelClass: UnOrderedListModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: NumberedList.self, viewModelClass: NumberedListModel.self)
|
||||
|
||||
// Label
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Label.self, viewModelClass: LabelModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: HeaderView.self, viewModelClass: HeaderModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: FooterView.self, viewModelClass: FooterModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: HeadlineBody.self, viewModelClass: HeadlineBodyModel.self)
|
||||
ModelRegistry.register(MoleculeStackItemModel.self)
|
||||
ModelRegistry.register(TextFieldModel.self)
|
||||
ModelRegistry.register(ProgressBarModel.self)
|
||||
ModelRegistry.register(MultiProgressBarModel.self)
|
||||
ModelRegistry.register(CaretViewModel.self)
|
||||
ModelRegistry.register(DashLineModel.self)
|
||||
ModelRegistry.register(ImageViewModel.self)
|
||||
ModelRegistry.register(TabsModel.self)
|
||||
ModelRegistry.register(ScrollerModel.self)
|
||||
ModelRegistry.register(CornerLabelsModel.self)
|
||||
ModelRegistry.register(LineModel.self)
|
||||
ModelRegistry.register(CircleProgressModel.self)
|
||||
ModelRegistry.register(HeadlineBodyCaretLinkImageModel.self)
|
||||
ModelRegistry.register(ToggleModel.self)
|
||||
// buttons
|
||||
ModelRegistry.register(ButtonModel.self)
|
||||
ModelRegistry.register(TwoButtonViewModel.self)
|
||||
ModelRegistry.register(LinkModel.self)
|
||||
ModelRegistry.register(CaretLinkModel.self)
|
||||
// list items
|
||||
ModelRegistry.register(ListItemModel.self)
|
||||
ModelRegistry.register(DropDownListItemModel.self)
|
||||
ModelRegistry.register(AccordionListItemModel.self)
|
||||
ModelRegistry.register(TabsListItemModel.self)
|
||||
|
||||
//need to move labelattributemodel to different method
|
||||
ModelRegistry.register(LabelAttributeFontModel.self)
|
||||
ModelRegistry.register(LabelAttributeColorModel.self)
|
||||
@ -53,16 +25,78 @@ import Foundation
|
||||
ModelRegistry.register(LabelAttributeUnderlineModel.self)
|
||||
ModelRegistry.register(LabelAttributeStrikeThroughModel.self)
|
||||
ModelRegistry.register(LabelAttributeActionModel.self)
|
||||
|
||||
// Buttons
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: PrimaryButton.self, viewModelClass: ButtonModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: TwoButtonView.self, viewModelClass: TwoButtonViewModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MFTextButton.self, viewModelClass: LinkModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: CaretButton.self, viewModelClass: CaretLinkModel.self)
|
||||
|
||||
// Other Atoms
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Label.self, viewModelClass: LabelModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: TextEntryField.self, viewModelClass: TextFieldModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: DropDown.self, viewModelClass: DropDownModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: ProgressBar.self, viewModelClass: ProgressBarModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MultiProgress.self, viewModelClass: MultiProgressBarModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: CaretView.self, viewModelClass: CaretViewModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: DashLine.self, viewModelClass: DashLineModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MFLoadImageView.self, viewModelClass: ImageViewModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Line.self, viewModelClass: LineModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: GraphView.self, viewModelClass: CircleProgressModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Toggle.self, viewModelClass: ToggleModel.self)
|
||||
|
||||
//
|
||||
//ModelRegistry.register(ModuleMoleculeModel.self)
|
||||
ModelRegistry.register(LeftRightLabelModel.self)
|
||||
ModelRegistry.register(CaretViewModel.self)
|
||||
ModelRegistry.register(CaretLinkModel.self)
|
||||
ModelRegistry.register(LabelToggleModel.self)
|
||||
ModelRegistry.register(DoughnutChartModel.self)
|
||||
ModelRegistry.register(NumberedListModel.self)
|
||||
ModelRegistry.register(UnOrderedListModel.self)
|
||||
ModelRegistry.register(HeadlineBodyToggleModel.self)
|
||||
// Horizontal Combination Molecules
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: StringAndMoleculeView.self, viewModelClass: StringAndMoleculeModel.self)
|
||||
|
||||
// Vertical Combination Molecules
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: HeadlineBody.self, viewModelClass: HeadlineBodyModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: HeadLineBodyCaretLinkImage.self, viewModelClass: HeadlineBodyCaretLinkImageModel.self)
|
||||
|
||||
// Left Right Molecules
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: CornerLabels.self, viewModelClass: CornerLabelsModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: LeftRightLabelView.self, viewModelClass: LeftRightLabelModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: LabelSwitch.self, viewModelClass: LabelToggleModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: HeadlineBodySwitch.self, viewModelClass: HeadlineBodyToggleModel.self)
|
||||
|
||||
// List items
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MoleculeTableViewCell.self, viewModelClass: ListItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: DropDownFilterTableViewCell.self, viewModelClass: DropDownListItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: AccordionMoleculeTableViewCell.self, viewModelClass: AccordionListItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: TabsTableViewCell.self, viewModelClass: TabsListItemModel.self)
|
||||
|
||||
// Other Items
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MoleculeStackItem.self, viewModelClass: MoleculeStackItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: StackItem.self, viewModelClass: StackItemModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: MoleculeCollectionViewCell.self, viewModelClass: CarouselItemModel.self)
|
||||
|
||||
// Other Container Molecules
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: HeaderView.self, viewModelClass: HeaderModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: FooterView.self, viewModelClass: FooterModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Scroller.self, viewModelClass: ScrollerModel.self)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: ModuleMolecule.self, viewModelClass: ModuleMoleculeModel.self)
|
||||
|
||||
// Other Molecules
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: DoughnutChartView.self, viewModelClass: DoughnutChartModel.self)
|
||||
|
||||
// Other Organisms
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.register(viewClass: Carousel.self, viewModelClass: CarouselModel.self)
|
||||
|
||||
// TODO: Need model
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(DigitEntryField.self, forKey: "digitTextField" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(DateDropdownEntryField.self, forKey: "dateDropdownEntryField" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(Checkbox.self, forKey: "checkbox" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(CheckboxWithLabelView.self, forKey: "checkboxLabel" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(RadioButton.self, forKey: "radioButton" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(RadioButtonLabel.self, forKey: "radioButtonLabel" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(ActionDetailWithImage.self, forKey: "actionDetailWithImage" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(MVMCoreUIPageControl.self, forKey: "barsPager" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(ImageHeadlineBody.self, forKey: "imageHeadlineBody" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(HeadlineBodyTextButton.self, forKey: "headlineBodyLink" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(HeadlineBodyTextButtonSwitch.self, forKey: "headlineBodyLinkToggle" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(HeadlineBodyButton.self, forKey: "headlineBodyButton" as NSString)
|
||||
MVMCoreUIMoleculeMappingObject.shared()?.moleculeMapping.setObject(EyebrowHeadlineBodyLink.self, forKey: "eyebrowHeadlineBodyLink" as NSString)
|
||||
|
||||
// TODO: Need View
|
||||
ModelRegistry.register(TabsModel.self)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user