package fr.openwide.core.showcase.web.application.widgets.component;
import java.util.List;
import java.util.Locale;
import org.apache.wicket.model.IModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import fr.openwide.core.showcase.core.business.user.model.User;
import fr.openwide.core.showcase.core.business.user.search.IUserSearchQuery;
import fr.openwide.core.showcase.core.business.user.service.IUserService;
import fr.openwide.core.wicket.more.markup.html.template.js.jquery.plugins.itemit.ItemItField;
public class UserItemItField extends ItemItField<User, UserJson> {
private static final long serialVersionUID = -7720627499673417965L;
@SpringBean
private IUserService userService;
@SpringBean
private IUserSearchQuery userSearchQuery;
public UserItemItField(String id, IModel<List<User>> selectedItemListModel) {
super(id, selectedItemListModel);
}
@Override
public List<User> getValues(String term) {
return userSearchQuery.nameAutocomplete(term).fullList();
}
@Override
public UserJson newAutocompleteJson(Integer index, User item, Locale locale) {
return new UserJson(item);
}
@Override
public User convertValue(UserJson value) {
return userService.getById(value.getId());
}
@Override
public Class<UserJson> getJsonType() {
return UserJson.class;
}
}