mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-11 07:18:08 +00:00
Refactor duplicate code
This commit is contained in:
parent
7071c5bda0
commit
f441d561a2
@ -39,7 +39,6 @@ var ContextMenu = new Class({
|
|||||||
menu: 'menu_id',
|
menu: 'menu_id',
|
||||||
stopEvent: true,
|
stopEvent: true,
|
||||||
targets: 'body',
|
targets: 'body',
|
||||||
trigger: 'contextmenu',
|
|
||||||
offsets: {
|
offsets: {
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0
|
y: 0
|
||||||
@ -142,50 +141,41 @@ var ContextMenu = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
addTarget: function(t) {
|
setupEventListeners: function(elem) {
|
||||||
this.targets[this.targets.length] = t;
|
elem.addEvent('contextmenu', function(e) {
|
||||||
t.addEvent(this.options.trigger, function(e) {
|
this.triggerMenu(e, elem);
|
||||||
//enabled?
|
|
||||||
if (!this.options.disabled) {
|
|
||||||
//prevent default, if told to
|
|
||||||
if (this.options.stopEvent) {
|
|
||||||
e.stop();
|
|
||||||
}
|
|
||||||
//record this as the trigger
|
|
||||||
this.options.element = $(t);
|
|
||||||
this.adjustMenuPosition(e);
|
|
||||||
//show the menu
|
|
||||||
this.show();
|
|
||||||
}
|
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
t.addEvent('click', function(e) {
|
elem.addEvent('click', function(e) {
|
||||||
this.hide();
|
this.hide();
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
addTarget: function(t) {
|
||||||
|
this.targets[this.targets.length] = t;
|
||||||
|
this.setupEventListeners(t);
|
||||||
|
},
|
||||||
|
|
||||||
|
triggerMenu: function(e, el) {
|
||||||
|
if (this.options.disabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
//prevent default, if told to
|
||||||
|
if (this.options.stopEvent) {
|
||||||
|
e.stop();
|
||||||
|
}
|
||||||
|
//record this as the trigger
|
||||||
|
this.options.element = $(el);
|
||||||
|
this.adjustMenuPosition(e);
|
||||||
|
//show the menu
|
||||||
|
this.show();
|
||||||
|
},
|
||||||
|
|
||||||
//get things started
|
//get things started
|
||||||
startListener: function() {
|
startListener: function() {
|
||||||
/* all elements */
|
/* all elements */
|
||||||
this.targets.each(function(el) {
|
this.targets.each(function(el) {
|
||||||
/* show the menu */
|
this.setupEventListeners(el);
|
||||||
el.addEvent(this.options.trigger, function(e) {
|
}.bind(this), this);
|
||||||
//enabled?
|
|
||||||
if (!this.options.disabled) {
|
|
||||||
//prevent default, if told to
|
|
||||||
if (this.options.stopEvent) {
|
|
||||||
e.stop();
|
|
||||||
}
|
|
||||||
//record this as the trigger
|
|
||||||
this.options.element = $(el);
|
|
||||||
this.adjustMenuPosition(e);
|
|
||||||
//show the menu
|
|
||||||
this.show();
|
|
||||||
}
|
|
||||||
}.bind(this));
|
|
||||||
el.addEvent('click', function(e) {
|
|
||||||
this.hide();
|
|
||||||
}.bind(this));
|
|
||||||
}, this);
|
|
||||||
|
|
||||||
/* menu items */
|
/* menu items */
|
||||||
this.menu.getElements('a').each(function(item) {
|
this.menu.getElements('a').each(function(item) {
|
||||||
|
Loading…
Reference in New Issue
Block a user