use of org.olat.core.gui.control.generic.ajax.autocompletion.EntriesChosenEvent in project OpenOLAT by OpenOLAT.
the class EMailCalloutCtrl method event.
@Override
public void event(UserRequest ureq, Controller source, Event event) {
if (source == autocompleterC) {
if (event instanceof EntriesChosenEvent) {
EntriesChosenEvent ce = (EntriesChosenEvent) event;
List<String> entries = ce.getEntries();
if (entries != null && entries.size() == 1) {
processSelection(ureq, entries.get(0));
}
}
}
super.event(ureq, source, event);
}
use of org.olat.core.gui.control.generic.ajax.autocompletion.EntriesChosenEvent in project openolat by klemens.
the class TableController method event.
@Override
public void event(final UserRequest ureq, final Controller source, final Event event) {
log.debug("dispatchEvent event=" + event + " source=" + source);
if (event instanceof EntriesChosenEvent) {
EntriesChosenEvent ece = (EntriesChosenEvent) event;
List<String> filterList = ece.getEntries();
if (!filterList.isEmpty()) {
table.setSearchString(filterList.get(0));
modelChanged(false);
} else {
// reset filter search filter in modelChanged
modelChanged();
}
} else if (event instanceof EmptyChosenEvent) {
modelChanged(true);
}
}
use of org.olat.core.gui.control.generic.ajax.autocompletion.EntriesChosenEvent in project openolat by klemens.
the class GUIDemoMainController method handleOwnMenuTreeEvent.
@Override
protected Controller handleOwnMenuTreeEvent(Object uobject, final UserRequest ureq) {
if (uobject.equals("guidemo-autocompletion")) {
// for a demo of autocompletion, do a user search
ListProvider provider = new ListProvider() {
public void getResult(String searchValue, ListReceiver receiver) {
Map<String, String> userProperties = new HashMap<String, String>();
// We can only search in mandatory User-Properties due to problems
// with hibernate query with join and not existing rows
userProperties.put(UserConstants.FIRSTNAME, searchValue);
userProperties.put(UserConstants.LASTNAME, searchValue);
userProperties.put(UserConstants.EMAIL, searchValue);
List<Identity> res = BaseSecurityManager.getInstance().getVisibleIdentitiesByPowerSearch(searchValue, userProperties, false, null, null, null, null, null);
int maxEntries = 15;
boolean hasMore = false;
for (Iterator<Identity> it_res = res.iterator(); (hasMore = it_res.hasNext()) && maxEntries > 0; ) {
maxEntries--;
Identity ident = it_res.next();
User u = ident.getUser();
String key = ident.getKey().toString();
String displayKey = ident.getName();
String first = u.getProperty(UserConstants.FIRSTNAME, getLocale());
String last = u.getProperty(UserConstants.LASTNAME, getLocale());
String displayText = last + " " + first;
receiver.addEntry(key, displayKey, displayText, CSSHelper.CSS_CLASS_USER);
}
if (hasMore) {
receiver.addEntry("-1", ".....");
}
}
};
Controller c = new AutoCompleterController(ureq, getWindowControl(), provider, null, true, 60, 3, null);
// for demo only, normally use in parent controller
c.addControllerListener(new ControllerEventListener() {
public void dispatchEvent(UserRequest uureq, Controller source, Event event) {
EntriesChosenEvent ece = (EntriesChosenEvent) event;
String sel = ece.getEntries().toString();
getWindowControl().setInfo("selected entrie(s):" + sel);
}
});
return c;
}
return null;
}
Aggregations