aboutsummaryrefslogtreecommitdiffstats
path: root/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task')
-rw-r--r--deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css11
-rw-r--r--deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html39
-rw-r--r--deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts36
-rw-r--r--deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts97
4 files changed, 183 insertions, 0 deletions
diff --git a/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css
new file mode 100644
index 00000000..670c050a
--- /dev/null
+++ b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css
@@ -0,0 +1,11 @@
+/**
+ * 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
+ */ \ No newline at end of file
diff --git a/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html
new file mode 100644
index 00000000..d72914fd
--- /dev/null
+++ b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.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="form-group row">
+ <label class="col-md-3 form-control-label" style="text-align:right;">{{'WORKFLOW.SERVICE_CLASS' | translate}}</label>
+ <div class="col-md-9">
+ <input class="form-control" [(ngModel)]="node.className" [disabled]="!canEdit" />
+ </div>
+</div>
+<hr>
+
+<div class="form-group row">
+ <label class="col-md-3 form-control-label">{{'WORKFLOW.SERVICE_INPUT' | translate}}</label>
+</div>
+<wfm-parameter *ngFor="let in of node.inputs; let i = index;" [param]="in" [valueSource]="inputValueSource" [canEditName]="canEdit"
+ [canEditValue]="node.editable" [canDelete]="canEdit" (delete)="deleteInput(i)"></wfm-parameter>
+<button *ngIf="canEdit" type="button" class="plx-btn" (click)="createInput();">
+ <i class="plx-ico-new-16"></i>{{ 'WORKFLOW.CREATE' | translate }}
+</button>
+<hr>
+
+<div class="form-group row">
+ <label class="col-md-3 form-control-label">{{'WORKFLOW.SERVICE_OUTPUT' | translate}}</label>
+</div>
+<wfm-parameter *ngFor="let out of node.outputs; let i = index;" [param]="out" [valueSource]="outputValueSource" [canEditName]="canEdit"
+ [canDelete]="canEdit" [showValue]="false" (delete)="deleteOutput(i)"></wfm-parameter>
+<button *ngIf="canEdit" type="button" class="plx-btn" (click)="createOutput();" style="margin-bottom:10px;">
+ <i class="plx-ico-new-16"></i>{{ 'WORKFLOW.CREATE' | translate }}
+</button> \ No newline at end of file
diff --git a/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts
new file mode 100644
index 00000000..498adf66
--- /dev/null
+++ b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.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 { ServiceTaskComponent } from './service-task.component';
+
+describe('ServiceTaskComponent', () => {
+ let component: ServiceTaskComponent;
+ let fixture: ComponentFixture<ServiceTaskComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ ServiceTaskComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(ServiceTaskComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should be created', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts
new file mode 100644
index 00000000..48a4074f
--- /dev/null
+++ b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts
@@ -0,0 +1,97 @@
+/**
+ * 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, OnInit } from '@angular/core';
+import { ServiceTask } from '../../../model/workflow/service-task';
+import { NodeTypeService } from '../../../services/node-type.service';
+import { Parameter } from '../../../model/workflow/parameter';
+import { ValueSource } from '../../../model/value-source.enum';
+
+@Component({
+ selector: 'wfm-service-task',
+ templateUrl: './service-task.component.html',
+ styleUrls: ['./service-task.component.css']
+})
+export class ServiceTaskComponent implements OnInit {
+ @Input() public node: ServiceTask;
+ public canEdit = true;
+ public inputValueSource = [ValueSource.Variable];
+ public outputValueSource = [];
+ constructor(private nodeTypeService: NodeTypeService) { }
+
+ public ngOnInit() {
+ const nodeDataType = this.nodeTypeService.getNodeDataTypeById(this.node.typeId);
+ if (nodeDataType.content && nodeDataType.content.class && '' != nodeDataType.content.class) {
+ this.canEdit = false;
+ }
+ if (!this.node.className) {
+ this.node.className = '';
+ if (nodeDataType.content.class) {
+ this.node.className = nodeDataType.content.class;
+ }
+ }
+
+ let inputs = nodeDataType.content.inputs;
+ if (!this.node.inputs) {
+ // Set default value
+ this.node.inputs = [];
+ if (inputs) {
+ for (const key in inputs) {
+ if (inputs.hasOwnProperty(key)) {
+ const element = inputs[key];
+ this.node.inputs.push(new Parameter(key, element.default, ValueSource[ValueSource.string],
+ element.type, element.required, element.show));
+ }
+ }
+ }
+ } else {
+ // Load parameter value
+ // todo:
+ }
+
+ let outputs = nodeDataType.content.outputs;
+ if (!this.node.outputs) {
+ // Set default value
+ this.node.outputs = [];
+ if (outputs) {
+ for (const key in outputs) {
+ if (outputs.hasOwnProperty(key)) {
+ const element = outputs[key];
+ this.node.outputs.push(new Parameter(key, element.default, ValueSource[ValueSource.string],
+ element.type, element.required));
+ }
+ }
+ }
+ } else {
+ // Load parameter value
+ // todo:
+ }
+ }
+
+ public createInput(): void {
+ this.node.inputs.push(new Parameter('', '', ValueSource[ValueSource.string]));
+ }
+
+ public deleteInput(index: number): void {
+ this.node.inputs.splice(index, 1);
+ }
+ public createOutput(): void {
+ this.node.outputs.push(new Parameter('', '', ValueSource[ValueSource.string]));
+ }
+
+ public deleteOutput(index: number): void {
+ this.node.outputs.splice(index, 1);
+ }
+
+ private getParameters() {
+
+ }
+}