Network Slice Templates
Change-Id: I9453c518cc717e514598e40e2b1ce5ff60b76108
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/static/src/drop_zone.js b/static/src/drop_zone.js
new file mode 100644
index 0000000..469ce60
--- /dev/null
+++ b/static/src/drop_zone.js
@@ -0,0 +1,32 @@
+/*
+ Copyright 2019 EveryUP srl
+
+ 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.
+*/
+
+var dropZone = document.getElementById('drop-zone');
+dropZone.ondrop = function (e) {
+ e.preventDefault();
+ this.className = 'upload-drop-zone';
+ create(e.dataTransfer.files, true);
+};
+
+dropZone.ondragover = function () {
+ this.className = 'upload-drop-zone drop';
+ return false;
+};
+
+dropZone.ondragleave = function () {
+ this.className = 'upload-drop-zone';
+ return false;
+};
\ No newline at end of file
diff --git a/static/src/netslicehandler/onboard_template.js b/static/src/netslicehandler/onboard_template.js
new file mode 100644
index 0000000..e999e1a
--- /dev/null
+++ b/static/src/netslicehandler/onboard_template.js
@@ -0,0 +1,70 @@
+/*
+ Copyright 2018 EveryUP srl
+
+ 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.
+*/
+
+function create(fs, dropzone) {
+ var url = '/netslices/templates/onboard';
+ var id = $('.nav-tabs .active').attr('id');
+ if (dropzone) id = 'file_li';
+ var type, text;
+ var data = new FormData();
+ switch (id) {
+
+ case 'file_li':
+ type = 'file';
+
+ var files = dropzone ? fs : document.getElementById('js-upload-files').files;
+ if (!files || !files.length) {
+ files = document.getElementById('drop-zone').files;
+ if (!files || !files.length) {
+ alert("Select a file");
+ return
+ }
+ }
+ console.log(files[0])
+ var patt1 = /\.([0-9a-z]+)(?:[\?#]|$)/i;
+ console.log(files[0].name.match(patt1));
+ var extension = files[0].name.substr(files[0].name.lastIndexOf('.') + 1);
+ console.log(extension);
+
+ data.append('file', files[0]);
+ break;
+ }
+ data.append('csrfmiddlewaretoken', csrf_token);
+ data.append('type', type);
+ data.append('text', text);
+ data.append('id', '{{descriptor_id}}');
+ console.log(text);
+ var dialog = bootbox.dialog({
+ message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Onboarding...</div>',
+ closeButton: true
+ });
+ $.ajax({
+ url: url,
+ type: 'POST',
+ data: data,
+ cache: false,
+ contentType: false,
+ processData: false,
+ success: function (result) {
+ dialog.modal('hide');
+ refreshTable();
+ },
+ error: function (result) {
+ dialog.modal('hide');
+ showAlert(result);
+ }
+ });
+}
\ No newline at end of file
diff --git a/static/src/netslicehandler/templates_list.js b/static/src/netslicehandler/templates_list.js
new file mode 100644
index 0000000..813b395
--- /dev/null
+++ b/static/src/netslicehandler/templates_list.js
@@ -0,0 +1,78 @@
+/*
+ Copyright 2019 EveryUP Srl
+
+ 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.
+*/
+
+function deleteTemplate(template_name, template_id) {
+ var url = '/netslices/templates/'+template_id+'/delete';
+ bootbox.confirm("Are you sure want to delete " + template_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.");
+ }
+ });
+ }
+ })
+}
+
+function showNstDetails(template_id) {
+ var url_info = '/netslices/templates/'+template_id+'/details';
+ var dialog = bootbox.dialog({
+ message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+ closeButton: true
+ });
+ $.ajax({
+ url: url_info,
+ type: 'GET',
+ dataType: "json",
+ contentType: "application/json;charset=utf-8",
+ success: function (result) {
+ console.log(result)
+ if (result['data'] !== undefined) {
+ editorJSON.setValue(JSON.stringify(result['data'], null, "\t"));
+ editorJSON.setOption("autoRefresh", true);
+ dialog.modal('hide');
+ $('#modal_show_nst').modal('show');
+ }
+ else {
+ dialog.modal('hide');
+ bootbox.alert("An error occurred while retrieving the information.");
+ }
+ },
+ error: function (result) {
+ dialog.modal('hide');
+ bootbox.alert("An error occurred while retrieving the information.");
+ }
+ });
+}
\ No newline at end of file
diff --git a/static/src/packagehandler/onboard_package.js b/static/src/packagehandler/onboard_package.js
index d18be5b..194bcdc 100644
--- a/static/src/packagehandler/onboard_package.js
+++ b/static/src/packagehandler/onboard_package.js
@@ -14,24 +14,6 @@
limitations under the License.
*/
-var dropZone = document.getElementById('drop-zone');
-dropZone.ondrop = function (e) {
- e.preventDefault();
- this.className = 'upload-drop-zone';
- create(e.dataTransfer.files, true);
-};
-
-dropZone.ondragover = function () {
- this.className = 'upload-drop-zone drop';
- return false;
-};
-
-dropZone.ondragleave = function () {
- this.className = 'upload-drop-zone';
- return false;
-};
-
-
function create(fs, dropzone) {
var id = $('.nav-tabs .active').attr('id');
if (dropzone) id = 'file_li';