conventions
This commit is contained in:
parent
7287652be9
commit
caa28b51bf
|
@ -49,7 +49,8 @@ if (!$.ui || !$.ui.widget) {
|
||||||
// https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js#L16-24
|
// https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js#L16-24
|
||||||
var _cleanData = $.cleanData;
|
var _cleanData = $.cleanData;
|
||||||
$.cleanData = function(elems) {
|
$.cleanData = function(elems) {
|
||||||
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
|
for (var i = 0, elem;
|
||||||
|
(elem = elems[i]) != null; i++) {
|
||||||
try {
|
try {
|
||||||
$(elem).triggerHandler("remove");
|
$(elem).triggerHandler("remove");
|
||||||
// http://bugs.jquery.com/ticket/8235
|
// http://bugs.jquery.com/ticket/8235
|
||||||
|
@ -122,7 +123,10 @@ var // currently active contextMenu trigger
|
||||||
offset = opt.$menu.position();
|
offset = opt.$menu.position();
|
||||||
} else {
|
} else {
|
||||||
// x and y are given (by mouse event)
|
// x and y are given (by mouse event)
|
||||||
offset = {top: y, left: x};
|
offset = {
|
||||||
|
top: y,
|
||||||
|
left: x
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// correct offset if viewport demands it
|
// correct offset if viewport demands it
|
||||||
|
@ -266,7 +270,11 @@ var // currently active contextMenu trigger
|
||||||
click: function(e) {
|
click: function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
$(this).trigger($.Event("contextmenu", { data: e.data, pageX: e.pageX, pageY: e.pageY }));
|
$(this).trigger($.Event("contextmenu", {
|
||||||
|
data: e.data,
|
||||||
|
pageX: e.pageX,
|
||||||
|
pageY: e.pageY
|
||||||
|
}));
|
||||||
},
|
},
|
||||||
// contextMenu right-click trigger
|
// contextMenu right-click trigger
|
||||||
mousedown: function(e) {
|
mousedown: function(e) {
|
||||||
|
@ -291,7 +299,11 @@ var // currently active contextMenu trigger
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
$currentTrigger = $this;
|
$currentTrigger = $this;
|
||||||
$this.trigger($.Event("contextmenu", { data: e.data, pageX: e.pageX, pageY: e.pageY }));
|
$this.trigger($.Event("contextmenu", {
|
||||||
|
data: e.data,
|
||||||
|
pageX: e.pageX,
|
||||||
|
pageY: e.pageY
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this.removeData('contextMenuActive');
|
$this.removeData('contextMenuActive');
|
||||||
|
@ -320,7 +332,11 @@ var // currently active contextMenu trigger
|
||||||
hoveract.timer = null;
|
hoveract.timer = null;
|
||||||
$document.off('mousemove.contextMenuShow');
|
$document.off('mousemove.contextMenuShow');
|
||||||
$currentTrigger = $this;
|
$currentTrigger = $this;
|
||||||
$this.trigger($.Event("contextmenu", { data: hoveract.data, pageX: hoveract.pageX, pageY: hoveract.pageY }));
|
$this.trigger($.Event("contextmenu", {
|
||||||
|
data: hoveract.data,
|
||||||
|
pageX: hoveract.pageX,
|
||||||
|
pageY: hoveract.pageY
|
||||||
|
}));
|
||||||
}, e.data.delay);
|
}, e.data.delay);
|
||||||
},
|
},
|
||||||
// contextMenu hover trigger
|
// contextMenu hover trigger
|
||||||
|
@ -400,7 +416,10 @@ var // currently active contextMenu trigger
|
||||||
|
|
||||||
if (target && triggerAction) {
|
if (target && triggerAction) {
|
||||||
root.$trigger.one('contextmenu:hidden', function() {
|
root.$trigger.one('contextmenu:hidden', function() {
|
||||||
$(target).contextMenu({x: x, y: y});
|
$(target).contextMenu({
|
||||||
|
x: x,
|
||||||
|
y: y
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -530,10 +549,7 @@ var // currently active contextMenu trigger
|
||||||
var k = (String.fromCharCode(e.keyCode)).toUpperCase();
|
var k = (String.fromCharCode(e.keyCode)).toUpperCase();
|
||||||
if (opt.accesskeys[k]) {
|
if (opt.accesskeys[k]) {
|
||||||
// according to the specs accesskeys must be invoked immediately
|
// according to the specs accesskeys must be invoked immediately
|
||||||
opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu
|
opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu ? 'contextmenu:focus' : 'mouseup');
|
||||||
? 'contextmenu:focus'
|
|
||||||
: 'mouseup'
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1039,7 +1055,6 @@ var // currently active contextMenu trigger
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'sub':
|
case 'sub':
|
||||||
// FIXME: shouldn't this .html() be a .text()?
|
|
||||||
$('<span></span>').html(item._name || item.name).appendTo($t);
|
$('<span></span>').html(item._name || item.name).appendTo($t);
|
||||||
item.appendTo = item.$node;
|
item.appendTo = item.$node;
|
||||||
op.create(item, root);
|
op.create(item, root);
|
||||||
|
@ -1058,7 +1073,6 @@ var // currently active contextMenu trigger
|
||||||
k.callbacks[key] = item.callback;
|
k.callbacks[key] = item.callback;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// FIXME: shouldn't this .html() be a .text()?
|
|
||||||
$('<span></span>').html(item._name || item.name || "").appendTo($t);
|
$('<span></span>').html(item._name || item.name || "").appendTo($t);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1107,7 +1121,10 @@ var // currently active contextMenu trigger
|
||||||
// kinda sucks hard...
|
// kinda sucks hard...
|
||||||
|
|
||||||
// determine width of absolutely positioned element
|
// determine width of absolutely positioned element
|
||||||
$menu.css({position: 'absolute', display: 'block'});
|
$menu.css({
|
||||||
|
position: 'absolute',
|
||||||
|
display: 'block'
|
||||||
|
});
|
||||||
// don't apply yet, because that would break nested elements' widths
|
// don't apply yet, because that would break nested elements' widths
|
||||||
// add a pixel to circumvent word-break issue in IE9 - #80
|
// add a pixel to circumvent word-break issue in IE9 - #80
|
||||||
$menu.data('width', Math.ceil($menu.width()) + 1);
|
$menu.data('width', Math.ceil($menu.width()) + 1);
|
||||||
|
@ -1182,7 +1199,11 @@ var // currently active contextMenu trigger
|
||||||
// add transparent layer for click area
|
// add transparent layer for click area
|
||||||
// filter and background for Internet Explorer, Issue #23
|
// filter and background for Internet Explorer, Issue #23
|
||||||
var $layer = opt.$layer = $('<div id="context-menu-layer" style="position:fixed; z-index:' + zIndex + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>')
|
var $layer = opt.$layer = $('<div id="context-menu-layer" style="position:fixed; z-index:' + zIndex + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>')
|
||||||
.css({height: $win.height(), width: $win.width(), display: 'block'})
|
.css({
|
||||||
|
height: $win.height(),
|
||||||
|
width: $win.width(),
|
||||||
|
display: 'block'
|
||||||
|
})
|
||||||
.data('contextMenuRoot', opt)
|
.data('contextMenuRoot', opt)
|
||||||
.insertBefore(this)
|
.insertBefore(this)
|
||||||
.on('contextmenu', handle.abortevent)
|
.on('contextmenu', handle.abortevent)
|
||||||
|
@ -1220,12 +1241,17 @@ $.fn.contextMenu = function(operation) {
|
||||||
if (operation === undefined) {
|
if (operation === undefined) {
|
||||||
this.first().trigger('contextmenu');
|
this.first().trigger('contextmenu');
|
||||||
} else if (operation.x && operation.y) {
|
} else if (operation.x && operation.y) {
|
||||||
this.first().trigger($.Event("contextmenu", {pageX: operation.x, pageY: operation.y}));
|
this.first().trigger($.Event("contextmenu", {
|
||||||
|
pageX: operation.x,
|
||||||
|
pageY: operation.y
|
||||||
|
}));
|
||||||
} else if (operation === "hide") {
|
} else if (operation === "hide") {
|
||||||
var $menu = this.data('contextMenu').$menu;
|
var $menu = this.data('contextMenu').$menu;
|
||||||
$menu && $menu.trigger('contextmenu:hide');
|
$menu && $menu.trigger('contextmenu:hide');
|
||||||
} else if (operation === "destroy") {
|
} else if (operation === "destroy") {
|
||||||
$.contextMenu("destroy", {context: this});
|
$.contextMenu("destroy", {
|
||||||
|
context: this
|
||||||
|
});
|
||||||
} else if ($.isPlainObject(operation)) {
|
} else if ($.isPlainObject(operation)) {
|
||||||
operation.context = this;
|
operation.context = this;
|
||||||
$.contextMenu("create", operation);
|
$.contextMenu("create", operation);
|
||||||
|
@ -1246,7 +1272,9 @@ $.contextMenu = function(operation, options) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof options == 'string') {
|
if (typeof options == 'string') {
|
||||||
options = {selector: options};
|
options = {
|
||||||
|
selector: options
|
||||||
|
};
|
||||||
} else if (options === undefined) {
|
} else if (options === undefined) {
|
||||||
options = {};
|
options = {};
|
||||||
}
|
}
|
||||||
|
@ -1364,7 +1392,9 @@ $.contextMenu = function(operation, options) {
|
||||||
|
|
||||||
$visibleMenu = $('.context-menu-list').filter(':visible');
|
$visibleMenu = $('.context-menu-list').filter(':visible');
|
||||||
if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))) {
|
if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))) {
|
||||||
$visibleMenu.trigger('contextmenu:hide', {force: true});
|
$visibleMenu.trigger('contextmenu:hide', {
|
||||||
|
force: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -1396,7 +1426,9 @@ $.contextMenu = function(operation, options) {
|
||||||
} else if (namespaces[o.selector]) {
|
} else if (namespaces[o.selector]) {
|
||||||
$visibleMenu = $('.context-menu-list').filter(':visible');
|
$visibleMenu = $('.context-menu-list').filter(':visible');
|
||||||
if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {
|
if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {
|
||||||
$visibleMenu.trigger('contextmenu:hide', {force: true});
|
$visibleMenu.trigger('contextmenu:hide', {
|
||||||
|
force: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -1530,7 +1562,10 @@ function menuChildren(items, $children, counter) {
|
||||||
switch (nodeName) {
|
switch (nodeName) {
|
||||||
// http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element
|
// http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element
|
||||||
case 'menu':
|
case 'menu':
|
||||||
item = {name: $node.attr('label'), items: {}};
|
item = {
|
||||||
|
name: $node.attr('label'),
|
||||||
|
items: {}
|
||||||
|
};
|
||||||
counter = menuChildren(item.items, $node.children(), counter);
|
counter = menuChildren(item.items, $node.children(), counter);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1541,7 +1576,11 @@ function menuChildren(items, $children, counter) {
|
||||||
item = {
|
item = {
|
||||||
name: $node.text(),
|
name: $node.text(),
|
||||||
disabled: !!$node.attr('disabled'),
|
disabled: !!$node.attr('disabled'),
|
||||||
callback: (function(){ return function(){ $node.click(); }; })()
|
callback: (function() {
|
||||||
|
return function() {
|
||||||
|
$node.click();
|
||||||
|
};
|
||||||
|
})()
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1556,7 +1595,11 @@ function menuChildren(items, $children, counter) {
|
||||||
item = {
|
item = {
|
||||||
name: $node.attr('label'),
|
name: $node.attr('label'),
|
||||||
disabled: !!$node.attr('disabled'),
|
disabled: !!$node.attr('disabled'),
|
||||||
callback: (function(){ return function(){ $node.click(); }; })()
|
callback: (function() {
|
||||||
|
return function() {
|
||||||
|
$node.click();
|
||||||
|
};
|
||||||
|
})()
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1652,7 +1695,10 @@ function menuChildren(items, $children, counter) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
item = {type: 'html', html: $node.clone(true)};
|
item = {
|
||||||
|
type: 'html',
|
||||||
|
html: $node.clone(true)
|
||||||
|
};
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue