aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2020-03-12 10:46:51 +0200
committerEinat Vinouze <einat.vinouze@intl.att.com>2020-03-16 09:55:42 +0200
commit1c55c3023fb2d4108d17ae02577e74665dcae9ff (patch)
treeeb537ad4c49a73cc1f089af3b9a3a44e489b2c00
parent572d023b1eaddafca6d407eaf3f5fc3aadbcec7e (diff)
allow LOB multi-selection for network - add FF
Issue-ID: VID-788 Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Change-Id: I5358252a336730697bca3486c461f23354c823c0 Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
-rw-r--r--features.properties.md4
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/properties/Features.java1
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/Features.java1
-rw-r--r--vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts46
4 files changed, 43 insertions, 9 deletions
diff --git a/features.properties.md b/features.properties.md
index 23d92829e..dedb0e371 100644
--- a/features.properties.md
+++ b/features.properties.md
@@ -225,6 +225,10 @@
* FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT
When flag is true the platform will appear as a multi select field, if false the platform will be dropdown list.
+
+* FLAG_2006_NETWORK_LOB_MULTI_SELECT
+ When flag is true the LOB will appear as a multi select field, if false the platform will be dropdown list.
+
* FLAG_EXP_USE_FORMAT_PARAMETER_FOR_CM_DASHBOARD
diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
index e52571906..35f18aafe 100644
--- a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
+++ b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
@@ -91,6 +91,7 @@ public enum Features implements Feature {
FLAG_EXP_TOPOLOGY_TREE_VFMODULE_NAMES_FROM_OTHER_TOSCA_VERSIONS,
FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT,
FLAG_EXP_USE_FORMAT_PARAMETER_FOR_CM_DASHBOARD,
+ FLAG_2006_NETWORK_LOB_MULTI_SELECT,
;
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Features.java b/vid-automation/src/main/java/vid/automation/test/infra/Features.java
index f0065869f..361ccd70e 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/Features.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/Features.java
@@ -62,6 +62,7 @@ public enum Features implements Feature {
FLAG_2006_LIMIT_OWNING_ENTITY_SELECTION_BY_ROLES,
FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF,
FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT,
+ FLAG_2006_NETWORK_LOB_MULTI_SELECT,
;
diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts
index c41c6c282..97c5516db 100644
--- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts
+++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts
@@ -48,7 +48,7 @@ export class SharedControllersService {
return this.getLineOfBusinessControlInternal(changeLcpRegionOptionsOnChange, instance);
};
- private getLineOfBusinessControlInternal = (onChange: Function, instance?: any): DropdownFormControl => {
+ private getLineOfBusinessControlInternal = (onChange: Function, instance?: any): DropdownFormControl => {
return new DropdownFormControl({
type: FormControlType.DROPDOWN,
controlName: 'lineOfBusiness',
@@ -288,23 +288,51 @@ export class SharedControllersService {
}
getPlatformMultiselectControl = (instance: any, controls: FormControlModel[], isMultiSelected: boolean) : MultiselectFormControl => {
+ return this.getMultiSelectFormControl(
+ 'platformName',
+ 'Platform',
+ 'multi-selectPlatform',
+ 'Select Platform',
+ "platform",
+ instance,
+ instance ? instance.platformName : null,
+ isMultiSelected,
+ 'platformList'
+ );
+ };
+
+ getLobMultiselectControl = (instance: any, controls: FormControlModel[], isMultiSelected: boolean) : MultiselectFormControl => {
+ return this.getMultiSelectFormControl(
+ 'lineOfBusiness',
+ 'Line of business',
+ 'multi-lineOfBusiness',
+ 'Select Line Of Business',
+ "lineOfBusiness",
+ instance,
+ instance ? instance.lineOfBusiness : null,
+ isMultiSelected,
+ 'lineOfBusinessList');
+ };
+
+ private getMultiSelectFormControl(controlName: string, displayName: string, dataTestId: string, placeholder: string,
+ name: string, instance: any, defaultValue, isMultiSelected: boolean, catagoryParamResponseFieldName: string) {
return new MultiselectFormControl({
type: FormControlType.MULTI_SELECT,
- controlName: 'platformName',
- displayName: 'Platform',
- dataTestId: 'multi-selectPlatform',
+ controlName,
+ displayName,
+ dataTestId,
selectedFieldName: 'name',
ngValue: 'name',
- placeHolder: 'Select Platform',
+ placeHolder: placeholder,
isDisabled: false,
- name: "platform",
- value: instance ? instance.platformName : '',
+ name: name,
+ value: instance ? defaultValue : '',
limitSelection: isMultiSelected ? 1000 : 1,
validations: [new ValidatorModel(ValidatorOptions.required, 'is required')],
- onInitSelectedField: ['platformList'],
+ onInitSelectedField: [catagoryParamResponseFieldName],
onInit: this._basicControlGenerator.getSubscribeInitResult.bind(null, this._aaiService.getCategoryParameters),
onChange: (param: MultiSelectItem[], form: FormGroup) => {
- form.controls['platformName'].setValue(param.map((multiSelectItem: MultiSelectItem) => {
+ form.controls[controlName].setValue(param.map((multiSelectItem: MultiSelectItem) => {
return multiSelectItem.itemName
}).join(','));
},