You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2013/06/19 00:34:33 UTC

[8/8] git commit: Clean up a bunch of CSS classes

Clean up a bunch of CSS classes


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4b509827
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4b509827
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4b509827

Branch: refs/heads/master
Commit: 4b5098271984846e20134a7347f26977169f952a
Parents: e6a726b
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Tue Jun 18 15:34:20 2013 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Tue Jun 18 15:34:20 2013 -0700

----------------------------------------------------------------------
 .../META-INF/modules/t5/core/console.coffee     |  15 +-
 .../modules/t5/core/exception-display.coffee    |   6 +-
 .../modules/t5/core/exceptionframe.coffee       |   8 +-
 .../org/apache/tapestry5/CSSClassConstants.java |   4 +-
 .../tapestry5/corelib/components/Error.java     |  10 +-
 .../tapestry5/corelib/components/Errors.java    |  50 +-
 .../tapestry5/internal/InternalConstants.java   |   4 +-
 .../StackTraceElementClassConstants.java        |   6 +-
 .../org/apache/tapestry5/t5-core-dom.coffee     |   3 +-
 .../META-INF/assets/core/ExceptionDisplay.css   |  12 +-
 .../META-INF/assets/tapestry5/default.css       | 498 -------------------
 .../assets/tapestry5/exception-frame.css        |   4 +-
 .../assets/tapestry5/tapestry-console.css       |  30 +-
 .../corelib/components/ExceptionDisplay.tml     |   2 +-
 .../META-INF/modules/client-console-demo.coffee |   8 +
 .../app1/pages/ClientConsoleDemo.java           |   4 +-
 .../integration/app1/pages/ClientConsoleDemo.js |  18 -
 .../integration/app1/pages/ValidForm.tml        |  72 ++-
 18 files changed, 119 insertions(+), 635 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/console.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/console.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/console.coffee
index 1a42d1c..a622080 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/console.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/console.coffee
@@ -37,10 +37,12 @@ define ["./dom", "./builder", "underscore"], (dom, builder, _) ->
   # console as needed.
   display = (className, message) ->
     unless floatingConsole
-      floatingConsole = builder ".t-console"
+      floatingConsole = builder ".tapestry-console"
       dom.body.prepend floatingConsole
 
-    div = builder ".t-console-entry.#{className}", (_.escape message)
+    div = builder ".entry>.#{className}",
+      ["button.close", "&times;"],
+      (_.escape message)
 
     floatingConsole.append div.hide().fadeIn FADE_DURATION
 
@@ -59,6 +61,7 @@ define ["./dom", "./builder", "underscore"], (dom, builder, _) ->
   level = (className, consolefn) ->
     (message) ->
       # consolefn may be null if there's no console; under IE it may be non-null, but not a function.
+
       unless consolefn
         # Display it floating. If there's a real problem, such as a failed Ajax request, then the
         # client-side code should be alerting the user in some other way, and not rely on them
@@ -85,13 +88,13 @@ define ["./dom", "./builder", "underscore"], (dom, builder, _) ->
   exports.debug =
     if exports.debugEnabled
       # If native console available, go for it.  IE doesn't have debug, so we use log instead.
-      level "t-debug", (nativeConsole.debug or nativeConsole.log)
+      level "alert", (nativeConsole.debug or nativeConsole.log)
     else
       ->
 
-  exports.info = level "t-info", nativeConsole.info
-  exports.warn = level "t-warn", nativeConsole.warn
-  exports.error = level "t-err", nativeConsole.error
+  exports.info = level "alert.alert-info", nativeConsole.info
+  exports.warn = level "alert", nativeConsole.warn
+  exports.error = level "alert.alert-error", nativeConsole.error
 
   # Return the exports; we keep a reference to it, so we can see exports.DURATION, even
   # if some other module imports this one and modifies that property.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exception-display.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exception-display.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exception-display.coffee
index 83fa08a..32d868f 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exception-display.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exception-display.coffee
@@ -1,4 +1,4 @@
-# Copyright 2012 The Apache Software Foundation
+# Copyright 2012-2013 The Apache Software Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -22,8 +22,8 @@ define ["./dom"],
     dom.onDocument "click", "[data-behavior=stack-trace-filter-toggle]", ->
       checked = @element.checked
 
-      for traceList in dom.body.find "ul.t-stack-trace"
-        traceList[if checked then "addClass" else "removeClass"] "t-filtered"
+      for traceList in dom.body.find "ul.stack-trace"
+        traceList[if checked then "addClass" else "removeClass"] "filtered"
 
       return
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exceptionframe.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exceptionframe.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exceptionframe.coffee
index 2a0e748..93d2757 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exceptionframe.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/exceptionframe.coffee
@@ -1,4 +1,4 @@
-# Copyright 2012 The Apache Software Foundation
+# Copyright 2012-2013 The Apache Software Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -37,9 +37,11 @@ define ["./dom", "./builder", "underscore"],
     create = ->
       return if container
 
-      container = builder ".t-exception-container",
+      container = builder ".exception-container",
         ["iframe"],
-        ["div > button.pull-right.btn.btn-primary", "Close"]
+        ["div>button.pull-right.btn.btn-primary",
+         ["i.icon-remove.icon-white"],
+         "Close"]
 
       dom.body.append container.hide()
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/java/org/apache/tapestry5/CSSClassConstants.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/CSSClassConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/CSSClassConstants.java
index c8dae75..cdea26a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/CSSClassConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/CSSClassConstants.java
@@ -1,4 +1,4 @@
-// Copyright 2008, 2010, 2012 The Apache Software Foundation
+// Copyright 2008-2013 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ public class CSSClassConstants
      * @deprecated Deprecated in 5.4 with no replacement; decoration of fields with validation errors
      *             has moved to the client.
      */
-    public static final String ERROR = "t-error";
+    public static final String ERROR = "error";
 
     /**
      * CSS class name for individual validation errors.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Error.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Error.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Error.java
index a42f5be..e6f823b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Error.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Error.java
@@ -1,4 +1,4 @@
-// Copyright 2010, 2011 The Apache Software Foundation
+// Copyright 2010-2013 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -13,11 +13,7 @@
 // limitations under the License.
 package org.apache.tapestry5.corelib.components;
 
-import org.apache.tapestry5.BindingConstants;
-import org.apache.tapestry5.CSSClassConstants;
-import org.apache.tapestry5.Field;
-import org.apache.tapestry5.MarkupWriter;
-import org.apache.tapestry5.ValidationTracker;
+import org.apache.tapestry5.*;
 import org.apache.tapestry5.annotations.Environmental;
 import org.apache.tapestry5.annotations.HeartbeatDeferred;
 import org.apache.tapestry5.annotations.Parameter;
@@ -29,6 +25,8 @@ import org.apache.tapestry5.dom.Element;
  * 
  * @since 5.2.0
  * @tapestrydoc
+ * @deprecated Deprecated in 5.4 with no replacement; the significant changes in 5.4 ensure that validation errors
+ * on re-rendered forms appear with the controls.
  */
 public class Error
 {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.java
index 9d42140..8d06439 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008, 2011, 2012 The Apache Software Foundation
+// Copyright 2006-2013 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,10 +14,10 @@
 
 package org.apache.tapestry5.corelib.components;
 
-import org.apache.tapestry5.CSSClassConstants;
 import org.apache.tapestry5.MarkupWriter;
 import org.apache.tapestry5.ValidationTracker;
 import org.apache.tapestry5.annotations.Environmental;
+import org.apache.tapestry5.annotations.Import;
 import org.apache.tapestry5.annotations.Parameter;
 
 import java.util.List;
@@ -25,13 +25,14 @@ import java.util.List;
 /**
  * Standard validation error presenter. Must be enclosed by a
  * {@link org.apache.tapestry5.corelib.components.Form} component. If errors are present, renders a
- * div element around a banner message and around an unnumbered list of
+ * {@code <div>} element around a banner message and around an unnumbered list of
  * error messages. Renders nothing if the {@link org.apache.tapestry5.ValidationTracker} shows no
  * errors.
- * 
- * @see Form
+ *
  * @tapestrydoc
+ * @see Form
  */
+@Import(module = "bootstrap")
 public class Errors
 {
     /**
@@ -43,10 +44,10 @@ public class Errors
     private String banner;
 
     /**
-     * The CSS class for the div element rendered by the component. The default value is "t-error".
+     * The CSS class for the div element rendered by the component. The default value is "alert alert-error alert-block".
      */
     @Parameter(name = "class")
-    private String className = CSSClassConstants.ERROR;
+    private String className = "alert alert-error";
 
     // Allow null so we can generate a better error message if missing
     @Environmental(false)
@@ -58,35 +59,34 @@ public class Errors
             throw new RuntimeException("The Errors component must be enclosed by a Form component.");
 
         if (!tracker.getHasErrors())
+        {
             return;
+        }
 
         writer.element("div", "class", className);
+        writer.element("button",
+                "class", "close",
+                "data-dismiss", "alert");
+        writer.writeRaw("&times;");
+        writer.end();
 
-        // Inner div for the banner text
-        writer.element("div", "class", "t-banner");
-        writer.write(banner);
+        writer.element("h4");
+        writer.writeRaw(banner);
         writer.end();
 
         List<String> errors = tracker.getErrors();
 
-        if (!errors.isEmpty())
-        {
-            // Only write out the <UL> if it will contain <LI> elements. An empty <UL> is not
-            // valid XHTML.
+        writer.element("ul");
 
-            writer.element("ul");
-
-            for (String message : errors)
-            {
-                writer.element("li");
-                writer.write(message);
-                writer.end();
-            }
-
-            writer.end(); // ul
+        for (String message : errors)
+        {
+            writer.element("li");
+            writer.write(message);
+            writer.end();
         }
 
-        writer.end(); // div
+        writer.end(); // ul
 
+        writer.end(); // div
     }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
index 2010a83..4134907 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
@@ -1,4 +1,4 @@
-// Copyright 2006-2012 The Apache Software Foundation
+// Copyright 2006-2013 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -52,8 +52,6 @@ public final class InternalConstants
      */
     public static final String CONTAINER_PAGE_NAME = "t:cp";
 
-    public static final String OBJECT_RENDER_DIV_SECTION = "t-env-data-section";
-
     public static final String MIXINS_SUBPACKAGE = "mixins";
 
     public static final String COMPONENTS_SUBPACKAGE = "components";

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/java/org/apache/tapestry5/services/StackTraceElementClassConstants.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/StackTraceElementClassConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/StackTraceElementClassConstants.java
index 1c20023..b2c9bdc 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/StackTraceElementClassConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/StackTraceElementClassConstants.java
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2009-2013 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -24,10 +24,10 @@ public class StackTraceElementClassConstants
     /**
      * An omitted frame, because it is not interesting (such as a dynamically generated proxy). Usually invisible.
      */
-    public static final String OMITTED = "t-omitted-frame";
+    public static final String OMITTED = "omitted-frame";
 
     /**
      * Part of the application's code base, and therefore highlighted.
      */
-    public static final String USER_CODE = "t-usercode-frame";
+    public static final String USER_CODE = "usercode-frame";
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/preprocessed-coffeescript/org/apache/tapestry5/t5-core-dom.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/preprocessed-coffeescript/org/apache/tapestry5/t5-core-dom.coffee b/tapestry-core/src/main/preprocessed-coffeescript/org/apache/tapestry5/t5-core-dom.coffee
index 2e688b0..146b52e 100644
--- a/tapestry-core/src/main/preprocessed-coffeescript/org/apache/tapestry5/t5-core-dom.coffee
+++ b/tapestry-core/src/main/preprocessed-coffeescript/org/apache/tapestry5/t5-core-dom.coffee
@@ -78,7 +78,8 @@ define ["underscore", "./utils", "./events"
 
       # TODO: Add an easein/easeout function
 
-      newValue = initial + range * (elapsed / duration)
+      newValue = initialValue + range * (elapsed / duration)
+      styles[styleName] = newValue
 
       element.setStyle styles
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/resources/META-INF/assets/core/ExceptionDisplay.css
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/META-INF/assets/core/ExceptionDisplay.css b/tapestry-core/src/main/resources/META-INF/assets/core/ExceptionDisplay.css
index d4822e9..e997d75 100644
--- a/tapestry-core/src/main/resources/META-INF/assets/core/ExceptionDisplay.css
+++ b/tapestry-core/src/main/resources/META-INF/assets/core/ExceptionDisplay.css
@@ -1,21 +1,17 @@
-UL.t-stack-trace LI {
+UL.stack-trace LI {
     font-size: small;
 }
 
-LI.t-usercode-frame {
+LI.usercode-frame {
     font-weight: bold;
     color: blue;
 }
 
-LI.t-omitted-frame {
+LI.omitted-frame {
     color: gray;
     list-style: square;
 }
 
-UL.t-filtered LI.t-omitted-frame {
+UL.filtered LI.omitted-frame {
     display: none;
 }
-
-DT:after {
-    content: ":";
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/resources/META-INF/assets/tapestry5/default.css
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/default.css b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/default.css
deleted file mode 100644
index 9d4e693..0000000
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/default.css
+++ /dev/null
@@ -1,498 +0,0 @@
-/* Tapestry styles all start with "t-" */
-
-
-/** NOTE: No longer used.  Part of transition to Bootstrap. */
-
-DIV.t-error {
-    border: 1px solid red;
-    padding: 0px;
-    margin: 4px 0px;
-}
-
-DIV.t-error DIV.t-banner {
-    padding: 2px;
-    display: block;
-    margin: 0px;
-    background-color: red;
-    color: white;
-    font-weight: bold;
-}
-
-DIV.t-error UL {
-    margin: 2px 0px;
-    background-color: white;
-    color: red;
-}
-
-DIV.t-error LI {
-    margin-left: 20px;
-}
-
-DIV.t-error-single {
-    padding: 2px;
-    display: block;
-    margin: 0px;
-    background-color: red;
-    color: white;
-}
-
-HTML>BODY DIV.t-error LI {
-    margin-left: -20px;
-}
-
-.t-invisible {
-    display: none;
-}
-
-LABEL.t-error {
-    color: red;
-}
-
-INPUT.t-error, TEXTAREA.t-error, SELECT.t-error {
-    border-color: red;
-    font-style: italic;
-    color: red;
-}
-
-IMG.t-error-icon {
-    margin-left: 4px;
-    width: 16px;
-    height: 16px;
-    background: url(field-error-marker.gif);
-}
-
-IMG.t-autoloader-icon {
-    margin-left: 4px;
-    width: 16px;
-    height: 16px;
-    background: url(ajax-loader.gif);
-}
-
-IMG.t-sort-icon {
-    margin-left: 4px;
-}
-
-DIV.t-exception-message {
-    font-style: italic;
-    font-size: 12pt;
-    border: thin dotted silver;
-    margin: 5px 0px;
-    padding: 3px;
-}
-
-DIV.t-exception-report, DIV.t-env-data {
-    font-family: "Trebuchet MS", Arial, sans-serif;
-}
-
-DIV.t-exception-report LI {
-    margin-left: -40px;
-}
-
-DIV.t-exception-report DT, DIV.t-env-data DT {
-    color: green;
-    padding-left: 2px;
-    background-color: #FFFFCF;
-}
-
-DIV.t-exception-report LI {
-    list-style: none;
-}
-
-SPAN.t-exception-class-name {
-    display: block;
-    margin-top: 15px;
-    font-size: 12pt;
-    background-color: #E1E1E1;
-    color: blue;
-    padding: 2px 3px;
-    font-weight: bold;
-}
-
-SPAN.t-exception-stack-controls {
-    display: block;
-    float: right;
-}
-
-UL.t-stack-trace LI {
-    font-family: Monaco, Times, monospace;
-    font-size: 10pt;
-    margin-left: -25px;
-    list-style: square;
-}
-
-LI.t-usercode-frame {
-    font-weight: bold;
-    color: blue;
-}
-
-LI.t-omitted-frame {
-    display: none;
-    color: gray;
-    list-style: square;
-}
-
-H1.t-exception-report {
-    font-family: "Trebuchet MS", Arial, sans-serif;
-    color: red;
-}
-
-DIV.t-exception-report DT:after {
-    content: ":";
-}
-
-DIV.t-exception-report DD, DIV.t-env-data DD {
-    margin-left: 10px;
-}
-
-TABLE.t-data-table {
-    border-collapse: collapse;
-    margin: 0px;
-    padding: 2px;
-}
-
-TABLE.t-data-table TH {
-    background-color: black;
-    color: white;
-}
-
-TABLE.t-data-table TD {
-    border: 1px solid silver;
-    margin: 0px;
-}
-
-DIV.t-beaneditor {
-    display: block;
-    background: #ffc;
-    border: 2px outset brown;
-    padding: 2px;
-    font-family: "Trebuchet MS", Arial, sans-serif;
-}
-
-DIV.t-beaneditor-row {
-    padding: 4px 0px 2px 0px;
-}
-
-DIV.t-beaneditor-row LABEL:after {
-    content: ":";
-}
-
-DL.t-beandisplay {
-    display: block;
-    padding: 2px;
-    font-family: "Trebuchet MS", Arial, sans-serif;
-    background: #CCBE99;
-    border: 2px outset black;
-    width: auto;
-}
-
-DL.t-beandisplay DT {
-    width: 250px;
-    display: inline;
-    float: left;
-    text-align: right;
-    clear: left;
-    padding-right: 3px;
-    vertical-align: middle;
-}
-
-DL.t-beandisplay DT:after {
-    content: ":";
-}
-
-DIV.t-beaneditor-row LABEL {
-    width: 250px;
-    display: block;
-    float: left;
-    text-align: right;
-    clear: left;
-    padding-right: 3px;
-    vertical-align: middle;
-}
-
-DIV.t-checklist-row {
-    padding: 4px 0px 2px 0px;
-}
-
-DIV.t-checklist-row LABEL {
-    text-align: right;
-    padding-left: 5px;
-    vertical-align: middle;
-}
-
-INPUT.t-number {
-    text-align: right;
-}
-
-DIV.t-beandisplay DIV.t-beandisplay-label {
-    padding-right: 5px;
-}
-
-TABLE.t-data-grid THEAD TR {
-    color: white;
-    background-color: #809FFF;
-}
-
-TABLE.t-data-grid THEAD TR TH {
-    text-align: left;
-    padding: 3px;
-    white-space: nowrap;
-    border-right: 1px solid silver;
-    border-bottom: 1px solid silver;
-}
-
-TABLE.t-data-grid {
-    border-collapse: collapse;
-    border-left: 1px solid silver;
-}
-
-TABLE.t-data-grid TBODY TR TD {
-    border-right: 1px solid silver;
-    border-bottom: 1px solid silver;
-    padding: 2px;
-}
-
-DIV.t-data-grid {
-    font-family: "Trebuchet MS", Arial, sans-serif;
-}
-
-DIV.t-data-grid-pager {
-    margin: 8px 0px;
-}
-
-DIV.t-data-grid-pager A, DIV.t-data-grid-pager SPAN.current {
-    text-decoration: none;
-    color: black;
-    padding: 2px 5px;
-    font-size: medium;
-    border: 1px solid silver;
-    margin-right: 5px;
-}
-
-DIV.t-data-grid-pager A:hover {
-    border: 1px solid black;
-}
-
-DIV.t-data-grid-pager SPAN.current {
-    color: white;
-    background-color: #809FFF;
-}
-
-TABLE.t-data-grid TR TH A {
-    color: white;
-}
-
-IMG {
-    border: none;
-}
-
-DIV.t-env-data-section {
-    padding-left: 5px;
-}
-
-DIV.t-env-data DD, DIV.t-exception-report DD {
-    margin-left: 25px;
-    margin-bottom: 10px;
-}
-
-DIV.t-env-data LI {
-    margin-left: -25px;
-}
-
-DIV.t-env-data-section {
-    font-size: 12pt;
-    background-color: #E1E1E1;
-    color: blue;
-    padding: 2px 3px;
-    font-weight: bold;
-}
-
-TABLE.t-location-outer {
-    padding: 5px;
-    border-collapse: collapse;
-    border: 1px solid black;
-    width: 100%;
-}
-
-TD.t-location-line {
-    width: 40px;
-    text-align: right;
-    padding: 0px;
-    background-color: #E1E1E1;
-    padding-right: 3px;
-    border-right: 1px solid black;
-}
-
-TD.t-location-content {
-    border-top: 1px solid silver;
-    border-right: 1px solid black;
-    white-space: pre;
-}
-
-TD.t-location-current {
-    background-color: #FFFFCF;
-}
-
-TD.t-location-content-first {
-    border-top: 1px solid black;
-}
-
-DIV.t-palette {
-    display: inline;
-}
-
-DIV.t-palette SELECT {
-    margin-bottom: 2px;
-    width: 200px;
-}
-
-DIV.t-palette-title {
-    color: white;
-    background-color: #809FFF;
-    text-align: center;
-    font-weight: bold;
-    margin-bottom: 3px;
-    display: block;
-}
-
-DIV.t-palette-available {
-    float: left;
-}
-
-DIV.t-palette-controls {
-    margin: 5px 5px;
-    float: left;
-    text-align: center;
-}
-
-DIV.t-palette-controls BUTTON {
-    display: block;
-    margin-bottom: 3px;
-    cursor: pointer;
-}
-
-DIV.t-palette-controls BUTTON[disabled] IMG {
-    filter: alpha(opacity = 25);
-    -moz-opacity: .25;
-    opacity: .25;
-    cursor: default;
-}
-
-DIV.t-palette-selected {
-    float: left;
-    clear: right;
-}
-
-DIV.t-palette-spacer {
-    clear: left;
-}
-
-IMG.t-calendar-trigger {
-    padding-left: 3px;
-    cursor: pointer;
-}
-
-DIV.t-autocomplete-menu {
-    z-index: 9999;
-}
-
-DIV.t-autocomplete-menu UL {
-    border: 2px outset #cc9933;
-    background-color: #cc9933;
-    padding: 4px 6px;
-    overflow: auto;
-}
-
-DIV.t-autocomplete-menu LI {
-    color: white;
-    list-style-type: none;
-    padding: 0px;
-    margin: 0px;
-    border-bottom: 1px solid black;
-    cursor: pointer;
-}
-
-DIV.t-autocomplete-menu LI.selected {
-    color: black;
-    font-weight: bold;
-}
-
-DIV.t-error-popup SPAN {
-    background: transparent url('error-bevel-left.gif') no-repeat;
-    display: block;
-    line-height: 28px;
-    margin-left: 0px;
-    padding: 0px 5px 10px 22px;
-}
-
-HTML>BODY DIV.t-error-popup SPAN {
-    background: transparent url('error-bevel-left.png') no-repeat;
-}
-
-DIV.t-error-popup {
-    background: transparent url('error-bevel-right.gif') no-repeat scroll top right;
-    cursor: pointer;
-    color: #FFF;
-    display: block;
-    float: left;
-    font: normal 12px arial, sans-serif;
-    height: 39px;
-    margin-right: 6px;
-    padding-right: 29px;
-    text-decoration: none;
-}
-
-HTML>BODY DIV.t-error-popup {
-    background: transparent url('error-bevel-right.png') no-repeat scroll top right;
-}
-
-UL.t-data-list LI {
-    list-style-type: square;
-}
-
-DIV.t-loading {
-    display: inline;
-    width: auto;
-    font-weight: bold;
-    padding-right: 20px;
-    background: transparent url(ajax-loader.gif) no-repeat right top;
-}
-
-SPAN.t-render-object-error {
-    font-weight: bold;
-    font: italic;
-    color: red;
-}
-
-DIV.t-available-values UL LI {
-    list-style-type: disc;
-    margin-left: 0px;
-}
-
-DIV.t-exception-container {
-    background: white;
-    border: 1px solid black;
-    position: fixed;
-    top: 50px;
-    left: 50px;
-    -moz-box-shadow: 6px 6px 3px #888;
-    -webkit-box-shadow: 6px 6px 3px #888;
-    box-shadow: 6px 6px 3px #888;
-
-}
-
-DIV.t-exception-frame {
-}
-
-DIV.t-exception-container .t-exception-close {
-    display: block;
-    float: right;
-    margin: 5px;
-    padding-right: 2px;
-    padding-left: 22px;
-    height: 18px;
-    cursor: pointer;
-    background: #e8e8e8 url("../../../org/apache/tapestry5/silk/delete.png") no-repeat;
-    border-radius: 5px;
-    -moz-border-radius: 5px;
-    -webkit-border-radius: 5px;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/resources/META-INF/assets/tapestry5/exception-frame.css
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/exception-frame.css b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/exception-frame.css
index 9ab420b..640d509 100644
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/exception-frame.css
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/exception-frame.css
@@ -1,4 +1,4 @@
-DIV.t-exception-container {
+DIV.exception-container {
     background: white;
     border: 1px solid black;
     position: fixed;
@@ -16,7 +16,7 @@ DIV.t-exception-container {
     box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
 }
 
-DIV.t-exception-container IFRAME {
+DIV.exception-container IFRAME {
     width: 100%;
     height: 100%;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry-console.css
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry-console.css b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry-console.css
index b38156d..f475a76 100644
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry-console.css
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry-console.css
@@ -1,12 +1,12 @@
 /* The console is used to show debugging messages. */
-DIV.t-console {
+DIV.tapestry-console {
     position: fixed;
     z-index: 1;
     top: 2px;
     left: 2px;
 }
 
-DIV.t-console-entry {
+DIV.tapestry-console > DIV.entry {
     font-weight: bold;
     padding: 0px 2px;
     cursor: pointer;
@@ -15,28 +15,4 @@ DIV.t-console-entry {
     -webkit-border-radius: 5px;
     margin-bottom: 5px;
     padding-left: 22px;
-}
-
-DIV.t-console DIV.t-err {
-    background: red url("silk/error.png") no-repeat;
-    color: white;
-    padding-left: 22px;
-}
-
-DIV.t-console DIV.t-warn {
-    background: #f4da5b url("silk/error.png") no-repeat;
-    color: black;
-    padding-left: 22px;
-}
-
-DIV.t-console DIV.t-info {
-    background: green url("silk/information.png") no-repeat;
-    color: white;
-    padding-left: 22px;
-}
-
-DIV.t-console DIV.t-debug {
-    background-color: silver;
-    color: black;
-    padding-left: 22px;
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/ExceptionDisplay.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/ExceptionDisplay.tml b/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/ExceptionDisplay.tml
index e2e4c31..214d866 100644
--- a/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/ExceptionDisplay.tml
+++ b/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/ExceptionDisplay.tml
@@ -30,7 +30,7 @@
                 </div>
                 <h4>Stack trace:</h4>
             </div>
-            <ul class="t-stack-trace t-filtered">
+            <ul class="stack-trace filtered">
                 <li t:type="loop" source="info.stackTrace" value="frame" class="${frameClass}">
                     ${frame}
                 </li>

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/test/coffeescript/META-INF/modules/client-console-demo.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/coffeescript/META-INF/modules/client-console-demo.coffee b/tapestry-core/src/test/coffeescript/META-INF/modules/client-console-demo.coffee
new file mode 100644
index 0000000..2a960ff
--- /dev/null
+++ b/tapestry-core/src/test/coffeescript/META-INF/modules/client-console-demo.coffee
@@ -0,0 +1,8 @@
+define ["t5/core/dom", "t5/core/console"],
+  (dom, console) ->
+
+    for name in ["debug", "info", "warn", "error"]
+      do (name) ->
+        (dom name).on "change", -> console[name](@value())
+
+    return
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.java
index 038b06e..a319dd5 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011, 2013 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -19,6 +19,6 @@ import org.apache.tapestry5.annotations.Import;
 /**
  * @since 5.3
  */
-@Import(library = "ClientConsoleDemo.js")
+@Import(module = "client-console-demo")
 public class ClientConsoleDemo {
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.js
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.js b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.js
deleted file mode 100644
index 1750c31..0000000
--- a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ClientConsoleDemo.js
+++ /dev/null
@@ -1,18 +0,0 @@
-Tapestry.onDOMLoaded(function() {
-
-    var _ = T5._;
-
-    function execute(level) {
-        T5.console[level]($(level).value);
-        $(level).select();
-    }
-
-    function wire(level) {
-        $(level).observe("change", function() {
-            execute(level);
-        });
-
-    }
-
-    _.each(["debug", "info", "warn", "error"], wire);
-});

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4b509827/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ValidForm.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ValidForm.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ValidForm.tml
index 46fb2ab..7a29179 100644
--- a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ValidForm.tml
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ValidForm.tml
@@ -1,38 +1,56 @@
 <html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
-  <h1>Valid Form</h1>
+<h1>Valid Form</h1>
 
-  <p> Tapestry 5 form support with server-side validation. </p>
+<p> Tapestry 5 form support with server-side validation. </p>
 
-  <t:form clientValidation="none">
+<t:form clientValidation="none" class="form-horizontal">
     <t:errors/>
-    <t:label for="email">This isn't used</t:label>: <input t:type="TextField" t:id="email"
-      value="incident.email" size="50" t:validate="required"/>
-    <br/>
-    <t:label for="message"/>: <textarea t:type="TextArea" t:id="message"
-      t:label="Incident Message" value="incident.message" cols="50" rows="10"> You can put text
-      here, but it isn't used. </textarea>
-    <br/>
-    <input t:type="Checkbox" t:id="urgent" value="incident.urgent"/>
-    <t:label for="urgent"/>
-    <br/>
-    <t:label for="hours"/>: <input t:type="TextField" t:id="hours"
-      value="incident.hours" size="10" t:validate="required"/>
-    <br/>
-    <input type="submit"/>
-  </t:form>
-
-
-  <hr/>
-
-  <p> Entered data: </p>
-
-  <ul>
+    <div class="control-group">
+        <t:label for="email">This isn't used</t:label>
+        <div class="controls">
+            <input t:type="TextField" t:id="email"
+                   value="incident.email" size="50" t:validate="required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <t:label for="message"/>
+        <div class="controls">
+            <textarea t:type="TextArea" t:id="message"
+                      t:label="Incident Message" value="incident.message" cols="50" rows="10"> You can put text
+                here, but it isn't used. </textarea>
+
+        </div>
+    </div>
+    <div class="control-group">
+        <div class="controls">
+            <input t:type="Checkbox" t:id="urgent" value="incident.urgent"/>
+            <t:label for="urgent"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <t:label for="hours"/>
+        <div class="controls">
+            <input t:type="TextField" t:id="hours"
+                   value="incident.hours" size="10" t:validate="required"/>
+
+        </div>
+    </div>
+    <div class="form-actions">
+        <input type="submit" class="btn btn-primary"/>
+    </div>
+</t:form>
+
+
+<hr/>
+
+<p> Entered data: </p>
+
+<ul>
     <li>email: [${incident.email}]</li>
     <li>message: [${incident.message}]</li>
     <li>urgent: [${incident.urgent}]</li>
     <li>hours: [${incident.hours}]</li>
-  </ul>
-
+</ul>
 
 
 </html>