Skip to content

Commit 5212d2e

Browse files
committed
Pass ui argument to open event
Close mar10#113
1 parent d420a2d commit 5212d2e

File tree

5 files changed

+57
-36
lines changed

5 files changed

+57
-36
lines changed

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
# 1.14.0-0 / Unreleased
1+
# 1.15.1-0 / Unreleased
2+
3+
*
4+
5+
# 1.15.0 / 2017-03-18
6+
7+
* [FEATURE] #113: Pass `ui` argument to `open` event.
8+
9+
# 1.14.0 / 2017-01-30
210

311
* #108: Update AMD dependency to be compatible with the jQuery 1.12 layout:
412
"jquery-ui/ui/widgets/menu"

Gruntfile.coffee

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -82,71 +82,76 @@ module.exports = (grunt) ->
8282
throttled: 5
8383
browsers: [
8484
{ browserName: "chrome", platform: "Windows 8.1" }
85-
{ browserName: "firefox", platform: "Windows 8.1" }
85+
# { browserName: "firefox", platform: "Windows 8.1" }
8686
{ browserName: "firefox", platform: "Linux" }
87-
{ browserName: "internet explorer", version: "6", platform: "Windows XP" }
88-
{ browserName: "internet explorer", version: "7", platform: "Windows XP" }
89-
{ browserName: "internet explorer", version: "8", platform: "Windows 7" }
87+
# { browserName: "internet explorer", version: "6", platform: "Windows XP" }
88+
# { browserName: "internet explorer", version: "7", platform: "Windows XP" }
89+
# { browserName: "internet explorer", version: "8", platform: "Windows 7" }
9090
{ browserName: "internet explorer", version: "11", platform: "Windows 8.1" }
9191
{ browserName: "microsoftedge", platform: "Windows 10" }
92-
{ browserName: "safari", version: "9", platform: "OS X 10.11" }
92+
# { browserName: "safari", version: "9", platform: "OS X 10.11" }
93+
{ browserName: "safari", version: "10", platform: "OS X 10.12" }
9394
]
9495
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 10)"
9596
# statusCheckAttempts: 180
9697
recordVideo: false
9798
videoUploadOnPass: false
9899

99-
ui_12:
100+
ui_11: # UI Menu 11+ dropped support for IE7
100101
options:
101102
urls: [
102-
"http://localhost:9999/test/test-jquery-3-ui-1.12.html"
103+
"http://localhost:9999/test/test-jquery-1.11-ui-1.11.html"
104+
# "http://localhost:9999/test/index.html",
105+
# "http://localhost:9999/test/index-jquery-ui-1-10.html"
103106
]
107+
108+
# username: process.env.SAUCE_USERNAME,
109+
# key: process.env.SAUCE_ACCESS_KEY,
104110
build: process.env.TRAVIS_JOB_ID
105111
throttled: 5
106112
browsers: [
107113
{ browserName: "chrome", platform: "Windows 8.1" }
108-
{ browserName: "firefox", platform: "Windows 8.1" }
114+
# { browserName: "firefox", platform: "Windows 8.1" }
115+
# { browserName: "firefox", platform: "Windows XP" }
109116
{ browserName: "firefox", platform: "Linux" }
117+
# jQuery UI 11+ stopped support for IE <= 7
118+
{ browserName: "internet explorer", version: "8", platform: "Windows 7" }
119+
{ browserName: "internet explorer", version: "9", platform: "Windows 7" }
120+
{ browserName: "internet explorer", version: "10", platform: "Windows 8" }
110121
{ browserName: "internet explorer", version: "11", platform: "Windows 8.1" }
111122
{ browserName: "microsoftedge", platform: "Windows 10" }
112-
{ browserName: "safari", version: "9", platform: "OS X 10.11" }
123+
# { browserName: "safari", version: "6", platform: "OS X 10.8" }
124+
# { browserName: "safari", version: "7", platform: "OS X 10.9" }
125+
# { browserName: "safari", version: "8", platform: "OS X 10.10" }
126+
# { browserName: "safari", version: "9", platform: "OS X 10.11" }
127+
{ browserName: "safari", version: "10", platform: "OS X 10.12" }
113128
]
114-
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 12)"
129+
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 11+)"
115130
# statusCheckAttempts: 180
116131
recordVideo: false
117132
videoUploadOnPass: false
118133

119-
ui: # UI Menu 11+ dropped support for IE7
134+
ui_12:
120135
options:
121136
urls: [
122-
"http://localhost:9999/test/test-jquery-1.11-ui-1.11.html"
123-
# "http://localhost:9999/test/index.html",
124-
# "http://localhost:9999/test/index-jquery-ui-1-10.html"
137+
"http://localhost:9999/test/test-jquery-3-ui-1.12.html"
125138
]
126-
127-
# username: process.env.SAUCE_USERNAME,
128-
# key: process.env.SAUCE_ACCESS_KEY,
129139
build: process.env.TRAVIS_JOB_ID
130140
throttled: 5
131141
browsers: [
132142
{ browserName: "chrome", platform: "Windows 8.1" }
133143
{ browserName: "firefox", platform: "Windows 8.1" }
134-
# { browserName: "firefox", platform: "Windows XP" }
135144
{ browserName: "firefox", platform: "Linux" }
136-
# jQuery UI 11+ stopped support for IE 7
137-
# { browserName: "internet explorer", version: "6", platform: "Windows XP" }
138-
# { browserName: "internet explorer", version: "7", platform: "Windows XP" }
139-
{ browserName: "internet explorer", version: "8", platform: "Windows 7" }
140-
{ browserName: "internet explorer", version: "9", platform: "Windows 7" }
141-
{ browserName: "internet explorer", version: "10", platform: "Windows 8" }
145+
# jQuery UI 12+ stopped support for IE <= 10
142146
{ browserName: "internet explorer", version: "11", platform: "Windows 8.1" }
143147
{ browserName: "microsoftedge", platform: "Windows 10" }
144-
{ browserName: "safari", version: "6", platform: "OS X 10.8" }
145-
{ browserName: "safari", version: "7", platform: "OS X 10.9" }
146-
{ browserName: "safari", version: "8", platform: "OS X 10.10" }
148+
# { browserName: "safari", version: "6", platform: "OS X 10.8" }
149+
# { browserName: "safari", version: "7", platform: "OS X 10.9" }
150+
# { browserName: "safari", version: "8", platform: "OS X 10.10" }
147151
{ browserName: "safari", version: "9", platform: "OS X 10.11" }
152+
{ browserName: "safari", version: "10", platform: "OS X 10.12" }
148153
]
149-
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 11+)"
154+
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 12)"
150155
# statusCheckAttempts: 180
151156
recordVideo: false
152157
videoUploadOnPass: false
@@ -203,7 +208,7 @@ module.exports = (grunt) ->
203208
grunt.registerTask "server", ["connect:demo"]
204209
grunt.registerTask "dev", ["connect:dev", "watch:dev"]
205210
grunt.registerTask "test", ["jshint", "jscs", "qunit"]
206-
grunt.registerTask "sauce", ["connect:sauce", "saucelabs-qunit:ui","saucelabs-qunit:ui_10", "saucelabs-qunit:ui_12"]
211+
grunt.registerTask "sauce", ["connect:sauce", "saucelabs-qunit:ui_12", "saucelabs-qunit:ui_11", "saucelabs-qunit:ui_10"]
207212
if parseInt(process.env.TRAVIS_PULL_REQUEST, 10) > 0
208213
# saucelab keys do not work on forks
209214
# http://support.saucelabs.com/entries/25614798

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ $("#container").contextmenu({
8484
});
8585
```
8686

87+
Alternatively we can
88+
<a href="https://github.com/mar10/jquery-ui-contextmenu/wiki#initialize-menu-from-an-existing-ul-element">
89+
initialaize the menu from embedded &lt;ul> markup</a>.
90+
8791
For more information:
8892

8993
* [Read the Tutorial](https://github.com/mar10/jquery-ui-contextmenu/wiki) and

jquery.ui-contextmenu.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,8 @@ $.widget("moogle.contextmenu", {
279279
/** Close popup. */
280280
_closeMenu: function(immediately) {
281281
var self = this,
282-
hideOpts = immediately ? false : this.options.hide;
282+
hideOpts = immediately ? false : this.options.hide,
283+
ui = { menu: this.$menu, target: $(this.currentTarget) };
283284

284285
// Note: we don't want to unbind the 'contextmenu' event
285286
$(document)
@@ -296,10 +297,10 @@ $.widget("moogle.contextmenu", {
296297
self.previousFocus.focus();
297298
self.previousFocus = null;
298299
}
299-
self._trigger("close");
300+
self._trigger("close", null, ui);
300301
});
301302
} else {
302-
self._trigger("close");
303+
self._trigger("close", null, ui);
303304
}
304305
},
305306
/** Handle $().contextmenu("option", key, value) calls. */

test/tests.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ function _clickTest(menu, assert) {
293293
var $ctx, $popup,
294294
done = assert.async();
295295

296-
assert.expect(3);
296+
assert.expect(6);
297297

298298
$("#container").contextmenu({
299299
delegate: ".hasmenu",
@@ -302,6 +302,7 @@ function _clickTest(menu, assert) {
302302
// hide: false,
303303
beforeOpen: function(event, ui) {
304304
log("beforeOpen(" + ui.target.text() + ")");
305+
assert.equal( ui.target.text(), "AAA", "beforeOpen: ui.target is set" );
305306
},
306307
create: function(event, ui) {
307308
log("create");
@@ -330,15 +331,17 @@ function _clickTest(menu, assert) {
330331
assert.equal( ui.cmd, "cut", "select: ui.cmd is set" );
331332
assert.equal( ui.target.text(), "AAA", "select: ui.target is set" );
332333
},
333-
open: function(event) {
334+
open: function(event, ui) {
334335
log("open");
336+
assert.equal( ui.target.text(), "AAA", "open: ui.target is set" );
335337
setTimeout(function() {
336338
entryEvent($popup, 0, "mouseenter");
337339
click($popup, 0);
338340
}, 10);
339341
},
340-
close: function(event) {
342+
close: function(event, ui) {
341343
log("close");
344+
assert.equal( ui.target.text(), "AAA", "open: ui.target is set" );
342345
assert.equal(logOutput(),
343346
"createMenu,create,open(),beforeOpen(AAA),after open(),open,select(cut),close",
344347
"Event sequence OK.");

0 commit comments

Comments
 (0)