package org.jabref.gui.fieldeditors;
import java.time.format.DateTimeFormatter;
import javafx.fxml.FXML;
import javafx.scene.Parent;
import javafx.scene.layout.HBox;
import org.jabref.gui.util.ControlHelper;
import org.jabref.gui.util.component.TemporalAccessorPicker;
import org.jabref.model.entry.BibEntry;
public class DateEditor extends HBox implements FieldEditorFX {
private final String fieldName;
@FXML private DateEditorViewModel viewModel;
@FXML private TemporalAccessorPicker datePicker;
public DateEditor(String fieldName, DateTimeFormatter dateFormatter) {
this.fieldName = fieldName;
this.viewModel = new DateEditorViewModel(dateFormatter);
ControlHelper.loadFXMLForControl(this);
datePicker.setStringConverter(viewModel.getDateToStringConverter());
datePicker.getEditor().textProperty().bindBidirectional(viewModel.textProperty());
}
public DateEditorViewModel getViewModel() {
return viewModel;
}
@Override
public void bindToEntry(BibEntry entry) {
viewModel.bindToEntry(fieldName, entry);
}
@Override
public Parent getNode() {
return this;
}
}