/** * Gets the current selection. * * @return an unmodifiable set of items selected after the selection was * changed */ @Override public Set<T> getValue() { return Collections.unmodifiableSet(super.getValue()); }
@SuppressWarnings("unchecked") @Override public Registration addValueChangeListener( ValueChangeListener<? super ComponentValueChangeEvent<DateTimeField, LocalDateTime>> listener) { ObjectUtils.argumentNotNull(listener, "ValueChangeListener must be not null"); this.valueChangeListeners .add((ValueChangeListener<ComponentValueChangeEvent<DateTimeField, LocalDateTime>>) listener); final Registration dl = this.date.addValueChangeListener(e -> { if (e.isFromClient()) { listener.valueChanged(new ComponentValueChangeEvent<>(DateTimeField.this, DateTimeField.this, (e.getOldValue() == null) ? null : LocalDateTime.of(e.getOldValue(), getTimeValueOrDefault()), e.isFromClient())); } }); final com.holonplatform.core.Registration tl = this.time.addValueChangeListener(e -> { if (e.isUserOriginated()) { listener.valueChanged(new ComponentValueChangeEvent<>(DateTimeField.this, DateTimeField.this, getDateValue().map(date -> LocalDateTime.of(date, e.getOldValue())).orElse(null), e.isUserOriginated())); } }); return () -> { dl.remove(); tl.remove(); }; }
/** * Replace the current time input with the given one. * @param time the time input to set (not null) */ public void setTimeInput(Input<LocalTime> time) { ObjectUtils.argumentNotNull(time, "LocalTime input must be not null"); Input<LocalTime> previous = this.time; this.time = time; this.time.setRequired(previous.isRequired()); this.time.setReadOnly(previous.isReadOnly()); if (this.timeInputWidth != null) { this.time.hasSize().ifPresent(s -> s.setWidth(timeInputWidth)); } this.valueChangeListeners.forEach(listener -> { this.time.addValueChangeListener(e -> { if (e.isUserOriginated()) { listener.valueChanged(new ComponentValueChangeEvent<>(DateTimeField.this, DateTimeField.this, getDateValue().map(date -> LocalDateTime.of(date, e.getOldValue())).orElse(null), e.isUserOriginated())); } }); }); }
private void setupFiltering() { final HeaderRow filterRow = this.appendHeaderRow(); getColumns().forEach(column -> { final TextField field = new TextField(); field.getElement().setAttribute("crud-role", "Search"); field.addValueChangeListener(event -> { filter.getConstraints().remove(column.getKey()); if (!field.isEmpty()) { filter.getConstraints().put(column.getKey(), event.getValue()); } super.getDataProvider().refreshAll(); }); field.setValueChangeMode(ValueChangeMode.EAGER); filterRow.getCell(column).setComponent(field); field.setSizeFull(); field.setPlaceholder("Filter"); }); }
@Override public Registration addSelectionListener( MultiSelectionListener<CheckboxGroup<T>, T> listener) { return addValueChangeListener(event -> new MultiSelectionEvent<>(this, this, event.getOldValue(), event.isFromClient())); }
/** * The listing component on which the Event initially occurred. * * @return The listing component on which the Event initially occurred. */ @Override public C getSource() { return super.getSource(); }
/** * Fire value change listeners when value change is triggered from server side. * @param oldValue The old value */ protected void fireValueChangeListeners(LocalDateTime oldValue) { this.valueChangeListeners.forEach(listener -> listener.valueChanged( new ComponentValueChangeEvent<>(DateTimeField.this, DateTimeField.this, oldValue, false))); }
private ComponentValueChangeEvent<C, T> createValueChange(T oldValue, boolean fromClient) { return new ComponentValueChangeEvent<>(component, component, oldValue, fromClient); }
@Override public com.vaadin.flow.shared.Registration addValueChangeListener( ValueChangeListener<? super ComponentValueChangeEvent<Component, T>> listener) { final Registration r = input.addValueChangeListener(e -> listener.valueChanged( new ComponentValueChangeEvent<>(input.getComponent(), this, e.getOldValue(), e.isUserOriginated()))); return () -> r.remove(); }