composer: intCp not selectable
[osm/LW-UI.git] / static / src / descriptorhandler / composer.js
index 4b8bfd5..8f5e870 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"]
 };
 
@@ -141,8 +141,14 @@ function initDropOnGraph() {
 
         graph_editor.addNode(node_information, function () {
             console.log("OK")
-        }, function (error) {
-            showAlert(error)
+        }, 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
+                });
         })
 
     };
@@ -193,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;
@@ -255,7 +266,7 @@ 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="' + node + '" draggable="true" ondragstart="nodeDragStart(event)">' +
                     '<div class="icon" style="background-color:' + nodes_properties[node].color + '"></div>' +
@@ -285,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
+                });
             }
         });
     }
@@ -311,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');
@@ -320,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');