1
0
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:
Thomas Piccirello 2019-07-16 01:37:35 -07:00
parent 7071c5bda0
commit f441d561a2

View File

@ -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,35 +141,24 @@ 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));
}, },
//get things started addTarget: function(t) {
startListener: function() { this.targets[this.targets.length] = t;
/* all elements */ this.setupEventListeners(t);
this.targets.each(function(el) { },
/* show the menu */
el.addEvent(this.options.trigger, function(e) { triggerMenu: function(e, el) {
//enabled? if (this.options.disabled)
if (!this.options.disabled) { return;
//prevent default, if told to //prevent default, if told to
if (this.options.stopEvent) { if (this.options.stopEvent) {
e.stop(); e.stop();
@ -180,12 +168,14 @@ var ContextMenu = new Class({
this.adjustMenuPosition(e); this.adjustMenuPosition(e);
//show the menu //show the menu
this.show(); this.show();
} },
}.bind(this));
el.addEvent('click', function(e) { //get things started
this.hide(); startListener: function() {
}.bind(this)); /* all elements */
}, this); this.targets.each(function(el) {
this.setupEventListeners(el);
}.bind(this), this);
/* menu items */ /* menu items */
this.menu.getElements('a').each(function(item) { this.menu.getElements('a').each(function(item) {