fixed bug in copy

This commit is contained in:
tamat
2019-10-29 10:40:33 +01:00
parent ea6c909894
commit 775b714861
5 changed files with 614 additions and 599 deletions

View File

@@ -1881,6 +1881,11 @@
var links = [];
for (var i = 0; i < data.links.length; ++i) {
var link_data = data.links[i];
if(!link_data) //weird bug
{
console.warn("serialized graph link data contains errors, skipping.");
continue;
}
var link = new LLink();
link.configure(link_data);
links[link.id] = link;
@@ -2129,7 +2134,7 @@
for (var k in info.properties) {
this.properties[k] = info.properties[k];
if (this.onPropertyChanged) {
this.onPropertyChanged(k, info.properties[k]);
this.onPropertyChanged( k, info.properties[k] );
}
}
continue;
@@ -2193,13 +2198,22 @@
}
}
if (info.widgets_values && this.widgets) {
for (var i = 0; i < info.widgets_values.length; ++i) {
if (this.widgets[i]) {
this.widgets[i].value = info.widgets_values[i];
}
}
}
if( this.widgets )
{
for (var i = 0; i < this.widgets.length; ++i)
{
var w = this.widgets[i];
if(w.options && w.options.property && this.properties[ w.options.property ])
w.value = JSON.parse( JSON.stringify( this.properties[ w.options.property ] ) );
}
if (info.widgets_values) {
for (var i = 0; i < info.widgets_values.length; ++i) {
if (this.widgets[i]) {
this.widgets[i].value = info.widgets_values[i];
}
}
}
}
if (this.onConfigure) {
this.onConfigure(info);
@@ -5914,7 +5928,7 @@ LGraphNode.prototype.executeAction = function(action)
} //not selected
clipboard_info.links.push([
target_node._relative_id,
j,
link_info.origin_slot, //j,
node._relative_id,
link_info.target_slot
]);
@@ -9274,56 +9288,49 @@ LGraphNode.prototype.executeAction = function(action)
} else {
var c = 0;
str = str.toLowerCase();
var filter = graphcanvas.filter || graphcanvas.graph.filter;
//extras
for (var i in LiteGraph.searchbox_extras) {
var extra = LiteGraph.searchbox_extras[i];
if (extra.desc.toLowerCase().indexOf(str) === -1) {
continue;
}
addResult(extra.desc, "searchbox_extra");
if (
LGraphCanvas.search_limit !== -1 &&
c++ > LGraphCanvas.search_limit
) {
var ctor = LiteGraph.registered_node_types[ extra.type ];
if( ctor && ctor.filter && ctor.filter != filter )
continue;
addResult( extra.desc, "searchbox_extra" );
if ( LGraphCanvas.search_limit !== -1 && c++ > LGraphCanvas.search_limit ) {
break;
}
}
var filter = graphcanvas.graph.filter;
if (Array.prototype.filter) {
//filter supported
//types
var keys = Object.keys(LiteGraph.registered_node_types);
var filtered = keys.filter(function(item) {
if(filter && item.filter != filter )
return -1;
return item.toLowerCase().indexOf(str) !== -1;
});
for (var i = 0; i < filtered.length; i++) {
addResult(filtered[i]);
if (
LGraphCanvas.search_limit !== -1 &&
c++ > LGraphCanvas.search_limit
) {
break;
}
}
var filtered = null;
if (Array.prototype.filter) { //filter supported
var keys = Object.keys( LiteGraph.registered_node_types ); //types
var filtered = keys.filter( inner_test_filter );
} else {
filtered = [];
for (var i in LiteGraph.registered_node_types) {
if(filter && LiteGraph.registered_node_types[i].filter != filter )
continue;
if (i.indexOf(str) != -1) {
addResult(i);
if (
LGraphCanvas.search_limit !== -1 &&
c++ > LGraphCanvas.search_limit
) {
break;
}
}
if( inner_test_filter(i) )
filtered.push(i);
}
}
for (var i = 0; i < filtered.length; i++) {
addResult(filtered[i]);
if ( LGraphCanvas.search_limit !== -1 && c++ > LGraphCanvas.search_limit ) {
break;
}
}
function inner_test_filter( type )
{
var ctor = LiteGraph.registered_node_types[ type ];
if(filter && ctor.filter != filter )
return false;
return type.toLowerCase().indexOf(str) !== -1;
}
}
function addResult(type, className) {
@@ -13378,7 +13385,7 @@ if (typeof exports != "undefined") {
MathClamp.title = "Clamp";
MathClamp.desc = "Clamp number between min and max";
MathClamp.filter = "shader";
//MathClamp.filter = "shader";
MathClamp.prototype.onExecute = function() {
var v = this.getInputData(0);

1005
build/litegraph.min.js vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "litegraph.js",
"version": "0.7.0",
"version": "0.7.1",
"description": "A graph node editor similar to PD or UDK Blueprints, it works in a HTML5 Canvas and allow to exported graphs to be included in applications.",
"main": "build/litegraph.js",
"types": "src/litegraph.d.ts",
@@ -33,13 +33,13 @@
},
"homepage": "https://github.com/kriffe/litegraph.js#readme",
"devDependencies": {
"express": "^4.16.4",
"express": "^4.17.1",
"google-closure-compiler": "^20171112.0.0",
"grunt": "^1.0.3",
"grunt": "^1.0.4",
"grunt-cli": "^1.2.0",
"grunt-closure-tools": "^1.0.0",
"grunt-contrib-concat": "^1.0.1",
"nodemon": "^1.18.9",
"rimraf": "^2.6.2"
"nodemon": "^1.19.4",
"rimraf": "^2.7.1"
}
}

View File

@@ -1879,6 +1879,11 @@
var links = [];
for (var i = 0; i < data.links.length; ++i) {
var link_data = data.links[i];
if(!link_data) //weird bug
{
console.warn("serialized graph link data contains errors, skipping.");
continue;
}
var link = new LLink();
link.configure(link_data);
links[link.id] = link;
@@ -2127,7 +2132,7 @@
for (var k in info.properties) {
this.properties[k] = info.properties[k];
if (this.onPropertyChanged) {
this.onPropertyChanged(k, info.properties[k]);
this.onPropertyChanged( k, info.properties[k] );
}
}
continue;
@@ -2191,13 +2196,22 @@
}
}
if (info.widgets_values && this.widgets) {
for (var i = 0; i < info.widgets_values.length; ++i) {
if (this.widgets[i]) {
this.widgets[i].value = info.widgets_values[i];
}
}
}
if( this.widgets )
{
for (var i = 0; i < this.widgets.length; ++i)
{
var w = this.widgets[i];
if(w.options && w.options.property && this.properties[ w.options.property ])
w.value = JSON.parse( JSON.stringify( this.properties[ w.options.property ] ) );
}
if (info.widgets_values) {
for (var i = 0; i < info.widgets_values.length; ++i) {
if (this.widgets[i]) {
this.widgets[i].value = info.widgets_values[i];
}
}
}
}
if (this.onConfigure) {
this.onConfigure(info);
@@ -5912,7 +5926,7 @@ LGraphNode.prototype.executeAction = function(action)
} //not selected
clipboard_info.links.push([
target_node._relative_id,
j,
link_info.origin_slot, //j,
node._relative_id,
link_info.target_slot
]);
@@ -9272,56 +9286,49 @@ LGraphNode.prototype.executeAction = function(action)
} else {
var c = 0;
str = str.toLowerCase();
var filter = graphcanvas.filter || graphcanvas.graph.filter;
//extras
for (var i in LiteGraph.searchbox_extras) {
var extra = LiteGraph.searchbox_extras[i];
if (extra.desc.toLowerCase().indexOf(str) === -1) {
continue;
}
addResult(extra.desc, "searchbox_extra");
if (
LGraphCanvas.search_limit !== -1 &&
c++ > LGraphCanvas.search_limit
) {
var ctor = LiteGraph.registered_node_types[ extra.type ];
if( ctor && ctor.filter && ctor.filter != filter )
continue;
addResult( extra.desc, "searchbox_extra" );
if ( LGraphCanvas.search_limit !== -1 && c++ > LGraphCanvas.search_limit ) {
break;
}
}
var filter = graphcanvas.graph.filter;
if (Array.prototype.filter) {
//filter supported
//types
var keys = Object.keys(LiteGraph.registered_node_types);
var filtered = keys.filter(function(item) {
if(filter && item.filter != filter )
return -1;
return item.toLowerCase().indexOf(str) !== -1;
});
for (var i = 0; i < filtered.length; i++) {
addResult(filtered[i]);
if (
LGraphCanvas.search_limit !== -1 &&
c++ > LGraphCanvas.search_limit
) {
break;
}
}
var filtered = null;
if (Array.prototype.filter) { //filter supported
var keys = Object.keys( LiteGraph.registered_node_types ); //types
var filtered = keys.filter( inner_test_filter );
} else {
filtered = [];
for (var i in LiteGraph.registered_node_types) {
if(filter && LiteGraph.registered_node_types[i].filter != filter )
continue;
if (i.indexOf(str) != -1) {
addResult(i);
if (
LGraphCanvas.search_limit !== -1 &&
c++ > LGraphCanvas.search_limit
) {
break;
}
}
if( inner_test_filter(i) )
filtered.push(i);
}
}
for (var i = 0; i < filtered.length; i++) {
addResult(filtered[i]);
if ( LGraphCanvas.search_limit !== -1 && c++ > LGraphCanvas.search_limit ) {
break;
}
}
function inner_test_filter( type )
{
var ctor = LiteGraph.registered_node_types[ type ];
if(filter && ctor.filter != filter )
return false;
return type.toLowerCase().indexOf(str) !== -1;
}
}
function addResult(type, className) {

View File

@@ -319,7 +319,7 @@
MathClamp.title = "Clamp";
MathClamp.desc = "Clamp number between min and max";
MathClamp.filter = "shader";
//MathClamp.filter = "shader";
MathClamp.prototype.onExecute = function() {
var v = this.getInputData(0);