diff --git a/MVMCoreUI/Atoms/Views/SeparatorView.h b/MVMCoreUI/Atoms/Views/SeparatorView.h index 89a9197d..40489b16 100644 --- a/MVMCoreUI/Atoms/Views/SeparatorView.h +++ b/MVMCoreUI/Atoms/Views/SeparatorView.h @@ -41,4 +41,7 @@ typedef enum : NSUInteger { - (void)setAsLight; - (void)setAsMedium; +/// Returns if the separator should be visible based on the type. +- (BOOL)shouldBeVisible; + @end diff --git a/MVMCoreUI/Atoms/Views/SeparatorView.m b/MVMCoreUI/Atoms/Views/SeparatorView.m index a666d450..9f85c311 100644 --- a/MVMCoreUI/Atoms/Views/SeparatorView.m +++ b/MVMCoreUI/Atoms/Views/SeparatorView.m @@ -162,6 +162,10 @@ [self setNeedsLayout]; [self layoutIfNeeded]; } + +- (BOOL)shouldBeVisible { + return ![[self.json string:KeyType] isEqualToString:@"none"]; +} #pragma mark - Molecule diff --git a/MVMCoreUI/Molecules/Items/AccordionMoleculeTableViewCell.swift b/MVMCoreUI/Molecules/Items/AccordionMoleculeTableViewCell.swift index 630dfb7d..12ce5c31 100644 --- a/MVMCoreUI/Molecules/Items/AccordionMoleculeTableViewCell.swift +++ b/MVMCoreUI/Molecules/Items/AccordionMoleculeTableViewCell.swift @@ -31,10 +31,15 @@ import UIKit guard let molecules = json?.optionalArrayForKey(KeyMolecules) as? [[AnyHashable: Any]] else { return } + if accordionButton.isSelected { delegateObject?.moleculeDelegate?.addMolecules?(molecules, senderIndexPath: indexPath) } else { delegateObject?.moleculeDelegate?.removeMolecules?(molecules, senderIndexPath: indexPath) } + + if (json?.boolForKey("hideSeparatorWhenExpanded") ?? false) && (self.bottomSeparatorView?.shouldBeVisible() ?? false) { + bottomSeparatorView?.isHidden = accordionButton.isSelected + } } }