From d1f2b5286875c8b83dd7aadca49004d7255f0cbd Mon Sep 17 00:00:00 2001
From: Luji7 <lu.ji3@zte.com.cn>
Date: Tue, 1 Nov 2016 10:52:48 +0800
Subject: Fix Issue-Id: GSO-80

Change-Id: Ib1dd9256874d60db96c1b232adb09ed2a6b827f0
Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
(cherry picked from commit c84515972a58b8a0e1eb5707302651a9fab17d72)
---
 .../src/main/webapp/lifecyclemgr/gsolcmmain.html   |  28 ++++++++++++++-
 .../main/webapp/lifecyclemgr/images/loading.gif    | Bin 0 -> 781 bytes
 .../src/main/webapp/lifecyclemgr/js/gsolcm.js      |   4 +++
 .../webapp/lifecyclemgr/js/jquery.isloading.min.js |  39 +++++++++++++++++++++
 4 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/images/loading.gif
 create mode 100644 openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.isloading.min.js

(limited to 'openo-portal/portal-lifecyclemgr/src')

diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html
index ad3b5977..b7357c52 100644
--- a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html
+++ b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html
@@ -30,11 +30,13 @@
     <script type="text/javascript" src="js/bootstrap-table.min.js"></script>
     <script type="text/javascript" src="js/gsolcm.js"></script>
     <script type="text/javascript" src="../common/thirdparty/bootbox/bootbox.min.js"></script>
+    <script type="text/javascript" src="js/jquery.isloading.min.js"></script>
     <script type="text/javascript" src="js/jquery-ui-1.12.1.min.js"></script>
     <link href="css/jquery-ui-1.12.1.min.css" rel="stylesheet" />
     <script type="text/javascript" src="js/bootstrap-table-filter-control.min.js"></script>
     <script type="text/javascript">
         $(document).ready(function () {
+            new lcmHandler();
 
             $('.modal-dialog').draggable();
             $("#detailCont").show();
@@ -74,7 +76,7 @@
 				document.getElementById('inputcontent').setAttribute('data', 'InputData.html?json='+ JSON.stringify(row));
                 document.getElementById('inputcontentDlg').setAttribute('data', 'InputData.html?json='+ JSON.stringify(row));
            	});
-            new lcmHandler();
+            
         });
 
         function operateFormatter(value, row, index) {
@@ -213,6 +215,30 @@
         .clearfix {
             display: none;
         }
+        .isloading-wrapper.isloading-right{
+            margin-left:10px;
+        }
+        .isloading-overlay{
+            position:relative;
+            text-align:center;
+        }
+        .isloading-overlay .isloading-wrapper{
+            background: url("images/loading.gif") 90% 50% no-repeat #FFFFFF;
+            padding:15px 30px;
+            -webkit-border-radius:7px;
+            -webkit-background-clip:padding-box;
+            -moz-border-radius:7px;
+            -moz-background-clip:padding;
+            border-radius:7px;
+            background-clip:padding-box;
+            display:inline-block;
+            margin:0 auto;
+            top:10%;
+            z-index:9000;
+        }
+        .icon-refresh{
+            background: url("images/loading.gif") 50% 50% no-repeat;
+        }
         </style>
 </head>
 <body id="open_base_site_cotentBody" class="cotentBody ng-scope">
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/images/loading.gif b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/images/loading.gif
new file mode 100644
index 00000000..5e28c953
Binary files /dev/null and b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/images/loading.gif differ
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js
index eb667968..75b435cf 100644
--- a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js
+++ b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js
@@ -32,6 +32,7 @@ lcmHandler.prototype = {
     		alert('Location must be selected in Template Parameters');
     		return;
     	}
+        $.isLoading({ text: "Creating service..." });
         var serviceInstance = {
             serviceTemplateId: $("#svcTempl").val(),
             serviceName: $('#svcName').val(),
@@ -50,6 +51,7 @@ lcmHandler.prototype = {
         ).then(
             function(serviceInstance) {
                 updateTable(serviceInstance);
+                $.isLoading('hide');
                 $('#vmAppDialog').removeClass('in').css('display', 'none');
             }
         );
@@ -540,10 +542,12 @@ function formatDate(date) {
 function deleteNe(rowId, row) {
     var deleteHandle = function(result) {
         if(result) {
+            $.isLoading({ text: "Deleting service..." });
             var instanceId = row.serviceId;
             var serviceType = row.serviceType;
             var gatewayService = '/openoapi/servicegateway/v1/services/' + instanceId + '/terminate';
             var remove = function () {
+                $.isLoading( "hide" );
                 $('#sai').bootstrapTable('remove', {field: 'serviceId', values: [instanceId]});
             };
             if(serviceType === 'GSO') {
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.isloading.min.js b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.isloading.min.js
new file mode 100644
index 00000000..87573765
--- /dev/null
+++ b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.isloading.min.js
@@ -0,0 +1,39 @@
+/**
+* Loading plugin for jQuery
+* version: v1.0.6
+*
+* Small helper to give the user a visual feedback that something is happening
+* when fetching/posting data
+*
+* USAGE:
+* - global overlay:                     $.isLoading();
+* - use javascript:                     $( selector ).isLoading();
+* - On non-form elements:               $("div").isLoading({ text: "Loading", position:'inside'});
+* - remove the loading element:         $( selector ).isLoading( "hide" );
+*
+* @author Laurent Blanes <laurent.blanes@gmail.com>
+* ---
+* Copyright 2013, Laurent Blanes ( https://github.com/hekigan/is-loading )
+*
+* The MIT License (MIT)
+*
+* Copyright (c) 2013 Laurent Blanes
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in
+* all copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+* THE SOFTWARE.
+*/!function(e,t){function i(t,i){this.element=t,this.options=e.extend({},n,i),this._defaults=n,this._name=o,this._loader=null,this.init()}function s(){e[o]||(e.isLoading=function(t){e("body").isLoading(t)})}var o="isLoading",n={position:"right",text:"","class":"glyphicon glyphicon-refresh",transparency:.5,tpl:'<span class="isloading-wrapper %wrapper%">%text%<i class="%class% glyphicon-spin"></i></span>',disableSource:!0,disableOthers:[]};i.prototype={init:function(){e(this.element).is("body")&&(this.options.position="overlay"),this.show()},show:function(){var i=this,s=i.options.tpl.replace("%wrapper%"," isloading-show  isloading-"+i.options.position);switch(s=s.replace("%class%",i.options["class"]),s=s.replace("%text%",""!==i.options.text?i.options.text+" ":""),i._loader=e(s),e(i.element).is("input, textarea")&&!0===i.options.disableSource?e(i.element).attr("disabled","disabled"):!0===i.options.disableSource&&e(i.element).addClass("disabled"),i.options.position){case"inside":e(i.element).html(i._loader);break;case"overlay":var o=null;if(e(i.element).is("body"))o=e('<div class="isloading-overlay" style="position:fixed; left:0; top:0; z-index: 10000; background: rgba(0,0,0,'+i.options.transparency+"); width: 100%; height: "+e(t).height()+'px;" />'),e("body").prepend(o),e(t).on("resize",function(){o.height(e(t).height()+"px"),i._loader.css({top:e(t).height()/2-i._loader.outerHeight()/2+"px"})});else{var n=e(i.element).css("position"),a={},l=e(i.element).outerHeight()+"px",r="100%";a="relative"===n||"absolute"===n?{top:0,left:0}:e(i.element).position(),o=e('<div class="isloading-overlay" style="position:absolute; top: '+a.top+"px; left: "+a.left+"px; z-index: 10000; background: rgba(0,0,0,"+i.options.transparency+"); width: "+r+"; height: "+l+';" />'),e(i.element).prepend(o),e(t).on("resize",function(){o.height(e(i.element).outerHeight()+"px"),i._loader.css({top:o.outerHeight()/2-i._loader.outerHeight()/2+"px"})})}o.html(i._loader),i._loader.css({top:o.outerHeight()/2-i._loader.outerHeight()/2+"px"});break;default:e(i.element).after(i._loader)}i.disableOthers()},hide:function(){"overlay"===this.options.position?e(this.element).find(".isloading-overlay").first().remove():(e(this._loader).remove(),e(this.element).text(e(this.element).attr("data-isloading-label"))),e(this.element).removeAttr("disabled").removeClass("disabled"),this.enableOthers()},disableOthers:function(){e.each(this.options.disableOthers,function(t,i){var s=e(i);s.is("button, input, textarea")?s.attr("disabled","disabled"):s.addClass("disabled")})},enableOthers:function(){e.each(this.options.disableOthers,function(t,i){var s=e(i);s.is("button, input, textarea")?s.removeAttr("disabled"):s.removeClass("disabled")})}},e.fn[o]=function(t){return this.each(function(){if(t&&"hide"!==t||!e.data(this,"plugin_"+o))e.data(this,"plugin_"+o,new i(this,t));else{var s=e.data(this,"plugin_"+o);"hide"===t?s.hide():s.show()}})},s()}(jQuery,window,document);
-- 
cgit