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>
