Compare commits

..

No commits in common. "2e853ba316bcd52502aa8c93e2e6acaa4083750e" and "41020bb3e5713e86b7bcba2778e16a8b2f9e11e4" have entirely different histories.

View file

@ -62,10 +62,10 @@ Ox.Menu = function(options, self) {
' Ox' + Ox.toTitleCase(self.options.size)
)
.on({
click: click,
mouseenter: mouseenter,
mouseleave: mouseleave,
mousemove: mousemove,
mouseup: mouseup,
mousewheel: mousewheel
})
.bindEvent({
@ -103,6 +103,29 @@ Ox.Menu = function(options, self) {
.addClass('OxBottom')
.appendTo(that);
function click(event) {
var item,
position,
$target = $(event.target),
$parent = $target.parent();
// necessary for highlight
if ($parent.is('.OxCell')) {
$target = $parent;
$parent = $target.parent();
}
if ($target.is('.OxCell')) {
position = $parent.data('position');
item = that.items[position];
if (!item.options('disabled')) {
clickItem(position);
} else {
that.hideMenu();
}
} else {
that.hideMenu();
}
}
function clickItem(position, files) {
var item = that.items[position],
group = item.options('group'),
@ -245,41 +268,14 @@ Ox.Menu = function(options, self) {
if ($target.is('.OxCell')) {
position = $parent.data('position');
item = that.items[position];
if (position != self.options.selected) {
if (!item.options('disabled')) {
selectItem(position);
} else {
mouseleave();
}
if (!item.options('disabled') && position != self.options.selected) {
selectItem(position);
}
} else {
mouseleave();
}
}
function mouseup(event) {
var item,
position,
$target = $(event.target),
$parent = $target.parent();
// necessary for highlight
if ($parent.is('.OxCell')) {
$target = $parent;
$parent = $target.parent();
}
if ($target.is('.OxCell')) {
position = $parent.data('position');
item = that.items[position];
if (!item.options('disabled')) {
clickItem(position);
} else {
that.hideMenu();
}
} else {
that.hideMenu();
}
}
function mousewheel(e, delta, deltaX, deltaY) {
var $scrollbar;
if (deltaY && !$(e.target).is('.OxScrollbar')) {
@ -380,6 +376,9 @@ Ox.Menu = function(options, self) {
return $('<div/>', {
'class': 'OxScrollbar Ox' + Ox.toTitleCase(direction),
html: Ox.SYMBOLS['triangle_' + direction],
click: function() { // fixme: do we need to listen to click event?
return false;
},
mousedown: function() {
self.scrollSpeed = 2;
return false;
@ -809,7 +808,7 @@ Ox.Menu = function(options, self) {
};
/*@
setItemTitle <f> setItemTitle
setItemTitle <f> setItemTitle
(id, title) -> <o> set item title
@*/
that.setItemTitle = function(id, title) {
@ -836,7 +835,7 @@ Ox.Menu = function(options, self) {
that.gainFocus();
that.$layer = Ox.Layer({type: 'menu'})
.css({top: self.options.mainmenu ? '20px' : 0})
.on({mouseup: clickLayer})
.bindEvent({click: clickLayer})
.show();
}
return that;