fixes in scroll of searchbox

This commit is contained in:
tamat
2019-11-13 16:00:06 +01:00
parent eb327547cc
commit 514000aa81
3 changed files with 14 additions and 10 deletions

View File

@@ -9168,6 +9168,8 @@ LGraphNode.prototype.executeAction = function(action)
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return true;
});
}

View File

@@ -205,16 +205,16 @@ l.scrollIntoView())}function c(){function a(d,e){var c=document.createElement("d
e.searchbox_extras[m];if(-1!==t.desc.toLowerCase().indexOf(d)){var x=e.registered_node_types[t.type];if(!x||!x.filter||x.filter==l)if(a(t.desc,"searchbox_extra"),-1!==k.search_limit&&h++>k.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;m<t.length&&!(a(t[m]),-1!==k.search_limit&&h++>k.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="<span class='name'>Search</span> <input autofocus type='text' class='value rounded'/><div class='helper'></div>";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<this.ds.scale&&(h.style.transform="scale("+this.ds.scale+")");h.addEventListener("mouseenter",
function(a){m&&(clearTimeout(m),m=null)});h.addEventListener("mouseleave",function(a){m=setTimeout(function(){h.close()},500)});g.search_box&&g.search_box.close();g.search_box=h;var f=h.querySelector(".helper"),q=null,p=null,l=null,u=h.querySelector("input");u&&(u.addEventListener("blur",function(a){this.focus()}),u.addEventListener("keydown",function(a){if(38==a.keyCode)d(!1);else if(40==a.keyCode)d(!0);else if(27==a.keyCode)h.close();else if(13==a.keyCode)l?b(l.innerHTML):q?b(q):h.close();else{p&&
clearInterval(p);p=setTimeout(c,10);return}a.preventDefault();a.stopPropagation()}));var A=k.active_canvas,x=A.canvas,v=x.ownerDocument||document;v.fullscreenElement?v.fullscreenElement.appendChild(h):v.body.appendChild(h);x=x.getBoundingClientRect();v=(a?a.clientY:x.top+0.5*x.height)-20;h.style.left=(a?a.clientX:x.left+0.5*x.width)-80+"px";h.style.top=v+"px";u.focus();return h};k.prototype.showEditPropertyValue=function(a,b,d){function e(){c(p.value)}function c(d){"number"==typeof a.properties[b]&&
(d=Number(d));if("array"==g||"object"==g)d=JSON.parse(d);a.properties[b]=d;a._graph&&a._graph._version++;if(a.onPropertyChanged)a.onPropertyChanged(b,d);k.close();a.setDirtyCanvas(!0,!0)}if(a&&void 0!==a.properties[b]){d=d||{};var g="string";null!==a.properties[b]&&(g=typeof a.properties[b]);var h=null;a.getPropertyInfo&&(h=a.getPropertyInfo(b));if(a.properties_info)for(var m=0;m<a.properties_info.length;++m)if(a.properties_info[m].name==b){h=a.properties_info[m];break}void 0!==h&&null!==h&&h.type&&
(g=h.type);var f="";if("string"==g||"number"==g||"array"==g||"object"==g)f="<input autofocus type='text' class='value'/>";else if("enum"==g&&h.values){f="<select autofocus type='text' class='value'>";for(m in h.values)var q=h.values.constructor===Array?h.values[m]:m,f=f+("<option value='"+q+"' "+(q==a.properties[b]?"selected":"")+">"+h.values[m]+"</option>");f+="</select>"}else if("boolean"==g)f="<input autofocus type='checkbox' class='value' "+(a.properties[b]?"checked":"")+"/>";else{console.warn("unknown type: "+
g);return}var k=this.createDialog("<span class='name'>"+b+"</span>"+f+"<button>OK</button>",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:"<span style='display: block; padding-left: 4px;'>No color</span>"});for(var h in k.node_colors)a=k.node_colors[h],a={value:h,content:"<span style='display: block; color: #999; padding-left: 4px; border-left: 8px solid "+a.color+"; background-color:"+a.bgcolor+"'>"+h+"</span>"},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&&0<this._graph_stack.length&&a.push(null,{content:"Close subgraph",callback:this.closeSubgraph.bind(this)}));
clearInterval(p);p=setTimeout(c,10);return}a.preventDefault();a.stopPropagation();a.stopImmediatePropagation();return!0}));var A=k.active_canvas,x=A.canvas,v=x.ownerDocument||document;v.fullscreenElement?v.fullscreenElement.appendChild(h):v.body.appendChild(h);x=x.getBoundingClientRect();v=(a?a.clientY:x.top+0.5*x.height)-20;h.style.left=(a?a.clientX:x.left+0.5*x.width)-80+"px";h.style.top=v+"px";u.focus();return h};k.prototype.showEditPropertyValue=function(a,b,d){function e(){c(p.value)}function c(d){"number"==
typeof a.properties[b]&&(d=Number(d));if("array"==g||"object"==g)d=JSON.parse(d);a.properties[b]=d;a._graph&&a._graph._version++;if(a.onPropertyChanged)a.onPropertyChanged(b,d);k.close();a.setDirtyCanvas(!0,!0)}if(a&&void 0!==a.properties[b]){d=d||{};var g="string";null!==a.properties[b]&&(g=typeof a.properties[b]);var h=null;a.getPropertyInfo&&(h=a.getPropertyInfo(b));if(a.properties_info)for(var m=0;m<a.properties_info.length;++m)if(a.properties_info[m].name==b){h=a.properties_info[m];break}void 0!==
h&&null!==h&&h.type&&(g=h.type);var f="";if("string"==g||"number"==g||"array"==g||"object"==g)f="<input autofocus type='text' class='value'/>";else if("enum"==g&&h.values){f="<select autofocus type='text' class='value'>";for(m in h.values)var q=h.values.constructor===Array?h.values[m]:m,f=f+("<option value='"+q+"' "+(q==a.properties[b]?"selected":"")+">"+h.values[m]+"</option>");f+="</select>"}else if("boolean"==g)f="<input autofocus type='checkbox' class='value' "+(a.properties[b]?"checked":"")+
"/>";else{console.warn("unknown type: "+g);return}var k=this.createDialog("<span class='name'>"+b+"</span>"+f+"<button>OK</button>",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:"<span style='display: block; padding-left: 4px;'>No color</span>"});for(var h in k.node_colors)a=k.node_colors[h],a={value:h,content:"<span style='display: block; color: #999; padding-left: 4px; border-left: 8px solid "+a.color+"; background-color:"+a.bgcolor+"'>"+h+"</span>"},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&&0<this._graph_stack.length&&a.push(null,{content:"Close subgraph",callback:this.closeSubgraph.bind(this)}));
if(this.getExtraMenuOptions){var b=this.getExtraMenuOptions(this,a);b&&(a=a.concat(b))}return a};k.prototype.getNodeMenuOptions=function(a){var b=null,b=a.getMenuOptions?a.getMenuOptions(this):[{content:"Inputs",has_submenu:!0,disabled:!0,callback:k.showMenuNodeOptionalInputs},{content:"Outputs",has_submenu:!0,disabled:!0,callback:k.showMenuNodeOptionalOutputs},null,{content:"Properties",has_submenu:!0,callback:k.onShowMenuNodeProperties},null,{content:"Title",callback:k.onShowPropertyEditor},{content:"Mode",
has_submenu:!0,callback:k.onMenuNodeMode},{content:"Resize",callback:k.onResizeNode},{content:"Collapse",callback:k.onMenuNodeCollapse},{content:"Pin",callback:k.onMenuNodePin},{content:"Colors",has_submenu:!0,callback:k.onMenuNodeColors},{content:"Shapes",has_submenu:!0,callback:k.onMenuNodeShapes},null];if(a.onGetInputs){var d=a.onGetInputs();d&&d.length&&(b[0].disabled=!1)}a.onGetOutputs&&(d=a.onGetOutputs())&&d.length&&(b[1].disabled=!1);a.getExtraMenuOptions&&(d=a.getExtraMenuOptions(this))&&
(d.push(null),b=d.concat(b));!1!==a.clonable&&b.push({content:"Clone",callback:k.onMenuNodeClone});!1!==a.removable&&b.push(null,{content:"Remove",callback:k.onMenuNodeRemove});if(a.graph&&a.graph.onGetNodeMenuOptions)a.graph.onGetNodeMenuOptions(b,a);return b};k.prototype.getGroupMenuOptions=function(a){return[{content:"Title",callback:k.onShowPropertyEditor},{content:"Color",has_submenu:!0,callback:k.onMenuNodeColors},{content:"Font size",property:"font_size",type:"Number",callback:k.onShowPropertyEditor},

View File

@@ -9166,6 +9166,8 @@ LGraphNode.prototype.executeAction = function(action)
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return true;
});
}