[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() {