mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-20 23:04:06 +00:00
new demo showing features
This commit is contained in:
15187
build/litegraph.js
15187
build/litegraph.js
File diff suppressed because it is too large
Load Diff
44
build/litegraph.min.js
vendored
44
build/litegraph.min.js
vendored
@@ -160,34 +160,34 @@ callback:f,parentMenu:p},m);return!1},parentMenu:d},m);return!1};e.onMenuCollaps
|
||||
else{a=[];for(var h in c)a.push({content:h,value:c[h]});new k.ContextMenu(a,{event:b,callback:l,parentMenu:d,node:f});return!1}}if(f){var m=this;a=e.active_canvas.getCanvasWindow();b=f.optional_outputs;f.onGetOutputs&&(b=f.onGetOutputs());var g=[];if(b)for(var p in b){var q=b[p];if(!q)g.push(null);else if(!f.flags||!f.flags.skip_repeated_outputs||-1==f.findOutputSlot(q[0])){var r=q[0];q[2]&&q[2].label&&(r=q[2].label);r={content:r,value:q};q[1]==k.EVENT&&(r.className="event");g.push(r)}}this.onMenuNodeOutputs&&
|
||||
(g=this.onMenuNodeOutputs(g));if(g.length)return new k.ContextMenu(g,{event:c,callback:l,parentMenu:d,node:f},a),!1}};e.onShowMenuNodeProperties=function(a,b,c,d,f){function l(a,b,c,h){f&&(b=this.getBoundingClientRect(),m.showEditPropertyValue(f,a.value,{position:[b.left,b.top]}))}if(f&&f.properties){var m=e.active_canvas;b=m.getCanvasWindow();var g=[],q;for(q in f.properties)a=void 0!==f.properties[q]?f.properties[q]:" ",a=e.decodeHTML(a),g.push({content:"<span class='property_name'>"+q+"</span><span class='property_value'>"+
|
||||
a+"</span>",value:q});if(g.length)return new k.ContextMenu(g,{event:c,callback:l,parentMenu:d,allow_html:!0,node:f},b),!1}};e.decodeHTML=function(a){var b=document.createElement("div");b.innerText=a;return b.innerHTML};e.onResizeNode=function(a,b,c,e,f){f&&(f.size=f.computeSize(),f.setDirtyCanvas(!0,!0))};e.onShowTitleEditor=function(a,b,c,d,f){function l(){f.title=g.value;m.parentNode.removeChild(m);f.setDirtyCanvas(!0,!0)}var m=document.createElement("div");m.className="graphdialog";m.innerHTML=
|
||||
"<span class='name'>Title</span><input autofocus type='text' class='value'/><button>OK</button>";var g=m.querySelector("input");g&&(g.value=f.title,g.addEventListener("keydown",function(a){13==a.keyCode&&(l(),a.preventDefault(),a.stopPropagation())}));a=e.active_canvas.canvas;b=a.getBoundingClientRect();d=c=-20;b&&(c-=b.left,d-=b.top);event?(m.style.left=event.pageX+c+"px",m.style.top=event.pageY+d+"px"):(m.style.left=0.5*a.width+c+"px",m.style.top=0.5*a.height+d+"px");m.querySelector("button").addEventListener("click",
|
||||
"<span class='name'>Title</span><input autofocus onblur='this.focus()' type='text' class='value'/><button>OK</button>";var g=m.querySelector("input");g&&(g.value=f.title,g.addEventListener("keydown",function(a){13==a.keyCode&&(l(),a.preventDefault(),a.stopPropagation())}));a=e.active_canvas.canvas;b=a.getBoundingClientRect();d=c=-20;b&&(c-=b.left,d-=b.top);event?(m.style.left=event.pageX+c+"px",m.style.top=event.pageY+d+"px"):(m.style.left=0.5*a.width+c+"px",m.style.top=0.5*a.height+d+"px");m.querySelector("button").addEventListener("click",
|
||||
l);a.parentNode.appendChild(m)};e.prototype.showSearchBox=function(a){function b(b){if(b)if(f.onSearchBoxSelection)f.onSearchBoxSelection(b,a,s);else if(b=k.createNode(b))b.pos=s.convertEventToCanvas(a),s.graph.add(b);l.close()}function c(a){var b=p;p&&p.classList.remove("selected");p?(p=a?p.nextSibling:p.previousSibling)||(p=b):p=a?m.childNodes[0]:m.childNodes[m.childNodes.length];p&&(p.classList.add("selected"),p.scrollIntoView())}function d(){q=null;var a=r.value;g=null;m.innerHTML="";if(a)if(f.onSearchBox)f.onSearchBox(h,
|
||||
a,s);else for(var c in k.registered_node_types)if(-1!=c.indexOf(a)){var h=document.createElement("div");g||(g=c);h.innerText=c;h.className="help-item";h.addEventListener("click",function(a){b(this.innerText)});m.appendChild(h)}}var f=this,l=document.createElement("div");l.className="graphdialog";l.innerHTML="<span class='name'>Search</span> <input autofocus type='text' class='value'/><div class='helper'></div>";l.close=function(){f.search_box=null;l.parentNode.removeChild(l)};l.addEventListener("mouseleave",
|
||||
function(a){l.close()});f.search_box&&f.search_box.close();f.search_box=l;var m=l.querySelector(".helper"),g=null,q=null,p=null,r=l.querySelector("input");r&&r.addEventListener("keydown",function(a){if(38==a.keyCode)c(!1);else if(40==a.keyCode)c(!0);else if(27==a.keyCode)l.close();else if(13==a.keyCode)p?b(p.innerHTML):g?b(g):l.close();else{q&&clearInterval(q);q=setTimeout(d,10);return}a.preventDefault();a.stopPropagation()});var s=e.active_canvas,u=s.canvas,t=u.getBoundingClientRect(),z=-20,E=-20;
|
||||
t&&(z-=t.left,E-=t.top);a?(l.style.left=a.pageX+z+"px",l.style.top=a.pageY+E+"px"):(l.style.left=0.5*u.width+z+"px",l.style.top=0.5*u.height+E+"px");u.parentNode.appendChild(l);r.focus();return l};e.prototype.showEditPropertyValue=function(a,b,c){function e(){f(q.value)}function f(c){"number"==typeof a.properties[b]&&(c=Number(c));"array"==l&&(c=c.split(",").map(Number));a.properties[b]=c;a._graph&&a._graph._version++;if(a.onPropertyChanged)a.onPropertyChanged(b,c);p.close();a.setDirtyCanvas(!0,!0)}
|
||||
if(a&&void 0!==a.properties[b]){c=c||{};var l="string";null!==a.properties[b]&&(l=typeof a.properties[b]);"object"==l&&a.properties[b].length&&(l="array");var m=null;a.getPropertyInfo&&(m=a.getPropertyInfo(b));if(a.properties_info)for(var d=0;d<a.properties_info.length;++d)if(a.properties_info[d].name==b){m=a.properties_info[d];break}void 0!==m&&null!==m&&m.type&&(l=m.type);var g="";if("string"==l||"number"==l||"array"==l)g="<input autofocus type='text' class='value'/>";else if("enum"==l&&m.values){g=
|
||||
"<select autofocus type='text' class='value'>";for(d in m.values)var k=m.values.constructor===Array?m.values[d]:d,g=g+("<option value='"+k+"' "+(k==a.properties[b]?"selected":"")+">"+m.values[d]+"</option>");g+="</select>"}else if("boolean"==l)g="<input autofocus type='checkbox' class='value' "+(a.properties[b]?"checked":"")+"/>";else{console.warn("unknown type: "+l);return}var p=this.createDialog("<span class='name'>"+b+"</span>"+g+"<button>OK</button>",c);if("enum"==l&&m.values){var q=p.querySelector("select");
|
||||
q.addEventListener("change",function(a){f(a.target.value)})}else if("boolean"==l)(q=p.querySelector("input"))&&q.addEventListener("click",function(a){f(!!q.checked)});else if(q=p.querySelector("input"))q.value=void 0!==a.properties[b]?a.properties[b]:"",q.addEventListener("keydown",function(a){13==a.keyCode&&(e(),a.preventDefault(),a.stopPropagation())});p.querySelector("button").addEventListener("click",e)}};e.prototype.createDialog=function(a,b){b=b||{};var c=document.createElement("div");c.className=
|
||||
"graphdialog";c.innerHTML=a;var e=this.canvas.getBoundingClientRect(),f=-20,l=-20;e&&(f-=e.left,l-=e.top);b.position?(f+=b.position[0],l+=b.position[1]):b.event?(f+=b.event.pageX,l+=b.event.pageY):(f+=0.5*this.canvas.width,l+=0.5*this.canvas.height);c.style.left=f+"px";c.style.top=l+"px";this.canvas.parentNode.appendChild(c);c.close=function(){this.parentNode&&this.parentNode.removeChild(this)};return c};e.onMenuNodeCollapse=function(a,b,c,e,f){f.collapse()};e.onMenuNodePin=function(a,b,c,e,f){f.pin()};
|
||||
e.onMenuNodeMode=function(a,b,c,e,f){new k.ContextMenu(["Always","On Event","On Trigger","Never"],{event:c,callback:function(a){if(f)switch(a){case "On Event":f.mode=k.ON_EVENT;break;case "On Trigger":f.mode=k.ON_TRIGGER;break;case "Never":f.mode=k.NEVER;break;default:f.mode=k.ALWAYS}},parentMenu:e,node:f});return!1};e.onMenuNodeColors=function(a,b,c,m,f){if(!f)throw"no node for color";b=[];b.push({value:null,content:"<span style='display: block; padding-left: 4px;'>No color</span>"});for(var l in e.node_colors)a=
|
||||
e.node_colors[l],a={value:l,content:"<span style='display: block; color: #999; padding-left: 4px; border-left: 8px solid "+a.color+"; background-color:"+a.bgcolor+"'>"+l+"</span>"},b.push(a);new k.ContextMenu(b,{event:c,callback:function(a){f&&((a=a.value?e.node_colors[a.value]:null)?f.constructor===k.LGraphGroup?f.color=a.groupcolor:(f.color=a.color,f.bgcolor=a.bgcolor):(delete f.color,delete f.bgcolor),f.setDirtyCanvas(!0,!0))},parentMenu:m,node:f});return!1};e.onMenuNodeShapes=function(a,b,c,e,
|
||||
f){if(!f)throw"no node passed";new k.ContextMenu(k.VALID_SHAPES,{event:c,callback:function(a){f&&(f.shape=a,f.setDirtyCanvas(!0))},parentMenu:e,node:f});return!1};e.onMenuNodeRemove=function(a,b,c,e,f){if(!f)throw"no node passed";!1!==f.removable&&(f.graph.remove(f),f.setDirtyCanvas(!0,!0))};e.onMenuNodeClone=function(a,b,c,e,f){!1!=f.clonable&&(a=f.clone())&&(a.pos=[f.pos[0]+5,f.pos[1]+5],f.graph.add(a),f.setDirtyCanvas(!0,!0))};e.node_colors={red:{color:"#322",bgcolor:"#533",groupcolor:"#A88"},
|
||||
a,s);else for(var c in k.registered_node_types)if(-1!=c.indexOf(a)){var h=document.createElement("div");g||(g=c);h.innerText=c;h.className="litegraph lite-search-item";h.addEventListener("click",function(a){b(this.innerText)});m.appendChild(h)}}var f=this,l=document.createElement("div");l.className="litegraph litesearchbox";l.innerHTML="<span class='name'>Search</span> <input autofocus onblur='this.focus()' type='text' class='value'/><div class='helper'></div>";l.close=function(){f.search_box=null;
|
||||
l.parentNode.removeChild(l)};l.addEventListener("mouseleave",function(a){l.close()});f.search_box&&f.search_box.close();f.search_box=l;var m=l.querySelector(".helper"),g=null,q=null,p=null,r=l.querySelector("input");r&&r.addEventListener("keydown",function(a){if(38==a.keyCode)c(!1);else if(40==a.keyCode)c(!0);else if(27==a.keyCode)l.close();else if(13==a.keyCode)p?b(p.innerHTML):g?b(g):l.close();else{q&&clearInterval(q);q=setTimeout(d,10);return}a.preventDefault();a.stopPropagation()});var s=e.active_canvas,
|
||||
u=s.canvas,t=u.getBoundingClientRect(),z=-20,E=-20;t&&(z-=t.left,E-=t.top);a?(l.style.left=a.pageX+z+"px",l.style.top=a.pageY+E+"px"):(l.style.left=0.5*u.width+z+"px",l.style.top=0.5*u.height+E+"px");u.parentNode.appendChild(l);r.focus();return l};e.prototype.showEditPropertyValue=function(a,b,c){function e(){f(q.value)}function f(c){"number"==typeof a.properties[b]&&(c=Number(c));"array"==l&&(c=c.split(",").map(Number));a.properties[b]=c;a._graph&&a._graph._version++;if(a.onPropertyChanged)a.onPropertyChanged(b,
|
||||
c);p.close();a.setDirtyCanvas(!0,!0)}if(a&&void 0!==a.properties[b]){c=c||{};var l="string";null!==a.properties[b]&&(l=typeof a.properties[b]);"object"==l&&a.properties[b].length&&(l="array");var m=null;a.getPropertyInfo&&(m=a.getPropertyInfo(b));if(a.properties_info)for(var d=0;d<a.properties_info.length;++d)if(a.properties_info[d].name==b){m=a.properties_info[d];break}void 0!==m&&null!==m&&m.type&&(l=m.type);var g="";if("string"==l||"number"==l||"array"==l)g="<input autofocus onblur='this.focus()' type='text' class='value'/>";
|
||||
else if("enum"==l&&m.values){g="<select autofocus onblur='this.focus()' type='text' class='value'>";for(d in m.values)var k=m.values.constructor===Array?m.values[d]:d,g=g+("<option value='"+k+"' "+(k==a.properties[b]?"selected":"")+">"+m.values[d]+"</option>");g+="</select>"}else if("boolean"==l)g="<input autofocus onblur='this.focus()' type='checkbox' class='value' "+(a.properties[b]?"checked":"")+"/>";else{console.warn("unknown type: "+l);return}var p=this.createDialog("<span class='name'>"+b+"</span>"+
|
||||
g+"<button>OK</button>",c);if("enum"==l&&m.values){var q=p.querySelector("select");q.addEventListener("change",function(a){f(a.target.value)})}else if("boolean"==l)(q=p.querySelector("input"))&&q.addEventListener("click",function(a){f(!!q.checked)});else if(q=p.querySelector("input"))q.value=void 0!==a.properties[b]?a.properties[b]:"",q.addEventListener("keydown",function(a){13==a.keyCode&&(e(),a.preventDefault(),a.stopPropagation())});p.querySelector("button").addEventListener("click",e)}};e.prototype.createDialog=
|
||||
function(a,b){b=b||{};var c=document.createElement("div");c.className="graphdialog";c.innerHTML=a;var e=this.canvas.getBoundingClientRect(),f=-20,l=-20;e&&(f-=e.left,l-=e.top);b.position?(f+=b.position[0],l+=b.position[1]):b.event?(f+=b.event.pageX,l+=b.event.pageY):(f+=0.5*this.canvas.width,l+=0.5*this.canvas.height);c.style.left=f+"px";c.style.top=l+"px";this.canvas.parentNode.appendChild(c);c.close=function(){this.parentNode&&this.parentNode.removeChild(this)};return c};e.onMenuNodeCollapse=function(a,
|
||||
b,c,e,f){f.collapse()};e.onMenuNodePin=function(a,b,c,e,f){f.pin()};e.onMenuNodeMode=function(a,b,c,e,f){new k.ContextMenu(["Always","On Event","On Trigger","Never"],{event:c,callback:function(a){if(f)switch(a){case "On Event":f.mode=k.ON_EVENT;break;case "On Trigger":f.mode=k.ON_TRIGGER;break;case "Never":f.mode=k.NEVER;break;default:f.mode=k.ALWAYS}},parentMenu:e,node:f});return!1};e.onMenuNodeColors=function(a,b,c,m,f){if(!f)throw"no node for color";b=[];b.push({value:null,content:"<span style='display: block; padding-left: 4px;'>No color</span>"});
|
||||
for(var l in e.node_colors)a=e.node_colors[l],a={value:l,content:"<span style='display: block; color: #999; padding-left: 4px; border-left: 8px solid "+a.color+"; background-color:"+a.bgcolor+"'>"+l+"</span>"},b.push(a);new k.ContextMenu(b,{event:c,callback:function(a){f&&((a=a.value?e.node_colors[a.value]:null)?f.constructor===k.LGraphGroup?f.color=a.groupcolor:(f.color=a.color,f.bgcolor=a.bgcolor):(delete f.color,delete f.bgcolor),f.setDirtyCanvas(!0,!0))},parentMenu:m,node:f});return!1};e.onMenuNodeShapes=
|
||||
function(a,b,c,e,f){if(!f)throw"no node passed";new k.ContextMenu(k.VALID_SHAPES,{event:c,callback:function(a){f&&(f.shape=a,f.setDirtyCanvas(!0))},parentMenu:e,node:f});return!1};e.onMenuNodeRemove=function(a,b,c,e,f){if(!f)throw"no node passed";!1!==f.removable&&(f.graph.remove(f),f.setDirtyCanvas(!0,!0))};e.onMenuNodeClone=function(a,b,c,e,f){!1!=f.clonable&&(a=f.clone())&&(a.pos=[f.pos[0]+5,f.pos[1]+5],f.graph.add(a),f.setDirtyCanvas(!0,!0))};e.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"}};e.prototype.getCanvasMenuOptions=function(){var a=
|
||||
null;this.getMenuOptions?a=this.getMenuOptions():(a=[{content:"Add Node",has_submenu:!0,callback:e.onMenuAdd},{content:"Add Group",callback:e.onGroupAdd}],this._graph_stack&&0<this._graph_stack.length&&(a=[{content:"Close subgraph",callback:this.closeSubgraph.bind(this)},null].concat(a)));if(this.getExtraMenuOptions){var b=this.getExtraMenuOptions(this,a);b&&(a=a.concat(b))}return a};e.prototype.getNodeMenuOptions=function(a){var b=null,b=a.getMenuOptions?a.getMenuOptions(this):[{content:"Inputs",
|
||||
has_submenu:!0,disabled:!0,callback:e.showMenuNodeOptionalInputs},{content:"Outputs",has_submenu:!0,disabled:!0,callback:e.showMenuNodeOptionalOutputs},null,{content:"Properties",has_submenu:!0,callback:e.onShowMenuNodeProperties},null,{content:"Title",callback:e.onShowTitleEditor},{content:"Mode",has_submenu:!0,callback:e.onMenuNodeMode},{content:"Resize",callback:e.onResizeNode},{content:"Collapse",callback:e.onMenuNodeCollapse},{content:"Pin",callback:e.onMenuNodePin},{content:"Colors",has_submenu:!0,
|
||||
callback:e.onMenuNodeColors},{content:"Shapes",has_submenu:!0,callback:e.onMenuNodeShapes},null];if(a.getExtraMenuOptions){var c=a.getExtraMenuOptions(this);c&&(c.push(null),b=c.concat(b))}!1!==a.clonable&&b.push({content:"Clone",callback:e.onMenuNodeClone});!1!==a.removable&&b.push(null,{content:"Remove",callback:e.onMenuNodeRemove});a.onGetInputs&&(c=a.onGetInputs())&&c.length&&(b[0].disabled=!1);a.onGetOutputs&&(c=a.onGetOutputs())&&c.length&&(b[1].disabled=!1);if(a.graph&&a.graph.onGetNodeMenuOptions)a.graph.onGetNodeMenuOptions(b,
|
||||
a);return b};e.prototype.getGroupMenuOptions=function(a){return[{content:"Title",callback:e.onShowTitleEditor},{content:"Color",has_submenu:!0,callback:e.onMenuNodeColors},null,{content:"Remove",callback:e.onMenuNodeRemove}]};e.prototype.processContextMenu=function(a,b){var c=this,m=e.active_canvas.getCanvasWindow(),f=null,l={event:b,callback:function(b,f,l){if(b)if("Remove Slot"==b.content){var e=b.slot;e.input?a.removeInput(e.slot):e.output&&a.removeOutput(e.slot)}else if("Rename Slot"==b.content){var e=
|
||||
b.slot,d=c.createDialog("<span class='name'>Name</span><input type='text'/><button>OK</button>",f),m=d.querySelector("input");d.querySelector("button").addEventListener("click",function(b){if(m.value){if(b=e.input?a.getInputInfo(e.slot):a.getOutputInfo(e.slot))b.label=m.value;c.setDirty(!0)}d.close()})}},node:a},d=null;a&&(d=a.getSlotInPosition(b.canvasX,b.canvasY),e.active_node=a);d?(f=[],f.push(d.locked?"Cannot remove":{content:"Remove Slot",slot:d}),f.push({content:"Rename Slot",slot:d}),l.title=
|
||||
(d.input?d.input.type:d.output.type)||"*",d.input&&d.input.type==k.ACTION&&(l.title="Action"),d.output&&d.output.type==k.EVENT&&(l.title="Event")):a?f=this.getNodeMenuOptions(a):(f=this.graph.getGroupOnPos(b.canvasX,b.canvasY))?(l.node=f,f=this.getGroupMenuOptions(f)):f=this.getCanvasMenuOptions();f&&new k.ContextMenu(f,l,m)};this.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.roundRect=function(a,b,c,e,f,l){void 0===f&&(f=5);void 0===l&&(l=f);this.moveTo(a+f,b);this.lineTo(a+c-f,b);
|
||||
this.quadraticCurveTo(a+c,b,a+c,b+f);this.lineTo(a+c,b+e-l);this.quadraticCurveTo(a+c,b+e,a+c-l,b+e);this.lineTo(a+l,b+e);this.quadraticCurveTo(a,b+e,a,b+e-l);this.lineTo(a,b+f);this.quadraticCurveTo(a,b,a+f,b)});k.compareObjects=function(a,b){for(var c in a)if(a[c]!=b[c])return!1;return!0};k.distance=r;k.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")+")"};k.isInsideRectangle=
|
||||
q;k.growBounding=function(a,b,c){b<a[0]?a[0]=b:b>a[2]&&(a[2]=b);c<a[1]?a[1]=c:c>a[3]&&(a[3]=c)};k.isInsideBounding=function(a,b){return a[0]<b[0][0]||a[1]<b[0][1]||a[0]>b[1][0]||a[1]>b[1][1]?!1:!0};k.overlapBounding=s;k.hex2num=function(a){"#"==a.charAt(0)&&(a=a.slice(1));a=a.toUpperCase();for(var b=Array(3),c=0,e,f,l=0;6>l;l+=2)e="0123456789ABCDEF".indexOf(a.charAt(l)),f="0123456789ABCDEF".indexOf(a.charAt(l+1)),b[c]=16*e+f,c++;return b};k.num2hex=function(a){for(var b="#",c,e,f=0;3>f;f++)c=a[f]/
|
||||
16,e=a[f]%16,b+="0123456789ABCDEF".charAt(c)+"0123456789ABCDEF".charAt(e);return b};u.prototype.addItem=function(a,b,c){function e(a){var b=this.value;b&&b.has_submenu&&f.call(this,a)}function f(a){var b=this.value,f=!0;l.current_submenu&&l.current_submenu.close(a);if(c.callback){var e=c.callback.call(this,b,c,a,l,c.node);!0===e&&(f=!1)}if(b&&(b.callback&&!c.ignore_item_callbacks&&!0!==b.disabled&&(e=b.callback.call(this,b,c,a,l,c.node),!0===e&&(f=!1)),b.submenu)){if(!b.submenu.options)throw"ContextMenu submenu needs options";
|
||||
new l.constructor(b.submenu.options,{callback:b.submenu.callback,event:a,parentMenu:l,ignore_item_callbacks:b.submenu.ignore_item_callbacks,title:b.submenu.title,autoopen:c.autoopen});f=!1}f&&!l.lock&&l.close()}var l=this;c=c||{};var d=document.createElement("div");d.className="litemenu-entry submenu";var m=!1;if(null===b)d.classList.add("separator");else{d.innerHTML=b&&b.title?b.title:a;if(d.value=b)b.disabled&&(m=!0,d.classList.add("disabled")),(b.submenu||b.has_submenu)&&d.classList.add("has_submenu");
|
||||
"function"==typeof b?(d.dataset.value=a,d.onclick_callback=b):d.dataset.value=b;b.className&&(d.className+=" "+b.className)}this.root.appendChild(d);m||d.addEventListener("click",f);c.autoopen&&d.addEventListener("mouseenter",e);return d};u.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&&!u.isCursorOverElement(a,this.parentMenu.root)&&
|
||||
u.trigger(this.parentMenu.root,"mouseleave",a));this.current_submenu&&this.current_submenu.close(a,!0)};u.trigger=function(a,b,c,e){var f=document.createEvent("CustomEvent");f.initCustomEvent(b,!0,!0,c);f.srcElement=e;a.dispatchEvent?a.dispatchEvent(f):a.__events&&a.__events.dispatchEvent(f);return f};u.prototype.getTopMenu=function(){return this.options.parentMenu?this.options.parentMenu.getTopMenu():this};u.prototype.getFirstEvent=function(){return this.options.parentMenu?this.options.parentMenu.getFirstEvent():
|
||||
this.options.event};u.isCursorOverElement=function(a,b){var c=a.pageX,e=a.pageY,f=b.getBoundingClientRect();return f?e>f.top&&e<f.top+f.height&&c>f.left&&c<f.left+f.width?!0:!1:!1};k.ContextMenu=u;k.closeAllContextMenus=function(a){a=a||window;a=a.document.querySelectorAll(".litecontextmenu");if(a.length){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);for(c in b)b[c].close?b[c].close():b[c].parentNode&&b[c].parentNode.removeChild(b[c])}};k.extendClass=function(a,b){for(var c in b)a.hasOwnProperty(c)||
|
||||
(a[c]=b[c]);if(b.prototype)for(c in b.prototype)b.prototype.hasOwnProperty(c)&&!a.prototype.hasOwnProperty(c)&&(b.prototype.__lookupGetter__(c)?a.prototype.__defineGetter__(c,b.prototype.__lookupGetter__(c)):a.prototype[c]=b.prototype[c],b.prototype.__lookupSetter__(c)&&a.prototype.__defineSetter__(c,b.prototype.__lookupSetter__(c)))};k.getParameterNames=function(a){return(a+"").replace(/[/][/].*$/mg,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1)[0].replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,
|
||||
"").split(",").filter(Boolean)};Math.clamp=function(a,b,c){return b>a?b:c<a?c:a};"undefined"==typeof window||window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)})})(this);"undefined"!=typeof exports&&(exports.LiteGraph=this.LiteGraph);
|
||||
b.slot,d=c.createDialog("<span class='name'>Name</span><input type='text'/><button>OK</button>",f),m=d.querySelector("input");d.querySelector("button").addEventListener("click",function(b){if(m.value){if(b=e.input?a.getInputInfo(e.slot):a.getOutputInfo(e.slot))b.label=m.value;c.setDirty(!0)}d.close()})}},extra:a},d=null;a&&(d=a.getSlotInPosition(b.canvasX,b.canvasY),e.active_node=a);d?(f=[],f.push(d.locked?"Cannot remove":{content:"Remove Slot",slot:d}),f.push({content:"Rename Slot",slot:d}),l.title=
|
||||
(d.input?d.input.type:d.output.type)||"*",d.input&&d.input.type==k.ACTION&&(l.title="Action"),d.output&&d.output.type==k.EVENT&&(l.title="Event")):a?f=this.getNodeMenuOptions(a):(f=this.getCanvasMenuOptions(),(d=this.graph.getGroupOnPos(b.canvasX,b.canvasY))&&f.push({content:"Group",has_submenu:!0,submenu:{title:"Group",extra:d,options:this.getGroupMenuOptions(d)}}));f&&new k.ContextMenu(f,l,m)};this.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.roundRect=function(a,b,c,e,f,l){void 0===
|
||||
f&&(f=5);void 0===l&&(l=f);this.moveTo(a+f,b);this.lineTo(a+c-f,b);this.quadraticCurveTo(a+c,b,a+c,b+f);this.lineTo(a+c,b+e-l);this.quadraticCurveTo(a+c,b+e,a+c-l,b+e);this.lineTo(a+l,b+e);this.quadraticCurveTo(a,b+e,a,b+e-l);this.lineTo(a,b+f);this.quadraticCurveTo(a,b,a+f,b)});k.compareObjects=function(a,b){for(var c in a)if(a[c]!=b[c])return!1;return!0};k.distance=r;k.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")+")"};k.isInsideRectangle=q;k.growBounding=function(a,b,c){b<a[0]?a[0]=b:b>a[2]&&(a[2]=b);c<a[1]?a[1]=c:c>a[3]&&(a[3]=c)};k.isInsideBounding=function(a,b){return a[0]<b[0][0]||a[1]<b[0][1]||a[0]>b[1][0]||a[1]>b[1][1]?!1:!0};k.overlapBounding=s;k.hex2num=function(a){"#"==a.charAt(0)&&(a=a.slice(1));a=a.toUpperCase();for(var b=Array(3),c=0,e,f,l=0;6>l;l+=2)e="0123456789ABCDEF".indexOf(a.charAt(l)),f="0123456789ABCDEF".indexOf(a.charAt(l+1)),b[c]=16*e+f,c++;return b};
|
||||
k.num2hex=function(a){for(var b="#",c,e,f=0;3>f;f++)c=a[f]/16,e=a[f]%16,b+="0123456789ABCDEF".charAt(c)+"0123456789ABCDEF".charAt(e);return b};u.prototype.addItem=function(a,b,c){function e(a){var b=this.value;b&&b.has_submenu&&f.call(this,a)}function f(a){var b=this.value,f=!0;l.current_submenu&&l.current_submenu.close(a);if(c.callback){var e=c.callback.call(this,b,c,a,l,c.node);!0===e&&(f=!1)}if(b&&(b.callback&&!c.ignore_item_callbacks&&!0!==b.disabled&&(e=b.callback.call(this,b,c,a,l,c.extra),
|
||||
!0===e&&(f=!1)),b.submenu)){if(!b.submenu.options)throw"ContextMenu submenu needs options";new l.constructor(b.submenu.options,{callback:b.submenu.callback,event:a,parentMenu:l,ignore_item_callbacks:b.submenu.ignore_item_callbacks,title:b.submenu.title,extra:b.submenu.extra,autoopen:c.autoopen});f=!1}f&&!l.lock&&l.close()}var l=this;c=c||{};var d=document.createElement("div");d.className="litemenu-entry submenu";var m=!1;if(null===b)d.classList.add("separator");else{d.innerHTML=b&&b.title?b.title:
|
||||
a;if(d.value=b)b.disabled&&(m=!0,d.classList.add("disabled")),(b.submenu||b.has_submenu)&&d.classList.add("has_submenu");"function"==typeof b?(d.dataset.value=a,d.onclick_callback=b):d.dataset.value=b;b.className&&(d.className+=" "+b.className)}this.root.appendChild(d);m||d.addEventListener("click",f);c.autoopen&&d.addEventListener("mouseenter",e);return d};u.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&&!u.isCursorOverElement(a,this.parentMenu.root)&&u.trigger(this.parentMenu.root,"mouseleave",a));this.current_submenu&&this.current_submenu.close(a,!0)};u.trigger=function(a,b,c,e){var f=document.createEvent("CustomEvent");f.initCustomEvent(b,!0,!0,c);f.srcElement=e;a.dispatchEvent?a.dispatchEvent(f):a.__events&&a.__events.dispatchEvent(f);return f};u.prototype.getTopMenu=function(){return this.options.parentMenu?this.options.parentMenu.getTopMenu():
|
||||
this};u.prototype.getFirstEvent=function(){return this.options.parentMenu?this.options.parentMenu.getFirstEvent():this.options.event};u.isCursorOverElement=function(a,b){var c=a.pageX,e=a.pageY,f=b.getBoundingClientRect();return f?e>f.top&&e<f.top+f.height&&c>f.left&&c<f.left+f.width?!0:!1:!1};k.ContextMenu=u;k.closeAllContextMenus=function(a){a=a||window;a=a.document.querySelectorAll(".litecontextmenu");if(a.length){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);for(c in b)b[c].close?b[c].close():
|
||||
b[c].parentNode&&b[c].parentNode.removeChild(b[c])}};k.extendClass=function(a,b){for(var c in b)a.hasOwnProperty(c)||(a[c]=b[c]);if(b.prototype)for(c in b.prototype)b.prototype.hasOwnProperty(c)&&!a.prototype.hasOwnProperty(c)&&(b.prototype.__lookupGetter__(c)?a.prototype.__defineGetter__(c,b.prototype.__lookupGetter__(c)):a.prototype[c]=b.prototype[c],b.prototype.__lookupSetter__(c)&&a.prototype.__defineSetter__(c,b.prototype.__lookupSetter__(c)))};k.getParameterNames=function(a){return(a+"").replace(/[/][/].*$/mg,
|
||||
"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1)[0].replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean)};Math.clamp=function(a,b,c){return b>a?b:c<a?c:a};"undefined"==typeof window||window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)})})(this);"undefined"!=typeof exports&&(exports.LiteGraph=this.LiteGraph);
|
||||
(function(t){function g(){this.addOutput("in ms","number");this.addOutput("in sec","number")}function d(){var c=this;this.size=[120,80];this.subgraph=new LGraph;this.subgraph._subgraph_node=this;this.subgraph._is_subgraph=!0;this.subgraph.onGlobalInputAdded=this.onSubgraphNewGlobalInput.bind(this);this.subgraph.onGlobalInputRenamed=this.onSubgraphRenamedGlobalInput.bind(this);this.subgraph.onGlobalInputTypeChanged=this.onSubgraphTypeChangeGlobalInput.bind(this);this.subgraph.onGlobalOutputAdded=this.onSubgraphNewGlobalOutput.bind(this);
|
||||
this.subgraph.onGlobalOutputRenamed=this.onSubgraphRenamedGlobalOutput.bind(this);this.subgraph.onGlobalOutputTypeChanged=this.onSubgraphTypeChangeGlobalOutput.bind(this);this.addWidget("button","Open Graph",null,function(a,b){b.openSubgraph(c.subgraph)});this.bgcolor="#353"}function p(){var c="input_"+(1E3*Math.random()).toFixed();this.addOutput(c,null);this.properties={name:c,type:null};var a=this;Object.defineProperty(this.properties,"name",{get:function(){return c},set:function(b){if(""!=b){var e=
|
||||
a.getOutputInfo(0);e.name!=b&&(e.name=b,a.graph&&a.graph.renameGlobalInput(c,b),c=b)}},enumerable:!0});Object.defineProperty(this.properties,"type",{get:function(){return a.outputs[0].type},set:function(b){a.outputs[0].type=b;a.graph&&a.graph.changeGlobalInputType(c,a.outputs[0].type)},enumerable:!0})}function e(){var c="output_"+(1E3*Math.random()).toFixed();this.addInput(c,null);this._value=null;this.properties={name:c,type:null};var a=this;Object.defineProperty(this.properties,"name",{get:function(){return c},
|
||||
|
||||
1
demo/examples/features.json
Normal file
1
demo/examples/features.json
Normal file
@@ -0,0 +1 @@
|
||||
{"last_node_id":14,"last_link_id":14,"nodes":[{"id":5,"type":"math/operation","pos":[432,116],"size":{"0":140,"1":34},"flags":{},"mode":0,"inputs":[{"name":"A","type":"number","link":null},{"name":"B","type":"number","link":null}],"outputs":[{"name":"=","type":"number","links":[2]}],"properties":{"A":1,"B":1,"OP":"+"},"color":"#233","bgcolor":"#355","shape":2},{"id":9,"type":"features/slots","pos":[846,473],"size":[100,40],"flags":{"horizontal":true},"mode":0,"inputs":[{"name":"C","type":"number","link":6}],"outputs":[{"name":"A","type":"number","links":null},{"name":"B","type":"number","links":null}],"properties":{}},{"id":10,"type":"widget/knob","pos":[456,189],"size":[54,74],"flags":{},"mode":0,"outputs":[{"name":"","type":"number","links":[9]}],"properties":{"min":0,"max":1,"value":0.5,"wcolor":"#7AF","size":50}},{"id":4,"type":"math/operation","pos":[634,150],"size":{"0":140,"1":34},"flags":{},"mode":0,"inputs":[{"name":"A","type":"number","link":2},{"name":"B","type":"number","link":9}],"outputs":[{"name":"=","type":"number","links":[1]}],"properties":{"A":1,"B":1,"OP":"+"},"shape":2},{"id":2,"type":"features/shape","pos":[850,128],"size":{"0":140,"1":39},"flags":{},"mode":0,"inputs":[{"name":"","type":"number","link":1}],"outputs":[{"name":"","type":"number","links":null}],"properties":{}},{"id":12,"type":"input/gamepad","pos":[594,223],"size":{"0":140,"1":49},"flags":{},"mode":0,"outputs":[{"name":"left_x_axis","type":"number","links":null},{"name":"left_y_axis","type":"number","links":null},{"name":"button_pressed","type":-1,"links":[12]}],"properties":{"gamepad_index":0,"threshold":0.1}},{"id":14,"type":"features/widgets","pos":[450,352],"size":{"0":186,"1":117},"flags":{},"mode":0,"outputs":[{"name":"","type":"number","links":[13]}],"properties":{}},{"id":7,"type":"features/slots","pos":[756,374],"size":[100,40],"flags":{"horizontal":true},"mode":0,"inputs":[{"name":"C","type":"number","link":13}],"outputs":[{"name":"A","type":"number","links":[10]},{"name":"B","type":"number","links":[6]}],"properties":{}},{"id":8,"type":"features/slots","pos":[671,475],"size":[100,40],"flags":{"horizontal":true},"mode":0,"inputs":[{"name":"C","type":"number","link":10}],"outputs":[{"name":"A","type":"number","links":null},{"name":"B","type":"number","links":null}],"properties":{}},{"id":13,"type":"events/log","pos":[863,209],"size":{"0":140,"1":19},"flags":{},"mode":0,"inputs":[{"name":"event","type":-1,"link":12}],"properties":{}}],"links":[[1,4,0,2,0,"number"],[2,5,0,4,0,"number"],[6,7,1,9,0,"number"],[9,10,0,4,1,"number"],[10,7,0,8,0,"number"],[12,12,2,13,0,-1],[13,14,0,7,0,"number"]],"groups":[{"title":"Group","bounding":[417,292,564,255],"color":"#3f789e"}],"config":{}}
|
||||
@@ -43,8 +43,10 @@ function addDemo( name, url )
|
||||
}
|
||||
|
||||
//some examples
|
||||
addDemo("Features", "examples/features.json");
|
||||
addDemo("Audio", "examples/audio.json");
|
||||
addDemo("Audio Delay", "examples/audio_delay.json");
|
||||
addDemo("Audio Reverb", "examples/audio_reverb.json");
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user