Merge branch 'feature/atomic_vds_tabs' into feature/vds_batch_two
This commit is contained in:
commit
e0adf8b55d
@ -25,7 +25,21 @@ import VDS
|
||||
open var additionalData: [AnyHashable : Any]?
|
||||
|
||||
//delegate
|
||||
weak public var delegate: TabsDelegate?
|
||||
weak public var delegate: TabsDelegate? {
|
||||
didSet {
|
||||
if let delegate {
|
||||
onTabDidSelect = { [weak self] index in
|
||||
guard let self else { return }
|
||||
delegate.didSelectItem(.init(row: index, section: 0), tabs: self)
|
||||
}
|
||||
|
||||
onTabShouldSelect = { [weak self] index in
|
||||
guard let self else { return true }
|
||||
return delegate.shouldSelectItem(.init(row: index, section: 0), tabs: self)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// MARK: - Layout Views
|
||||
@ -55,17 +69,5 @@ import VDS
|
||||
selectedIndex = viewModel.selectedIndex
|
||||
surface = viewModel.style ?? .light
|
||||
tabModels = viewModel.tabs.compactMap { TabModel(text: $0.label.text) }
|
||||
|
||||
if let delegate {
|
||||
onTabDidSelect = { [weak self] index in
|
||||
guard let self else { return }
|
||||
delegate.didSelectItem(.init(row: index, section: 0), tabs: self)
|
||||
}
|
||||
|
||||
onTabShouldSelect = { [weak self] index in
|
||||
guard let self else { return true }
|
||||
return delegate.shouldSelectItem(.init(row: index, section: 0), tabs: self)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
import Foundation
|
||||
import MVMCore
|
||||
import VDSColorTokens
|
||||
|
||||
open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol, TabsDelegate, MVMCorePresentationDelegateProtocol, SubNavSwipeNavigationProtocol {
|
||||
|
||||
@ -29,6 +30,7 @@ open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol,
|
||||
private var tabsModel: TabsModel
|
||||
public lazy var tabs: Tabs = {
|
||||
let tabs = Tabs(model: tabsModel, delegateObjectIVar, nil)
|
||||
tabs.fillContainer = true
|
||||
tabs.delegate = self
|
||||
return tabs
|
||||
}()
|
||||
@ -109,6 +111,9 @@ open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol,
|
||||
open override func pageShown() {
|
||||
// Currently not calling super until we can decouple page shown logics for managers.
|
||||
hideNavigationBarLine(true)
|
||||
|
||||
//set the tabs backgroundColor
|
||||
tabs.backgroundColor = (viewController as? PageProtocol)?.pageModel?.navigationBar?.backgroundColor?.uiColor ?? VDSColor.backgroundPrimaryLight
|
||||
}
|
||||
|
||||
open override func viewWillDisappear(_ animated: Bool) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user