Java tutorial
/* * Copyright (c) 2011-2015 Marat Gubaidullin. * * This file is part of HYBRIDBPM. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * */ package com.hybridbpm.ui.component; import com.vaadin.annotations.JavaScript; import com.vaadin.server.AbstractJavaScriptExtension; import com.vaadin.ui.TextArea; import java.util.List; import java.util.UUID; /** * * @author Marat Gubaidullin */ @JavaScript({ "htextcomplete.js", "jquery.min.js", "jquery.overlay.js", "jquery.textcomplete.js", "jquery.textcomplete.js" }) public class TextComplete extends AbstractJavaScriptExtension { public void extend(final TextArea textArea, List<String> users, List<String> projects) { if (textArea.getId() == null) { textArea.setId(UUID.randomUUID().toString().replace("-", "")); } StringBuilder execute = new StringBuilder("htextcomplete('#"); execute.append(textArea.getId()); execute.append("', ["); for (String user : users) { execute.append("'").append(user).append("',"); } execute.deleteCharAt(execute.length() - 1); execute.append("], ["); for (String project : projects) { execute.append("'").append(project).append("',"); } execute.deleteCharAt(execute.length() - 1); execute.append("])"); super.extend(textArea); com.vaadin.ui.JavaScript.getCurrent().execute(execute.toString()); } }