From c5f5d9b03e04ee1dfea490ecabc5c4b54760d062 Mon Sep 17 00:00:00 2001 From: Lvbo163 Date: Mon, 11 Sep 2017 15:01:53 +0800 Subject: support script task support create bpmn script task Issue-ID: SDC-305 Change-Id: Ied1df14a64c96d4d5277fa50bf10c75fc11952f3 Signed-off-by: Lvbo163 --- sdc-workflow-designer-ui/src/app/app.module.ts | 2 ++ .../src/app/components/node/node.component.css | 9 +++++++ .../components/property/properties.component.html | 1 + .../script-task/script-task.component.html | 28 ++++++++++++++++++++++ .../property/script-task/script-task.component.ts | 22 +++++++++++++++++ .../app/components/toolbar/toolbar.component.css | 8 +++++++ .../src/app/model/workflow/node-type.enum.ts | 1 + .../src/app/model/workflow/script-task.ts | 24 +++++++++++++++++++ .../src/app/services/workflow-process.service.ts | 4 ++++ 9 files changed, 99 insertions(+) create mode 100644 sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html create mode 100644 sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts diff --git a/sdc-workflow-designer-ui/src/app/app.module.ts b/sdc-workflow-designer-ui/src/app/app.module.ts index e2d36a3a..55b57953 100644 --- a/sdc-workflow-designer-ui/src/app/app.module.ts +++ b/sdc-workflow-designer-ui/src/app/app.module.ts @@ -45,6 +45,7 @@ import { SwaggerTreeConverterService } from "./services/swagger-tree-converter.s import { WorkflowProcessService } from "./services/workflow-process.service"; import { IntermediateCatchEventComponent } from "./components/property/intermediate-catch-event/intermediate-catch-event.component"; import { SequenceFlowComponent } from "./components/sequence-flow/sequence-flow.component"; +import { ScriptTaskComponent } from "./components/property/script-task/script-task.component"; @NgModule({ declarations: [ @@ -62,6 +63,7 @@ import { SequenceFlowComponent } from "./components/sequence-flow/sequence-flow. PropertiesComponent, RestTaskComponent, RestTaskParametersComponent, + ScriptTaskComponent, SequenceFlowComponent, StartEventParametersComponent, ToolbarComponent, diff --git a/sdc-workflow-designer-ui/src/app/components/node/node.component.css b/sdc-workflow-designer-ui/src/app/components/node/node.component.css index 1498fcea..093892e4 100644 --- a/sdc-workflow-designer-ui/src/app/components/node/node.component.css +++ b/sdc-workflow-designer-ui/src/app/components/node/node.component.css @@ -256,6 +256,15 @@ background-image: url("data:image/svg+xml;utf8, "); } + +.scriptTask { + border-radius: 8px; + border: 2px solid rgb(0, 0, 0); + height: 60px; + width: 80px; + background-image: url("data:image/svg+xml;utf8, "); +} + .restTask { border-radius: 8px; border: 2px solid rgb(0, 0, 0); diff --git a/sdc-workflow-designer-ui/src/app/components/property/properties.component.html b/sdc-workflow-designer-ui/src/app/components/property/properties.component.html index 86a67823..2870a4b1 100644 --- a/sdc-workflow-designer-ui/src/app/components/property/properties.component.html +++ b/sdc-workflow-designer-ui/src/app/components/property/properties.component.html @@ -42,4 +42,5 @@ + diff --git a/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html b/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html new file mode 100644 index 00000000..6d2bf1ac --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html @@ -0,0 +1,28 @@ + + +
+ +
+ +
+
+ +
+ +
+ +
+
+ diff --git a/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts b/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts new file mode 100644 index 00000000..9e55ed49 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts @@ -0,0 +1,22 @@ +/******************************************************************************* + * 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, Input } from '@angular/core'; + +import { ScriptTask } from "../../../model/workflow/script-task"; + +@Component({ + selector: 'b4t-script-task', + templateUrl: 'script-task.component.html', +}) +export class ScriptTaskComponent { + @Input() public node: ScriptTask; +} diff --git a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css index 942ac586..3edffd66 100644 --- a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css +++ b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css @@ -93,6 +93,14 @@ button span{ background-image: url("data:image/svg+xml;utf8, "); } + +.scriptTask { + background-size: cover; + height: 30px; + width: 30px; + background-image: url("data:image/svg+xml;utf8, "); +} + .toscaTask { border-radius: 8px; border: 2px solid rgb(0, 0, 0); diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts b/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts index c8d2fe2b..2481cdbb 100644 --- a/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts +++ b/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts @@ -17,4 +17,5 @@ export enum NodeType { intermediateCatchEvent, exclusiveGateway, parallelGateway, + scriptTask, } diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts b/sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts new file mode 100644 index 00000000..3772226c --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts @@ -0,0 +1,24 @@ +/** + * 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 { Position } from './position'; +import { WorkflowNode } from './workflow-node'; +import { SequenceFlow } from "./sequence-flow"; + +export class ScriptTask extends WorkflowNode { + public scriptFormat: string; + public script: string; + + public constructor(public id: string, public name: string, public type: string, public position: Position, public sequenceFlows: SequenceFlow[]) { + super(id, name, type, position, sequenceFlows); + } + +} diff --git a/sdc-workflow-designer-ui/src/app/services/workflow-process.service.ts b/sdc-workflow-designer-ui/src/app/services/workflow-process.service.ts index 7f56c4af..04417726 100644 --- a/sdc-workflow-designer-ui/src/app/services/workflow-process.service.ts +++ b/sdc-workflow-designer-ui/src/app/services/workflow-process.service.ts @@ -23,6 +23,7 @@ import { WorkflowConfigService } from "./workflow-config.service"; import { Swagger, SwaggerModelSimple, SwaggerReferenceObject } from "../model/swagger"; import { WorkflowService } from "./workflow.service"; import { IntermediateCatchEvent } from "../model/workflow/intermediate-catch-event"; +import { ScriptTask } from "../model/workflow/script-task"; /** * WorkflowService @@ -51,6 +52,9 @@ export class WorkflowProcessService { case NodeType[NodeType.intermediateCatchEvent]: node = new IntermediateCatchEvent(this.createId(), name, type, new Position(top, left), []); break; + case NodeType[NodeType.scriptTask]: + node = new ScriptTask(this.createId(), name, type, new Position(top, left), []); + break; default: node = new WorkflowNode(this.createId(), name, type, new Position(top, left), []); break; -- cgit 1.2.3-korg