Skip to content

Conversation

@vursen
Copy link
Contributor

@vursen vursen commented Jan 14, 2026

Description

Constructors:

  1. Slider()
  2. Slider(listener)
  3. Slider(min, max, value)
  4. Slider(min, max, value, listener)
  5. Slider(min, max, step, value)
  6. Slider(min, max, step, value, listener)
  7. Slider(label)
  8. Slider(label, listener)
  9. Slider(label, min, max, value)
  10. Slider(label, min, max, value, listener)
  11. Slider(label, min, max, step, value)
  12. Slider(label, min, max, step, value, listener)

Methods:

  • setValue(value)
  • setValue(min, max, value)
  • setValue(min, max, step, value)
  • getMin()
  • getMax()
  • getStep()

Fixes #8480

Type of change

  • Feature

Add Slider Flow component wrapping <vaadin-slider> web component.
The Slider extends AbstractSinglePropertyField and provides min, max,
step, and value properties.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vursen vursen changed the title feat: add vaadin-slider-flow-parent module feat: create Slider component Jan 14, 2026
vursen and others added 3 commits January 15, 2026 11:19
- Remove explicit flow dependency versions from integration-tests pom.xml
- Add README.md and LICENSE files
- Add vite.config.ts for integration tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add tests for constructors, min/max/step properties, and validation
that throws IllegalArgumentException for invalid values.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
vursen and others added 2 commits January 15, 2026 16:25
…ider

- Add ExperimentalFeatureException thrown when feature flag is disabled
- Add feature flag check in Slider.onAttach
- Add getMin, getMax, getStep methods to SliderElement
- Add basic integration test verifying slider properties

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
vursen and others added 9 commits January 16, 2026 12:43
…rties

- Create SliderBase<TComponent, TValue> abstract class extending AbstractSinglePropertyField
- Move min, max, step getters/setters with validation to SliderBase
- Update Slider to extend SliderBase<Slider, Double>

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move min, max, step tests to SliderBaseTest. Add tests for SliderBase
constructors and value change listener constructors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@Tag("vaadin-slider")
// @NpmPackage(value = "@vaadin/slider", version = "25.1.0-alpha1")
// @JsModule("@vaadin/slider/src/vaadin-slider.js")
public class Slider extends SliderBase<Slider, Double> {
Copy link
Contributor

@knoobie knoobie Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking out load: I'm wondering if it's better for java developer to either use

Slider<T extends Number> or IntSlider / DoubleSlider.

Having to deal with double all the time when I just have a simple 0-5 slider feels awkward. (Same could be said for min/max and step.. might be good to add overloaded methods?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid point, thank you. We could add an IntegerSlider later

@vursen vursen linked an issue Jan 18, 2026 that may be closed by this pull request
vursen and others added 8 commits January 19, 2026 11:47
Add a utility method to schedule actions that run before the client
response, with deduplication by key. This allows deferring state
validity checks until all property changes are complete.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Log warnings when setMin, setMax, or setStep is called and the current
value becomes inconsistent with the new constraints. The warnings are
deferred using beforeClientResponse to check the final state after all
property changes in the current request are complete.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add tests verifying that warnings are logged when value doesn't align
with min, max, or step constraints after property changes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Change SliderBase constructor from protected to package-private.
Update SliderTest to use the 4-parameter constructor with step value.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add constructors that use default step value of 1:
- Slider(min, max, value)
- Slider(min, max, value, listener)
- Slider(label, min, max, value)
- Slider(label, min, max, value, listener)

Add corresponding unit tests verifying step defaults to 1.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's register Mockito as an agent explicitly as is done here: #8478.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, done.

vursen and others added 5 commits January 26, 2026 15:41
Update SliderBase to use SerializableBiFunction for value converters,
allowing subclasses to access component state during conversion. Remove
unused constructor and inline init method. Update Slider to validate
values during conversion and throw exceptions for invalid min/max/step
changes. Remove SliderWarningsTest as warnings are replaced with
exceptions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add tests for IllegalArgumentException scenarios:
- setValue with value not aligned to step
- setValue with null value (NullPointerException)
- setMin greater than current value
- setMax less than current value
- setStep with negative value
- setStep when current value is not aligned

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…n Slider

Remove setMin, setMax, setStep methods from Slider and add setValue
overloads that update min, max, step, and value atomically. This avoids
validation errors when changing multiple properties that depend on each
other.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace setStep() call with constructor that accepts step parameter,
as setStep is no longer public.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Slider] Add feature flag to activate flow counterparts [Slider] Create Slider flow counterpart

4 participants