New server side tooltip behavior added.
authorErik Brakkee <erik@brakkee.org>
Sat, 12 Feb 2011 15:01:10 +0000 (15:01 +0000)
committerErik Brakkee <erik@brakkee.org>
Sat, 12 Feb 2011 15:01:10 +0000 (15:01 +0000)
wicket/components/src/main/java/org/wamblee/wicket/behavior/AbstractTooltipBehavior.java [new file with mode: 0644]
wicket/components/src/main/java/org/wamblee/wicket/behavior/ServerTooltipBehavior.java [new file with mode: 0644]
wicket/components/src/main/java/org/wamblee/wicket/behavior/TitleAttributeTooltipBehavior.java
wicket/components/src/main/resources/org/wamblee/wicket/behavior/wamblee-tooltip.js

diff --git a/wicket/components/src/main/java/org/wamblee/wicket/behavior/AbstractTooltipBehavior.java b/wicket/components/src/main/java/org/wamblee/wicket/behavior/AbstractTooltipBehavior.java
new file mode 100644 (file)
index 0000000..bc15420
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2005-2010 the original author or authors.
+ * 
+ * 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 org.wamblee.wicket.behavior;
+
+import org.apache.wicket.behavior.IBehavior;
+import org.wamblee.wicket.jquery.AbstractJQueryBehavior;
+
+/**
+ * Abstract tooltip behavior providing common options for tooltips.
+ * 
+ * @author Erik Brakkee
+ */
+public class AbstractTooltipBehavior extends AbstractJQueryBehavior {
+
+    private String border;
+    private String padding;
+    private String background;
+
+    public AbstractTooltipBehavior(String aFunction, IBehavior... aBehaviors) {
+        super(aFunction, aBehaviors);
+    }
+
+    public AbstractTooltipBehavior border(String aValue) { 
+        border = aValue;
+        return this; 
+    }
+
+    public AbstractTooltipBehavior padding(String aValue) { 
+        padding = aValue; 
+        return this; 
+    }
+
+    public AbstractTooltipBehavior background(String aValue) { 
+        background = aValue; 
+        return this; 
+    }
+
+    @Override
+    protected Object getConfigurationObject() {
+        return this; 
+    }
+
+    public String getBorder() {
+        return border;
+    }
+
+    public String getPadding() {
+        return padding;
+    }
+
+    public String getBackground() {
+        return background;
+    }
+
+}
\ No newline at end of file
diff --git a/wicket/components/src/main/java/org/wamblee/wicket/behavior/ServerTooltipBehavior.java b/wicket/components/src/main/java/org/wamblee/wicket/behavior/ServerTooltipBehavior.java
new file mode 100644 (file)
index 0000000..9004ad6
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2005-2010 the original author or authors.
+ * 
+ * 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 org.wamblee.wicket.behavior;
+
+import org.apache.wicket.behavior.HeaderContributor;
+import org.apache.wicket.markup.html.JavascriptPackageResource;
+
+/**
+ * Tooltip behavior that adds tooltips based on the title attribute in an HTML
+ * document. The behavior may be attached to pages or components and applies to
+ * the element and its children to which it is applied.
+ * 
+ * @author Erik Brakkee
+ * 
+ */
+public class ServerTooltipBehavior extends AbstractTooltipBehavior {
+
+    private static final String READY_FUNCTION = "org.wamblee.tooltip.serverside";
+
+    static final String SCRIPT = "wamblee-tooltip.js";
+
+    private static HeaderContributor BEHAVIOR = JavascriptPackageResource
+        .getHeaderContribution(ServerTooltipBehavior.class, SCRIPT);
+    
+    private String text; 
+
+    /**
+     * Constructs the tooltip.
+     * @param aText Text to add.
+     */
+    public ServerTooltipBehavior(String aText) {
+        super(READY_FUNCTION, new SupportBehavior(), BEHAVIOR);
+        text = aText;
+    }
+    
+    public String getText() {
+        return text;
+    }
+
+}
index da55e1f8e5a0cd7f6b19491c3aba0b2be87a22cc..492f170192dcdaaa9344b8a3c1b2962474f799c7 100644 (file)
  */
 package org.wamblee.wicket.behavior;
 
-import org.apache.wicket.Component;
-import org.apache.wicket.Page;
 import org.apache.wicket.behavior.HeaderContributor;
-import org.apache.wicket.markup.html.IHeaderResponse;
 import org.apache.wicket.markup.html.JavascriptPackageResource;
-import org.wamblee.wicket.jquery.JQueryHeaderContributor;
-import org.wamblee.wicket.jquery.AbstractJQueryBehavior;
 
 /**
  * Tooltip behavior that adds tooltips based on the title attribute in an HTML
@@ -31,7 +26,7 @@ import org.wamblee.wicket.jquery.AbstractJQueryBehavior;
  * @author Erik Brakkee
  * 
  */
-public class TitleAttributeTooltipBehavior extends AbstractJQueryBehavior {
+public class TitleAttributeTooltipBehavior extends AbstractTooltipBehavior {
 
     private static final String READY_FUNCTION = "org.wamblee.tooltip.clientside";
 
@@ -40,44 +35,8 @@ public class TitleAttributeTooltipBehavior extends AbstractJQueryBehavior {
     private static HeaderContributor BEHAVIOR = JavascriptPackageResource
         .getHeaderContribution(TitleAttributeTooltipBehavior.class, SCRIPT);
 
-    private String border;
-    private String padding;
-    private String background;
-
     public TitleAttributeTooltipBehavior() {
         super(READY_FUNCTION, new SupportBehavior(), BEHAVIOR);
     }
-    
-    public TitleAttributeTooltipBehavior border(String aValue) { 
-        border = aValue;
-        return this; 
-    }
-    
-    public TitleAttributeTooltipBehavior padding(String aValue) { 
-        padding = aValue; 
-        return this; 
-    }
-    
-    public TitleAttributeTooltipBehavior background(String aValue) { 
-        background = aValue; 
-        return this; 
-    }
-    
-    @Override
-    protected Object getConfigurationObject() {
-        return this; 
-    }
-    
-    public String getBorder() {
-        return border;
-    }
-    
-    public String getPadding() {
-        return padding;
-    }
-    
-    public String getBackground() {
-        return background;
-    }
 
 }
index 7773cb4ad4bb5c829684066b2981a9aa7bf4484f..016fa492ce54345e1989c997d8536fb2b1031924 100644 (file)
@@ -25,8 +25,8 @@
 
                var options = $.extend({
                        delay :  500,
-                       fadein : 500,
-                       fadeout: 200,
+                       fadein : 250,
+                       fadeout: 100,
                        border : "1px solid black",
                        padding : "0.2em 0.5em 0.2em 0.5em",
                        background : "yellow"