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]?
|
||||
|
||||
//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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user