update
This commit is contained in:
63
ebpm-process-modeler/bpmn-js/bpmn-moddle/CHANGELOG.md
Normal file
63
ebpm-process-modeler/bpmn-js/bpmn-moddle/CHANGELOG.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to [bpmn-moddle](https://github.com/bpmn-io/bpmn-moddle) are documented here. We use [semantic versioning](http://semver.org/) for releases.
|
||||
|
||||
## Unreleased
|
||||
|
||||
___Note:__ Yet to be released changes appear here._
|
||||
|
||||
## 5.2.0
|
||||
|
||||
* `FEAT`: validate ID attributes as QNames
|
||||
|
||||
## 5.1.6
|
||||
|
||||
* `FIX`: correct `Choreography` model definitions ([#59](https://github.com/bpmn-io/bpmn-moddle/issues/59))
|
||||
|
||||
## 5.1.5
|
||||
|
||||
* `FIX`: correct `StandardLoopCharacteristics#loopMaximum` type ([#56](https://github.com/bpmn-io/bpmn-moddle/issues/56))
|
||||
|
||||
## 5.1.4
|
||||
|
||||
* `FIX`: correct extension attributes not being serialized on `bpmn:Expression` elements ([#55](https://github.com/bpmn-io/bpmn-moddle/issues/55))
|
||||
|
||||
## 5.1.3
|
||||
|
||||
* `FIX`: correct missing `resourceParameterBinding` parent
|
||||
|
||||
## 5.1.2
|
||||
|
||||
* `CHORE`: warn on unknown attribute in well-known namespace
|
||||
* `FIX`: correct missing `participantMultiplicity` parent
|
||||
|
||||
## 5.1.0
|
||||
|
||||
* `CHORE`: bump dependency versions
|
||||
|
||||
## 5.0.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* `FEAT`: migrate to ES modules. Use `esm` or a ES module aware transpiler to consume this library.
|
||||
|
||||
## 4.0.0
|
||||
|
||||
* `FEAT`: encode entities in body properties (rather than using CDATA escaping)
|
||||
|
||||
## 3.0.2
|
||||
|
||||
* `FIX`: properly handle `.` in attribute names
|
||||
|
||||
## 3.0.1
|
||||
|
||||
* `FIX`: properly decode `text` entities
|
||||
|
||||
## 3.0.0
|
||||
|
||||
* `CHORE`: improve error handling on invalid attributes
|
||||
* `CHORE`: drop lodash in favor of [min-dash](https://github.com/bpmn-io/min-dash)
|
||||
|
||||
## ...
|
||||
|
||||
Check `git log` for earlier history.
|
||||
21
ebpm-process-modeler/bpmn-js/bpmn-moddle/LICENSE
Normal file
21
ebpm-process-modeler/bpmn-js/bpmn-moddle/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 camunda Services GmbH
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
75
ebpm-process-modeler/bpmn-js/bpmn-moddle/README.md
Normal file
75
ebpm-process-modeler/bpmn-js/bpmn-moddle/README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
> As of version `5.0.0` this library exposes [ES modules](http://exploringjs.com/es6/ch_modules.html#sec_basics-of-es6-modules). Use [esm](https://github.com/standard-things/esm) to consume it or an ES module aware bundler such as [Webpack](https://webpack.js.org) or [Rollup](https://rollupjs.org) to bundle it for the browser.
|
||||
|
||||
|
||||
# bpmn-moddle
|
||||
|
||||
[](https://travis-ci.org/bpmn-io/bpmn-moddle)
|
||||
|
||||
Read and write BPMN 2.0 diagram files in NodeJS and the browser.
|
||||
|
||||
__bpmn-moddle__ uses the [BPMN 2.0 meta-model](http://www.omg.org/spec/BPMN/2.0/) to validate the input and produce correct BPMN 2.0 XML. The library is built on top of [moddle](https://github.com/bpmn-io/moddle) and [moddle-xml](https://github.com/bpmn-io/moddle-xml).
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
Get the library via [npm package](https://www.npmjs.org/package/bpmn-moddle). Bundle it for the web using [browserify](http://browserify.org) or [webpack](https://webpack.github.io).
|
||||
|
||||
```javascript
|
||||
import BpmnModdle from 'bpmn-moddle';
|
||||
|
||||
var moddle = new BpmnModdle();
|
||||
|
||||
var xmlStr =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
|
||||
'id="empty-definitions" ' +
|
||||
'targetNamespace="http://bpmn.io/schema/bpmn">' +
|
||||
'</bpmn2:definitions>';
|
||||
|
||||
|
||||
moddle.fromXML(xmlStr, function(err, definitions) {
|
||||
|
||||
// update id attribute
|
||||
definitions.set('id', 'NEW ID');
|
||||
|
||||
// add a root element
|
||||
var bpmnProcess = moddle.create('bpmn:Process', { id: 'MyProcess_1' });
|
||||
definitions.get('rootElements').push(bpmnProcess);
|
||||
|
||||
moddle.toXML(definitions, function(err, xmlStrUpdated) {
|
||||
|
||||
// xmlStrUpdated contains new id and the added process
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
## Resources
|
||||
|
||||
* [Issues](https://github.com/bpmn-io/bpmn-moddle/issues)
|
||||
* [Examples](https://github.com/bpmn-io/bpmn-moddle/tree/master/test/spec/xml)
|
||||
* [Changelog](./CHANGELOG.md)
|
||||
|
||||
|
||||
## Building the Project
|
||||
|
||||
To run the test suite that includes XSD schema validation you must have a Java JDK installed and properly exposed through the `JAVA_HOME` variable.
|
||||
|
||||
Execute the test via
|
||||
|
||||
```
|
||||
npm test
|
||||
```
|
||||
|
||||
Perform a complete build of the application via
|
||||
|
||||
```
|
||||
npm run all
|
||||
```
|
||||
|
||||
|
||||
## License
|
||||
|
||||
Use under the terms of the [MIT license](http://opensource.org/licenses/MIT).
|
||||
3
ebpm-process-modeler/bpmn-js/bpmn-moddle/index.js
Normal file
3
ebpm-process-modeler/bpmn-js/bpmn-moddle/index.js
Normal file
@@ -0,0 +1,3 @@
|
||||
export {
|
||||
default
|
||||
} from './lib/simple';
|
||||
86
ebpm-process-modeler/bpmn-js/bpmn-moddle/lib/bpmn-moddle.js
Normal file
86
ebpm-process-modeler/bpmn-js/bpmn-moddle/lib/bpmn-moddle.js
Normal file
@@ -0,0 +1,86 @@
|
||||
import {
|
||||
isString,
|
||||
isFunction,
|
||||
assign
|
||||
} from 'min-dash';
|
||||
|
||||
import Moddle from 'moddle';
|
||||
|
||||
import {
|
||||
Reader,
|
||||
Writer
|
||||
} from 'moddle-xml';
|
||||
|
||||
|
||||
/**
|
||||
* A sub class of {@link Moddle} with support for import and export of BPMN 2.0 xml files.
|
||||
*
|
||||
* @class BpmnModdle
|
||||
* @extends Moddle
|
||||
*
|
||||
* @param {Object|Array} packages to use for instantiating the model
|
||||
* @param {Object} [options] additional options to pass over
|
||||
*/
|
||||
export default function BpmnModdle(packages, options) {
|
||||
Moddle.call(this, packages, options);
|
||||
}
|
||||
|
||||
BpmnModdle.prototype = Object.create(Moddle.prototype);
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a BPMN model tree from a given xml string.
|
||||
*
|
||||
* @param {String} xmlStr
|
||||
* @param {String} [typeName='bpmn:Definitions'] name of the root element
|
||||
* @param {Object} [options] options to pass to the underlying reader
|
||||
* @param {Function} done callback that is invoked with (err, result, parseContext)
|
||||
* once the import completes
|
||||
*/
|
||||
BpmnModdle.prototype.fromXML = function(xmlStr, typeName, options, done) {
|
||||
|
||||
if (!isString(typeName)) {
|
||||
done = options;
|
||||
options = typeName;
|
||||
typeName = 'bpmn:Definitions';
|
||||
}
|
||||
|
||||
if (isFunction(options)) {
|
||||
done = options;
|
||||
options = {};
|
||||
}
|
||||
|
||||
var reader = new Reader(assign({ model: this, lax: true }, options));
|
||||
var rootHandler = reader.handler(typeName);
|
||||
|
||||
reader.fromXML(xmlStr, rootHandler, done);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Serializes a BPMN 2.0 object tree to XML.
|
||||
*
|
||||
* @param {String} element the root element, typically an instance of `bpmn:Definitions`
|
||||
* @param {Object} [options] to pass to the underlying writer
|
||||
* @param {Function} done callback invoked with (err, xmlStr) once the import completes
|
||||
*/
|
||||
BpmnModdle.prototype.toXML = function(element, options, done) {
|
||||
|
||||
if (isFunction(options)) {
|
||||
done = options;
|
||||
options = {};
|
||||
}
|
||||
|
||||
var writer = new Writer(options);
|
||||
|
||||
var result;
|
||||
var err;
|
||||
|
||||
try {
|
||||
result = writer.toXML(element);
|
||||
} catch (e) {
|
||||
err = e;
|
||||
}
|
||||
|
||||
return done(err, result);
|
||||
};
|
||||
25
ebpm-process-modeler/bpmn-js/bpmn-moddle/lib/simple.js
Normal file
25
ebpm-process-modeler/bpmn-js/bpmn-moddle/lib/simple.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import {
|
||||
assign
|
||||
} from 'min-dash';
|
||||
|
||||
import BpmnModdle from './bpmn-moddle';
|
||||
|
||||
import BpmnPackage from '../resources/bpmn/json/bpmn.json';
|
||||
import BpmnDiPackage from '../resources/bpmn/json/bpmndi.json';
|
||||
import DcPackage from '../resources/bpmn/json/dc.json';
|
||||
import DiPackage from '../resources/bpmn/json/di.json';
|
||||
import BiocPackage from '../resources/bpmn-io/json/bioc.json';
|
||||
|
||||
var packages = {
|
||||
bpmn: BpmnPackage,
|
||||
bpmndi: BpmnDiPackage,
|
||||
dc: DcPackage,
|
||||
di: DiPackage,
|
||||
bioc: BiocPackage
|
||||
};
|
||||
|
||||
export default function(additionalPackages, options) {
|
||||
var pks = assign({}, packages, additionalPackages);
|
||||
|
||||
return new BpmnModdle(pks, options);
|
||||
}
|
||||
80
ebpm-process-modeler/bpmn-js/bpmn-moddle/package.json
Normal file
80
ebpm-process-modeler/bpmn-js/bpmn-moddle/package.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"bpmn-moddle@5.2.0",
|
||||
"D:\\dataTag\\ebpm-process-modeler\\ebpm-process-modeler"
|
||||
]
|
||||
],
|
||||
"_from": "bpmn-moddle@5.2.0",
|
||||
"_id": "bpmn-moddle@5.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-MZTlpIXWcHTelp09vR4hs23diCdeHl4JbwOXGmif10qf9v/kqreiCMeo0B9w8eEmZqdRdkulTIScKavTYOxTQw==",
|
||||
"_location": "/bpmn-moddle",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "bpmn-moddle@5.2.0",
|
||||
"name": "bpmn-moddle",
|
||||
"escapedName": "bpmn-moddle",
|
||||
"rawSpec": "5.2.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/bpmn-js"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/bpmn-moddle/-/bpmn-moddle-5.2.0.tgz",
|
||||
"_spec": "5.2.0",
|
||||
"_where": "D:\\dataTag\\ebpm-process-modeler\\ebpm-process-modeler",
|
||||
"author": {
|
||||
"name": "Nico Rehwaldt",
|
||||
"url": "https://github.com/nikku"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/bpmn-io/bpmn-moddle/issues"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "bpmn.io contributors",
|
||||
"url": "https://github.com/bpmn-io"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"min-dash": "^3.0.0",
|
||||
"moddle": "^4.1.0",
|
||||
"moddle-xml": "^7.5.0"
|
||||
},
|
||||
"description": "A moddle wrapper for BPMN 2.0",
|
||||
"devDependencies": {
|
||||
"chai": "^4.1.2",
|
||||
"cmof-parser": "^0.2.0",
|
||||
"eslint": "^4.11.0",
|
||||
"eslint-plugin-bpmn-io": "^0.4.1",
|
||||
"esm": "^3.0.15",
|
||||
"mocha": "^4.0.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"xsd-schema-validator": "^0.5.0"
|
||||
},
|
||||
"homepage": "https://github.com/bpmn-io/bpmn-moddle#readme",
|
||||
"keywords": [
|
||||
"bpmn",
|
||||
"moddle",
|
||||
"bpmn20",
|
||||
"meta-model"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "bpmn-moddle",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/bpmn-io/bpmn-moddle.git"
|
||||
},
|
||||
"scripts": {
|
||||
"all": "run-s lint test",
|
||||
"dev": "npm test -- --watch",
|
||||
"lint": "eslint .",
|
||||
"test": "mocha -r esm --reporter=spec --recursive test"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "5.2.0"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "bpmn.io colors for BPMN",
|
||||
"uri": "http://bpmn.io/schema/bpmn/biocolor/1.0",
|
||||
"prefix": "bioc",
|
||||
"types": [
|
||||
{
|
||||
"name": "ColoredShape",
|
||||
"extends": [ "bpmndi:BPMNShape" ],
|
||||
"properties": [
|
||||
{
|
||||
"name": "stroke",
|
||||
"isAttr": true,
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"name": "fill",
|
||||
"isAttr": true,
|
||||
"type": "String"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ColoredEdge",
|
||||
"extends": [ "bpmndi:BPMNEdge" ],
|
||||
"properties": [
|
||||
{
|
||||
"name": "stroke",
|
||||
"isAttr": true,
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"name": "fill",
|
||||
"isAttr": true,
|
||||
"type": "String"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"enumerations": [],
|
||||
"associations": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,193 @@
|
||||
{
|
||||
"name": "BPMNDI",
|
||||
"uri": "http://www.omg.org/spec/BPMN/20100524/DI",
|
||||
"types": [
|
||||
{
|
||||
"name": "BPMNDiagram",
|
||||
"properties": [
|
||||
{
|
||||
"name": "plane",
|
||||
"type": "BPMNPlane",
|
||||
"redefines": "di:Diagram#rootElement"
|
||||
},
|
||||
{
|
||||
"name": "labelStyle",
|
||||
"type": "BPMNLabelStyle",
|
||||
"isMany": true
|
||||
}
|
||||
],
|
||||
"superClass": [
|
||||
"di:Diagram"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "BPMNPlane",
|
||||
"properties": [
|
||||
{
|
||||
"name": "bpmnElement",
|
||||
"isAttr": true,
|
||||
"isReference": true,
|
||||
"type": "bpmn:BaseElement",
|
||||
"redefines": "di:DiagramElement#modelElement"
|
||||
}
|
||||
],
|
||||
"superClass": [
|
||||
"di:Plane"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "BPMNShape",
|
||||
"properties": [
|
||||
{
|
||||
"name": "bpmnElement",
|
||||
"isAttr": true,
|
||||
"isReference": true,
|
||||
"type": "bpmn:BaseElement",
|
||||
"redefines": "di:DiagramElement#modelElement"
|
||||
},
|
||||
{
|
||||
"name": "isHorizontal",
|
||||
"isAttr": true,
|
||||
"type": "Boolean"
|
||||
},
|
||||
{
|
||||
"name": "isExpanded",
|
||||
"isAttr": true,
|
||||
"type": "Boolean"
|
||||
},
|
||||
{
|
||||
"name": "isMarkerVisible",
|
||||
"isAttr": true,
|
||||
"type": "Boolean"
|
||||
},
|
||||
{
|
||||
"name": "label",
|
||||
"type": "BPMNLabel"
|
||||
},
|
||||
{
|
||||
"name": "isMessageVisible",
|
||||
"isAttr": true,
|
||||
"type": "Boolean"
|
||||
},
|
||||
{
|
||||
"name": "participantBandKind",
|
||||
"type": "ParticipantBandKind",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "choreographyActivityShape",
|
||||
"type": "BPMNShape",
|
||||
"isAttr": true,
|
||||
"isReference": true
|
||||
}
|
||||
],
|
||||
"superClass": [
|
||||
"di:LabeledShape"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "BPMNEdge",
|
||||
"properties": [
|
||||
{
|
||||
"name": "label",
|
||||
"type": "BPMNLabel"
|
||||
},
|
||||
{
|
||||
"name": "bpmnElement",
|
||||
"isAttr": true,
|
||||
"isReference": true,
|
||||
"type": "bpmn:BaseElement",
|
||||
"redefines": "di:DiagramElement#modelElement"
|
||||
},
|
||||
{
|
||||
"name": "sourceElement",
|
||||
"isAttr": true,
|
||||
"isReference": true,
|
||||
"type": "di:DiagramElement",
|
||||
"redefines": "di:Edge#source"
|
||||
},
|
||||
{
|
||||
"name": "targetElement",
|
||||
"isAttr": true,
|
||||
"isReference": true,
|
||||
"type": "di:DiagramElement",
|
||||
"redefines": "di:Edge#target"
|
||||
},
|
||||
{
|
||||
"name": "messageVisibleKind",
|
||||
"type": "MessageVisibleKind",
|
||||
"isAttr": true,
|
||||
"default": "initiating"
|
||||
}
|
||||
],
|
||||
"superClass": [
|
||||
"di:LabeledEdge"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "BPMNLabel",
|
||||
"properties": [
|
||||
{
|
||||
"name": "labelStyle",
|
||||
"type": "BPMNLabelStyle",
|
||||
"isAttr": true,
|
||||
"isReference": true,
|
||||
"redefines": "di:DiagramElement#style"
|
||||
}
|
||||
],
|
||||
"superClass": [
|
||||
"di:Label"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "BPMNLabelStyle",
|
||||
"properties": [
|
||||
{
|
||||
"name": "font",
|
||||
"type": "dc:Font"
|
||||
}
|
||||
],
|
||||
"superClass": [
|
||||
"di:Style"
|
||||
]
|
||||
}
|
||||
],
|
||||
"enumerations": [
|
||||
{
|
||||
"name": "ParticipantBandKind",
|
||||
"literalValues": [
|
||||
{
|
||||
"name": "top_initiating"
|
||||
},
|
||||
{
|
||||
"name": "middle_initiating"
|
||||
},
|
||||
{
|
||||
"name": "bottom_initiating"
|
||||
},
|
||||
{
|
||||
"name": "top_non_initiating"
|
||||
},
|
||||
{
|
||||
"name": "middle_non_initiating"
|
||||
},
|
||||
{
|
||||
"name": "bottom_non_initiating"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MessageVisibleKind",
|
||||
"literalValues": [
|
||||
{
|
||||
"name": "initiating"
|
||||
},
|
||||
{
|
||||
"name": "non_initiating"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"associations": [],
|
||||
"prefix": "bpmndi"
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"name": "DC",
|
||||
"uri": "http://www.omg.org/spec/DD/20100524/DC",
|
||||
"types": [
|
||||
{
|
||||
"name": "Boolean"
|
||||
},
|
||||
{
|
||||
"name": "Integer"
|
||||
},
|
||||
{
|
||||
"name": "Real"
|
||||
},
|
||||
{
|
||||
"name": "String"
|
||||
},
|
||||
{
|
||||
"name": "Font",
|
||||
"properties": [
|
||||
{
|
||||
"name": "name",
|
||||
"type": "String",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "size",
|
||||
"type": "Real",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "isBold",
|
||||
"type": "Boolean",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "isItalic",
|
||||
"type": "Boolean",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "isUnderline",
|
||||
"type": "Boolean",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "isStrikeThrough",
|
||||
"type": "Boolean",
|
||||
"isAttr": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Point",
|
||||
"properties": [
|
||||
{
|
||||
"name": "x",
|
||||
"type": "Real",
|
||||
"default": "0",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": "Real",
|
||||
"default": "0",
|
||||
"isAttr": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Bounds",
|
||||
"properties": [
|
||||
{
|
||||
"name": "x",
|
||||
"type": "Real",
|
||||
"default": "0",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": "Real",
|
||||
"default": "0",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "width",
|
||||
"type": "Real",
|
||||
"isAttr": true
|
||||
},
|
||||
{
|
||||
"name": "height",
|
||||
"type": "Real",
|
||||
"isAttr": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"prefix": "dc",
|
||||
"associations": []
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
{
|
||||
"name": "DI",
|
||||
"uri": "http://www.omg.org/spec/DD/20100524/DI",
|
||||
"types": [
|
||||
{
|
||||
"name": "DiagramElement",
|
||||
"isAbstract": true,
|
||||
"properties": [
|
||||
{
|
||||
"name": "id",
|
||||
"type": "String",
|
||||
"isAttr": true,
|
||||
"isId": true
|
||||
},
|
||||
{
|
||||
"name": "extension",
|
||||
"type": "Extension"
|
||||
},
|
||||
{
|
||||
"name": "owningDiagram",
|
||||
"type": "Diagram",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isReference": true
|
||||
},
|
||||
{
|
||||
"name": "owningElement",
|
||||
"type": "DiagramElement",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isReference": true
|
||||
},
|
||||
{
|
||||
"name": "modelElement",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isReference": true,
|
||||
"type": "Element"
|
||||
},
|
||||
{
|
||||
"name": "style",
|
||||
"type": "Style",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isReference": true
|
||||
},
|
||||
{
|
||||
"name": "ownedElement",
|
||||
"type": "DiagramElement",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isMany": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Node",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"DiagramElement"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Edge",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"DiagramElement"
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "source",
|
||||
"type": "DiagramElement",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isReference": true
|
||||
},
|
||||
{
|
||||
"name": "target",
|
||||
"type": "DiagramElement",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isReference": true
|
||||
},
|
||||
{
|
||||
"name": "waypoint",
|
||||
"isUnique": false,
|
||||
"isMany": true,
|
||||
"type": "dc:Point",
|
||||
"xml": {
|
||||
"serialize": "xsi:type"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Diagram",
|
||||
"isAbstract": true,
|
||||
"properties": [
|
||||
{
|
||||
"name": "id",
|
||||
"type": "String",
|
||||
"isAttr": true,
|
||||
"isId": true
|
||||
},
|
||||
{
|
||||
"name": "rootElement",
|
||||
"type": "DiagramElement",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"isAttr": true,
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"name": "documentation",
|
||||
"isAttr": true,
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"name": "resolution",
|
||||
"isAttr": true,
|
||||
"type": "Real"
|
||||
},
|
||||
{
|
||||
"name": "ownedStyle",
|
||||
"type": "Style",
|
||||
"isReadOnly": true,
|
||||
"isVirtual": true,
|
||||
"isMany": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Shape",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"Node"
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "bounds",
|
||||
"type": "dc:Bounds"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Plane",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"Node"
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "planeElement",
|
||||
"type": "DiagramElement",
|
||||
"subsettedProperty": "DiagramElement-ownedElement",
|
||||
"isMany": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LabeledEdge",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"Edge"
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "ownedLabel",
|
||||
"type": "Label",
|
||||
"isReadOnly": true,
|
||||
"subsettedProperty": "DiagramElement-ownedElement",
|
||||
"isVirtual": true,
|
||||
"isMany": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LabeledShape",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"Shape"
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "ownedLabel",
|
||||
"type": "Label",
|
||||
"isReadOnly": true,
|
||||
"subsettedProperty": "DiagramElement-ownedElement",
|
||||
"isVirtual": true,
|
||||
"isMany": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Label",
|
||||
"isAbstract": true,
|
||||
"superClass": [
|
||||
"Node"
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "bounds",
|
||||
"type": "dc:Bounds"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Style",
|
||||
"isAbstract": true,
|
||||
"properties": [
|
||||
{
|
||||
"name": "id",
|
||||
"type": "String",
|
||||
"isAttr": true,
|
||||
"isId": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Extension",
|
||||
"properties": [
|
||||
{
|
||||
"name": "values",
|
||||
"type": "Element",
|
||||
"isMany": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"associations": [],
|
||||
"prefix": "di",
|
||||
"xml": {
|
||||
"tagAlias": "lowerCase"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
|
||||
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
|
||||
targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
|
||||
|
||||
<xsd:import namespace="http://www.omg.org/spec/BPMN/20100524/DI" schemaLocation="BPMNDI.xsd"/>
|
||||
<xsd:include schemaLocation="Semantic.xsd"/>
|
||||
|
||||
<xsd:element name="definitions" type="tDefinitions"/>
|
||||
<xsd:complexType name="tDefinitions">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="import" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="rootElement" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="bpmndi:BPMNDiagram" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="relationship" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:ID" use="optional"/>
|
||||
<xsd:attribute name="name" type="xsd:string"/>
|
||||
<xsd:attribute name="targetNamespace" type="xsd:anyURI" use="required"/>
|
||||
<xsd:attribute name="expressionLanguage" type="xsd:anyURI" use="optional" default="http://www.w3.org/1999/XPath"/>
|
||||
<xsd:attribute name="typeLanguage" type="xsd:anyURI" use="optional" default="http://www.w3.org/2001/XMLSchema"/>
|
||||
<xsd:attribute name="exporter" type="xsd:string"/>
|
||||
<xsd:attribute name="exporterVersion" type="xsd:string"/>
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="import" type="tImport"/>
|
||||
<xsd:complexType name="tImport">
|
||||
<xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
|
||||
<xsd:attribute name="location" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="importType" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
</xsd:schema>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" targetNamespace="http://www.omg.org/spec/BPMN/20100524/DI" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
|
||||
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DC" schemaLocation="DC.xsd" />
|
||||
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DI" schemaLocation="DI.xsd" />
|
||||
|
||||
<xsd:element name="BPMNDiagram" type="bpmndi:BPMNDiagram" />
|
||||
<xsd:element name="BPMNPlane" type="bpmndi:BPMNPlane" />
|
||||
<xsd:element name="BPMNLabelStyle" type="bpmndi:BPMNLabelStyle" />
|
||||
<xsd:element name="BPMNShape" type="bpmndi:BPMNShape" substitutionGroup="di:DiagramElement" />
|
||||
<xsd:element name="BPMNLabel" type="bpmndi:BPMNLabel" />
|
||||
<xsd:element name="BPMNEdge" type="bpmndi:BPMNEdge" substitutionGroup="di:DiagramElement" />
|
||||
|
||||
<xsd:complexType name="BPMNDiagram">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Diagram">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="bpmndi:BPMNPlane" />
|
||||
<xsd:element ref="bpmndi:BPMNLabelStyle" maxOccurs="unbounded" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="BPMNPlane">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Plane">
|
||||
<xsd:attribute name="bpmnElement" type="xsd:QName" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="BPMNEdge">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:LabeledEdge">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="bpmndi:BPMNLabel" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="bpmnElement" type="xsd:QName" />
|
||||
<xsd:attribute name="sourceElement" type="xsd:QName" />
|
||||
<xsd:attribute name="targetElement" type="xsd:QName" />
|
||||
<xsd:attribute name="messageVisibleKind" type="bpmndi:MessageVisibleKind" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="BPMNShape">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:LabeledShape">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="bpmndi:BPMNLabel" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="bpmnElement" type="xsd:QName" />
|
||||
<xsd:attribute name="isHorizontal" type="xsd:boolean" />
|
||||
<xsd:attribute name="isExpanded" type="xsd:boolean" />
|
||||
<xsd:attribute name="isMarkerVisible" type="xsd:boolean" />
|
||||
<xsd:attribute name="isMessageVisible" type="xsd:boolean" />
|
||||
<xsd:attribute name="participantBandKind" type="bpmndi:ParticipantBandKind" />
|
||||
<xsd:attribute name="choreographyActivityShape" type="xsd:QName"/>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="BPMNLabel">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Label">
|
||||
<xsd:attribute name="labelStyle" type="xsd:QName" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="BPMNLabelStyle">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Style">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="dc:Font" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="ParticipantBandKind">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="top_initiating" />
|
||||
<xsd:enumeration value="middle_initiating" />
|
||||
<xsd:enumeration value="bottom_initiating" />
|
||||
<xsd:enumeration value="top_non_initiating" />
|
||||
<xsd:enumeration value="middle_non_initiating" />
|
||||
<xsd:enumeration value="bottom_non_initiating" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="MessageVisibleKind">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="initiating" />
|
||||
<xsd:enumeration value="non_initiating" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
</xsd:schema>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" targetNamespace="http://www.omg.org/spec/DD/20100524/DC" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
|
||||
<xsd:element name="Font" type="dc:Font" />
|
||||
<xsd:element name="Point" type="dc:Point" />
|
||||
<xsd:element name="Bounds" type="dc:Bounds" />
|
||||
|
||||
<xsd:complexType name="Font">
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="size" type="xsd:double" />
|
||||
<xsd:attribute name="isBold" type="xsd:boolean" />
|
||||
<xsd:attribute name="isItalic" type="xsd:boolean" />
|
||||
<xsd:attribute name="isUnderline" type="xsd:boolean" />
|
||||
<xsd:attribute name="isStrikeThrough" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="Point">
|
||||
<xsd:attribute name="x" type="xsd:double" use="required" />
|
||||
<xsd:attribute name="y" type="xsd:double" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="Bounds">
|
||||
<xsd:attribute name="x" type="xsd:double" use="required" />
|
||||
<xsd:attribute name="y" type="xsd:double" use="required" />
|
||||
<xsd:attribute name="width" type="xsd:double" use="required" />
|
||||
<xsd:attribute name="height" type="xsd:double" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
</xsd:schema>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" targetNamespace="http://www.omg.org/spec/DD/20100524/DI" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
|
||||
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DC" schemaLocation="DC.xsd" />
|
||||
|
||||
<xsd:element name="DiagramElement" type="di:DiagramElement" />
|
||||
<xsd:element name="Diagram" type="di:Diagram" />
|
||||
<xsd:element name="Style" type="di:Style" />
|
||||
<xsd:element name="Node" type="di:Node" />
|
||||
<xsd:element name="Edge" type="di:Edge" />
|
||||
<xsd:element name="Shape" type="di:Shape" />
|
||||
<xsd:element name="Plane" type="di:Plane" />
|
||||
<xsd:element name="LabeledEdge" type="di:LabeledEdge" />
|
||||
<xsd:element name="Label" type="di:Label" />
|
||||
<xsd:element name="LabeledShape" type="di:LabeledShape" />
|
||||
|
||||
<xsd:complexType abstract="true" name="DiagramElement">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="extension" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:ID" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Diagram">
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="documentation" type="xsd:string" />
|
||||
<xsd:attribute name="resolution" type="xsd:double" />
|
||||
<xsd:attribute name="id" type="xsd:ID" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Node">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:DiagramElement" />
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Edge">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:DiagramElement">
|
||||
<xsd:sequence>
|
||||
<xsd:element maxOccurs="unbounded" minOccurs="2" name="waypoint" type="dc:Point" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="LabeledEdge">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Edge" />
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Shape">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Node">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="dc:Bounds" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="LabeledShape">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Shape" />
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Label">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Node">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="dc:Bounds" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Plane">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="di:Node">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="di:DiagramElement" maxOccurs="unbounded" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType abstract="true" name="Style">
|
||||
<xsd:attribute name="id" type="xsd:ID" />
|
||||
</xsd:complexType>
|
||||
|
||||
</xsd:schema>
|
||||
File diff suppressed because it is too large
Load Diff
103
ebpm-process-modeler/bpmn-js/colors/ColorContextPadProvider.js
Normal file
103
ebpm-process-modeler/bpmn-js/colors/ColorContextPadProvider.js
Normal file
@@ -0,0 +1,103 @@
|
||||
'use strict';
|
||||
|
||||
|
||||
function ColorContextPadProvider(contextPad, popupMenu, canvas) {
|
||||
|
||||
this._contextPad = contextPad;
|
||||
this._popupMenu = popupMenu;
|
||||
this._canvas = canvas;
|
||||
contextPad.registerProvider(this);
|
||||
}
|
||||
|
||||
|
||||
ColorContextPadProvider.$inject = [
|
||||
'contextPad',
|
||||
'popupMenu',
|
||||
'canvas'
|
||||
];
|
||||
module.exports = ColorContextPadProvider;
|
||||
|
||||
|
||||
ColorContextPadProvider.prototype.getContextPadEntries = function(element) {
|
||||
var self = this;
|
||||
var actions = {
|
||||
'3': {
|
||||
group: 'e',
|
||||
className: 'bpmn-icon-screw-wrench',
|
||||
title: '设置颜色',
|
||||
action: {
|
||||
click: function(event, element) {
|
||||
// close any existing popup
|
||||
self._popupMenu.close();
|
||||
|
||||
// create new color-picker popup
|
||||
var colorPicker = _popupMenuCreate(self._popupMenu,'color-picker', element);
|
||||
|
||||
// get start popup draw start position
|
||||
var opts = getStartPosition(self._canvas, self._contextPad, element);
|
||||
|
||||
// or fallback to current cursor position
|
||||
opts.cursor = {
|
||||
x: event.x,
|
||||
y: event.y
|
||||
};
|
||||
|
||||
// open color picker submenu popup
|
||||
colorPicker.open(element,'color-picker',opts);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// return actions;
|
||||
};
|
||||
|
||||
|
||||
function _popupMenuCreate(_this,id,element){
|
||||
var provider = _this._providers[id];
|
||||
|
||||
if (!provider) {
|
||||
throw new Error('Provider is not registered: ' + id);
|
||||
}
|
||||
|
||||
if (!element) {
|
||||
throw new Error('Element is missing');
|
||||
}
|
||||
|
||||
var current = _this._current = {
|
||||
provider: provider,
|
||||
className: id,
|
||||
element: element
|
||||
};
|
||||
|
||||
if (provider.getHeaderEntries) {
|
||||
current.headerEntries = provider.getHeaderEntries(element);
|
||||
}
|
||||
|
||||
current.entries = provider.getEntries(element);
|
||||
|
||||
return _this;
|
||||
}
|
||||
|
||||
// helpers //////////////////////
|
||||
|
||||
function getStartPosition(canvas, contextPad, element) {
|
||||
|
||||
var Y_OFFSET = 5;
|
||||
|
||||
var diagramContainer = canvas.getContainer(),
|
||||
pad = contextPad.getPad(element).html;
|
||||
|
||||
var diagramRect = diagramContainer.getBoundingClientRect(),
|
||||
padRect = pad.getBoundingClientRect();
|
||||
|
||||
var top = padRect.top - diagramRect.top;
|
||||
var left = padRect.left - diagramRect.left;
|
||||
|
||||
var pos = {
|
||||
x: left,
|
||||
y: top + padRect.height + Y_OFFSET
|
||||
};
|
||||
|
||||
return pos;
|
||||
}
|
||||
97
ebpm-process-modeler/bpmn-js/colors/ColorPopupProvider.js
Normal file
97
ebpm-process-modeler/bpmn-js/colors/ColorPopupProvider.js
Normal file
@@ -0,0 +1,97 @@
|
||||
'use strict';
|
||||
|
||||
var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject;
|
||||
|
||||
|
||||
function PopupMenuProvider(popupMenu, modeling) {
|
||||
this._popupMenu = popupMenu;
|
||||
this._modeling = modeling;
|
||||
|
||||
this._popupMenu.registerProvider('color-picker', this);
|
||||
}
|
||||
|
||||
|
||||
PopupMenuProvider.$inject = [
|
||||
'popupMenu',
|
||||
'modeling'
|
||||
];
|
||||
module.exports = PopupMenuProvider;
|
||||
|
||||
|
||||
PopupMenuProvider.prototype.getEntries = function(element) {
|
||||
var self = this;
|
||||
|
||||
var colors = [
|
||||
{
|
||||
label: '红色',
|
||||
hex: 'ff0000'
|
||||
}, {
|
||||
label: '橙色',
|
||||
hex: 'ff7f00'
|
||||
}, {
|
||||
label: '黄色',
|
||||
hex: 'ffff00'
|
||||
}, {
|
||||
label: '绿色',
|
||||
hex: '00ff00'
|
||||
}, {
|
||||
label: '蓝色',
|
||||
hex: '0000ff'
|
||||
}, {
|
||||
label: '青色',
|
||||
hex: '4b0082'
|
||||
}, {
|
||||
label: '紫色',
|
||||
hex: '9400d3'
|
||||
}
|
||||
];
|
||||
|
||||
var entries = colors.map(function(color) {
|
||||
return {
|
||||
label: color.label,
|
||||
id: color.label.toLowerCase() + '-color',
|
||||
className: 'color-icon-' + color.hex,
|
||||
action: createAction(self._modeling, element, '#' + color.hex)
|
||||
};
|
||||
});
|
||||
return entries;
|
||||
};
|
||||
|
||||
|
||||
PopupMenuProvider.prototype.getHeaderEntries = function(element) {
|
||||
return [
|
||||
{
|
||||
label: '还原',
|
||||
id: 'clear-color',
|
||||
className: 'color-icon-clear',
|
||||
action: createAction(this._modeling, element)
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
function createAction(modeling, element, newColor) {
|
||||
// set hex value to an element
|
||||
return function() {
|
||||
var bo = getBusinessObject(element);
|
||||
var di = bo.di;
|
||||
|
||||
var currentColor = di.get('color:background-color');
|
||||
|
||||
console.log('Replacing colors from/to: ', currentColor, newColor);
|
||||
|
||||
var ns = (
|
||||
newColor ?
|
||||
'http://www.omg.org/spec/BPMN/non-normative/color/1.0' :
|
||||
undefined
|
||||
);
|
||||
|
||||
modeling.updateProperties(element, {
|
||||
di: {
|
||||
'xmlns:color': ns,
|
||||
'color:background-color': newColor
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
}
|
||||
66
ebpm-process-modeler/bpmn-js/colors/ColorRenderer.js
Normal file
66
ebpm-process-modeler/bpmn-js/colors/ColorRenderer.js
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
var inherits = require('inherits');
|
||||
var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject;
|
||||
import BpmnRenderer from 'bpmn-js/lib/draw/BpmnRenderer';
|
||||
//import BaseRenderer from 'diagram-js/lib/draw/BaseRenderer';
|
||||
var svgAttr = require('tiny-svg/lib/attr');
|
||||
|
||||
|
||||
export default function ColorRenderer(injector, eventBus) {
|
||||
// set higher priority then a default 1000 for an existing BpmnRenderer
|
||||
var callPriority = 2000;
|
||||
|
||||
//
|
||||
//BaseRenderer.call(this, eventBus, 2000);
|
||||
injector.invoke(BpmnRenderer, this);
|
||||
var self = this;
|
||||
|
||||
eventBus.on([ 'render.shape' ], callPriority, function(evt, context) {
|
||||
var element = context.element,
|
||||
visuals = context.gfx;
|
||||
|
||||
// call default implementation
|
||||
var shape = self.drawShape(visuals, element);
|
||||
// 2D shape with default white color
|
||||
var businessObject = getBusinessObject(element);
|
||||
if(businessObject.$type == "bpmn:SequenceFlow"){
|
||||
svgAttr(shape, {
|
||||
fill: getBackgroundColor(element) || '#000000'
|
||||
});
|
||||
}else{
|
||||
svgAttr(shape, {
|
||||
fill: getBackgroundColor(element) || '#ffffff'
|
||||
});
|
||||
}
|
||||
// make sure default renderer is not called anymore
|
||||
return shape;
|
||||
});
|
||||
|
||||
eventBus.on([ 'render.connection' ], callPriority, function(evt, context) {
|
||||
var element = context.element,
|
||||
visuals = context.gfx;
|
||||
|
||||
// call default implementation
|
||||
var shape = self.drawConnection(visuals, element);
|
||||
|
||||
// line shape with default black color
|
||||
svgAttr(shape, {
|
||||
stroke: getBackgroundColor(element) || '#000000'
|
||||
});
|
||||
|
||||
// make sure default renderer is not called anymore
|
||||
return shape;
|
||||
});
|
||||
}
|
||||
|
||||
inherits(ColorRenderer, BpmnRenderer);
|
||||
ColorRenderer.$inject = [ 'injector', 'eventBus' ];
|
||||
//module.exports = ColorRenderer;
|
||||
|
||||
|
||||
|
||||
|
||||
function getBackgroundColor(element) {
|
||||
var bo = getBusinessObject(element);
|
||||
return bo.di.get('color:background-color');
|
||||
}
|
||||
69
ebpm-process-modeler/bpmn-js/colors/color-picker.css
Normal file
69
ebpm-process-modeler/bpmn-js/colors/color-picker.css
Normal file
@@ -0,0 +1,69 @@
|
||||
/* COLOR PICKER */
|
||||
|
||||
/* context pad */
|
||||
.djs-context-pad .entry {
|
||||
background-color: rgba(255, 255, 255, 0.6);
|
||||
box-shadow: 0 0 2px 1px rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
|
||||
.bpmn-icon-color:before {
|
||||
content: '🖌';
|
||||
}
|
||||
|
||||
/* color popup menu */
|
||||
[class^="color-icon-"]:before,
|
||||
[class*=" color-icon-"]:before {
|
||||
display: inline-block;
|
||||
content: '';
|
||||
width: 1.5em;
|
||||
height: 0.6em;
|
||||
border-radius: 0.5em;
|
||||
border: 0.03em solid black;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry.color-icon-clear {
|
||||
margin-left: 5px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry.color-icon-clear > span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.color-icon-clear:before {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.color-icon-ff0000:before {
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
.color-icon-ff7f00:before {
|
||||
background-color: #ff7f00;
|
||||
}
|
||||
|
||||
.color-icon-ffff00:before {
|
||||
background-color: #ffff00;
|
||||
}
|
||||
|
||||
.color-icon-00ff00:before {
|
||||
background-color: #00ff00;
|
||||
}
|
||||
|
||||
.color-icon-0000ff:before {
|
||||
background-color: #0000ff;
|
||||
}
|
||||
|
||||
.color-icon-4b0082:before {
|
||||
background-color: #4b0082;
|
||||
}
|
||||
|
||||
.color-icon-9400d3:before {
|
||||
background-color: #9400d3;
|
||||
}
|
||||
|
||||
/* transparancy for shapes with colors */
|
||||
.color-transparancy {
|
||||
fill-opacity: 0.50;
|
||||
}
|
||||
|
||||
12
ebpm-process-modeler/bpmn-js/colors/index.js
Normal file
12
ebpm-process-modeler/bpmn-js/colors/index.js
Normal file
@@ -0,0 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
|
||||
module.exports = {
|
||||
__init__: [
|
||||
'colorContextPadProvider',
|
||||
'colorPopupProvider'
|
||||
],
|
||||
colorContextPadProvider: [ 'type', require('./ColorContextPadProvider') ],
|
||||
|
||||
colorPopupProvider: [ 'type', require('./ColorPopupProvider') ]
|
||||
};
|
||||
107
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/css/bpmn-codes.css
vendored
Normal file
107
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/css/bpmn-codes.css
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
|
||||
.bpmn-icon-screw-wrench:before { content: '\e800'; } /* '' */
|
||||
.bpmn-icon-trash:before { content: '\e801'; } /* '' */
|
||||
.bpmn-icon-conditional-flow:before { content: '\e802'; } /* '' */
|
||||
.bpmn-icon-default-flow:before { content: '\e803'; } /* '' */
|
||||
.bpmn-icon-gateway-parallel:before { content: '\e804'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-cancel:before { content: '\e805'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-message:before { content: '\e806'; } /* '' */
|
||||
.bpmn-icon-start-event-compensation:before { content: '\e807'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-parallel-multiple:before { content: '\e808'; } /* '' */
|
||||
.bpmn-icon-loop-marker:before { content: '\e809'; } /* '' */
|
||||
.bpmn-icon-parallel-mi-marker:before { content: '\e80a'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-signal:before { content: '\e80b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before { content: '\e80c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-parallel-multiple:before { content: '\e80d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-compensation:before { content: '\e80e'; } /* '' */
|
||||
.bpmn-icon-gateway-xor:before { content: '\e80f'; } /* '' */
|
||||
.bpmn-icon-connection:before { content: '\e810'; } /* '' */
|
||||
.bpmn-icon-end-event-cancel:before { content: '\e811'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-condition:before { content: '\e812'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before { content: '\e813'; } /* '' */
|
||||
.bpmn-icon-start-event-condition:before { content: '\e814'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-timer:before { content: '\e815'; } /* '' */
|
||||
.bpmn-icon-sequential-mi-marker:before { content: '\e816'; } /* '' */
|
||||
.bpmn-icon-user-task:before { content: '\e817'; } /* '' */
|
||||
.bpmn-icon-business-rule:before { content: '\e818'; } /* '' */
|
||||
.bpmn-icon-sub-process-marker:before { content: '\e819'; } /* '' */
|
||||
.bpmn-icon-start-event-parallel-multiple:before { content: '\e81a'; } /* '' */
|
||||
.bpmn-icon-start-event-error:before { content: '\e81b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-signal:before { content: '\e81c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-error:before { content: '\e81d'; } /* '' */
|
||||
.bpmn-icon-end-event-compensation:before { content: '\e81e'; } /* '' */
|
||||
.bpmn-icon-subprocess-collapsed:before { content: '\e81f'; } /* '' */
|
||||
.bpmn-icon-subprocess-expanded:before { content: '\e820'; } /* '' */
|
||||
.bpmn-icon-task:before { content: '\e821'; } /* '' */
|
||||
.bpmn-icon-end-event-error:before { content: '\e822'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-escalation:before { content: '\e823'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-timer:before { content: '\e824'; } /* '' */
|
||||
.bpmn-icon-start-event-escalation:before { content: '\e825'; } /* '' */
|
||||
.bpmn-icon-start-event-signal:before { content: '\e826'; } /* '' */
|
||||
.bpmn-icon-business-rule-task:before { content: '\e827'; } /* '' */
|
||||
.bpmn-icon-manual:before { content: '\e828'; } /* '' */
|
||||
.bpmn-icon-receive:before { content: '\e829'; } /* '' */
|
||||
.bpmn-icon-call-activity:before { content: '\e82a'; } /* '' */
|
||||
.bpmn-icon-start-event-timer:before { content: '\e82b'; } /* '' */
|
||||
.bpmn-icon-start-event-message:before { content: '\e82c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-none:before { content: '\e82d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-link:before { content: '\e82e'; } /* '' */
|
||||
.bpmn-icon-end-event-escalation:before { content: '\e82f'; } /* '' */
|
||||
.bpmn-icon-text-annotation:before { content: '\e830'; } /* '' */
|
||||
.bpmn-icon-bpmn-io:before { content: '\e831'; } /* '' */
|
||||
.bpmn-icon-gateway-complex:before { content: '\e832'; } /* '' */
|
||||
.bpmn-icon-gateway-eventbased:before { content: '\e833'; } /* '' */
|
||||
.bpmn-icon-gateway-none:before { content: '\e834'; } /* '' */
|
||||
.bpmn-icon-gateway-or:before { content: '\e835'; } /* '' */
|
||||
.bpmn-icon-end-event-terminate:before { content: '\e836'; } /* '' */
|
||||
.bpmn-icon-end-event-signal:before { content: '\e837'; } /* '' */
|
||||
.bpmn-icon-end-event-none:before { content: '\e838'; } /* '' */
|
||||
.bpmn-icon-end-event-multiple:before { content: '\e839'; } /* '' */
|
||||
.bpmn-icon-end-event-message:before { content: '\e83a'; } /* '' */
|
||||
.bpmn-icon-end-event-link:before { content: '\e83b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-message:before { content: '\e83c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-compensation:before { content: '\e83d'; } /* '' */
|
||||
.bpmn-icon-start-event-multiple:before { content: '\e83e'; } /* '' */
|
||||
.bpmn-icon-script:before { content: '\e83f'; } /* '' */
|
||||
.bpmn-icon-manual-task:before { content: '\e840'; } /* '' */
|
||||
.bpmn-icon-send:before { content: '\e841'; } /* '' */
|
||||
.bpmn-icon-service:before { content: '\e842'; } /* '' */
|
||||
.bpmn-icon-receive-task:before { content: '\e843'; } /* '' */
|
||||
.bpmn-icon-user:before { content: '\e844'; } /* '' */
|
||||
.bpmn-icon-start-event-none:before { content: '\e845'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-escalation:before { content: '\e846'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-multiple:before { content: '\e847'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before { content: '\e848'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-link:before { content: '\e849'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-condition:before { content: '\e84a'; } /* '' */
|
||||
.bpmn-icon-data-object:before { content: '\e84b'; } /* '' */
|
||||
.bpmn-icon-script-task:before { content: '\e84c'; } /* '' */
|
||||
.bpmn-icon-send-task:before { content: '\e84d'; } /* '' */
|
||||
.bpmn-icon-data-store:before { content: '\e84e'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-escalation:before { content: '\e84f'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-message:before { content: '\e850'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before { content: '\e851'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before { content: '\e852'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-multiple:before { content: '\e853'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-message:before { content: '\e854'; } /* '' */
|
||||
.bpmn-icon-ad-hoc-marker:before { content: '\e855'; } /* '' */
|
||||
.bpmn-icon-service-task:before { content: '\e856'; } /* '' */
|
||||
.bpmn-icon-task-none:before { content: '\e857'; } /* '' */
|
||||
.bpmn-icon-compensation-marker:before { content: '\e858'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-multiple:before { content: '\e859'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-signal:before { content: '\e85a'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before { content: '\e85b'; } /* '' */
|
||||
.bpmn-icon-participant:before { content: '\e85c'; } /* '' */
|
||||
.bpmn-icon-event-subprocess-expanded:before { content: '\e85d'; } /* '' */
|
||||
.bpmn-icon-lane-insert-below:before { content: '\e85e'; } /* '' */
|
||||
.bpmn-icon-space-tool:before { content: '\e85f'; } /* '' */
|
||||
.bpmn-icon-connection-multi:before { content: '\e860'; } /* '' */
|
||||
.bpmn-icon-lane:before { content: '\e861'; } /* '' */
|
||||
.bpmn-icon-lasso-tool:before { content: '\e862'; } /* '' */
|
||||
.bpmn-icon-lane-insert-above:before { content: '\e863'; } /* '' */
|
||||
.bpmn-icon-lane-divide-three:before { content: '\e864'; } /* '' */
|
||||
.bpmn-icon-lane-divide-two:before { content: '\e865'; } /* '' */
|
||||
.bpmn-icon-data-input:before { content: '\e866'; } /* '' */
|
||||
.bpmn-icon-data-output:before { content: '\e867'; } /* '' */
|
||||
.bpmn-icon-hand-tool:before { content: '\e868'; } /* '' */
|
||||
.bpmn-icon-transaction:before { content: '\e8c4'; } /* '' */
|
||||
160
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/css/bpmn-embedded.css
vendored
Normal file
160
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/css/bpmn-embedded.css
vendored
Normal file
File diff suppressed because one or more lines are too long
162
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/css/bpmn.css
vendored
Normal file
162
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/css/bpmn.css
vendored
Normal file
@@ -0,0 +1,162 @@
|
||||
@font-face {
|
||||
font-family: 'bpmn';
|
||||
src: url('../font/bpmn.eot?70672887');
|
||||
src: url('../font/bpmn.eot?70672887#iefix') format('embedded-opentype'),
|
||||
url('../font/bpmn.woff?70672887') format('woff'),
|
||||
url('../font/bpmn.ttf?70672887') format('truetype'),
|
||||
url('../font/bpmn.svg?70672887#bpmn') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'bpmn';
|
||||
src: url('../font/bpmn.svg?70672887#bpmn') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[class^="bpmn-icon-"]:before, [class*=" bpmn-icon-"]:before {
|
||||
font-family: "bpmn";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
/* margin-right: .2em; */
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
/* margin-left: .2em; */
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.bpmn-icon-screw-wrench:before { content: '\e800'; } /* '' */
|
||||
.bpmn-icon-trash:before { content: '\e801'; } /* '' */
|
||||
.bpmn-icon-conditional-flow:before { content: '\e802'; } /* '' */
|
||||
.bpmn-icon-default-flow:before { content: '\e803'; } /* '' */
|
||||
.bpmn-icon-gateway-parallel:before { content: '\e804'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-cancel:before { content: '\e805'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-message:before { content: '\e806'; } /* '' */
|
||||
.bpmn-icon-start-event-compensation:before { content: '\e807'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-parallel-multiple:before { content: '\e808'; } /* '' */
|
||||
.bpmn-icon-loop-marker:before { content: '\e809'; } /* '' */
|
||||
.bpmn-icon-parallel-mi-marker:before { content: '\e80a'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-signal:before { content: '\e80b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before { content: '\e80c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-parallel-multiple:before { content: '\e80d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-compensation:before { content: '\e80e'; } /* '' */
|
||||
.bpmn-icon-gateway-xor:before { content: '\e80f'; } /* '' */
|
||||
.bpmn-icon-connection:before { content: '\e810'; } /* '' */
|
||||
.bpmn-icon-end-event-cancel:before { content: '\e811'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-condition:before { content: '\e812'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before { content: '\e813'; } /* '' */
|
||||
.bpmn-icon-start-event-condition:before { content: '\e814'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-timer:before { content: '\e815'; } /* '' */
|
||||
.bpmn-icon-sequential-mi-marker:before { content: '\e816'; } /* '' */
|
||||
.bpmn-icon-user-task:before { content: '\e817'; } /* '' */
|
||||
.bpmn-icon-business-rule:before { content: '\e818'; } /* '' */
|
||||
.bpmn-icon-sub-process-marker:before { content: '\e819'; } /* '' */
|
||||
.bpmn-icon-start-event-parallel-multiple:before { content: '\e81a'; } /* '' */
|
||||
.bpmn-icon-start-event-error:before { content: '\e81b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-signal:before { content: '\e81c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-error:before { content: '\e81d'; } /* '' */
|
||||
.bpmn-icon-end-event-compensation:before { content: '\e81e'; } /* '' */
|
||||
.bpmn-icon-subprocess-collapsed:before { content: '\e81f'; } /* '' */
|
||||
.bpmn-icon-subprocess-expanded:before { content: '\e820'; } /* '' */
|
||||
.bpmn-icon-task:before { content: '\e821'; } /* '' */
|
||||
.bpmn-icon-end-event-error:before { content: '\e822'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-escalation:before { content: '\e823'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-timer:before { content: '\e824'; } /* '' */
|
||||
.bpmn-icon-start-event-escalation:before { content: '\e825'; } /* '' */
|
||||
.bpmn-icon-start-event-signal:before { content: '\e826'; } /* '' */
|
||||
.bpmn-icon-business-rule-task:before { content: '\e827'; } /* '' */
|
||||
.bpmn-icon-manual:before { content: '\e828'; } /* '' */
|
||||
.bpmn-icon-receive:before { content: '\e829'; } /* '' */
|
||||
.bpmn-icon-call-activity:before { content: '\e82a'; } /* '' */
|
||||
.bpmn-icon-start-event-timer:before { content: '\e82b'; } /* '' */
|
||||
.bpmn-icon-start-event-message:before { content: '\e82c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-none:before { content: '\e82d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-link:before { content: '\e82e'; } /* '' */
|
||||
.bpmn-icon-end-event-escalation:before { content: '\e82f'; } /* '' */
|
||||
.bpmn-icon-text-annotation:before { content: '\e830'; } /* '' */
|
||||
.bpmn-icon-bpmn-io:before { content: '\e831'; } /* '' */
|
||||
.bpmn-icon-gateway-complex:before { content: '\e832'; } /* '' */
|
||||
.bpmn-icon-gateway-eventbased:before { content: '\e833'; } /* '' */
|
||||
.bpmn-icon-gateway-none:before { content: '\e834'; } /* '' */
|
||||
.bpmn-icon-gateway-or:before { content: '\e835'; } /* '' */
|
||||
.bpmn-icon-end-event-terminate:before { content: '\e836'; } /* '' */
|
||||
.bpmn-icon-end-event-signal:before { content: '\e837'; } /* '' */
|
||||
.bpmn-icon-end-event-none:before { content: '\e838'; } /* '' */
|
||||
.bpmn-icon-end-event-multiple:before { content: '\e839'; } /* '' */
|
||||
.bpmn-icon-end-event-message:before { content: '\e83a'; } /* '' */
|
||||
.bpmn-icon-end-event-link:before { content: '\e83b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-message:before { content: '\e83c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-compensation:before { content: '\e83d'; } /* '' */
|
||||
.bpmn-icon-start-event-multiple:before { content: '\e83e'; } /* '' */
|
||||
.bpmn-icon-script:before { content: '\e83f'; } /* '' */
|
||||
.bpmn-icon-manual-task:before { content: '\e840'; } /* '' */
|
||||
.bpmn-icon-send:before { content: '\e841'; } /* '' */
|
||||
.bpmn-icon-service:before { content: '\e842'; } /* '' */
|
||||
.bpmn-icon-receive-task:before { content: '\e843'; } /* '' */
|
||||
.bpmn-icon-user:before { content: '\e844'; } /* '' */
|
||||
.bpmn-icon-start-event-none:before { content: '\e845'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-escalation:before { content: '\e846'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-multiple:before { content: '\e847'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before { content: '\e848'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-link:before { content: '\e849'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-condition:before { content: '\e84a'; } /* '' */
|
||||
.bpmn-icon-data-object:before { content: '\e84b'; } /* '' */
|
||||
.bpmn-icon-script-task:before { content: '\e84c'; } /* '' */
|
||||
.bpmn-icon-send-task:before { content: '\e84d'; } /* '' */
|
||||
.bpmn-icon-data-store:before { content: '\e84e'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-escalation:before { content: '\e84f'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-message:before { content: '\e850'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before { content: '\e851'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before { content: '\e852'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-multiple:before { content: '\e853'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-message:before { content: '\e854'; } /* '' */
|
||||
.bpmn-icon-ad-hoc-marker:before { content: '\e855'; } /* '' */
|
||||
.bpmn-icon-service-task:before { content: '\e856'; } /* '' */
|
||||
.bpmn-icon-task-none:before { content: '\e857'; } /* '' */
|
||||
.bpmn-icon-compensation-marker:before { content: '\e858'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-multiple:before { content: '\e859'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-signal:before { content: '\e85a'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before { content: '\e85b'; } /* '' */
|
||||
.bpmn-icon-participant:before { content: '\e85c'; } /* '' */
|
||||
.bpmn-icon-event-subprocess-expanded:before { content: '\e85d'; } /* '' */
|
||||
.bpmn-icon-lane-insert-below:before { content: '\e85e'; } /* '' */
|
||||
.bpmn-icon-space-tool:before { content: '\e85f'; } /* '' */
|
||||
.bpmn-icon-connection-multi:before { content: '\e860'; } /* '' */
|
||||
.bpmn-icon-lane:before { content: '\e861'; } /* '' */
|
||||
.bpmn-icon-lasso-tool:before { content: '\e862'; } /* '' */
|
||||
.bpmn-icon-lane-insert-above:before { content: '\e863'; } /* '' */
|
||||
.bpmn-icon-lane-divide-three:before { content: '\e864'; } /* '' */
|
||||
.bpmn-icon-lane-divide-two:before { content: '\e865'; } /* '' */
|
||||
.bpmn-icon-data-input:before { content: '\e866'; } /* '' */
|
||||
.bpmn-icon-data-output:before { content: '\e867'; } /* '' */
|
||||
.bpmn-icon-hand-tool:before { content: '\e868'; } /* '' */
|
||||
.bpmn-icon-transaction:before { content: '\e8c4'; } /* '' */
|
||||
BIN
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.eot
vendored
Normal file
BIN
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.eot
vendored
Normal file
Binary file not shown.
117
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.svg
vendored
Normal file
117
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 130 KiB |
BIN
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.ttf
vendored
Normal file
BIN
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.ttf
vendored
Normal file
Binary file not shown.
BIN
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.woff
vendored
Normal file
BIN
ebpm-process-modeler/bpmn-js/colors/vendor/bpmn-font/font/bpmn.woff
vendored
Normal file
Binary file not shown.
71
ebpm-process-modeler/bpmn-js/colors/vendor/colors/color-picker.css
vendored
Normal file
71
ebpm-process-modeler/bpmn-js/colors/vendor/colors/color-picker.css
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
/* COLOR PICKER */
|
||||
|
||||
/* context pad */
|
||||
.djs-context-pad .entry {
|
||||
background-color: rgba(255, 255, 255, 0.6);
|
||||
box-shadow: 0 0 2px 1px rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
|
||||
.bpmn-icon-color:before {
|
||||
content: '🖌';
|
||||
}
|
||||
|
||||
/* color popup menu */
|
||||
[class^="color-icon-"]:before,
|
||||
[class*=" color-icon-"]:before {
|
||||
display: inline-block;
|
||||
content: '';
|
||||
width: 1.5em;
|
||||
height: 0.6em;
|
||||
border-radius: 0.5em;
|
||||
border: 0.03em solid black;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry.color-icon-clear {
|
||||
margin-left: 5px;
|
||||
padding: 0;
|
||||
}
|
||||
.djs-label{
|
||||
fill: rgba(0, 0, 0) !important;
|
||||
}
|
||||
.djs-popup-header .entry.color-icon-clear > span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.color-icon-clear:before {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.color-icon-ff0000:before {
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
.color-icon-ff7f00:before {
|
||||
background-color: #ff7f00;
|
||||
}
|
||||
|
||||
.color-icon-ffff00:before {
|
||||
background-color: #ffff00;
|
||||
}
|
||||
|
||||
.color-icon-00ff00:before {
|
||||
background-color: #00ff00;
|
||||
}
|
||||
|
||||
.color-icon-0000ff:before {
|
||||
background-color: #0000ff;
|
||||
}
|
||||
|
||||
.color-icon-4b0082:before {
|
||||
background-color: #4b0082;
|
||||
}
|
||||
|
||||
.color-icon-9400d3:before {
|
||||
background-color: #9400d3;
|
||||
}
|
||||
|
||||
/* transparancy for shapes with colors */
|
||||
.color-transparancy {
|
||||
fill-opacity: 0.50;
|
||||
}
|
||||
|
||||
684
ebpm-process-modeler/bpmn-js/colors/vendor/diagram-js.css
vendored
Normal file
684
ebpm-process-modeler/bpmn-js/colors/vendor/diagram-js.css
vendored
Normal file
@@ -0,0 +1,684 @@
|
||||
/**
|
||||
* outline styles
|
||||
*/
|
||||
|
||||
.djs-outline {
|
||||
fill: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.djs-element.hover .djs-outline,
|
||||
.djs-element.selected .djs-outline {
|
||||
visibility: visible;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-dasharray: 3,3;
|
||||
}
|
||||
|
||||
.djs-element.selected .djs-outline {
|
||||
stroke: #8888FF;
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
.djs-element.hover .djs-outline {
|
||||
stroke: #FF8888;
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
.djs-shape.connect-ok .djs-visual > :nth-child(1) {
|
||||
fill: #DCFECC /* light-green */ !important;
|
||||
}
|
||||
|
||||
.djs-shape.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-shape.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
fill: #f9dee5 /* light-red */ !important;
|
||||
}
|
||||
|
||||
.djs-shape.new-parent .djs-visual > :nth-child(1) {
|
||||
fill: #F7F9FF !important;
|
||||
}
|
||||
|
||||
svg.drop-not-ok {
|
||||
background: #f9dee5 /* light-red */ !important;
|
||||
}
|
||||
|
||||
svg.new-parent {
|
||||
background: #F7F9FF /* light-blue */ !important;
|
||||
}
|
||||
|
||||
.djs-connection.connect-ok .djs-visual > :nth-child(1),
|
||||
.djs-connection.drop-ok .djs-visual > :nth-child(1) {
|
||||
stroke: #90DD5F /* light-green */ !important;
|
||||
}
|
||||
|
||||
.djs-connection.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-connection.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
stroke: #E56283 /* light-red */ !important;
|
||||
}
|
||||
|
||||
.drop-not-ok,
|
||||
.connect-not-ok {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.djs-element.attach-ok .djs-visual > :nth-child(1) {
|
||||
stroke-width: 5px !important;
|
||||
stroke: rgba(255, 116, 0, 0.7) !important;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Selection box style
|
||||
*
|
||||
*/
|
||||
.djs-lasso-overlay {
|
||||
fill: rgb(255, 116, 0);
|
||||
fill-opacity: 0.1;
|
||||
|
||||
stroke-dasharray: 5 1 3 1;
|
||||
stroke: rgb(255, 116, 0);
|
||||
|
||||
shape-rendering: crispEdges;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resize styles
|
||||
*/
|
||||
.djs-resize-overlay {
|
||||
fill: none;
|
||||
|
||||
stroke-dasharray: 5 1 3 1;
|
||||
stroke: rgb(255, 116, 0);
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-resizer-hit {
|
||||
fill: none;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-resizer-visual {
|
||||
fill: white;
|
||||
stroke-width: 1px;
|
||||
stroke: black;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-opacity: 0.2;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-nwse,
|
||||
.djs-resizer-nw,
|
||||
.djs-resizer-se {
|
||||
cursor: nwse-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-nesw,
|
||||
.djs-resizer-ne,
|
||||
.djs-resizer-sw {
|
||||
cursor: nesw-resize;
|
||||
}
|
||||
|
||||
.djs-shape.djs-resizing > .djs-outline {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
.djs-shape.djs-resizing > .djs-resizer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.djs-dragger > .djs-resizer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* drag styles
|
||||
*/
|
||||
.djs-dragger .djs-visual circle,
|
||||
.djs-dragger .djs-visual path,
|
||||
.djs-dragger .djs-visual polygon,
|
||||
.djs-dragger .djs-visual polyline,
|
||||
.djs-dragger .djs-visual rect,
|
||||
.djs-dragger .djs-visual text {
|
||||
fill: none !important;
|
||||
stroke: rgb(255, 116, 0) !important;
|
||||
}
|
||||
|
||||
.djs-dragging {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.djs-dragging,
|
||||
.djs-dragging > * {
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.djs-dragging .djs-context-pad,
|
||||
.djs-dragging .djs-outline {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* no pointer events for visual
|
||||
*/
|
||||
.djs-visual,
|
||||
.djs-outline {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* all pointer events for hit shape
|
||||
*/
|
||||
.djs-shape .djs-hit {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-connection .djs-hit {
|
||||
pointer-events: stroke;
|
||||
}
|
||||
|
||||
/**
|
||||
* shape / connection basic styles
|
||||
*/
|
||||
.djs-connection .djs-visual {
|
||||
stroke-width: 2px;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.djs-cursor-grab {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
cursor: grab;
|
||||
}
|
||||
|
||||
.djs-cursor-grabbing {
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.djs-cursor-crosshair {
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.djs-cursor-move {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ns {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ew {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* snapping
|
||||
*/
|
||||
.djs-snap-line {
|
||||
stroke: rgb(255, 195, 66);
|
||||
stroke: rgba(255, 195, 66, 0.50);
|
||||
stroke-linecap: round;
|
||||
stroke-width: 2px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* snapping
|
||||
*/
|
||||
.djs-crosshair {
|
||||
stroke: #555;
|
||||
stroke-linecap: round;
|
||||
stroke-width: 1px;
|
||||
pointer-events: none;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-dasharray: 5, 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* palette
|
||||
*/
|
||||
|
||||
.djs-palette {
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
|
||||
box-sizing: border-box;
|
||||
width: 48px;
|
||||
}
|
||||
|
||||
.djs-palette .separator {
|
||||
margin: 0 5px;
|
||||
padding-top: 5px;
|
||||
|
||||
border: none;
|
||||
border-bottom: solid 1px #DDD;
|
||||
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.djs-palette .entry:before {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-toggle {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.djs-palette .entry,
|
||||
.djs-palette .djs-palette-toggle {
|
||||
color: #333;
|
||||
font-size: 30px;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.djs-palette .entry {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.djs-palette .entry img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-entries:after {
|
||||
content: '';
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-toggle:hover {
|
||||
background: #666;
|
||||
}
|
||||
|
||||
.djs-palette .entry:hover {
|
||||
color: rgb(255, 116, 0);
|
||||
}
|
||||
|
||||
.djs-palette .highlighted-entry {
|
||||
color: rgb(255, 116, 0) !important;
|
||||
}
|
||||
|
||||
.djs-palette .entry,
|
||||
.djs-palette .djs-palette-toggle {
|
||||
width: 124px;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Palette open / two-column layout is controlled via
|
||||
* classes on the palette. Events to hook into palette
|
||||
* changed life-cycle are available in addition.
|
||||
*/
|
||||
.djs-palette.two-column.open {
|
||||
width:124px;
|
||||
}
|
||||
|
||||
.djs-palette:not(.open) .djs-palette-entries {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-palette:not(.open) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.djs-palette.open .djs-palette-toggle {
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
/**
|
||||
* context-pad
|
||||
*/
|
||||
.djs-overlay-context-pad {
|
||||
width: 72px;
|
||||
}
|
||||
|
||||
.djs-context-pad {
|
||||
position: absolute;
|
||||
display: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
font-size: 22px;
|
||||
margin: 0 2px 2px 0;
|
||||
|
||||
border-radius: 3px;
|
||||
|
||||
cursor: default;
|
||||
|
||||
background-color: #FEFEFE;
|
||||
box-shadow: 0 0 2px 1px #FEFEFE;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry:before {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry:hover {
|
||||
background: rgb(255, 252, 176);
|
||||
}
|
||||
|
||||
.djs-context-pad.open {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* popup styles
|
||||
*/
|
||||
.djs-popup .entry {
|
||||
line-height: 20px;
|
||||
white-space: nowrap;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* larger font for prefixed icons */
|
||||
.djs-popup .entry:before {
|
||||
vertical-align: middle;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.djs-popup .entry > span {
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.djs-popup .entry:hover,
|
||||
.djs-popup .entry.active:hover {
|
||||
background: rgb(255, 252, 176);
|
||||
}
|
||||
|
||||
.djs-popup .entry.disabled {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
.djs-popup .djs-popup-header .entry {
|
||||
display: inline-block;
|
||||
padding: 2px 3px 2px 3px;
|
||||
|
||||
border: solid 1px transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.djs-popup .djs-popup-header .entry.active {
|
||||
color: rgb(255, 116, 0);
|
||||
border: solid 1px rgb(255, 116, 0);
|
||||
background-color: #F6F6F6;
|
||||
}
|
||||
|
||||
.djs-popup-body .entry {
|
||||
padding: 4px 10px 4px 5px;
|
||||
}
|
||||
|
||||
.djs-popup-body .entry > span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.djs-popup-body {
|
||||
background-color: #FEFEFE;
|
||||
}
|
||||
|
||||
.djs-popup-header {
|
||||
border-bottom: 1px solid #DDD;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry {
|
||||
margin: 1px;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry:last-child {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/**
|
||||
* popup / palette styles
|
||||
*/
|
||||
.djs-popup, .djs-palette {
|
||||
background: #FAFAFA;
|
||||
border: solid 1px #CCC;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
/**
|
||||
* touch
|
||||
*/
|
||||
|
||||
.djs-shape,
|
||||
.djs-connection {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger,
|
||||
.djs-bendpoint {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* bendpoints
|
||||
*/
|
||||
.djs-segment-dragger .djs-visual {
|
||||
fill: rgba(255, 255, 121, 0.2);
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 1;
|
||||
stroke: rgba(255, 255, 121, 0.3);
|
||||
}
|
||||
|
||||
.djs-bendpoint .djs-visual {
|
||||
fill: rgba(255, 255, 121, 0.8);
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 0.5;
|
||||
stroke: black;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover,
|
||||
.djs-bendpoints.hover .djs-segment-dragger,
|
||||
.djs-bendpoints.selected .djs-segment-dragger,
|
||||
.djs-bendpoint:hover,
|
||||
.djs-bendpoints.hover .djs-bendpoint,
|
||||
.djs-bendpoints.selected .djs-bendpoint {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.djs-drag-active .djs-bendpoints * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-bendpoints:not(.hover) .floating {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover .djs-visual,
|
||||
.djs-segment-dragger.djs-dragging .djs-visual,
|
||||
.djs-bendpoint:hover .djs-visual,
|
||||
.djs-bendpoint.floating .djs-visual {
|
||||
fill: yellow;
|
||||
stroke-opacity: 0.5;
|
||||
stroke: black;
|
||||
}
|
||||
|
||||
.djs-bendpoint.floating .djs-hit {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger .djs-hit,
|
||||
.djs-bendpoint .djs-hit {
|
||||
pointer-events: all;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.horizontal .djs-hit {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.vertical .djs-hit {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging .djs-hit {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-updating,
|
||||
.djs-updating > * {
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.djs-updating .djs-context-pad,
|
||||
.djs-updating .djs-outline,
|
||||
.djs-updating .djs-bendpoint,
|
||||
.connect-ok .djs-bendpoint,
|
||||
.connect-not-ok .djs-bendpoint,
|
||||
.drop-ok .djs-bendpoint,
|
||||
.drop-not-ok .djs-bendpoint {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging,
|
||||
.djs-bendpoint.djs-dragging {
|
||||
display: block;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging .djs-visual,
|
||||
.djs-bendpoint.djs-dragging .djs-visual {
|
||||
fill: yellow;
|
||||
stroke-opacity: 0.5;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* tooltips
|
||||
*/
|
||||
.djs-tooltip-error {
|
||||
font-size: 11px;
|
||||
line-height: 18px;
|
||||
text-align: left;
|
||||
|
||||
padding: 5px;
|
||||
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.djs-tooltip-error > * {
|
||||
width: 160px;
|
||||
|
||||
background: rgb(252, 236, 240);
|
||||
color: rgb(158, 76, 76);
|
||||
padding: 3px 7px;
|
||||
border-radius: 5px;
|
||||
border-left: solid 5px rgb(174, 73, 73);
|
||||
}
|
||||
|
||||
.djs-tooltip-error:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* search pad
|
||||
*/
|
||||
.djs-search-container {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
width: 25%;
|
||||
min-width: 300px;
|
||||
max-width: 400px;
|
||||
z-index: 10;
|
||||
|
||||
font-size: 1.05em;
|
||||
opacity: 0.9;
|
||||
background: #FAFAFA;
|
||||
border: solid 1px #CCC;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.djs-search-container:not(.open) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-search-input input {
|
||||
font-size: 1.05em;
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.djs-search-input input:focus {
|
||||
outline: none;
|
||||
border-color: #52B415;
|
||||
}
|
||||
|
||||
.djs-search-results {
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.djs-search-results:hover {
|
||||
/*background: #fffdd7;*/
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.djs-search-result {
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
background: white;
|
||||
border-bottom: solid 1px #AAA;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.djs-search-highlight {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.djs-search-result-primary {
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
|
||||
.djs-search-result-secondary {
|
||||
font-family: monospace;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.djs-search-result:hover {
|
||||
background: #fdffd6;
|
||||
}
|
||||
|
||||
.djs-search-result-selected {
|
||||
background: #fffcb0;
|
||||
}
|
||||
|
||||
.djs-search-result-selected:hover {
|
||||
background: #f7f388;
|
||||
}
|
||||
|
||||
.djs-search-overlay {
|
||||
background: yellow;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
/**
|
||||
* hidden styles
|
||||
*/
|
||||
.djs-element-hidden,
|
||||
.djs-element-hidden .djs-hit,
|
||||
.djs-element-hidden .djs-outline,
|
||||
.djs-label-hidden .djs-label {
|
||||
display: none !important;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import translations from './translations';
|
||||
|
||||
//提供转换器
|
||||
export default function customTranslate(template, replacements) {
|
||||
replacements = replacements || {};
|
||||
|
||||
// Translate
|
||||
template = translations[template] || template;
|
||||
|
||||
// Replace
|
||||
return template.replace(/{([^}]+)}/g, function(_, key) {
|
||||
return replacements[key] || '{' + key + '}';
|
||||
});
|
||||
}
|
||||
104
ebpm-process-modeler/bpmn-js/customTranslate/translations.js
Normal file
104
ebpm-process-modeler/bpmn-js/customTranslate/translations.js
Normal file
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
*
|
||||
* 转换字典
|
||||
* This is a sample file that should be replaced with the actual translation.
|
||||
*
|
||||
* Checkout https://github.com/bpmn-io/bpmn-js-i18n for a list of available
|
||||
* translations and labels to translate.
|
||||
*/
|
||||
export default {
|
||||
//'Exclusive Gateway': 'Exklusives Gateway',
|
||||
//'Parallel Gateway': 'Paralleles Gateway',
|
||||
//'Inclusive Gateway': 'Inklusives Gateway',
|
||||
//'Complex Gateway': 'Komplexes Gateway',
|
||||
//'Event based Gateway': 'Ereignis-basiertes Gateway',
|
||||
'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)': '升级启动事件 (非中断)',
|
||||
'Assignee': '代理人',
|
||||
'Candidate Groups': '候选组',
|
||||
'Candidate Users': '候选人',
|
||||
'Due Date': '到期日',
|
||||
'Follow Up Date': '跟踪日期',
|
||||
'Priority': '优先',
|
||||
'General': '一般信息',
|
||||
'teners': '监听',
|
||||
'Extensions': '扩展',
|
||||
'Name': '名称',
|
||||
'Version Tag': '版本标签',
|
||||
'Executable': '可执行文件',
|
||||
'External Task Configuration': '外部任务配置',
|
||||
'Task Priority': '任务优先级',
|
||||
'Job Configuration': '作业配置',
|
||||
'Job Priority': '工作优先级',
|
||||
'Documentation': '文档',
|
||||
'Element Documentation': '说明',
|
||||
'History Configuration': '历史配置',
|
||||
'History Time To Live': '历史生存时间',
|
||||
'Details': '详情',
|
||||
"keyDetails":'流程信息',
|
||||
'Initiator': '发起者',
|
||||
'Asynchronous Continuations': '异步连续',
|
||||
'Asynchronous Before': '异步之前',
|
||||
'Asynchronous After': '异步之后',
|
||||
'Forms': '表单',
|
||||
'Input/Output': '输入/输出',
|
||||
'Properties': '属性',
|
||||
'Add Property': '添加属性',
|
||||
'value': '值',
|
||||
'Parameters': '参数',
|
||||
'Input Parameters': '输入参数',
|
||||
'Output Parameters': '输出参数',
|
||||
'Execution Listener': '执行监听',
|
||||
'Task Listener': '任务监听',
|
||||
'Id': 'ID(唯一标识)',
|
||||
'Change type': '改变类型',
|
||||
'Append EndEvent': '添加结束事件',
|
||||
'Append Gateway': '添加网关',
|
||||
'Append Task': '添加任务',
|
||||
'Append UserTask': '添加用户任务',
|
||||
'Append TextAnnotation': '添加文本注释',
|
||||
'Remove':'删除',
|
||||
'Connect using Sequence/MessageFlow or Association': '连接线',
|
||||
'Inclusive Gateway': '包容网关',
|
||||
'Parallel Gateway': '并行网关',
|
||||
'Exclusive Gateway': '条件网关',
|
||||
'End Event': '结束事件',
|
||||
'Start Event': '开始事件',
|
||||
'Create StartEvent': '开始事件',
|
||||
'Create EndEvent': '结束事件',
|
||||
'Create ExclusiveGateway': '条件网关',
|
||||
'Create UserTask': '用户任务',
|
||||
'Create ServiceTask' : '服务任务',
|
||||
'Create ScriptTask' : '脚本任务',
|
||||
'Create ReceiveTask' : '等待任务',
|
||||
'Create ManualTask' : '线下任务',
|
||||
'Create expanded SubProcess': '内嵌子流程',
|
||||
'Create collapsed SubProcess': '调用外部子流程',
|
||||
'Create InclusiveGateway': '包容网关',
|
||||
'Activate the lasso tool': '套索工具',
|
||||
'Activate the global connect tool': '连接线',
|
||||
'Activate the hand tool': '手',
|
||||
'Task': '任务',
|
||||
'User Task': '用户任务',
|
||||
'Receive Task': '接收任务',
|
||||
'Service Task': '服务任务',
|
||||
'Manual Task': '手动任务',
|
||||
'Script Task': '脚本任务',
|
||||
'Sub Process (collapsed)': '子流程(折叠)',
|
||||
'Call Activity': '外部子流程',
|
||||
'Sub Process (expanded)': '子流程(扩展)',
|
||||
'Transaction': '处理',
|
||||
'Event Sub Process': '事件子流程',
|
||||
'Sub Process': '子流程',
|
||||
'Set Color':'设置颜色',
|
||||
}
|
||||
12
ebpm-process-modeler/bpmn-js/descriptors/magic.json
Normal file
12
ebpm-process-modeler/bpmn-js/descriptors/magic.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "Magic",
|
||||
"prefix": "magic",
|
||||
"uri": "http://magic",
|
||||
"xml": {
|
||||
"tagAlias": "lowerCase"
|
||||
},
|
||||
"associations": [],
|
||||
"types": [
|
||||
|
||||
]
|
||||
}
|
||||
1266
ebpm-process-modeler/bpmn-js/propertiesPanel/PropertiesPanel.js
Normal file
1266
ebpm-process-modeler/bpmn-js/propertiesPanel/PropertiesPanel.js
Normal file
File diff suppressed because it is too large
Load Diff
10
ebpm-process-modeler/bpmn-js/propertiesPanel/index.js
Normal file
10
ebpm-process-modeler/bpmn-js/propertiesPanel/index.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import PropertiesPanel from "./PropertiesPanel";
|
||||
|
||||
export default {
|
||||
__depends__: [
|
||||
require('bpmn-js-properties-panel/lib/cmd'),
|
||||
require('diagram-js/lib/i18n/translate').default
|
||||
],
|
||||
__init__: [ 'propertiesPanel' ],
|
||||
propertiesPanel: [ 'type', PropertiesPanel ]
|
||||
};
|
||||
162
ebpm-process-modeler/bpmn-js/provider/magic/CustomContextPad.js
Normal file
162
ebpm-process-modeler/bpmn-js/provider/magic/CustomContextPad.js
Normal file
@@ -0,0 +1,162 @@
|
||||
import inherits from 'inherits';
|
||||
//import layer from 'vue-layer';
|
||||
//import Vue from 'vue';
|
||||
//require("layui-layer");
|
||||
import {
|
||||
assign
|
||||
} from 'min-dash';
|
||||
|
||||
import ContextPadProvider from 'bpmn-js/lib/features/context-pad/ContextPadProvider';
|
||||
|
||||
import {
|
||||
bind
|
||||
} from 'min-dash';
|
||||
//import { appendFile } from 'fs';
|
||||
|
||||
/**上下文的什么鬼,actions代表每个事件,可以在这更改事件的属性,例如给title添加转换方法 */
|
||||
export default function CustomContextPadProvider(injector, connect, translate) {
|
||||
|
||||
injector.invoke(ContextPadProvider, this);
|
||||
|
||||
var cached = bind(this.getContextPadEntries, this);
|
||||
//console.log(this);
|
||||
//console.log(elementFactory);
|
||||
this.getContextPadEntries = function (element) {
|
||||
// console.log(ContextPadProvider);
|
||||
//console.log(this);
|
||||
var actions = cached(element);
|
||||
var businessObject = element.businessObject;
|
||||
// delete actions['Append TextAnnotation']
|
||||
//console.log(actions);
|
||||
if (actions['append.intermediate-event']) {
|
||||
delete actions['append.intermediate-event']
|
||||
}
|
||||
|
||||
if (!(/bpmn:.*Task/.test(businessObject.$type))) {
|
||||
delete actions['replace']
|
||||
}
|
||||
if (actions['append.end-event']) {
|
||||
//delete actions['append.end-event'];
|
||||
}
|
||||
if (actions['append.gateway']) {
|
||||
delete actions['append.gateway'];
|
||||
}
|
||||
if (actions['append.append-user-task']) {
|
||||
delete actions['append.append-user-task'];
|
||||
}
|
||||
if (actions['replace']) {
|
||||
delete actions['replace'];
|
||||
}
|
||||
if (actions['append.append-task']) {
|
||||
delete actions['append.append-task']
|
||||
actions['append.append-user-task'] = appendAction(this, 'bpmn:UserTask', 'bpmn-icon-user-task');
|
||||
}
|
||||
/*
|
||||
actions['aaDialog'] = {
|
||||
group: 'edit',
|
||||
className: "el-icon-plus",
|
||||
title: "弹框",
|
||||
action: {
|
||||
//dragstart: function (){alert(111)},
|
||||
click: function (){
|
||||
/*layer.open({
|
||||
type:1,
|
||||
content:'十几块了广阔的拉升',
|
||||
});
|
||||
//layer();
|
||||
//let $layer = layer(Vue);
|
||||
//console.log();
|
||||
layer.open({
|
||||
type:1,
|
||||
title: '在线调试'
|
||||
,content: '可以填写任意的layer代码'
|
||||
});
|
||||
},
|
||||
}
|
||||
};*/
|
||||
|
||||
for (let key in actions) {
|
||||
actions[key].title = translate(actions[key].title);
|
||||
if (key == 'delete') {
|
||||
actions[key].group = 'f';
|
||||
actions["4"] = actions[key];
|
||||
delete actions[key];
|
||||
}
|
||||
if (key == 'append.text-annotation') {
|
||||
actions[key].group = 'd';
|
||||
actions["2"] = actions[key];
|
||||
delete actions[key];
|
||||
}
|
||||
if (key == 'connect') {
|
||||
actions[key].group = 'a';
|
||||
actions["1"] = actions[key];
|
||||
delete actions[key];
|
||||
}
|
||||
}
|
||||
/*
|
||||
'append.append-task': appendAction(
|
||||
'bpmn:Task',
|
||||
'bpmn-icon-task'
|
||||
),
|
||||
|
||||
if(actions['replace']){
|
||||
delete actions['replace']
|
||||
}
|
||||
|
||||
if(isAny(businessObject, [ 'bpmn:StartEvent'])){
|
||||
|
||||
console.log(actions);
|
||||
delete actions['append.intermediate-event']
|
||||
console.log(actions);
|
||||
}*/
|
||||
//console.log(actions['replace'].action.click);
|
||||
return actions;
|
||||
};
|
||||
}
|
||||
|
||||
inherits(CustomContextPadProvider, ContextPadProvider);
|
||||
|
||||
CustomContextPadProvider.$inject = [
|
||||
'injector',
|
||||
'connect',
|
||||
'translate'
|
||||
];
|
||||
|
||||
|
||||
function appendAction(ContextPadProvider, type, className, title, options) {
|
||||
|
||||
if (typeof title !== 'string') {
|
||||
options = title;
|
||||
title = ContextPadProvider._translate('Append {type}', {
|
||||
type: type.replace(/^bpmn:/, '')
|
||||
});
|
||||
}
|
||||
|
||||
function appendStart(event, element) {
|
||||
|
||||
var shape = this._elementFactory.createShape(assign({
|
||||
type: type
|
||||
}, options));
|
||||
ContextPadProvider._create.start(event, shape, element);
|
||||
}
|
||||
|
||||
|
||||
var append = ContextPadProvider._autoPlace ? function (event, element) {
|
||||
var shape = ContextPadProvider._elementFactory.createShape(assign({
|
||||
type: type
|
||||
}, options));
|
||||
|
||||
ContextPadProvider._autoPlace.append(element, shape);
|
||||
} : appendStart;
|
||||
|
||||
|
||||
return {
|
||||
group: 'model',
|
||||
className: className,
|
||||
title: title,
|
||||
action: {
|
||||
dragstart: appendStart,
|
||||
click: append
|
||||
}
|
||||
};
|
||||
}
|
||||
221
ebpm-process-modeler/bpmn-js/provider/magic/CustomPalette.js
Normal file
221
ebpm-process-modeler/bpmn-js/provider/magic/CustomPalette.js
Normal file
@@ -0,0 +1,221 @@
|
||||
import {
|
||||
assign
|
||||
} from 'min-dash';
|
||||
|
||||
|
||||
/**
|
||||
* 定制调色板/感觉就是左边的菜单
|
||||
* A palette that allows you to create BPMN _and_ custom elements.
|
||||
* 允许您创建bpmn和定制元素的调色板。
|
||||
*/
|
||||
export default function PaletteProvider(palette, create, elementFactory, spaceTool, lassoTool, handTool,
|
||||
globalConnect, translate) {
|
||||
this._palette = palette;
|
||||
this._create = create;
|
||||
this._elementFactory = elementFactory;
|
||||
this._spaceTool = spaceTool;
|
||||
this._lassoTool = lassoTool;
|
||||
this._handTool = handTool;
|
||||
this._globalConnect = globalConnect;
|
||||
this._translate = translate;
|
||||
palette.registerProvider(this);
|
||||
}
|
||||
|
||||
PaletteProvider.$inject = [
|
||||
'palette',
|
||||
'create',
|
||||
'elementFactory',
|
||||
'spaceTool',
|
||||
'lassoTool',
|
||||
'handTool',
|
||||
'globalConnect',
|
||||
'translate'
|
||||
];
|
||||
|
||||
|
||||
PaletteProvider.prototype.getPaletteEntries = function (element) {
|
||||
var actions = {},
|
||||
create = this._create,
|
||||
elementFactory = this._elementFactory,
|
||||
spaceTool = this._spaceTool,
|
||||
lassoTool = this._lassoTool,
|
||||
handTool = this._handTool,
|
||||
globalConnect = this._globalConnect,
|
||||
translate = this._translate;
|
||||
|
||||
|
||||
function createAction(type, group, className, title, options) {
|
||||
|
||||
function createListener(event) {
|
||||
var shape = elementFactory.createShape(assign({
|
||||
type: type
|
||||
}, options));
|
||||
|
||||
if (options) {
|
||||
shape.businessObject.di.isExpanded = options.isExpanded;
|
||||
}
|
||||
create.start(event, shape);
|
||||
}
|
||||
var shortType = type.replace(/^bpmn:/, '');
|
||||
return {
|
||||
group: group,
|
||||
className: className + ' afterText',
|
||||
title: translate(title || 'Create ' + shortType),
|
||||
action: {
|
||||
dragstart: createListener,
|
||||
click: createListener
|
||||
}
|
||||
};
|
||||
}
|
||||
function createParticipant(event, collapsed) {
|
||||
create.start(event, elementFactory.createParticipantShape(collapsed));
|
||||
}
|
||||
|
||||
assign(actions, {
|
||||
/*'hand-tool': createAction(
|
||||
'custom:triangle', 'custom', 'icon-custom-triangle'
|
||||
),
|
||||
'custom-circle': createAction(
|
||||
'custom:circle', 'custom', 'icon-custom-circle'
|
||||
),
|
||||
'custom-separator': {
|
||||
group: 'custom',
|
||||
separator: true
|
||||
},
|
||||
*/
|
||||
/*
|
||||
'hand-tool': {
|
||||
group: 'tools',
|
||||
className: 'bpmn-icon-hand-tool',
|
||||
title: translate('Activate the hand tool'),
|
||||
action: {
|
||||
click: function(event) {
|
||||
handTool.activateHand(event);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
'space-tool': {
|
||||
group: 'tools',
|
||||
className: 'bpmn-icon-space-tool',
|
||||
title: translate('Activate the create/remove space tool'),
|
||||
action: {
|
||||
click: function(event) {
|
||||
spaceTool.activateSelection(event);
|
||||
}
|
||||
}
|
||||
},
|
||||
'tool-separator': {
|
||||
group: 'tools',
|
||||
separator: true
|
||||
},*/
|
||||
//事件
|
||||
'create.start-event': createAction(
|
||||
'bpmn:StartEvent', 'event', 'bpmn-icon-start-event-none'
|
||||
),
|
||||
/*
|
||||
'create.intermediate-event': createAction(
|
||||
'bpmn:IntermediateThrowEvent', 'event', 'bpmn-icon-intermediate-event-none'
|
||||
),*/
|
||||
'create.end-event': createAction(
|
||||
'bpmn:EndEvent', 'event', 'bpmn-icon-end-event-none'
|
||||
),
|
||||
'event-separator': {
|
||||
group: 'event',
|
||||
separator: true
|
||||
},
|
||||
//task 任务
|
||||
'create.user-task': createAction(
|
||||
'bpmn:UserTask', 'task', 'bpmn-icon-user-task'
|
||||
),
|
||||
'create.service-task': createAction(
|
||||
'bpmn:ServiceTask', 'task', 'bpmn-icon-service-task'
|
||||
),
|
||||
'create.script-task': createAction(
|
||||
'bpmn:ScriptTask', 'task', 'bpmn-icon-script-task'
|
||||
),
|
||||
'create.receive-task': createAction(
|
||||
'bpmn:ReceiveTask', 'task', 'bpmn-icon-receive-task'
|
||||
),
|
||||
'create.manual-task': createAction(
|
||||
'bpmn:ManualTask', 'task', 'bpmn-icon-manual-task'
|
||||
),
|
||||
'task-separator': {
|
||||
group: 'task',
|
||||
separator: true
|
||||
},
|
||||
//subprocess 流程
|
||||
// 'create.subprocess-expanded': createAction(
|
||||
// 'bpmn:SubProcess', 'subprocess', 'bpmn-icon-subprocess-expanded', 'Create expanded SubProcess', {
|
||||
// isExpanded: true
|
||||
// }
|
||||
// ),
|
||||
//collapsed-subprocess
|
||||
/* 'create.subprocess-collapsed': createAction(
|
||||
'bpmn:SubProcess', 'subprocess', 'bpmn-icon-subprocess-collapsed', 'Create collapsed SubProcess'
|
||||
), */
|
||||
'create.callactivity': createAction(
|
||||
'bpmn:CallActivity', 'subprocess', 'bpmn-icon-call-activity', 'Call Activity'
|
||||
),
|
||||
'subprocess-separator': {
|
||||
group: 'subprocess',
|
||||
separator: true
|
||||
},
|
||||
|
||||
//Gateway 网关
|
||||
|
||||
'create.exclusive-gateway': createAction(
|
||||
'bpmn:ExclusiveGateway', 'gateway', 'bpmn-icon-gateway-xor'
|
||||
),
|
||||
'create.inclusive-gateway': createAction(
|
||||
'bpmn:InclusiveGateway', 'gateway', 'bpmn-icon-gateway-or'
|
||||
),
|
||||
|
||||
'gateway-separator': {
|
||||
group: 'gateway',
|
||||
separator: true
|
||||
},
|
||||
//工具
|
||||
'global-connect-tool': {
|
||||
group: 'endTools',
|
||||
className: 'bpmn-icon-connection-multi afterText',
|
||||
title: translate('Activate the global connect tool'),
|
||||
action: {
|
||||
click: function (event) {
|
||||
globalConnect.toggle(event);
|
||||
}
|
||||
}
|
||||
},
|
||||
'lasso-tool': {
|
||||
group: 'endTools',
|
||||
className: 'bpmn-icon-lasso-tool afterText',
|
||||
title: translate('Activate the lasso tool'),
|
||||
action: {
|
||||
click: function (event) {
|
||||
lassoTool.activateSelection(event);
|
||||
}
|
||||
}
|
||||
},
|
||||
//bpmn:TextAnnotation
|
||||
'Append TextAnnotation':createAction(
|
||||
'bpmn:TextAnnotation', 'endTools', 'bpmn-icon-text-annotation','Append TextAnnotation'
|
||||
),
|
||||
/*
|
||||
'create.data-object': createAction(
|
||||
'bpmn:DataObjectReference', 'data-object', 'bpmn-icon-data-object'
|
||||
),
|
||||
|
||||
'create.participant-expanded': {
|
||||
group: 'collaboration',
|
||||
className: 'bpmn-icon-participant',
|
||||
title: 'Create Pool/Participant',
|
||||
action: {
|
||||
dragstart: createParticipant,
|
||||
click: createParticipant
|
||||
}
|
||||
}*/
|
||||
});
|
||||
|
||||
return actions;
|
||||
};
|
||||
@@ -0,0 +1,219 @@
|
||||
import inherits from 'inherits';
|
||||
|
||||
import PropertiesActivator from 'bpmn-js-properties-panel/lib/PropertiesActivator';
|
||||
|
||||
// Require all properties you need from existing providers.
|
||||
// In this case all available bpmn relevant properties without camunda extensions.
|
||||
import processProps from 'bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps';
|
||||
//import eventProps from 'bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps';
|
||||
//import linkProps from 'bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps';
|
||||
import documentationProps from 'bpmn-js-properties-panel/lib/provider/bpmn/parts/DocumentationProps';
|
||||
import idProps from 'bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps';
|
||||
import nameProps from 'bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps';
|
||||
import {
|
||||
isAny
|
||||
} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';
|
||||
import entryFactory from 'bpmn-js-properties-panel/lib/factory/EntryFactory';
|
||||
//import spellProps from '../magic/parts/SpellProps';
|
||||
//import axios from 'axios';
|
||||
//require("layui-layer");
|
||||
import Vue from 'vue';
|
||||
// Require your custom property entries.
|
||||
//import spellProps from './parts/SpellProps';
|
||||
var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject;
|
||||
var cmdHelper = require('bpmn-js-properties-panel/lib/helper/CmdHelper');
|
||||
|
||||
function ensureNotNull(prop) {
|
||||
if (!prop) {
|
||||
throw new Error(prop + ' must be set.');
|
||||
}
|
||||
|
||||
return prop;
|
||||
}
|
||||
|
||||
var setDefaultParameters = function (options) {
|
||||
|
||||
// default method to fetch the current value of the input field
|
||||
var defaultGet = function (element) {
|
||||
var bo = getBusinessObject(element),
|
||||
res = {},
|
||||
prop = ensureNotNull(options.modelProperty);
|
||||
res[prop] = bo.get(prop);
|
||||
|
||||
return res;
|
||||
};
|
||||
|
||||
// default method to set a new value to the input field
|
||||
var defaultSet = function (element, values) {
|
||||
var res = {},
|
||||
prop = ensureNotNull(options.modelProperty);
|
||||
if (values[prop] !== '') {
|
||||
res[prop] = values[prop];
|
||||
} else {
|
||||
res[prop] = undefined;
|
||||
}
|
||||
|
||||
return cmdHelper.updateProperties(element, res);
|
||||
};
|
||||
|
||||
// default validation method
|
||||
var defaultValidate = function () {
|
||||
return {};
|
||||
};
|
||||
|
||||
return {
|
||||
id: options.id,
|
||||
description: (options.description || ''),
|
||||
get: (options.get || defaultGet),
|
||||
set: (options.set || defaultSet),
|
||||
validate: (options.validate || defaultValidate),
|
||||
html: ''
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
//配置右边状态栏
|
||||
// The general tab contains all bpmn relevant properties.
|
||||
// The properties are organized in groups.
|
||||
function createGeneralTabGroups(element, bpmnFactory, elementRegistry, translate) {
|
||||
var generalGroup = {
|
||||
id: 'general',
|
||||
label: translate('General'),
|
||||
entries: []
|
||||
};
|
||||
|
||||
if (isAny(element, ['bpmn:Process'])) {
|
||||
generalGroup.entries.push(entryFactory.textField({
|
||||
id: 'id',
|
||||
//description : 'Apply a black magic spell',
|
||||
label: '流程KEY',
|
||||
canBeDisabled: true,
|
||||
modelProperty: 'id'
|
||||
}));
|
||||
} else {
|
||||
idProps(generalGroup, element, translate);
|
||||
}
|
||||
|
||||
nameProps(generalGroup, element, null, null, translate);
|
||||
processProps(generalGroup, element, translate);
|
||||
documentationProps(generalGroup, element, bpmnFactory, translate);
|
||||
var configureGroup = {
|
||||
id: 'keyDetails',
|
||||
label: 'keyDetails',
|
||||
entries: []
|
||||
}
|
||||
/*
|
||||
var detailsGroup = {
|
||||
id: 'Details',
|
||||
label: 'Details',
|
||||
entries: []
|
||||
};
|
||||
linkProps(detailsGroup, element, translate);
|
||||
eventProps(detailsGroup, element, bpmnFactory, elementRegistry, translate);
|
||||
var documentationGroup = {
|
||||
id: 'Documentation',
|
||||
label: '说明',
|
||||
entries: []
|
||||
};
|
||||
|
||||
documentationProps(documentationGroup, element, bpmnFactory, translate);
|
||||
*/
|
||||
return [
|
||||
generalGroup,
|
||||
configureGroup
|
||||
// detailsGroup
|
||||
// documentationGroup
|
||||
]
|
||||
}
|
||||
|
||||
// Create the custom magic tab
|
||||
/*
|
||||
function createMagicTabGroups(element, elementRegistry) {
|
||||
|
||||
// Create a group called "Black Magic".
|
||||
var blackMagicGroup = {
|
||||
id: 'black-magic',
|
||||
label: 'Black Magic',
|
||||
entries: []
|
||||
};
|
||||
|
||||
// Add the spell props to the black magic group.
|
||||
|
||||
blackMagicGroup.entries.push(entryFactory.button({id:"id",label:"1111"}));
|
||||
spellProps(blackMagicGroup, element);
|
||||
return [
|
||||
blackMagicGroup
|
||||
];
|
||||
}*/
|
||||
|
||||
export default function MagicPropertiesProvider(
|
||||
eventBus, bpmnFactory, elementRegistry,
|
||||
translate) {
|
||||
|
||||
PropertiesActivator.call(this, eventBus);
|
||||
|
||||
this.getTabs = function (element) {
|
||||
|
||||
var generalTab = {
|
||||
id: 'General',
|
||||
label: '基本信息',
|
||||
groups: createGeneralTabGroups(element, bpmnFactory, elementRegistry, translate)
|
||||
};
|
||||
|
||||
// The "magic" tab
|
||||
/*
|
||||
var magicTab = {
|
||||
id: 'magic',
|
||||
label: 'Magic',
|
||||
groups: createMagicTabGroups(element, elementRegistry)
|
||||
};
|
||||
*/
|
||||
// Show general + "magic" tab
|
||||
return [
|
||||
generalTab,
|
||||
//magicTab
|
||||
];
|
||||
};
|
||||
}
|
||||
inherits(MagicPropertiesProvider, PropertiesActivator);
|
||||
|
||||
|
||||
//创建自定义控件
|
||||
|
||||
entryFactory.button = function (options, defaultParameters) {
|
||||
var id = options.id,
|
||||
label = options.label || id,
|
||||
element = options.element;
|
||||
var $dialogVisible = Vue.prototype.store.state.dialogVisible;
|
||||
var _click = function processConfig() {
|
||||
//console.log(Vue.prototype.store);
|
||||
// console.log(element)
|
||||
if (element && element.constructor.name == "Root") {
|
||||
$dialogVisible.dialogIfromeSrc = $dialogVisible.url + "/ebpm-process-manage/procDefModelMgr/proConfig.do?procDefId=" + $dialogVisible.procDefId;
|
||||
//$dialogVisible.dialogIfromeSrc = $dialogVisible.url+'/ebpm-process-manage/procDefModelMgr/proConfig.do?procDefId=api:1:79097648-b4c9-11e9-8827-aa03cab5dae6';
|
||||
$dialogVisible.title = "流程设置";
|
||||
} else {
|
||||
if (defaultParameters.id == 'bdqx') {
|
||||
$dialogVisible.dialogIfromeSrc = $dialogVisible.url + "/plateform-web/#/roleFormField?formId=" + $dialogVisible.formId + "&procDefKey=" + $dialogVisible.procDefKey +
|
||||
"&appId=" + $dialogVisible.appId + "&actDefId=" + element.id + "&formCode=" + $dialogVisible.formCode + "&modelId=" + $dialogVisible.modelId
|
||||
$dialogVisible.title = element.businessObject.name + "环节表单设置";
|
||||
} else {
|
||||
$dialogVisible.dialogIfromeSrc = $dialogVisible.url + "/ebpm-process-manage/activityInfo/actConfig.do?" +
|
||||
"processDefId=" + $dialogVisible.procDefId + "&activityDefId=" + element.id + "&sys=" + $dialogVisible.appId;
|
||||
//$dialogVisible.dialogIfromeSrc = $dialogVisible.url+'/ebpm-process-manage/activityInfo/actConfig.do?' +
|
||||
//'procDefId=api:1:79097648-b4c9-11e9-8827-aa03cab5dae6&activityDefId=sid-20F588AB-471E-4E74-B2B1-FB46403E26DB';
|
||||
$dialogVisible.title = "环节设置";
|
||||
}
|
||||
}
|
||||
$dialogVisible.show = true;
|
||||
//console.log($dialogVisible);
|
||||
}
|
||||
var resource = defaultParameters;
|
||||
if (!$dialogVisible.procDefId) {
|
||||
resource.html = '<a style="display: block;" data-action="_click" class="el-button el-button--primary el-button--mini is-disabled">' + label + '</a>';
|
||||
} else {
|
||||
resource.html = '<a style="display: block;" data-action="_click" class="el-button el-button--primary el-button--mini">' + label + '</a>';
|
||||
resource['_click'] = _click;
|
||||
}
|
||||
return resource;
|
||||
};
|
||||
14
ebpm-process-modeler/bpmn-js/provider/magic/index.js
Normal file
14
ebpm-process-modeler/bpmn-js/provider/magic/index.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import MagicPropertiesProvider from './MagicPropertiesProvider';
|
||||
import CustomPalette from './CustomPalette';
|
||||
import CustomContextPadProvider from "./CustomContextPad";
|
||||
import ReplaceMenuProvider from "./popup-menu/ReplaceMenuProvider";
|
||||
import ColorRenderer from '../../../bpmn-js/colors/ColorRenderer';
|
||||
|
||||
export default {
|
||||
__init__: [ 'propertiesProvider' , 'paletteProvider','contextPadProvider','replaceMenuProvider','colorRenderer'],
|
||||
propertiesProvider: [ 'type', MagicPropertiesProvider ],
|
||||
contextPadProvider: [ 'type', CustomContextPadProvider ],
|
||||
paletteProvider: [ 'type', CustomPalette ],
|
||||
replaceMenuProvider: [ 'type', ReplaceMenuProvider ],
|
||||
colorRenderer: [ 'type', ColorRenderer ],
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
import entryFactory from 'bpmn-js-properties-panel/lib/factory/EntryFactory';
|
||||
/** 没用上 */
|
||||
import {
|
||||
is
|
||||
} from 'bpmn-js/lib/util/ModelUtil';
|
||||
|
||||
|
||||
export default function(group, element) {
|
||||
|
||||
// Only return an entry, if the currently selected
|
||||
// element is a start event.
|
||||
|
||||
if (is(element, 'bpmn:StartEvent')) {
|
||||
group.entries.push(entryFactory.textField({
|
||||
id : 'spell',
|
||||
description : 'Apply a black magic spell',
|
||||
label : 'Spell',
|
||||
modelProperty : 'spell'
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,493 @@
|
||||
import {
|
||||
getBusinessObject,
|
||||
is
|
||||
} from '../../../../node_modules/bpmn-js/lib/util/ModelUtil';
|
||||
|
||||
import {
|
||||
isEventSubProcess,
|
||||
isExpanded
|
||||
} from '../../../../node_modules/bpmn-js/lib/util/DiUtil';
|
||||
|
||||
import {
|
||||
isDifferentType
|
||||
} from '../../../../node_modules/bpmn-js/lib/features/popup-menu/util/TypeUtil';
|
||||
import {
|
||||
forEach,
|
||||
filter
|
||||
} from 'min-dash';
|
||||
|
||||
import * as replaceOptions from './ReplaceOptions';
|
||||
|
||||
|
||||
/**
|
||||
* 替换弹出菜单的,不改默认行为的话只要改配置文件ReplaceOption.js
|
||||
* This module is an element agnostic replace menu provider for the popup menu.
|
||||
*/
|
||||
export default function ReplaceMenuProvider(
|
||||
popupMenu, modeling, moddle,
|
||||
bpmnReplace, rules, translate) {
|
||||
|
||||
this._popupMenu = popupMenu;
|
||||
this._modeling = modeling;
|
||||
this._moddle = moddle;
|
||||
this._bpmnReplace = bpmnReplace;
|
||||
this._rules = rules;
|
||||
this._translate = translate;
|
||||
|
||||
this.register();
|
||||
}
|
||||
|
||||
ReplaceMenuProvider.$inject = [
|
||||
'popupMenu',
|
||||
'modeling',
|
||||
'moddle',
|
||||
'bpmnReplace',
|
||||
'rules',
|
||||
'translate'
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* Register replace menu provider in the popup menu
|
||||
*/
|
||||
ReplaceMenuProvider.prototype.register = function() {
|
||||
this._popupMenu.registerProvider('bpmn-replace', this);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get all entries from replaceOptions for the given element and apply filters
|
||||
* on them. Get for example only elements, which are different from the current one.
|
||||
*
|
||||
* @param {djs.model.Base} element
|
||||
*
|
||||
* @return {Array<Object>} a list of menu entry items
|
||||
*/
|
||||
ReplaceMenuProvider.prototype.getEntries = function(element) {
|
||||
|
||||
var businessObject = element.businessObject;
|
||||
|
||||
var rules = this._rules;
|
||||
|
||||
var entries;
|
||||
|
||||
if (!rules.allowed('shape.replace', { element: element })) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var differentType = isDifferentType(element);
|
||||
|
||||
// start events outside event sub processes
|
||||
if (is(businessObject, 'bpmn:StartEvent') && !isEventSubProcess(businessObject.$parent)) {
|
||||
|
||||
entries = filter(replaceOptions.START_EVENT, differentType);
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// expanded/collapsed pools
|
||||
if (is(businessObject, 'bpmn:Participant')) {
|
||||
|
||||
entries = filter(replaceOptions.PARTICIPANT, function(entry) {
|
||||
return isExpanded(businessObject) !== entry.target.isExpanded;
|
||||
});
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// start events inside event sub processes
|
||||
if (is(businessObject, 'bpmn:StartEvent') && isEventSubProcess(businessObject.$parent)) {
|
||||
|
||||
entries = filter(replaceOptions.EVENT_SUB_PROCESS_START_EVENT, function(entry) {
|
||||
|
||||
var target = entry.target;
|
||||
|
||||
var isInterrupting = target.isInterrupting !== false;
|
||||
|
||||
var isInterruptingEqual = getBusinessObject(element).isInterrupting === isInterrupting;
|
||||
|
||||
// filters elements which types and event definition are equal but have have different interrupting types
|
||||
return differentType(entry) || !differentType(entry) && !isInterruptingEqual;
|
||||
|
||||
});
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// end events
|
||||
if (is(businessObject, 'bpmn:EndEvent')) {
|
||||
|
||||
entries = filter(replaceOptions.END_EVENT, function(entry) {
|
||||
var target = entry.target;
|
||||
|
||||
// hide cancel end events outside transactions
|
||||
if (target.eventDefinitionType == 'bpmn:CancelEventDefinition' && !is(businessObject.$parent, 'bpmn:Transaction')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return differentType(entry);
|
||||
});
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// boundary events
|
||||
if (is(businessObject, 'bpmn:BoundaryEvent')) {
|
||||
|
||||
entries = filter(replaceOptions.BOUNDARY_EVENT, function(entry) {
|
||||
|
||||
var target = entry.target;
|
||||
|
||||
if (target.eventDefinition == 'bpmn:CancelEventDefinition' &&
|
||||
!is(businessObject.attachedToRef, 'bpmn:Transaction')) {
|
||||
return false;
|
||||
}
|
||||
var cancelActivity = target.cancelActivity !== false;
|
||||
|
||||
var isCancelActivityEqual = businessObject.cancelActivity == cancelActivity;
|
||||
|
||||
return differentType(entry) || !differentType(entry) && !isCancelActivityEqual;
|
||||
});
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// intermediate events
|
||||
if (is(businessObject, 'bpmn:IntermediateCatchEvent') ||
|
||||
is(businessObject, 'bpmn:IntermediateThrowEvent')) {
|
||||
|
||||
entries = filter(replaceOptions.INTERMEDIATE_EVENT, differentType);
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// gateways
|
||||
if (is(businessObject, 'bpmn:Gateway')) {
|
||||
|
||||
entries = filter(replaceOptions.GATEWAY, differentType);
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// transactions
|
||||
if (is(businessObject, 'bpmn:Transaction')) {
|
||||
|
||||
entries = filter(replaceOptions.TRANSACTION, differentType);
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// expanded event sub processes
|
||||
if (isEventSubProcess(businessObject) && isExpanded(businessObject)) {
|
||||
|
||||
entries = filter(replaceOptions.EVENT_SUB_PROCESS, differentType);
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// expanded sub processes
|
||||
if (is(businessObject, 'bpmn:SubProcess') && isExpanded(businessObject)) {
|
||||
|
||||
entries = filter(replaceOptions.SUBPROCESS_EXPANDED, differentType);
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// collapsed ad hoc sub processes
|
||||
if (is(businessObject, 'bpmn:AdHocSubProcess') && !isExpanded(businessObject)) {
|
||||
|
||||
entries = filter(replaceOptions.TASK, function(entry) {
|
||||
|
||||
var target = entry.target;
|
||||
|
||||
var isTargetSubProcess = target.type === 'bpmn:SubProcess';
|
||||
|
||||
var isTargetExpanded = target.isExpanded === true;
|
||||
|
||||
return isDifferentType(element, target) && (!isTargetSubProcess || isTargetExpanded);
|
||||
});
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
// sequence flows
|
||||
if (is(businessObject, 'bpmn:SequenceFlow')) {
|
||||
return this._createSequenceFlowEntries(element, replaceOptions.SEQUENCE_FLOW);
|
||||
}
|
||||
|
||||
// flow nodes
|
||||
if (is(businessObject, 'bpmn:FlowNode')) {
|
||||
entries = filter(replaceOptions.TASK, differentType);
|
||||
|
||||
// collapsed SubProcess can not be replaced with itself
|
||||
if (is(businessObject, 'bpmn:SubProcess') && !isExpanded(businessObject)) {
|
||||
entries = filter(entries, function(entry) {
|
||||
return entry.label !== 'Sub Process (collapsed)';
|
||||
});
|
||||
}
|
||||
|
||||
return this._createEntries(element, entries);
|
||||
}
|
||||
|
||||
return [];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get a list of header items for the given element. This includes buttons
|
||||
* for multi instance markers and for the ad hoc marker.
|
||||
*
|
||||
* @param {djs.model.Base} element
|
||||
*
|
||||
* @return {Array<Object>} a list of menu entry items
|
||||
*/
|
||||
ReplaceMenuProvider.prototype.getHeaderEntries = function(element) {
|
||||
|
||||
var headerEntries = [];
|
||||
|
||||
if (is(element, 'bpmn:Activity') && !isEventSubProcess(element)) {
|
||||
headerEntries = headerEntries.concat(this._getLoopEntries(element));
|
||||
}
|
||||
|
||||
if (is(element, 'bpmn:SubProcess') &&
|
||||
!is(element, 'bpmn:Transaction') &&
|
||||
!isEventSubProcess(element)) {
|
||||
headerEntries.push(this._getAdHocEntry(element));
|
||||
}
|
||||
|
||||
return headerEntries;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Creates an array of menu entry objects for a given element and filters the replaceOptions
|
||||
* according to a filter function.
|
||||
*
|
||||
* @param {djs.model.Base} element
|
||||
* @param {Object} replaceOptions
|
||||
*
|
||||
* @return {Array<Object>} a list of menu items
|
||||
*/
|
||||
ReplaceMenuProvider.prototype._createEntries = function(element, replaceOptions) {
|
||||
var menuEntries = [];
|
||||
|
||||
var self = this;
|
||||
|
||||
forEach(replaceOptions, function(definition) {
|
||||
var entry = self._createMenuEntry(definition, element);
|
||||
|
||||
menuEntries.push(entry);
|
||||
});
|
||||
|
||||
return menuEntries;
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates an array of menu entry objects for a given sequence flow.
|
||||
*
|
||||
* @param {djs.model.Base} element
|
||||
* @param {Object} replaceOptions
|
||||
|
||||
* @return {Array<Object>} a list of menu items
|
||||
*/
|
||||
ReplaceMenuProvider.prototype._createSequenceFlowEntries = function(element, replaceOptions) {
|
||||
|
||||
var businessObject = getBusinessObject(element);
|
||||
|
||||
var menuEntries = [];
|
||||
|
||||
var modeling = this._modeling,
|
||||
moddle = this._moddle;
|
||||
|
||||
var self = this;
|
||||
|
||||
forEach(replaceOptions, function(entry) {
|
||||
|
||||
switch (entry.actionName) {
|
||||
case 'replace-with-default-flow':
|
||||
if (businessObject.sourceRef.default !== businessObject &&
|
||||
(is(businessObject.sourceRef, 'bpmn:ExclusiveGateway') ||
|
||||
is(businessObject.sourceRef, 'bpmn:InclusiveGateway') ||
|
||||
is(businessObject.sourceRef, 'bpmn:ComplexGateway') ||
|
||||
is(businessObject.sourceRef, 'bpmn:Activity'))) {
|
||||
|
||||
menuEntries.push(self._createMenuEntry(entry, element, function() {
|
||||
modeling.updateProperties(element.source, { default: businessObject });
|
||||
}));
|
||||
}
|
||||
break;
|
||||
case 'replace-with-conditional-flow':
|
||||
if (!businessObject.conditionExpression && is(businessObject.sourceRef, 'bpmn:Activity')) {
|
||||
|
||||
menuEntries.push(self._createMenuEntry(entry, element, function() {
|
||||
var conditionExpression = moddle.create('bpmn:FormalExpression', { body: '' });
|
||||
|
||||
modeling.updateProperties(element, { conditionExpression: conditionExpression });
|
||||
}));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// default flows
|
||||
if (is(businessObject.sourceRef, 'bpmn:Activity') && businessObject.conditionExpression) {
|
||||
return menuEntries.push(self._createMenuEntry(entry, element, function() {
|
||||
modeling.updateProperties(element, { conditionExpression: undefined });
|
||||
}));
|
||||
}
|
||||
// conditional flows
|
||||
if ((is(businessObject.sourceRef, 'bpmn:ExclusiveGateway') ||
|
||||
is(businessObject.sourceRef, 'bpmn:InclusiveGateway') ||
|
||||
is(businessObject.sourceRef, 'bpmn:ComplexGateway') ||
|
||||
is(businessObject.sourceRef, 'bpmn:Activity')) &&
|
||||
businessObject.sourceRef.default === businessObject) {
|
||||
|
||||
return menuEntries.push(self._createMenuEntry(entry, element, function() {
|
||||
modeling.updateProperties(element.source, { default: undefined });
|
||||
}));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return menuEntries;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns a single menu entry item.
|
||||
*
|
||||
* @param {Object} definition a single replace options definition object
|
||||
* @param {djs.model.Base} element
|
||||
* @param {Function} [action] an action callback function which gets called when
|
||||
* the menu entry is being triggered.
|
||||
*
|
||||
* @return {Object} menu entry item
|
||||
*/
|
||||
ReplaceMenuProvider.prototype._createMenuEntry = function(definition, element, action) {
|
||||
var translate = this._translate;
|
||||
var replaceElement = this._bpmnReplace.replaceElement;
|
||||
|
||||
var replaceAction = function() {
|
||||
return replaceElement(element, definition.target);
|
||||
};
|
||||
|
||||
action = action || replaceAction;
|
||||
|
||||
var menuEntry = {
|
||||
label: translate(definition.label),
|
||||
className: definition.className,
|
||||
id: definition.actionName,
|
||||
action: action
|
||||
};
|
||||
|
||||
return menuEntry;
|
||||
};
|
||||
|
||||
/**
|
||||
* Get a list of menu items containing buttons for multi instance markers
|
||||
*
|
||||
* @param {djs.model.Base} element
|
||||
*
|
||||
* @return {Array<Object>} a list of menu items
|
||||
*/
|
||||
ReplaceMenuProvider.prototype._getLoopEntries = function(element) {
|
||||
|
||||
var self = this;
|
||||
var translate = this._translate;
|
||||
|
||||
function toggleLoopEntry(event, entry) {
|
||||
var loopCharacteristics;
|
||||
|
||||
if (entry.active) {
|
||||
loopCharacteristics = undefined;
|
||||
} else {
|
||||
loopCharacteristics = self._moddle.create(entry.options.loopCharacteristics);
|
||||
|
||||
if (entry.options.isSequential) {
|
||||
loopCharacteristics.isSequential = entry.options.isSequential;
|
||||
}
|
||||
}
|
||||
self._modeling.updateProperties(element, { loopCharacteristics: loopCharacteristics });
|
||||
}
|
||||
|
||||
var businessObject = getBusinessObject(element),
|
||||
loopCharacteristics = businessObject.loopCharacteristics;
|
||||
|
||||
var isSequential,
|
||||
isLoop,
|
||||
isParallel;
|
||||
|
||||
if (loopCharacteristics) {
|
||||
isSequential = loopCharacteristics.isSequential;
|
||||
isLoop = loopCharacteristics.isSequential === undefined;
|
||||
isParallel = loopCharacteristics.isSequential !== undefined && !loopCharacteristics.isSequential;
|
||||
}
|
||||
|
||||
|
||||
var loopEntries = [
|
||||
{
|
||||
id: 'toggle-parallel-mi',
|
||||
className: 'bpmn-icon-parallel-mi-marker',
|
||||
title: translate('Parallel Multi Instance'),
|
||||
active: isParallel,
|
||||
action: toggleLoopEntry,
|
||||
options: {
|
||||
loopCharacteristics: 'bpmn:MultiInstanceLoopCharacteristics',
|
||||
isSequential: false
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'toggle-sequential-mi',
|
||||
className: 'bpmn-icon-sequential-mi-marker',
|
||||
title: translate('Sequential Multi Instance'),
|
||||
active: isSequential,
|
||||
action: toggleLoopEntry,
|
||||
options: {
|
||||
loopCharacteristics: 'bpmn:MultiInstanceLoopCharacteristics',
|
||||
isSequential: true
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'toggle-loop',
|
||||
className: 'bpmn-icon-loop-marker',
|
||||
title: translate('Loop'),
|
||||
active: isLoop,
|
||||
action: toggleLoopEntry,
|
||||
options: {
|
||||
loopCharacteristics: 'bpmn:StandardLoopCharacteristics'
|
||||
}
|
||||
}
|
||||
];
|
||||
return loopEntries;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the menu items containing a button for the ad hoc marker
|
||||
*
|
||||
* @param {djs.model.Base} element
|
||||
*
|
||||
* @return {Object} a menu item
|
||||
*/
|
||||
ReplaceMenuProvider.prototype._getAdHocEntry = function(element) {
|
||||
var translate = this._translate;
|
||||
var businessObject = getBusinessObject(element);
|
||||
|
||||
var isAdHoc = is(businessObject, 'bpmn:AdHocSubProcess');
|
||||
|
||||
var replaceElement = this._bpmnReplace.replaceElement;
|
||||
|
||||
var adHocEntry = {
|
||||
id: 'toggle-adhoc',
|
||||
className: 'bpmn-icon-ad-hoc-marker',
|
||||
title: translate('Ad-hoc'),
|
||||
active: isAdHoc,
|
||||
action: function() {
|
||||
if (isAdHoc) {
|
||||
return replaceElement(element, { type: 'bpmn:SubProcess' });
|
||||
} else {
|
||||
return replaceElement(element, { type: 'bpmn:AdHocSubProcess' });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return adHocEntry;
|
||||
};
|
||||
@@ -0,0 +1,793 @@
|
||||
export var START_EVENT = [
|
||||
{
|
||||
label: 'Start Event',
|
||||
actionName: 'replace-with-none-start',
|
||||
className: 'bpmn-icon-start-event-none',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'End Event',
|
||||
actionName: 'replace-with-none-end',
|
||||
className: 'bpmn-icon-end-event-none',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent'
|
||||
}
|
||||
},
|
||||
/*
|
||||
{
|
||||
label: 'Intermediate Throw Event',
|
||||
actionName: 'replace-with-none-intermediate-throwing',
|
||||
className: 'bpmn-icon-intermediate-event-none',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent'
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Message Start Event',
|
||||
actionName: 'replace-with-message-start',
|
||||
className: 'bpmn-icon-start-event-message',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Timer Start Event',
|
||||
actionName: 'replace-with-timer-start',
|
||||
className: 'bpmn-icon-start-event-timer',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:TimerEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Conditional Start Event',
|
||||
actionName: 'replace-with-conditional-start',
|
||||
className: 'bpmn-icon-start-event-condition',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:ConditionalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Start Event',
|
||||
actionName: 'replace-with-signal-start',
|
||||
className: 'bpmn-icon-start-event-signal',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition'
|
||||
}
|
||||
}*/
|
||||
];
|
||||
|
||||
export var INTERMEDIATE_EVENT = [
|
||||
{
|
||||
label: 'Start Event',
|
||||
actionName: 'replace-with-none-start',
|
||||
className: 'bpmn-icon-start-event-none',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Intermediate Throw Event',
|
||||
actionName: 'replace-with-none-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-none',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'End Event',
|
||||
actionName: 'replace-with-none-end',
|
||||
className: 'bpmn-icon-end-event-none',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Message Intermediate Catch Event',
|
||||
actionName: 'replace-with-message-intermediate-catch',
|
||||
className: 'bpmn-icon-intermediate-event-catch-message',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateCatchEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Message Intermediate Throw Event',
|
||||
actionName: 'replace-with-message-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-throw-message',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Timer Intermediate Catch Event',
|
||||
actionName: 'replace-with-timer-intermediate-catch',
|
||||
className: 'bpmn-icon-intermediate-event-catch-timer',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateCatchEvent',
|
||||
eventDefinitionType: 'bpmn:TimerEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Escalation Intermediate Throw Event',
|
||||
actionName: 'replace-with-escalation-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-throw-escalation',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent',
|
||||
eventDefinitionType: 'bpmn:EscalationEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Conditional Intermediate Catch Event',
|
||||
actionName: 'replace-with-conditional-intermediate-catch',
|
||||
className: 'bpmn-icon-intermediate-event-catch-condition',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateCatchEvent',
|
||||
eventDefinitionType: 'bpmn:ConditionalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Link Intermediate Catch Event',
|
||||
actionName: 'replace-with-link-intermediate-catch',
|
||||
className: 'bpmn-icon-intermediate-event-catch-link',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateCatchEvent',
|
||||
eventDefinitionType: 'bpmn:LinkEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Link Intermediate Throw Event',
|
||||
actionName: 'replace-with-link-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-throw-link',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent',
|
||||
eventDefinitionType: 'bpmn:LinkEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Compensation Intermediate Throw Event',
|
||||
actionName: 'replace-with-compensation-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-throw-compensation',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent',
|
||||
eventDefinitionType: 'bpmn:CompensateEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Intermediate Catch Event',
|
||||
actionName: 'replace-with-signal-intermediate-catch',
|
||||
className: 'bpmn-icon-intermediate-event-catch-signal',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateCatchEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Intermediate Throw Event',
|
||||
actionName: 'replace-with-signal-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-throw-signal',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var END_EVENT = [
|
||||
{
|
||||
label: 'Start Event',
|
||||
actionName: 'replace-with-none-start',
|
||||
className: 'bpmn-icon-start-event-none',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'End Event',
|
||||
actionName: 'replace-with-none-end',
|
||||
className: 'bpmn-icon-end-event-none',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent'
|
||||
}
|
||||
},
|
||||
/*
|
||||
{
|
||||
label: 'Intermediate Throw Event',
|
||||
actionName: 'replace-with-none-intermediate-throw',
|
||||
className: 'bpmn-icon-intermediate-event-none',
|
||||
target: {
|
||||
type: 'bpmn:IntermediateThrowEvent'
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Message End Event',
|
||||
actionName: 'replace-with-message-end',
|
||||
className: 'bpmn-icon-end-event-message',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Escalation End Event',
|
||||
actionName: 'replace-with-escalation-end',
|
||||
className: 'bpmn-icon-end-event-escalation',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:EscalationEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Error End Event',
|
||||
actionName: 'replace-with-error-end',
|
||||
className: 'bpmn-icon-end-event-error',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:ErrorEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Cancel End Event',
|
||||
actionName: 'replace-with-cancel-end',
|
||||
className: 'bpmn-icon-end-event-cancel',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:CancelEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Compensation End Event',
|
||||
actionName: 'replace-with-compensation-end',
|
||||
className: 'bpmn-icon-end-event-compensation',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:CompensateEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal End Event',
|
||||
actionName: 'replace-with-signal-end',
|
||||
className: 'bpmn-icon-end-event-signal',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Terminate End Event',
|
||||
actionName: 'replace-with-terminate-end',
|
||||
className: 'bpmn-icon-end-event-terminate',
|
||||
target: {
|
||||
type: 'bpmn:EndEvent',
|
||||
eventDefinitionType: 'bpmn:TerminateEventDefinition'
|
||||
}
|
||||
}*/
|
||||
];
|
||||
|
||||
export var GATEWAY = [
|
||||
{
|
||||
label: 'Exclusive Gateway',
|
||||
actionName: 'replace-with-exclusive-gateway',
|
||||
className: 'bpmn-icon-gateway-xor',
|
||||
target: {
|
||||
type: 'bpmn:ExclusiveGateway'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Parallel Gateway',
|
||||
actionName: 'replace-with-parallel-gateway',
|
||||
className: 'bpmn-icon-gateway-parallel',
|
||||
target: {
|
||||
type: 'bpmn:ParallelGateway'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Inclusive Gateway',
|
||||
actionName: 'replace-with-inclusive-gateway',
|
||||
className: 'bpmn-icon-gateway-or',
|
||||
target: {
|
||||
type: 'bpmn:InclusiveGateway'
|
||||
}
|
||||
},
|
||||
/*
|
||||
{
|
||||
label: 'Complex Gateway',
|
||||
actionName: 'replace-with-complex-gateway',
|
||||
className: 'bpmn-icon-gateway-complex',
|
||||
target: {
|
||||
type: 'bpmn:ComplexGateway'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Event based Gateway',
|
||||
actionName: 'replace-with-event-based-gateway',
|
||||
className: 'bpmn-icon-gateway-eventbased',
|
||||
target: {
|
||||
type: 'bpmn:EventBasedGateway',
|
||||
instantiate: false,
|
||||
eventGatewayType: 'Exclusive'
|
||||
}
|
||||
}*/
|
||||
// Gateways deactivated until https://github.com/bpmn-io/bpmn-js/issues/194
|
||||
// {
|
||||
// label: 'Event based instantiating Gateway',
|
||||
// actionName: 'replace-with-exclusive-event-based-gateway',
|
||||
// className: 'bpmn-icon-exclusive-event-based',
|
||||
// target: {
|
||||
// type: 'bpmn:EventBasedGateway'
|
||||
// },
|
||||
// options: {
|
||||
// businessObject: { instantiate: true, eventGatewayType: 'Exclusive' }
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// label: 'Parallel Event based instantiating Gateway',
|
||||
// actionName: 'replace-with-parallel-event-based-instantiate-gateway',
|
||||
// className: 'bpmn-icon-parallel-event-based-instantiate-gateway',
|
||||
// target: {
|
||||
// type: 'bpmn:EventBasedGateway'
|
||||
// },
|
||||
// options: {
|
||||
// businessObject: { instantiate: true, eventGatewayType: 'Parallel' }
|
||||
// }
|
||||
// }
|
||||
];
|
||||
|
||||
export var SUBPROCESS_EXPANDED = [
|
||||
{
|
||||
label: 'Transaction',
|
||||
actionName: 'replace-with-transaction',
|
||||
className: 'bpmn-icon-transaction',
|
||||
target: {
|
||||
type: 'bpmn:Transaction',
|
||||
isExpanded: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Event Sub Process',
|
||||
actionName: 'replace-with-event-subprocess',
|
||||
className: 'bpmn-icon-event-subprocess-expanded',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
triggeredByEvent: true,
|
||||
isExpanded: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Sub Process (collapsed)',
|
||||
actionName: 'replace-with-collapsed-subprocess',
|
||||
className: 'bpmn-icon-subprocess-collapsed',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
isExpanded: false
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var TRANSACTION = [
|
||||
{
|
||||
label: 'Sub Process',
|
||||
actionName: 'replace-with-subprocess',
|
||||
className: 'bpmn-icon-subprocess-expanded',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
isExpanded: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Event Sub Process',
|
||||
actionName: 'replace-with-event-subprocess',
|
||||
className: 'bpmn-icon-event-subprocess-expanded',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
triggeredByEvent: true,
|
||||
isExpanded: true
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var EVENT_SUB_PROCESS = [
|
||||
{
|
||||
label: 'Sub Process',
|
||||
actionName: 'replace-with-subprocess',
|
||||
className: 'bpmn-icon-subprocess-expanded',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
isExpanded: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Transaction',
|
||||
actionName: 'replace-with-transaction',
|
||||
className: 'bpmn-icon-transaction',
|
||||
target: {
|
||||
type: 'bpmn:Transaction',
|
||||
isExpanded: true
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var TASK = [
|
||||
{
|
||||
label: 'Task',
|
||||
actionName: 'replace-with-task',
|
||||
className: 'bpmn-icon-task',
|
||||
target: {
|
||||
type: 'bpmn:Task'
|
||||
}
|
||||
},
|
||||
/*
|
||||
{
|
||||
label: 'Send Task',
|
||||
actionName: 'replace-with-send-task',
|
||||
className: 'bpmn-icon-send',
|
||||
target: {
|
||||
type: 'bpmn:SendTask'
|
||||
}
|
||||
},*/
|
||||
{
|
||||
label: 'Receive Task',
|
||||
actionName: 'replace-with-receive-task',
|
||||
className: 'bpmn-icon-receive',
|
||||
target: {
|
||||
type: 'bpmn:ReceiveTask'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'User Task',
|
||||
actionName: 'replace-with-user-task',
|
||||
className: 'bpmn-icon-user',
|
||||
target: {
|
||||
type: 'bpmn:UserTask'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Manual Task',
|
||||
actionName: 'replace-with-manual-task',
|
||||
className: 'bpmn-icon-manual',
|
||||
target: {
|
||||
type: 'bpmn:ManualTask'
|
||||
}
|
||||
},
|
||||
/*
|
||||
{
|
||||
label: 'Business Rule Task',
|
||||
actionName: 'replace-with-rule-task',
|
||||
className: 'bpmn-icon-business-rule',
|
||||
target: {
|
||||
type: 'bpmn:BusinessRuleTask'
|
||||
}
|
||||
},
|
||||
*/
|
||||
{
|
||||
label: 'Service Task',
|
||||
actionName: 'replace-with-service-task',
|
||||
className: 'bpmn-icon-service',
|
||||
target: {
|
||||
type: 'bpmn:ServiceTask'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Script Task',
|
||||
actionName: 'replace-with-script-task',
|
||||
className: 'bpmn-icon-script',
|
||||
target: {
|
||||
type: 'bpmn:ScriptTask'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Call Activity',
|
||||
actionName: 'replace-with-call-activity',
|
||||
className: 'bpmn-icon-call-activity',
|
||||
target: {
|
||||
type: 'bpmn:CallActivity'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Sub Process (collapsed)',
|
||||
actionName: 'replace-with-collapsed-subprocess',
|
||||
className: 'bpmn-icon-subprocess-collapsed',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
isExpanded: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Sub Process (expanded)',
|
||||
actionName: 'replace-with-expanded-subprocess',
|
||||
className: 'bpmn-icon-subprocess-expanded',
|
||||
target: {
|
||||
type: 'bpmn:SubProcess',
|
||||
isExpanded: true
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var BOUNDARY_EVENT = [
|
||||
{
|
||||
label: 'Message Boundary Event',
|
||||
actionName: 'replace-with-message-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-message',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Timer Boundary Event',
|
||||
actionName: 'replace-with-timer-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-timer',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:TimerEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Escalation Boundary Event',
|
||||
actionName: 'replace-with-escalation-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-escalation',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:EscalationEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Conditional Boundary Event',
|
||||
actionName: 'replace-with-conditional-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-condition',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:ConditionalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Error Boundary Event',
|
||||
actionName: 'replace-with-error-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-error',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:ErrorEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Cancel Boundary Event',
|
||||
actionName: 'replace-with-cancel-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-cancel',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:CancelEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Boundary Event',
|
||||
actionName: 'replace-with-signal-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-signal',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Compensation Boundary Event',
|
||||
actionName: 'replace-with-compensation-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-compensation',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:CompensateEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Message Boundary Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-message-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-non-interrupting-message',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition',
|
||||
cancelActivity: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Timer Boundary Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-timer-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-non-interrupting-timer',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:TimerEventDefinition',
|
||||
cancelActivity: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Escalation Boundary Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-escalation-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-non-interrupting-escalation',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:EscalationEventDefinition',
|
||||
cancelActivity: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Conditional Boundary Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-conditional-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-non-interrupting-condition',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:ConditionalEventDefinition',
|
||||
cancelActivity: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Boundary Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-signal-boundary',
|
||||
className: 'bpmn-icon-intermediate-event-catch-non-interrupting-signal',
|
||||
target: {
|
||||
type: 'bpmn:BoundaryEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition',
|
||||
cancelActivity: false
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var EVENT_SUB_PROCESS_START_EVENT = [
|
||||
{
|
||||
label: 'Message Start Event',
|
||||
actionName: 'replace-with-message-start',
|
||||
className: 'bpmn-icon-start-event-message',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Timer Start Event',
|
||||
actionName: 'replace-with-timer-start',
|
||||
className: 'bpmn-icon-start-event-timer',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:TimerEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Conditional Start Event',
|
||||
actionName: 'replace-with-conditional-start',
|
||||
className: 'bpmn-icon-start-event-condition',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:ConditionalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Start Event',
|
||||
actionName: 'replace-with-signal-start',
|
||||
className: 'bpmn-icon-start-event-signal',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Error Start Event',
|
||||
actionName: 'replace-with-error-start',
|
||||
className: 'bpmn-icon-start-event-error',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:ErrorEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Escalation Start Event',
|
||||
actionName: 'replace-with-escalation-start',
|
||||
className: 'bpmn-icon-start-event-escalation',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:EscalationEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Compensation Start Event',
|
||||
actionName: 'replace-with-compensation-start',
|
||||
className: 'bpmn-icon-start-event-compensation',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:CompensateEventDefinition'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Message Start Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-message-start',
|
||||
className: 'bpmn-icon-start-event-non-interrupting-message',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:MessageEventDefinition',
|
||||
isInterrupting: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Timer Start Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-timer-start',
|
||||
className: 'bpmn-icon-start-event-non-interrupting-timer',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:TimerEventDefinition',
|
||||
isInterrupting: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Conditional Start Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-conditional-start',
|
||||
className: 'bpmn-icon-start-event-non-interrupting-condition',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:ConditionalEventDefinition',
|
||||
isInterrupting: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Signal Start Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-signal-start',
|
||||
className: 'bpmn-icon-start-event-non-interrupting-signal',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:SignalEventDefinition',
|
||||
isInterrupting: false
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Escalation Start Event (non-interrupting)',
|
||||
actionName: 'replace-with-non-interrupting-escalation-start',
|
||||
className: 'bpmn-icon-start-event-non-interrupting-escalation',
|
||||
target: {
|
||||
type: 'bpmn:StartEvent',
|
||||
eventDefinitionType: 'bpmn:EscalationEventDefinition',
|
||||
isInterrupting: false
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export var SEQUENCE_FLOW = [
|
||||
{
|
||||
label: 'Sequence Flow',
|
||||
actionName: 'replace-with-sequence-flow',
|
||||
className: 'bpmn-icon-connection'
|
||||
},
|
||||
{
|
||||
label: 'Default Flow',
|
||||
actionName: 'replace-with-default-flow',
|
||||
className: 'bpmn-icon-default-flow'
|
||||
},
|
||||
{
|
||||
label: 'Conditional Flow',
|
||||
actionName: 'replace-with-conditional-flow',
|
||||
className: 'bpmn-icon-conditional-flow'
|
||||
}
|
||||
];
|
||||
|
||||
export var PARTICIPANT = [
|
||||
{
|
||||
label: 'Expanded Pool',
|
||||
actionName: 'replace-with-expanded-pool',
|
||||
className: 'bpmn-icon-participant',
|
||||
target: {
|
||||
type: 'bpmn:Participant',
|
||||
isExpanded: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Collapsed Pool',
|
||||
actionName: 'replace-with-collapsed-pool',
|
||||
// TODO(@janstuemmel): maybe design new icon
|
||||
className: 'bpmn-icon-lane',
|
||||
target: {
|
||||
type: 'bpmn:Participant',
|
||||
isExpanded: false
|
||||
}
|
||||
}
|
||||
];
|
||||
Reference in New Issue
Block a user