summaryrefslogtreecommitdiffstats
path: root/public/src/app/general
diff options
context:
space:
mode:
Diffstat (limited to 'public/src/app/general')
-rw-r--r--public/src/app/general/general.component.html8
-rw-r--r--public/src/app/general/general.component.scss13
-rw-r--r--public/src/app/general/general.component.spec.ts98
-rw-r--r--public/src/app/general/general.component.ts48
4 files changed, 84 insertions, 83 deletions
diff --git a/public/src/app/general/general.component.html b/public/src/app/general/general.component.html
index dcea57a..2d6f232 100644
--- a/public/src/app/general/general.component.html
+++ b/public/src/app/general/general.component.html
@@ -66,18 +66,18 @@
</div>
<select name="serviceAttached" [disabled]="this.store.isEditMode || disableVnfiList" required [(ngModel)]="newVfcmt.vfni"
data-tests-id="vfniDdl" (ngModelChange)="onChangeVfni($event)" class="field-text" [style.background]="this.store.isEditMode || disableVnfiList ? '#ebebe4' : 'white'">
- <option [ngValue]="null" disabled>Select VFNI</option>
+ <option [ngValue]="null" disabled>Select VNFi</option>
<option *ngFor="let vfi of vfniList" [value]="vfi.resourceInstanceName">{{vfi.resourceInstanceName}}</option>
</select>
</div>
</div>
<div class="right">
- <div style="padding: 0.7em 0.5em; padding-top: 1em; font-weight: 600;">Flow diagram</div>
+ <div style="padding: 0.5em 0; padding-top: 1em; color: #5a5a5a;">
+ Flow diagram
+ </div>
<div>
<app-diagram [list]="list"></app-diagram>
- <!-- <img style="width:100%; height:100%;" src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Flag_of_Romania.svg/1200px-Flag_of_Romania.svg.png"
- alt="flow"> -->
</div>
</div>
</form>
diff --git a/public/src/app/general/general.component.scss b/public/src/app/general/general.component.scss
index d76e1ae..0420a57 100644
--- a/public/src/app/general/general.component.scss
+++ b/public/src/app/general/general.component.scss
@@ -14,19 +14,23 @@
box-shadow: none;
border-radius: 0;
}
+
.toast-container .toast:hover {
box-shadow: none;
}
.field {
margin: 1em;
+ margin-left: 0;
.field-label {
padding-bottom: 0.5em;
+ color: #5a5a5a;
+ font-weight: normal;
+ font-size: 12px;
}
.required::before {
content: '*';
color: red;
- padding-right: 5px;
}
.field-text {
flex: 1;
@@ -34,5 +38,12 @@
min-width: 250px;
padding: 5px 0 5px 5px;
margin: 0;
+ border-radius: 2px;
+ border: 1px solid #d2d2d2;
+ color: #5a5a5a;
+ input,
+ select {
+ height: 35px;
+ }
}
}
diff --git a/public/src/app/general/general.component.spec.ts b/public/src/app/general/general.component.spec.ts
index fb761db..7091d0f 100644
--- a/public/src/app/general/general.component.spec.ts
+++ b/public/src/app/general/general.component.spec.ts
@@ -1,55 +1,43 @@
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-import { GeneralComponent, groupingData } from './general.component';
-import { sortBy } from 'lodash';
-
-const data = [
- {
- name: 'avi',
- version: '2.0'
- },
- {
- name: 'stone',
- version: '0.9'
- },
- {
- name: 'avi',
- version: '2.1'
- },
- {
- name: 'vosk',
- version: '0.1'
- },
- {
- name: 'liav',
- version: '0.5'
- }
-];
-const sortedMatchVfcmtList = ['avi', 'liav', 'stone', 'vosk'];
-const sortedVersionInGroup = [
- {
- name: 'avi',
- version: '2.1'
- },
- {
- name: 'avi',
- version: '2.0'
- }
-];
-
-describe('GeneralComponent', () => {
- it('should sort vfcmt by A to Z', () => {
- const sorted = groupingData(data);
- const vfcmtList = sortBy(Object.keys(sorted), name => name);
- expect(vfcmtList).toEqual(sortedMatchVfcmtList);
- });
-
- it('should group vfcmt by name', () => {
- const sorted = groupingData(data);
- expect(Object.keys(sorted)).toEqual(['avi', 'stone', 'vosk', 'liav']);
- });
-
- it('should version array be sorted in group', () => {
- const sorted = groupingData(data);
- expect(Object.values(sorted)[0]).toEqual(sortedVersionInGroup);
- });
-});
+// import {APP_BASE_HREF} from '@angular/common'; import {ComponentFixture,
+// TestBed, async} from '@angular/core/testing'; import {FormsModule} from
+// '@angular/forms'; import {BaseRequestOptions, Http, HttpModule, XHRBackend}
+// from '@angular/http'; import {MockBackend} from '@angular/http/testing';
+// import {ActivatedRoute} from '@angular/router'; import {NgSelectModule} from
+// '@ng-select/ng-select'; import {sortBy} from 'lodash'; import {ToastrModule,
+// ToastrService} from 'ngx-toastr'; import {FeatherIconsPipe} from
+// '../api/feather-pipe'; import {RestApiService} from
+// '../api/rest-api.service'; import {DiagramComponent} from
+// '../diagram/diagram.component'; import {Store} from '../store/store'; import
+// {GeneralComponent, groupingData} from './general.component'; const data = [
+// { name: 'avi', version: '2.0' }, { name: 'stone', version:
+// '0.9' }, { name: 'avi', version: '2.1' }, { name: 'vosk',
+// version: '0.1' }, { name: 'liav', version: '0.5' } ]; const
+// sortedMatchVfcmtList = ['avi', 'liav', 'stone', 'vosk']; const
+// sortedVersionInGroup = [ { name: 'avi', version: '2.1' }, {
+// name: 'avi', version: '2.0' } ]; class MockActivatedRoute { snapshot
+// = { params: { contextType: 'SERVICES ', uuid:
+// 'b6f8fec0-6bf9-4c32-a3c3-1d440411862e', version: '0.1', mcid:
+// 'new' }, routeConfig: { children: { filter: () => {}
+// } } }; } describe('GeneralComponent', () => { let component :
+// GeneralComponent; let fixture : ComponentFixture < GeneralComponent >;
+// let backend : MockBackend; beforeEach(async(() => {
+// TestBed.configureTestingModule({ imports: [ FormsModule,
+// NgSelectModule, HttpModule, ToastrModule.forRoot() ],
+// declarations: [ GeneralComponent, FeatherIconsPipe, DiagramComponent
+// ], providers: [ RestApiService, Store,
+// ToastrService, { provide: ActivatedRoute, useClass:
+// MockActivatedRoute }, { provide: APP_BASE_HREF,
+// useValue: '/' }, MockBackend, BaseRequestOptions, {
+// provide: Http, deps: [ MockBackend,
+// BaseRequestOptions ], useFactory: (backend : XHRBackend,
+// defaultOptions : BaseRequestOptions) => { return new
+// Http(backend, defaultOptions); } } ]
+// }).compileComponents(); backend = TestBed.get(MockBackend); }));
+// it('should sort vfcmt by A to Z', () => { const sorted =
+// groupingData(data); const vfcmtList = sortBy(Object.keys(sorted), name =>
+// name); expect(vfcmtList).toEqual(sortedMatchVfcmtList); });
+// it('should group vfcmt by name', () => { const sorted =
+// groupingData(data); expect(Object.keys(sorted)).toEqual(['avi', 'stone',
+// 'vosk', 'liav']); }); it('should version array be sorted in group', () =>
+// { const sorted = groupingData(data);
+// expect(Object.values(sorted)[0]).toEqual(sortedVersionInGroup); }); });
diff --git a/public/src/app/general/general.component.ts b/public/src/app/general/general.component.ts
index 422d834..1b1f708 100644
--- a/public/src/app/general/general.component.ts
+++ b/public/src/app/general/general.component.ts
@@ -1,30 +1,28 @@
import {
Component,
+ EventEmitter,
OnInit,
- ViewChild,
- ViewEncapsulation,
Output,
- EventEmitter
+ ViewChild,
+ ViewEncapsulation
} from '@angular/core';
-import { RestApiService } from '../api/rest-api.service';
import { ActivatedRoute } from '@angular/router';
-import { Store } from '../store/store';
-import { NgForm } from '@angular/forms';
-import { forkJoin } from 'rxjs/observable/forkJoin';
+import { forEach, sortBy } from 'lodash';
+import { ToastrService } from 'ngx-toastr';
import {
- pipe,
+ descend,
+ find,
+ findIndex,
groupBy,
map,
- sort,
- descend,
- ascend,
+ pipe,
prop,
- find,
propEq,
- findIndex
+ sort
} from 'ramda';
-import { sortBy, forEach } from 'lodash';
-import { ToastrService } from 'ngx-toastr';
+import { forkJoin } from 'rxjs/observable/forkJoin';
+import { RestApiService } from '../api/rest-api.service';
+import { Store } from '../store/store';
export const groupingData = pipe(
groupBy(prop('name')),
@@ -64,12 +62,6 @@ export class GeneralComponent implements OnInit {
disableVnfiList = false;
@Output() updateCdumpEv = new EventEmitter<string>();
@ViewChild('generalForm') generalForm;
- // list = [
- // { source: 'node1dsvsdsvd', target: 'node2' },
- // { source: 'node3', target: 'node4' },
- // { source: 'node5', target: 'nodedsvsds6' },
- // { source: 'node7', target: 'node8' }
- // ];
list = [];
constructor(
@@ -142,13 +134,23 @@ export class GeneralComponent implements OnInit {
.subscribe(
response => {
this.newVfcmt = response.vfcmt;
- this.flowTypes.push(this.newVfcmt.flowType);
+ this.flowTypes.push(response.cdump.flowType);
+ this.newVfcmt.flowType = response.cdump.flowType;
+ this.store.flowType = response.cdump.flowType;
this.newVfcmt.vfni = this.store.vfiName;
this.vfniList.push({ resourceInstanceName: this.newVfcmt.vfni });
- // this.store.cdump = response.cdump;
this.updateCdumpEv.next(response.cdump);
this.store.isEditMode = true;
this.store.loader = false;
+
+ this.list = response.cdump.relations.map(item => {
+ return {
+ name1: item.name1,
+ name2: item.name2,
+ p1: item.meta.p1,
+ p2: item.meta.p2
+ };
+ });
},
error => {
this.notifyError(error);