@@ -47,53 +47,16 @@ $.widget("ui.flyoutmenu", {
47
47
case $.ui.keyCode.RIGHT:
48
48
if (self.right(event)) {
49
49
event.stopImmediatePropagation();
50
- }
50
+ }
51
51
event.preventDefault();
52
52
break;
53
53
case $.ui.keyCode.ESCAPE:
54
54
self.hide();
55
55
break;
56
- default:
57
- clearTimeout(self.filterTimer);
58
- var prev = self.previousFilter || "";
59
- var character = String.fromCharCode(event.keyCode);
60
- var skip = false;
61
- if (character == prev) {
62
- skip = true;
63
- } else {
64
- character = prev + character;
65
- }
66
- function escape(value) {
67
- return value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
68
- }
69
- var match = self.activeItem.parent("ul").children("li").filter(function() {
70
- // TODO why filter child anchor here, but not in the filter below?
71
- return new RegExp("^" + escape(character), "i").test($("a", this).text());
72
- });
73
- var match = skip && match.index(self.active.next()) != -1 ? match.next() : match;
74
- if (!match.length) {
75
- character = String.fromCharCode(event.keyCode);
76
- // TODO why use self.widget() here instead of self.activeItem??
77
- match = self.widget().children("li").filter(function() {
78
- return new RegExp("^" + escape(character), "i").test($(this).text());
79
- });
80
- }
81
- if (match.length) {
82
- self.activate(event, match);
83
- if (match.length > 1) {
84
- self.previousFilter = character;
85
- self.filterTimer = setTimeout(function() {
86
- delete self.previousFilter;
87
- }, 1000);
88
- } else {
89
- delete self.previousFilter;
90
- }
91
- } else {
92
- delete self.previousFilter;
93
- }
94
56
}
95
57
});
96
58
},
59
+
97
60
_open: function(submenu) {
98
61
// TODO restrict to widget
99
62
//only one menu can have items open at a time.
0 commit comments