fixed delegate bug

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-01-19 14:50:30 -06:00
parent 3fc3abd82e
commit 1965920710

View File

@ -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)
}
}
}
}