diff options
author | 2020-04-01 14:25:35 +0300 | |
---|---|---|
committer | 2020-04-05 15:15:22 +0000 | |
commit | 94e7778319778713c0b4e2ccf590cefc6e18c21e (patch) | |
tree | f43f71f3e6df12009809005006bba76b77e1792e /catalog-ui/src/app/ng2/pages/interface-operation/operation-creator | |
parent | e6a4b30df9c1e712feacdacb04b205c9efd773bc (diff) |
bugfix for operations screen
Add Operation Button is missing in Service management
committing fix by Akiva
Issue-ID: SDC-2843
Signed-off-by: ilanap <ilanap@amdocs.com>
Change-Id: I9a6c89e45ea425eb9abf827906562e14a39cf1ff
Diffstat (limited to 'catalog-ui/src/app/ng2/pages/interface-operation/operation-creator')
3 files changed, 43 insertions, 16 deletions
diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html index df2a505fe8..60cb1d4cfc 100644 --- a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html +++ b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html @@ -25,7 +25,7 @@ label="{{ 'OPERATION_INTERFACE_TYPE' | translate }}" [required]="true" testId="interface-name" - selectedOption="{{operation.interfaceType}}" + [selectedOption]="getSelectedDropdown(interfaceNames, operation.interfaceType)" placeHolder="Select..." [disabled]="readonly" (changed)="onSelectInterface($event)" @@ -35,10 +35,11 @@ <div class="form-item" *ngIf="!isInterfaceOther()"> <sdc-dropdown + #operationNamesDropdown label="{{ 'OPERATION_NAME' | translate }}" [required]="true" testId="operation-name" - selectedOption="{{operation.name}}" + [selectedOption]="getSelectedDropdown(operationNames, operation.name)" placeHolder="Select..." [disabled]="readonly" (changed)="onSelectOperationName($event)" @@ -71,10 +72,11 @@ <div class="side-by-side" *ngIf="enableWorkflowAssociation"> <div class="form-item"> <sdc-dropdown + #workflowAssignmentDropdown label="{{ 'OPERATION_WORKFLOW_ASSIGNMENT' | translate }}" placeHolder="Select..." testId="association-type" - selectedOption="{{workflowAssociationType}}" + [selectedOption]="toDropDownOption(workflowAssociationType)" [options]="associationOptions" (changed)="toggleAssociateWorkflow($event)" [disabled]="readonly"> @@ -123,7 +125,7 @@ <sdc-dropdown placeHolder="Select..." testId="associated-workflow" - selectedOption="{{operation.workflowId}}" + [selectedOption]="getSelectedDropdown(workflows, operation.workflowId)" [options]="workflows" (changed)="onSelectWorkflow($event)" [disabled]="readonly || !workflows.length || !workflowIsOnline"> @@ -135,7 +137,7 @@ *ngIf="workflowIsOnline && workflows.length" label="{{ 'OPERATION_WORKFLOW_VERSION' | translate }}" testId="associated-workflow-version" - selectedOption="{{operation.workflowVersionId}}" + [selectedOption]="getSelectedDropdown(workflowVersions, operation.workflowVersionId)" [options]="workflowVersions" (changed)="changeWorkflowVersion($event)" [disabled]="!operation.workflowId || archivedWorkflowId === operation.workflowId || readonly"> diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts index 12fba24e86..23b678177f 100644 --- a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts +++ b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts @@ -10,14 +10,15 @@ import { OperationModel, OperationParameter, InputBEModel, - RadioButtonModel, WORKFLOW_ASSOCIATION_OPTIONS, Capability } from 'app/models'; -import {Tabs, Tab} from "app/ng2/components/ui/tabs/tabs.component"; -import {DropdownValue} from "app/ng2/components/ui/form-components/dropdown/ui-element-dropdown.component"; +import { Tabs } from "app/ng2/components/ui/tabs/tabs.component"; +import { DropdownValue } from "app/ng2/components/ui/form-components/dropdown/ui-element-dropdown.component"; import { IDropDownOption } from 'onap-ui-angular'; +import { DropDownComponent } from "onap-ui-angular/dist/components"; +import { DROPDOWN_OPTION_TYPE } from "app/utils/constants"; export class DropDownOption implements IDropDownOption { value: string; @@ -30,9 +31,9 @@ export class DropDownOption implements IDropDownOption { } class TypedDropDownOption extends DropDownOption { - type: number; + type: string; - constructor(value: string, label?: string, type?: number) { + constructor(value: string, label?: string, type?: string) { super(value, label); this.type = type; } @@ -106,6 +107,8 @@ export class OperationCreatorComponent implements OperationCreatorInput { INTERFACE_OTHER = 'Local'; @ViewChild('propertyInputTabs') propertyInputTabs: Tabs; + @ViewChild('operationNamesDropdown') operationNamesDropdown: DropDownComponent; + @ViewChild('workflowAssignmentDropdown') workflowAssignmentDropdown: DropDownComponent; currentTab: String; constructor(private workflowServiceNg2: WorkflowServiceNg2, private translateService: TranslateService) { @@ -117,7 +120,7 @@ export class OperationCreatorComponent implements OperationCreatorInput { new DropDownOption(WORKFLOW_ASSOCIATION_OPTIONS.EXISTING, this.translateService.translate("EXISTING_WORKFLOW_ASSOCIATION")), ]; - this.workflowAssociationType = this.operation.workflowAssociationType || WORKFLOW_ASSOCIATION_OPTIONS.EXTERNAL; + this.workflowAssociationType = this.operation.workflowAssociationType; }); this.currentTab = this.TYPE_INPUT; @@ -137,13 +140,12 @@ export class OperationCreatorComponent implements OperationCreatorInput { _.keys(this.interfaceTypes), type => this.createInterfaceDropdown(type) ); - this.interfaceNames.unshift(new TypedDropDownOption('Existing Interfaces', 'Existing Interfaces', 1)); + this.interfaceNames.unshift(new TypedDropDownOption('Existing Interfaces', 'Existing Interfaces', DROPDOWN_OPTION_TYPE.HEADER)); this.interfaceNames = this.interfaceNames.concat([ - new TypedDropDownOption(' ', ' ', 3), - new TypedDropDownOption(this.INTERFACE_OTHER_HEADER, this.INTERFACE_OTHER_HEADER, 1), + new TypedDropDownOption(' ', ' ', DROPDOWN_OPTION_TYPE.HORIZONTAL_LINE), + new TypedDropDownOption(this.INTERFACE_OTHER_HEADER, this.INTERFACE_OTHER_HEADER, DROPDOWN_OPTION_TYPE.HEADER), new TypedDropDownOption(this.INTERFACE_OTHER) ]); - const inputOperation = this.inputOperation; this.operation = new OperationModel(inputOperation || {}); @@ -187,6 +189,17 @@ export class OperationCreatorComponent implements OperationCreatorInput { this.updateTable(); } + ngAfterViewInit() { + if(this.workflowAssignmentDropdown){ + this.workflowAssignmentDropdown.allOptions = this.associationOptions && this.associationOptions.length ? + this.associationOptions : + [ + new DropDownOption(WORKFLOW_ASSOCIATION_OPTIONS.EXTERNAL, this.translateService.translate("EXTERNAL_WORKFLOW_ASSOCIATION")), + new DropDownOption(WORKFLOW_ASSOCIATION_OPTIONS.EXISTING, this.translateService.translate("EXISTING_WORKFLOW_ASSOCIATION")), + ]; + } + } + reconstructOperation = () => { const buildAndUpdate = () => { @@ -280,11 +293,14 @@ export class OperationCreatorComponent implements OperationCreatorInput { curInterf && curInterf.operations || [], op => op.name === name ); - const ddType = (existingOp && existingOp.uniqueId !== this.operation.uniqueId) ? 2 : 0; + const ddType = (existingOp && existingOp.uniqueId !== this.operation.uniqueId) ? DROPDOWN_OPTION_TYPE.HORIZONTAL_LINE : DROPDOWN_OPTION_TYPE.SIMPLE; return new TypedDropDownOption(name, name, ddType); } ) ); + if(this.operationNamesDropdown) { + this.operationNamesDropdown.allOptions = <IDropDownOption[]>this.operationNames; + } this.validityChanged(); } @@ -522,4 +538,12 @@ export class OperationCreatorComponent implements OperationCreatorInput { this.validityChangedCallback(validState); } + getSelectedDropdown(options: DropdownValue[], selectedValue: string): DropdownValue { + const selectedDropdown = _.find(options, (option) => option.value === selectedValue); + return selectedDropdown || this.toDropDownOption(null); + } + + toDropDownOption(val: string) { + return { value : val, label: val }; + } } diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/param-row/param-row.component.ts b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/param-row/param-row.component.ts index de6e703404..76cf73ff17 100644 --- a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/param-row/param-row.component.ts +++ b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/param-row/param-row.component.ts @@ -98,6 +98,7 @@ export class ParamRowComponent { ), prop => new DropdownValue(prop.uniqueId, prop.name) ); + this.filteredInputProps.unshift(new DropdownValue("","")); this.operationOutputCats = _.filter( _.map( |