This is an automated email from the ASF dual-hosted git repository.
iuliana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-ui.git
The following commit(s) were added to refs/heads/master by this push:
new 9f29508 support for configuring entity parameters via table in summary
new 78cb029 Merge pull request #307 from
zan-mateusz/feature/reconfigure-entity-parameters-via-summary-config-table
9f29508 is described below
commit 9f295086983bef58c50e3be99b04aa07ceb2b2e2
Author: zan-mateusz <[email protected]>
AuthorDate: Wed Oct 27 23:46:40 2021 +0100
support for configuring entity parameters via table in summary
---
.../config-sensor-table.directive.js | 1 +
.../config-sensor-table.style.less | 23 ++++++++++++++++++++++
.../config-sensor-table.template.html | 11 +++++++++--
.../components/providers/entity-api.provider.js | 5 +++++
.../main/inspect/sensors/sensors.controller.js | 5 +++++
.../main/inspect/sensors/sensors.template.html | 2 +-
.../main/inspect/summary/summary.controller.js | 9 +++++++++
.../main/inspect/summary/summary.template.html | 1 +
8 files changed, 54 insertions(+), 3 deletions(-)
diff --git
a/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.directive.js
b/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.directive.js
index 3f0f0ca..40e23b7 100644
---
a/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.directive.js
+++
b/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.directive.js
@@ -39,6 +39,7 @@ export function configSensorTableDirective(brSnackbar) {
data: '=',
info: '=',
checkPlaintextSensitiveKeyValue: '<',
+ reconfigureCallback: '<',
},
link,
};
diff --git
a/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.style.less
b/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.style.less
index d52d8f2..bf57d6c 100644
---
a/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.style.less
+++
b/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.style.less
@@ -42,6 +42,29 @@
.grid-even {
background: @primary-5;
}
+
+ .grid-editable:not(.edit-disabled):after {
+ font-family: "myriad-pro-1", Helvetica, Arial, sans-serif, FontAwesome;
+ content: '\f040 Edit';
+ opacity: 0.2;
+ color: @primary-50;
+ }
+
+ .grid-editable {
+ border: none;
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+ padding: 8px;
+
+ &:hover {
+ background: fade(@primary-50, 10%);
+
+ &:after {
+ opacity: 1.0;
+ }
+ }
+ }
}
diff --git
a/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.template.html
b/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.template.html
index 5fc2523..af4a858 100644
---
a/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.template.html
+++
b/ui-modules/app-inspector/app/components/config-sensor-table/config-sensor-table.template.html
@@ -36,8 +36,15 @@
<div class="col2 config-value" ng-class="{ 'grid-even': $index%2 }"
ng-repeat-end>
<div class="content-row">
<span class="content">
- <span ng-if="item.value === null"><i>value not
set</i></span>
- <span ng-if="item.value !== null" ng-bind-html="item.value
| brLinky:mapInfo[item.key]" class="literal-lines"></span>
+ <div ng-show= "mapInfo[item.key].reconfigurable"
ng-class="{'grid-editable': mapInfo[item.key].reconfigurable}"
editable-text="item.value"
+ edit-disabled="!mapInfo[item.key].reconfigurable"
onbeforesave="reconfigureCallback(item.key,$data)" buttons="right"
e-disabled-submit-on-enter>
+ <span ng-if="item.value === null"><i>value not
set</i></span>
+ <span ng-if="item.value !== null"
ng-bind-html="item.value | brLinky:mapInfo[item.key]"
class="literal-lines"></span>
+ </div>
+ <div ng-show="!mapInfo[item.key].reconfigurable">
+ <span ng-if="item.value === null"><i>value not
set</i></span>
+ <span ng-if="item.value !== null"
ng-bind-html="item.value | brLinky:mapInfo[item.key]"
class="literal-lines"></span>
+ </div>
</span>
<span class="extras">
<i class="fa fa-exclamation-triangle warning-icon"
ng-class="{invisible: !item.isPlaintextSensitiveValue}"
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 9f59de8..e50deac 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
@@ -57,6 +57,7 @@ function EntityApi($http, $q) {
entityLocations: getEntityLocations,
updateEntityName: updateEntityName,
+ updateEntityConfig: updateEntityConfig,
resetEntityProblems: resetEntityProblems,
expungeEntity: expungeEntity,
@@ -147,6 +148,10 @@ function EntityApi($http, $q) {
}
});
}
+ function updateEntityConfig(applicationId, entityId, config, value) {
+ return $http.post('/v1/applications/' + applicationId + '/entities/' +
entityId + '/config/' + config,
+ JSON.stringify(value) , {headers: {'Content-Type':
'application/json'}});
+ }
function resetEntityProblems(applicationId, entityId) {
return $q.all([
$http.post('/v1/applications/' + applicationId + '/entities/' +
entityId + '/sensors/service.notUp.indicators', {}),
diff --git
a/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.controller.js
b/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.controller.js
index 75f90d3..bbe365a 100644
---
a/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.controller.js
+++
b/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.controller.js
@@ -40,6 +40,11 @@ function sensorsController($scope, $stateParams, entityApi) {
let observers = [];
+ vm.reconfigureCallback = () => {
+ // TODO - do we want to support reconfiguration in sensors?
+ // Currently out of scope
+ }
+
entityApi.entitySensorsState(applicationId, entityId).then((response)=> {
vm.sensors = response.data;
vm.error.sensors = undefined;
diff --git
a/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.template.html
b/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.template.html
index 6ecd6a2..b69ad0a 100644
---
a/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.template.html
+++
b/ui-modules/app-inspector/app/views/main/inspect/sensors/sensors.template.html
@@ -18,4 +18,4 @@
-->
<loading-state error="vm.error.sensors" ng-if="!vm.sensors ||
!vm.sensorsInfo"></loading-state>
-<config-sensor-table data="vm.sensors" info="vm.sensorsInfo" ng-if="vm.sensors
&& vm.sensorsInfo"></config-sensor-table>
\ No newline at end of file
+<config-sensor-table data="vm.sensors" info="vm.sensorsInfo"
reconfigureCallback="vm.reconfigureCallback" ng-if="vm.sensors &&
vm.sensorsInfo"></config-sensor-table>
\ No newline at end of file
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 c122ac0..4ddf612 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
@@ -90,6 +90,15 @@ export function summaryController($scope, $state,
$stateParams, $q, $http, $http
vm.checkPlaintextSensitiveKeyValue = (key,value) =>
key && vm.config && vm.config[key] && isSensitiveFieldName(key) &&
!vm.config[key].toString().startsWith('$brooklyn:');
+ vm.reconfigureCallback = (key,newValue) => {
+
entityApi.updateEntityConfig(applicationId,entityId,key,newValue).then((response)=>
{
+ brSnackbar.create('Configuration updated successfully');
+ }).catch((error)=> {
+ brSnackbar.create(response.data.message);
+ });
+ }
+
+
// no return
vm.refreshConfig = () => {
const handleError = (message) => {
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 b8cbd2d..9380275 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
@@ -190,6 +190,7 @@
<config-sensor-table ng-if="vm.configItems"
data="vm.configItems" info="vm.configInfo"
check-plaintext-sensitive-key-value="vm.checkPlaintextSensitiveKeyValue"
+ reconfigure-callback="vm.reconfigureCallback"
></config-sensor-table>
</div>
<div class="grid-option-footer">