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 function deletePDU(instance_name
, instance_id
) {
70 var url
= '/instances/pdu/'+instance_id
+'/delete';
71 bootbox
.confirm("Are you sure want to delete " + instance_name
+ "?", function (result
) {
73 var dialog
= bootbox
.dialog({
74 message
: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
81 contentType
: "application/json;charset=utf-8",
82 success: function (result
) {
83 if (result
['error'] == true){
85 bootbox
.alert("An error occurred.");
92 error: function (error
) {
94 bootbox
.alert("An error occurred.");
101 var addFormGroup = function (event
) {
102 event
.preventDefault();
104 var $formGroup
= $(this).closest('.form-group');
105 var $formGroupClone
= $formGroup
.clone();
108 .toggleClass('btn-success btn-add btn-danger btn-remove')
111 $formGroupClone
.find('input').val('');
112 $formGroupClone
.insertAfter($formGroup
);
116 var removeFormGroup = function (event
) {
117 event
.preventDefault();
118 var $formGroup
= $(this).closest('.form-group');
122 var addInterfaceGroup = function (event
) {
123 event
.preventDefault();
125 var $formGroup
= $(this).closest('.interface-group');
126 var $formGroupClone
= $formGroup
.clone();
129 .toggleClass('btn-success btn-add btn-danger btn-remove')
132 $formGroupClone
.find('input').val('');
133 $formGroupClone
.insertAfter($formGroup
);
137 var removeInterfaceGroup = function (event
) {
138 event
.preventDefault();
139 var $formGroup
= $(this).closest('.interface-group');
143 function showTopology(type
, instance_id
) {
144 var url
= '/instances/'+type
+'/'+instance_id
+'/topology';
145 window
.location
= url
;
148 function showInstanceDetails(type
, instance_id
) {
149 var url_info
= '/instances/'+type
+'/'+instance_id
;
150 var dialog
= bootbox
.dialog({
151 message
: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
158 contentType
: "application/json;charset=utf-8",
159 success: function (result
) {
161 if (result
['data'] !== undefined) {
162 editorJSON
.setValue(JSON
.stringify(result
['data'], null, "\t"));
163 editorJSON
.setOption("autoRefresh", true);
164 dialog
.modal('hide');
165 $('#modal_show_instance').modal('show');
168 dialog
.modal('hide');
169 bootbox
.alert("An error occurred while retrieving the information.");
172 error: function (result
) {
173 dialog
.modal('hide');
174 bootbox
.alert("An error occurred while retrieving the information.");
181 $(document
).ready(function () {
182 var json_editor_settings
= {
184 showCursorWhenSelecting
: true,
189 gutters
: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
190 autoCloseBrackets
: true,
193 "F11": function (cm
) {
194 cm
.setOption("fullScreen", !cm
.getOption("fullScreen"));
196 "Esc": function (cm
) {
197 if (cm
.getOption("fullScreen")) cm
.setOption("fullScreen", false);
199 "Ctrl-Q": function (cm
) {
200 cm
.foldCode(cm
.getCursor());
206 var myJsonTextArea
= document
.getElementById("instance_view_json");
207 editorJSON
= CodeMirror(function (elt
) {
208 myJsonTextArea
.parentNode
.replaceChild(elt
, myJsonTextArea
);
209 }, json_editor_settings
);
212 $(document
).on('click', '.primitive-group .btn-add', addFormGroup
);
213 $(document
).on('click', '.primitive-group .btn-remove', removeFormGroup
);
215 $(document
).on('click', '.interface-group .btn-add', addInterfaceGroup
);
216 $(document
).on('click', '.interface-group .btn-remove', removeInterfaceGroup
);
218 $("#formCreatePDU").submit(function (event
) {
219 event
.preventDefault(); //prevent default action
220 var post_url
= $(this).attr("action"); //get form action url
221 var request_method
= $(this).attr("method"); //get form GET/POST method
222 var form_data
= new FormData(this); //Encode form elements for submission
225 type
: request_method
,
228 "Accept": 'application/json'
232 }).done(function (response
, textStatus
, jqXHR
) {
234 $('#modal_new_pdu').modal('hide');
235 }).fail(function (result
) {
236 var data
= result
.responseJSON
;
237 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
238 var message
= data
.detail
? data
.detail
: 'No detail available.';
246 $("#formActionNS").submit(function (event
) {
247 event
.preventDefault(); //prevent default action
248 var post_url
= $(this).attr("action"); //get form action url
249 var request_method
= $(this).attr("method"); //get form GET/POST method
250 var form_data
= new FormData(this); //Encode form elements for submission
251 console
.log(post_url
);
254 type
: request_method
,
257 "Accept": 'application/json'
261 }).done(function (response
, textStatus
, jqXHR
) {
262 $('#modal_instance_new_action').modal('hide');
265 message
: "Action received."
267 }).fail(function (result
) {
268 var data
= result
.responseJSON
;
269 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
270 var message
= data
.detail
? data
.detail
: 'No detail available.';
278 $("#formAlarmNS").submit(function (event
) {
279 event
.preventDefault(); //prevent default action
280 var post_url
= $(this).attr("action"); //get form action url
281 var request_method
= $(this).attr("method"); //get form GET/POST method
282 var form_data
= new FormData(this); //Encode form elements for submission
283 console
.log(post_url
);
286 type
: request_method
,
289 "Accept": 'application/json'
293 }).done(function (response
, textStatus
, jqXHR
) {
294 $('#modal_instance_new_action').modal('hide');
297 message
: "Alarm created."
299 }).fail(function (result
) {
300 var data
= result
.responseJSON
;
301 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
302 var message
= data
.detail
? data
.detail
: 'No detail available.';
310 $("#formExportMetricNS").submit(function (event
) {
311 event
.preventDefault(); //prevent default action
312 var post_url
= $(this).attr("action"); //get form action url
313 var request_method
= $(this).attr("method"); //get form GET/POST method
314 var form_data
= new FormData(this); //Encode form elements for submission
315 console
.log(post_url
);
318 type
: request_method
,
321 "Accept": 'application/json'
325 }).done(function (response
, textStatus
, jqXHR
) {
326 $('#modal_instance_new_action').modal('hide');
329 message
: "Metric exported."
331 }).fail(function (result
) {
332 var data
= result
.responseJSON
;
333 var title
= "Error " + (data
.code
? data
.code
: 'unknown');
334 var message
= data
.detail
? data
.detail
: 'No detail available.';