2 Copyright 2018 CNIT - Consorzio Nazionale Interuniversitario per le Telecomunicazioni
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
8 http://www.apache.org/licenses/LICENSE-2.0
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
17 function performAction(instance_name
, instance_id
) {
18 var url
= '/instances/ns/'+instance_id
+'/action';
19 $("#formActionNS").attr("action", url
);
20 $('#modal_instance_new_action').modal('show');
23 function exportMetricNs(instance_name
, instance_id
) {
24 var url
= '/instances/ns/'+instance_id
+'/monitoring/metric';
25 $("#formExportMetricNS").attr("action", url
);
26 $('#modal_instance_export_metric').modal('show');
29 function newAlarmNs(instance_name
, instance_id
) {
30 var url
= '/instances/ns/'+instance_id
+'/monitoring/alarm';
31 $("#formAlarmNS").attr("action", url
);
32 $('#modal_instance_new_alarm').modal('show');
35 function deleteNs(instance_name
, instance_id
, force
) {
36 var url
= '/instances/ns/'+instance_id
+'/delete';
37 bootbox
.confirm("Are you sure want to delete " + instance_name
+ "?", function (result
) {
40 url
= url
+ '?force=true';
41 var dialog
= bootbox
.dialog({
42 message
: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
49 contentType
: "application/json;charset=utf-8",
50 success: function (result
) {
51 if (result
['error'] == true){
53 bootbox
.alert("An error occurred.");
60 error: function (error
) {
62 bootbox
.alert("An error occurred.");
69 var addFormGroup = function (event
) {
70 event
.preventDefault();
72 var $formGroup
= $(this).closest('.form-group');
73 var $formGroupClone
= $formGroup
.clone();
76 .toggleClass('btn-success btn-add btn-danger btn-remove')
79 $formGroupClone
.find('input').val('');
80 $formGroupClone
.insertAfter($formGroup
);
84 var removeFormGroup = function (event
) {
85 event
.preventDefault();
86 var $formGroup
= $(this).closest('.form-group');
90 function showTopology(type
, instance_id
) {
91 var url
= '/instances/'+type
+'/'+instance_id
+'/topology';
92 window
.location
= url
;
95 function showInstanceDetails(type
, instance_id
) {
96 var url_info
= '/instances/'+type
+'/'+instance_id
;
97 var dialog
= bootbox
.dialog({
98 message
: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
105 contentType
: "application/json;charset=utf-8",
106 success: function (result
) {
108 if (result
['data'] !== undefined) {
109 editorJSON
.setValue(JSON
.stringify(result
['data'], null, "\t"));
110 editorJSON
.setOption("autoRefresh", true);
111 dialog
.modal('hide');
112 $('#modal_show_instance').modal('show');
115 dialog
.modal('hide');
116 bootbox
.alert("An error occurred while retrieving the information.");
119 error: function (result
) {
120 dialog
.modal('hide');
121 bootbox
.alert("An error occurred while retrieving the information.");
128 $(document
).ready(function () {
129 var json_editor_settings
= {
131 showCursorWhenSelecting
: true,
136 gutters
: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
137 autoCloseBrackets
: true,
140 "F11": function (cm
) {
141 cm
.setOption("fullScreen", !cm
.getOption("fullScreen"));
143 "Esc": function (cm
) {
144 if (cm
.getOption("fullScreen")) cm
.setOption("fullScreen", false);
146 "Ctrl-Q": function (cm
) {
147 cm
.foldCode(cm
.getCursor());
153 var myJsonTextArea
= document
.getElementById("instance_view_json");
154 editorJSON
= CodeMirror(function (elt
) {
155 myJsonTextArea
.parentNode
.replaceChild(elt
, myJsonTextArea
);
156 }, json_editor_settings
);
159 $(document
).on('click', '.btn-add', addFormGroup
);
160 $(document
).on('click', '.btn-remove', removeFormGroup
);
162 $("#formActionNS").submit(function (event
) {
163 event
.preventDefault(); //prevent default action
164 var post_url
= $(this).attr("action"); //get form action url
165 var request_method
= $(this).attr("method"); //get form GET/POST method
166 var form_data
= new FormData(this); //Encode form elements for submission
167 console
.log(post_url
);
170 type
: request_method
,
173 "Accept": 'application/json'
177 }).done(function (response
, textStatus
, jqXHR
) {
178 $('#modal_instance_new_action').modal('hide');
181 message
: "Action received."
183 }).fail(function (result
) {
184 var data
= result
.responseJSON
;
185 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
186 var message
= data
.detail
? data
.detail
: 'No detail available.';
194 $("#formAlarmNS").submit(function (event
) {
195 event
.preventDefault(); //prevent default action
196 var post_url
= $(this).attr("action"); //get form action url
197 var request_method
= $(this).attr("method"); //get form GET/POST method
198 var form_data
= new FormData(this); //Encode form elements for submission
199 console
.log(post_url
);
202 type
: request_method
,
205 "Accept": 'application/json'
209 }).done(function (response
, textStatus
, jqXHR
) {
210 $('#modal_instance_new_action').modal('hide');
213 message
: "Alarm created."
215 }).fail(function (result
) {
216 var data
= result
.responseJSON
;
217 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
218 var message
= data
.detail
? data
.detail
: 'No detail available.';
226 $("#formExportMetricNS").submit(function (event
) {
227 event
.preventDefault(); //prevent default action
228 var post_url
= $(this).attr("action"); //get form action url
229 var request_method
= $(this).attr("method"); //get form GET/POST method
230 var form_data
= new FormData(this); //Encode form elements for submission
231 console
.log(post_url
);
234 type
: request_method
,
237 "Accept": 'application/json'
241 }).done(function (response
, textStatus
, jqXHR
) {
242 $('#modal_instance_new_action').modal('hide');
245 message
: "Metric exported."
247 }).fail(function (result
) {
248 var data
= result
.responseJSON
;
249 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
250 var message
= data
.detail
? data
.detail
: 'No detail available.';