summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts14
-rw-r--r--catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html4
2 files changed, 14 insertions, 4 deletions
diff --git a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts
index a0e8ca9365..96ce7d5fb4 100644
--- a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts
+++ b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts
@@ -802,6 +802,13 @@ export class GeneralViewModel {
}
this.$scope.component.selectedCategory = this.$scope.componentCategories.selectedCategory;
if (this.$scope.component.selectedCategory) {
+ this.$scope.roleOption = null;
+ (<Service>this.$scope.component).serviceRole = null;
+ this.$scope.othersFlag = false;
+ this.$scope.functionOption = null;
+ (<Service>this.$scope.component).serviceFunction = null;
+ this.$scope.othersRoleFlag = false;
+
this.$scope.component.categories = this.convertCategoryStringToOneArray();
this.$scope.component.icon = DEFAULT_ICON;
if (this.$scope.component.categories[0].metadataKeys) {
@@ -811,6 +818,7 @@ export class GeneralViewModel {
}
if (metadataKey.name === 'Service Role') {
this.$scope.roleOption = this.$scope.component.categorySpecificMetadata[metadataKey.name];
+ (<Service>this.$scope.component).serviceRole = this.$scope.roleOption;
}
if (metadataKey.name === 'Service Function') {
this.$scope.functionOption = this.$scope.component.categorySpecificMetadata[metadataKey.name];
@@ -951,8 +959,10 @@ export class GeneralViewModel {
this.$scope.isMetadataKeyForComponentCategoryService = (key: string, attribute: string): boolean => {
let metadatakey = this.getMetadataKey(key);
- if (metadatakey && (!this.$scope.component[attribute] || !metadatakey.validValues.find(v => v === this.$scope.component[attribute]))) {
- this.$scope.component[attribute] = metadatakey.defaultValue;
+ if (attribute != 'serviceFunction' && attribute != 'serviceRole') {
+ if (metadatakey && (!this.$scope.component[attribute] || !metadatakey.validValues.find(v => v === this.$scope.component[attribute]))) {
+ this.$scope.component[attribute] = metadatakey.defaultValue;
+ }
}
return metadatakey != null;
}
diff --git a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
index 1432729293..1a7c493b0f 100644
--- a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
+++ b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
@@ -475,7 +475,7 @@
<div ng-if="component.isService() && !isNotApplicableMetadataKeys('Service Role')"
class="i-sdc-form-item"
data-ng-class="{'error': validateField(editForm.serviceRole)}">
- <div ng-if="component.selectedCategory">
+ <div ng-if="component.selectedCategory && isMetadataKeyForComponentCategoryService('Service Role', 'serviceRole')">
<div ng-if="isMetadataKeyMandatory('Service Role')">
<label class="i-sdc-form-label required" translate="GENERAL_TAB_LABEL_SERVICE_ROLE"></label>
</div>
@@ -530,7 +530,7 @@
<div ng-if="component.isService() && !isNotApplicableMetadataKeys('Service Function')"
class="i-sdc-form-item"
data-ng-class="{'error': validateField(editForm.serviceFunction)}">
- <div ng-if="component.selectedCategory">
+ <div ng-if="component.selectedCategory && isMetadataKeyForComponentCategoryService('Service Function', 'serviceFunction')">
<div ng-if="isMetadataKeyMandatory('Service Function')">
<label class="i-sdc-form-label required" translate="GENERAL_TAB_LABEL_SERVICE_FUNCTION"></label>
</div>