Author: blabno
Date: 2011-12-17 13:56:20 -0500 (Sat, 17 Dec 2011)
New Revision: 23095
Modified:
sandbox/trunk/ui/accesskeyhelper/demo/src/main/webapp/sample_1.xhtml
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/component/AbstractAccessKeyHelper.java
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/renderkit/html/AccessKeyHelperRenderer.java
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/jquery.accesskey.js
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/richfaces.accesskeyhelper.js
Log:
Added timeout, hideOnAnyKey attributes and changed shortcutKey to shortcutKeyCode.
Modified: sandbox/trunk/ui/accesskeyhelper/demo/src/main/webapp/sample_1.xhtml
===================================================================
--- sandbox/trunk/ui/accesskeyhelper/demo/src/main/webapp/sample_1.xhtml 2011-12-17
18:09:36 UTC (rev 23094)
+++ sandbox/trunk/ui/accesskeyhelper/demo/src/main/webapp/sample_1.xhtml 2011-12-17
18:56:20 UTC (rev 23095)
@@ -41,7 +41,7 @@
<p>
Press TAB to see accesskey hints. </p>
- <accesskeyhelper:accesskeyhelper/>
+ <accesskeyhelper:accesskeyhelper hideOnAnyKey="true"
timeout="2000"/>
<div>
Modified:
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/component/AbstractAccessKeyHelper.java
===================================================================
---
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/component/AbstractAccessKeyHelper.java 2011-12-17
18:09:36 UTC (rev 23094)
+++
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/component/AbstractAccessKeyHelper.java 2011-12-17
18:56:20 UTC (rev 23095)
@@ -39,5 +39,11 @@
// -------------------------- OTHER METHODS --------------------------
@Attribute
- public abstract String getShortcutKey();
+ public abstract Integer getShortcutKeyCode();
+
+ @Attribute
+ public abstract Long getTimeout();
+
+ @Attribute(defaultValue = "true")
+ public abstract boolean isHideOnAnyKey();
}
Modified:
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/renderkit/html/AccessKeyHelperRenderer.java
===================================================================
---
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/renderkit/html/AccessKeyHelperRenderer.java 2011-12-17
18:09:36 UTC (rev 23094)
+++
sandbox/trunk/ui/accesskeyhelper/ui/src/main/java/org/richfaces/renderkit/html/AccessKeyHelperRenderer.java 2011-12-17
18:56:20 UTC (rev 23095)
@@ -57,7 +57,9 @@
static {
Map<String, Object> defaults = new HashMap<String, Object>();
- defaults.put("shortcutKey", "\t");
+ defaults.put("shortcutKeyCode", 9);
+ defaults.put("hideOnAnyKey", true);
+ defaults.put("timeout", 6000);
DEFAULTS = Collections.unmodifiableMap(defaults);
}
@@ -93,7 +95,9 @@
* Include only attributes that are actually set.
*/
Map<String, Object> options = new HashMap<String, Object>();
- addOptionIfSetAndNotDefault("shortcutKey",
accesskeyhelper.getShortcutKey(), options);
+ addOptionIfSetAndNotDefault("shortcutKeyCode",
accesskeyhelper.getShortcutKeyCode(), options);
+ addOptionIfSetAndNotDefault("timeout", accesskeyhelper.getTimeout(),
options);
+ addOptionIfSetAndNotDefault("hideOnAnyKey",
accesskeyhelper.isHideOnAnyKey(), options);
return options;
}
}
Modified:
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/jquery.accesskey.js
===================================================================
---
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/jquery.accesskey.js 2011-12-17
18:09:36 UTC (rev 23094)
+++
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/jquery.accesskey.js 2011-12-17
18:56:20 UTC (rev 23095)
@@ -22,7 +22,7 @@
*/
(function($) {
$.accesskeyHelper = function(options) {
- var defaults = {shortcutKeyCode:9};
+ var defaults = {shortcutKeyCode:9,timeout:6000,hideOnAnyKey:true};
options = $.extend(defaults, options);
// I would use jQuery.sub() to have our own jQuery, but
// it did not work with .extend($.expr[':']) for whatever reason.
@@ -76,7 +76,14 @@
var api = {
'show': function() {
body.addClass('accesskey-shown');
- shown = true
+ shown = true;
+ if (options.hideOnAnyKey) {
+ var keydownHandler = function() {
+ api.hide();
+ $(window).unbind("keydown", keydownHandler);
+ };
+ $(window).keydown(keydownHandler);
+ }
},
'hide': function() {
body.removeClass('accesskey-shown');
@@ -93,7 +100,7 @@
api.show();
setTimeout(function() {
api.hide();
- }, 6000);
+ }, options.timeout);
};
return api
})();
Modified:
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/richfaces.accesskeyhelper.js
===================================================================
---
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/richfaces.accesskeyhelper.js 2011-12-17
18:09:36 UTC (rev 23094)
+++
sandbox/trunk/ui/accesskeyhelper/ui/src/main/resources/META-INF/resources/richfaces.accesskeyhelper.js 2011-12-17
18:56:20 UTC (rev 23095)
@@ -10,15 +10,15 @@
rf.ui.AccessKeyHelper = rf.BaseComponent.extendClass({
// class name
name:"AccessKeyHelper",
- init: function (options) {
- options = $.extend({shortcutKey:String.fromCharCode(9)}, options);
+ init: function (componentId, options) {
+ options = $.extend({shortcutKeyCode:9}, options);
// call constructor of parent class if needed
- $super.constructor.call(this);
+ $super.constructor.call(this, componentId);
// attach component object to DOM element for
// future cleaning and for client side API calls
-// this.attachToDom(this.id);
+ this.attachToDom(this.id);
// ...
-
$.accesskeyHelper({shortcutKeyCode:options['shortcutKey'].charCodeAt(0)});
+ $.accesskeyHelper(options);
},
// private functions definition
// destructor definition