Digital ACT-191 ONEAPP-6830 story: updating position label with callback text

This commit is contained in:
vasavk 2024-03-27 16:04:16 +05:30
parent bb7ddab8b8
commit f02d57ceae

View File

@ -21,10 +21,15 @@ class CarouselScrollbarViewConttroller: BaseViewController<CarouselScrollbar> {
var slidesTextField = NumericField()
var positionTextField = NumericField()
var currentPositionLabel = Label().with { $0.textStyle = .boldBodyMedium }
override func viewDidLoad() {
super.viewDidLoad()
addContentTopView(view: component)
let stack = UIStackView(arrangedSubviews: [component, currentPositionLabel]).with {
$0.axis = .vertical
$0.spacing = 25
}
addContentTopView(view: stack)
setupPicker()
setupModel()
}
@ -58,22 +63,54 @@ class CarouselScrollbarViewConttroller: BaseViewController<CarouselScrollbar> {
func setupModel() {
//setup UI
component.numberOfSlides = 8
component.numberOfSlides = 4
surfacePickerSelectorView.text = component.surface.rawValue
slidesTextField.text = String(component.numberOfSlides)
positionTextField.text = String(component.position)
updatedPositionLabel(position: component.position, callbackText:"")
//setup test page to show scrubber id was changed
component.onScrubberDidChange = { [weak self] scrubberId in
component.onScrubberDrag = { [weak self] scrubberId in
guard let self else { return }
positionTextField.text = String(scrubberId)
updatedPositionLabel(position: component.position, callbackText:"onScrubberDrag")
}
/// will be called when the thumb move forward.
component.onMoveForward = { [weak self] scrubberId in
guard let self else { return }
updatedPositionLabel(position: component.position, callbackText:"onMoveForward")
}
/// will be called when the thumb move backward.
component.onMoveBackward = { [weak self] scrubberId in
guard let self else { return }
updatedPositionLabel(position: component.position, callbackText:"onMoveBackward")
}
/// will be called when the thumb touch start.
component.onThumbTouchStart = { [weak self] scrubberId in
guard let self else { return }
updatedPositionLabel(position: component.position, callbackText:"onThumbTouchStart")
}
/// will be called when the thumb touch end.
component.onThumbTouchEnd = { [weak self] scrubberId in
guard let self else { return }
updatedPositionLabel(position: component.position, callbackText:"onThumbTouchEnd")
}
}
func updatedPositionLabel(position: Int?, callbackText: String) {
currentPositionLabel.text = "\(callbackText) Thumb position : \(position ?? 1)"
}
func setupPicker() {
surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in
self?.component.surface = item
self?.contentTopView.backgroundColor = item.color
self?.currentPositionLabel.surface = item
}
layoutPickerSelectorView.onPickerDidSelect = { [weak self] item in