Skip to content

Commit 775b714

Browse files
author
tamat
committed
fixed bug in copy
1 parent ea6c909 commit 775b714

File tree

5 files changed

+614
-599
lines changed

5 files changed

+614
-599
lines changed

build/litegraph.js

+53-46
Original file line numberDiff line numberDiff line change
@@ -1881,6 +1881,11 @@
18811881
var links = [];
18821882
for (var i = 0; i < data.links.length; ++i) {
18831883
var link_data = data.links[i];
1884+
if(!link_data) //weird bug
1885+
{
1886+
console.warn("serialized graph link data contains errors, skipping.");
1887+
continue;
1888+
}
18841889
var link = new LLink();
18851890
link.configure(link_data);
18861891
links[link.id] = link;
@@ -2129,7 +2134,7 @@
21292134
for (var k in info.properties) {
21302135
this.properties[k] = info.properties[k];
21312136
if (this.onPropertyChanged) {
2132-
this.onPropertyChanged(k, info.properties[k]);
2137+
this.onPropertyChanged( k, info.properties[k] );
21332138
}
21342139
}
21352140
continue;
@@ -2193,13 +2198,22 @@
21932198
}
21942199
}
21952200

2196-
if (info.widgets_values && this.widgets) {
2197-
for (var i = 0; i < info.widgets_values.length; ++i) {
2198-
if (this.widgets[i]) {
2199-
this.widgets[i].value = info.widgets_values[i];
2200-
}
2201-
}
2202-
}
2201+
if( this.widgets )
2202+
{
2203+
for (var i = 0; i < this.widgets.length; ++i)
2204+
{
2205+
var w = this.widgets[i];
2206+
if(w.options && w.options.property && this.properties[ w.options.property ])
2207+
w.value = JSON.parse( JSON.stringify( this.properties[ w.options.property ] ) );
2208+
}
2209+
if (info.widgets_values) {
2210+
for (var i = 0; i < info.widgets_values.length; ++i) {
2211+
if (this.widgets[i]) {
2212+
this.widgets[i].value = info.widgets_values[i];
2213+
}
2214+
}
2215+
}
2216+
}
22032217

22042218
if (this.onConfigure) {
22052219
this.onConfigure(info);
@@ -5914,7 +5928,7 @@ LGraphNode.prototype.executeAction = function(action)
59145928
} //not selected
59155929
clipboard_info.links.push([
59165930
target_node._relative_id,
5917-
j,
5931+
link_info.origin_slot, //j,
59185932
node._relative_id,
59195933
link_info.target_slot
59205934
]);
@@ -9274,56 +9288,49 @@ LGraphNode.prototype.executeAction = function(action)
92749288
} else {
92759289
var c = 0;
92769290
str = str.toLowerCase();
9291+
var filter = graphcanvas.filter || graphcanvas.graph.filter;
9292+
92779293
//extras
92789294
for (var i in LiteGraph.searchbox_extras) {
92799295
var extra = LiteGraph.searchbox_extras[i];
92809296
if (extra.desc.toLowerCase().indexOf(str) === -1) {
92819297
continue;
92829298
}
9283-
addResult(extra.desc, "searchbox_extra");
9284-
if (
9285-
LGraphCanvas.search_limit !== -1 &&
9286-
c++ > LGraphCanvas.search_limit
9287-
) {
9299+
var ctor = LiteGraph.registered_node_types[ extra.type ];
9300+
if( ctor && ctor.filter && ctor.filter != filter )
9301+
continue;
9302+
addResult( extra.desc, "searchbox_extra" );
9303+
if ( LGraphCanvas.search_limit !== -1 && c++ > LGraphCanvas.search_limit ) {
92889304
break;
92899305
}
92909306
}
92919307

9292-
var filter = graphcanvas.graph.filter;
9293-
9294-
if (Array.prototype.filter) {
9295-
//filter supported
9296-
//types
9297-
var keys = Object.keys(LiteGraph.registered_node_types);
9298-
var filtered = keys.filter(function(item) {
9299-
if(filter && item.filter != filter )
9300-
return -1;
9301-
return item.toLowerCase().indexOf(str) !== -1;
9302-
});
9303-
for (var i = 0; i < filtered.length; i++) {
9304-
addResult(filtered[i]);
9305-
if (
9306-
LGraphCanvas.search_limit !== -1 &&
9307-
c++ > LGraphCanvas.search_limit
9308-
) {
9309-
break;
9310-
}
9311-
}
9308+
var filtered = null;
9309+
if (Array.prototype.filter) { //filter supported
9310+
var keys = Object.keys( LiteGraph.registered_node_types ); //types
9311+
var filtered = keys.filter( inner_test_filter );
93129312
} else {
9313+
filtered = [];
93139314
for (var i in LiteGraph.registered_node_types) {
9314-
if(filter && LiteGraph.registered_node_types[i].filter != filter )
9315-
continue;
9316-
if (i.indexOf(str) != -1) {
9317-
addResult(i);
9318-
if (
9319-
LGraphCanvas.search_limit !== -1 &&
9320-
c++ > LGraphCanvas.search_limit
9321-
) {
9322-
break;
9323-
}
9324-
}
9315+
if( inner_test_filter(i) )
9316+
filtered.push(i);
93259317
}
93269318
}
9319+
9320+
for (var i = 0; i < filtered.length; i++) {
9321+
addResult(filtered[i]);
9322+
if ( LGraphCanvas.search_limit !== -1 && c++ > LGraphCanvas.search_limit ) {
9323+
break;
9324+
}
9325+
}
9326+
9327+
function inner_test_filter( type )
9328+
{
9329+
var ctor = LiteGraph.registered_node_types[ type ];
9330+
if(filter && ctor.filter != filter )
9331+
return false;
9332+
return type.toLowerCase().indexOf(str) !== -1;
9333+
}
93279334
}
93289335

93299336
function addResult(type, className) {
@@ -13378,7 +13385,7 @@ if (typeof exports != "undefined") {
1337813385

1337913386
MathClamp.title = "Clamp";
1338013387
MathClamp.desc = "Clamp number between min and max";
13381-
MathClamp.filter = "shader";
13388+
//MathClamp.filter = "shader";
1338213389

1338313390
MathClamp.prototype.onExecute = function() {
1338413391
var v = this.getInputData(0);

0 commit comments

Comments
 (0)