X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=static%2Fsrc%2Finstancehandler%2Finstance_list.js;h=88a1f577abc84fb30d80b6b6416759f83134eefb;hb=b58d5d8e177049ab63587f4329f282bc206352ec;hp=eed9d96333ca6b64fac15aaf74e5ab095b2c0410;hpb=99f922f1dc8623a444930a621ce3696802d619c0;p=osm%2FLW-UI.git diff --git a/static/src/instancehandler/instance_list.js b/static/src/instancehandler/instance_list.js index eed9d96..88a1f57 100644 --- a/static/src/instancehandler/instance_list.js +++ b/static/src/instancehandler/instance_list.js @@ -14,32 +14,86 @@ limitations under the License. */ -function performAction(url) { +function performAction(instance_name, instance_id) { + var url = '/instances/ns/'+instance_id+'/action'; $("#formActionNS").attr("action", url); $('#modal_instance_new_action').modal('show'); } -function exportMetricNs(url) { - console.log(url) +function exportMetricNs(instance_name, instance_id) { + var url = '/instances/ns/'+instance_id+'/monitoring/metric'; $("#formExportMetricNS").attr("action", url); $('#modal_instance_export_metric').modal('show'); } -function showInstanceTopology(url) { - window.location.href = url; -} - -function newAlarmNs(url) { +function newAlarmNs(instance_name, instance_id) { + var url = '/instances/ns/'+instance_id+'/monitoring/alarm'; $("#formAlarmNS").attr("action", url); $('#modal_instance_new_alarm').modal('show'); } -function deleteNs(url, force) { - bootbox.confirm("Are you sure want to delete?", function (result) { +function deleteNs(instance_name, instance_id, force) { + var url = '/instances/ns/'+instance_id+'/delete'; + bootbox.confirm("Are you sure want to delete " + instance_name + "?", function (result) { if (result) { - if(force) + if (force) url = url + '?force=true'; - location.href = url + var dialog = bootbox.dialog({ + message: '
Loading...
', + closeButton: true + }); + $.ajax({ + url: url, + type: 'GET', + dataType: "json", + contentType: "application/json;charset=utf-8", + success: function (result) { + if (result['error'] == true){ + dialog.modal('hide'); + bootbox.alert("An error occurred."); + } + else { + dialog.modal('hide'); + location.reload(); + } + }, + error: function (error) { + dialog.modal('hide'); + bootbox.alert("An error occurred."); + } + }); + } + }) +} + +function deletePDU(instance_name, instance_id) { + var url = '/instances/pdu/'+instance_id+'/delete'; + bootbox.confirm("Are you sure want to delete " + instance_name + "?", function (result) { + if (result) { + var dialog = bootbox.dialog({ + message: '
Loading...
', + closeButton: true + }); + $.ajax({ + url: url, + type: 'GET', + dataType: "json", + contentType: "application/json;charset=utf-8", + success: function (result) { + if (result['error'] == true){ + dialog.modal('hide'); + bootbox.alert("An error occurred."); + } + else { + dialog.modal('hide'); + location.reload(); + } + }, + error: function (error) { + dialog.modal('hide'); + bootbox.alert("An error occurred."); + } + }); } }) } @@ -65,7 +119,34 @@ var removeFormGroup = function (event) { $formGroup.remove(); }; -function showInstanceDetails(url_info) { +var addInterfaceGroup = function (event) { + event.preventDefault(); + + var $formGroup = $(this).closest('.interface-group'); + var $formGroupClone = $formGroup.clone(); + + $(this) + .toggleClass('btn-success btn-add btn-danger btn-remove') + .html('–'); + + $formGroupClone.find('input').val(''); + $formGroupClone.insertAfter($formGroup); + +}; + +var removeInterfaceGroup = function (event) { + event.preventDefault(); + var $formGroup = $(this).closest('.interface-group'); + $formGroup.remove(); +}; + +function showTopology(type, instance_id) { + var url = '/instances/'+type+'/'+instance_id+'/topology'; + window.location = url; +} + +function showInstanceDetails(type, instance_id) { + var url_info = '/instances/'+type+'/'+instance_id; var dialog = bootbox.dialog({ message: '
Loading...
', closeButton: true @@ -77,13 +158,13 @@ function showInstanceDetails(url_info) { contentType: "application/json;charset=utf-8", success: function (result) { - if(result['data'] !== undefined) { + if (result['data'] !== undefined) { editorJSON.setValue(JSON.stringify(result['data'], null, "\t")); editorJSON.setOption("autoRefresh", true); dialog.modal('hide'); $('#modal_show_instance').modal('show'); } - else{ + else { dialog.modal('hide'); bootbox.alert("An error occurred while retrieving the information."); } @@ -128,8 +209,39 @@ $(document).ready(function () { }, json_editor_settings); - $(document).on('click', '.btn-add', addFormGroup); - $(document).on('click', '.btn-remove', removeFormGroup); + $(document).on('click', '.primitive-group .btn-add', addFormGroup); + $(document).on('click', '.primitive-group .btn-remove', removeFormGroup); + + $(document).on('click', '.interface-group .btn-add', addInterfaceGroup); + $(document).on('click', '.interface-group .btn-remove', removeInterfaceGroup); + + $("#formCreatePDU").submit(function (event) { + event.preventDefault(); //prevent default action + var post_url = $(this).attr("action"); //get form action url + var request_method = $(this).attr("method"); //get form GET/POST method + var form_data = new FormData(this); //Encode form elements for submission + $.ajax({ + url: post_url, + type: request_method, + data: form_data, + headers: { + "Accept": 'application/json' + }, + contentType: false, + processData: false + }).done(function (response, textStatus, jqXHR) { + table.ajax.reload(); + $('#modal_new_pdu').modal('hide'); + }).fail(function (result) { + var data = result.responseJSON; + var title = "Error " + (data.code ? data.code : 'unknown'); + var message = data.detail ? data.detail : 'No detail available.'; + bootbox.alert({ + title: title, + message: message + }); + }); + }); $("#formActionNS").submit(function (event) { event.preventDefault(); //prevent default action @@ -146,20 +258,20 @@ $(document).ready(function () { }, contentType: false, processData: false - }).done(function (response,textStatus, jqXHR) { + }).done(function (response, textStatus, jqXHR) { $('#modal_instance_new_action').modal('hide'); bootbox.alert({ - title: "Action", - message: "Action received." - }); - }).fail(function(result){ - var data = result.responseJSON; - var title = "Error " + (data.code ? data.code: 'unknown'); - var message = data.detail ? data.detail: 'No detail available.'; - bootbox.alert({ - title: title, - message: message - }); + title: "Action", + message: "Action received." + }); + }).fail(function (result) { + var data = result.responseJSON; + var title = "Error " + (data.code ? data.code : 'unknown'); + var message = data.detail ? data.detail : 'No detail available.'; + bootbox.alert({ + title: title, + message: message + }); }); }); @@ -178,20 +290,20 @@ $(document).ready(function () { }, contentType: false, processData: false - }).done(function (response,textStatus, jqXHR) { + }).done(function (response, textStatus, jqXHR) { $('#modal_instance_new_action').modal('hide'); bootbox.alert({ - title: "Metric", - message: "Alarm created." - }); - }).fail(function(result){ - var data = result.responseJSON; - var title = "Error " + (data.code ? data.code: 'unknown'); - var message = data.detail ? data.detail: 'No detail available.'; - bootbox.alert({ - title: title, - message: message - }); + title: "Metric", + message: "Alarm created." + }); + }).fail(function (result) { + var data = result.responseJSON; + var title = "Error " + (data.code ? data.code : 'unknown'); + var message = data.detail ? data.detail : 'No detail available.'; + bootbox.alert({ + title: title, + message: message + }); }); }); @@ -210,20 +322,20 @@ $(document).ready(function () { }, contentType: false, processData: false - }).done(function (response,textStatus, jqXHR) { + }).done(function (response, textStatus, jqXHR) { $('#modal_instance_new_action').modal('hide'); bootbox.alert({ - title: "Metric", - message: "Metric exported." - }); - }).fail(function(result){ - var data = result.responseJSON; - var title = "Error " + (data.code ? data.code: 'unknown'); - var message = data.detail ? data.detail: 'No detail available.'; - bootbox.alert({ - title: title, - message: message - }); + title: "Metric", + message: "Metric exported." + }); + }).fail(function (result) { + var data = result.responseJSON; + var title = "Error " + (data.code ? data.code : 'unknown'); + var message = data.detail ? data.detail : 'No detail available.'; + bootbox.alert({ + title: title, + message: message + }); }); });