From 82c0ef837c67d70907426aeb19116d4f0fea6bf9 Mon Sep 17 00:00:00 2001 From: tamat Date: Wed, 13 Nov 2019 16:02:07 +0100 Subject: [PATCH] better scroll in searchbox --- build/litegraph.js | 2 +- build/litegraph.min.js | 60 +++++++++++++++++++++--------------------- src/litegraph.js | 2 +- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/build/litegraph.js b/build/litegraph.js index 5ba50abb1..428e1d6ea 100644 --- a/build/litegraph.js +++ b/build/litegraph.js @@ -9286,7 +9286,7 @@ LGraphNode.prototype.executeAction = function(action) return; } selected.classList.add("selected"); - selected.scrollIntoView(); + selected.scrollIntoView({block: "end", behaviour: "smooth"}); } function refreshHelper() { diff --git a/build/litegraph.min.js b/build/litegraph.min.js index d090dc904..411e5e8fa 100755 --- a/build/litegraph.min.js +++ b/build/litegraph.min.js @@ -201,36 +201,36 @@ k.prototype.prompt=function(a,b,d,e){var c=this;a=a||"";var g=!1,h=document.crea h;h.querySelector(".name").innerText=a;h.querySelector(".value").value=b;var m=h.querySelector("input");m.addEventListener("keydown",function(a){g=!0;if(27==a.keyCode)h.close();else if(13==a.keyCode)d&&d(this.value),h.close();else return;a.preventDefault();a.stopPropagation()});h.querySelector("button").addEventListener("click",function(a){d&&d(m.value);c.setDirty(!0);h.close()});a=k.active_canvas.canvas;b=a.getBoundingClientRect();var f=-20,q=-20;b&&(f-=b.left,q-=b.top);e?(h.style.left=e.clientX+ f+"px",h.style.top=e.clientY+q+"px"):(h.style.left=0.5*a.width+f+"px",h.style.top=0.5*a.height+q+"px");a.parentNode.appendChild(h);setTimeout(function(){m.focus()},10);return h};k.search_limit=-1;k.prototype.showSearchBox=function(a){function b(b){if(b)if(g.onSearchBoxSelection)g.onSearchBoxSelection(b,a,A);else{var d=e.searchbox_extras[b.toLowerCase()];d&&(b=d.type);if(b=e.createNode(b))b.pos=A.convertEventToCanvasOffset(a),A.graph.add(b);if(d&&d.data){if(d.data.properties)for(var c in d.data.properties)b.addProperty(c, d.data.properties[c]);if(d.data.inputs)for(c in b.inputs=[],d.data.inputs)b.addOutput(d.data.inputs[c][0],d.data.inputs[c][1]);if(d.data.outputs)for(c in b.outputs=[],d.data.outputs)b.addOutput(d.data.outputs[c][0],d.data.outputs[c][1]);d.data.title&&(b.title=d.data.title);d.data.json&&b.configure(d.data.json)}}h.close()}function d(a){var b=l;l&&l.classList.remove("selected");l?(l=a?l.nextSibling:l.previousSibling)||(l=b):l=a?f.childNodes[0]:f.childNodes[f.childNodes.length];l&&(l.classList.add("selected"), -l.scrollIntoView())}function c(){function a(d,e){var c=document.createElement("div");q||(q=d);c.innerText=d;c.dataset.type=escape(d);c.className="litegraph lite-search-item";e&&(c.className+=" "+e);c.addEventListener("click",function(a){b(unescape(this.dataset.type))});f.appendChild(c)}p=null;var d=u.value;q=null;f.innerHTML="";if(d)if(g.onSearchBox){var h=g.onSearchBox(f,d,A);if(h)for(var m=0;mk.search_limit)break}}t=null;if(Array.prototype.filter)t=Object.keys(e.registered_node_types).filter(v);else for(m in t=[],e.registered_node_types)v(m)&&t.push(m);for(m=0;mk.search_limit);m++);var v=function(a){var b=e.registered_node_types[a];return l&&b.filter!=l?!1: --1!==a.toLowerCase().indexOf(d)}}}var g=this,h=document.createElement("div");h.className="litegraph litesearchbox graphdialog rounded";h.innerHTML="Search
";h.close=function(){g.search_box=null;document.body.focus();setTimeout(function(){g.canvas.focus()},20);h.parentNode&&h.parentNode.removeChild(h)};var m=null;1";else if("enum"==g&&h.values){f=""}else if("boolean"==g)f="";else{console.warn("unknown type: "+g);return}var k=this.createDialog(""+b+""+f+"",d);if("enum"==g&&h.values){var p=k.querySelector("select");p.addEventListener("change",function(a){c(a.target.value)})}else if("boolean"==g)(p=k.querySelector("input"))&&p.addEventListener("click",function(a){c(!!p.checked)});else if(p=k.querySelector("input"))p.addEventListener("blur",function(a){this.focus()}),q=void 0!==a.properties[b]?a.properties[b]:"",q=JSON.stringify(q), -p.value=q,p.addEventListener("keydown",function(a){13==a.keyCode&&(e(),a.preventDefault(),a.stopPropagation())});k.querySelector("button").addEventListener("click",e)}};k.prototype.createDialog=function(a,b){b=b||{};var d=document.createElement("div");d.className="graphdialog";d.innerHTML=a;var e=this.canvas.getBoundingClientRect(),c=-20,g=-20;e&&(c-=e.left,g-=e.top);b.position?(c+=b.position[0],g+=b.position[1]):b.event?(c+=b.event.clientX,g+=b.event.clientY):(c+=0.5*this.canvas.width,g+=0.5*this.canvas.height); -d.style.left=c+"px";d.style.top=g+"px";this.canvas.parentNode.appendChild(d);d.close=function(){this.parentNode&&this.parentNode.removeChild(this)};return d};k.onMenuNodeCollapse=function(a,b,d,e,c){c.collapse()};k.onMenuNodePin=function(a,b,d,e,c){c.pin()};k.onMenuNodeMode=function(a,b,d,c,g){new e.ContextMenu(["Always","On Event","On Trigger","Never"],{event:d,callback:function(a){if(g)switch(a){case "On Event":g.mode=e.ON_EVENT;break;case "On Trigger":g.mode=e.ON_TRIGGER;break;case "Never":g.mode= -e.NEVER;break;default:g.mode=e.ALWAYS}},parentMenu:c,node:g});return!1};k.onMenuNodeColors=function(a,b,d,c,g){if(!g)throw"no node for color";b=[];b.push({value:null,content:"No color"});for(var h in k.node_colors)a=k.node_colors[h],a={value:h,content:""+h+""},b.push(a);new e.ContextMenu(b,{event:d,callback:function(a){g&& -((a=a.value?k.node_colors[a.value]:null)?g.constructor===e.LGraphGroup?g.color=a.groupcolor:(g.color=a.color,g.bgcolor=a.bgcolor):(delete g.color,delete g.bgcolor),g.setDirtyCanvas(!0,!0))},parentMenu:c,node:g});return!1};k.onMenuNodeShapes=function(a,b,d,c,g){if(!g)throw"no node passed";new e.ContextMenu(e.VALID_SHAPES,{event:d,callback:function(a){g&&(g.shape=a,g.setDirtyCanvas(!0))},parentMenu:c,node:g});return!1};k.onMenuNodeRemove=function(a,b,d,e,c){if(!c)throw"no node passed";!1!==c.removable&& -(c.graph.remove(c),c.setDirtyCanvas(!0,!0))};k.onMenuNodeClone=function(a,b,d,e,c){!1!=c.clonable&&(a=c.clone())&&(a.pos=[c.pos[0]+5,c.pos[1]+5],c.graph.add(a),c.setDirtyCanvas(!0,!0))};k.node_colors={red:{color:"#322",bgcolor:"#533",groupcolor:"#A88"},brown:{color:"#332922",bgcolor:"#593930",groupcolor:"#b06634"},green:{color:"#232",bgcolor:"#353",groupcolor:"#8A8"},blue:{color:"#223",bgcolor:"#335",groupcolor:"#88A"},pale_blue:{color:"#2a363b",bgcolor:"#3f5159",groupcolor:"#3f789e"},cyan:{color:"#233", -bgcolor:"#355",groupcolor:"#8AA"},purple:{color:"#323",bgcolor:"#535",groupcolor:"#a1309b"},yellow:{color:"#432",bgcolor:"#653",groupcolor:"#b58b2a"},black:{color:"#222",bgcolor:"#000",groupcolor:"#444"}};k.prototype.getCanvasMenuOptions=function(){var a=null;this.getMenuOptions?a=this.getMenuOptions():(a=[{content:"Add Node",has_submenu:!0,callback:k.onMenuAdd},{content:"Add Group",callback:k.onGroupAdd}],this._graph_stack&&0Name",c),m=h.querySelector("input");m&&g&&(m.value=g.label||"");h.querySelector("button").addEventListener("click",function(a){m.value&&(g&&(g.label=m.value),d.setDirty(!0));h.close()})}},extra:a};a&&(h.title=a.type);var m=null;a&&(m=a.getSlotInPosition(b.canvasX,b.canvasY),k.active_node=a);if(m){g=[];m&&m.output&&m.output.links&&m.output.links.length&&g.push({content:"Disconnect Links",slot:m});var f=m.input|| -m.output;g.push(f.locked?"Cannot remove":{content:"Remove Slot",slot:m});g.push(f.nameLocked?"Cannot rename":{content:"Rename Slot",slot:m});h.title=(m.input?m.input.type:m.output.type)||"*";m.input&&m.input.type==e.ACTION&&(h.title="Action");m.output&&m.output.type==e.EVENT&&(h.title="Event")}else a?g=this.getNodeMenuOptions(a):(g=this.getCanvasMenuOptions(),(m=this.graph.getGroupOnPos(b.canvasX,b.canvasY))&&g.push(null,{content:"Edit Group",has_submenu:!0,submenu:{title:"Group",extra:m,options:this.getGroupMenuOptions(m)}})); -g&&new e.ContextMenu(g,h,c)};this.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.roundRect=function(a,b,d,c,e,g){void 0===e&&(e=5);void 0===g&&(g=e);this.moveTo(a+e,b);this.lineTo(a+d-e,b);this.quadraticCurveTo(a+d,b,a+d,b+e);this.lineTo(a+d,b+c-g);this.quadraticCurveTo(a+d,b+c,a+d-g,b+c);this.lineTo(a+g,b+c);this.quadraticCurveTo(a,b+c,a,b+c-g);this.lineTo(a,b+e);this.quadraticCurveTo(a,b,a+e,b)});e.compareObjects=function(a,b){for(var d in a)if(a[d]!=b[d])return!1;return!0};e.distance= -y;e.colorToString=function(a){return"rgba("+Math.round(255*a[0]).toFixed()+","+Math.round(255*a[1]).toFixed()+","+Math.round(255*a[2]).toFixed()+","+(4==a.length?a[3].toFixed(2):"1.0")+")"};e.isInsideRectangle=u;e.growBounding=function(a,b,d){ba[2]&&(a[2]=b);da[3]&&(a[3]=d)};e.isInsideBounding=function(a,b){return a[0]b[1][0]||a[1]>b[1][1]?!1:!0};e.overlapBounding=v;e.hex2num=function(a){"#"==a.charAt(0)&&(a=a.slice(1));a=a.toUpperCase(); -for(var b=Array(3),d=0,c,e,g=0;6>g;g+=2)c="0123456789ABCDEF".indexOf(a.charAt(g)),e="0123456789ABCDEF".indexOf(a.charAt(g+1)),b[d]=16*c+e,d++;return b};e.num2hex=function(a){for(var b="#",d,c,e=0;3>e;e++)d=a[e]/16,c=a[e]%16,b+="0123456789ABCDEF".charAt(d)+"0123456789ABCDEF".charAt(c);return b};z.prototype.addItem=function(a,b,d){function c(a){var b=this.value;b&&b.has_submenu&&e.call(this,a)}function e(a){var b=this.value,c=!0;g.current_submenu&&g.current_submenu.close(a);if(d.callback){var h=d.callback.call(this, -b,d,a,g,d.node);!0===h&&(c=!1)}if(b&&(b.callback&&!d.ignore_item_callbacks&&!0!==b.disabled&&(h=b.callback.call(this,b,d,a,g,d.extra),!0===h&&(c=!1)),b.submenu)){if(!b.submenu.options)throw"ContextMenu submenu needs options";new g.constructor(b.submenu.options,{callback:b.submenu.callback,event:a,parentMenu:g,ignore_item_callbacks:b.submenu.ignore_item_callbacks,title:b.submenu.title,extra:b.submenu.extra,autoopen:d.autoopen});c=!1}c&&!g.lock&&g.close()}var g=this;d=d||{};var h=document.createElement("div"); -h.className="litemenu-entry submenu";var m=!1;if(null===b)h.classList.add("separator");else{h.innerHTML=b&&b.title?b.title:a;if(h.value=b)b.disabled&&(m=!0,h.classList.add("disabled")),(b.submenu||b.has_submenu)&&h.classList.add("has_submenu");"function"==typeof b?(h.dataset.value=a,h.onclick_callback=b):h.dataset.value=b;b.className&&(h.className+=" "+b.className)}this.root.appendChild(h);m||h.addEventListener("click",e);d.autoopen&&h.addEventListener("mouseenter",c);return h};z.prototype.close= -function(a,b){this.root.parentNode&&this.root.parentNode.removeChild(this.root);this.parentMenu&&!b&&(this.parentMenu.lock=!1,this.parentMenu.current_submenu=null,void 0===a?this.parentMenu.close():a&&!z.isCursorOverElement(a,this.parentMenu.root)&&z.trigger(this.parentMenu.root,"mouseleave",a));this.current_submenu&&this.current_submenu.close(a,!0);this.root.closing_timer&&clearTimeout(this.root.closing_timer)};z.trigger=function(a,b,d,c){var e=document.createEvent("CustomEvent");e.initCustomEvent(b, -!0,!0,d);e.srcElement=c;a.dispatchEvent?a.dispatchEvent(e):a.__events&&a.__events.dispatchEvent(e);return e};z.prototype.getTopMenu=function(){return this.options.parentMenu?this.options.parentMenu.getTopMenu():this};z.prototype.getFirstEvent=function(){return this.options.parentMenu?this.options.parentMenu.getFirstEvent():this.options.event};z.isCursorOverElement=function(a,b){var d=a.clientX,c=a.clientY,e=b.getBoundingClientRect();return e?c>e.top&&ce.left&&da?b:dk.search_limit)break}}t=null;if(Array.prototype.filter)t=Object.keys(e.registered_node_types).filter(v);else for(m in t=[],e.registered_node_types)v(m)&&t.push(m);for(m=0;mk.search_limit);m++);var v=function(a){var b=e.registered_node_types[a]; +return l&&b.filter!=l?!1:-1!==a.toLowerCase().indexOf(d)}}}var g=this,h=document.createElement("div");h.className="litegraph litesearchbox graphdialog rounded";h.innerHTML="Search
";h.close=function(){g.search_box=null;document.body.focus();setTimeout(function(){g.canvas.focus()},20);h.parentNode&&h.parentNode.removeChild(h)};var m=null;1";else if("enum"==g&&h.values){f=""}else if("boolean"==g)f="";else{console.warn("unknown type: "+g);return}var k=this.createDialog(""+b+""+f+"",d);if("enum"==g&&h.values){var p=k.querySelector("select");p.addEventListener("change",function(a){c(a.target.value)})}else if("boolean"==g)(p=k.querySelector("input"))&&p.addEventListener("click",function(a){c(!!p.checked)});else if(p=k.querySelector("input"))p.addEventListener("blur",function(a){this.focus()}),q=void 0!==a.properties[b]? +a.properties[b]:"",q=JSON.stringify(q),p.value=q,p.addEventListener("keydown",function(a){13==a.keyCode&&(e(),a.preventDefault(),a.stopPropagation())});k.querySelector("button").addEventListener("click",e)}};k.prototype.createDialog=function(a,b){b=b||{};var d=document.createElement("div");d.className="graphdialog";d.innerHTML=a;var e=this.canvas.getBoundingClientRect(),c=-20,g=-20;e&&(c-=e.left,g-=e.top);b.position?(c+=b.position[0],g+=b.position[1]):b.event?(c+=b.event.clientX,g+=b.event.clientY): +(c+=0.5*this.canvas.width,g+=0.5*this.canvas.height);d.style.left=c+"px";d.style.top=g+"px";this.canvas.parentNode.appendChild(d);d.close=function(){this.parentNode&&this.parentNode.removeChild(this)};return d};k.onMenuNodeCollapse=function(a,b,d,e,c){c.collapse()};k.onMenuNodePin=function(a,b,d,e,c){c.pin()};k.onMenuNodeMode=function(a,b,d,c,g){new e.ContextMenu(["Always","On Event","On Trigger","Never"],{event:d,callback:function(a){if(g)switch(a){case "On Event":g.mode=e.ON_EVENT;break;case "On Trigger":g.mode= +e.ON_TRIGGER;break;case "Never":g.mode=e.NEVER;break;default:g.mode=e.ALWAYS}},parentMenu:c,node:g});return!1};k.onMenuNodeColors=function(a,b,d,c,g){if(!g)throw"no node for color";b=[];b.push({value:null,content:"No color"});for(var h in k.node_colors)a=k.node_colors[h],a={value:h,content:""+h+""},b.push(a); +new e.ContextMenu(b,{event:d,callback:function(a){g&&((a=a.value?k.node_colors[a.value]:null)?g.constructor===e.LGraphGroup?g.color=a.groupcolor:(g.color=a.color,g.bgcolor=a.bgcolor):(delete g.color,delete g.bgcolor),g.setDirtyCanvas(!0,!0))},parentMenu:c,node:g});return!1};k.onMenuNodeShapes=function(a,b,d,c,g){if(!g)throw"no node passed";new e.ContextMenu(e.VALID_SHAPES,{event:d,callback:function(a){g&&(g.shape=a,g.setDirtyCanvas(!0))},parentMenu:c,node:g});return!1};k.onMenuNodeRemove=function(a, +b,d,e,c){if(!c)throw"no node passed";!1!==c.removable&&(c.graph.remove(c),c.setDirtyCanvas(!0,!0))};k.onMenuNodeClone=function(a,b,d,e,c){!1!=c.clonable&&(a=c.clone())&&(a.pos=[c.pos[0]+5,c.pos[1]+5],c.graph.add(a),c.setDirtyCanvas(!0,!0))};k.node_colors={red:{color:"#322",bgcolor:"#533",groupcolor:"#A88"},brown:{color:"#332922",bgcolor:"#593930",groupcolor:"#b06634"},green:{color:"#232",bgcolor:"#353",groupcolor:"#8A8"},blue:{color:"#223",bgcolor:"#335",groupcolor:"#88A"},pale_blue:{color:"#2a363b", +bgcolor:"#3f5159",groupcolor:"#3f789e"},cyan:{color:"#233",bgcolor:"#355",groupcolor:"#8AA"},purple:{color:"#323",bgcolor:"#535",groupcolor:"#a1309b"},yellow:{color:"#432",bgcolor:"#653",groupcolor:"#b58b2a"},black:{color:"#222",bgcolor:"#000",groupcolor:"#444"}};k.prototype.getCanvasMenuOptions=function(){var a=null;this.getMenuOptions?a=this.getMenuOptions():(a=[{content:"Add Node",has_submenu:!0,callback:k.onMenuAdd},{content:"Add Group",callback:k.onGroupAdd}],this._graph_stack&&0Name",c),m=h.querySelector("input");m&&g&&(m.value=g.label||"");h.querySelector("button").addEventListener("click",function(a){m.value&&(g&&(g.label=m.value),d.setDirty(!0));h.close()})}},extra:a};a&&(h.title=a.type);var m=null;a&&(m=a.getSlotInPosition(b.canvasX,b.canvasY),k.active_node=a);if(m){g=[];m&&m.output&&m.output.links&& +m.output.links.length&&g.push({content:"Disconnect Links",slot:m});var f=m.input||m.output;g.push(f.locked?"Cannot remove":{content:"Remove Slot",slot:m});g.push(f.nameLocked?"Cannot rename":{content:"Rename Slot",slot:m});h.title=(m.input?m.input.type:m.output.type)||"*";m.input&&m.input.type==e.ACTION&&(h.title="Action");m.output&&m.output.type==e.EVENT&&(h.title="Event")}else a?g=this.getNodeMenuOptions(a):(g=this.getCanvasMenuOptions(),(m=this.graph.getGroupOnPos(b.canvasX,b.canvasY))&&g.push(null, +{content:"Edit Group",has_submenu:!0,submenu:{title:"Group",extra:m,options:this.getGroupMenuOptions(m)}}));g&&new e.ContextMenu(g,h,c)};this.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.roundRect=function(a,b,d,c,e,g){void 0===e&&(e=5);void 0===g&&(g=e);this.moveTo(a+e,b);this.lineTo(a+d-e,b);this.quadraticCurveTo(a+d,b,a+d,b+e);this.lineTo(a+d,b+c-g);this.quadraticCurveTo(a+d,b+c,a+d-g,b+c);this.lineTo(a+g,b+c);this.quadraticCurveTo(a,b+c,a,b+c-g);this.lineTo(a,b+e);this.quadraticCurveTo(a, +b,a+e,b)});e.compareObjects=function(a,b){for(var d in a)if(a[d]!=b[d])return!1;return!0};e.distance=y;e.colorToString=function(a){return"rgba("+Math.round(255*a[0]).toFixed()+","+Math.round(255*a[1]).toFixed()+","+Math.round(255*a[2]).toFixed()+","+(4==a.length?a[3].toFixed(2):"1.0")+")"};e.isInsideRectangle=u;e.growBounding=function(a,b,d){ba[2]&&(a[2]=b);da[3]&&(a[3]=d)};e.isInsideBounding=function(a,b){return a[0]b[1][0]||a[1]>b[1][1]? +!1:!0};e.overlapBounding=v;e.hex2num=function(a){"#"==a.charAt(0)&&(a=a.slice(1));a=a.toUpperCase();for(var b=Array(3),d=0,c,e,g=0;6>g;g+=2)c="0123456789ABCDEF".indexOf(a.charAt(g)),e="0123456789ABCDEF".indexOf(a.charAt(g+1)),b[d]=16*c+e,d++;return b};e.num2hex=function(a){for(var b="#",d,c,e=0;3>e;e++)d=a[e]/16,c=a[e]%16,b+="0123456789ABCDEF".charAt(d)+"0123456789ABCDEF".charAt(c);return b};z.prototype.addItem=function(a,b,d){function c(a){var b=this.value;b&&b.has_submenu&&e.call(this,a)}function e(a){var b= +this.value,c=!0;g.current_submenu&&g.current_submenu.close(a);if(d.callback){var h=d.callback.call(this,b,d,a,g,d.node);!0===h&&(c=!1)}if(b&&(b.callback&&!d.ignore_item_callbacks&&!0!==b.disabled&&(h=b.callback.call(this,b,d,a,g,d.extra),!0===h&&(c=!1)),b.submenu)){if(!b.submenu.options)throw"ContextMenu submenu needs options";new g.constructor(b.submenu.options,{callback:b.submenu.callback,event:a,parentMenu:g,ignore_item_callbacks:b.submenu.ignore_item_callbacks,title:b.submenu.title,extra:b.submenu.extra, +autoopen:d.autoopen});c=!1}c&&!g.lock&&g.close()}var g=this;d=d||{};var h=document.createElement("div");h.className="litemenu-entry submenu";var m=!1;if(null===b)h.classList.add("separator");else{h.innerHTML=b&&b.title?b.title:a;if(h.value=b)b.disabled&&(m=!0,h.classList.add("disabled")),(b.submenu||b.has_submenu)&&h.classList.add("has_submenu");"function"==typeof b?(h.dataset.value=a,h.onclick_callback=b):h.dataset.value=b;b.className&&(h.className+=" "+b.className)}this.root.appendChild(h);m||h.addEventListener("click", +e);d.autoopen&&h.addEventListener("mouseenter",c);return h};z.prototype.close=function(a,b){this.root.parentNode&&this.root.parentNode.removeChild(this.root);this.parentMenu&&!b&&(this.parentMenu.lock=!1,this.parentMenu.current_submenu=null,void 0===a?this.parentMenu.close():a&&!z.isCursorOverElement(a,this.parentMenu.root)&&z.trigger(this.parentMenu.root,"mouseleave",a));this.current_submenu&&this.current_submenu.close(a,!0);this.root.closing_timer&&clearTimeout(this.root.closing_timer)};z.trigger= +function(a,b,d,c){var e=document.createEvent("CustomEvent");e.initCustomEvent(b,!0,!0,d);e.srcElement=c;a.dispatchEvent?a.dispatchEvent(e):a.__events&&a.__events.dispatchEvent(e);return e};z.prototype.getTopMenu=function(){return this.options.parentMenu?this.options.parentMenu.getTopMenu():this};z.prototype.getFirstEvent=function(){return this.options.parentMenu?this.options.parentMenu.getFirstEvent():this.options.event};z.isCursorOverElement=function(a,b){var d=a.clientX,c=a.clientY,e=b.getBoundingClientRect(); +return e?c>e.top&&ce.left&&da?b:d