You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/10/07 22:35:10 UTC

svn commit: r454013 - in /tapestry/tapestry4/trunk: tapestry-examples/TimeTracker/src/context/WEB-INF/ tapestry-framework/src/java/org/apache/tapestry/ tapestry-framework/src/java/org/apache/tapestry/dojo/ tapestry-framework/src/java/org/apache/tapestr...

Author: jkuhnert
Date: Sat Oct  7 13:35:08 2006
New Revision: 454013

URL: http://svn.apache.org/viewvc?view=rev&rev=454013
Log:
Cleaned up some of the AjaxShellDelegate configuration, turned off native html Autocompletion for autocomplete component.

Modified:
    tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html
    tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.jwc
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoMessages.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoStrings.properties
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/version.properties
    tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestLibrary.xml
    tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestSimple.xml
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java

Modified: tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html Sat Oct  7 13:35:08 2006
@@ -1,10 +1,12 @@
 <html jwcid="@Shell" 
-	  title="message:window.title" 
-	  ajaxEnabled="true" 
-	  browserLogLevel="DEBUG">
+	  title="message:window.title"
+	  browserLogLevel="DEBUG"
+	  consoleEnabled="true" >
+<link jwcid="@Relation" href="favicon.ico" type="image/gif" rel="shortcut icon" />    
+<link jwcid="@Relation" href="css/timetracker.css" media="all" />
+
 <body jwcid="@Body">
-  <link jwcid="@Relation" href="favicon.ico" type="image/gif" rel="shortcut icon"/>    
-  <link jwcid="@Relation" href="css/timetracker.css" media="all"/>
+
 <div id="header" >
     <span class="headertxt"><span jwcid="@Insert" value="message:header.display"/> </span>
 </div>
@@ -20,10 +22,6 @@
 <div id="content">
 <span jwcid="@RenderBody" />
 </div>
-
-<div id="debug">
-</div>
-
 </body>
 
 </html>

Modified: tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.jwc
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.jwc?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.jwc (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.jwc Sat Oct  7 13:35:08 2006
@@ -20,6 +20,7 @@
   "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
 
 <component-specification allow-informal-parameters="no">
-    
+
     <inject property="conn" object="service:timetracker.db.HsqlConnection" />
+    
 </component-specification>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java Sat Oct  7 13:35:08 2006
@@ -19,6 +19,7 @@
 import org.apache.tapestry.IRender;
 import org.apache.tapestry.IRequestCycle;
 import org.apache.tapestry.engine.IEngineService;
+import org.apache.tapestry.json.JSONObject;
 
 /**
  * The default rendering delegate responseible for include the 
@@ -47,29 +48,41 @@
     
     private IEngineService _assetService;
     
+    private boolean _parseWidgets;
+    
     private String _browserLogLevel = BROWSER_LOG_WARNING;
     
     private boolean _debug;
     
-    private boolean _parseWidgets;
-    
     private String _debugContainerId;
     
+    private boolean _consoleEnabled;
+    
+    private boolean _preventBackButtonFix;
+    
+    private boolean _debugAtAllCosts;
+    
     /**
      * {@inheritDoc}
      */
     public void render(IMarkupWriter writer, IRequestCycle cycle)
     {
-        // TODO: Add ability to make all of these parameters more configurable
-        
         // first configure dojo, has to happen before package include
+        
+        JSONObject dojoConfig = new JSONObject();
+        
+        dojoConfig.put("isDebug", _debug);
+        dojoConfig.put("debugAtAllCosts", _debugAtAllCosts);
+        dojoConfig.put("debugContainerId", _debugContainerId);
+        
+        dojoConfig.put("baseRelativePath", 
+                _assetService.getLink(true, _dojoPath.getResourceLocation().getPath()).getAbsoluteURL());
+        
+        dojoConfig.put("preventBackButtonFix", _preventBackButtonFix);
+        dojoConfig.put("parseWidgets", _parseWidgets);
+        
         StringBuffer str = new StringBuffer("<script type=\"text/javascript\">");
-        str.append("djConfig = { isDebug: ").append(_debug).append(",")
-        .append(" debugContainerId:'").append(_debugContainerId).append("',")
-        .append(" baseRelativePath:\"")
-        .append(_assetService.getLink(true,
-                _dojoPath.getResourceLocation().getPath()).getAbsoluteURL())
-        .append("\", preventBackButtonFix: false, parseWidgets:").append(_parseWidgets).append("}")
+        str.append("djConfig = ").append(dojoConfig.toString())
         .append(" </script>\n\n ");
         
         // include the core dojo.js package
@@ -84,12 +97,15 @@
                 _tapestrySource.getResourceLocation()
                 .getPath()).getAbsoluteURL()).append("\"></script>");
         
+        String logRequire = _consoleEnabled ? "dojo.require(\"dojo.debug.console\");\n"
+                : "dojo.require(\"dojo.logging.Logger\");\n";
+        
         // logging configuration
-        str.append("\n<script type=\"text/javascript\">")
-        .append("dojo.require(\"dojo.logging.Logger\");\n")
+        str.append("\n<script type=\"text/javascript\">\n")
+        .append(logRequire)
         .append("dojo.log.setLevel(dojo.log.getLevel(\"").append(_browserLogLevel)
         .append("\"));\n")
-        .append("dojo.require(\"tapestry.namespace\")")
+        .append("dojo.require(\"tapestry.namespace\")\n")
         .append("</script>");
         
         writer.printRaw(str.toString());
@@ -129,6 +145,27 @@
     }
     
     /**
+     * Turns off deep context level javascript debugging mode for dojo. This means
+     * that exceptions/debug statements will show you line numbers from the actual 
+     * javascript file that generated them instead of the normal default which is 
+     * usually bootstrap.js .
+     * 
+     * <p>The default value is false if not set.</p>
+     * 
+     * <p>
+     *  People should be wary of turning this on as it may cause problems
+     *  under certain conditions, and you definitely don't ever want this 
+     *  on in production. 
+     * </p>
+     * 
+     * @param value If true deep debugging will be turned on.
+     */
+    public void setDebugAtAllCosts(boolean value)
+    {
+        _debugAtAllCosts = value;
+    }
+    
+    /**
      * Sets the html element node id of the element you would like all browser
      * debug content to go to.
      * 
@@ -137,6 +174,34 @@
     public void setDebugContainerId(String debugContainerId)
     {
         _debugContainerId = debugContainerId;
+    }
+    
+    /**
+     * Enables/disables the dojo.debug.console functionality which should redirect
+     * most logging messages to your browsers javascript console. (if it supports 
+     * one).
+     * 
+     * <p>
+     *  The debug console is disabled by default. Currently known supported 
+     *  browsers are FireFox(having FireBug extension helps a great deal)/Opera/Safari.
+     * </p>
+     * 
+     * @param enabled Whether or not the enable debug console.
+     */
+    public void setConsoleEnabled(boolean enabled)
+    {
+        _consoleEnabled = enabled;
+    }
+    
+    /**
+     * Sets the dojo preventBackButtonFix djConfig configuration. This should
+     * typically be avoided but is provided for flexibility.
+     * 
+     * @param prevent
+     */
+    public void setPreventBackButtonFix(boolean prevent)
+    {
+        _preventBackButtonFix = prevent;
     }
     
     /**

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoMessages.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoMessages.java?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoMessages.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoMessages.java Sat Oct  7 13:35:08 2006
@@ -20,14 +20,14 @@
  * @author andyhot
  * @since 4.1
  */
-final class DojoMessages
+public final class DojoMessages
 {
-    private static final MessageFormatter _formatter = new MessageFormatter(DojoMessages.class);
-
+    protected static final MessageFormatter _formatter = new MessageFormatter(DojoMessages.class);
+    
     /* defeat instantiation */
     private DojoMessages() { }
     
-    static String mustUseValidJsonInParameter(String parameterName)
+    public static String mustUseValidJsonInParameter(String parameterName)
     {
         return _formatter.format("must-use-valid-json-in-parameter", parameterName);
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoStrings.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoStrings.properties?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoStrings.properties (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/DojoStrings.properties Sat Oct  7 13:35:08 2006
@@ -13,4 +13,3 @@
 # limitations under the License.
 
 must-use-valid-json-in-parameter=Parameter {0} does not have valid JSON syntax.
-

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java Sat Oct  7 13:35:08 2006
@@ -62,6 +62,7 @@
         
         writer.begin("select");
         writer.attribute("name", getName());
+        writer.attribute("autocomplete", "off"); // turn off native html autocomplete
         
         if (isDisabled())
             writer.attribute("disabled", "disabled");
@@ -183,12 +184,6 @@
     }
     
     public abstract IAutocompleteModel getModel();
-    
-    /** @since 4.1 */
-    public abstract boolean isFilterOnChange();
-    
-    /** whether or not to autocomplete the input text. */
-    public abstract boolean isAutocomplete();
     
     /** How long to wait(in ms) before searching after input is received. */
     public abstract int getSearchDelay();

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc Sat Oct  7 13:35:08 2006
@@ -33,10 +33,6 @@
   	
   <parameter name="disabled"/>
   
-  <parameter name="filterOnChange" default-value="true" />
-  
-  <parameter name="autocomplete" default-value="true" />
-  
   <parameter name="searchDelay" default-value="100" />
   
   <parameter name="fadeTime" default-value="200" />
@@ -49,11 +45,10 @@
   <parameter name="id" property="idParameter" default-value="id"/>
   
   <reserved-parameter name="name"/>
+  <reserved-parameter name="autocomplete"/>
   
   <inject property="validatableFieldSupport" object="service:tapestry.form.ValidatableFieldSupport"/>
-  
   <inject property="dataSqueezer" object="service:tapestry.data.DataSqueezer"/>
-  
   <inject property="directService" object="service:tapestry.services.Direct"/>
   <inject property="script" type="script" object="Autocompleter.script"/>
   

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java Sat Oct  7 13:35:08 2006
@@ -177,7 +177,7 @@
         writer.attribute("href", stylesheet.buildURL());
         writer.println();
     }
-
+    
     private void writeRefresh(IMarkupWriter writer, IRequestCycle cycle)
     {
         int refresh = getRefresh();
@@ -260,9 +260,10 @@
         List relations = getRelations();
         if (relations == null)
             relations = new ArrayList();
-
+        
         if (!relations.contains(relation))
             relations.add(relation);
+        
         setRelations(relations);             
     }
 
@@ -289,7 +290,7 @@
     public abstract IRender getAjaxDelegate();
     
     public abstract IRender getDelegate();
-
+    
     public abstract int getRefresh();
 
     public abstract IAsset getStylesheet();

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc Sat Oct  7 13:35:08 2006
@@ -36,7 +36,6 @@
         </description>
     </parameter>
 
-
     <parameter name="stylesheet">
         <description>If specified, provides an external stylesheet for the page.</description>
     </parameter>
@@ -80,7 +79,7 @@
         </description>
     </parameter>
 
-    <parameter name="renderBaseTag" default-value="true">
+    <parameter name="renderBaseTag" default-value="false">
         <description>
             Specifies whether or not to render the html basetag element in the document head.
         </description>
@@ -107,18 +106,24 @@
         </description>
     </parameter>
 
-    <parameter name="debugEnabled" default-value="ognl:true">
+    <parameter name="debugEnabled" default-value="true">
         <description>Allows turning browser debug logging statements on/off.</description>
     </parameter>
-
+    
+    <parameter name="debugAtAllCosts" default-value="false" />
+    
     <parameter name="debugContainerId" default-value="literal:debug">
         <description>
             Sets the html element node id of the element you would like all browser debug content to
             go to, if you have logging turned on.
         </description>
     </parameter>
-
-    <parameter name="parseWidgets" default-value="ognl:false">
+    
+    <parameter name="consoleEnabled" default-value="false" />
+    
+    <parameter name="preventBackButtonFix" default-value="false" />
+    
+    <parameter name="parseWidgets" default-value="false">
         <description>
             Tells dojo whether or not to parse widgets by traversing the entire dom node of your
             document. It is highly reccomended that you keep this at its default value of false.
@@ -157,11 +162,15 @@
         <set name="tapestrySource" value="tapestrySource" />
         <set name="logLevel" value="browserLogLevel" />
         <set name="debug" value="debugEnabled" />
+        <set name="debugAtAllCosts" value="debugAtAllCosts" />
         <set name="debugContainerId" value="debugContainerId" />
+        <set name="consoleEnabled" value="consoleEnabled" />
+        <set name="preventBackButtonFix" value="preventBackButtonFix" />
         <set name="parseWidgets" value="parseWidgets" />
     </bean>
 
     <asset name="defaultDojoSource" path="classpath:/dojo/dojo.js" />
     <asset name="defaultDojoPath" path="classpath:/dojo/" />
     <asset name="defaultTapestrySource" path="classpath:/tapestry/core.js" />
+    
 </component-specification>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/version.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/version.properties?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/version.properties (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/version.properties Sat Oct  7 13:35:08 2006
@@ -1 +1 @@
-project.version=4.1
+project.version=4.1.1

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestLibrary.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestLibrary.xml?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestLibrary.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestLibrary.xml Sat Oct  7 13:35:08 2006
@@ -46,8 +46,6 @@
 		<match>html</match>
 		<match>head</match>
 		<match>meta</match>
-        <match>base</match>
-        <match>/base</match>
 		<match>title</match>
 		<match>/title</match>
         <match>script</match>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestSimple.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestSimple.xml?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestSimple.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/scripts/TestSimple.xml Sat Oct  7 13:35:08 2006
@@ -39,8 +39,6 @@
 		<match>html</match>
 		<match>head</match>
 		<match>meta</match>
-    <match>base</match>
-    <match>/base</match>
 		<match>title</match>
 		<match>/title</match>
         <match>script</match>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java?view=diff&rev=454013&r1=454012&r2=454013
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java Sat Oct  7 13:35:08 2006
@@ -225,7 +225,7 @@
         
         verify();
         
-        assertBuffer("<span class=\"prefix\"><select name=\"fred\" class=\"validation-delegate\"></select></span>");
+        assertBuffer("<span class=\"prefix\"><select name=\"fred\" autocomplete=\"off\" class=\"validation-delegate\"></select></span>");
     }
     
     public void test_Render_JSON()