k8sClusters; k8sRepos
[osm/LW-UI.git] / static / src / descriptorhandler / composer.js
index d56e22f..aef680f 100644 (file)
@@ -18,7 +18,7 @@
 var graph_editor = new TCD3.ModelGraphEditor();
 
 var type_view = {
-    "nsd": ["vnf", "ns_vl"],
+    "nsd": ["vnf", "ns_vl", "ns_cp"],
     "vnfd": ["vdu", "cp", "vnf_vl", "int_cp"]
 };
 
@@ -118,7 +118,7 @@ function initDropOnGraph() {
 
         var nodetype = $('#' + elemet_id).attr('type-name');
         var random_name = nodetype + "_" + generateUID();
-
+        console.log(nodetype)
         var node_information = {
             'id': random_name,
             'info': {
@@ -134,21 +134,23 @@ function initDropOnGraph() {
             'x': e.layerX,
             'y': e.layerY
         };
-        if (nodetype === 'ns_vl') {
 
-            graph_editor.addNode(node_information, function () {
-                console.log("OK")
-            }, function (error) {
-                showAlert(error)
-            })
-        } else if (nodetype === 'vnf') {
+        if (nodetype === 'vnf') {
             node_information['id'] = $('#' + elemet_id).attr('desc_id');
-            graph_editor.addNode(node_information, function () {
-                console.log("OK")
-            }, function (error) {
-                showAlert(error)
-            })
         }
+
+        graph_editor.addNode(node_information, function () {
+            console.log("OK")
+        }, function (result) {
+            var data = result.responseJSON;
+            var title = "Error " + (data && data.code ? data.code : 'unknown');
+                var message = data && data.detail ? data.detail : 'No detail available.';
+                bootbox.alert({
+                    title: title,
+                    message: message
+                });
+        })
+
     };
 
     dropZone.ondragover = function (ev) {
@@ -197,6 +199,11 @@ function refreshElementInfo(event, element) {
                 vduDetails(element.info.osm);
                 break;
             case 'int_cp':
+                intcpDetails(element.info.osm);
+                break;
+            case 'ns_cp':
+                nscpDetails(element.info.osm);
+                break;
             case 'cp':
                 cpDetails(element.info.osm);
                 break;
@@ -259,9 +266,9 @@ function updatePalette(view) {
         var nodes_properties = osm_gui_properties['nodes'];
         for (var n in nodes) {
             var node = nodes[n];
-            if (nodes_properties[node]) {
+            if (nodes_properties[node] && (nodes_properties[node].draggable != false)) {
                 palette_template += '<div id="drag_' + n + '" class="node ui-draggable"' +
-                    'type-name="' + n + '" draggable="true" ondragstart="nodeDragStart(event)">' +
+                    'type-name="' + node + '" draggable="true" ondragstart="nodeDragStart(event)">' +
                     '<div class="icon" style="background-color:' + nodes_properties[node].color + '"></div>' +
                     '<div class="name">' + nodes_properties[node].name + '</div></div>';
             }
@@ -289,7 +296,13 @@ function updatePalette(view) {
                 palette.append(palette_template)
             },
             error: function (result) {
-                showAlert(result);
+                var data = result.responseJSON;
+                var title = "Error " + (data && data.code ? data.code : 'unknown');
+                var message = data && data.detail ? data.detail : 'No detail available.';
+                bootbox.alert({
+                    title: title,
+                    message: message
+                });
             }
         });
     }
@@ -315,6 +328,15 @@ function vduDetails(vdur) {
     side.append(vdur_template)
 }
 
+function intcpDetails(cp) {
+    var side = $('#side_form');
+    var cp_template = getMainSection('Int. Connection Point');
+
+    cp_template += getChildrenTable(cp, true);
+    side.empty();
+    side.append(cp_template);
+}
+
 function cpDetails(cp) {
     var side = $('#side_form');
     var cp_template = getMainSectionWithSubmitButton('Connection Point');
@@ -324,6 +346,15 @@ function cpDetails(cp) {
     side.append(cp_template);
 }
 
+function nscpDetails(cp) {
+    var side = $('#side_form');
+    var cp_template = getMainSection('Connection Point');
+
+    cp_template += getChildrenTable(cp, true);
+    side.empty();
+    side.append(cp_template);
+}
+
 function vlDetails(vl) {
     var side = $('#side_form');
     var vl_template = getMainSectionWithSubmitButton('Virtual Link');