summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles')
-rw-r--r--vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.spec.ts13
-rw-r--r--vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts30
2 files changed, 42 insertions, 1 deletions
diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.spec.ts
index 58ee33b53..f456a747a 100644
--- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.spec.ts
+++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.spec.ts
@@ -11,7 +11,6 @@ import {FormControlModel, ValidatorOptions} from "../../../../models/formControl
import {ControlGeneratorUtil} from "../control.generator.util.service";
-
describe('Shared Controllers Service', () => {
let injector;
let service: SharedControllersService;
@@ -118,6 +117,18 @@ describe('Shared Controllers Service', () => {
const legacyRegionControl: FormControlModel = service.getLegacyRegion(instance);
expect(legacyRegionControl.isVisible).toBeFalsy();
});
+
+ test('multiSelectFlag is not activated should generate platform multi select control with 1 as limitSelection', ()=>{
+ const control = service.getPlatformMultiselectControl(null, [],false);
+ expect(control.dataTestId).toEqual('multi-selectPlatform');
+ expect(control.limitSelection).toEqual(1);
+ });
+
+ test('multiSelectFlag is activated should generate platform multi select control with 1000 as limitSelection', ()=>{
+ const control = service.getPlatformMultiselectControl(null, [],true);
+ expect(control.dataTestId).toEqual('multi-selectPlatform');
+ expect(control.limitSelection).toEqual(1000);
+ });
});
class MockAppStore<T> {
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 4b567328d..c41c6c282 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
@@ -18,6 +18,8 @@ import {InputFormControl} from "../../../../models/formControlModels/inputFormCo
import {NodeModel} from "../../../../models/nodeModel";
import {LcpRegion} from "../../../../models/lcpRegion";
import {Tenant} from "../../../../models/tenant";
+import {MultiselectFormControl} from "../../../../models/formControlModels/multiselectFormControl.model";
+import {MultiSelectItem} from "../../../formControls/component/multiselect/multiselect.model";
@Injectable()
export class SharedControllersService {
@@ -284,4 +286,32 @@ export class SharedControllersService {
formControlModel.value = instance ? instance.instanceName : null;
return formControlModel;
}
+
+ getPlatformMultiselectControl = (instance: any, controls: FormControlModel[], isMultiSelected: boolean) : MultiselectFormControl => {
+ return new MultiselectFormControl({
+ type: FormControlType.MULTI_SELECT,
+ controlName: 'platformName',
+ displayName: 'Platform',
+ dataTestId: 'multi-selectPlatform',
+ selectedFieldName: 'name',
+ ngValue: 'name',
+ placeHolder: 'Select Platform',
+ isDisabled: false,
+ name: "platform",
+ value: instance ? instance.platformName : '',
+ limitSelection: isMultiSelected ? 1000 : 1,
+ validations: [new ValidatorModel(ValidatorOptions.required, 'is required')],
+ onInitSelectedField: ['platformList'],
+ onInit: this._basicControlGenerator.getSubscribeInitResult.bind(null, this._aaiService.getCategoryParameters),
+ onChange: (param: MultiSelectItem[], form: FormGroup) => {
+ form.controls['platformName'].setValue(param.map((multiSelectItem: MultiSelectItem) => {
+ return multiSelectItem.itemName
+ }).join(','));
+ },
+ convertOriginalDataToArray: (value?: string) => {
+ if (_.isNil(value)) return [];
+ return value.split(',');
+ }
+ });
+ }
}