|
1881 | 1881 | var links = [];
|
1882 | 1882 | for (var i = 0; i < data.links.length; ++i) {
|
1883 | 1883 | 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 | + } |
1884 | 1889 | var link = new LLink();
|
1885 | 1890 | link.configure(link_data);
|
1886 | 1891 | links[link.id] = link;
|
|
2129 | 2134 | for (var k in info.properties) {
|
2130 | 2135 | this.properties[k] = info.properties[k];
|
2131 | 2136 | if (this.onPropertyChanged) {
|
2132 |
| - this.onPropertyChanged(k, info.properties[k]); |
| 2137 | + this.onPropertyChanged( k, info.properties[k] ); |
2133 | 2138 | }
|
2134 | 2139 | }
|
2135 | 2140 | continue;
|
|
2193 | 2198 | }
|
2194 | 2199 | }
|
2195 | 2200 |
|
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 | + } |
2203 | 2217 |
|
2204 | 2218 | if (this.onConfigure) {
|
2205 | 2219 | this.onConfigure(info);
|
@@ -5914,7 +5928,7 @@ LGraphNode.prototype.executeAction = function(action)
|
5914 | 5928 | } //not selected
|
5915 | 5929 | clipboard_info.links.push([
|
5916 | 5930 | target_node._relative_id,
|
5917 |
| - j, |
| 5931 | + link_info.origin_slot, //j, |
5918 | 5932 | node._relative_id,
|
5919 | 5933 | link_info.target_slot
|
5920 | 5934 | ]);
|
@@ -9274,56 +9288,49 @@ LGraphNode.prototype.executeAction = function(action)
|
9274 | 9288 | } else {
|
9275 | 9289 | var c = 0;
|
9276 | 9290 | str = str.toLowerCase();
|
| 9291 | + var filter = graphcanvas.filter || graphcanvas.graph.filter; |
| 9292 | + |
9277 | 9293 | //extras
|
9278 | 9294 | for (var i in LiteGraph.searchbox_extras) {
|
9279 | 9295 | var extra = LiteGraph.searchbox_extras[i];
|
9280 | 9296 | if (extra.desc.toLowerCase().indexOf(str) === -1) {
|
9281 | 9297 | continue;
|
9282 | 9298 | }
|
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 ) { |
9288 | 9304 | break;
|
9289 | 9305 | }
|
9290 | 9306 | }
|
9291 | 9307 |
|
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 ); |
9312 | 9312 | } else {
|
| 9313 | + filtered = []; |
9313 | 9314 | 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); |
9325 | 9317 | }
|
9326 | 9318 | }
|
| 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 | + } |
9327 | 9334 | }
|
9328 | 9335 |
|
9329 | 9336 | function addResult(type, className) {
|
@@ -13378,7 +13385,7 @@ if (typeof exports != "undefined") {
|
13378 | 13385 |
|
13379 | 13386 | MathClamp.title = "Clamp";
|
13380 | 13387 | MathClamp.desc = "Clamp number between min and max";
|
13381 |
| - MathClamp.filter = "shader"; |
| 13388 | + //MathClamp.filter = "shader"; |
13382 | 13389 |
|
13383 | 13390 | MathClamp.prototype.onExecute = function() {
|
13384 | 13391 | var v = this.getInputData(0);
|
|
0 commit comments