You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2007/06/07 02:04:24 UTC
svn commit: r545001 - in /struts/struts2/trunk/plugins/dojo/src:
main/java/org/apache/struts2/dojo/components/
main/java/org/apache/struts2/dojo/views/jsp/ui/
main/resources/org/apache/struts2/static/dojo/
main/resources/org/apache/struts2/static/dojo/...
Author: musachy
Date: Wed Jun 6 17:04:23 2007
New Revision: 545001
URL: http://svn.apache.org/viewvc?view=rev&rev=545001
Log:
WW-1975 Autocompleter w/loadMinimumCount ask for data on loading page
* Add "preload" attribute, which default to true (like in the div tag), which will prevent the autocompleter from loading its options when page is loaded
Modified:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java
struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js
struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js
struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/autocompleter.ftl
struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTest.java
struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Autocompleter-1.txt
Modified: struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java Wed Jun 6 17:04:23 2007
@@ -252,6 +252,7 @@
protected String valueNotifyTopics;
protected String resultsLimit;
protected String transport;
+ protected String preload;
public Autocompleter(ValueStack stack, HttpServletRequest request,
HttpServletResponse response) {
@@ -324,6 +325,8 @@
}
if (transport != null)
addParameter("transport", findString(transport));
+ if (preload != null)
+ addParameter("preload", findValue(preload, Boolean.class));
String keyNameExpr = "%{" + keyName + "}";
addParameter("key", findString(keyNameExpr));
@@ -515,5 +518,10 @@
@StrutsTagAttribute(description="Transport used by Dojo to make the request", defaultValue="XMLHTTPTransport")
public void setTransport(String transport) {
this.transport = transport;
+ }
+
+ @StrutsTagAttribute(description="Load options when page is loaded", type="Boolean", defaultValue="true")
+ public void setPreload(String preload) {
+ this.preload = preload;
}
}
Modified: struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java Wed Jun 6 17:04:23 2007
@@ -61,6 +61,7 @@
protected String valueNotifyTopics;
protected String resultsLimit;
protected String transport;
+ protected String preload;
public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
return new Autocompleter(stack, req, res);
@@ -96,6 +97,7 @@
autocompleter.setValueNotifyTopics(valueNotifyTopics);
autocompleter.setResultsLimit(resultsLimit);
autocompleter.setTransport(transport);
+ autocompleter.setPreload(preload);
}
public void setAutoComplete(String autoComplete) {
@@ -204,5 +206,9 @@
public void setTransport(String transport) {
this.transport = transport;
+ }
+
+ public void setPreload(String preload) {
+ this.preload = preload;
}
}
Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js Wed Jun 6 17:04:23 2007
@@ -184,7 +184,7 @@
};
- if(!dojo.string.isBlank(this.cbox.dataUrl)){
+ if(!dojo.string.isBlank(this.cbox.dataUrl) && this.cbox.preload){
this.getData(this.cbox.dataUrl);
} else {
// check to see if we can populate the list from <option> elements
@@ -254,6 +254,9 @@
searchLimit : 30,
transport : "",
+
+ //load options when page loads
+ preload : true,
//from Dojo's ComboBox
showResultList: function() {
Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js Wed Jun 6 17:04:23 2007
@@ -14982,7 +14982,7 @@
}
}
};
-if(!dojo.string.isBlank(this.cbox.dataUrl)){
+if(!dojo.string.isBlank(this.cbox.dataUrl)&&this.cbox.preload){
this.getData(this.cbox.dataUrl);
}else{
if((node)&&(node.nodeName.toLowerCase()=="select")){
@@ -15001,7 +15001,7 @@
}
}
};
-dojo.widget.defineWidget("struts.widget.ComboBox",dojo.widget.ComboBox,{widgetType:"ComboBox",dropdownHeight:120,dropdownWidth:0,itemHeight:0,listenTopics:"",notifyTopics:"",notifyTopicsArray:null,beforeNotifyTopics:"",beforeNotifyTopicsArray:null,afterNotifyTopics:"",afterNotifyTopicsArray:null,errorNotifyTopics:"",errorNotifyTopicsArray:null,valueNotifyTopics:"",valueNotifyTopicsArray:null,indicator:"",formId:"",formFilter:"",dataProviderClass:"struts.widget.ComboBoxDataProvider",loadOnType:false,loadMinimum:3,initialValue:"",initialKey:"",visibleDownArrow:true,fadeTime:100,searchType:"STARTSTRING",dataFieldName:"",keyName:"",templateCssString:null,templateCssString:".dojoComboBoxOuter {\n\tborder: 0px !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n\tbackground: transparent !important;\n\twhite-space: nowrap !important;\n}\n\n.dojoComboBox {\n\tborder: 1px inset #afafaf;\n\tmargin: 0px;\n\tpadding: 0px;\n\tvertical-align: middle !important;\n\tfloat: n
one !important;\n\tposition: static !important;\n\tdisplay: inline;\n}\n\n/* the input box */\ninput.dojoComboBox {\n\tborder-right-width: 1px !important;\n\tmargin-right: 0px !important;\n\tpadding-right: 0px !important;\n}\n\n/* the down arrow */\nimg.dojoComboBox {\n\tborder-left-width: 0px !important;\n\tpadding-left: 0px !important;\n\tmargin-left: 0px !important;\n}\n\n/* IE vertical-alignment calculations can be off by +-1 but these margins are collapsed away */\n.dj_ie img.dojoComboBox {\n\tmargin-top: 1px;\n\tmargin-bottom: 1px;\n}\n\n/* the drop down */\n.dojoComboBoxOptions {\n\tfont-family: Verdana, Helvetica, Garamond, sans-serif;\n\t/* font-size: 0.7em; */\n\tbackground-color: white;\n\tborder: 1px solid #afafaf;\n\tposition: absolute;\n\tz-index: 1000;\n\toverflow: auto;\n\tcursor: default;\n}\n\n.dojoComboBoxItem {\n\tpadding-left: 2px;\n\tpadding-top: 2px;\n\tmargin: 0px;\n}\n\n.dojoComboBoxItemEven {\n\tbackground-color: #f4f4f4;\n}\n\n.dojoComboBoxItemOdd
{\n\tbackground-color: white;\n}\n\n.dojoComboBoxItemHighlight {\n\tbackground-color: #63709A;\n\tcolor: white;\n}\n",templateCssPath:dojo.uri.dojoUri("struts/ComboBox.css"),searchLimit:30,transport:"",showResultList:function(){
+dojo.widget.defineWidget("struts.widget.ComboBox",dojo.widget.ComboBox,{widgetType:"ComboBox",dropdownHeight:120,dropdownWidth:0,itemHeight:0,listenTopics:"",notifyTopics:"",notifyTopicsArray:null,beforeNotifyTopics:"",beforeNotifyTopicsArray:null,afterNotifyTopics:"",afterNotifyTopicsArray:null,errorNotifyTopics:"",errorNotifyTopicsArray:null,valueNotifyTopics:"",valueNotifyTopicsArray:null,indicator:"",formId:"",formFilter:"",dataProviderClass:"struts.widget.ComboBoxDataProvider",loadOnType:false,loadMinimum:3,initialValue:"",initialKey:"",visibleDownArrow:true,fadeTime:100,searchType:"STARTSTRING",dataFieldName:"",keyName:"",templateCssString:null,templateCssString:".dojoComboBoxOuter {\n\tborder: 0px !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n\tbackground: transparent !important;\n\twhite-space: nowrap !important;\n}\n\n.dojoComboBox {\n\tborder: 1px inset #afafaf;\n\tmargin: 0px;\n\tpadding: 0px;\n\tvertical-align: middle !important;\n\tfloat: n
one !important;\n\tposition: static !important;\n\tdisplay: inline;\n}\n\n/* the input box */\ninput.dojoComboBox {\n\tborder-right-width: 1px !important;\n\tmargin-right: 0px !important;\n\tpadding-right: 0px !important;\n}\n\n/* the down arrow */\nimg.dojoComboBox {\n\tborder-left-width: 0px !important;\n\tpadding-left: 0px !important;\n\tmargin-left: 0px !important;\n}\n\n/* IE vertical-alignment calculations can be off by +-1 but these margins are collapsed away */\n.dj_ie img.dojoComboBox {\n\tmargin-top: 1px;\n\tmargin-bottom: 1px;\n}\n\n/* the drop down */\n.dojoComboBoxOptions {\n\tfont-family: Verdana, Helvetica, Garamond, sans-serif;\n\t/* font-size: 0.7em; */\n\tbackground-color: white;\n\tborder: 1px solid #afafaf;\n\tposition: absolute;\n\tz-index: 1000;\n\toverflow: auto;\n\tcursor: default;\n}\n\n.dojoComboBoxItem {\n\tpadding-left: 2px;\n\tpadding-top: 2px;\n\tmargin: 0px;\n}\n\n.dojoComboBoxItemEven {\n\tbackground-color: #f4f4f4;\n}\n\n.dojoComboBoxItemOdd
{\n\tbackground-color: white;\n}\n\n.dojoComboBoxItemHighlight {\n\tbackground-color: #63709A;\n\tcolor: white;\n}\n",templateCssPath:dojo.uri.dojoUri("struts/ComboBox.css"),searchLimit:30,transport:"",preload:true,showResultList:function(){
var _c80=this.optionsListNode.childNodes;
if(_c80.length){
this.optionsListNode.style.width=this.dropdownWidth===0?(dojo.html.getMarginBox(this.domNode).width-2)+"px":this.dropdownWidth+"px";
Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js Wed Jun 6 17:04:23 2007
@@ -24312,7 +24312,7 @@
};
- if(!dojo.string.isBlank(this.cbox.dataUrl)){
+ if(!dojo.string.isBlank(this.cbox.dataUrl) && this.cbox.preload){
this.getData(this.cbox.dataUrl);
} else {
// check to see if we can populate the list from <option> elements
@@ -24382,6 +24382,9 @@
searchLimit : 30,
transport : "",
+
+ //load options when page loads
+ preload : true,
//from Dojo's ComboBox
showResultList: function() {
Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/autocompleter.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/autocompleter.ftl?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/autocompleter.ftl (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/autocompleter.ftl Wed Jun 6 17:04:23 2007
@@ -110,6 +110,9 @@
<#if parameters.transport?if_exists != "">
transport="${parameters.transport?html}"<#rt/>
</#if>
+<#if parameters.preload?exists>
+ preload="${parameters.preload?string?html}"<#rt/>
+</#if>
<#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
<#include "/${parameters.templateDir}/simple/common-attributes.ftl" />
<#if parameters.href?exists>
Modified: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTest.java?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTest.java (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTest.java Wed Jun 6 17:04:23 2007
@@ -50,6 +50,7 @@
tag.setValueNotifyTopics("l");
tag.setResultsLimit("2");
tag.setTransport("m");
+ tag.setPreload("true");
tag.doStartTag();
tag.doEndTag();
Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Autocompleter-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Autocompleter-1.txt?view=diff&rev=545001&r1=545000&r2=545001
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Autocompleter-1.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Autocompleter-1.txt Wed Jun 6 17:04:23 2007
@@ -21,4 +21,5 @@
dataFieldName="k"
searchLimit="2"
transport="m"
+ preload="true"
/>