package org.jabref.gui.fieldeditors;
import java.util.Optional;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.Parent;
import javafx.scene.layout.HBox;
import org.jabref.gui.DialogService;
import org.jabref.gui.util.ControlHelper;
import org.jabref.model.entry.BibEntry;
public class UrlEditor extends HBox implements FieldEditorFX {
private final String fieldName;
@FXML private UrlEditorViewModel viewModel;
@FXML private EditorTextArea textArea;
private Optional<BibEntry> entry;
public UrlEditor(String fieldName, DialogService dialogService) {
this.fieldName = fieldName;
this.viewModel = new UrlEditorViewModel(dialogService);
ControlHelper.loadFXMLForControl(this);
textArea.textProperty().bindBidirectional(viewModel.textProperty());
}
public UrlEditorViewModel getViewModel() {
return viewModel;
}
@Override
public void bindToEntry(BibEntry entry) {
this.entry = Optional.of(entry);
viewModel.bindToEntry(fieldName, entry);
}
@Override
public Parent getNode() {
return this;
}
@FXML
private void openExternalLink(ActionEvent event) {
viewModel.openExternalLink();
}
}