+<!--
+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/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
+ <link rel="stylesheet" href="/static/node_modules/datatables.net-bs/css/dataTables.bootstrap.min.css">
{% endblock %}
{% block title_header_big %}
{{ block.super }}
{% block content_body %}
{{ block.super }}
+ {% include 'modal/vim_create.html' %}
{% include 'modal/vim_details.html' %}
{% csrf_token %}
<div class="row">
<div class="box-header with-border">
<h3 class="box-title">Registered VIM</h3>
<div class="box-tools">
- <a href='{% url "vims:create" %}' class="btn btn-block btn-primary btn-sm"><i
- class="fa fa-plus"></i><span> New VIM</span></a>
+ <button type="button" class="btn btn-default" data-container="body"
+ data-toggle="tooltip" data-placement="top" title="New VIM"
+ onclick="javascript:openModalCreateVIM()">
+ <i class="fa fa-plus"></i> <span> New VIM</span>
+ </button>
</div>
</div>
<div class="box-body">
{% block resource_block %}
{{ block.super }}
- <script src="/static/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
- <script src="/static/bower_components/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
- }
- ]
- });
-
- setInterval(function () {
- table.ajax.reload();
- }, 10000);
- });
- </script>
+ <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 src="/static/src/vimhandler/vim_list.js"></script>
<script>
+ var table;
- 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) {
- 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 %}