[onos-5204] This commit contains fix for bug onos-5204
Addressed review comments
Addressed review comments - take2

Change-Id: I9eb1e19f70deffd33d57cdab6bb0346bd2ebbd98
diff --git a/web/gui/src/main/webapp/app/view/intent/intent.html b/web/gui/src/main/webapp/app/view/intent/intent.html
index a32f8f4..9c025f6 100644
--- a/web/gui/src/main/webapp/app/view/intent/intent.html
+++ b/web/gui/src/main/webapp/app/view/intent/intent.html
@@ -32,10 +32,10 @@
                  tooltip tt-msg="topoTip"
                  ng-click="showIntent()"></div>
 
-            <div ng-class="{'active': !!selId}"
+            <div ng-class="{'active': !!selId && isIntentInstalled()}"
                  icon icon-id="stop" icon-size="42"
                  tooltip tt-msg="deactivateTip"
-                 ng-click="deactivateIntent()"></div>
+                 ng-click="(!!selId && isIntentInstalled()) ? deactivateIntent():''"></div>
 
 
         </div>
diff --git a/web/gui/src/main/webapp/app/view/intent/intent.js b/web/gui/src/main/webapp/app/view/intent/intent.js
index b033dd3..f241c83 100644
--- a/web/gui/src/main/webapp/app/view/intent/intent.js
+++ b/web/gui/src/main/webapp/app/view/intent/intent.js
@@ -35,6 +35,8 @@
             $scope.briefTip = 'Switch to brief view';
             $scope.detailTip = 'Switch to detailed view';
             $scope.brief = true;
+            $scope.intentState = 'NA';
+            $scope.fired = false;
 
             function selCb($event, row) {
                 $log.debug('Got a click on:', row);
@@ -47,12 +49,24 @@
                     appName: name,
                     key: row.key
                 } : null;
+
+                $scope.intentState = row.state;
+            }
+
+            function respCb() {
+                if ($scope.fired) {
+                    if ($scope.changedData) {
+                        $scope.intentState = $scope.changedData.state;
+                    }
+                    $scope.fired = false;
+                }
             }
 
             tbs.buildTable({
                 scope: $scope,
                 tag: 'intent',
                 selCb: selCb,
+                respCb: respCb,
                 idKey: 'key'
             });
 
@@ -64,6 +78,10 @@
                 d && ns.navTo('topo', d);
             };
 
+            $scope.isIntentInstalled = function () {
+                return $scope.intentState === 'Installed';
+            };
+
             $scope.deactivateIntent = function () {
                 var content = ds.createDiv();
 
@@ -73,6 +91,7 @@
                 function dOk() {
                     var d = $scope.intentData;
                     d && tts.removeIntent(d);
+                    $scope.fired = true;
                 }
 
                 function dCancel() {