This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-ui.git

commit b1ed1aacdd02b527ac0616cbbcf5ce5b2e954d75
Author: Alex Heneveld <[email protected]>
AuthorDate: Tue Jul 13 17:27:17 2021 +0100

    allow inspector to enable resolving or not resolving the config
---
 .../components/providers/entity-api.provider.js    |  5 ++--
 .../main/inspect/summary/summary.controller.js     | 32 ++++++++++++++++------
 .../app/views/main/inspect/summary/summary.less    |  7 +++++
 .../main/inspect/summary/summary.template.html     | 10 +++++++
 4 files changed, 44 insertions(+), 10 deletions(-)

diff --git 
a/ui-modules/app-inspector/app/components/providers/entity-api.provider.js 
b/ui-modules/app-inspector/app/components/providers/entity-api.provider.js
index 903202f..bbf0d56 100644
--- a/ui-modules/app-inspector/app/components/providers/entity-api.provider.js
+++ b/ui-modules/app-inspector/app/components/providers/entity-api.provider.js
@@ -78,8 +78,9 @@ function EntityApi($http, $q) {
     function getEntityConfigInfo(applicationId, entityId) {
         return $http.get('/v1/applications/' + applicationId + '/entities/' + 
entityId + '/config', {observable: true, ignoreLoadingBar: true});
     }
-    function getEntityConfigState(applicationId, entityId) {
-        return $http.get('/v1/applications/' + applicationId + '/entities/' + 
entityId + '/config/current-state', {observable: true, ignoreLoadingBar: true});
+    function getEntityConfigState(applicationId, entityId, skipResolution) {
+        skipResolution = skipResolution ? true : false;
+        return $http.get('/v1/applications/' + applicationId + '/entities/' + 
entityId + 
'/config/current-state?suppressSecrets=true&skipReslution='+skipResolution, 
{observable: true, ignoreLoadingBar: true});
     }
     function getEntitySpec(applicationId, entityId) {
         return $http.get('/v1/applications/' + applicationId + '/entities/' + 
entityId + '/spec', {observable: true, ignoreLoadingBar: true});
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/summary/summary.controller.js 
b/ui-modules/app-inspector/app/views/main/inspect/summary/summary.controller.js
index 99bffdf..51d6543 100644
--- 
a/ui-modules/app-inspector/app/views/main/inspect/summary/summary.controller.js
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/summary/summary.controller.js
@@ -74,16 +74,32 @@ export function summaryController($scope, $state, 
$stateParams, $q, $http, brSna
         vm.error.config = 'Cannot load configuration for entity with ID: ' + 
entityId;
     });
 
-    entityApi.entityConfigInfo(applicationId, entityId).then((response)=> {
-        vm.configInfo = response.data;
-        vm.error.config = undefined;
-        observers.push(response.subscribe((response)=> {
+    vm.configResolved = false;
+
+    vm.refreshConfig = (initialSubscription) => {
+        entityApi.entityConfigInfo(applicationId, entityId, 
!vm.configResolved).then((response) => {
             vm.configInfo = response.data;
             vm.error.config = undefined;
-        }));
-    }).catch((error)=> {
-        vm.error.config = 'Cannot load configuration information for entity 
with ID: ' + entityId;
-    });
+            let processConfig = (response) => {
+                vm.configInfo = response.data;
+                vm.error.config = undefined;
+            };
+
+            if (initialSubscription) {
+                observers.push(response.subscribe(processConfig));
+            } else {
+                processConfig(response);
+            }
+        }).catch((error) => {
+            vm.error.config = 'Cannot load configuration information for 
entity with ID: ' + entityId;
+        });
+    }
+    vm.refreshConfig(true);
+
+    vm.toggleConfigResolved = () => {
+        vm.configResolved = !vm.configResolved;
+        vm.refreshConfig(false);
+    }
 
     entityApi.entitySpecList(applicationId, entityId).then((response)=> {
         vm.specList = response.data;
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/summary/summary.less 
b/ui-modules/app-inspector/app/views/main/inspect/summary/summary.less
index 059df66..5c98635 100644
--- a/ui-modules/app-inspector/app/views/main/inspect/summary/summary.less
+++ b/ui-modules/app-inspector/app/views/main/inspect/summary/summary.less
@@ -91,6 +91,13 @@
   }
 }
 
+.table-option-footer {
+  float: right;
+  font-style: italic;
+  margin-top: -18px;
+  margin-bottom: 24px;
+}
+
 .location-multi {
   color: @gray-light;
   font-style: italic;
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/summary/summary.template.html 
b/ui-modules/app-inspector/app/views/main/inspect/summary/summary.template.html
index 8e844b9..341b7c2 100644
--- 
a/ui-modules/app-inspector/app/views/main/inspect/summary/summary.template.html
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/summary/summary.template.html
@@ -175,5 +175,15 @@
             <loading-state error="vm.error.config" 
ng-if="!vm.config"></loading-state>
             <config-sensor-table data="vm.config" info="vm.configInfo" 
ng-if="vm.config"></config-sensor-table>
         </div>
+        <div class="table-option-footer">
+            <button ng-click="vm.toggleConfigResolved()" ng-class="{ 
'btn-outline': !vm.configResolved, 'btn-accent': vm.configResolved }">
+                <span ng-if="vm.configResolved" uib-tooltip="Show unresolved 
DSL values">
+                    <i class="fa fa-code"></i>
+                </span>
+                <span ng-if="!vm.configResolved" uib-tooltip="Show resolved 
values">
+                    <i class="fa fa-code"></i>
+                </span>
+            </button>
+        </div>
     </br-collapsible>
 </div>

Reply via email to