export const SUPPLEMENTARY_FILE = 'supplementaryFile';
export const SDN_C_PRE_LOAD = 'sdncPreLoad';
+export const PAUSE_INSTANTIATION = 'pauseInstantiation';
@Injectable()
export class ControlGeneratorUtil {
import {NgRedux} from "@angular-redux/store";
import {AppState} from "../../../../store/reducers";
import {AaiService} from "../../../../services/aaiService/aai.service";
-import {ControlGeneratorUtil, SDN_C_PRE_LOAD} from "../control.generator.util.service";
+import {ControlGeneratorUtil, PAUSE_INSTANTIATION, SDN_C_PRE_LOAD} from "../control.generator.util.service";
import * as _ from "lodash";
import {FormGroup} from "@angular/forms";
import {Constants} from "../../../../utils/constants";
import {NodeModel} from "../../../../models/nodeModel";
import {MultiselectFormControl} from "../../../../models/formControlModels/multiselectFormControl.model";
import {MultiSelectItem} from "../../../formControls/component/multiselect/multiselect.model";
+import {PauseStatus} from "../../../../models/serviceInstanceActions";
@Injectable()
export class SharedControllersService {
})
};
+ getPauseInstantiation = (instance: any) : FormControlModel => {
+ return new CheckboxFormControl({
+ controlName: PAUSE_INSTANTIATION,
+ displayName: 'Pause upon Completion',
+ dataTestId: 'pauseInstantiation',
+ value: instance && instance.pauseInstantiation === PauseStatus.AFTER_COMPLETION
+ })
+ }
+
getProductFamilyControl = (instance : any, controls : FormControlModel[], isMandatory?: boolean) : DropdownFormControl => {
return new DropdownFormControl({
type : FormControlType.DROPDOWN,
});
each([
- [true, 4, formControlsWithoutLcpRegionTenantLegacy],
- [false, 7,formControlsWithLcpRegionTenantLegacy]
+ [true, 5, formControlsWithoutLcpRegionTenantLegacy],
+ [false, 8,formControlsWithLcpRegionTenantLegacy]
]).
test('getAlaCarteFormControls should return the correct order of controls', (flag: boolean, controlAmount: number, orderedControls: string[]) => {
when(mockFeatureFlagsService.getFlagState(Features.FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF)).thenReturn(flag);
import {ButtonType} from "../../../customModal/models/button.type";
import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
import {FeatureFlagsService, Features} from "../../../../services/featureFlag/feature-flags.service";
+import {PauseStatus} from "../../../../models/serviceInstanceActions";
export enum FormControlNames {
INSTANCE_NAME = 'instanceName',
}
const vnf: VnfInstance = this.store.getState().service.serviceInstance[serviceId].vnfs[vnfStoreKey];
const vnfModel = this.newVNFModel(serviceId, vnf);
-
const vfModuleInstance = this._basicControlGenerator.retrieveInstanceIfUpdateMode(this.store, this.getVfModuleInstance(serviceId, vnfStoreKey, uuidData, isUpdateMode));
let result: FormControlModel[] = [];
this.pushInstanceAndVGToForm(result, vfModuleInstance, serviceId, vnfModel, true);
}
result.push(this._sharedControllersService.getRollbackOnFailureControl(vfModuleInstance));
result.push(this._sharedControllersService.getSDNCControl(vfModuleInstance, false, this.getSdncExtraContents()));
+ result.push(this._sharedControllersService.getPauseInstantiation(vfModuleInstance));
if (this.store.getState().global.flags['FLAG_SUPPLEMENTARY_FILE']) {
result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance);
}
import {createVFModuleInstance, updateVFModuleInstance} from "../../../../storeUtil/utils/vfModule/vfModule.actions";
import {SharedControllersService} from "../../../genericForm/formControlsServices/sharedControlles/shared.controllers.service";
import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
+import {PauseStatus} from "../../../../models/serviceInstanceActions";
export abstract class VfModulePopupServiceBase {
dynamicInputs: any;
closeDialogEvent: Subject<any> = new Subject<any>();
isUpdateMode: boolean;
storeVFModule = (that, formValues: any): void => {
+ formValues.pauseInstantiation = (formValues.pauseInstantiation || formValues.pauseInstantiation === PauseStatus.AFTER_COMPLETION)
+ ? PauseStatus.AFTER_COMPLETION : null;
formValues.modelInfo = new ModelInfo(that.model);
formValues.uuid = formValues.modelInfo.uuid;
formValues.isMissingData = false;
-
if (!that.uuidData.vFModuleStoreKey) {
this._store.dispatch(createVFModuleInstance(formValues, that.uuidData.modelName, that.uuidData.serviceId, 0, that.uuidData.vnfStoreKey));
} else {
getModelInformation(serviceId: string, modelName: string, vfModuleModeNode:ITreeNode) {
this._aaiService.getServiceModelById(serviceId).subscribe((result: any) => {
this.serviceModel = new ServiceModel(result);
-
this.model = this._basicPopupService.getModelFromResponse(result, 'vfModules', modelName);
const serviceInstance = this._store.getState().service.serviceInstance[serviceId];
this.modelInformations = [