new String[]{"gallery-node-tokeninput", "button", "autocomplete",
"autocomplete-filters", "autocomplete-highlighters"}, new YUICallback() {
@Override
public void ready(YuiContext Y_) {
//cast to YuiGalleryContext for using the yui gallery java api.
final YuiGalleryContext Y = Y_.cast();
//redefine parent loading the new Y sandbox.
Node p = Y.one(parent.getDOMNode());
p.append("<p>Write some tags, comma separated: </p>" );
Node input1 = p.appendChild("<input type=\"text\"></input>");
input1.plug(Y.GalleryPlugin().TokenInput(), TokenInputPluginConfig.create().removeButton(true));
final TokenInputPlugin tiPlugin = input1.getPlugin("tokenInput").cast();
Y.newButton(ButtonConfig.create().label("Accept").render(parent).on("click", new EventCallback<EventFacade>() {
@Override
public void call(EventFacade e) {
String[] selection = JsUtil.toJavaStringArray(tiPlugin.tokens());
String s = "selection is : ";
for (int i = 0; i < selection.length; i++) {
s+=selection[i];
}
Window.alert(s);
}
}));
p.append("<p>Now an input with token and autocomplete plugins installed. " +
"This time '.' (point) separated tags. <a href=\"http://rgrove.github.com/node-tokeninput/examples/example-autocomplete.html\">This is a similar example</a>. </p>");
Node input2 = p.appendChild("<input type=\"text\"></input>");
String[] tags = {"apple", "banana", "cherry", "date", "fig", "grapefruit", "jujube",
"kumquat", "lemon", "mango", "nectarine", "orange", "pineapple",
"raspberry", "strawberry", "tangerine", "watermelon"};
input2.
plug(Y.GalleryPlugin().TokenInput(), TokenInputPluginConfig.create().
delimiter(".")).
plug(Y.GalleryPlugin().AutoComplete(), AutoCompleteConfig.create().
resultFilters("charMatch").resultHighlighter("charMatch").source(tags));
final TokenInputPlugin tiPlugin2 = input2.getPlugin("tokenInput").cast();
Y.newButton(ButtonConfig.create().label("Set defaults").render(parent).on("click", new EventCallback<EventFacade>() {
@Override
public void call(EventFacade e) {
tiPlugin2.tokens("adan", "eve", "nietzsche");
}
}));