diff --git a/.gitignore b/.gitignore
index f0844a2..242a85d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
/.settings
/node_modules
-/test/issue-*
+/test/triage/
.DS_Store
npm-debug.log
.sizecache.json
diff --git a/CHANGELOG.md b/CHANGELOG.md
index be29c0b..383fb44 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
-# 1.13.0-0 / Unreleased
- *
+# 1.13.1-0 / Unreleased
+ * [BUGFIX] #109 Fix `setEntry(title)` for titles containing icons
+ * [BUGFIX] #110 Fix `setEntry({...})` for jQuery UI 1.12
# 1.13.0 / 2016-08-21
@@ -21,7 +22,7 @@
# 1.10.0 / 2015-06-27
-* [FEATURE] New option `tooltip`, adds a `title` attribute to the menu markup
+* [FEATURE] New option `tooltip`, adds a `title` attribute to the menu markup
# 1.9.0 / 2015-04-20
diff --git a/Gruntfile.coffee b/Gruntfile.coffee
index 060ee20..6de0e39 100644
--- a/Gruntfile.coffee
+++ b/Gruntfile.coffee
@@ -54,7 +54,8 @@ module.exports = (grunt) ->
# overwrite : true
# replacements: [ {
# from : /@DATE/g
- # to : "<%= grunt.template.today('yyyy-mm-dd\"T\"HH:MM') %>"
+ # # https://github.com/felixge/node-dateformat
+ # to : "<%= grunt.template.today('isoUtcDateTime') %>"
# },{
# from : /buildType:\s*\"[a-zA-Z]+\"/g
# to : "buildType: \"production\""
@@ -78,7 +79,7 @@ module.exports = (grunt) ->
"http://localhost:9999/test/test-jquery-1.9-ui-1.10.html"
]
build: process.env.TRAVIS_JOB_ID
- throttled: 8
+ throttled: 5
browsers: [
{ browserName: "chrome", platform: "Windows 8.1" }
{ browserName: "firefox", platform: "Windows 8.1" }
@@ -91,13 +92,17 @@ module.exports = (grunt) ->
{ browserName: "safari", version: "9", platform: "OS X 10.11" }
]
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 10)"
+ # statusCheckAttempts: 180
+ recordVideo: false
+ videoUploadOnPass: false
+
ui_12:
options:
urls: [
"http://localhost:9999/test/test-jquery-3-ui-1.12.html"
]
build: process.env.TRAVIS_JOB_ID
- throttled: 8
+ throttled: 5
browsers: [
{ browserName: "chrome", platform: "Windows 8.1" }
{ browserName: "firefox", platform: "Windows 8.1" }
@@ -107,6 +112,10 @@ module.exports = (grunt) ->
{ browserName: "safari", version: "9", platform: "OS X 10.11" }
]
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 12)"
+ # statusCheckAttempts: 180
+ recordVideo: false
+ videoUploadOnPass: false
+
ui: # UI Menu 11+ dropped support for IE7
options:
urls: [
@@ -118,7 +127,7 @@ module.exports = (grunt) ->
# username: process.env.SAUCE_USERNAME,
# key: process.env.SAUCE_ACCESS_KEY,
build: process.env.TRAVIS_JOB_ID
- throttled: 8
+ throttled: 5
browsers: [
{ browserName: "chrome", platform: "Windows 8.1" }
{ browserName: "firefox", platform: "Windows 8.1" }
@@ -138,10 +147,13 @@ module.exports = (grunt) ->
{ browserName: "safari", version: "9", platform: "OS X 10.11" }
]
testname: "jquery.ui-contextmenu qunit tests (jQuery UI 11+)"
+ # statusCheckAttempts: 180
+ recordVideo: false
+ videoUploadOnPass: false
uglify:
options:
- banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " + "<%= grunt.template.today('yyyy-mm-dd') %> | " + "<%= pkg.homepage ? ' ' + pkg.homepage + ' | ' : '' %>" + " Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" + " Licensed <%= _.map(pkg.licenses, 'type').join(', ') %> */\n"
+ banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " + "<%= grunt.template.today('yyyy-mm-dd') %> | " + "<%= pkg.homepage ? ' ' + pkg.homepage + ' | ' : '' %>" + " Copyright (c) 2013 -<%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" + " Licensed <%= _.map(pkg.licenses, 'type').join(', ') %> */\n"
report: "gzip"
build:
diff --git a/LICENSE.txt b/LICENSE.txt
index 1fe179f..adfa23f 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright 2013-2016 Martin Wendt and others (see commiter list on GitHub)
+Copyright 2013-2017 Martin Wendt and others (see commiter list on GitHub)
https://github.com/mar10/jquery-ui-contextmenu
Permission is hereby granted, free of charge, to any person obtaining
diff --git a/README.md b/README.md
index e614ce6..69add07 100644
--- a/README.md
+++ b/README.md
@@ -43,16 +43,16 @@ First, include dependencies:
* jQuery UI 1.9+ (at least core, widget, menu), 1.11+ recommended
* One of the ThemeRoller CSS themes or a custom one
* jquery.ui-contextmenu.js (also available as CDN on
- [jsdelivr](http://www.jsdelivr.com/#!jquery.ui-contextmenu)
- or [cdnjs](https://cdnjs.com/libraries/jquery.ui-contextmenu))
+ [jsdelivr](http://www.jsdelivr.com/#!jquery.ui-contextmenu),
+ [cdnjs](https://cdnjs.com/libraries/jquery.ui-contextmenu)), or
+ [UNPKG](https://unpkg.com/ui-contextmenu@latest/jquery.ui-contextmenu.min.js)
```html
-
-
-
-
+
+
+
+
```
Assume we have some HTML elements that we want to attach a popup menu to:
diff --git a/bower.json b/bower.json
index 8fb7fda..557ae38 100644
--- a/bower.json
+++ b/bower.json
@@ -1,7 +1,7 @@
{
"name": "ui-contextmenu",
"description": "Turn a jQuery UI Menu widget into a contextmenu.",
- "version": "1.13.0",
+ "version": "1.13.1",
"main": [
"jquery.ui-contextmenu.js"
],
diff --git a/jquery.ui-contextmenu.js b/jquery.ui-contextmenu.js
index 055856b..cf3c211 100644
--- a/jquery.ui-contextmenu.js
+++ b/jquery.ui-contextmenu.js
@@ -5,7 +5,7 @@
*
* @see https://github.com/mar10/jquery-ui-contextmenu
*
- * Copyright (c) 2013-2016, Martin Wendt (http://wwWendt.de). Licensed MIT.
+ * Copyright (c) 2013-2017, Martin Wendt (http://wwWendt.de). Licensed MIT.
*/
(function( factory ) {
@@ -372,6 +372,8 @@ $.widget("moogle.contextmenu", {
$ul = $("").appendTo($entryLi);
$.moogle.contextmenu.createMenuMarkup(entry.children, $ul);
}
+ // #110: jQuery UI 1.12: refresh only works when this class is not set:
+ $entryLi.removeClass("ui-menu-item");
this.getMenu().menu("refresh");
}
},
@@ -476,13 +478,14 @@ $.extend($.moogle.contextmenu, {
return item.has(">div[aria-haspopup='true']").length > 0;
}
},
- /** Replaces the value of elem's first text node child */
- replaceFirstTextNodeChild: function(elem, text) {
+ /** Replace the title of elem', but retain icons andchild entries. */
+ replaceFirstTextNodeChild: function(elem, html) {
+ var $icons = elem.find(">span.ui-icon,>ul.ui-menu").detach();
+
elem
- .contents()
- .filter(function() { return this.nodeType === 3; })
- .first()
- .replaceWith(text);
+ .empty()
+ .html(html)
+ .append($icons);
},
/** Updates the menu item's title */
updateTitle: function(item, title) {
diff --git a/jquery.ui-contextmenu.min.js b/jquery.ui-contextmenu.min.js
index 832f57f..0377ffe 100644
--- a/jquery.ui-contextmenu.min.js
+++ b/jquery.ui-contextmenu.min.js
@@ -1,4 +1,4 @@
-/*! jQuery UI context menu plugin - v1.13.0 - 2016-08-21 | https://github.com/mar10/jquery-ui-contextmenu | Copyright (c) 2016 Martin Wendt; Licensed MIT */
+/*! jQuery UI context menu plugin - v1.13.1 - 2017-01-27 | https://github.com/mar10/jquery-ui-contextmenu | Copyright (c) 2013 -2017 Martin Wendt; Licensed MIT */
-!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery-ui/menu"],a):a(jQuery)}(function(a){"use strict";var b="onselectstart"in document.createElement("div"),c=a.ui.menu.version.match(/^(\d)\.(\d+)/),d={major:parseInt(c[1],10),minor:parseInt(c[2],10)},e=d.major<2&&d.minor<=10,f=d.major<2&&d.minor<=11;a.widget("moogle.contextmenu",{version:"@VERSION",options:{addClass:"ui-contextmenu",autoFocus:!1,autoTrigger:!0,delegate:null,hide:{effect:"fadeOut",duration:"fast"},ignoreParentSelect:!0,menu:null,position:null,preventContextMenuForPopup:!1,preventSelect:!1,show:{effect:"slideDown",duration:"fast"},taphold:!1,uiMenuOptions:{},beforeOpen:a.noop,blur:a.noop,close:a.noop,create:a.noop,createMenu:a.noop,focus:a.noop,open:a.noop,select:a.noop},_create:function(){var c,d,e,f=this.options;if(this.$headStyle=null,this.$menu=null,this.menuIsTemp=!1,this.currentTarget=null,this.previousFocus=null,f.preventSelect){e=(a(this.element).is(document)?a("body"):this.element).uniqueId().attr("id"),c="#"+e+" "+f.delegate+" { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }",this.$headStyle=a("
").prop("type","text/css").appendTo("head");try{this.$headStyle.html(c)}catch(g){this.$headStyle[0].styleSheet.cssText=c}b&&this.element.delegate(f.delegate,"selectstart"+this.eventNamespace,function(a){a.preventDefault()})}this._createUiMenu(f.menu),d="contextmenu"+this.eventNamespace,f.taphold&&(d+=" taphold"+this.eventNamespace),this.element.delegate(f.delegate,d,a.proxy(this._openMenu,this))},_destroy:function(){this.element.undelegate(this.eventNamespace),this._createUiMenu(null),this.$headStyle&&(this.$headStyle.remove(),this.$headStyle=null)},_createUiMenu:function(b){var c,d=this.options;this.isOpen()&&(c=this.currentTarget,this._closeMenu(!0),this.currentTarget=c),this.menuIsTemp?this.$menu.remove():this.$menu&&this.$menu.menu("destroy").removeClass(this.options.addClass).hide(),this.$menu=null,this.menuIsTemp=!1,b&&(a.isArray(b)?(this.$menu=a.moogle.contextmenu.createMenuMarkup(b),this.menuIsTemp=!0):"string"==typeof b?this.$menu=a(b):this.$menu=b,this.$menu.hide().addClass(d.addClass).menu(a.extend(!0,{},d.uiMenuOptions,{items:"> :not(.ui-widget-header)",blur:a.proxy(d.blur,this),create:a.proxy(d.createMenu,this),focus:a.proxy(d.focus,this),select:a.proxy(function(b,c){var e,f=a.moogle.contextmenu.isMenu(c.item),g=c.item.data("actionHandler");c.cmd=c.item.attr("data-command"),c.target=a(this.currentTarget),f&&d.ignoreParentSelect||(e=this._trigger.call(this,"select",b,c),g&&(e=g.call(this,b,c)),e!==!1&&this._closeMenu.call(this),b.preventDefault())},this)})))},_openMenu:function(b,c){var d,e,f=this.options,g=f.position,h=this,i=!!b.isTrigger,j={menu:this.$menu,target:a(b.target),extraData:b._extraData,originalEvent:b,result:null};if(f.autoTrigger||i){if(b.preventDefault(),this.currentTarget=b.target,!c){if(d=this._trigger("beforeOpen",b,j),e=j.result&&a.isFunction(j.result.promise)?j.result:null,j.result=null,d===!1)return this.currentTarget=null,!1;if(e)return e.done(function(){h._openMenu(b,!0)}),this.currentTarget=null,!1;j.menu=this.$menu}a(document).bind("keydown"+this.eventNamespace,function(b){b.which===a.ui.keyCode.ESCAPE&&h._closeMenu()}).bind("mousedown"+this.eventNamespace+" touchstart"+this.eventNamespace,function(b){a(b.target).closest(".ui-menu-item").length||h._closeMenu()}),a.isFunction(g)&&(g=g(b,j)),g=a.extend({my:"left top",at:"left bottom",of:void 0===b.pageX?b.target:b,collision:"fit"},g),this.$menu.show().css({position:"absolute",left:0,top:0}).position(g).hide(),f.preventContextMenuForPopup&&this.$menu.bind("contextmenu"+this.eventNamespace,function(a){a.preventDefault()}),this._show(this.$menu,f.show,function(){f.autoFocus&&(h.$menu.focus(),h.previousFocus=a(b.target)),h._trigger.call(h,"open",b,j)})}},_closeMenu:function(b){var c=this,d=!b&&this.options.hide;a(document).unbind("mousedown"+this.eventNamespace).unbind("touchstart"+this.eventNamespace).unbind("keydown"+this.eventNamespace),c.currentTarget=null,this.$menu?(this.$menu.unbind("contextmenu"+this.eventNamespace),this._hide(this.$menu,d,function(){c.previousFocus&&(c.previousFocus.focus(),c.previousFocus=null),c._trigger("close")})):c._trigger("close")},_setOption:function(b,c){switch(b){case"menu":this.replaceMenu(c)}a.Widget.prototype._setOption.apply(this,arguments)},_getMenuEntry:function(a){return this.$menu.find("li[data-command="+a+"]")},close:function(){this.isOpen()&&this._closeMenu()},enableEntry:function(a,b){this._getMenuEntry(a).toggleClass("ui-state-disabled",b===!1)},getMenu:function(){return this.$menu},isOpen:function(){return!!this.$menu&&!!this.currentTarget},open:function(b,c){c=c||{};var d=b&&b.type&&b.target,e=d?b:{},f=d?b.target:b,g=jQuery.Event("contextmenu",{target:a(f).get(0),pageX:e.pageX,pageY:e.pageY,originalEvent:d?b:void 0,_extraData:c});return this.element.trigger(g)},replaceMenu:function(a){this._createUiMenu(a)},setEntry:function(b,c){var d,e=this._getMenuEntry(b);"string"==typeof c?a.moogle.contextmenu.updateTitle(e,c):(e.empty(),c.cmd=c.cmd||b,a.moogle.contextmenu.createEntryMarkup(c,e),a.isArray(c.children)&&(d=a("").appendTo(e),a.moogle.contextmenu.createMenuMarkup(c.children,d)),this.getMenu().menu("refresh"))},showEntry:function(a,b){this._getMenuEntry(a).toggle(b!==!1)}}),a.extend(a.moogle.contextmenu,{createEntryMarkup:function(b,c){var d=null;c.attr("data-command",b.cmd),/[^\-\u2014\u2013\s]/.test(b.title)?(e?(d=a("",{html:""+b.title,href:"#"}).appendTo(c),b.uiIcon&&d.append(a("").addClass(b.uiIcon))):f?(c.html(""+b.title),a.isFunction(b.action)&&c.data("actionHandler",b.action),b.uiIcon&&c.append(a("").addClass(b.uiIcon))):(d=a("",{html:""+b.title}).appendTo(c),b.uiIcon&&d.append(a("").addClass(b.uiIcon))),a.isFunction(b.action)&&c.data("actionHandler",b.action),b.disabled&&c.addClass("ui-state-disabled"),b.isHeader&&c.addClass("ui-widget-header"),b.addClass&&c.addClass(b.addClass),a.isPlainObject(b.data)&&c.data(b.data),null!=b.tooltip&&c.attr("title",b.tooltip)):c.text(b.title)},createMenuMarkup:function(b,c){var d,e,f,g;for(null==c&&(c=a("").appendTo("body")),d=0;d").appendTo(c),a.moogle.contextmenu.createEntryMarkup(e,g),a.isArray(e.children)&&(f=a("").appendTo(g),a.moogle.contextmenu.createMenuMarkup(e.children,f));return c},isMenu:function(a){return e?a.has(">a[aria-haspopup='true']").length>0:f?a.is("[aria-haspopup='true']"):a.has(">div[aria-haspopup='true']").length>0},replaceFirstTextNodeChild:function(a,b){a.contents().filter(function(){return 3===this.nodeType}).first().replaceWith(b)},updateTitle:function(b,c){e?a.moogle.contextmenu.replaceFirstTextNodeChild(a("a",b),c):f?a.moogle.contextmenu.replaceFirstTextNodeChild(b,c):a.moogle.contextmenu.replaceFirstTextNodeChild(a("div",b),c)}})});
+!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery-ui/menu"],a):a(jQuery)}(function(a){"use strict";var b="onselectstart"in document.createElement("div"),c=a.ui.menu.version.match(/^(\d)\.(\d+)/),d={major:parseInt(c[1],10),minor:parseInt(c[2],10)},e=d.major<2&&d.minor<=10,f=d.major<2&&d.minor<=11;a.widget("moogle.contextmenu",{version:"@VERSION",options:{addClass:"ui-contextmenu",autoFocus:!1,autoTrigger:!0,delegate:null,hide:{effect:"fadeOut",duration:"fast"},ignoreParentSelect:!0,menu:null,position:null,preventContextMenuForPopup:!1,preventSelect:!1,show:{effect:"slideDown",duration:"fast"},taphold:!1,uiMenuOptions:{},beforeOpen:a.noop,blur:a.noop,close:a.noop,create:a.noop,createMenu:a.noop,focus:a.noop,open:a.noop,select:a.noop},_create:function(){var c,d,e,f=this.options;if(this.$headStyle=null,this.$menu=null,this.menuIsTemp=!1,this.currentTarget=null,this.previousFocus=null,f.preventSelect){e=(a(this.element).is(document)?a("body"):this.element).uniqueId().attr("id"),c="#"+e+" "+f.delegate+" { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }",this.$headStyle=a("").prop("type","text/css").appendTo("head");try{this.$headStyle.html(c)}catch(g){this.$headStyle[0].styleSheet.cssText=c}b&&this.element.delegate(f.delegate,"selectstart"+this.eventNamespace,function(a){a.preventDefault()})}this._createUiMenu(f.menu),d="contextmenu"+this.eventNamespace,f.taphold&&(d+=" taphold"+this.eventNamespace),this.element.delegate(f.delegate,d,a.proxy(this._openMenu,this))},_destroy:function(){this.element.undelegate(this.eventNamespace),this._createUiMenu(null),this.$headStyle&&(this.$headStyle.remove(),this.$headStyle=null)},_createUiMenu:function(b){var c,d=this.options;this.isOpen()&&(c=this.currentTarget,this._closeMenu(!0),this.currentTarget=c),this.menuIsTemp?this.$menu.remove():this.$menu&&this.$menu.menu("destroy").removeClass(this.options.addClass).hide(),this.$menu=null,this.menuIsTemp=!1,b&&(a.isArray(b)?(this.$menu=a.moogle.contextmenu.createMenuMarkup(b),this.menuIsTemp=!0):"string"==typeof b?this.$menu=a(b):this.$menu=b,this.$menu.hide().addClass(d.addClass).menu(a.extend(!0,{},d.uiMenuOptions,{items:"> :not(.ui-widget-header)",blur:a.proxy(d.blur,this),create:a.proxy(d.createMenu,this),focus:a.proxy(d.focus,this),select:a.proxy(function(b,c){var e,f=a.moogle.contextmenu.isMenu(c.item),g=c.item.data("actionHandler");c.cmd=c.item.attr("data-command"),c.target=a(this.currentTarget),f&&d.ignoreParentSelect||(e=this._trigger.call(this,"select",b,c),g&&(e=g.call(this,b,c)),e!==!1&&this._closeMenu.call(this),b.preventDefault())},this)})))},_openMenu:function(b,c){var d,e,f=this.options,g=f.position,h=this,i=!!b.isTrigger,j={menu:this.$menu,target:a(b.target),extraData:b._extraData,originalEvent:b,result:null};if(f.autoTrigger||i){if(b.preventDefault(),this.currentTarget=b.target,!c){if(d=this._trigger("beforeOpen",b,j),e=j.result&&a.isFunction(j.result.promise)?j.result:null,j.result=null,d===!1)return this.currentTarget=null,!1;if(e)return e.done(function(){h._openMenu(b,!0)}),this.currentTarget=null,!1;j.menu=this.$menu}a(document).bind("keydown"+this.eventNamespace,function(b){b.which===a.ui.keyCode.ESCAPE&&h._closeMenu()}).bind("mousedown"+this.eventNamespace+" touchstart"+this.eventNamespace,function(b){a(b.target).closest(".ui-menu-item").length||h._closeMenu()}),a.isFunction(g)&&(g=g(b,j)),g=a.extend({my:"left top",at:"left bottom",of:void 0===b.pageX?b.target:b,collision:"fit"},g),this.$menu.show().css({position:"absolute",left:0,top:0}).position(g).hide(),f.preventContextMenuForPopup&&this.$menu.bind("contextmenu"+this.eventNamespace,function(a){a.preventDefault()}),this._show(this.$menu,f.show,function(){f.autoFocus&&(h.$menu.focus(),h.previousFocus=a(b.target)),h._trigger.call(h,"open",b,j)})}},_closeMenu:function(b){var c=this,d=!b&&this.options.hide;a(document).unbind("mousedown"+this.eventNamespace).unbind("touchstart"+this.eventNamespace).unbind("keydown"+this.eventNamespace),c.currentTarget=null,this.$menu?(this.$menu.unbind("contextmenu"+this.eventNamespace),this._hide(this.$menu,d,function(){c.previousFocus&&(c.previousFocus.focus(),c.previousFocus=null),c._trigger("close")})):c._trigger("close")},_setOption:function(b,c){switch(b){case"menu":this.replaceMenu(c)}a.Widget.prototype._setOption.apply(this,arguments)},_getMenuEntry:function(a){return this.$menu.find("li[data-command="+a+"]")},close:function(){this.isOpen()&&this._closeMenu()},enableEntry:function(a,b){this._getMenuEntry(a).toggleClass("ui-state-disabled",b===!1)},getMenu:function(){return this.$menu},isOpen:function(){return!!this.$menu&&!!this.currentTarget},open:function(b,c){c=c||{};var d=b&&b.type&&b.target,e=d?b:{},f=d?b.target:b,g=jQuery.Event("contextmenu",{target:a(f).get(0),pageX:e.pageX,pageY:e.pageY,originalEvent:d?b:void 0,_extraData:c});return this.element.trigger(g)},replaceMenu:function(a){this._createUiMenu(a)},setEntry:function(b,c){var d,e=this._getMenuEntry(b);"string"==typeof c?a.moogle.contextmenu.updateTitle(e,c):(e.empty(),c.cmd=c.cmd||b,a.moogle.contextmenu.createEntryMarkup(c,e),a.isArray(c.children)&&(d=a("").appendTo(e),a.moogle.contextmenu.createMenuMarkup(c.children,d)),e.removeClass("ui-menu-item"),this.getMenu().menu("refresh"))},showEntry:function(a,b){this._getMenuEntry(a).toggle(b!==!1)}}),a.extend(a.moogle.contextmenu,{createEntryMarkup:function(b,c){var d=null;c.attr("data-command",b.cmd),/[^\-\u2014\u2013\s]/.test(b.title)?(e?(d=a("",{html:""+b.title,href:"#"}).appendTo(c),b.uiIcon&&d.append(a("").addClass(b.uiIcon))):f?(c.html(""+b.title),a.isFunction(b.action)&&c.data("actionHandler",b.action),b.uiIcon&&c.append(a("").addClass(b.uiIcon))):(d=a("",{html:""+b.title}).appendTo(c),b.uiIcon&&d.append(a("").addClass(b.uiIcon))),a.isFunction(b.action)&&c.data("actionHandler",b.action),b.disabled&&c.addClass("ui-state-disabled"),b.isHeader&&c.addClass("ui-widget-header"),b.addClass&&c.addClass(b.addClass),a.isPlainObject(b.data)&&c.data(b.data),null!=b.tooltip&&c.attr("title",b.tooltip)):c.text(b.title)},createMenuMarkup:function(b,c){var d,e,f,g;for(null==c&&(c=a("").appendTo("body")),d=0;d").appendTo(c),a.moogle.contextmenu.createEntryMarkup(e,g),a.isArray(e.children)&&(f=a("").appendTo(g),a.moogle.contextmenu.createMenuMarkup(e.children,f));return c},isMenu:function(a){return e?a.has(">a[aria-haspopup='true']").length>0:f?a.is("[aria-haspopup='true']"):a.has(">div[aria-haspopup='true']").length>0},replaceFirstTextNodeChild:function(a,b){var c=a.find(">span.ui-icon,>ul.ui-menu").detach();a.empty().html(b).append(c)},updateTitle:function(b,c){e?a.moogle.contextmenu.replaceFirstTextNodeChild(a("a",b),c):f?a.moogle.contextmenu.replaceFirstTextNodeChild(b,c):a.moogle.contextmenu.replaceFirstTextNodeChild(a("div",b),c)}})});
//# sourceMappingURL=jquery.ui-contextmenu.min.js.map
\ No newline at end of file
diff --git a/jquery.ui-contextmenu.min.js.map b/jquery.ui-contextmenu.min.js.map
index 17481c3..7245f0f 100644
--- a/jquery.ui-contextmenu.min.js.map
+++ b/jquery.ui-contextmenu.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["jquery.ui-contextmenu.js"],"names":["factory","define","amd","jQuery","$","supportSelectstart","document","createElement","match","ui","menu","version","uiVersion","major","parseInt","minor","isLTE110","isLTE111","widget","options","addClass","autoFocus","autoTrigger","delegate","hide","effect","duration","ignoreParentSelect","position","preventContextMenuForPopup","preventSelect","show","taphold","uiMenuOptions","beforeOpen","noop","blur","close","create","createMenu","focus","open","select","_create","cssText","eventNames","targetId","opts","this","$headStyle","$menu","menuIsTemp","currentTarget","previousFocus","element","is","uniqueId","attr","prop","appendTo","html","e","styleSheet","eventNamespace","event","preventDefault","_createUiMenu","proxy","_openMenu","_destroy","undelegate","remove","menuDef","ct","isOpen","_closeMenu","removeClass","isArray","moogle","contextmenu","createMenuMarkup","extend","items","retval","isParent","isMenu","item","actionHandler","data","cmd","target","_trigger","call","recursive","res","promise","posOption","self","manualTrigger","isTrigger","extraData","_extraData","originalEvent","result","isFunction","done","bind","which","keyCode","ESCAPE","closest","length","my","at","of","undefined","pageX","collision","css","left","top","_show","immediately","hideOpts","unbind","_hide","_setOption","key","value","replaceMenu","Widget","prototype","apply","arguments","_getMenuEntry","find","enableEntry","flag","toggleClass","getMenu","targetOrEvent","isEvent","type","Event","get","pageY","trigger","setEntry","entry","$ul","$entryLi","updateTitle","empty","createEntryMarkup","children","showEntry","toggle","$parentLi","$wrapper","test","title","href","uiIcon","append","action","disabled","isHeader","isPlainObject","tooltip","text","$parentUl","i","$li","has","replaceFirstTextNodeChild","elem","contents","filter","nodeType","first","replaceWith"],"mappings":"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","file":"jquery.ui-contextmenu.min.js"}
\ No newline at end of file
+{"version":3,"sources":["jquery.ui-contextmenu.js"],"names":["factory","define","amd","jQuery","$","supportSelectstart","document","createElement","match","ui","menu","version","uiVersion","major","parseInt","minor","isLTE110","isLTE111","widget","options","addClass","autoFocus","autoTrigger","delegate","hide","effect","duration","ignoreParentSelect","position","preventContextMenuForPopup","preventSelect","show","taphold","uiMenuOptions","beforeOpen","noop","blur","close","create","createMenu","focus","open","select","_create","cssText","eventNames","targetId","opts","this","$headStyle","$menu","menuIsTemp","currentTarget","previousFocus","element","is","uniqueId","attr","prop","appendTo","html","e","styleSheet","eventNamespace","event","preventDefault","_createUiMenu","proxy","_openMenu","_destroy","undelegate","remove","menuDef","ct","isOpen","_closeMenu","removeClass","isArray","moogle","contextmenu","createMenuMarkup","extend","items","retval","isParent","isMenu","item","actionHandler","data","cmd","target","_trigger","call","recursive","res","promise","posOption","self","manualTrigger","isTrigger","extraData","_extraData","originalEvent","result","isFunction","done","bind","which","keyCode","ESCAPE","closest","length","my","at","of","undefined","pageX","collision","css","left","top","_show","immediately","hideOpts","unbind","_hide","_setOption","key","value","replaceMenu","Widget","prototype","apply","arguments","_getMenuEntry","find","enableEntry","flag","toggleClass","getMenu","targetOrEvent","isEvent","type","Event","get","pageY","trigger","setEntry","entry","$ul","$entryLi","updateTitle","empty","createEntryMarkup","children","showEntry","toggle","$parentLi","$wrapper","test","title","href","uiIcon","append","action","disabled","isHeader","isPlainObject","tooltip","text","$parentUl","i","$li","has","replaceFirstTextNodeChild","elem","$icons","detach"],"mappings":"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","file":"jquery.ui-contextmenu.min.js"}
\ No newline at end of file
diff --git a/lib/Super-Theme-Switcher/images/theme_90_base.png b/lib/Super-Theme-Switcher/images/theme_90_base.png
index 7ddcc9a..2917342 100644
Binary files a/lib/Super-Theme-Switcher/images/theme_90_base.png and b/lib/Super-Theme-Switcher/images/theme_90_base.png differ
diff --git a/lib/qunit-composite.js b/lib/qunit-composite.js
index 631860d..c68852b 100644
--- a/lib/qunit-composite.js
+++ b/lib/qunit-composite.js
@@ -14,7 +14,7 @@
factory( QUnit );
}
}(function( QUnit ) {
-var iframe, hasBound,
+var iframe, hasBound, resumeTests, suiteAssert,
modules = 1,
executingComposite = false;
@@ -48,7 +48,9 @@ function runSuite( suite ) {
path = suite;
}
- QUnit.asyncTest( suite, function() {
+ QUnit.test( suite, function( assert ) {
+ resumeTests = assert.async();
+ suiteAssert = assert;
iframe.setAttribute( "src", path );
// QUnit.start is called from the child iframe's QUnit.done hook.
});
@@ -90,13 +92,13 @@ function initIframe() {
}
// Pass all test details through to the main page
var message = ( moduleName ? moduleName + ": " : "" ) + testName + ": " + ( data.message || ( data.result ? "okay" : "failed" ) );
- expect( ++count );
- QUnit.push( data.result, data.actual, data.expected, message );
+ suiteAssert.expect( ++count );
+ suiteAssert.push( data.result, data.actual, data.expected, message );
});
// Continue the outer test when the iframe's test is done
iframeWin.QUnit.done(function() {
- QUnit.start();
+ resumeTests();
});
}
@@ -177,7 +179,7 @@ QUnit.testSuites = function( name, suites ) {
}
QUnit.module( name, {
- setup: function () {
+ beforeEach: function () {
executingComposite = true;
}
});
@@ -193,16 +195,8 @@ QUnit.testDone(function( data ) {
}
var i, len,
- testId = data.testId || QUnit.config.current.testId || data.testNumber || QUnit.config.current.testNumber,
- current = testId ?
- (
- // QUnit @^1.16.0
- document.getElementById( "qunit-test-output-" + testId ) ||
- // QUnit @1.15.x
- document.getElementById( "qunit-test-output" + testId )
- ) :
- // QUnit @<1.15.0
- document.getElementById( QUnit.config.current.id ),
+ testId = data.testId,
+ current = document.getElementById( "qunit-test-output-" + testId ),
children = current && current.children,
src = iframe.src;
@@ -231,4 +225,4 @@ QUnit.testDone(function( data ) {
current.getElementsByTagName( "a" )[ 0 ].href = src;
});
-}));
+}));
\ No newline at end of file
diff --git a/package.json b/package.json
index 81377ed..58e2ac1 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "ui-contextmenu",
"filename": "jquery.ui-contextmenu.min.js",
"main": "jquery.ui-contextmenu.js",
- "version": "1.13.0",
+ "version": "1.13.1",
"title": "jQuery UI context menu plugin",
"description": "Turn a jQuery UI Menu widget into a contextmenu.",
"keywords": [
diff --git a/test/issue-33.html b/test/issue-33.html
deleted file mode 100644
index 6b24fe3..0000000
--- a/test/issue-33.html
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- | Id |
- File Name |
-
-
-
-
-
-
-
diff --git a/test/issue-80-async.html b/test/issue-80-async.html
deleted file mode 100644
index 7bee877..0000000
--- a/test/issue-80-async.html
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
- Triage - jquery.ui-contextmenu.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Triage jquery.ui-contextmenu.js
-
- Right-click in an element to open the context menu:
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/test/triage/issue-NNN.html b/test/triage/issue-NNN.html
new file mode 100644
index 0000000..322b60f
--- /dev/null
+++ b/test/triage/issue-NNN.html
@@ -0,0 +1,152 @@
+
+
+
+
+ jquery.ui-contextmenu.js - Demo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jquery-ui-contextmenu Triage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+