diff options
author | Zuul <zuul@review.opendev.org> | 2022-12-07 18:09:15 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-12-07 18:09:15 +0000 |
commit | cc15f48bc3ab47e01da782c8963023a477b48f38 (patch) | |
tree | 58a91466bc33ee9aaa06fcc6aa80dc2b6813c0c6 | |
parent | 1de4ed79e136e17e146c99fd4be6a40a397293e9 (diff) | |
parent | 5264497e9868e37aaee2343d9d1a0fbd19ea948d (diff) | |
download | horizon-cc15f48bc3ab47e01da782c8963023a477b48f38.tar.gz |
Merge "Make readonly metadata properties unable to edit" into stable/zed
-rw-r--r-- | horizon/static/framework/widgets/metadata/tree/metadata-tree-item.controller.js | 8 | ||||
-rw-r--r-- | horizon/static/framework/widgets/metadata/tree/tree.service.js | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.controller.js b/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.controller.js index 27ab57d29..c4f8fb5af 100644 --- a/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.controller.js +++ b/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.controller.js @@ -16,6 +16,8 @@ (function () { 'use strict'; + var READONLY_PROPERTIES = ['os_hash_algo', 'os_hash_value']; + angular .module('horizon.framework.widgets.metadata.tree') .controller('MetadataTreeItemController', MetadataTreeItemController); @@ -33,6 +35,12 @@ ctrl.opened = false; this.$onInit = function init() { + if ('item' in ctrl && 'leaf' in ctrl.item && + READONLY_PROPERTIES.includes(ctrl.item.leaf.name)) { + ctrl.item.leaf.readonly = true; + ctrl.item.leaf.required = false; + } + if ('item' in ctrl && 'leaf' in ctrl.item && ctrl.item.leaf.type === 'array') { ctrl.values = ctrl.item.leaf.items.enum.filter(filter).sort(); diff --git a/horizon/static/framework/widgets/metadata/tree/tree.service.js b/horizon/static/framework/widgets/metadata/tree/tree.service.js index 1256985f5..47ba1a844 100644 --- a/horizon/static/framework/widgets/metadata/tree/tree.service.js +++ b/horizon/static/framework/widgets/metadata/tree/tree.service.js @@ -71,6 +71,8 @@ Property.prototype.setValue = function (value) { if (value === null) { this.value = this.type !== 'array' ? null : []; + // if the existing property is null, make the field not required + this.required = false; return; } |