summaryrefslogtreecommitdiff
path: root/js/form
diff options
context:
space:
mode:
authorMichael Kuhn <[email protected]>2019-04-13 22:36:15 +0200
committerMichael Kuhn <[email protected]>2019-04-14 12:01:52 +0200
commite38fcd6deac9a63654fb0eb61fffa9ad747e4c50 (patch)
treeb44675f21eaad01efd8b8ab83cc97dc28a499ee5 /js/form
parent4a2a90c980bb7436150ed82556fdb6f4db3ff138 (diff)
Fix button focus issues
This change introduces derived classes for ComboButton, DropDownButton and Select that make sure that buttons do not remain focused after their menus are closed. This allows using hotkeys after closing them.
Diffstat (limited to 'js/form')
-rwxr-xr-xjs/form/ComboButton.js12
-rwxr-xr-xjs/form/DropDownButton.js12
-rwxr-xr-xjs/form/Select.js8
3 files changed, 32 insertions, 0 deletions
diff --git a/js/form/ComboButton.js b/js/form/ComboButton.js
new file mode 100755
index 000000000..1084cda9c
--- /dev/null
+++ b/js/form/ComboButton.js
@@ -0,0 +1,12 @@
+/* global dijit */
+define(["dojo/_base/declare", "dijit/form/ComboButton"], function (declare) {
+ return declare("fox.form.ComboButton", dijit.form.ComboButton, {
+ startup: function() {
+ this.inherited(arguments);
+ this.dropDown.autoFocus = true; // Allow dropdown menu to be focused on click
+ },
+ focus: function() {
+ return; // Stop dijit.form.ComboButton from keeping focus after closing the menu
+ },
+ });
+});
diff --git a/js/form/DropDownButton.js b/js/form/DropDownButton.js
new file mode 100755
index 000000000..0c182772a
--- /dev/null
+++ b/js/form/DropDownButton.js
@@ -0,0 +1,12 @@
+/* global dijit */
+define(["dojo/_base/declare", "dijit/form/DropDownButton"], function (declare) {
+ return declare("fox.form.DropDownButton", dijit.form.DropDownButton, {
+ startup: function() {
+ this.inherited(arguments);
+ this.dropDown.autoFocus = true; // Allow dropdown menu to be focused on click
+ },
+ focus: function() {
+ return; // Stop dijit.form.DropDownButton from keeping focus after closing the menu
+ },
+ });
+});
diff --git a/js/form/Select.js b/js/form/Select.js
new file mode 100755
index 000000000..c62db1821
--- /dev/null
+++ b/js/form/Select.js
@@ -0,0 +1,8 @@
+/* global dijit */
+define(["dojo/_base/declare", "dijit/form/Select"], function (declare) {
+ return declare("fox.form.Select", dijit.form.Select, {
+ focus: function() {
+ return; // Stop dijit.form.Select from keeping focus after closing the menu
+ },
+ });
+});