feat: code format

This commit is contained in:
xingyuv
2023-02-06 11:40:03 +08:00
parent 0486ec9d30
commit 1bb66e6783
49 changed files with 1021 additions and 1122 deletions

View File

@ -1,19 +1,19 @@
import { assign, forEach, isArray } from 'min-dash'
import { is } from "bpmn-js/lib/util/ModelUtil"
import { is } from 'bpmn-js/lib/util/ModelUtil'
import { isExpanded, isEventSubProcess } from "bpmn-js/lib/util/DiUtil"
import { isExpanded, isEventSubProcess } from 'bpmn-js/lib/util/DiUtil'
import { isAny } from "bpmn-js/lib/features/modeling/util/ModelingUtil"
import { isAny } from 'bpmn-js/lib/features/modeling/util/ModelingUtil'
import { getChildLanes } from "bpmn-js/lib/features/modeling/util/LaneUtil"
import { getChildLanes } from 'bpmn-js/lib/features/modeling/util/LaneUtil'
import { hasPrimaryModifier } from "diagram-js/lib/util/Mouse"
import { hasPrimaryModifier } from 'diagram-js/lib/util/Mouse'
/**
* A provider for BPMN 2.0 elements context pad
*/
export default function ContextPadProvider (
export default function ContextPadProvider(
config,
injector,
eventBus,
@ -25,8 +25,7 @@ export default function ContextPadProvider (
popupMenu,
canvas,
rules,
translate,
elementRegistry
translate
) {
config = config || {}
@ -45,10 +44,10 @@ export default function ContextPadProvider (
this._translate = translate
if (config.autoPlace !== false) {
this._autoPlace = injector.get("autoPlace", false)
this._autoPlace = injector.get('autoPlace', false)
}
eventBus.on("create.end", 250, function (event) {
eventBus.on('create.end', 250, function (event) {
const context = event.context,
shape = context.shape
@ -65,19 +64,19 @@ export default function ContextPadProvider (
}
ContextPadProvider.$inject = [
"config.contextPad",
"injector",
"eventBus",
"contextPad",
"modeling",
"elementFactory",
"connect",
"create",
"popupMenu",
"canvas",
"rules",
"translate",
"elementRegistry"
'config.contextPad',
'injector',
'eventBus',
'contextPad',
'modeling',
'elementFactory',
'connect',
'create',
'popupMenu',
'canvas',
'rules',
'translate',
'elementRegistry'
]
ContextPadProvider.prototype.getContextPadEntries = function (element) {
@ -94,21 +93,21 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
const actions = {}
if (element.type === "label") {
if (element.type === 'label') {
return actions
}
const businessObject = element.businessObject
function startConnect (event, element) {
function startConnect(event, element) {
connect.start(event, element)
}
function removeElement () {
function removeElement() {
modeling.removeElements([element])
}
function getReplaceMenuPosition (element) {
function getReplaceMenuPosition(element) {
const Y_OFFSET = 5
const diagramContainer = canvas.getContainer(),
@ -138,13 +137,13 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
*
* @return {Object} descriptor
*/
function appendAction (type, className, title, options) {
if (typeof title !== "string") {
function appendAction(type, className, title, options) {
if (typeof title !== 'string') {
options = title
title = translate("Append {type}", { type: type.replace(/^bpmn:/, "") })
title = translate('Append {type}', { type: type.replace(/^bpmn:/, '') })
}
function appendStart (event, element) {
function appendStart(event, element) {
const shape = elementFactory.createShape(assign({ type: type }, options))
create.start(event, shape, {
source: element
@ -153,14 +152,14 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
const append = autoPlace
? function (event, element) {
const shape = elementFactory.createShape(assign({ type: type }, options))
const shape = elementFactory.createShape(assign({ type: type }, options))
autoPlace.append(element, shape)
}
autoPlace.append(element, shape)
}
: appendStart
return {
group: "model",
group: 'model',
className: className,
title: title,
action: {
@ -170,7 +169,7 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
}
}
function splitLaneHandler (count) {
function splitLaneHandler(count) {
return function (event, element) {
// actual split
modeling.splitLane(element, count)
@ -181,17 +180,17 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
}
}
if (isAny(businessObject, ["bpmn:Lane", "bpmn:Participant"]) && isExpanded(businessObject)) {
if (isAny(businessObject, ['bpmn:Lane', 'bpmn:Participant']) && isExpanded(businessObject)) {
const childLanes = getChildLanes(element)
assign(actions, {
"lane-insert-above": {
group: "lane-insert-above",
className: "bpmn-icon-lane-insert-above",
title: translate("Add Lane above"),
'lane-insert-above': {
group: 'lane-insert-above',
className: 'bpmn-icon-lane-insert-above',
title: translate('Add Lane above'),
action: {
click: function (event, element) {
modeling.addLane(element, "top")
modeling.addLane(element, 'top')
}
}
}
@ -200,10 +199,10 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
if (childLanes.length < 2) {
if (element.height >= 120) {
assign(actions, {
"lane-divide-two": {
group: "lane-divide",
className: "bpmn-icon-lane-divide-two",
title: translate("Divide into two Lanes"),
'lane-divide-two': {
group: 'lane-divide',
className: 'bpmn-icon-lane-divide-two',
title: translate('Divide into two Lanes'),
action: {
click: splitLaneHandler(2)
}
@ -213,10 +212,10 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
if (element.height >= 180) {
assign(actions, {
"lane-divide-three": {
group: "lane-divide",
className: "bpmn-icon-lane-divide-three",
title: translate("Divide into three Lanes"),
'lane-divide-three': {
group: 'lane-divide',
className: 'bpmn-icon-lane-divide-three',
title: translate('Divide into three Lanes'),
action: {
click: splitLaneHandler(3)
}
@ -226,79 +225,102 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
}
assign(actions, {
"lane-insert-below": {
group: "lane-insert-below",
className: "bpmn-icon-lane-insert-below",
title: translate("Add Lane below"),
'lane-insert-below': {
group: 'lane-insert-below',
className: 'bpmn-icon-lane-insert-below',
title: translate('Add Lane below'),
action: {
click: function (event, element) {
modeling.addLane(element, "bottom")
modeling.addLane(element, 'bottom')
}
}
}
})
}
if (is(businessObject, "bpmn:FlowNode")) {
if (is(businessObject, "bpmn:EventBasedGateway")) {
if (is(businessObject, 'bpmn:FlowNode')) {
if (is(businessObject, 'bpmn:EventBasedGateway')) {
assign(actions, {
"append.receive-task": appendAction("bpmn:ReceiveTask", "bpmn-icon-receive-task", translate("Append ReceiveTask")),
"append.message-intermediate-event": appendAction(
"bpmn:IntermediateCatchEvent",
"bpmn-icon-intermediate-event-catch-message",
translate("Append MessageIntermediateCatchEvent"),
{ eventDefinitionType: "bpmn:MessageEventDefinition" }
'append.receive-task': appendAction(
'bpmn:ReceiveTask',
'bpmn-icon-receive-task',
translate('Append ReceiveTask')
),
"append.timer-intermediate-event": appendAction(
"bpmn:IntermediateCatchEvent",
"bpmn-icon-intermediate-event-catch-timer",
translate("Append TimerIntermediateCatchEvent"),
{ eventDefinitionType: "bpmn:TimerEventDefinition" }
'append.message-intermediate-event': appendAction(
'bpmn:IntermediateCatchEvent',
'bpmn-icon-intermediate-event-catch-message',
translate('Append MessageIntermediateCatchEvent'),
{ eventDefinitionType: 'bpmn:MessageEventDefinition' }
),
"append.condition-intermediate-event": appendAction(
"bpmn:IntermediateCatchEvent",
"bpmn-icon-intermediate-event-catch-condition",
translate("Append ConditionIntermediateCatchEvent"),
{ eventDefinitionType: "bpmn:ConditionalEventDefinition" }
'append.timer-intermediate-event': appendAction(
'bpmn:IntermediateCatchEvent',
'bpmn-icon-intermediate-event-catch-timer',
translate('Append TimerIntermediateCatchEvent'),
{ eventDefinitionType: 'bpmn:TimerEventDefinition' }
),
"append.signal-intermediate-event": appendAction(
"bpmn:IntermediateCatchEvent",
"bpmn-icon-intermediate-event-catch-signal",
translate("Append SignalIntermediateCatchEvent"),
{ eventDefinitionType: "bpmn:SignalEventDefinition" }
'append.condition-intermediate-event': appendAction(
'bpmn:IntermediateCatchEvent',
'bpmn-icon-intermediate-event-catch-condition',
translate('Append ConditionIntermediateCatchEvent'),
{ eventDefinitionType: 'bpmn:ConditionalEventDefinition' }
),
'append.signal-intermediate-event': appendAction(
'bpmn:IntermediateCatchEvent',
'bpmn-icon-intermediate-event-catch-signal',
translate('Append SignalIntermediateCatchEvent'),
{ eventDefinitionType: 'bpmn:SignalEventDefinition' }
)
})
} else if (isEventType(businessObject, "bpmn:BoundaryEvent", "bpmn:CompensateEventDefinition")) {
} else if (
isEventType(businessObject, 'bpmn:BoundaryEvent', 'bpmn:CompensateEventDefinition')
) {
assign(actions, {
"append.compensation-activity": appendAction("bpmn:Task", "bpmn-icon-task", translate("Append compensation activity"), {
isForCompensation: true
})
'append.compensation-activity': appendAction(
'bpmn:Task',
'bpmn-icon-task',
translate('Append compensation activity'),
{
isForCompensation: true
}
)
})
} else if (
!is(businessObject, "bpmn:EndEvent") &&
!is(businessObject, 'bpmn:EndEvent') &&
!businessObject.isForCompensation &&
!isEventType(businessObject, "bpmn:IntermediateThrowEvent", "bpmn:LinkEventDefinition") &&
!isEventType(businessObject, 'bpmn:IntermediateThrowEvent', 'bpmn:LinkEventDefinition') &&
!isEventSubProcess(businessObject)
) {
assign(actions, {
"append.end-event": appendAction("bpmn:EndEvent", "bpmn-icon-end-event-none", translate("Append EndEvent")),
"append.gateway": appendAction("bpmn:ExclusiveGateway", "bpmn-icon-gateway-none", translate("Append Gateway")),
"append.append-task": appendAction("bpmn:UserTask", "bpmn-icon-user-task", translate("Append Task")),
"append.intermediate-event": appendAction(
"bpmn:IntermediateThrowEvent",
"bpmn-icon-intermediate-event-none",
translate("Append Intermediate/Boundary Event")
'append.end-event': appendAction(
'bpmn:EndEvent',
'bpmn-icon-end-event-none',
translate('Append EndEvent')
),
'append.gateway': appendAction(
'bpmn:ExclusiveGateway',
'bpmn-icon-gateway-none',
translate('Append Gateway')
),
'append.append-task': appendAction(
'bpmn:UserTask',
'bpmn-icon-user-task',
translate('Append Task')
),
'append.intermediate-event': appendAction(
'bpmn:IntermediateThrowEvent',
'bpmn-icon-intermediate-event-none',
translate('Append Intermediate/Boundary Event')
)
})
}
}
if (!popupMenu.isEmpty(element, "bpmn-replace")) {
if (!popupMenu.isEmpty(element, 'bpmn-replace')) {
// Replace menu entry
assign(actions, {
replace: {
group: "edit",
className: "bpmn-icon-screw-wrench",
group: 'edit',
className: 'bpmn-icon-screw-wrench',
title: '修改类型',
action: {
click: function (event, element) {
@ -306,21 +328,32 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
cursor: { x: event.x, y: event.y }
})
popupMenu.open(element, "bpmn-replace", position)
popupMenu.open(element, 'bpmn-replace', position)
}
}
}
})
}
if (isAny(businessObject, ["bpmn:FlowNode", "bpmn:InteractionNode", "bpmn:DataObjectReference", "bpmn:DataStoreReference"])) {
if (
isAny(businessObject, [
'bpmn:FlowNode',
'bpmn:InteractionNode',
'bpmn:DataObjectReference',
'bpmn:DataStoreReference'
])
) {
assign(actions, {
"append.text-annotation": appendAction("bpmn:TextAnnotation", "bpmn-icon-text-annotation"),
'append.text-annotation': appendAction('bpmn:TextAnnotation', 'bpmn-icon-text-annotation'),
connect: {
group: "connect",
className: "bpmn-icon-connection-multi",
title: translate("Connect using " + (businessObject.isForCompensation ? "" : "Sequence/MessageFlow or ") + "Association"),
group: 'connect',
className: 'bpmn-icon-connection-multi',
title: translate(
'Connect using ' +
(businessObject.isForCompensation ? '' : 'Sequence/MessageFlow or ') +
'Association'
),
action: {
click: startConnect,
dragstart: startConnect
@ -329,12 +362,12 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
})
}
if (isAny(businessObject, ["bpmn:DataObjectReference", "bpmn:DataStoreReference"])) {
if (isAny(businessObject, ['bpmn:DataObjectReference', 'bpmn:DataStoreReference'])) {
assign(actions, {
connect: {
group: "connect",
className: "bpmn-icon-connection-multi",
title: translate("Connect using DataInputAssociation"),
group: 'connect',
className: 'bpmn-icon-connection-multi',
title: translate('Connect using DataInputAssociation'),
action: {
click: startConnect,
dragstart: startConnect
@ -343,9 +376,9 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
})
}
if (is(businessObject, "bpmn:Group")) {
if (is(businessObject, 'bpmn:Group')) {
assign(actions, {
"append.text-annotation": appendAction("bpmn:TextAnnotation", "bpmn-icon-text-annotation")
'append.text-annotation': appendAction('bpmn:TextAnnotation', 'bpmn-icon-text-annotation')
})
}
@ -360,9 +393,9 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
if (deleteAllowed) {
assign(actions, {
delete: {
group: "edit",
className: "bpmn-icon-trash",
title: translate("Remove"),
group: 'edit',
className: 'bpmn-icon-trash',
title: translate('Remove'),
action: {
click: removeElement
}
@ -375,7 +408,7 @@ ContextPadProvider.prototype.getContextPadEntries = function (element) {
// helpers /////////
function isEventType (eventBo, type, definition) {
function isEventType(eventBo, type, definition) {
const isType = eventBo.$instanceOf(type)
let isDefinition = false

View File

@ -1,6 +1,6 @@
import CustomContextPadProvider from "./contentPadProvider";
import CustomContextPadProvider from './contentPadProvider'
export default {
__init__: ["contextPadProvider"],
contextPadProvider: ["type", CustomContextPadProvider]
};
__init__: ['contextPadProvider'],
contextPadProvider: ['type', CustomContextPadProvider]
}

View File

@ -1,10 +1,10 @@
export default (key, name, type) => {
if (!type) type = "camunda";
if (!type) type = 'camunda'
const TYPE_TARGET = {
activiti: "http://activiti.org/bpmn",
camunda: "http://bpmn.io/schema/bpmn",
flowable: "http://flowable.org/bpmn"
};
activiti: 'http://activiti.org/bpmn',
camunda: 'http://bpmn.io/schema/bpmn',
flowable: 'http://flowable.org/bpmn'
}
return `<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@ -20,5 +20,5 @@ export default (key, name, type) => {
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="${key}">
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>`;
};
</bpmn2:definitions>`
}

View File

@ -10,9 +10,7 @@
{
"name": "Definitions",
"isAbstract": true,
"extends": [
"bpmn:Definitions"
],
"extends": ["bpmn:Definitions"],
"properties": [
{
"name": "diagramRelationId",
@ -23,9 +21,7 @@
},
{
"name": "InOutBinding",
"superClass": [
"Element"
],
"superClass": ["Element"],
"isAbstract": true,
"properties": [
{
@ -63,34 +59,22 @@
},
{
"name": "In",
"superClass": [
"InOutBinding"
],
"superClass": ["InOutBinding"],
"meta": {
"allowedIn": [
"bpmn:CallActivity"
]
"allowedIn": ["bpmn:CallActivity"]
}
},
{
"name": "Out",
"superClass": [
"InOutBinding"
],
"superClass": ["InOutBinding"],
"meta": {
"allowedIn": [
"bpmn:CallActivity"
]
"allowedIn": ["bpmn:CallActivity"]
}
},
{
"name": "AsyncCapable",
"isAbstract": true,
"extends": [
"bpmn:Activity",
"bpmn:Gateway",
"bpmn:Event"
],
"extends": ["bpmn:Activity", "bpmn:Gateway", "bpmn:Event"],
"properties": [
{
"name": "async",
@ -121,10 +105,7 @@
{
"name": "JobPriorized",
"isAbstract": true,
"extends": [
"bpmn:Process",
"activiti:AsyncCapable"
],
"extends": ["bpmn:Process", "activiti:AsyncCapable"],
"properties": [
{
"name": "jobPriority",
@ -136,9 +117,7 @@
{
"name": "SignalEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:SignalEventDefinition"
],
"extends": ["bpmn:SignalEventDefinition"],
"properties": [
{
"name": "async",
@ -151,9 +130,7 @@
{
"name": "ErrorEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:ErrorEventDefinition"
],
"extends": ["bpmn:ErrorEventDefinition"],
"properties": [
{
"name": "errorCodeVariable",
@ -170,9 +147,7 @@
{
"name": "Error",
"isAbstract": true,
"extends": [
"bpmn:Error"
],
"extends": ["bpmn:Error"],
"properties": [
{
"name": "activiti:errorMessage",
@ -183,9 +158,7 @@
},
{
"name": "PotentialStarter",
"superClass": [
"Element"
],
"superClass": ["Element"],
"properties": [
{
"name": "resourceAssignmentExpression",
@ -196,10 +169,7 @@
{
"name": "FormSupported",
"isAbstract": true,
"extends": [
"bpmn:StartEvent",
"bpmn:UserTask"
],
"extends": ["bpmn:StartEvent", "bpmn:UserTask"],
"properties": [
{
"name": "formHandlerClass",
@ -216,10 +186,7 @@
{
"name": "TemplateSupported",
"isAbstract": true,
"extends": [
"bpmn:Process",
"bpmn:FlowElement"
],
"extends": ["bpmn:Process", "bpmn:FlowElement"],
"properties": [
{
"name": "modelerTemplate",
@ -231,7 +198,7 @@
{
"name": "Initiator",
"isAbstract": true,
"extends": [ "bpmn:StartEvent" ],
"extends": ["bpmn:StartEvent"],
"properties": [
{
"name": "initiator",
@ -243,9 +210,7 @@
{
"name": "ScriptTask",
"isAbstract": true,
"extends": [
"bpmn:ScriptTask"
],
"extends": ["bpmn:ScriptTask"],
"properties": [
{
"name": "resultVariable",
@ -262,9 +227,7 @@
{
"name": "Process",
"isAbstract": true,
"extends": [
"bpmn:Process"
],
"extends": ["bpmn:Process"],
"properties": [
{
"name": "candidateStarterGroups",
@ -293,18 +256,16 @@
"default": true
},
{
"name":"executionListener",
"name": "executionListener",
"isAbstract": true,
"type":"Expression"
"type": "Expression"
}
]
},
{
"name": "EscalationEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:EscalationEventDefinition"
],
"extends": ["bpmn:EscalationEventDefinition"],
"properties": [
{
"name": "escalationCodeVariable",
@ -316,9 +277,7 @@
{
"name": "FormalExpression",
"isAbstract": true,
"extends": [
"bpmn:FormalExpression"
],
"extends": ["bpmn:FormalExpression"],
"properties": [
{
"name": "resource",
@ -329,19 +288,15 @@
},
{
"name": "multiinstance_type",
"superClass":[
"Element"
]
"superClass": ["Element"]
},
{
"name": "multiinstance_condition",
"superClass":[
"Element"
]
"superClass": ["Element"]
},
{
"name": "Assignable",
"extends": [ "bpmn:UserTask" ],
"extends": ["bpmn:UserTask"],
"properties": [
{
"name": "assignee",
@ -382,7 +337,7 @@
},
{
"name": "CallActivity",
"extends": [ "bpmn:CallActivity" ],
"extends": ["bpmn:CallActivity"],
"properties": [
{
"name": "calledElementBinding",
@ -471,9 +426,7 @@
},
{
"name": "DmnCapable",
"extends": [
"bpmn:BusinessRuleTask"
],
"extends": ["bpmn:BusinessRuleTask"],
"properties": [
{
"name": "decisionRef",
@ -506,9 +459,7 @@
},
{
"name": "ExternalCapable",
"extends": [
"activiti:ServiceTaskLike"
],
"extends": ["activiti:ServiceTaskLike"],
"properties": [
{
"name": "type",
@ -524,10 +475,7 @@
},
{
"name": "TaskPriorized",
"extends": [
"bpmn:Process",
"activiti:ExternalCapable"
],
"extends": ["bpmn:Process", "activiti:ExternalCapable"],
"properties": [
{
"name": "taskPriority",
@ -538,11 +486,9 @@
},
{
"name": "Properties",
"superClass": [
"Element"
],
"superClass": ["Element"],
"meta": {
"allowedIn": [ "*" ]
"allowedIn": ["*"]
},
"properties": [
{
@ -554,9 +500,7 @@
},
{
"name": "Property",
"superClass": [
"Element"
],
"superClass": ["Element"],
"properties": [
{
"name": "id",
@ -577,13 +521,9 @@
},
{
"name": "Connector",
"superClass": [
"Element"
],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"activiti:ServiceTaskLike"
]
"allowedIn": ["activiti:ServiceTaskLike"]
},
"properties": [
{
@ -598,14 +538,9 @@
},
{
"name": "InputOutput",
"superClass": [
"Element"
],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:FlowNode",
"activiti:Connector"
]
"allowedIn": ["bpmn:FlowNode", "activiti:Connector"]
},
"properties": [
{
@ -653,7 +588,7 @@
},
{
"name": "List",
"superClass": [ "InputOutputParameterDefinition" ],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "items",
@ -664,7 +599,7 @@
},
{
"name": "Map",
"superClass": [ "InputOutputParameterDefinition" ],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "entries",
@ -694,9 +629,7 @@
},
{
"name": "Value",
"superClass": [
"InputOutputParameterDefinition"
],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "id",
@ -717,7 +650,7 @@
},
{
"name": "Script",
"superClass": [ "InputOutputParameterDefinition" ],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "scriptFormat",
@ -738,7 +671,7 @@
},
{
"name": "Field",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"activiti:ServiceTaskLike",
@ -769,17 +702,17 @@
},
{
"name": "InputParameter",
"superClass": [ "InputOutputParameter" ]
"superClass": ["InputOutputParameter"]
},
{
"name": "OutputParameter",
"superClass": [ "InputOutputParameter" ]
"superClass": ["InputOutputParameter"]
},
{
"name": "Collectable",
"isAbstract": true,
"extends": [ "bpmn:MultiInstanceLoopCharacteristics" ],
"superClass": [ "activiti:AsyncCapable" ],
"extends": ["bpmn:MultiInstanceLoopCharacteristics"],
"superClass": ["activiti:AsyncCapable"],
"properties": [
{
"name": "collection",
@ -795,12 +728,9 @@
},
{
"name": "FailedJobRetryTimeCycle",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"activiti:AsyncCapable",
"bpmn:MultiInstanceLoopCharacteristics"
]
"allowedIn": ["activiti:AsyncCapable", "bpmn:MultiInstanceLoopCharacteristics"]
},
"properties": [
{
@ -812,7 +742,7 @@
},
{
"name": "ExecutionListener",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:Task",
@ -871,11 +801,9 @@
},
{
"name": "TaskListener",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:UserTask"
]
"allowedIn": ["bpmn:UserTask"]
},
"properties": [
{
@ -911,12 +839,9 @@
},
{
"name": "FormProperty",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:StartEvent",
"bpmn:UserTask"
]
"allowedIn": ["bpmn:StartEvent", "bpmn:UserTask"]
},
"properties": [
{
@ -978,7 +903,7 @@
},
{
"name": "FormProperty",
"superClass": [ "Element" ],
"superClass": ["Element"],
"properties": [
{
"name": "id",
@ -1022,7 +947,7 @@
},
{
"name": "Validation",
"superClass": [ "Element" ],
"superClass": ["Element"],
"properties": [
{
"name": "constraints",
@ -1033,7 +958,7 @@
},
{
"name": "Constraint",
"superClass": [ "Element" ],
"superClass": ["Element"],
"properties": [
{
"name": "name",
@ -1050,9 +975,7 @@
{
"name": "ConditionalEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:ConditionalEventDefinition"
],
"extends": ["bpmn:ConditionalEventDefinition"],
"properties": [
{
"name": "variableName",
@ -1067,5 +990,5 @@
]
}
],
"emumerations": [ ]
"emumerations": []
}

View File

@ -10,9 +10,7 @@
{
"name": "Definitions",
"isAbstract": true,
"extends": [
"bpmn:Definitions"
],
"extends": ["bpmn:Definitions"],
"properties": [
{
"name": "diagramRelationId",
@ -23,9 +21,7 @@
},
{
"name": "InOutBinding",
"superClass": [
"Element"
],
"superClass": ["Element"],
"isAbstract": true,
"properties": [
{
@ -63,35 +59,22 @@
},
{
"name": "In",
"superClass": [
"InOutBinding"
],
"superClass": ["InOutBinding"],
"meta": {
"allowedIn": [
"bpmn:CallActivity",
"bpmn:SignalEventDefinition"
]
"allowedIn": ["bpmn:CallActivity", "bpmn:SignalEventDefinition"]
}
},
{
"name": "Out",
"superClass": [
"InOutBinding"
],
"superClass": ["InOutBinding"],
"meta": {
"allowedIn": [
"bpmn:CallActivity"
]
"allowedIn": ["bpmn:CallActivity"]
}
},
{
"name": "AsyncCapable",
"isAbstract": true,
"extends": [
"bpmn:Activity",
"bpmn:Gateway",
"bpmn:Event"
],
"extends": ["bpmn:Activity", "bpmn:Gateway", "bpmn:Event"],
"properties": [
{
"name": "async",
@ -122,10 +105,7 @@
{
"name": "JobPriorized",
"isAbstract": true,
"extends": [
"bpmn:Process",
"camunda:AsyncCapable"
],
"extends": ["bpmn:Process", "camunda:AsyncCapable"],
"properties": [
{
"name": "jobPriority",
@ -137,9 +117,7 @@
{
"name": "SignalEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:SignalEventDefinition"
],
"extends": ["bpmn:SignalEventDefinition"],
"properties": [
{
"name": "async",
@ -152,9 +130,7 @@
{
"name": "ErrorEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:ErrorEventDefinition"
],
"extends": ["bpmn:ErrorEventDefinition"],
"properties": [
{
"name": "errorCodeVariable",
@ -171,9 +147,7 @@
{
"name": "Error",
"isAbstract": true,
"extends": [
"bpmn:Error"
],
"extends": ["bpmn:Error"],
"properties": [
{
"name": "camunda:errorMessage",
@ -184,9 +158,7 @@
},
{
"name": "PotentialStarter",
"superClass": [
"Element"
],
"superClass": ["Element"],
"properties": [
{
"name": "resourceAssignmentExpression",
@ -197,10 +169,7 @@
{
"name": "FormSupported",
"isAbstract": true,
"extends": [
"bpmn:StartEvent",
"bpmn:UserTask"
],
"extends": ["bpmn:StartEvent", "bpmn:UserTask"],
"properties": [
{
"name": "formHandlerClass",
@ -217,10 +186,7 @@
{
"name": "TemplateSupported",
"isAbstract": true,
"extends": [
"bpmn:Process",
"bpmn:FlowElement"
],
"extends": ["bpmn:Process", "bpmn:FlowElement"],
"properties": [
{
"name": "modelerTemplate",
@ -237,7 +203,7 @@
{
"name": "Initiator",
"isAbstract": true,
"extends": [ "bpmn:StartEvent" ],
"extends": ["bpmn:StartEvent"],
"properties": [
{
"name": "initiator",
@ -249,9 +215,7 @@
{
"name": "ScriptTask",
"isAbstract": true,
"extends": [
"bpmn:ScriptTask"
],
"extends": ["bpmn:ScriptTask"],
"properties": [
{
"name": "resultVariable",
@ -268,9 +232,7 @@
{
"name": "Process",
"isAbstract": true,
"extends": [
"bpmn:Process"
],
"extends": ["bpmn:Process"],
"properties": [
{
"name": "candidateStarterGroups",
@ -303,9 +265,7 @@
{
"name": "EscalationEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:EscalationEventDefinition"
],
"extends": ["bpmn:EscalationEventDefinition"],
"properties": [
{
"name": "escalationCodeVariable",
@ -317,9 +277,7 @@
{
"name": "FormalExpression",
"isAbstract": true,
"extends": [
"bpmn:FormalExpression"
],
"extends": ["bpmn:FormalExpression"],
"properties": [
{
"name": "resource",
@ -330,7 +288,7 @@
},
{
"name": "Assignable",
"extends": [ "bpmn:UserTask" ],
"extends": ["bpmn:UserTask"],
"properties": [
{
"name": "assignee",
@ -366,7 +324,7 @@
},
{
"name": "CallActivity",
"extends": [ "bpmn:CallActivity" ],
"extends": ["bpmn:CallActivity"],
"properties": [
{
"name": "calledElementBinding",
@ -455,9 +413,7 @@
},
{
"name": "DmnCapable",
"extends": [
"bpmn:BusinessRuleTask"
],
"extends": ["bpmn:BusinessRuleTask"],
"properties": [
{
"name": "decisionRef",
@ -490,9 +446,7 @@
},
{
"name": "ExternalCapable",
"extends": [
"camunda:ServiceTaskLike"
],
"extends": ["camunda:ServiceTaskLike"],
"properties": [
{
"name": "type",
@ -508,10 +462,7 @@
},
{
"name": "TaskPriorized",
"extends": [
"bpmn:Process",
"camunda:ExternalCapable"
],
"extends": ["bpmn:Process", "camunda:ExternalCapable"],
"properties": [
{
"name": "taskPriority",
@ -522,11 +473,9 @@
},
{
"name": "Properties",
"superClass": [
"Element"
],
"superClass": ["Element"],
"meta": {
"allowedIn": [ "*" ]
"allowedIn": ["*"]
},
"properties": [
{
@ -538,9 +487,7 @@
},
{
"name": "Property",
"superClass": [
"Element"
],
"superClass": ["Element"],
"properties": [
{
"name": "id",
@ -561,13 +508,9 @@
},
{
"name": "Connector",
"superClass": [
"Element"
],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"camunda:ServiceTaskLike"
]
"allowedIn": ["camunda:ServiceTaskLike"]
},
"properties": [
{
@ -582,14 +525,9 @@
},
{
"name": "InputOutput",
"superClass": [
"Element"
],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:FlowNode",
"camunda:Connector"
]
"allowedIn": ["bpmn:FlowNode", "camunda:Connector"]
},
"properties": [
{
@ -637,7 +575,7 @@
},
{
"name": "List",
"superClass": [ "InputOutputParameterDefinition" ],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "items",
@ -648,7 +586,7 @@
},
{
"name": "Map",
"superClass": [ "InputOutputParameterDefinition" ],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "entries",
@ -678,9 +616,7 @@
},
{
"name": "Value",
"superClass": [
"InputOutputParameterDefinition"
],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "id",
@ -701,7 +637,7 @@
},
{
"name": "Script",
"superClass": [ "InputOutputParameterDefinition" ],
"superClass": ["InputOutputParameterDefinition"],
"properties": [
{
"name": "scriptFormat",
@ -722,7 +658,7 @@
},
{
"name": "Field",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"camunda:ServiceTaskLike",
@ -753,17 +689,17 @@
},
{
"name": "InputParameter",
"superClass": [ "InputOutputParameter" ]
"superClass": ["InputOutputParameter"]
},
{
"name": "OutputParameter",
"superClass": [ "InputOutputParameter" ]
"superClass": ["InputOutputParameter"]
},
{
"name": "Collectable",
"isAbstract": true,
"extends": [ "bpmn:MultiInstanceLoopCharacteristics" ],
"superClass": [ "camunda:AsyncCapable" ],
"extends": ["bpmn:MultiInstanceLoopCharacteristics"],
"superClass": ["camunda:AsyncCapable"],
"properties": [
{
"name": "collection",
@ -779,12 +715,9 @@
},
{
"name": "FailedJobRetryTimeCycle",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"camunda:AsyncCapable",
"bpmn:MultiInstanceLoopCharacteristics"
]
"allowedIn": ["camunda:AsyncCapable", "bpmn:MultiInstanceLoopCharacteristics"]
},
"properties": [
{
@ -796,7 +729,7 @@
},
{
"name": "ExecutionListener",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:Task",
@ -855,11 +788,9 @@
},
{
"name": "TaskListener",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:UserTask"
]
"allowedIn": ["bpmn:UserTask"]
},
"properties": [
{
@ -905,12 +836,9 @@
},
{
"name": "FormProperty",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:StartEvent",
"bpmn:UserTask"
]
"allowedIn": ["bpmn:StartEvent", "bpmn:UserTask"]
},
"properties": [
{
@ -972,12 +900,9 @@
},
{
"name": "FormData",
"superClass": [ "Element" ],
"superClass": ["Element"],
"meta": {
"allowedIn": [
"bpmn:StartEvent",
"bpmn:UserTask"
]
"allowedIn": ["bpmn:StartEvent", "bpmn:UserTask"]
},
"properties": [
{
@ -994,7 +919,7 @@
},
{
"name": "FormField",
"superClass": [ "Element" ],
"superClass": ["Element"],
"properties": [
{
"name": "id",
@ -1038,7 +963,7 @@
},
{
"name": "Validation",
"superClass": [ "Element" ],
"superClass": ["Element"],
"properties": [
{
"name": "constraints",
@ -1049,7 +974,7 @@
},
{
"name": "Constraint",
"superClass": [ "Element" ],
"superClass": ["Element"],
"properties": [
{
"name": "name",
@ -1066,9 +991,7 @@
{
"name": "ConditionalEventDefinition",
"isAbstract": true,
"extends": [
"bpmn:ConditionalEventDefinition"
],
"extends": ["bpmn:ConditionalEventDefinition"],
"properties": [
{
"name": "variableName",
@ -1083,5 +1006,5 @@
]
}
],
"emumerations": [ ]
"emumerations": []
}

View File

@ -875,10 +875,7 @@
"name": "FailedJobRetryTimeCycle",
"superClass": ["Element"],
"meta": {
"allowedIn": [
"flowable:AsyncCapable",
"bpmn:MultiInstanceLoopCharacteristics"
]
"allowedIn": ["flowable:AsyncCapable", "bpmn:MultiInstanceLoopCharacteristics"]
},
"properties": [
{

View File

@ -1,4 +1,4 @@
"use strict"
'use strict'
import { some } from 'min-dash'
@ -6,20 +6,25 @@ import { some } from 'min-dash'
// const some = some
const ALLOWED_TYPES = {
FailedJobRetryTimeCycle: ['bpmn:StartEvent', 'bpmn:BoundaryEvent', 'bpmn:IntermediateCatchEvent', 'bpmn:Activity'],
FailedJobRetryTimeCycle: [
'bpmn:StartEvent',
'bpmn:BoundaryEvent',
'bpmn:IntermediateCatchEvent',
'bpmn:Activity'
],
Connector: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent'],
Field: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent']
}
function is (element, type) {
return element && typeof element.$instanceOf === "function" && element.$instanceOf(type)
function is(element, type) {
return element && typeof element.$instanceOf === 'function' && element.$instanceOf(type)
}
function exists (element) {
function exists(element) {
return element && element.length
}
function includesType (collection, type) {
function includesType(collection, type) {
return (
exists(collection) &&
some(collection, function (element) {
@ -28,22 +33,22 @@ function includesType (collection, type) {
)
}
function anyType (element, types) {
function anyType(element, types) {
return some(types, function (type) {
return is(element, type)
})
}
function isAllowed (propName, propDescriptor, newElement) {
function isAllowed(propName, propDescriptor, newElement) {
const name = propDescriptor.name,
types = ALLOWED_TYPES[name.replace(/activiti:/, '')]
return name === propName && anyType(newElement, types)
}
function ActivitiModdleExtension (eventBus) {
function ActivitiModdleExtension(eventBus) {
eventBus.on(
"property.clone",
'property.clone',
function (context) {
const newElement = context.newElement,
propDescriptor = context.propertyDescriptor
@ -54,26 +59,25 @@ function ActivitiModdleExtension (eventBus) {
)
}
ActivitiModdleExtension.$inject = ["eventBus"]
ActivitiModdleExtension.$inject = ['eventBus']
ActivitiModdleExtension.prototype.canCloneProperty = function (newElement, propDescriptor) {
if (isAllowed("activiti:FailedJobRetryTimeCycle", propDescriptor, newElement)) {
if (isAllowed('activiti:FailedJobRetryTimeCycle', propDescriptor, newElement)) {
return (
includesType(newElement.eventDefinitions, "bpmn:TimerEventDefinition") ||
includesType(newElement.eventDefinitions, "bpmn:SignalEventDefinition") ||
is(newElement.loopCharacteristics, "bpmn:MultiInstanceLoopCharacteristics")
includesType(newElement.eventDefinitions, 'bpmn:TimerEventDefinition') ||
includesType(newElement.eventDefinitions, 'bpmn:SignalEventDefinition') ||
is(newElement.loopCharacteristics, 'bpmn:MultiInstanceLoopCharacteristics')
)
}
if (isAllowed("activiti:Connector", propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition")
if (isAllowed('activiti:Connector', propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, 'bpmn:MessageEventDefinition')
}
if (isAllowed("activiti:Field", propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition")
if (isAllowed('activiti:Field', propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, 'bpmn:MessageEventDefinition')
}
}
// module.exports = ActivitiModdleExtension;
export default ActivitiModdleExtension

View File

@ -3,9 +3,9 @@
* address https://github.com/igdianov/activiti-bpmn-moddle
* */
import activitiExtension from "./activitiExtension"
import activitiExtension from './activitiExtension'
export default {
__init__: ["ActivitiModdleExtension"],
ActivitiModdleExtension: ["type", activitiExtension]
__init__: ['ActivitiModdleExtension'],
ActivitiModdleExtension: ['type', activitiExtension]
}

View File

@ -1,11 +1,6 @@
"use strict"
'use strict'
import {
isFunction,
isObject,
some
} from 'min-dash'
import { isFunction, isObject, some } from 'min-dash'
// const isFunction = isFunction,
// isObject = isObject,
@ -16,10 +11,11 @@ import {
const WILDCARD = '*'
function CamundaModdleExtension (eventBus) {
function CamundaModdleExtension(eventBus) {
// eslint-disable-next-line @typescript-eslint/no-this-alias
const self = this
eventBus.on("moddleCopy.canCopyProperty", function (context) {
eventBus.on('moddleCopy.canCopyProperty', function (context) {
const property = context.property,
parent = context.parent
@ -27,7 +23,7 @@ function CamundaModdleExtension (eventBus) {
})
}
CamundaModdleExtension.$inject = ["eventBus"]
CamundaModdleExtension.$inject = ['eventBus']
/**
* Check wether to disallow copying property.
@ -40,15 +36,15 @@ CamundaModdleExtension.prototype.canCopyProperty = function (property, parent) {
// (2) check more complex scenarios
if (is(property, "camunda:InputOutput") && !this.canHostInputOutput(parent)) {
if (is(property, 'camunda:InputOutput') && !this.canHostInputOutput(parent)) {
return false
}
if (isAny(property, ["camunda:Connector", "camunda:Field"]) && !this.canHostConnector(parent)) {
if (isAny(property, ['camunda:Connector', 'camunda:Field']) && !this.canHostConnector(parent)) {
return false
}
if (is(property, "camunda:In") && !this.canHostIn(parent)) {
if (is(property, 'camunda:In') && !this.canHostIn(parent)) {
return false
}
}
@ -68,21 +64,19 @@ CamundaModdleExtension.prototype.canHostInputOutput = function (parent) {
return false
}
if (isAny(flowNode, ["bpmn:StartEvent", "bpmn:Gateway", "bpmn:BoundaryEvent"])) {
if (isAny(flowNode, ['bpmn:StartEvent', 'bpmn:Gateway', 'bpmn:BoundaryEvent'])) {
return false
}
return !(is(flowNode, "bpmn:SubProcess") && flowNode.get("triggeredByEvent"))
return !(is(flowNode, 'bpmn:SubProcess') && flowNode.get('triggeredByEvent'))
}
CamundaModdleExtension.prototype.canHostConnector = function (parent) {
const serviceTaskLike = getParent(parent, 'camunda:ServiceTaskLike')
if (is(serviceTaskLike, "bpmn:MessageEventDefinition")) {
if (is(serviceTaskLike, 'bpmn:MessageEventDefinition')) {
// only allow on throw and end events
return getParent(parent, "bpmn:IntermediateThrowEvent") || getParent(parent, "bpmn:EndEvent")
return getParent(parent, 'bpmn:IntermediateThrowEvent') || getParent(parent, 'bpmn:EndEvent')
}
return true
@ -99,7 +93,7 @@ CamundaModdleExtension.prototype.canHostIn = function (parent) {
if (signalEventDefinition) {
// only allow on throw and end events
return getParent(parent, "bpmn:IntermediateThrowEvent") || getParent(parent, "bpmn:EndEvent")
return getParent(parent, 'bpmn:IntermediateThrowEvent') || getParent(parent, 'bpmn:EndEvent')
}
return true
@ -110,17 +104,17 @@ export default CamundaModdleExtension
// helpers //////////
function is (element, type) {
function is(element, type) {
return element && isFunction(element.$instanceOf) && element.$instanceOf(type)
}
function isAny (element, types) {
function isAny(element, types) {
return some(types, function (t) {
return is(element, t)
})
}
function getParent (element, type) {
function getParent(element, type) {
if (!type) {
return element.$parent
}
@ -136,7 +130,7 @@ function getParent (element, type) {
return getParent(element.$parent, type)
}
function isAllowedInParent (property, parent) {
function isAllowedInParent(property, parent) {
// (1) find property descriptor
const descriptor = property.$type && property.$model.getTypeDescriptor(property.$type)
@ -152,6 +146,6 @@ function isAllowedInParent (property, parent) {
})
}
function isWildcard (allowedIn) {
function isWildcard(allowedIn) {
return allowedIn.indexOf(WILDCARD) !== -1
}

View File

@ -1,8 +1,8 @@
"use strict"
'use strict'
import extension from "./extension"
import extension from './extension'
export default {
__init__: ["camundaModdleExtension"],
camundaModdleExtension: ["type", extension]
__init__: ['camundaModdleExtension'],
camundaModdleExtension: ['type', extension]
}

View File

@ -1,27 +1,30 @@
"use strict"
'use strict'
import { some } from 'min-dash'
// const some = some
// const some = require('min-dash').some
const ALLOWED_TYPES = {
FailedJobRetryTimeCycle: ['bpmn:StartEvent', 'bpmn:BoundaryEvent', 'bpmn:IntermediateCatchEvent', 'bpmn:Activity'],
FailedJobRetryTimeCycle: [
'bpmn:StartEvent',
'bpmn:BoundaryEvent',
'bpmn:IntermediateCatchEvent',
'bpmn:Activity'
],
Connector: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent'],
Field: ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent']
}
function is (element, type) {
return element && typeof element.$instanceOf === "function" && element.$instanceOf(type)
function is(element, type) {
return element && typeof element.$instanceOf === 'function' && element.$instanceOf(type)
}
function exists (element) {
function exists(element) {
return element && element.length
}
function includesType (collection, type) {
function includesType(collection, type) {
return (
exists(collection) &&
some(collection, function (element) {
@ -30,22 +33,22 @@ function includesType (collection, type) {
)
}
function anyType (element, types) {
function anyType(element, types) {
return some(types, function (type) {
return is(element, type)
})
}
function isAllowed (propName, propDescriptor, newElement) {
function isAllowed(propName, propDescriptor, newElement) {
const name = propDescriptor.name,
types = ALLOWED_TYPES[name.replace(/flowable:/, '')]
return name === propName && anyType(newElement, types)
}
function FlowableModdleExtension (eventBus) {
function FlowableModdleExtension(eventBus) {
eventBus.on(
"property.clone",
'property.clone',
function (context) {
const newElement = context.newElement,
propDescriptor = context.propertyDescriptor
@ -56,23 +59,23 @@ function FlowableModdleExtension (eventBus) {
)
}
FlowableModdleExtension.$inject = ["eventBus"]
FlowableModdleExtension.$inject = ['eventBus']
FlowableModdleExtension.prototype.canCloneProperty = function (newElement, propDescriptor) {
if (isAllowed("flowable:FailedJobRetryTimeCycle", propDescriptor, newElement)) {
if (isAllowed('flowable:FailedJobRetryTimeCycle', propDescriptor, newElement)) {
return (
includesType(newElement.eventDefinitions, "bpmn:TimerEventDefinition") ||
includesType(newElement.eventDefinitions, "bpmn:SignalEventDefinition") ||
is(newElement.loopCharacteristics, "bpmn:MultiInstanceLoopCharacteristics")
includesType(newElement.eventDefinitions, 'bpmn:TimerEventDefinition') ||
includesType(newElement.eventDefinitions, 'bpmn:SignalEventDefinition') ||
is(newElement.loopCharacteristics, 'bpmn:MultiInstanceLoopCharacteristics')
)
}
if (isAllowed("flowable:Connector", propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition")
if (isAllowed('flowable:Connector', propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, 'bpmn:MessageEventDefinition')
}
if (isAllowed("flowable:Field", propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, "bpmn:MessageEventDefinition")
if (isAllowed('flowable:Field', propDescriptor, newElement)) {
return includesType(newElement.eventDefinitions, 'bpmn:MessageEventDefinition')
}
}

View File

@ -2,9 +2,9 @@
* @author igdianov
* address https://github.com/igdianov/activiti-bpmn-moddle
* */
import flowableExtension from "./flowableExtension"
import flowableExtension from './flowableExtension'
export default {
__init__: ["FlowableModdleExtension"],
FlowableModdleExtension: ["type", flowableExtension]
__init__: ['FlowableModdleExtension'],
FlowableModdleExtension: ['type', flowableExtension]
}

View File

@ -1,11 +1,31 @@
import PaletteProvider from 'bpmn-js/lib/features/palette/PaletteProvider'
import { assign } from "min-dash"
import { assign } from 'min-dash'
export default function CustomPalette (palette, create, elementFactory, spaceTool, lassoTool, handTool, globalConnect, translate) {
PaletteProvider.call(this, palette, create, elementFactory, spaceTool, lassoTool, handTool, globalConnect, translate, 2000)
export default function CustomPalette(
palette,
create,
elementFactory,
spaceTool,
lassoTool,
handTool,
globalConnect,
translate
) {
PaletteProvider.call(
this,
palette,
create,
elementFactory,
spaceTool,
lassoTool,
handTool,
globalConnect,
translate,
2000
)
}
const F = function () { } // 核心,利用空对象作为中介;
const F = function () {} // 核心,利用空对象作为中介;
F.prototype = PaletteProvider.prototype // 核心将父类的原型赋值给空对象F
// 利用中介函数重写原型链方法
@ -19,8 +39,8 @@ F.prototype.getPaletteEntries = function () {
globalConnect = this._globalConnect,
translate = this._translate
function createAction (type, group, className, title, options) {
function createListener (event) {
function createAction(type, group, className, title, options) {
function createListener(event) {
const shape = elementFactory.createShape(assign({ type: type }, options))
if (options) {
@ -35,7 +55,7 @@ F.prototype.getPaletteEntries = function () {
return {
group: group,
className: className,
title: title || translate("Create {type}", { type: shortType }),
title: title || translate('Create {type}', { type: shortType }),
action: {
dragstart: createListener,
click: createListener
@ -43,7 +63,7 @@ F.prototype.getPaletteEntries = function () {
}
}
function createSubprocess (event) {
function createSubprocess(event) {
const subProcess = elementFactory.createShape({
type: 'bpmn:SubProcess',
x: 0,
@ -65,14 +85,14 @@ F.prototype.getPaletteEntries = function () {
})
}
function createParticipant (event) {
function createParticipant(event) {
create.start(event, elementFactory.createParticipantShape())
}
assign(actions, {
"hand-tool": {
group: "tools",
className: "bpmn-icon-hand-tool",
'hand-tool': {
group: 'tools',
className: 'bpmn-icon-hand-tool',
title: '激活抓手工具',
// title: translate("Activate the hand tool"),
action: {
@ -81,77 +101,121 @@ F.prototype.getPaletteEntries = function () {
}
}
},
"lasso-tool": {
group: "tools",
className: "bpmn-icon-lasso-tool",
title: translate("Activate the lasso tool"),
'lasso-tool': {
group: 'tools',
className: 'bpmn-icon-lasso-tool',
title: translate('Activate the lasso tool'),
action: {
click: function (event) {
lassoTool.activateSelection(event)
}
}
},
"space-tool": {
group: "tools",
className: "bpmn-icon-space-tool",
title: translate("Activate the create/remove space tool"),
'space-tool': {
group: 'tools',
className: 'bpmn-icon-space-tool',
title: translate('Activate the create/remove space tool'),
action: {
click: function (event) {
spaceTool.activateSelection(event)
}
}
},
"global-connect-tool": {
group: "tools",
className: "bpmn-icon-connection-multi",
title: translate("Activate the global connect tool"),
'global-connect-tool': {
group: 'tools',
className: 'bpmn-icon-connection-multi',
title: translate('Activate the global connect tool'),
action: {
click: function (event) {
globalConnect.toggle(event)
}
}
},
"tool-separator": {
group: "tools",
'tool-separator': {
group: 'tools',
separator: true
},
"create.start-event": createAction("bpmn:StartEvent", "event", "bpmn-icon-start-event-none", translate("Create StartEvent")),
"create.intermediate-event": createAction(
"bpmn:IntermediateThrowEvent",
"event",
"bpmn-icon-intermediate-event-none",
translate("Create Intermediate/Boundary Event")
'create.start-event': createAction(
'bpmn:StartEvent',
'event',
'bpmn-icon-start-event-none',
translate('Create StartEvent')
),
"create.end-event": createAction("bpmn:EndEvent", "event", "bpmn-icon-end-event-none", translate("Create EndEvent")),
"create.exclusive-gateway": createAction("bpmn:ExclusiveGateway", "gateway", "bpmn-icon-gateway-none", translate("Create Gateway")),
"create.user-task": createAction("bpmn:UserTask", "activity", "bpmn-icon-user-task", translate("Create User Task")),
"create.data-object": createAction("bpmn:DataObjectReference", "data-object", "bpmn-icon-data-object", translate("Create DataObjectReference")),
"create.data-store": createAction("bpmn:DataStoreReference", "data-store", "bpmn-icon-data-store", translate("Create DataStoreReference")),
"create.subprocess-expanded": {
group: "activity",
className: "bpmn-icon-subprocess-expanded",
title: translate("Create expanded SubProcess"),
'create.intermediate-event': createAction(
'bpmn:IntermediateThrowEvent',
'event',
'bpmn-icon-intermediate-event-none',
translate('Create Intermediate/Boundary Event')
),
'create.end-event': createAction(
'bpmn:EndEvent',
'event',
'bpmn-icon-end-event-none',
translate('Create EndEvent')
),
'create.exclusive-gateway': createAction(
'bpmn:ExclusiveGateway',
'gateway',
'bpmn-icon-gateway-none',
translate('Create Gateway')
),
'create.user-task': createAction(
'bpmn:UserTask',
'activity',
'bpmn-icon-user-task',
translate('Create User Task')
),
'create.data-object': createAction(
'bpmn:DataObjectReference',
'data-object',
'bpmn-icon-data-object',
translate('Create DataObjectReference')
),
'create.data-store': createAction(
'bpmn:DataStoreReference',
'data-store',
'bpmn-icon-data-store',
translate('Create DataStoreReference')
),
'create.subprocess-expanded': {
group: 'activity',
className: 'bpmn-icon-subprocess-expanded',
title: translate('Create expanded SubProcess'),
action: {
dragstart: createSubprocess,
click: createSubprocess
}
},
"create.participant-expanded": {
group: "collaboration",
className: "bpmn-icon-participant",
title: translate("Create Pool/Participant"),
'create.participant-expanded': {
group: 'collaboration',
className: 'bpmn-icon-participant',
title: translate('Create Pool/Participant'),
action: {
dragstart: createParticipant,
click: createParticipant
}
},
"create.group": createAction("bpmn:Group", "artifact", "bpmn-icon-group", translate("Create Group"))
'create.group': createAction(
'bpmn:Group',
'artifact',
'bpmn-icon-group',
translate('Create Group')
)
})
return actions
}
CustomPalette.$inject = ["palette", "create", "elementFactory", "spaceTool", "lassoTool", "handTool", "globalConnect", "translate"]
CustomPalette.$inject = [
'palette',
'create',
'elementFactory',
'spaceTool',
'lassoTool',
'handTool',
'globalConnect',
'translate'
]
CustomPalette.prototype = new F() // 核心,将 F的实例赋值给子类
CustomPalette.prototype.constructor = CustomPalette // 修复子类CustomPalette的构造器指向防止原型链的混乱

View File

@ -14,9 +14,9 @@
// paletteProvider: ["type", PaletteProvider]
// };
import CustomPalette from "./CustomPalette";
import CustomPalette from './CustomPalette'
export default {
__init__: ["paletteProvider"],
paletteProvider: ["type", CustomPalette]
};
__init__: ['paletteProvider'],
paletteProvider: ['type', CustomPalette]
}

View File

@ -1,9 +1,18 @@
import { assign } from "min-dash"
import { assign } from 'min-dash'
/**
* A palette provider for BPMN 2.0 elements.
*/
export default function PaletteProvider (palette, create, elementFactory, spaceTool, lassoTool, handTool, globalConnect, translate) {
export default function PaletteProvider(
palette,
create,
elementFactory,
spaceTool,
lassoTool,
handTool,
globalConnect,
translate
) {
this._palette = palette
this._create = create
this._elementFactory = elementFactory
@ -16,7 +25,16 @@ export default function PaletteProvider (palette, create, elementFactory, spaceT
palette.registerProvider(this)
}
PaletteProvider.$inject = ["palette", "create", "elementFactory", "spaceTool", "lassoTool", "handTool", "globalConnect", "translate"]
PaletteProvider.$inject = [
'palette',
'create',
'elementFactory',
'spaceTool',
'lassoTool',
'handTool',
'globalConnect',
'translate'
]
PaletteProvider.prototype.getPaletteEntries = function () {
const actions = {},
@ -28,8 +46,8 @@ PaletteProvider.prototype.getPaletteEntries = function () {
globalConnect = this._globalConnect,
translate = this._translate
function createAction (type, group, className, title, options) {
function createListener (event) {
function createAction(type, group, className, title, options) {
function createListener(event) {
const shape = elementFactory.createShape(assign({ type: type }, options))
if (options) {
@ -44,7 +62,7 @@ PaletteProvider.prototype.getPaletteEntries = function () {
return {
group: group,
className: className,
title: title || translate("Create {type}", { type: shortType }),
title: title || translate('Create {type}', { type: shortType }),
action: {
dragstart: createListener,
click: createListener
@ -52,7 +70,7 @@ PaletteProvider.prototype.getPaletteEntries = function () {
}
}
function createSubprocess (event) {
function createSubprocess(event) {
const subProcess = elementFactory.createShape({
type: 'bpmn:SubProcess',
x: 0,
@ -74,86 +92,121 @@ PaletteProvider.prototype.getPaletteEntries = function () {
})
}
function createParticipant (event) {
function createParticipant(event) {
create.start(event, elementFactory.createParticipantShape())
}
assign(actions, {
"hand-tool": {
group: "tools",
className: "bpmn-icon-hand-tool",
title: translate("Activate the hand tool"),
'hand-tool': {
group: 'tools',
className: 'bpmn-icon-hand-tool',
title: translate('Activate the hand tool'),
action: {
click: function (event) {
handTool.activateHand(event)
}
}
},
"lasso-tool": {
group: "tools",
className: "bpmn-icon-lasso-tool",
title: translate("Activate the lasso tool"),
'lasso-tool': {
group: 'tools',
className: 'bpmn-icon-lasso-tool',
title: translate('Activate the lasso tool'),
action: {
click: function (event) {
lassoTool.activateSelection(event)
}
}
},
"space-tool": {
group: "tools",
className: "bpmn-icon-space-tool",
title: translate("Activate the create/remove space tool"),
'space-tool': {
group: 'tools',
className: 'bpmn-icon-space-tool',
title: translate('Activate the create/remove space tool'),
action: {
click: function (event) {
spaceTool.activateSelection(event)
}
}
},
"global-connect-tool": {
group: "tools",
className: "bpmn-icon-connection-multi",
title: translate("Activate the global connect tool"),
'global-connect-tool': {
group: 'tools',
className: 'bpmn-icon-connection-multi',
title: translate('Activate the global connect tool'),
action: {
click: function (event) {
globalConnect.toggle(event)
}
}
},
"tool-separator": {
group: "tools",
'tool-separator': {
group: 'tools',
separator: true
},
"create.start-event": createAction("bpmn:StartEvent", "event", "bpmn-icon-start-event-none", translate("Create StartEvent")),
"create.intermediate-event": createAction(
"bpmn:IntermediateThrowEvent",
"event",
"bpmn-icon-intermediate-event-none",
translate("Create Intermediate/Boundary Event")
'create.start-event': createAction(
'bpmn:StartEvent',
'event',
'bpmn-icon-start-event-none',
translate('Create StartEvent')
),
"create.end-event": createAction("bpmn:EndEvent", "event", "bpmn-icon-end-event-none", translate("Create EndEvent")),
"create.exclusive-gateway": createAction("bpmn:ExclusiveGateway", "gateway", "bpmn-icon-gateway-none", translate("Create Gateway")),
"create.user-task": createAction("bpmn:UserTask", "activity", "bpmn-icon-user-task", translate("Create User Task")),
"create.data-object": createAction("bpmn:DataObjectReference", "data-object", "bpmn-icon-data-object", translate("Create DataObjectReference")),
"create.data-store": createAction("bpmn:DataStoreReference", "data-store", "bpmn-icon-data-store", translate("Create DataStoreReference")),
"create.subprocess-expanded": {
group: "activity",
className: "bpmn-icon-subprocess-expanded",
title: translate("Create expanded SubProcess"),
'create.intermediate-event': createAction(
'bpmn:IntermediateThrowEvent',
'event',
'bpmn-icon-intermediate-event-none',
translate('Create Intermediate/Boundary Event')
),
'create.end-event': createAction(
'bpmn:EndEvent',
'event',
'bpmn-icon-end-event-none',
translate('Create EndEvent')
),
'create.exclusive-gateway': createAction(
'bpmn:ExclusiveGateway',
'gateway',
'bpmn-icon-gateway-none',
translate('Create Gateway')
),
'create.user-task': createAction(
'bpmn:UserTask',
'activity',
'bpmn-icon-user-task',
translate('Create User Task')
),
'create.data-object': createAction(
'bpmn:DataObjectReference',
'data-object',
'bpmn-icon-data-object',
translate('Create DataObjectReference')
),
'create.data-store': createAction(
'bpmn:DataStoreReference',
'data-store',
'bpmn-icon-data-store',
translate('Create DataStoreReference')
),
'create.subprocess-expanded': {
group: 'activity',
className: 'bpmn-icon-subprocess-expanded',
title: translate('Create expanded SubProcess'),
action: {
dragstart: createSubprocess,
click: createSubprocess
}
},
"create.participant-expanded": {
group: "collaboration",
className: "bpmn-icon-participant",
title: translate("Create Pool/Participant"),
'create.participant-expanded': {
group: 'collaboration',
className: 'bpmn-icon-participant',
title: translate('Create Pool/Participant'),
action: {
dragstart: createParticipant,
click: createParticipant
}
},
"create.group": createAction("bpmn:Group", "artifact", "bpmn-icon-group", translate("Create Group"))
'create.group': createAction(
'bpmn:Group',
'artifact',
'bpmn-icon-group',
translate('Create Group')
)
})
return actions

View File

@ -22,20 +22,23 @@
// }
export default function customTranslate(translations) {
return function(template, replacements) {
replacements = replacements || {};
return function (template, replacements) {
replacements = replacements || {}
// Translate
template = translations[template] || template;
template = translations[template] || template
// Replace
return template.replace(/{([^}]+)}/g, function(_, key) {
let str = replacements[key];
if (translations[replacements[key]] !== null && translations[replacements[key]] !== undefined) {
return template.replace(/{([^}]+)}/g, function (_, key) {
let str = replacements[key]
if (
translations[replacements[key]] !== null &&
translations[replacements[key]] !== undefined
) {
// eslint-disable-next-line no-mixed-spaces-and-tabs
str = translations[replacements[key]];
str = translations[replacements[key]]
// eslint-disable-next-line no-mixed-spaces-and-tabs
}
return str || "{" + key + "}";
});
};
return str || '{' + key + '}'
})
}
}

View File

@ -6,233 +6,235 @@
*/
export default {
// 添加部分
"Append EndEvent": "追加结束事件",
"Append Gateway": "追加网关",
"Append Task": "追加任务",
"Append Intermediate/Boundary Event": "追加中间抛出事件/边界事件",
'Append EndEvent': '追加结束事件',
'Append Gateway': '追加网关',
'Append Task': '追加任务',
'Append Intermediate/Boundary Event': '追加中间抛出事件/边界事件',
"Activate the global connect tool": "激活全局连接工具",
"Append {type}": "添加 {type}",
"Add Lane above": "在上面添加道",
"Divide into two Lanes": "分割成两个道",
"Divide into three Lanes": "分割成三个道",
"Add Lane below": "在下面添加道",
"Append compensation activity": "追加补偿活动",
"Change type": "修改类型",
"Connect using Association": "使用关联连接",
"Connect using Sequence/MessageFlow or Association": "使用顺序/消息流或者关联连接",
"Connect using DataInputAssociation": "使用数据输入关联连接",
Remove: "移除",
"Activate the hand tool": "激活抓手工具",
"Activate the lasso tool": "激活套索工具",
"Activate the create/remove space tool": "激活创建/删除空间工具",
"Create expanded SubProcess": "创建扩展子过程",
"Create IntermediateThrowEvent/BoundaryEvent": "创建中间抛出事件/边界事件",
"Create Pool/Participant": "创建池/参与者",
"Parallel Multi Instance": "并行多重事件",
"Sequential Multi Instance": "时序多重事件",
DataObjectReference: "数据对象参考",
DataStoreReference: "数据存储参考",
Loop: "循环",
"Ad-hoc": "即席",
"Create {type}": "创建 {type}",
Task: "任务",
"Send Task": "发送任务",
"Receive Task": "接收任务",
"User Task": "用户任务",
"Manual Task": "手工任务",
"Business Rule Task": "业务规则任务",
"Service Task": "服务任务",
"Script Task": "脚本任务",
"Call Activity": "调用活动",
"Sub Process (collapsed)": "子流程(折叠的)",
"Sub Process (expanded)": "子流程(展开的)",
"Start Event": "开始事件",
StartEvent: "开始事件",
"Intermediate Throw Event": "中间事件",
"End Event": "结束事件",
EndEvent: "结束事件",
"Create StartEvent": "创建开始事件",
"Create EndEvent": "创建结束事件",
"Create Task": "创建任务",
"Create User Task": "创建用户任务",
"Create Gateway": "创建网关",
"Create DataObjectReference": "创建数据对象",
"Create DataStoreReference": "创建数据存储",
"Create Group": "创建分组",
"Create Intermediate/Boundary Event": "创建中间/边界事件",
"Message Start Event": "消息开始事件",
"Timer Start Event": "定时开始事件",
"Conditional Start Event": "条件开始事件",
"Signal Start Event": "信号开始事件",
"Error Start Event": "错误开始事件",
"Escalation Start Event": "升级开始事件",
"Compensation Start Event": "补偿开始事件",
"Message Start Event (non-interrupting)": "消息开始事件(非中断)",
"Timer Start Event (non-interrupting)": "定时开始事件(非中断)",
"Conditional Start Event (non-interrupting)": "条件开始事件(非中断)",
"Signal Start Event (non-interrupting)": "信号开始事件(非中断)",
"Escalation Start Event (non-interrupting)": "升级开始事件(非中断)",
"Message Intermediate Catch Event": "消息中间捕获事件",
"Message Intermediate Throw Event": "消息中间抛出事件",
"Timer Intermediate Catch Event": "定时中间捕获事件",
"Escalation Intermediate Throw Event": "升级中间抛出事件",
"Conditional Intermediate Catch Event": "条件中间捕获事件",
"Link Intermediate Catch Event": "链接中间捕获事件",
"Link Intermediate Throw Event": "链接中间抛出事件",
"Compensation Intermediate Throw Event": "补偿中间抛出事件",
"Signal Intermediate Catch Event": "信号中间捕获事件",
"Signal Intermediate Throw Event": "信号中间抛出事件",
"Message End Event": "消息结束事件",
"Escalation End Event": "定时结束事件",
"Error End Event": "错误结束事件",
"Cancel End Event": "取消结束事件",
"Compensation End Event": "补偿结束事件",
"Signal End Event": "信号结束事件",
"Terminate End Event": "终止结束事件",
"Message Boundary Event": "消息边界事件",
"Message Boundary Event (non-interrupting)": "消息边界事件(非中断)",
"Timer Boundary Event": "定时边界事件",
"Timer Boundary Event (non-interrupting)": "定时边界事件(非中断)",
"Escalation Boundary Event": "升级边界事件",
"Escalation Boundary Event (non-interrupting)": "升级边界事件(非中断)",
"Conditional Boundary Event": "条件边界事件",
"Conditional Boundary Event (non-interrupting)": "条件边界事件(非中断)",
"Error Boundary Event": "错误边界事件",
"Cancel Boundary Event": "取消边界事件",
"Signal Boundary Event": "信号边界事件",
"Signal Boundary Event (non-interrupting)": "信号边界事件(非中断)",
"Compensation Boundary Event": "补偿边界事件",
"Exclusive Gateway": "互斥网关",
"Parallel Gateway": "并行网关",
"Inclusive Gateway": "相容网关",
"Complex Gateway": "复杂网关",
"Event based Gateway": "事件网关",
Transaction: "转运",
"Sub Process": "子流程",
"Event Sub Process": "事件子流程",
"Collapsed Pool": "折叠池",
"Expanded Pool": "展开池",
'Activate the global connect tool': '激活全局连接工具',
'Append {type}': '添加 {type}',
'Add Lane above': '在上面添加道',
'Divide into two Lanes': '分割成两个道',
'Divide into three Lanes': '分割成三个道',
'Add Lane below': '在下面添加道',
'Append compensation activity': '追加补偿活动',
'Change type': '修改类型',
'Connect using Association': '使用关联连接',
'Connect using Sequence/MessageFlow or Association': '使用顺序/消息流或者关联连接',
'Connect using DataInputAssociation': '使用数据输入关联连接',
Remove: '移除',
'Activate the hand tool': '激活抓手工具',
'Activate the lasso tool': '激活套索工具',
'Activate the create/remove space tool': '激活创建/删除空间工具',
'Create expanded SubProcess': '创建扩展子过程',
'Create IntermediateThrowEvent/BoundaryEvent': '创建中间抛出事件/边界事件',
'Create Pool/Participant': '创建池/参与者',
'Parallel Multi Instance': '并行多重事件',
'Sequential Multi Instance': '时序多重事件',
DataObjectReference: '数据对象参考',
DataStoreReference: '数据存储参考',
Loop: '循环',
'Ad-hoc': '即席',
'Create {type}': '创建 {type}',
Task: '任务',
'Send Task': '发送任务',
'Receive Task': '接收任务',
'User Task': '用户任务',
'Manual Task': '手工任务',
'Business Rule Task': '业务规则任务',
'Service Task': '服务任务',
'Script Task': '脚本任务',
'Call Activity': '调用活动',
'Sub Process (collapsed)': '子流程(折叠的)',
'Sub Process (expanded)': '子流程(展开的)',
'Start Event': '开始事件',
StartEvent: '开始事件',
'Intermediate Throw Event': '中间事件',
'End Event': '结束事件',
EndEvent: '结束事件',
'Create StartEvent': '创建开始事件',
'Create EndEvent': '创建结束事件',
'Create Task': '创建任务',
'Create User Task': '创建用户任务',
'Create Gateway': '创建网关',
'Create DataObjectReference': '创建数据对象',
'Create DataStoreReference': '创建数据存储',
'Create Group': '创建分组',
'Create Intermediate/Boundary Event': '创建中间/边界事件',
'Message Start Event': '消息开始事件',
'Timer Start Event': '定时开始事件',
'Conditional Start Event': '条件开始事件',
'Signal Start Event': '信号开始事件',
'Error Start Event': '错误开始事件',
'Escalation Start Event': '升级开始事件',
'Compensation Start Event': '补偿开始事件',
'Message Start Event (non-interrupting)': '消息开始事件(非中断)',
'Timer Start Event (non-interrupting)': '定时开始事件(非中断)',
'Conditional Start Event (non-interrupting)': '条件开始事件(非中断)',
'Signal Start Event (non-interrupting)': '信号开始事件(非中断)',
'Escalation Start Event (non-interrupting)': '升级开始事件(非中断)',
'Message Intermediate Catch Event': '消息中间捕获事件',
'Message Intermediate Throw Event': '消息中间抛出事件',
'Timer Intermediate Catch Event': '定时中间捕获事件',
'Escalation Intermediate Throw Event': '升级中间抛出事件',
'Conditional Intermediate Catch Event': '条件中间捕获事件',
'Link Intermediate Catch Event': '链接中间捕获事件',
'Link Intermediate Throw Event': '链接中间抛出事件',
'Compensation Intermediate Throw Event': '补偿中间抛出事件',
'Signal Intermediate Catch Event': '信号中间捕获事件',
'Signal Intermediate Throw Event': '信号中间抛出事件',
'Message End Event': '消息结束事件',
'Escalation End Event': '定时结束事件',
'Error End Event': '错误结束事件',
'Cancel End Event': '取消结束事件',
'Compensation End Event': '补偿结束事件',
'Signal End Event': '信号结束事件',
'Terminate End Event': '终止结束事件',
'Message Boundary Event': '消息边界事件',
'Message Boundary Event (non-interrupting)': '消息边界事件(非中断)',
'Timer Boundary Event': '定时边界事件',
'Timer Boundary Event (non-interrupting)': '定时边界事件(非中断)',
'Escalation Boundary Event': '升级边界事件',
'Escalation Boundary Event (non-interrupting)': '升级边界事件(非中断)',
'Conditional Boundary Event': '条件边界事件',
'Conditional Boundary Event (non-interrupting)': '条件边界事件(非中断)',
'Error Boundary Event': '错误边界事件',
'Cancel Boundary Event': '取消边界事件',
'Signal Boundary Event': '信号边界事件',
'Signal Boundary Event (non-interrupting)': '信号边界事件(非中断)',
'Compensation Boundary Event': '补偿边界事件',
'Exclusive Gateway': '互斥网关',
'Parallel Gateway': '并行网关',
'Inclusive Gateway': '相容网关',
'Complex Gateway': '复杂网关',
'Event based Gateway': '事件网关',
Transaction: '转运',
'Sub Process': '子流程',
'Event Sub Process': '事件子流程',
'Collapsed Pool': '折叠池',
'Expanded Pool': '展开池',
// Errors
"no parent for {element} in {parent}": "在{parent}里,{element}没有父类",
"no shape type specified": "没有指定的形状类型",
"flow elements must be children of pools/participants": "流元素必须是池/参与者的子类",
"out of bounds release": "out of bounds release",
"more than {count} child lanes": "子道大于{count} ",
"element required": "元素不能为空",
"diagram not part of bpmn:Definitions": "流程图不符合bpmn规范",
"no diagram to display": "没有可展示的流程图",
"no process or collaboration to display": "没有可展示的流程/协作",
"element {element} referenced by {referenced}#{property} not yet drawn": "由{referenced}#{property}引用的{element}元素仍未绘制",
"already rendered {element}": "{element} 已被渲染",
"failed to import {element}": "导入{element}失败",
'no parent for {element} in {parent}': '在{parent}里,{element}没有父类',
'no shape type specified': '没有指定的形状类型',
'flow elements must be children of pools/participants': '流元素必须是池/参与者的子类',
'out of bounds release': 'out of bounds release',
'more than {count} child lanes': '子道大于{count} ',
'element required': '元素不能为空',
'diagram not part of bpmn:Definitions': '流程图不符合bpmn规范',
'no diagram to display': '没有可展示的流程图',
'no process or collaboration to display': '没有可展示的流程/协作',
'element {element} referenced by {referenced}#{property} not yet drawn':
'由{referenced}#{property}引用的{element}元素仍未绘制',
'already rendered {element}': '{element} 已被渲染',
'failed to import {element}': '导入{element}失败',
//属性面板的参数
Id: "编号",
Name: "名称",
General: "常规",
Details: "详情",
"Message Name": "消息名称",
Message: "消息",
Initiator: "创建者",
"Asynchronous Continuations": "持续异步",
"Asynchronous Before": "异步前",
"Asynchronous After": "异步后",
"Job Configuration": "工作配置",
Exclusive: "排除",
"Job Priority": "工作优先级",
"Retry Time Cycle": "重试时间周期",
Documentation: "文档",
"Element Documentation": "元素文档",
"History Configuration": "历史配置",
"History Time To Live": "历史的生存时间",
Forms: "表单",
"Form Key": "表单key",
"Form Fields": "表单字段",
"Business Key": "业务key",
"Form Field": "表单字段",
ID: "编号",
Type: "类型",
Label: "名称",
"Default Value": "默认值",
"Default Flow": "默认流转路径",
"Conditional Flow": "条件流转路径",
"Sequence Flow": "普通流转路径",
Validation: "校验",
"Add Constraint": "添加约束",
Config: "配置",
Properties: "属性",
"Add Property": "添加属性",
Value: "值",
Listeners: "监听器",
"Execution Listener": "执行监听",
"Event Type": "事件类型",
"Listener Type": "监听器类型",
"Java Class": "Java类",
Expression: "表达式",
"Must provide a value": "必须提供一个值",
"Delegate Expression": "代理表达式",
Script: "脚本",
"Script Format": "脚本格式",
"Script Type": "脚本类型",
"Inline Script": "内联脚本",
"External Script": "外部脚本",
Resource: "资源",
"Field Injection": "字段注入",
Extensions: "扩展",
"Input/Output": "输入/输出",
"Input Parameters": "输入参数",
"Output Parameters": "输出参数",
Parameters: "参数",
"Output Parameter": "输出参数",
"Timer Definition Type": "定时器定义类型",
"Timer Definition": "定时器定义",
Date: "日期",
Duration: "持续",
Cycle: "循环",
Signal: "信号",
"Signal Name": "信号名称",
Escalation: "升级",
Error: "错误",
"Link Name": "链接名称",
Condition: "条件名称",
"Variable Name": "变量名称",
"Variable Event": "变量事件",
"Specify more than one variable change event as a comma separated list.": "多个变量事件以逗号隔开",
"Wait for Completion": "等待完成",
"Activity Ref": "活动参考",
"Version Tag": "版本标签",
Executable: "可执行文件",
"External Task Configuration": "扩展任务配置",
"Task Priority": "任务优先级",
External: "外部",
Connector: "连接器",
"Must configure Connector": "必须配置连接器",
"Connector Id": "连接器编号",
Implementation: "实现方式",
"Field Injections": "字段注入",
Fields: "字段",
"Result Variable": "结果变量",
Topic: "主题",
"Configure Connector": "配置连接器",
"Input Parameter": "输入参数",
Assignee: "代理人",
"Candidate Users": "候选用户",
"Candidate Groups": "候选组",
"Due Date": "到期时间",
"Follow Up Date": "跟踪日期",
Priority: "优先级",
"The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)":
"跟踪日期必须符合EL表达式 ${someDate} ,或者一个ISO标准日期2015-06-26T09:54:00",
"The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)":
"跟踪日期必须符合EL表达式 ${someDate} ,或者一个ISO标准日期2015-06-26T09:54:00",
Variables: "变量",
"Candidate Starter Configuration": "候选人起动器配置",
"Candidate Starter Groups": "候选人起动器组",
"This maps to the process definition key.": "这映射到流程定义键。",
"Candidate Starter Users": "候选人起动器的用户",
"Specify more than one user as a comma separated list.": "指定多个用户作为逗号分隔的列表。",
"Tasklist Configuration": "Tasklist配置",
Startable: "启动",
"Specify more than one group as a comma separated list.": "指定多个组作为逗号分隔的列表。"
};
Id: '编号',
Name: '名称',
General: '常规',
Details: '详情',
'Message Name': '消息名称',
Message: '消息',
Initiator: '创建者',
'Asynchronous Continuations': '持续异步',
'Asynchronous Before': '异步前',
'Asynchronous After': '异步后',
'Job Configuration': '工作配置',
Exclusive: '排除',
'Job Priority': '工作优先级',
'Retry Time Cycle': '重试时间周期',
Documentation: '文档',
'Element Documentation': '元素文档',
'History Configuration': '历史配置',
'History Time To Live': '历史的生存时间',
Forms: '表单',
'Form Key': '表单key',
'Form Fields': '表单字段',
'Business Key': '业务key',
'Form Field': '表单字段',
ID: '编号',
Type: '类型',
Label: '名称',
'Default Value': '默认值',
'Default Flow': '默认流转路径',
'Conditional Flow': '条件流转路径',
'Sequence Flow': '普通流转路径',
Validation: '校验',
'Add Constraint': '添加约束',
Config: '配置',
Properties: '属性',
'Add Property': '添加属性',
Value: '值',
Listeners: '监听器',
'Execution Listener': '执行监听',
'Event Type': '事件类型',
'Listener Type': '监听器类型',
'Java Class': 'Java类',
Expression: '表达式',
'Must provide a value': '必须提供一个值',
'Delegate Expression': '代理表达式',
Script: '脚本',
'Script Format': '脚本格式',
'Script Type': '脚本类型',
'Inline Script': '内联脚本',
'External Script': '外部脚本',
Resource: '资源',
'Field Injection': '字段注入',
Extensions: '扩展',
'Input/Output': '输入/输出',
'Input Parameters': '输入参数',
'Output Parameters': '输出参数',
Parameters: '参数',
'Output Parameter': '输出参数',
'Timer Definition Type': '定时器定义类型',
'Timer Definition': '定时器定义',
Date: '日期',
Duration: '持续',
Cycle: '循环',
Signal: '信号',
'Signal Name': '信号名称',
Escalation: '升级',
Error: '错误',
'Link Name': '链接名称',
Condition: '条件名称',
'Variable Name': '变量名称',
'Variable Event': '变量事件',
'Specify more than one variable change event as a comma separated list.':
'多个变量事件以逗号隔开',
'Wait for Completion': '等待完成',
'Activity Ref': '活动参考',
'Version Tag': '版本标签',
Executable: '可执行文件',
'External Task Configuration': '扩展任务配置',
'Task Priority': '任务优先级',
External: '外部',
Connector: '连接器',
'Must configure Connector': '必须配置连接器',
'Connector Id': '连接器编号',
Implementation: '实现方式',
'Field Injections': '字段注入',
Fields: '字段',
'Result Variable': '结果变量',
Topic: '主题',
'Configure Connector': '配置连接器',
'Input Parameter': '输入参数',
Assignee: '代理人',
'Candidate Users': '候选用户',
'Candidate Groups': '候选组',
'Due Date': '到期时间',
'Follow Up Date': '跟踪日期',
Priority: '优先级',
'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':
'跟踪日期必须符合EL表达式 ${someDate} ,或者一个ISO标准日期2015-06-26T09:54:00',
'The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':
'跟踪日期必须符合EL表达式 ${someDate} ,或者一个ISO标准日期2015-06-26T09:54:00',
Variables: '变量',
'Candidate Starter Configuration': '候选人起动器配置',
'Candidate Starter Groups': '候选人起动器组',
'This maps to the process definition key.': '这映射到流程定义键。',
'Candidate Starter Users': '候选人起动器的用户',
'Specify more than one user as a comma separated list.': '指定多个用户作为逗号分隔的列表。',
'Tasklist Configuration': 'Tasklist配置',
Startable: '启动',
'Specify more than one group as a comma separated list.': '指定多个组作为逗号分隔的列表。'
}