2870 Preselect national category if there's a default when editing publication metadata
This commit is contained in:
parent
b5477a063b
commit
8faebeca4c
@ -11,6 +11,7 @@ import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.List;
|
||||
|
||||
public class PublicationMetadataFormComponentPanel extends GenericPanel<PublicationMetadata> {
|
||||
@Inject
|
||||
@ -27,14 +28,22 @@ public class PublicationMetadataFormComponentPanel extends GenericPanel<Publicat
|
||||
TextField<String> keywordsSwedish = new TextField<>("keywords_sv", LambdaModel.of(metadataModel, PublicationMetadata::getKeywordsSwedish, PublicationMetadata::setKeywordsSwedish));
|
||||
keywordsSwedish.setVisible(inSwedish());
|
||||
add(keywordsSwedish);
|
||||
IModel<List<NationalSubjectCategory>> availableCategories = LoadableDetachableModel.of(nationalSubjectCategoryService::listCategories);
|
||||
DropDownChoice<NationalSubjectCategory> nationalSubjectCategoryChoice = new DropDownChoice<>(
|
||||
"national_subject_category",
|
||||
LambdaModel.of(
|
||||
metadataModel,
|
||||
PublicationMetadata::getNationalSubjectCategory,
|
||||
PublicationMetadata::setNationalSubjectCategory),
|
||||
LoadableDetachableModel.of(nationalSubjectCategoryService::listCategories),
|
||||
availableCategories,
|
||||
new LambdaChoiceRenderer<>(NationalSubjectCategory::getEnglishName, NationalSubjectCategory::getId));
|
||||
if (metadataModel.getObject().getNationalSubjectCategory() == null) {
|
||||
availableCategories.getObject()
|
||||
.stream()
|
||||
.filter(NationalSubjectCategory::isPreselected)
|
||||
.findAny()
|
||||
.ifPresent(nationalSubjectCategoryChoice::setDefaultModelObject);
|
||||
}
|
||||
nationalSubjectCategoryChoice.setNullValid(true);
|
||||
add(nationalSubjectCategoryChoice);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user