fixed delegate bug
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
3fc3abd82e
commit
1965920710
@ -25,7 +25,21 @@ import VDS
|
|||||||
open var additionalData: [AnyHashable : Any]?
|
open var additionalData: [AnyHashable : Any]?
|
||||||
|
|
||||||
//delegate
|
//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
|
// MARK: - Layout Views
|
||||||
@ -55,17 +69,5 @@ import VDS
|
|||||||
selectedIndex = viewModel.selectedIndex
|
selectedIndex = viewModel.selectedIndex
|
||||||
surface = viewModel.style ?? .light
|
surface = viewModel.style ?? .light
|
||||||
tabModels = viewModel.tabs.compactMap { TabModel(text: $0.label.text) }
|
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user