1 function getNodeToXml(){
3 var activeWorkspace=RED.view.getWorkspace();
4 RED.nodes.eachNode(function(n) {
5 if (n.z == activeWorkspace) {
10 var exportableNodeSet = RED.nodes.createExportableNodeSet(nodeSet);
11 console.dir(exportableNodeSet);
12 console.log(JSON.stringify(exportableNodeSet));
14 function getDgStartNode(nodeList){
15 for(var i=0;i<nodeList.length;i++){
16 if(nodeList[i].type == 'dgstart'){
23 for(var i=0;i<exportableNodeSet.length;i++){
24 if(exportableNodeSet[i].id == id){
25 return exportableNodeSet[i];
31 function getStartTag(node){
34 if(node != null && node.type != 'dgstart'){
36 var regex = /(<)([\w-]+)(.*)?/;
37 var match = regex.exec(xmlStr);
39 if(match[1] != undefined && match[2] != undefined){
43 console.log("startTag not found.");
49 var dgstartNode = getDgStartNode(exportableNodeSet);
54 printXml(dgstartNode);
57 function printXml(node){
60 if(node != null && node.type != 'dgstart'){
62 startTag = getStartTag(node);
64 var spacing = Array(level).join(" ");
65 xmlStr=xmlStr.replace(/\n/g,spacing);
75 //console.log("startTag:" + startTag);
78 if(node != null && node.wires != null && node.wires[0] != null && node.wires[0] != undefined && node.wires[0].length >0 ){
79 wiredNodes=node.wires[0];
80 //sort based on y position
81 wiredNodes.sort(function(a, b){
86 for(var k=0;wiredNodes != null && k<wiredNodes.length;k++){
88 var nd = getNode(wiredNodes[k]);
95 var spacing = Array(level).join(" ");
96 fullXmlStr += spacing + "</" + startTag + ">";
97 console.log(spacing + "</" + startTag + ">");
99 fullXmlStr += "</" + startTag + ">";
100 console.log("</" + startTag + ">");
107 console.log("endTag:" + startTag);
108 //console.log("xml:" + fullXmlStr);
110 console.log("fullXmlStr:" + fullXmlStr);
113 for (var link in allLinks){
114 var nd = RED.nodes.node(link);
116 var obj = RED.nodes.getNodeSet(RED.view.getWorkspace());
122 //console.dir(RED.nodes.getAllFlowNodes());
123 //console.dir(RED.nodes.getType());
125 console.dir(RED.nodes.nodes);
126 RED.nodes.nodes.forEach(function (node){
131 /*var map = {68: false, 69: false, 86: false};
132 $("#node-input-validate").keydown(function(e) {
133 if (e.keyCode in map) {
134 map[e.keyCode] = true;
135 if (map[68] && map[69] && map[86]) {
140 }).keyup(function(e) {
141 if (e.keyCode in map) {
142 map[e.keyCode] = false;