You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2021/07/14 13:57:52 UTC
[brooklyn-ui] 02/05: allow inspector to enable resolving or not
resolving the config
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 <al...@cloudsoftcorp.com>
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>