8000 Merge pull request #16 from blackberry/ActionMenuClickClose · blackberry/jQueryMobile-BB10-Theme@5acd6ab · GitHub
Skip to content
This repository was archived by the owner on Sep 4, 2019. It is now read-only.

Commit 5acd6ab

Browse files
committed
Merge pull request #16 from blackberry/ActionMenuClickClose
Action Menu: Closes the action menu on menu item click.
2 parents f3a1fab + 1db18c3 commit 5acd6ab

4 files changed

Lines changed: 64 additions & 40 deletions

File tree

dist/BlackBerry-JQM-all.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18551,25 +18551,25 @@ $( document ).bind( "pagecreate create", function( e ) {
1855118551
}
1855218552

1855318553
if( this.showActionOverflow ) {
18554+
this.overflowActionMenu.find('.menuItem').bind('vclick', {context: self}, this._hideActionOverflow);
18555+
1855418556
this.overflowActionMenu.bind('vclick', function(event){
18555-
event.stopPropagation();
1855618557
return false;
1855718558
});
1855818559
this._createOverflowButton(this.overflowActionMenu)
1855918560
.addClass("actions")
18560< 8000 /code>18561
.appendTo(actions)
1856118562
.bind('vclick', function(){
1856218563
self.overflowActionMenu.addClass("showMenu");
18563-
setTimeout(function(){
18564-
$(document).one('vclick', function (){
18565-
self.overflowActionMenu.removeClass("showMenu");
18566-
});
18567-
},0);
18564+
18565+
setTimeout(function() {
18566+
$(document).bind('vclick', {context: self}, self._hideActionOverflow);
18567+
}, 0);
1856818568
});
1856918569
}
1857018570

1857118571
if( this.showTabOverflow ) {
18572-
$(".overflowMenu.left .menuItem").bind('vclick',function () {
18572+
this.overflowTabMenu.find(".menuItem").bind('vclick',function () {
1857318573
$('.ui-page-active, .ui-footer, .ui-header').removeClass('showTabOverflow');
1857418574
$(this).find('img').clone().appendTo($('.tabs').first());
1857518575
$('<div class="action-bar-action-item-text"><p>' + $(this).text() + '</p></div>').appendTo($('.tabs').first());
@@ -18582,21 +18582,23 @@ $( document ).bind( "pagecreate create", function( e ) {
1858218582

1858318583
});
1858418584
});
18585-
this.overflowTabMenu.bind('vclick', function(){
18585+
this.overflowTabMenu.bind('vclick', function() {
1858618586
return false;
1858718587
});
1858818588
this._createOverflowButton(this.overflowTabMenu)
1858918589
.addClass("tabs")
1859018590
.addClass("action-bar-tab-item")
1859118591
.prependTo(actions)
18592-
.bind('vclick', function(event){
18593-
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed').addClass('showTabHelper').addClass('showTabOverflow');
18592+
.bind('vclick', function(event) {
18593+
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed')
18594+
.addClass('showTabHelper')
18595+
.addClass('showTabOverflow');
1859418596
event.stopPropagation();
18595-
setTimeout(function(){
18596-
$(document).not(self.overflowActionMenu).one('vclick', function (){
18597+
setTimeout(function() {
18598+
$(document).one('vclick', function () {
1859718599
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed')
1859818600
.removeClass('showTabOverflow')
18599-
.one("webkitTransitionEnd",function(){
18601+
.one("webkitTransitionEnd",function() {
1860018602
$(this).removeClass('showTabHelper');
1860118603
});
1860218604

@@ -18686,6 +18688,12 @@ $( document ).bind( "pagecreate create", function( e ) {
1868618688
return item;
1868718689
},
1868818690

18691+
_hideActionOverflow: function (event) {
18692+
var self = event.data.context;
18693+
self.overflowActionMenu.removeClass("showMenu");
18694+
$(document).unbind('vclick', self._hideActionOverflow);
18695+
},
18696+
1868918697
_addToTabOverflow: function(item) {
1869018698
if (!this.overflowTabMenu){
1869118699
this.overflowTabMenu = this._createOverflowMenu(this.actionBarArea, true);

dist/BlackBerry-JQM-all.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/BlackBerry-JQM.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,25 +101,25 @@
101101
}
102102

103103
if( this.showActionOverflow ) {
104+
this.overflowActionMenu.find('.menuItem').bind('vclick', {context: self}, this._hideActionOverflow);
105+
104106
this.overflowActionMenu.bind('vclick', function(event){
105-
event.stopPropagation();
106107
return false;
107108
});
108109
this._createOverflowButton(this.overflowActionMenu)
109110
.addClass("actions")
110111
.appendTo(actions)
111112
.bind('vclick', function(){
112113
self.overflowActionMenu.addClass("showMenu");
113-
setTimeout(function(){
114-
$(document).one('vclick', function (){
115-
self.overflowActionMenu.removeClass("showMenu");
116-
});
117-
},0);
114+
115+
setTimeout(function() {
116+
$(document).bind('vclick', {context: self}, self._hideActionOverflow);
117+
}, 0);
118118
});
119119
}
120120

121121
if( this.showTabOverflow ) {
122-
$(".overflowMenu.left .menuItem").bind('vclick',function () {
122+
this.overflowTabMenu.find(".menuItem").bind('vclick',function () {
123123
$('.ui-page-active, .ui-footer, .ui-header').removeClass('showTabOverflow');
124124
$(this).find('img').clone().appendTo($('.tabs').first());
125125
$('<div class="action-bar-action-item-text"><p>' + $(this).text() + '</p></div>').appendTo($('.tabs').first());
@@ -132,21 +132,23 @@
132132

133133
});
134134
});
135-
this.overflowTabMenu.bind('vclick', function(){
135+
this.overflowTabMenu.bind('vclick', function() {
136136
return false;
137137
});
138138
this._createOverflowButton(this.overflowTabMenu)
139139
.addClass("tabs")
140140
.addClass("action-bar-tab-item")
141141
.prependTo(actions)
142-
.bind('vclick', function(event){
143-
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed').addClass('showTabHelper').addClass('showTabOverflow');
142+
.bind('vclick', function(event) {
143+
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed')
144+
.addClass('showTabHelper')
145+
.addClass('showTabOverflow');
144146
event.stopPropagation();
145-
setTimeout(function(){
146-
$(document).not(self.overflowActionMenu).one('vclick', function (){
147+
setTimeout(function() {
148+
$(document).one('vclick', function () {
147149
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed')
148150
.removeClass('showTabOverflow')
149-
.one("webkitTransitionEnd",function(){
151+
.one("webkitTransitionEnd",function() {
150152
$(this).removeClass('showTabHelper');
151153
});
152154

@@ -236,6 +238,12 @@
236238
return item;
237239
},
238240

241+
_hideActionOverflow: function (event) {
242+
var self = event.data.context;
243+
self.overflowActionMenu.removeClass("showMenu");
244+
$(document).unbind('vclick', self._hideActionOverflow);
245+
},
246+
239247
_addToTabOverflow: function(item) {
240248
if (!this.overflowTabMenu){
241249
this.overflowTabMenu = this._createOverflowMenu(this.actionBarArea, true);

plugins/actionbar/jquery.mobile.actionbar.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -99,25 +99,25 @@
9999
}
100100

101101
if( this.showActionOverflow ) {
102+
this.overflowActionMenu.find('.menuItem').bind('vclick', {context: self}, this._hideActionOverflow);
103+
102104
this.overflowActionMenu.bind('vclick', function(event){
103-
event.stopPropagation();
104105
return false;
105106
});
106107
this._createOverflowButton(this.overflowActionMenu)
107108
.addClass("actions")
108109
.appendTo(actions)
109110
.bind('vclick', function(){
110111
self.overflowActionMenu.addClass("showMenu");
111-
setTimeout(function(){
112-
$(document).one('vclick', function (){
113-
self.overflowActionMenu.removeClass("showMenu");
114-
});
115-
},0);
112+
113+
setTimeout(function() {
114+
$(document).bind('vclick', {context: self}, self._hideActionOverflow);
115+
}, 0);
116116
});
117117
}
118118

119119
if( this.showTabOverflow ) {
120-
$(".overflowMenu.left .menuItem").bind('vclick',function () {
120+
this.overflowTabMenu.find(".menuItem").bind('vclick',function () {
121121
$('.ui-page-active, .ui-footer, .ui-header').removeClass('showTabOverflow');
122122
$(this).find('img').clone().appendTo($('.tabs').first());
123123
$('<div class="action-bar-action-item-text"><p>' + $(this).text() + '</p></div>').appendTo($('.tabs').first());
@@ -130,21 +130,23 @@
130130

131131
});
132132
});
133-
this.overflowTabMenu.bind('vclick', function(){
133+
this.overflowTabMenu.bind('vclick', function() {
134134
return false;
135135
});
136136
this._createOverflowButton(this.overflowTabMenu)
137137
.addClass("tabs")
138138
.addClass("action-bar-tab-item")
139139
.prependTo(actions)
140-
.bind('vclick', function(event){
141-
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed').addClass('showTabHelper').addClass('showTabOverflow');
140+
.bind('vclick', function(event) {
141+
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed')
142+
.addClass('showTabHelper')
143+
.addClass('showTabOverflow');
142144
event.stopPropagation();
143-
setTimeout(function(){
144-
$(document).not(self.overflowActionMenu).one('vclick', function (){
145+
setTimeout(function() {
146+
$(document).one('vclick', function () {
145147
$('.ui-page-active, .ui-footer-fixed, .ui-header-fixed')
146148
.removeClass('showTabOverflow')
147-
.one("webkitTransitionEnd",function(){
149+
.one("webkitTransitionEnd",function() {
148150
$(this).removeClass('showTabHelper');
149151
});
150152

@@ -234,6 +236,12 @@
234236
return item;
235237
},
236238

239+
_hideActionOverflow: function (event) {
240+
var self = event.data.context;
241+
self.overflowActionMenu.removeClass("showMenu");
242+
$(document).unbind('vclick', self._hideActionOverflow);
243+
},
244+
237245
_addToTabOverflow: function(item) {
238246
if (!this.overflowTabMenu){
239247
this.overflowTabMenu = this._createOverflowMenu(this.actionBarArea, true);

0 commit comments

Comments
 (0)