Make missing node type error popup non-permanent

Fixes Issue #113
This commit is contained in:
Dave C-J 2013-12-11 22:22:33 +00:00
parent ac884bfdf3
commit 4fff3ce448
2 changed files with 16 additions and 11 deletions

View File

@ -19,11 +19,15 @@ var RED = function() {
function save(force) {
if (RED.view.dirty()) {
if (!force) {
var invalid = false;
RED.nodes.eachNode(function(node) {
invalid = invalid || !node.valid;
if (node.type === "unknown") {
RED.notify('Unknown node type <b>'+node.name+'</b> found',"error");
invalid = true;
}
});
if (invalid) {
$( "#node-dialog-confirm-deploy" ).dialog( "open" );
@ -98,13 +102,13 @@ var RED = function() {
}
function showHelp() {
var dialog = $('#node-help');
//$("#node-help").draggable({
// handle: ".modal-header"
//});
//});
dialog.on('show',function() {
RED.keyboard.disable();
});
@ -114,8 +118,7 @@ var RED = function() {
dialog.modal();
}
$(function() {
RED.keyboard.add(/* ? */ 191,{shift:true},function(){showHelp();d3.event.preventDefault();});
loadNodes();
@ -124,4 +127,3 @@ var RED = function() {
return {
};
}();

View File

@ -114,6 +114,7 @@ RED.nodes = function() {
}
return {nodes:removedNodes,links:removedLinks};
}
function getAllFlowNodes(node) {
var visited = {};
visited[node.id] = true;
@ -148,7 +149,6 @@ RED.nodes = function() {
node.x = n.x;
node.y = n.y;
node.z = n.z;
node.wires = [];
for(var i=0;i<n.outputs;i++) {
node.wires.push([]);
@ -227,11 +227,14 @@ RED.nodes = function() {
// TODO: remove workspace in next release+1
if (n.type != "workspace" && n.type != "tab" && !getType(n.type)) {
// TODO: get this UI thing out of here! (see below as well)
RED.notify("<strong>Failed to import node</strong>: unrecognised type '"+n.type+"'<br/>DO NOT DEPLOY while in this state.<br/>Either, add missing types to Node-RED, restart and then reload page,<br/>or delete unknown ( "+n.type+" ), rewire as required, and then deploy.","error","true");
//return null; //
n.name = "( "+n.type+" )"; // DCJ - mod to make it load, but will lose all "self knowledge".
n.type = "unknown"; //
}
} //
if (n.type == "unknown") { //
RED.notify("<strong>Failed to import node</strong>: unrecognised type <b>'"+n.name+"'</b><br/>DO NOT DEPLOY while in this state.<br/>Either, add missing types to Node-RED, restart and then reload page,<br/>or delete unknown "+n.name+", rewire as required, and then deploy.","error");
} //
}
for (var i in newNodes) {
var n = newNodes[i];