diff options
Diffstat (limited to 'public/src/app/general')
-rw-r--r-- | public/src/app/general/general.component.html | 8 | ||||
-rw-r--r-- | public/src/app/general/general.component.scss | 13 | ||||
-rw-r--r-- | public/src/app/general/general.component.spec.ts | 98 | ||||
-rw-r--r-- | public/src/app/general/general.component.ts | 48 |
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); |