diff options
author | 2018-01-11 10:22:16 +0800 | |
---|---|---|
committer | 2018-01-11 10:22:16 +0800 | |
commit | 008518dc35ded3bb6dc3e6352472b5816271f583 (patch) | |
tree | 773453bb816e2c1fd15d74f308eab32f6da7bfe0 /sdc-workflow-designer-ui/src/app/components/menus | |
parent | ccaa7ff4383e127b9c61d1e511ec6741c42dd37a (diff) |
adjust folder
change fold menu to menus
Issue-ID: SDC-900
Change-Id: Ifce180badf4f468a3291b118bfd4f631483541ec
Signed-off-by: Lvbo163 <lv.bo163@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/components/menus')
13 files changed, 632 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.css b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.css new file mode 100644 index 00000000..6ba4133b --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.css @@ -0,0 +1,23 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ + +.btn-right{ + float: right; +} + +.btn-left{ + float: left; +} + +button i{ + padding-right: 3px; +} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html new file mode 100644 index 00000000..7e043829 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html @@ -0,0 +1,31 @@ +<!-- +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +--> + +<div class="btn-left"> + <p-splitButton [label]="getCurrentPlanName()" icon="fa-arrows" (onClick)="showWorkflows()" [model]="workflows"></p-splitButton> +</div> +<div class="btn-right"> + <button type="button" class="btn white" (click)="save()"> + <i class="fa fa-save"></i>Save + </button> + <button type="button" class="btn white" (click)="showMicroserviceModal()"> + <i class="fa fa-cog"></i>Setting + </button> + <button type="button" class="btn white" (click)="download()"> + <i class="fa fa-download"></i>Download + </button> + <!-- <button type="button" class="btn white" (click)="test()">test</button> --> +</div> +<b4t-microservice></b4t-microservice> +<b4t-workflows></b4t-workflows> diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts new file mode 100644 index 00000000..b80edce7 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MenuComponent } from './menu.component'; + +describe('MenuComponent', () => { + let component: MenuComponent; + let fixture: ComponentFixture<MenuComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [MenuComponent] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts new file mode 100644 index 00000000..e5f68ad1 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +import { Component, OnInit, ViewChild } from '@angular/core'; + +import { WorkflowService } from '../../services/workflow.service'; +import { MicroserviceComponent } from "./microservice/microservice.component"; +import { WorkflowsComponent } from "./workflows/workflows.component"; +import { BroadcastService } from "../../services/broadcast.service"; +import { PlanModel } from "../../model/workflow/plan-model"; + +@Component({ + selector: 'menus', + templateUrl: './menus.component.html', + styleUrls: ['./menus.component.css'] +}) +export class MenusComponent { + @ViewChild(MicroserviceComponent) public microserviceComponent: MicroserviceComponent; + @ViewChild(WorkflowsComponent) public workflowsComponent: WorkflowsComponent; + public currentWorkflowId : number; + public workflows = []; + + constructor(private broadcastService: BroadcastService, private workflowService: WorkflowService) { + this.broadcastService.workflows.subscribe(wfs => { + this.workflows.splice(0, this.workflows.length); + if(wfs) { + wfs.forEach((value, key, map) => { + this.workflows.push({label: value.planName, command: () => { + this.workflowSelected(key, value.plan); + }}); + }); + } + }); + } + + public save(): void { + this.workflowService.save(); + } + + public showMicroserviceModal(): void { + this.microserviceComponent.show(); + } + + public test() { + } + + public showWorkflows() { + this.workflowsComponent.show(); + } + + public workflowSelected(planId: number, planModel: PlanModel) { + + this.broadcastService.broadcast(this.broadcastService.planModel, planModel); + this.broadcastService.broadcast(this.broadcastService.planId, planId); + } + + public getCurrentPlanName() { + let planName = this.workflowService.getPlanName(this.currentWorkflowId); + return planName ? planName : 'Workflows' + } + + public download() { + const filename = this.getCurrentPlanName() + '.json'; + const content = JSON.stringify(this.workflowService.planModel); + var eleLink = document.createElement('a'); + eleLink.download = filename; + eleLink.style.display = 'none'; + var blob = new Blob([content]); + eleLink.href = URL.createObjectURL(blob); + document.body.appendChild(eleLink); + eleLink.click(); + document.body.removeChild(eleLink); + } +} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-detail/microservice-detail.component.html b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-detail/microservice-detail.component.html new file mode 100644 index 00000000..d13895dd --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-detail/microservice-detail.component.html @@ -0,0 +1,49 @@ +<!-- +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +--> +<div class="form-group row"> + <label class="col-md-2 form-control-label text-md-right">Name</label> + <div class="col-md-10"> + <input class="form-control" [(ngModel)]="microservice.name"> + </div> +</div> +<div class="form-group row"> + <label class="col-md-2 form-control-label text-md-right">version</label> + <div class="col-md-10"> + <input class="form-control" [(ngModel)]="microservice.version"> + </div> +</div> +<div class="form-group row"> + <label class="col-md-2 form-control-label text-md-right">Dynamic</label> + <div class="col-md-10"> + <p-radioButton name="dynamic" [value]=true label="true" (ngModelChange)="toggleDynamic($event)" [ngModel]="dynamic"></p-radioButton> + <p-radioButton name="dynamic" [value]=false label="false" (ngModelChange)="toggleDynamic($event)" [ngModel]="dynamic"></p-radioButton> + </div> +</div> +<div *ngIf="dynamic" class="form-group row"> + <label class="col-md-2 form-control-label text-md-right">Definition</label> + <div class="col-md-8" style="padding-right:0px"> + <input class="form-control" [(ngModel)]="microservice.url"> + </div> + <div class="col-md-2" style="padding-left:0px"> + <button class="btn" (click)="loadDynamicInfo()">load</button> + </div> +</div> + +<div class="form-group row"> + <label class="col-md-2 form-control-label text-md-right">Detail</label> + <div class="col-md-10"> + <textarea class="form-control" rows="8" [ngModel]="detail" [disabled]="dynamic" + (ngModelChange)="onDetailChanged($event)"></textarea> + </div> +</div> diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-detail/microservice-detail.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-detail/microservice-detail.component.ts new file mode 100644 index 00000000..bffaef42 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-detail/microservice-detail.component.ts @@ -0,0 +1,100 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ + +import { Component, Input, OnChanges, ViewChild } from '@angular/core'; +import { ModalDirective } from 'ngx-bootstrap/modal'; + +import { Microservice } from '../../../../model/workflow/microservice'; +import { WorkflowConfigService } from '../../../../services/workflow-config.service'; +import { Swagger } from "../../../../model/swagger"; +import { RestConfig } from '../../../../model/rest-config'; + +/** + * toolbar component contains some basic operations(save) and all of the supported workflow nodes. + * The supported nodes can be dragged to container component. which will add a new node to the workflow. + */ +@Component({ + selector: 'b4t-microservice-detail', + templateUrl: 'microservice-detail.component.html', +}) +export class MicroserviceDetailComponent implements OnChanges { + @Input() microservice: RestConfig; + + public detail: string; + public dynamic = false; + + constructor(private configService: WorkflowConfigService) { + } + + public ngOnChanges() { + if(this.microservice == null) { + this.microservice = new RestConfig('', '', null, ''); + } + this.checkDynamic(); + this.parseSwagger2String(); + } + + private checkDynamic() { + if(this.microservice.url) { + this.dynamic = true; + } else { + this.dynamic = false; + } + } + + private parseSwagger2String() { + if (this.microservice.swagger) { + this.detail = JSON.stringify(this.microservice.swagger); + } else { + this.detail = ''; + } + } + + public onDetailChanged(detail: string) { + try { + if(detail) { + const swagger = new Swagger(JSON.parse(detail)); + this.detail = detail; + console.log(swagger); + this.microservice.swagger = swagger; + } else { + this.detail = ''; + this.microservice.swagger = null; + } + } catch (e) { + // if detail is not a json object, then not change the swagger + } + } + + public toggleDynamic(dynamic: boolean) { + this.dynamic = dynamic; + this.onDetailChanged(null); + + if(!dynamic) { + this.microservice.url = null; + } + } + + private loadDynamicInfo() { + this.configService.loadDynamicInfo(this.microservice.url) + .subscribe(response => { + try { + + this.microservice.swagger = response; + this.parseSwagger2String(); + } catch (e) { + console.log('detail transfer error'); + console.error(e); + } + }); + } +} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.css b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.css new file mode 100644 index 00000000..f403890e --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.css @@ -0,0 +1,15 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ + + .swagger-list{ + overflow: auto; + }
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.html b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.html new file mode 100644 index 00000000..ce4730f7 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.html @@ -0,0 +1,32 @@ +<!-- +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +--> +<div class="scroll" style="overflow:hidden; max-height: 300px; height: 300px;"> + <div class="card"> + <div class="card-header d-flex justify-content-between align-items-center"> + <span>Config List</span> + <span class="badge badge-success badge-pill" (click)="addMicroservice()"><i class="fa fa-plus"></i></span> + </div> + + <ul class="list-group"> + <li class="list-group-item d-flex justify-content-between align-items-center" + *ngFor="let microservice of microservices; index as i"> + <div (click)="onMicroserviceSelected(microservice)">{{microservice.name}}</div> + <div class="badge badge-danger badge-pill" (click)="deleteMicroservice(i, microservice)"> + <i class="fa fa-minus"></i> + </div> + </li> + </ul> + </div> +</div> + diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.ts new file mode 100644 index 00000000..b44d423f --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice-list/microservice-list.component.ts @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ + +import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { ModalDirective } from 'ngx-bootstrap/modal'; + +import { Microservice } from '../../../../model/workflow/microservice'; +import { RestConfig } from '../../../../model/rest-config'; + +/** + * toolbar component contains some basic operations(save) and all of the supported workflow nodes. + * The supported nodes can be dragged to container component. which will add a new node to the workflow. + */ +@Component({ + selector: 'b4t-microservice-list', + templateUrl: 'microservice-list.component.html', +}) +export class MicroserviceListComponent { + @Input() microservices: RestConfig[]; + @Output() microserviceSelected = new EventEmitter<RestConfig>(); + + public onMicroserviceSelected(microservice: RestConfig) { + this.microserviceSelected.emit(microservice); + } + + public addMicroservice() { + const microservice = new RestConfig(this.getConfigId(), 'new microservice', '', null); + this.microservices.push(microservice); + + this.onMicroserviceSelected(microservice); + } + + public deleteMicroservice(index: number, microservice: Microservice) { + this.deleteMicroService(microservice.name, microservice.version); + + // set the next microservice selected + let selectedMicroservice; + if (this.microservices.length > 0) { + if (this.microservices[index]) { + selectedMicroservice = this.microservices[index]; + } else { + selectedMicroservice = this.microservices[index - 1]; + } + } + this.onMicroserviceSelected(selectedMicroservice); + } + + private deleteMicroService(name: string, version: string) { + const index = this.microservices.findIndex(service => (service.name === name && service.version === version)); + if(index !== -1) { + return this.microservices.splice(index, 1)[0]; + } + + return undefined; + } + + private getConfigId(): string { + const idSet = new Set<string>(); + this.microservices.forEach(config => { + idSet.add(config.id); + }); + + for(let index = 0; index < idSet.size; index++) { + const id = `config${index}`; + if(!idSet.has(id)) { + return id; + } + } + + return `config0`; + } +} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice.component.html b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice.component.html new file mode 100644 index 00000000..e8483c22 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice.component.html @@ -0,0 +1,39 @@ +<!-- +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +--> +<div class="modal fade" bsModal #microserviceModal="bs-modal" [config]="{backdrop: 'static'}" + tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"> + <div class="modal-dialog modal-lg"> + <div class="modal-content"> + <div class="modal-header"> + <h4 class="modal-title pull-left">microservice Setting</h4> + <button type="button" class="close pull-right" aria-label="Close" (click)="microserviceModal.hide()"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body"> + <div class="row"> + <div class="col-sm-4"> + <b4t-microservice-list [microservices]="microservices" (microserviceSelected)="microserviceSelected($event)"></b4t-microservice-list> + </div> + <div class="col-sm-8"> + <b4t-microservice-detail [microservice]="currentMicroservice"></b4t-microservice-detail> + </div> + </div> + </div> + <div class="modal-footer"> + <button type="button" class="btn over-grey" (click)="microserviceModal.hide()">close</button> + </div> + </div> + </div> +</div> diff --git a/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice.component.ts new file mode 100644 index 00000000..eeedac47 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/microservice/microservice.component.ts @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ + +import { AfterViewInit, Component, ViewChild } from '@angular/core'; +import { ModalDirective } from 'ngx-bootstrap/modal'; + +import { MicroserviceListComponent } from './microservice-list/microservice-list.component'; +import { Microservice } from "../../../model/workflow/microservice"; +import { WorkflowConfigService } from "../../../services/workflow-config.service"; +import { RestService } from '../../../services/rest.service'; +import { RestConfig } from '../../../model/rest-config'; + +/** + * microservice component + * open a model to set microservice info + */ +@Component({ + selector: 'b4t-microservice', + templateUrl: 'microservice.component.html', +}) +export class MicroserviceComponent { + @ViewChild('microserviceModal') public microserviceModal: ModalDirective; + + public microservices: RestConfig[]; + public currentMicroservice: Microservice; + + constructor(private restService: RestService) { + } + + public microserviceSelected(microservice: any) { + this.currentMicroservice = microservice; + } + + public show() { + this.microservices = this.restService.getRestConfigs(); + this.microserviceModal.show(); + } + +} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.html b/sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.html new file mode 100644 index 00000000..0f6c7ff2 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.html @@ -0,0 +1,41 @@ +<!--
+/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+-->
+<div class="modal fade" bsModal #workflowsModal="bs-modal" [config]="{backdrop: 'static'}"
+tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h4 class="modal-title pull-left">Workflows</h4>
+ <button type="button" class="close pull-right" aria-label="Close" (click)="workflowsModal.hide()">
+ <span aria-hidden="true">×</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ <ul class="list-group">
+ <li class="list-group-item d-flex justify-content-between align-items-center"
+ *ngFor="let key of workflows?.keys()">
+ <div style="width:380px"><input class="form-control" [(ngModel)]="workflows.get(key).planName"></div>
+ <div class="badge badge-danger badge-pill" (click)="deleteWorkflow(key)">
+ <i class="fa fa-minus"></i>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn over-grey" (click)="addWorkflow()">Add</button>
+ <button type="button" class="btn over-grey" (click)="workflowsModal.hide()">close</button>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.ts new file mode 100644 index 00000000..bf884983 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.ts @@ -0,0 +1,55 @@ +/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+
+import { AfterViewInit, Component, ViewChild } from '@angular/core';
+import { ModalDirective } from 'ngx-bootstrap/modal';
+
+import { WorkflowService } from "../../../services/workflow.service";
+import { PlanModel } from "../../../model/workflow/plan-model";
+
+/**
+ * workflows component
+ * open a model to set workflow info
+ */
+@Component({
+ selector: 'b4t-workflows',
+ templateUrl: 'workflows.component.html',
+})
+export class WorkflowsComponent {
+ @ViewChild('workflowsModal') public workflowsModal: ModalDirective;
+
+ public workflows :Map<number, any>;
+
+ constructor(private workflowService: WorkflowService) {
+ }
+
+ public show() {
+ this.workflows = this.workflowService.getWorkflows();
+ // this.workflowService.getWorkflows().forEach((value, key, map) => {
+ // this.workflows.push({
+ // "planName": value.planName,
+ // "planId": key
+ // });
+ // });;
+
+ this.workflowsModal.show();
+ }
+
+ public deleteWorkflow(planId: number) {
+ this.workflowService.deleteWorkflow(planId);
+ }
+
+ public addWorkflow() {
+ this.workflowService.addWorkflow();
+ }
+
+}
|