From 4aff8f5eafb6fbd6cc2c764fa1a5a676fa05c89c Mon Sep 17 00:00:00 2001 From: vasraz Date: Thu, 24 Mar 2022 18:31:14 +0000 Subject: Implement adding Interface to VFC Change-Id: I7cd8b82c306294d897d37d486aa3eeff7ca4206d Signed-off-by: Vasyl Razinkov Issue-ID: SDC-3893 Signed-off-by: andre.schmid --- .../interface-operation.page.component.ts | 87 +++++++++++++--------- 1 file changed, 51 insertions(+), 36 deletions(-) (limited to 'catalog-ui/src/app/ng2/pages/interface-operation') diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts b/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts index 4f93e727ec..75a31b96c0 100644 --- a/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts +++ b/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts @@ -1,36 +1,52 @@ +/* +* ============LICENSE_START======================================================= +* SDC +* ================================================================================ +* Copyright (C) 2022 Nordix Foundation. All rights reserved. +* ================================================================================ +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* SPDX-License-Identifier: Apache-2.0 +* ============LICENSE_END========================================================= +*/ import * as _ from "lodash"; -import { Component, Input, Inject } from '@angular/core'; -import {Component as IComponent } from 'app/models/components/component'; +import {Component, Inject, Input} from '@angular/core'; +import {Component as IComponent} from 'app/models/components/component'; -import { SdcConfigToken, ISdcConfig } from "app/ng2/config/sdc-config.config"; -import {TranslateService } from "app/ng2/shared/translator/translate.service"; +import {ISdcConfig, SdcConfigToken} from "app/ng2/config/sdc-config.config"; +import {TranslateService} from "app/ng2/shared/translator/translate.service"; -import {Observable } from "rxjs/Observable"; +import {Observable} from "rxjs/Observable"; -import { ModalComponent } from 'onap-ui-angular/dist/modals/modal.component'; -import {ModalService } from 'app/ng2/services/modal.service'; +import {ModalComponent} from 'onap-ui-angular/dist/modals/modal.component'; +import {ModalService} from 'app/ng2/services/modal.service'; import { + CapabilitiesGroup, + Capability, InputBEModel, - OperationModel, InterfaceModel, - WORKFLOW_ASSOCIATION_OPTIONS, - CapabilitiesGroup, - Capability + OperationModel, + WORKFLOW_ASSOCIATION_OPTIONS } from 'app/models'; -// import {SdcUiComponents } from 'sdc-ui/lib/angular'; -// import {ModalButtonComponent } from 'sdc-ui/lib/angular/components'; -// import { IModalButtonComponent, IModalConfig } from 'sdc-ui/lib/angular/modals/models/modal-config'; +import {ComponentServiceNg2} from 'app/ng2/services/component-services/component.service'; +import {PluginsService} from 'app/ng2/services/plugins.service'; +import {WorkflowServiceNg2} from 'app/ng2/services/workflow.service'; -import {ComponentServiceNg2 } from 'app/ng2/services/component-services/component.service'; -import {PluginsService } from 'app/ng2/services/plugins.service'; -import {WorkflowServiceNg2 } from 'app/ng2/services/workflow.service'; - -import { OperationCreatorComponent, OperationCreatorInput } from 'app/ng2/pages/interface-operation/operation-creator/operation-creator.component'; -import { IModalButtonComponent } from 'onap-ui-angular'; -import { ModalButtonComponent } from 'onap-ui-angular'; -import { IModalConfig } from 'onap-ui-angular'; -import { SdcUiServices } from 'onap-ui-angular'; +import { + OperationCreatorComponent, + OperationCreatorInput +} from 'app/ng2/pages/interface-operation/operation-creator/operation-creator.component'; +import {IModalButtonComponent, IModalConfig, SdcUiServices} from 'onap-ui-angular'; export class UIOperationModel extends OperationModel { isCollapsed: boolean = true; @@ -143,7 +159,6 @@ export class InterfaceOperationComponent { private WorkflowServiceNg2: WorkflowServiceNg2, private ModalServiceNg2: ModalService, private ModalServiceSdcUI: SdcUiServices.ModalService - ) { this.enableWorkflowAssociation = sdcConfig.enableWorkflowAssociation; this.modalTranslation = new ModalTranslation(TranslateService); @@ -164,7 +179,7 @@ export class InterfaceOperationComponent { this.sortInterfaces(); this.inputs = response[1].inputs; this.interfaceTypes = response[2]; - this.workflows = (workflows.items) ? workflows.items: workflows; + this.workflows = (workflows.items) ? workflows.items : workflows; this.capabilities = response[3].capabilities; }; if (this.enableWorkflowAssociation && this.workflowIsOnline) { @@ -308,16 +323,16 @@ export class InterfaceOperationComponent { closeModal: true, callback: () => { this.ComponentServiceNg2 - .deleteInterfaceOperation(this.component, operation) - .subscribe(() => { - const curInterf = _.find(this.interfaces, (interf) => interf.type === operation.interfaceType); - const index = _.findIndex(curInterf.operations, (el) => el.uniqueId === operation.uniqueId); - curInterf.operations.splice(index, 1); - if (!curInterf.operations.length) { - const interfIndex = _.findIndex(this.interfaces, (interf) => interf.type === operation.interfaceType); - this.interfaces.splice(interfIndex, 1); - } - }); + .deleteInterfaceOperation(this.component, operation) + .subscribe(() => { + const curInterf = _.find(this.interfaces, (interf) => interf.type === operation.interfaceType); + const index = _.findIndex(curInterf.operations, (el) => el.uniqueId === operation.uniqueId); + curInterf.operations.splice(index, 1); + if (!curInterf.operations.length) { + const interfIndex = _.findIndex(this.interfaces, (interf) => interf.type === operation.interfaceType); + this.interfaces.splice(interfIndex, 1); + } + }); } }; @@ -372,7 +387,7 @@ export class InterfaceOperationComponent { } else if (response.workflowId && operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXISTING) { this.WorkflowServiceNg2.associateWorkflowArtifact(this.component, response).subscribe(); } else if (operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.NEW) { - this.$state.go('workspace.plugins', { path: 'workflowDesigner' }); + this.$state.go('workspace.plugins', {path: 'workflowDesigner'}); } }); } -- cgit 1.2.3-korg