1 import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';
2 import {DialogComponent, DialogService} from "ng2-bootstrap-modal";
3 import {IframeService} from "../../utils/iframe.service";
4 import {AaiService} from "../../services/aaiService/aai.service";
5 import {VnfMember} from "../../models/VnfMember";
6 import {VnfGroupModel} from "../../models/vnfGroupModel";
7 import {MembersTableService} from "./members-table/members-table.service";
8 import {VnfGroupInstance} from "../../models/vnfGroupInstance";
11 export interface PopupModel {
13 serviceModelId : string;
14 searchFields: ISearchField[];
18 node: VnfGroupInstance,
19 vnfGroupModel: VnfGroupModel;
23 export interface ISearchField {
30 selector : 'search-members-modal',
31 templateUrl : 'search-members-modal.component.html',
32 styleUrls : ['search-members-modal.component.scss']
35 export class SearchMembersModalComponent extends DialogComponent<PopupModel, boolean> implements OnInit, OnDestroy {
37 serviceModelId : string;
38 parentElementClassName = 'content';
39 membersData: VnfMember[];
41 searchFields: ISearchField[];
42 vnfGroupModel: VnfGroupModel;
45 node: VnfGroupInstance;
46 disableSetMembers: boolean = true;
47 constructor(dialogService: DialogService ,
48 private _iframeService : IframeService,
49 private _aaiService : AaiService,
50 private _membersTableService: MembersTableService){
54 @ViewChild('MembersTableComponent') membersTable;
57 this._aaiService.getOptionalGroupMembers(this.serviceModelId, this.subscriberId, this.serviceType, (Object.values(this.vnfGroupModel.members))[0].sourceModelInvariant, this.vnfGroupModel.properties.type, this.vnfGroupModel.properties.role)
58 .subscribe((result: VnfMember[])=>{
59 this.membersData = this._membersTableService.filterUsedVnfMembers(this.serviceModelId, result);
65 this._iframeService.removeClassCloseModal(this.parentElementClassName);
66 this.dialogService.removeDialog(this);
68 window.parent.postMessage("closeIframe", "*");
71 selectedMembersAmountChange(selectedMembersAmount: number) : void {
72 this.disableSetMembers = selectedMembersAmount==0;
77 this._membersTableService.setMembers({serviceId : this.serviceModelId, vnfGroupStoreKey : this.node.vnfGroupStoreKey});