*
*/
private OptionsStream optionsStream = null;
+
+ /**
+ * Number of options to stream per request ('page size') when lazyLoading
+ * options.
+ */
+ private int lazyLoadingPageLength = 20;
/* Constructors ********************************************************* */
target.addAttribute("total",
(getItemIds() != null) ? getItemIds().size() : 0);
target
- .addAttribute("initial", optionsStream.getJSON(20, 0,
+ .addAttribute("initial", optionsStream.getJSON(this.lazyLoadingPageLength, 0,
""));
String caption = getItemCaption(getValue());
target.addAttribute("selectedValue", caption == null ? ""
}
return null;
}
+
private class OptionsStream implements URIHandler {
private String uri = "selectOptionsStream"
+ (long) (Math.random() * 1000000000000000000L);
- OptionsStream(Select s) {
- of = new StartsWithFilter(s);
+ OptionsStream(Select select) {
+ of = new StartsWithFilter(select);
}
public OptionFilter getOptionFilter() {
} catch (NumberFormatException e) {
// ignore
}
- // TODO Req size
- ds = createDownloadStream(13, i, "");
+ // TODO Req size from client?
+ ds = createDownloadStream(lazyLoadingPageLength, i, "");
return ds;
} else if (relativeUri.indexOf(uri) != -1) {
// read prefix
String prefix = relativeUri.substring(relativeUri
.lastIndexOf("/") + 1);
- // TODO Req size
- ds = createDownloadStream(13, 0, prefix.trim());
+ // TODO Req size from client?
+ ds = createDownloadStream(lazyLoadingPageLength, 0, prefix.trim());
return ds;
}
}