X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=static%2Fsrc%2Finstancehandler%2Finstance_list.js;h=5580bbfed4153bcf91c12cc7bd19bfc89c0479d8;hb=7223fa33514b12b5f3f418dfa0d9d2545a0d9acf;hp=b4c0edcbccee523740cdb9170b1b8d53b7310156;hpb=99624b5f5ae95b0674f7f5005da04281e49ac5aa;p=osm%2FLW-UI.git diff --git a/static/src/instancehandler/instance_list.js b/static/src/instancehandler/instance_list.js index b4c0edc..5580bbf 100644 --- a/static/src/instancehandler/instance_list.js +++ b/static/src/instancehandler/instance_list.js @@ -14,28 +14,138 @@ 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 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 (result) { + dialog.modal('hide'); + 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 + }); + } + }); + } + }) +} +function deleteNsi(instance_name, instance_id, force) { + var url = '/instances/nsi/'+instance_id+'/delete'; + bootbox.confirm("Are you sure want to delete " + instance_name + "?", function (result) { + if (result) { + if (force) + url = url + '?force=true'; + var dialog = bootbox.dialog({ + message: '
Loading...
', + closeButton: true + }); + $.ajax({ + url: url, + type: 'GET', + dataType: "json", + contentType: "application/json;charset=utf-8", + success: function (result) { + console.log(result) + if (result['error'] == true){ + dialog.modal('hide'); + 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 + }); + } + else { + dialog.modal('hide'); + location.reload(); + } + }, + error: function (result) { + dialog.modal('hide'); + 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 + }); + } + }); + } + }) +} + +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."); + } + }); } }) } @@ -46,6 +156,25 @@ var addFormGroup = function (event) { var $formGroup = $(this).closest('.form-group'); var $formGroupClone = $formGroup.clone(); + $formGroupClone.find('input').val(''); + $formGroupClone.find('button').toggleClass('btn-success btn-add btn-danger btn-remove'); + $formGroupClone.find('button').text('–'); + $formGroupClone.insertAfter($formGroup); + +}; + +var removeFormGroup = function (event) { + event.preventDefault(); + var $formGroup = $(this).closest('.form-group'); + $formGroup.remove(); +}; + +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('–'); @@ -55,13 +184,19 @@ var addFormGroup = function (event) { }; -var removeFormGroup = function (event) { +var removeInterfaceGroup = function (event) { event.preventDefault(); - var $formGroup = $(this).closest('.form-group'); + var $formGroup = $(this).closest('.interface-group'); $formGroup.remove(); }; -function showInstanceDetails(url_info) { +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 @@ -72,10 +207,17 @@ function showInstanceDetails(url_info) { dataType: "json", contentType: "application/json;charset=utf-8", success: function (result) { - editorJSON.setValue(JSON.stringify(result, null, "\t")); - editorJSON.setOption("autoRefresh", true); - dialog.modal('hide'); - $('#modal_show_instance').modal('show'); + + 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 { + dialog.modal('hide'); + bootbox.alert("An error occurred while retrieving the information."); + } }, error: function (result) { dialog.modal('hide'); @@ -117,8 +259,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 @@ -135,20 +308,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 + }); }); }); @@ -167,20 +340,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 + }); }); }); @@ -199,20 +372,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 + }); }); });