Author: hermanns Date: Wed Nov 29 09:27:47 2006 New Revision: 480637 URL: http://svn.apache.org/viewvc?view=rev&rev=480637 Log: Add Autocompleter AJAX tag o add missing AutocompleterTag from Musachy's patch o added AutocompleterModel for freemarker o updated StrutsModels
Issue number: WW-1520 Added: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java Added: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java?view=auto&rev=480637 ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java (added) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java Wed Nov 29 09:27:47 2006 @@ -0,0 +1,43 @@ +/* + * $Id: ComboBoxModel.java 471756 2006-11-06 15:01:43Z husted $ + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.struts2.views.freemarker.tags; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.struts2.components.Component; +import org.apache.struts2.components.Autocompleter; + +import com.opensymphony.xwork2.util.ValueStack; + +/** + * @see Autocompleter + */ +public class AutocompleterModel extends TagModel { + + public AutocompleterModel(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { + super(stack, req, res); + } + + protected Component getBean() { + return new Autocompleter(stack, req, res); + } +} Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java?view=diff&rev=480637&r1=480636&r2=480637 ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java Wed Nov 29 09:27:47 2006 @@ -81,6 +81,7 @@ protected ElseModel elseModel; protected ElseIfModel elseIfModel; protected TimePickerModel timePickerModel; + protected AutocompleterModel autocompleterModel; public StrutsModels(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { @@ -111,6 +112,14 @@ } return comboBox; + } + + public AutocompleterModel getAutocompleterModel() { + if (autocompleterModel == null) { + autocompleterModel = new AutocompleterModel(stack, req, res); + } + + return autocompleterModel; } public ComponentModel getComponent() { Added: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java?view=auto&rev=480637 ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java (added) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java Wed Nov 29 09:27:47 2006 @@ -0,0 +1,96 @@ +/* + * $Id$ + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.struts2.views.jsp.ui; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.struts2.components.Autocompleter; +import org.apache.struts2.components.Component; + +import com.opensymphony.xwork2.util.ValueStack; + +/** + * @see Autocompleter + */ +public class AutocompleterTag extends ComboBoxTag { + private static final long serialVersionUID = -1112470447573172581L; + + private String forceValidOption; + private String searchType; + private String autoComplete; + private String searchDelay; + private String disabled; + private String href; + private String dropdownWidth; + private String dropdownHeight; + + public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { + return new Autocompleter(stack, req, res); + } + + protected void populateParams() { + super.populateParams(); + + Autocompleter autocompleter = (Autocompleter) component; + autocompleter.setAutoComplete(autoComplete); + autocompleter.setDisabled(disabled); + autocompleter.setForceValidOption(forceValidOption); + autocompleter.setHref(href); + autocompleter.setSearchDelay(searchDelay); + autocompleter.setSearchType(searchType); + autocompleter.setDropdownHeight(dropdownHeight); + autocompleter.setDropdownWidth(dropdownWidth); + } + + public void setAutoComplete(String autoComplete) { + this.autoComplete = autoComplete; + } + + public void setDisabled(String disabled) { + this.disabled = disabled; + } + + public void setForceValidOption(String forceValidOption) { + this.forceValidOption = forceValidOption; + } + + public void setHref(String href) { + this.href = href; + } + + public void setSearchDelay(String searchDelay) { + this.searchDelay = searchDelay; + } + + public void setSearchType(String searchType) { + this.searchType = searchType; + } + + public void setDropdownHeight(String height) { + this.dropdownHeight = height; + } + + public void setDropdownWidth(String width) { + this.dropdownWidth = width; + } + +} \ No newline at end of file