+<!--
+Copyright 2019 ETSI
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
{% extends "base.html" %}
{% load get %}
{% load staticfiles %}
{% block head_block %}
{{ block.super }}
-
+ <link rel="stylesheet" href="/static/node_modules/datatables.net-bs/css/dataTables.bootstrap.min.css">
{% endblock %}
{% block title_header_big %}
{{ block.super }}
</div>
</div>
<div class="box-body">
- <table id="projects_table" class="table table-bordered table-striped">
+ <table id="vims_table" class="table table-bordered table-striped">
<thead>
<tr>
- <th>Id</th>
<th>Name</th>
+ <th>Identifier</th>
<th>Type</th>
<th>Operational State</th>
<th>Description</th>
</tr>
</thead>
<tbody>
- {% for p in datacenters %}
-
- <tr>
-
- <td>{{ p|get:"_id" }}</td>
- <td>{{ p|get:"name" }}</td>
- <td>{{ p|get:"vim_type" }}</td>
- <td>{{ p|get_sub:"_admin,operationalState"}}</td>
- <td>{{ p|get_sub:"_admin,description" }}</td>
-
-
- <td>
- <div class="btn-group">
- <button type="button" class="btn btn-default"
- onclick="location.href='{% url "vims:show" vim_id=p|get:"_id" %}'" data-toggle="tooltip" data-placement="top" data-container="body" title="Show Info"><i
- class="fa fa-info"></i></button>
- <button type="button" class="btn btn-default"
- onclick="javascript:deleteVim('{% url "vims:delete" vim_id=p|get:"_id" %}')" data-toggle="tooltip" data-placement="top" data-container="body" title="Delete"><i
- class="far fa-trash-alt" ></i></button>
- </div>
- </td>
-
- </tr>
- {% endfor %}
+
</tbody>
</table>
</div>
{% block resource_block %}
{{ block.super }}
- <!-- Utility JS -->
+ <script src="/static/node_modules/datatables.net/js/jquery.dataTables.min.js"></script>
+ <script src="/static/node_modules/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
+ <script>
+ $(document).ready( function () {
+ var table = $('#vims_table').DataTable({
+ responsive: true,
+ "ajax": {
+ "url": "/vims/list/",
+ "dataSrc": function (json) {
+ return json['datacenters'];
+ },
+ statusCode: {
+ 401: function () {
+ console.log("no auth");
+ moveToLogin(window.location.pathname);
+ }
+ },
+ "error": function (hxr, error, thrown) {
+ console.log(hxr)
+ console.log(thrown)
+ console.log(error);
+ }
+
+ },
+ "columns": [
+ {
+ "render": function (data, type, row) {
+ return row["name"];
+ },
+ "targets": 0
+ },
+ {
+ "render": function (data, type, row) {
+ return row['_id'];
+ },
+ "targets": 1
+ },
+ {
+ "render": function (data, type, row) {
+ return row["vim_type"];
+ },
+ "targets": 2
+ },
+ {
+ "render": function (data, type, row) {
+ return row["_admin"]['operationalState'];
+ },
+ "targets": 3
+ },
+ {
+ "render": function (data, type, row) {
+ return row["_admin"]['description'] || '';
+ },
+ "targets": 4
+ },
+ {
+ "render": function (data, type, row) {
+ return '<div class="btn-group"><button type="button" class="btn btn-default" ' +
+ 'onclick="location.href=\'/vims/'+row['_id']+'\'" data-toggle="tooltip" data-placement="top" data-container="body" title="Show Info">' +
+ '<i class="fa fa-info"></i>' +
+ '</button> ' +
+ '<button type="button" class="btn btn-default"' +
+ 'onclick="javascript:deleteVim(\''+row['_id']+'\', \''+ row["name"] +'\')" data-toggle="tooltip" data-placement="top" data-container="body" title="Delete">' +
+ '<i class="far fa-trash-alt" ></i></button></div>';
+ },
+ "targets": 5,
+ "orderable": false
+ }
+ ]
+ });
+ setInterval(function () {
+ table.ajax.reload();
+ }, 10000);
+ });
+ </script>
<script>
- function deleteVim(url) {
- bootbox.confirm("Are you sure want to delete?", function (result) {
+ function deleteVim(vim_id, vim_name) {
+ var url = "/vims/"+vim_id+"/delete";
+ bootbox.confirm("Are you sure want to delete " + vim_name + "?", function (result) {
if (result) {
- location.href = url//'/vims/' + vim_uuid + '/delete'
+ var dialog = bootbox.dialog({
+ message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+ 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.");
+ }
+ });
}
})
}
</script>
{% endblock %}
-
-{% block footer %}
- {% include "footer.html" %}
-{% endblock %}
\ No newline at end of file