Skip to content

1.2.0

Choose a tag to compare

@aartikov aartikov released this 03 Apr 13:25
· 14 commits to main since this release

Features

  • PickerControl<T> - a new control for managing selectable items (like dropdowns or pickers)
  • dependsOn: Set<UIControl<*>> added to ControlValidator<T>, allowing validation to react to changes in related controls
  • RevalidateOnValueChanged feature now revalidates controls not only when their value changes but also when any dependent control (from dependsOn) is updated.
  • dependsOn(control: UIControl<*>) added to BaseValidatorBuilder

API Changes

  • InputControl - removed the setText(text: String) function. Instead, use the common onValueChange(value: T) function to update the control’s value
  • ValidatableControl<T> has been renamed to UIControl<T>
  • onFocusChanged has been renamed to onFocusChange
  • Unified onValueChange - the separate methods like onTextChanged and onCheckedChanged are replaced by a single onValueChange method
  • Unified value property - the text and checked properties are now replaced by a single value: StateFlow<T> property for all controls, standardizing value management

Improvements

  • BaseControl<T> now acts as the common base class for controls, implementing shared logic for visibility, enable/disable states, error handling, and scroll events
  • BaseValidator<T, C : UIControl<T>> now acts as the common base class for control validators, providing shared validation logic and error handling functionality
  • BaseValidatorBuilder<T, C : UIControl, V : ControlValidator<*>> now acts as the common base class for control validators’ builders, providing shared functionality for adding validation rules and dependencies on other controls.
  • Update sample projects for Android and iOS, with added examples using PickerControl<T>