diff options
Diffstat (limited to 'usecaseui-portal')
36 files changed, 957 insertions, 354 deletions
diff --git a/usecaseui-portal/package-lock.json b/usecaseui-portal/package-lock.json index e1653e5e..7fa0c160 100644 --- a/usecaseui-portal/package-lock.json +++ b/usecaseui-portal/package-lock.json @@ -851,24 +851,34 @@ "dev": true }, "axios": { - "version": "0.15.3", - "resolved": "http://registry.npmjs.org/axios/-/axios-0.15.3.tgz", - "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", - "dev": true, - "optional": true, + "version": "0.19.0", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.19.0.tgz", + "integrity": "sha1-jgm/89kSLhM/e4EByPvdAO09Krg=", "requires": { - "follow-redirects": "1.0.0" + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, "follow-redirects": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz", - "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", - "dev": true, - "optional": true, + "version": "1.5.10", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", "requires": { - "debug": "^2.2.0" + "debug": "=3.1.0" } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz?cache=0&sync_timestamp=1569905495687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=" } } }, @@ -7428,6 +7438,16 @@ "streamroller": "0.7.0" }, "dependencies": { + "axios": { + "version": "0.15.3", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.15.3.tgz", + "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", + "dev": true, + "optional": true, + "requires": { + "follow-redirects": "1.0.0" + } + }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -7437,6 +7457,35 @@ "ms": "^2.1.1" } }, + "follow-redirects": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.0.0.tgz", + "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", + "dev": true, + "optional": true, + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + } + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -8024,8 +8073,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.3", diff --git a/usecaseui-portal/package.json b/usecaseui-portal/package.json index 067fe771..eabd63d0 100644 --- a/usecaseui-portal/package.json +++ b/usecaseui-portal/package.json @@ -61,4 +61,4 @@ "tslint": "~5.9.1", "typescript": "~2.5.3" } -}
\ No newline at end of file +} diff --git a/usecaseui-portal/src/app/app-routing.module.ts b/usecaseui-portal/src/app/app-routing.module.ts index 55a2c5ba..8c8bf2e8 100644 --- a/usecaseui-portal/src/app/app-routing.module.ts +++ b/usecaseui-portal/src/app/app-routing.module.ts @@ -20,8 +20,10 @@ import { RouterModule, Routes } from '@angular/router'; import { HomeComponent } from './views/home/home.component'; import { ManagementComponent } from './views/management/management.component'; import { FcapsComponent } from './views/fcaps/fcaps.component'; +import { Monitor5gComponent } from './views/fcaps/monitor-5g/monitor-5g.component'; import { ServicesListComponent } from './views/services/services-list/services-list.component'; -import { OnboardVnfVmComponent } from './views/services/onboard-vnf-vm/onboard-vnf-vm.component'; +import { SlicingManagementComponent } from './views/services/slicing-management/slicing-management.component'; +import { OnboardVnfVmComponent } from './views/onboard-vnf-vm/onboard-vnf-vm.component'; import { AlarmComponent } from './views/alarm/alarm.component'; import { PerformanceComponent } from './views/performance/performance.component'; import { PerformanceVnfComponent } from './views/performance/performance-vnf/performance-vnf.component'; @@ -45,8 +47,11 @@ const routes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'management', component: ManagementComponent }, { path: 'fcaps', component: FcapsComponent }, + { path: 'fcaps/5gslicing', component: Monitor5gComponent }, { path: 'services/services-list', component: ServicesListComponent }, - { path: 'services/onboard-vnf-vm', component: OnboardVnfVmComponent }, + { path: 'services/slicing-management', component: SlicingManagementComponent }, + // { path: 'services/onboard-vnf-vm', component: OnboardVnfVmComponent }, + { path: 'onboard-vnf-vm', component: OnboardVnfVmComponent }, { path: 'alarm', component: AlarmComponent }, { path: 'performance', component: PerformanceComponent }, { path: 'performance/performance-vnf', component: PerformanceVnfComponent }, diff --git a/usecaseui-portal/src/app/app.component.html b/usecaseui-portal/src/app/app.component.html index f5ee199c..c64bf307 100644 --- a/usecaseui-portal/src/app/app.component.html +++ b/usecaseui-portal/src/app/app.component.html @@ -19,6 +19,7 @@ <img src="assets/images/uui-logo130.png" alt=""> </div> <ul nz-menu [nzTheme]="'dark'" [nzMode]="'inline'"> + <!-- home page --> <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'home'}"> <a routerLink="home"> <span title> @@ -31,6 +32,7 @@ </a> </li> <hr> + <!-- customer page --> <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'management'}"> <a routerLink="management"> <span title> @@ -44,18 +46,7 @@ </a> </li> <hr> - <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'fcaps'}"> - <a routerLink="fcaps"> - <span title> - <i> - <img src="{{ url === 'fcaps' ? 'assets/images/monitor-icon-active.png':'assets/images/monitor-icon.png'}}" - alt="home"> - </i> - <span> {{"i18nTextDefine_Monitor" | translate}} </span> - </span> - </a> - </li> - <hr> + <!-- service page --> <li nz-submenu [ngClass]="{'activeMenuBar': url.indexOf('services') === 0}" [nzOpen]="flag"> <span title> <i> @@ -66,15 +57,32 @@ {{"i18nTextDefine_Services" | translate}} </span> <ul> + <!-- all kinds of package management --> <li nz-menu-item [ngClass]="{'activeMenuList': url === 'services/services-list'}"> <a routerLink='services/services-list'> {{"i18nTextDefine_ServicesList" | translate}} </a> </li> - <li nz-menu-item [ngClass]="{'activeMenuList': url === 'services/onboard-vnf-vm'}"> - <a routerLink='services/onboard-vnf-vm'> {{"i18nTextDefine_PackageManagement" | translate}} </a> + <!-- 5g slicing management --> + <li nz-menu-item [ngClass]="{'activeMenuList': url === 'services/slicing-management'}"> + <a routerLink='services/slicing-management'> {{"i18nTextDefine_Mangement_5g" | translate}} </a> </li> </ul> </li> <hr> + <!-- package page --> + <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'onboard-vnf-vm'}"> + <a routerLink="onboard-vnf-vm"> + <span title> + <i> + <img + src="{{url === 'onboard-vnf-vm' ? 'assets/images/customer-icon-active.png':'assets/images/customer-icon.png'}}" + alt="home"> + </i> + <span>{{"i18nTextDefine_PackageManagement" | translate}} </span> + </span> + </a> + </li> + <hr> + <!-- network page --> <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'network'}"> <a routerLink="network"> <span title> @@ -87,6 +95,24 @@ </span> </a> </li> + <hr> + <!-- monitor page --> + <li nz-submenu [ngClass]="{'activeMenuBar': url.indexOf('fcaps') === 0}" [nzOpen]="monitorflag"> + <span title> + <i> + <img src="{{ url === 'fcaps' ? 'assets/images/monitor-icon-active.png':'assets/images/monitor-icon.png'}}" + alt="home"> + </i> + <span> {{"i18nTextDefine_Monitor" | translate}} </span> + </span> + <ul> + <li nz-menu-item [ngClass]="{'activeMenuList': url === 'fcaps/5gslicing'}"> + <a routerLink='fcaps/5gslicing'> {{"i18nTextDefine_Monitor_5g" | translate}} </a> + </li> + </ul> + + </li> + <hr> </ul> </nz-sider> <nz-layout class="main"> diff --git a/usecaseui-portal/src/app/app.component.ts b/usecaseui-portal/src/app/app.component.ts index d8dad5f9..90d5606f 100644 --- a/usecaseui-portal/src/app/app.component.ts +++ b/usecaseui-portal/src/app/app.component.ts @@ -13,33 +13,33 @@ See the License for the specific language governing permissions and limitations under the License. */ -import {Component} from '@angular/core'; -import {TranslateService} from '@ngx-translate/core'; -import {ServiceListService} from "./core/services/serviceList.service"; -import {HomesService} from "./core/services/homes.service"; -import {NavigationEnd, Router} from '@angular/router'; +import { Component } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { ServiceListService } from "./core/services/serviceList.service"; +import { HomesService } from "./core/services/homes.service"; +import { NavigationEnd, Router } from '@angular/router'; import 'rxjs/add/operator/map'; @Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.less'] + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.less'] }) export class AppComponent { - public url:string = 'home'; - constructor(private translate: TranslateService,private myhttp: HomesService,private router:Router,) { + public url: string = 'home'; + constructor(private translate: TranslateService, private myhttp: HomesService, private router: Router, ) { this.currentLanguageGet(); this.getUrl(); } // Get the current routing path - getUrl(){ - this.router.events.map(event=> { - if(event instanceof NavigationEnd){ + getUrl() { + this.router.events.map(event => { + if (event instanceof NavigationEnd) { this.url = event['urlAfterRedirects'].slice(1) } - }).subscribe(event=>{}) + }).subscribe(event => { }) } //209.05.08 Get the currentLanguage @@ -51,28 +51,35 @@ export class AppComponent { this.myhttp.getCurrentLanguage(this.currentloginId) .subscribe( (data) => { - console.log(data,"-------------getCurrentLanguage"); + console.log(data, "-------------getCurrentLanguage"); this.currentLanguage = data.languageAlias.toLowerCase(); this.translate.use(this.currentLanguage); - sessionStorage.setItem("DefaultLang",this.currentLanguage); + sessionStorage.setItem("DefaultLang", this.currentLanguage); }, (err) => { console.log(err); } ) - }else { + } else { this.translate.setDefaultLang(this.currentLanguage); - sessionStorage.setItem("DefaultLang",this.currentLanguage); + sessionStorage.setItem("DefaultLang", this.currentLanguage); } } // Whether the submenu expands the identifier - get flag () { - if(!this.url.indexOf('services')){ + get flag() { + if (!this.url.indexOf('services')) { return true - }else{ + } else { return false } } - + get monitorflag() { + if (!this.url.indexOf('fcaps')) { + return true + } else { + return false + } + } + } diff --git a/usecaseui-portal/src/app/app.module.ts b/usecaseui-portal/src/app/app.module.ts index 17804649..f579c7e4 100644 --- a/usecaseui-portal/src/app/app.module.ts +++ b/usecaseui-portal/src/app/app.module.ts @@ -41,7 +41,7 @@ import { AppComponent } from './app.component'; import { HomeComponent } from './views/home/home.component'; import { ManagementComponent } from './views/management/management.component'; import { ServicesListComponent } from './views/services/services-list/services-list.component'; -import { OnboardVnfVmComponent } from './views/services/onboard-vnf-vm/onboard-vnf-vm.component'; +import { OnboardVnfVmComponent } from './views/onboard-vnf-vm/onboard-vnf-vm.component'; import { AlarmComponent } from './views/alarm/alarm.component'; import { PerformanceComponent } from './views/performance/performance.component'; import { PerformanceVnfComponent } from './views/performance/performance-vnf/performance-vnf.component'; @@ -79,6 +79,11 @@ import { DeleteModelComponent } from './views/services/services-list/delete-mode import { NotificationComponent } from './shared/components/notification/notification.component'; import { ScaleModelComponent } from './views/services/services-list/scale-model/scale-model.component'; import { HealModelComponent } from './views/services/services-list/heal-model/heal-model.component'; +import { Monitor5gComponent } from './views/fcaps/monitor-5g/monitor-5g.component'; +import { SlicingManagementComponent } from './views/services/slicing-management/slicing-management.component'; +import { SlicingTaskManagementComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-management.component'; +import { SlicingResourceManagementComponent } from './views/services/slicing-management/slicing-resource-management/slicing-resource-management.component'; +import { SlicingTaskModelComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component'; @NgModule({ providers: [ @@ -124,7 +129,12 @@ import { HealModelComponent } from './views/services/services-list/heal-model/he DeleteModelComponent, NotificationComponent, ScaleModelComponent, - HealModelComponent + HealModelComponent, + Monitor5gComponent, + SlicingManagementComponent, + SlicingTaskManagementComponent, + SlicingResourceManagementComponent, + SlicingTaskModelComponent ], imports: [ BrowserModule, diff --git a/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts b/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts index 69192c5e..5d144a43 100644 --- a/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts +++ b/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts @@ -1,4 +1,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { NzNotificationService } from 'ng-zorro-antd'; +import { NgZorroAntdModule } from 'ng-zorro-antd'; import { NotificationComponent } from './notification.component'; @@ -8,7 +11,9 @@ describe('NotificationComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ NotificationComponent ] + declarations: [ NotificationComponent ], + imports: [ TranslateModule, NgZorroAntdModule ], + providers: [ NzNotificationService ] }) .compileComponents(); })); diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html new file mode 100644 index 00000000..951eb5e7 --- /dev/null +++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html @@ -0,0 +1,3 @@ +<p> + monitor-5g works! +</p> diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts new file mode 100644 index 00000000..14203595 --- /dev/null +++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Monitor5gComponent } from './monitor-5g.component'; + +describe('Monitor5gComponent', () => { + let component: Monitor5gComponent; + let fixture: ComponentFixture<Monitor5gComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ Monitor5gComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(Monitor5gComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts new file mode 100644 index 00000000..128f1ba4 --- /dev/null +++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-monitor-5g', + templateUrl: './monitor-5g.component.html', + styleUrls: ['./monitor-5g.component.less'] +}) +export class Monitor5gComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.css index 4e80750c..4e80750c 100644 --- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css +++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.css diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.html index c48d68f9..c48d68f9 100644 --- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html +++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.html diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.less index f877e1ca..f877e1ca 100644 --- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less +++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.less diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts index 07c8b959..51980b8a 100644 --- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts +++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts @@ -5,7 +5,7 @@ import { HttpClientModule } from '@angular/common/http'; import { NzMessageService, NzModalService } from 'ng-zorro-antd'; import { OnboardVnfVmComponent } from './onboard-vnf-vm.component'; -import { onboardService } from '../../../core/services/onboard.service'; +import { onboardService } from '../../core/services/onboard.service'; describe('OnboardVnfVmComponent', () => { let component: OnboardVnfVmComponent; @@ -18,10 +18,10 @@ describe('OnboardVnfVmComponent', () => { NO_ERRORS_SCHEMA ], imports: [TranslateModule, HttpClientModule], - declarations: [ OnboardVnfVmComponent ], + declarations: [OnboardVnfVmComponent], providers: [onboardService, NzMessageService, NzModalService] }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.ts index 3d312c5c..682f48cf 100644 --- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts +++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.ts @@ -15,8 +15,8 @@ */ import { HttpClient, HttpRequest, HttpResponse } from '@angular/common/http'; import { Component, OnInit, HostBinding, TemplateRef, ViewChild } from '@angular/core'; -import { onboardService } from '../../../core/services/onboard.service'; -import { slideToRight } from '../../../shared/utils/animates'; +import { onboardService } from '../../core/services/onboard.service'; +import { slideToRight } from '../../shared/utils/animates'; import { NzMessageService, UploadFile, NzModalRef, NzModalService } from 'ng-zorro-antd'; import { filter } from 'rxjs/operators'; @@ -34,7 +34,7 @@ export class OnboardVnfVmComponent implements OnInit { tabs: string[] = ['NS', 'VNF', 'PNF']; currentTab: string = 'NS' fileList: UploadFile[] = []; - uploading:boolean = false; + uploading: boolean = false; infoId: string; display: string = 'block'; @@ -107,13 +107,13 @@ export class OnboardVnfVmComponent implements OnInit { } beforeUpload = (file: UploadFile): boolean => { - this.fileList.splice(0,1,file); + this.fileList.splice(0, 1, file); let API: string; - if(this.currentTab === 'NS'){ + if (this.currentTab === 'NS') { API = 'createNetworkServiceData'; - }else if(this.currentTab === 'VNF'){ + } else if (this.currentTab === 'VNF') { API = 'createVnfData'; - }else { + } else { API = 'createPnfData'; } this.myhttp.getCreatensData(API, this.requestBody)//on-line @@ -182,7 +182,7 @@ export class OnboardVnfVmComponent implements OnInit { } // Get the NS list - getTableData(): void{ + getTableData(): void { this.isSpinning = true; //ns vfc lists this.myhttp.getOnboardTableData() @@ -207,7 +207,7 @@ export class OnboardVnfVmComponent implements OnInit { } // Get the vnf list - getTableVnfData(): void{ + getTableVnfData(): void { this.isSpinning = true; //vnf vfc lists this.myhttp.getOnboardTableVnfData() @@ -240,24 +240,24 @@ export class OnboardVnfVmComponent implements OnInit { this.isSpinning = false; //loading hide }, (err) => { console.error(err); - this.isSpinning = false; + this.isSpinning = false; }) } // confirm - showConfirm(requestBody: object, id: string): void{ - let API = this.currentTab === 'NS'? 'getNsonboard' : 'getVnfonboard'; + showConfirm(requestBody: object, id: string): void { + let API = this.currentTab === 'NS' ? 'getNsonboard' : 'getVnfonboard'; this.modalService.confirm({ nzTitle: '<p>Are you sure you want to do this?</p>', nzOnOk: () => { this.myhttp[API](requestBody) .subscribe((data) => { if (data.status == "success") { - if(this.currentTab === 'NS'){ + if (this.currentTab === 'NS') { this.isUpdate = false; this.notification.notificationSuccess(this.currentTab, "OnboardingState", id); this.getTableData(); - }else{ + } else { this.jobId = data.jobId; this.queryProgress(this.jobId, id); this.getTableVnfData(); @@ -266,7 +266,7 @@ export class OnboardVnfVmComponent implements OnInit { this.isUpdate = false; this.notification.notificationFailed(this.currentTab, "OnboardingState", id); return false - } + } }, (err) => { console.log(err); }) @@ -280,10 +280,10 @@ export class OnboardVnfVmComponent implements OnInit { this.isUpdate = true; let requestBody = { "csarId": id }; this.showConfirm(requestBody, id) - } + } //Progress Progress inquiry - queryProgress(jobId: string, id: string): any{ + queryProgress(jobId: string, id: string): any { let mypromise = new Promise((res) => { this.myhttp.getProgress(jobId, 0) .subscribe((data) => { @@ -297,7 +297,7 @@ export class OnboardVnfVmComponent implements OnInit { if (data.responseDescriptor.progress > 100) { this.isUpdate = false; this.notification.notificationFailed(this.currentTab, 'OnboardingState', id); - }else if (data.responseDescriptor.progress < 100) { + } else if (data.responseDescriptor.progress < 100) { this.isUpdate = true; setTimeout(() => { this.queryProgress(this.jobId, id); @@ -329,11 +329,11 @@ export class OnboardVnfVmComponent implements OnInit { //delete nsItem deleteService(pkgid, resolve) { let API: string; - if(this.currentTab === 'NS'){ + if (this.currentTab === 'NS') { API = 'deleteNsIdData'; - }else if(this.currentTab === 'VNF'){ + } else if (this.currentTab === 'VNF') { API = 'deleteVnfIdData'; - }else{ + } else { API = 'deletePnfIdData'; } this.myhttp[API](pkgid) @@ -341,7 +341,7 @@ export class OnboardVnfVmComponent implements OnInit { this.notification.notificationSuccess(this.currentTab, 'OnboardingState', pkgid); resolve() //refresh list after successful deletion - switch(this.currentTab){ + switch (this.currentTab) { case 'NS': this.getTableData(); break diff --git a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts index e5e94c94..9057502c 100644 --- a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts +++ b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts @@ -1,14 +1,20 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { NgZorroAntdModule } from 'ng-zorro-antd'; +import { NZ_I18N, en_US } from 'ng-zorro-antd'; +import { FormsModule } from '@angular/forms'; import { DeleteModelComponent } from './delete-model.component'; -describe('DeleteModelComponent', () => { +fdescribe('DeleteModelComponent', () => { let component: DeleteModelComponent; let fixture: ComponentFixture<DeleteModelComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ DeleteModelComponent ] + declarations: [ DeleteModelComponent ], + imports: [ TranslateModule.forRoot(), NgZorroAntdModule.forRoot(), FormsModule ], + providers: [ { provide: NZ_I18N, useValue: en_US } ] }) .compileComponents(); })); diff --git a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts index f9bf9a9c..5ce0d108 100644 --- a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts +++ b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts @@ -1,25 +1,25 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; @Component({ - selector: 'app-delete-model', - templateUrl: './delete-model.component.html', - styleUrls: ['./delete-model.component.less'] + selector: 'app-delete-model', + templateUrl: './delete-model.component.html', + styleUrls: ['./delete-model.component.less'] }) export class DeleteModelComponent implements OnInit { - @Input()deleteModalVisible: boolean; - @Input()thisService; - @Input()terminationType; - @Input()loadingAnimateShow; - @Input()templateDeleteSuccessFaild; - @Input()gracefulTerminationTimeout; + @Input() deleteModalVisible: boolean; + @Input() thisService; + @Input() terminationType; + @Input() loadingAnimateShow; + @Input() templateDeleteSuccessFaild; + @Input() gracefulTerminationTimeout; - @Output() cancel = new EventEmitter<boolean>(); - @Output() deleteModalOK = new EventEmitter<any>(); + @Output() cancel = new EventEmitter<boolean>(); + @Output() deleteModalOK = new EventEmitter<any>(); - constructor() { } + constructor() { } - ngOnInit() { - } + ngOnInit() { + } deleteOk() { this.deleteModalVisible = false; diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html new file mode 100644 index 00000000..59401e02 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html @@ -0,0 +1,8 @@ +<nz-tabset> + <nz-tab nzTitle="Slicing Task Management"> + <app-slicing-task-management></app-slicing-task-management> + </nz-tab> + <nz-tab nzTitle="Slicing Resource Management"> + <app-slicing-resource-management></app-slicing-resource-management> + </nz-tab> +</nz-tabset>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts new file mode 100644 index 00000000..25fbf515 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingManagementComponent } from './slicing-management.component'; + +describe('SlicingManagementComponent', () => { + let component: SlicingManagementComponent; + let fixture: ComponentFixture<SlicingManagementComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingManagementComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingManagementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts new file mode 100644 index 00000000..ae2133de --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-slicing-management', + templateUrl: './slicing-management.component.html', + styleUrls: ['./slicing-management.component.less'] +}) +export class SlicingManagementComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html new file mode 100644 index 00000000..0408552d --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html @@ -0,0 +1,3 @@ +<p> + slicing-resource-management works! +</p> diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts new file mode 100644 index 00000000..6a22984b --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingResourceManagementComponent } from './slicing-resource-management.component'; + +describe('SlicingResourceManagementComponent', () => { + let component: SlicingResourceManagementComponent; + let fixture: ComponentFixture<SlicingResourceManagementComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingResourceManagementComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingResourceManagementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts new file mode 100644 index 00000000..38dc48c8 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-slicing-resource-management', + templateUrl: './slicing-resource-management.component.html', + styleUrls: ['./slicing-resource-management.component.less'] +}) +export class SlicingResourceManagementComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html new file mode 100644 index 00000000..6a5abe88 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html @@ -0,0 +1,37 @@ +<div> + <div nz-row> + <div nz-col nzSpan="6"> + <span>Status:</span> + <nz-select nzShowSearch nzAllowClear nzPlaceHolder="Select a person" [(ngModel)]="selectedValue"> + <nz-option nzLabel="Jack" nzValue="jack"></nz-option> + <nz-option nzLabel="Lucy" nzValue="lucy"></nz-option> + <nz-option nzLabel="Tom" nzValue="tom"></nz-option> + </nz-select> + </div> + </div> + <div> + <nz-table #basicTable [nzData]="listOfData"> + <thead> + <tr> + <th>Name</th> + <th>Age</th> + <th>Status</th> + <th>Action</th> + </tr> + </thead> + <tbody> + <tr *ngFor="let data of basicTable.data"> + <td>{{ data.name }}</td> + <td>{{ data.age }}</td> + <td>{{ data.status===0?"Checking Configuration":"Creating Slicing" }}</td> + <td> + <a (click)="showdetail(data)">Show Detail</a> + </td> + </tr> + </tbody> + </nz-table> + </div> + <app-slicing-task-model [moduleTitle]="moduleTitle" [showDetail]="showDetail" [modelData]="detailData" + (cancel)="showDetail=$event"> + </app-slicing-task-model> +</div>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less new file mode 100644 index 00000000..1de685d6 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less @@ -0,0 +1,3 @@ +nz-select { + width: 200px; +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts new file mode 100644 index 00000000..a2631a98 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingTaskManagementComponent } from './slicing-task-management.component'; + +describe('SlicingTaskManagementComponent', () => { + let component: SlicingTaskManagementComponent; + let fixture: ComponentFixture<SlicingTaskManagementComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingTaskManagementComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingTaskManagementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts new file mode 100644 index 00000000..ad29c5ed --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts @@ -0,0 +1,43 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-slicing-task-management', + templateUrl: './slicing-task-management.component.html', + styleUrls: ['./slicing-task-management.component.less'] +}) +export class SlicingTaskManagementComponent implements OnInit { + + constructor() { } + + ngOnInit() { } + showDetail: boolean = false; + selectedValue = null; + detailData: object = {}; + moduleTitle: string = ""; + listOfData = [ + { + key: '1', + name: 'John Brown', + age: 32, + status: 0 + }, + { + key: '2', + name: 'Jim Green', + age: 42, + status: 0 + }, + { + key: '3', + name: 'Joe Black', + age: 32, + status: 1 + } + ]; + showdetail(data: any) { + console.log(data, this.showDetail) + this.detailData = data; + this.showDetail = true; + this.moduleTitle = data.status === 0 ? "Check Configuration" : "View Progress"; + } +} diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html new file mode 100644 index 00000000..f864dc92 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html @@ -0,0 +1,149 @@ +<nz-modal [nzVisible]="showDetail" nzWidth="85%" [nzTitle]="moduleTitle" (nzOnCancel)="handleCancel()" + (nzOnOk)="handleOk()"> + <nz-list class="taskmodel_list" [nzDataSource]="checkDetail" nzBordered [nzHeader]="'配置审核详情:'" [nzFooter]="null" + [nzRenderItem]="checkItem"> + <ng-template #checkItem let-check> + <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8"> + <div nz-col nzSpan="10"> + <span>Task ID: {{ check.id }}</span> + </div> + <div nz-col nzSpan="8"> + <span>Task Name: {{ check.name }}</span> + </div> + <div nz-col nzSpan="6"> + <span>S-NSSAI:{{ check.snssai }}</span> + </div> + </nz-list-item> + <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8"> + <div nz-col nzSpan="10"> + <span>Arrived Time: {{ check.arrivedtime }}</span> + </div> + <div nz-col nzSpan="8"> + <span>Status: {{ check.status }}</span> + </div> + </nz-list-item> + </ng-template> + </nz-list> + + <nz-list class="taskmodel_list" [nzDataSource]="businessRequirement" nzBordered [nzHeader]="'业务需求信息:'" + [nzFooter]="null" [nzRenderItem]="businessItem"> + <ng-template #businessItem let-item> + <nz-list-item> + <span class="ant-typography">Name:</span> + {{ item.name }} + </nz-list-item> + <nz-list-item> + <span class="ant-typography">S-NSSAI: </span> + {{ item.snssai }} + </nz-list-item> + <nz-list-item> + <span class="ant-typography">Time: </span> + {{ item.expiretime }} + </nz-list-item> + <nz-list-item> + <span class="ant-typography">Area: </span> + {{ item. area }} + </nz-list-item> + </ng-template> + </nz-list> + + <nz-list class="taskmodel_list" [nzDataSource]="NSTinfo" nzBordered [nzHeader]="'匹配NST信息:'" [nzFooter]="null" + [nzRenderItem]="taskItem"> + <ng-template #taskItem let-item> + <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8"> + <div nz-col nzSpan="12"> + <span>NST ID: {{ item.id }}</span> + </div> + <div nz-col nzSpan="12"> + <span>NST Name: {{ item.name }}</span> + </div> + </nz-list-item> + </ng-template> + </nz-list> + + + <div> + <nz-list class="taskmodel_list" nzBordered [nzHeader]="'匹配共享切片实例:'" [nzFooter]="null"> + <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8"> + <div nz-col nzSpan="12"> + 切片实例 ID: + <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)"> + <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option> + </nz-select> + </div> + <div nz-col nzSpan="8"> + 切片实例名称:{{selectedServiceName}} + </div> + <div nz-col nzSpan="4"> + <button nz-button nzType="primary" (click)="resetService()"> + <i nz-icon class="anticon anticon-plus"></i> + </button> + </div> + </nz-list-item> + <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8"> + <p class="listitem_subtitle" nz-col nzSpan="24">匹配的共享切片子网实例:</p> + <nz-card nzType="inner" nz-col nzSpan="24" nzTitle="无线域:"> + <div nz-row [nzGutter]="8"> + <div nz-col nzSpan="12"> + 切片子网实例 ID: + <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)"> + <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option> + </nz-select> + </div> + <div nz-col nzSpan="8"> + 切片子网实例名称:{{selectedServiceName}} + </div> + <div nz-col nzSpan="4"> + <button nz-button nzType="primary" (click)="resetService()"> <i nz-icon + class="anticon anticon-plus"></i></button> + <button nz-button nzType="primary"> <i nz-icon class="anticon anticon-setting" + nzTheme="outline"></i></button> + </div> + </div> + </nz-card> + <nz-card nzType="inner" nz-col nzSpan="24" style="margin-top:16px;" nzTitle="传输域:"> + <div nz-row [nzGutter]="8"> + <div nz-col nzSpan="12"> + 切片子网实例 ID: + <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)"> + <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option> + </nz-select> + </div> + <div nz-col nzSpan="8"> + 切片子网实例名称:{{selectedServiceName}} + </div> + <div nz-col nzSpan="4"> + <button nz-button nzType="primary" (click)="resetService()"> <i nz-icon + class="anticon anticon-plus"></i></button> + <button nz-button nzType="primary"> <i nz-icon class="anticon anticon-setting" + nzTheme="outline"></i></button> + </div> + </div> + </nz-card> + <nz-card nzType="inner" nz-col nzSpan="24" style="margin-top:16px;" nzTitle="核心网域:"> + + <div nz-row [nzGutter]="12" nzType="flex" nzAlign="middle"> + <div nz-col nzSpan="12"> + 切片子网实例 ID: + <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)"> + <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option> + </nz-select> + </div> + <div nz-col nzSpan="8"> + 切片子网实例名称:{{selectedServiceName}} + </div> + <div nz-col nzSpan="4"> + <button nz-button nzType="primary" (click)="resetService()"> + <i nz-icon class="anticon anticon-plus"></i> + </button> + <button nz-button nzType="primary"> + <i nz-icon class="anticon anticon-setting" nzTheme="outline"></i> + </button> + </div> + </div> + </nz-card> + </nz-list-item> + </nz-list> + </div> + +</nz-modal>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less new file mode 100644 index 00000000..aad9a554 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less @@ -0,0 +1,15 @@ +nz-select { + width: 70%; +} + +.taskmodel_list { + margin-bottom: 20px; + + .listitem_subtitle { + font-size: 14px; + color: rgba(0, 0, 0, 0.85); + margin-bottom: 16px; + font-weight: 500; + } + +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts new file mode 100644 index 00000000..a6c02728 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingTaskModelComponent } from './slicing-task-model.component'; + +describe('SlicingTaskModelComponent', () => { + let component: SlicingTaskModelComponent; + let fixture: ComponentFixture<SlicingTaskModelComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingTaskModelComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingTaskModelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts new file mode 100644 index 00000000..2abe8d44 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts @@ -0,0 +1,61 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; + +@Component({ + selector: 'app-slicing-task-model', + templateUrl: './slicing-task-model.component.html', + styleUrls: ['./slicing-task-model.component.less'] +}) +export class SlicingTaskModelComponent implements OnInit { + @Input() showDetail: boolean; + @Input() moduleTitle: string; + @Input() modelData: object; + @Output() cancel = new EventEmitter<boolean>(); + + constructor() { } + checkDetail: [{}] = [{ + id: "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177", + name: "5G Slice eMMB", + snssai: "1-010101", + arrivedtime: "2019-10-29 10:00", + status: "Checking" + }]; //配置审核详情 + businessRequirement: [{}] = [{ + name: "5G Slice eMMB", + snssai: "1-010101", + expiretime: "2019-10-29 10:00", + area: "Beijing", + }];//业务需求信息 + NSTinfo: [{}] = [{ + id: "46da8cf8-0878-48ac-bea3-f2200959411a", + name: "eMBB instancel" + }];//匹配NST信息 + selectedServiceId = '46da8cf8-0878-48ac-bea3-f2200959411a'; + selectedServiceName = ''; + serviceId = ['46da8cf8-0878-48ac-bea3-f2200959411a', '46da8cf8-0878-48ac-bea3-f2200959411b', '46da8cf8-0878-48ac-bea3-f2200959411c']; + serviceData: {} = { + "46da8cf8-0878-48ac-bea3-f2200959411a": "eMBB instancela", + "46da8cf8-0878-48ac-bea3-f2200959411b": "eMBB instancelb", + "46da8cf8-0878-48ac-bea3-f2200959411c": "eMBB instancelc", + }; + + ngOnInit() { + this.serviceIdChange(this.selectedServiceId) + } + + serviceIdChange(value: string): void { + this.selectedServiceName = this.serviceData[value]; + console.log(this.selectedServiceName, "=====") + } + resetService() { + this.selectedServiceId = ""; + this.serviceIdChange(this.selectedServiceId); + } + + handleCancel() { + this.showDetail = false; + this.cancel.emit(this.showDetail); + } + handleOk() { + this.handleCancel(); + } +} diff --git a/usecaseui-portal/src/assets/i18n/cn.json b/usecaseui-portal/src/assets/i18n/cn.json index f1dcc066..e2938833 100644 --- a/usecaseui-portal/src/assets/i18n/cn.json +++ b/usecaseui-portal/src/assets/i18n/cn.json @@ -1,139 +1,141 @@ { - "app-component":"--:", - "i18nTextDefine_Home":"首页", - "i18nTextDefine_Customer":"用户", - "i18nTextDefine_Monitor":"监控", - "i18nTextDefine_Services":"服务", - "i18nTextDefine_ServicesList":"服务列表", - "i18nTextDefine_PackageManagement":"包管理", - "i18nTextDefine_Alarm":"告警", - "i18nTextDefine_Performance":"性能", - "i18nTextDefine_NetworkTopology":"网络拓扑", + "app-component": "--:", + "i18nTextDefine_Home": "首页", + "i18nTextDefine_Customer": "用户", + "i18nTextDefine_Monitor": "监控", + "i18nTextDefine_Monitor_5g": "5G 切片", + "i18nTextDefine_Services": "服务", + "i18nTextDefine_ServicesList": "服务列表", + "i18nTextDefine_Mangement_5g": "5G切片管理", + "i18nTextDefine_PackageManagement": "包管理", + "i18nTextDefine_Alarm": "告警", + "i18nTextDefine_Performance": "性能", + "i18nTextDefine_NetworkTopology": "网络拓扑", - "home-component":"--:", - "i18nTextDefine_SERVICES":"服务", - "i18nTextDefine_PACKAGE":"包", - "i18nTextDefine_Total":"总数", - "i18nTextDefine_cutomers_and":"用户和", - "i18nTextDefine_service_instance":"服务实例", - "i18nTextDefine_ViewDetails":"查看详情", - "i18nTextDefine_ALARM":"告警", - "i18nTextDefine_VNF_Alarm":"VNF告警", - "i18nTextDefine_VM_Alarm":"VM告警", - "i18nTextDefine_VM_Performance":"VM性能", + "home-component": "--:", + "i18nTextDefine_SERVICES": "服务", + "i18nTextDefine_PACKAGE": "包", + "i18nTextDefine_Total": "总数", + "i18nTextDefine_cutomers_and": "用户和", + "i18nTextDefine_service_instance": "服务实例", + "i18nTextDefine_ViewDetails": "查看详情", + "i18nTextDefine_ALARM": "告警", + "i18nTextDefine_VNF_Alarm": "VNF告警", + "i18nTextDefine_VM_Alarm": "VM告警", + "i18nTextDefine_VM_Performance": "VM性能", - "services-list-component":"--:", - "i18nTextDefine_ServiceType":"服务类型", - "i18nTextDefine_Create":"创建", - "i18nTextDefine_Failed":"失败", - "i18nTextDefine_Success":"成功", - "i18nTextDefine_InProgress":"执行中", - "i18nTextDefine_End_To_End_Service":"端到端服务", - "i18nTextDefine_Network_Service":"NS服务", - "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN":"CCVPN服务", - "i18nTextDefine_NO":"序号", - "i18nTextDefine_Name":"名称", - "i18nTextDefine_Description":"描述", - "i18nTextDefine_UseCase":"场景用例", - "i18nTextDefine_Status":"状态", - "i18nTextDefine_Action":"动作", - "i18nTextDefine_Template":"模板", - "i18nTextDefine_Orchestrator":"编排器", - "i18nTextDefine_ServiceCreation":"服务创建", - "i18nTextDefine_Cancel":"取消", - "i18nTextDefine_modelOk":"确认", - "i18nTextDefine_Scale":"缩扩容", - "i18nTextDefine_SureScale":"您确定缩扩容此实例吗?", - "i18nTextDefine_InstanceName":"实例名称", - "i18nTextDefine_InstanceID":"实例ID", - "i18nTextDefine_ScaleType":"缩扩容类型", - "i18nTextDefine_AspectId":"详情Id", - "i18nTextDefine_Number_Of_Steps":"级数", - "i18nTextDefine_ScalingDirection":"缩扩容方向", - "i18nTextDefine_delete":"删除", - "i18nTextDefine_SureDelete":"您确定删除此实例吗?", - "i18nTextDefine_terminationType":"终止类型", - "i18nTextDefine_graceful":"优雅", - "i18nTextDefine_forceful":"强制", - "i18nTextDefine_gracefulTerminationTimeout":"优雅终止超时时间", - "i18nTextDefine_Heal":"自愈", - "i18nTextDefine_SureHeal":"您确定自愈此实例吗?", - "i18nTextDefine_degreeHealing":"自愈程度", - "i18nTextDefine_actionsHealing":"自愈行为", - "i18nTextDefine_healScript":"自愈脚本", - "i18nTextDefine_additionalParamsforNs":"NS附加参数", - "i18nTextDefine_cause":"原因", - "i18nTextDefine_action":"动作", - "i18nTextDefine_actionvminfo":"操作虚拟机信息", - "i18nTextDefine_Update":"更新", - "i18nTextDefine_InstanceCreationStarting":"创建开始", - "i18nTextDefine_InstanceCreatedSuccessfully":"创建成功", - "i18nTextDefine_InstanceCreationFailed":"创建失败!", - "i18nTextDefine_InstanceTeminationStarting":"删除开始", - "i18nTextDefine_InstanceTeminatedSuccessfully":"删除成功", - "i18nTextDefine_InstanceTeminationFailed":" 删除失败", - "i18nTextDefine_InstanceScaleStarting":"缩扩容开始", - "i18nTextDefine_InstanceScaledSuccessfully":"缩扩容成功", - "i18nTextDefine_InstanceScaleFailed":"缩扩容失败", - "i18nTextDefine_InstanceHealingStarting":"自愈开始", - "i18nTextDefine_InstanceHealedSuccessfully":"自愈成功", - "i18nTextDefine_InstanceHealingFailed":"自愈失败", - "i18nTextDefine_InstanceUpdateStarting":"更新开始", - "i18nTextDefine_InstanceUpdatedSuccessfully":"更新成功", - "i18nTextDefine_InstanceUpdateFailed":"更新失败", - "i18nTextDefine_Close":"关闭", + "services-list-component": "--:", + "i18nTextDefine_ServiceType": "服务类型", + "i18nTextDefine_Create": "创建", + "i18nTextDefine_Failed": "失败", + "i18nTextDefine_Success": "成功", + "i18nTextDefine_InProgress": "执行中", + "i18nTextDefine_End_To_End_Service": "端到端服务", + "i18nTextDefine_Network_Service": "NS服务", + "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN": "CCVPN服务", + "i18nTextDefine_NO": "序号", + "i18nTextDefine_Name": "名称", + "i18nTextDefine_Description": "描述", + "i18nTextDefine_UseCase": "场景用例", + "i18nTextDefine_Status": "状态", + "i18nTextDefine_Action": "动作", + "i18nTextDefine_Template": "模板", + "i18nTextDefine_Orchestrator": "编排器", + "i18nTextDefine_ServiceCreation": "服务创建", + "i18nTextDefine_Cancel": "取消", + "i18nTextDefine_modelOk": "确认", + "i18nTextDefine_Scale": "缩扩容", + "i18nTextDefine_SureScale": "您确定缩扩容此实例吗?", + "i18nTextDefine_InstanceName": "实例名称", + "i18nTextDefine_InstanceID": "实例ID", + "i18nTextDefine_ScaleType": "缩扩容类型", + "i18nTextDefine_AspectId": "详情Id", + "i18nTextDefine_Number_Of_Steps": "级数", + "i18nTextDefine_ScalingDirection": "缩扩容方向", + "i18nTextDefine_delete": "删除", + "i18nTextDefine_SureDelete": "您确定删除此实例吗?", + "i18nTextDefine_terminationType": "终止类型", + "i18nTextDefine_graceful": "优雅", + "i18nTextDefine_forceful": "强制", + "i18nTextDefine_gracefulTerminationTimeout": "优雅终止超时时间", + "i18nTextDefine_Heal": "自愈", + "i18nTextDefine_SureHeal": "您确定自愈此实例吗?", + "i18nTextDefine_degreeHealing": "自愈程度", + "i18nTextDefine_actionsHealing": "自愈行为", + "i18nTextDefine_healScript": "自愈脚本", + "i18nTextDefine_additionalParamsforNs": "NS附加参数", + "i18nTextDefine_cause": "原因", + "i18nTextDefine_action": "动作", + "i18nTextDefine_actionvminfo": "操作虚拟机信息", + "i18nTextDefine_Update": "更新", + "i18nTextDefine_InstanceCreationStarting": "创建开始", + "i18nTextDefine_InstanceCreatedSuccessfully": "创建成功", + "i18nTextDefine_InstanceCreationFailed": "创建失败!", + "i18nTextDefine_InstanceTeminationStarting": "删除开始", + "i18nTextDefine_InstanceTeminatedSuccessfully": "删除成功", + "i18nTextDefine_InstanceTeminationFailed": " 删除失败", + "i18nTextDefine_InstanceScaleStarting": "缩扩容开始", + "i18nTextDefine_InstanceScaledSuccessfully": "缩扩容成功", + "i18nTextDefine_InstanceScaleFailed": "缩扩容失败", + "i18nTextDefine_InstanceHealingStarting": "自愈开始", + "i18nTextDefine_InstanceHealedSuccessfully": "自愈成功", + "i18nTextDefine_InstanceHealingFailed": "自愈失败", + "i18nTextDefine_InstanceUpdateStarting": "更新开始", + "i18nTextDefine_InstanceUpdatedSuccessfully": "更新成功", + "i18nTextDefine_InstanceUpdateFailed": "更新失败", + "i18nTextDefine_Close": "关闭", "i18nTextDefine_Templateparsingfailed": "模板解析失败", - "ccvpn-creation-component":"--:", - "i18nTextDefine_InstanceCreation":"实例创建", - "i18nTextDefine_InstanceTopology":"实例拓扑", - "i18nTextDefine_Add":"新增", - "i18nTextDefine_Base":"基本信息", - "i18nTextDefine_templateInputs":"模板输入", + "ccvpn-creation-component": "--:", + "i18nTextDefine_InstanceCreation": "实例创建", + "i18nTextDefine_InstanceTopology": "实例拓扑", + "i18nTextDefine_Add": "新增", + "i18nTextDefine_Base": "基本信息", + "i18nTextDefine_templateInputs": "模板输入", - "ccvpn-detail-component":"--:", - "i18nTextDefine_InstanceDetail":"实例详情", + "ccvpn-detail-component": "--:", + "i18nTextDefine_InstanceDetail": "实例详情", - "onboard-vnf-vm-component":"--:", - "i18nTextDefine_Click_CSAR_File":"单击此处或拖入CSAR文件", - "i18nTextDefine_Uploaded_files":"已上传文件", - "i18nTextDefine_Uploading":"上传中", - "i18nTextDefine_StartUpload":"开始上传", - "i18nTextDefine_Nofileuploading":"没有文件正在上传。", - "i18nTextDefine_File_upload_completed":"文件上传完毕", - "i18nTextDefine_File_upload_failed":"文件上传失败", - "i18nTextDefine_Version":"版本", - "i18nTextDefine_OnboardingState":"分发状态", - "i18nTextDefine_OperationalState":"操作状态", - "i18nTextDefine_UsageState":"使用状态", - "i18nTextDefine_Operationbutton":"操作按钮", + "onboard-vnf-vm-component": "--:", + "i18nTextDefine_Click_CSAR_File": "单击此处或拖入CSAR文件", + "i18nTextDefine_Uploaded_files": "已上传文件", + "i18nTextDefine_Uploading": "上传中", + "i18nTextDefine_StartUpload": "开始上传", + "i18nTextDefine_Nofileuploading": "没有文件正在上传。", + "i18nTextDefine_File_upload_completed": "文件上传完毕", + "i18nTextDefine_File_upload_failed": "文件上传失败", + "i18nTextDefine_Version": "版本", + "i18nTextDefine_OnboardingState": "分发状态", + "i18nTextDefine_OperationalState": "操作状态", + "i18nTextDefine_UsageState": "使用状态", + "i18nTextDefine_Operationbutton": "操作按钮", - "management-component":"--:", - "i18nTextDefine_Create_initial_customer":"创建初始用户", - "i18nTextDefine_Customer_not_in_ONAP":"ONAP尚未存在已创建用户", - "i18nTextDefine_CreateCustomer":"请创建用户及其服务类型", - "i18nTextDefine_Input_customerName":"输入用户名称", + "management-component": "--:", + "i18nTextDefine_Create_initial_customer": "创建初始用户", + "i18nTextDefine_Customer_not_in_ONAP": "ONAP尚未存在已创建用户", + "i18nTextDefine_CreateCustomer": "请创建用户及其服务类型", + "i18nTextDefine_Input_customerName": "输入用户名称", - "customer-component":"--:", - "i18nTextDefine_Instance_Count_of_Customer":"用户实例计数", - "i18nTextDefine_users":"用户", - "i18nTextDefine_Instance_Count_of_ServiceType":"服务类型实例计数", - "i18nTextDefine_Input_ServicesType":"输入服务类型", - "i18nTextDefine_Input_Sure_deleteCustomer":"您确定删除此用户吗?", - "i18nTextDefine_Input_Sure_deleteServiceType":"您确定删除此服务类型吗?", - "i18nTextDefine_CustomerName":"用户名称", - "i18nTextDefine_CustomerID":"用户ID", + "customer-component": "--:", + "i18nTextDefine_Instance_Count_of_Customer": "用户实例计数", + "i18nTextDefine_users": "用户", + "i18nTextDefine_Instance_Count_of_ServiceType": "服务类型实例计数", + "i18nTextDefine_Input_ServicesType": "输入服务类型", + "i18nTextDefine_Input_Sure_deleteCustomer": "您确定删除此用户吗?", + "i18nTextDefine_Input_Sure_deleteServiceType": "您确定删除此服务类型吗?", + "i18nTextDefine_CustomerName": "用户名称", + "i18nTextDefine_CustomerID": "用户ID", - "ccvpn-network-component":"--:", - "i18nTextDefine_CreateLink":"添加链接", - "i18nTextDefine_SetAttribtes":"设置属性", - "i18nTextDefine_LinkName":"链接名称", - "i18nTextDefine_LeftPort":"左侧端口", - "i18nTextDefine_Network":"网络", - "i18nTextDefine_Node":"节点", - "i18nTextDefine_TerminalPoint":"终端", - "i18nTextDefine_RightPort":"右侧端口", - "i18nTextDefine_PartnerNetwork":"伙伴网络", - "i18nTextDefine_HostUrl":"主机网址", - "i18nTextDefine_deleteLink":"删除链接" + "ccvpn-network-component": "--:", + "i18nTextDefine_CreateLink": "添加链接", + "i18nTextDefine_SetAttribtes": "设置属性", + "i18nTextDefine_LinkName": "链接名称", + "i18nTextDefine_LeftPort": "左侧端口", + "i18nTextDefine_Network": "网络", + "i18nTextDefine_Node": "节点", + "i18nTextDefine_TerminalPoint": "终端", + "i18nTextDefine_RightPort": "右侧端口", + "i18nTextDefine_PartnerNetwork": "伙伴网络", + "i18nTextDefine_HostUrl": "主机网址", + "i18nTextDefine_deleteLink": "删除链接" }
\ No newline at end of file diff --git a/usecaseui-portal/src/assets/i18n/en.json b/usecaseui-portal/src/assets/i18n/en.json index 5b5626e5..dcc1c924 100644 --- a/usecaseui-portal/src/assets/i18n/en.json +++ b/usecaseui-portal/src/assets/i18n/en.json @@ -1,139 +1,141 @@ { - "app-component":"--:", - "i18nTextDefine_Home":"Home", - "i18nTextDefine_Customer":"Customer", - "i18nTextDefine_Monitor":"Monitor", - "i18nTextDefine_Services":"Services", - "i18nTextDefine_ServicesList":"Lifecycle Management", - "i18nTextDefine_PackageManagement":"Package Management", - "i18nTextDefine_Alarm":"Alarm", - "i18nTextDefine_Performance":"Performance", - "i18nTextDefine_NetworkTopology":"Network Topology", + "app-component": "--:", + "i18nTextDefine_Home": "Home", + "i18nTextDefine_Customer": "Customer", + "i18nTextDefine_Monitor": "Monitor", + "i18nTextDefine_Monitor_5g": "5G Slicing", + "i18nTextDefine_Services": "Services", + "i18nTextDefine_ServicesList": "Lifecycle Management", + "i18nTextDefine_Mangement_5g": "5G Slicing Management", + "i18nTextDefine_PackageManagement": "Package Management", + "i18nTextDefine_Alarm": "Alarm", + "i18nTextDefine_Performance": "Performance", + "i18nTextDefine_NetworkTopology": "Network Topology", - "home-component":"--:", - "i18nTextDefine_SERVICES":"SERVICES", - "i18nTextDefine_PACKAGE":"PACKAGE", - "i18nTextDefine_Total":"Total", - "i18nTextDefine_cutomers_and":"cutomers and", - "i18nTextDefine_service_instance":"Service instance", - "i18nTextDefine_ViewDetails":"View Details", - "i18nTextDefine_ALARM":"ALARM", - "i18nTextDefine_VNF_Alarm":"VNF Alarm", - "i18nTextDefine_VM_Alarm":"VM Alarm", - "i18nTextDefine_VM_Performance":"VM PERFORMANCE", + "home-component": "--:", + "i18nTextDefine_SERVICES": "SERVICES", + "i18nTextDefine_PACKAGE": "PACKAGE", + "i18nTextDefine_Total": "Total", + "i18nTextDefine_cutomers_and": "cutomers and", + "i18nTextDefine_service_instance": "Service instance", + "i18nTextDefine_ViewDetails": "View Details", + "i18nTextDefine_ALARM": "ALARM", + "i18nTextDefine_VNF_Alarm": "VNF Alarm", + "i18nTextDefine_VM_Alarm": "VM Alarm", + "i18nTextDefine_VM_Performance": "VM PERFORMANCE", - "services-list-component":"--:", - "i18nTextDefine_ServiceType":"Service Type", - "i18nTextDefine_Create":"Create", - "i18nTextDefine_Failed":"Failed", - "i18nTextDefine_Success":"Success", - "i18nTextDefine_InProgress":"In Progress", - "i18nTextDefine_End_To_End_Service":"End To End Service", - "i18nTextDefine_Network_Service":"Network Service", - "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN":"Cross Domain and Cross Layer VPN", - "i18nTextDefine_NO":"NO", - "i18nTextDefine_Name":"Name", - "i18nTextDefine_Description":"Description", - "i18nTextDefine_UseCase":"Use Case", - "i18nTextDefine_Status":"Status", - "i18nTextDefine_Action":"Action", - "i18nTextDefine_Template":"Template", - "i18nTextDefine_Orchestrator":"Orchestrator", - "i18nTextDefine_ServiceCreation":"Service Creation", - "i18nTextDefine_Cancel":"Cancel", - "i18nTextDefine_modelOk":"OK", - "i18nTextDefine_Scale":"Scale", - "i18nTextDefine_SureScale":"Are you sure scale this instance?", - "i18nTextDefine_InstanceName":"Instance Name", - "i18nTextDefine_InstanceID":"Instance ID", - "i18nTextDefine_ScaleType":"Scale Type", - "i18nTextDefine_AspectId":"AspectId", - "i18nTextDefine_Number_Of_Steps":"Number Of Steps", - "i18nTextDefine_ScalingDirection":"Scaling Direction", - "i18nTextDefine_delete":"Delete", - "i18nTextDefine_SureDelete":"Are you sure delete this instance?", - "i18nTextDefine_terminationType":"Termination Type", - "i18nTextDefine_graceful":"graceful", - "i18nTextDefine_forceful":"forceful", - "i18nTextDefine_gracefulTerminationTimeout":"graceful Termination Timeout", - "i18nTextDefine_Heal":"Heal", - "i18nTextDefine_SureHeal":"Are you sure heal this instance?", - "i18nTextDefine_degreeHealing":"degreeHealing", - "i18nTextDefine_actionsHealing":"actionsHealing", - "i18nTextDefine_healScript":"healScript", - "i18nTextDefine_additionalParamsforNs":"additional Params for NS", - "i18nTextDefine_cause":"cause", - "i18nTextDefine_action":"action", - "i18nTextDefine_actionvminfo":"actionvminfo", - "i18nTextDefine_Update":"Update", - "i18nTextDefine_InstanceCreationStarting":"instance creation is starting.", - "i18nTextDefine_InstanceCreatedSuccessfully":"instance was created successfully.", - "i18nTextDefine_InstanceCreationFailed":"instance creation failed!!!", - "i18nTextDefine_InstanceTeminationStarting":"instance temination is starting.", - "i18nTextDefine_InstanceTeminatedSuccessfully":"instance was teminated successfully.", - "i18nTextDefine_InstanceTeminationFailed":" instance temination failed!!!", - "i18nTextDefine_InstanceScaleStarting":"instance scale is starting.", - "i18nTextDefine_InstanceScaledSuccessfully":"instance was scaled successfully.", - "i18nTextDefine_InstanceScaleFailed":"instance scale failed!!!", - "i18nTextDefine_InstanceHealingStarting":" instance healing is starting.", - "i18nTextDefine_InstanceHealedSuccessfully":"instance was healed successfully.", - "i18nTextDefine_InstanceHealingFailed":"instance healing failed!!!", - "i18nTextDefine_InstanceUpdateStarting":"instance update is starting.", - "i18nTextDefine_InstanceUpdatedSuccessfully":"instance was updated successfully.", - "i18nTextDefine_InstanceUpdateFailed":"instance update failed!!!", - "i18nTextDefine_Close":"close", + "services-list-component": "--:", + "i18nTextDefine_ServiceType": "Service Type", + "i18nTextDefine_Create": "Create", + "i18nTextDefine_Failed": "Failed", + "i18nTextDefine_Success": "Success", + "i18nTextDefine_InProgress": "In Progress", + "i18nTextDefine_End_To_End_Service": "End To End Service", + "i18nTextDefine_Network_Service": "Network Service", + "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN": "Cross Domain and Cross Layer VPN", + "i18nTextDefine_NO": "NO", + "i18nTextDefine_Name": "Name", + "i18nTextDefine_Description": "Description", + "i18nTextDefine_UseCase": "Use Case", + "i18nTextDefine_Status": "Status", + "i18nTextDefine_Action": "Action", + "i18nTextDefine_Template": "Template", + "i18nTextDefine_Orchestrator": "Orchestrator", + "i18nTextDefine_ServiceCreation": "Service Creation", + "i18nTextDefine_Cancel": "Cancel", + "i18nTextDefine_modelOk": "OK", + "i18nTextDefine_Scale": "Scale", + "i18nTextDefine_SureScale": "Are you sure scale this instance?", + "i18nTextDefine_InstanceName": "Instance Name", + "i18nTextDefine_InstanceID": "Instance ID", + "i18nTextDefine_ScaleType": "Scale Type", + "i18nTextDefine_AspectId": "AspectId", + "i18nTextDefine_Number_Of_Steps": "Number Of Steps", + "i18nTextDefine_ScalingDirection": "Scaling Direction", + "i18nTextDefine_delete": "Delete", + "i18nTextDefine_SureDelete": "Are you sure delete this instance?", + "i18nTextDefine_terminationType": "Termination Type", + "i18nTextDefine_graceful": "graceful", + "i18nTextDefine_forceful": "forceful", + "i18nTextDefine_gracefulTerminationTimeout": "graceful Termination Timeout", + "i18nTextDefine_Heal": "Heal", + "i18nTextDefine_SureHeal": "Are you sure heal this instance?", + "i18nTextDefine_degreeHealing": "degreeHealing", + "i18nTextDefine_actionsHealing": "actionsHealing", + "i18nTextDefine_healScript": "healScript", + "i18nTextDefine_additionalParamsforNs": "additional Params for NS", + "i18nTextDefine_cause": "cause", + "i18nTextDefine_action": "action", + "i18nTextDefine_actionvminfo": "actionvminfo", + "i18nTextDefine_Update": "Update", + "i18nTextDefine_InstanceCreationStarting": "instance creation is starting.", + "i18nTextDefine_InstanceCreatedSuccessfully": "instance was created successfully.", + "i18nTextDefine_InstanceCreationFailed": "instance creation failed!!!", + "i18nTextDefine_InstanceTeminationStarting": "instance temination is starting.", + "i18nTextDefine_InstanceTeminatedSuccessfully": "instance was teminated successfully.", + "i18nTextDefine_InstanceTeminationFailed": " instance temination failed!!!", + "i18nTextDefine_InstanceScaleStarting": "instance scale is starting.", + "i18nTextDefine_InstanceScaledSuccessfully": "instance was scaled successfully.", + "i18nTextDefine_InstanceScaleFailed": "instance scale failed!!!", + "i18nTextDefine_InstanceHealingStarting": " instance healing is starting.", + "i18nTextDefine_InstanceHealedSuccessfully": "instance was healed successfully.", + "i18nTextDefine_InstanceHealingFailed": "instance healing failed!!!", + "i18nTextDefine_InstanceUpdateStarting": "instance update is starting.", + "i18nTextDefine_InstanceUpdatedSuccessfully": "instance was updated successfully.", + "i18nTextDefine_InstanceUpdateFailed": "instance update failed!!!", + "i18nTextDefine_Close": "close", "i18nTextDefine_Templateparsingfailed": "Template parsing failed", - "ccvpn-creation-component":"--:", - "i18nTextDefine_InstanceCreation":"Instance Creation", - "i18nTextDefine_InstanceTopology":"Instance Topology", - "i18nTextDefine_Add":"Add", - "i18nTextDefine_Base":"Base", - "i18nTextDefine_templateInputs":"Template Inputs", + "ccvpn-creation-component": "--:", + "i18nTextDefine_InstanceCreation": "Instance Creation", + "i18nTextDefine_InstanceTopology": "Instance Topology", + "i18nTextDefine_Add": "Add", + "i18nTextDefine_Base": "Base", + "i18nTextDefine_templateInputs": "Template Inputs", - "ccvpn-detail-component":"--:", - "i18nTextDefine_InstanceDetail":"Instance Detail", + "ccvpn-detail-component": "--:", + "i18nTextDefine_InstanceDetail": "Instance Detail", - "onboard-vnf-vm-component":"--:", - "i18nTextDefine_Click_CSAR_File":"Click or drag CSAR File here", - "i18nTextDefine_Uploaded_files":"Uploaded files", - "i18nTextDefine_Uploading":"Uploading", - "i18nTextDefine_StartUpload":"StartUpload", - "i18nTextDefine_Nofileuploading":"No file is uploading.", - "i18nTextDefine_File_upload_completed":"File upload completed", - "i18nTextDefine_File_upload_failed":"File upload failed", - "i18nTextDefine_Version":"Version", - "i18nTextDefine_OnboardingState":"Onboarding State", - "i18nTextDefine_OperationalState":"Operational State", - "i18nTextDefine_UsageState":"Usage State", - "i18nTextDefine_Operationbutton":"Operation button", + "onboard-vnf-vm-component": "--:", + "i18nTextDefine_Click_CSAR_File": "Click or drag CSAR File here", + "i18nTextDefine_Uploaded_files": "Uploaded files", + "i18nTextDefine_Uploading": "Uploading", + "i18nTextDefine_StartUpload": "StartUpload", + "i18nTextDefine_Nofileuploading": "No file is uploading.", + "i18nTextDefine_File_upload_completed": "File upload completed", + "i18nTextDefine_File_upload_failed": "File upload failed", + "i18nTextDefine_Version": "Version", + "i18nTextDefine_OnboardingState": "Onboarding State", + "i18nTextDefine_OperationalState": "Operational State", + "i18nTextDefine_UsageState": "Usage State", + "i18nTextDefine_Operationbutton": "Operation button", - "management-component":"--:", - "i18nTextDefine_Create_initial_customer":"Create initial customer", - "i18nTextDefine_Customer_not_in_ONAP":"Customer has not been created in ONAP", - "i18nTextDefine_CreateCustomer":"Please create customer and its service type", - "i18nTextDefine_Input_customerName":"Input customer name", + "management-component": "--:", + "i18nTextDefine_Create_initial_customer": "Create initial customer", + "i18nTextDefine_Customer_not_in_ONAP": "Customer has not been created in ONAP", + "i18nTextDefine_CreateCustomer": "Please create customer and its service type", + "i18nTextDefine_Input_customerName": "Input customer name", - "customer-component":"--:", - "i18nTextDefine_Instance_Count_of_Customer":"Instance Count of Customer", - "i18nTextDefine_users":"Users", - "i18nTextDefine_Instance_Count_of_ServiceType":"Instance Count of Service Type", - "i18nTextDefine_Input_ServicesType":"Input services type", - "i18nTextDefine_Input_Sure_deleteCustomer":"Are you sure delete this Customer ?", - "i18nTextDefine_Input_Sure_deleteServiceType":"Are you sure delete this Service Type ?", - "i18nTextDefine_CustomerName":"Customer Name", - "i18nTextDefine_CustomerID":"Customer ID", + "customer-component": "--:", + "i18nTextDefine_Instance_Count_of_Customer": "Instance Count of Customer", + "i18nTextDefine_users": "Users", + "i18nTextDefine_Instance_Count_of_ServiceType": "Instance Count of Service Type", + "i18nTextDefine_Input_ServicesType": "Input services type", + "i18nTextDefine_Input_Sure_deleteCustomer": "Are you sure delete this Customer ?", + "i18nTextDefine_Input_Sure_deleteServiceType": "Are you sure delete this Service Type ?", + "i18nTextDefine_CustomerName": "Customer Name", + "i18nTextDefine_CustomerID": "Customer ID", - "ccvpn-network-component":"--:", - "i18nTextDefine_CreateLink":"Create Link", - "i18nTextDefine_SetAttribtes":"Set Attribtes", - "i18nTextDefine_LinkName":"Link Name ", - "i18nTextDefine_LeftPort":"Left Port", - "i18nTextDefine_Network":"Network", - "i18nTextDefine_Node":"Node", - "i18nTextDefine_TerminalPoint":"Terminal Point", - "i18nTextDefine_RightPort":"Right Port", - "i18nTextDefine_PartnerNetwork":"Partner Network", - "i18nTextDefine_HostUrl":"Host Url", - "i18nTextDefine_DeleteLink":"Delete Link" + "ccvpn-network-component": "--:", + "i18nTextDefine_CreateLink": "Create Link", + "i18nTextDefine_SetAttribtes": "Set Attribtes", + "i18nTextDefine_LinkName": "Link Name ", + "i18nTextDefine_LeftPort": "Left Port", + "i18nTextDefine_Network": "Network", + "i18nTextDefine_Node": "Node", + "i18nTextDefine_TerminalPoint": "Terminal Point", + "i18nTextDefine_RightPort": "Right Port", + "i18nTextDefine_PartnerNetwork": "Partner Network", + "i18nTextDefine_HostUrl": "Host Url", + "i18nTextDefine_DeleteLink": "Delete Link" }
\ No newline at end of file |