@processmaker/modeler 1.32.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/babel.config.js +1 -2
- package/cypress.json +1 -1
- package/dist/img/inclusive-gateway.0f0afffd.svg +4 -0
- package/dist/img/inspector.42e5d40d.svg +5 -0
- package/dist/modeler.common.js +3220 -4350
- package/dist/modeler.common.js.map +1 -1
- package/dist/modeler.umd.js +3220 -4350
- package/dist/modeler.umd.js.map +1 -1
- package/dist/modeler.umd.min.js +4 -4
- package/dist/modeler.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/ModelerApp.vue +0 -13
- package/src/NodeIdGenerator.js +16 -1
- package/src/assets/inspector.svg +5 -0
- package/src/assets/toolpanel/inclusive-gateway.svg +2 -2
- package/src/components/controls/controls.vue +2 -11
- package/src/components/crown/crownButtons/addLaneAboveButton.vue +3 -1
- package/src/components/crown/crownButtons/addLaneBelowButton.vue +3 -1
- package/src/components/crown/crownButtons/crownBoundaryEventDropdown.vue +2 -1
- package/src/components/crown/crownButtons/genericFlowButton.vue +2 -1
- package/src/components/crown/crownButtons/icons/faAlignBottom.js +3 -3
- package/src/components/crown/crownButtons/icons/faAlignLeft.js +3 -3
- package/src/components/crown/crownButtons/icons/faAlignRight.js +3 -3
- package/src/components/crown/crownButtons/icons/faAlignTop.js +3 -3
- package/src/components/crown/crownButtons/icons/faCenterHorizontally.js +3 -3
- package/src/components/crown/crownButtons/icons/faCenterVertically.js +3 -3
- package/src/components/crown/crownButtons/icons/faDistributeHorizontally.js +3 -3
- package/src/components/crown/crownButtons/icons/faDistributeVertically.js +3 -3
- package/src/components/crown/crownMultiselect/crownAlign.vue +3 -0
- package/src/components/crown/crownMultiselect/crownMultiselect.vue +7 -5
- package/src/components/highlightColors.js +8 -0
- package/src/components/inspectors/InspectorPanel.vue +26 -3
- package/src/components/inspectors/inspector.scss +11 -0
- package/src/components/inspectors/inspectorButton/InspectorButton.vue +38 -0
- package/src/components/inspectors/inspectorButton/inspectorButton.scss +20 -0
- package/src/components/inspectors/process.js +1 -1
- package/src/components/modeler/Modeler.vue +102 -5
- package/src/components/modeler/Selection.vue +9 -1
- package/src/components/nodes/association/index.js +1 -1
- package/src/components/nodes/baseStartEvent/index.js +1 -1
- package/src/components/nodes/boundaryEvent/index.js +1 -1
- package/src/components/nodes/dataInputAssociation/index.js +1 -1
- package/src/components/nodes/dataObject/index.js +1 -1
- package/src/components/nodes/dataOutputAssociation/index.js +1 -1
- package/src/components/nodes/dataStore/index.js +1 -1
- package/src/components/nodes/endEvent/index.js +1 -1
- package/src/components/nodes/eventBasedGateway/index.js +1 -1
- package/src/components/nodes/exclusiveGateway/index.js +1 -1
- package/src/components/nodes/gateway/index.js +1 -1
- package/src/components/nodes/inclusiveGateway/index.js +1 -1
- package/src/components/nodes/index.js +0 -1
- package/src/components/nodes/intermediateEvent/index.js +1 -1
- package/src/components/nodes/intermediateMessageEvent/index.js +1 -1
- package/src/components/nodes/intermediateTimerEvent/index.js +1 -1
- package/src/components/nodes/manualTask/index.js +1 -1
- package/src/components/nodes/messageFlow/index.js +1 -1
- package/src/components/nodes/parallelGateway/index.js +1 -1
- package/src/components/nodes/pool/index.js +1 -1
- package/src/components/nodes/pool/pool.vue +10 -4
- package/src/components/nodes/poolLane/index.js +1 -1
- package/src/components/nodes/scriptTask/index.js +1 -1
- package/src/components/nodes/sequenceFlow/index.js +1 -1
- package/src/components/nodes/serviceTask/index.js +1 -1
- package/src/components/nodes/subProcess/index.js +1 -1
- package/src/components/nodes/task/index.js +1 -1
- package/src/components/nodes/textAnnotation/index.js +1 -1
- package/src/components/railBottom/RailBottom.vue +9 -0
- package/src/components/railBottom/controls/Controls.vue +22 -2
- package/src/components/railBottom/controls/SubmenuPopper/SubmenuPopper.vue +9 -7
- package/src/components/railBottom/controls/controls.scss +2 -0
- package/src/components/railBottom/miniPaperControl/miniPaperControl.scss +1 -0
- package/src/components/railBottom/railBottom.scss +2 -0
- package/src/components/railBottom/zoomControl/ZoomControl.vue +1 -3
- package/src/components/rails/explorer-rail/explorer-rail.scss +11 -0
- package/src/components/rails/explorer-rail/explorer.vue +14 -5
- package/src/components/rails/explorer-rail/filterNodeTypes/filterNodeTypes.vue +18 -3
- package/src/components/rails/explorer-rail/nodeTypesLoop/nodeTypesLoop.vue +6 -1
- package/src/components/rails/explorer-rail/pmBlocksLoop/pmBlocksLoop.vue +86 -0
- package/src/components/shapeStackUtils.js +1 -1
- package/src/components/toolbar/ToolBar.vue +49 -39
- package/src/components/toolbar/toolbar.scss +78 -15
- package/src/components/topRail/TopRail.vue +1 -0
- package/src/components/topRail/validateControl/validateButton/ValidateButton.vue +3 -0
- package/src/components/topRail/validateControl/validateIssue/ValidateIssue.vue +1 -0
- package/src/components/topRail/validateControl/validatePanel/ValidatePanel.vue +4 -1
- package/src/components/topRail/validateControl/validatePanel/validatePanel.scss +1 -1
- package/src/mixins/clickAndDrop.js +17 -10
- package/src/mixins/highlightConfig.js +35 -8
- package/src/mixins/linkConfig.js +33 -6
- package/src/nodeTypesStore.js +36 -1
- package/src/setup/registerPmBlock.js +0 -0
- package/src/store.js +1 -0
- package/vue.config.js +1 -0
- package/dist/.DS_Store +0 -0
- package/dist/img/distribute-horizontally-icon.5c513cf4.svg +0 -3
- package/dist/img/distribute-vertically-icon.a35fb699.svg +0 -3
- package/dist/img/inclusive-gateway.754cb36f.svg +0 -4
- package/src/components/controls/rankConstants.js +0 -1
- package/src/components/modeler/ModelerReadonly.vue +0 -1011
package/package.json
CHANGED
package/src/.DS_Store
CHANGED
|
Binary file
|
package/src/ModelerApp.vue
CHANGED
|
@@ -2,19 +2,6 @@
|
|
|
2
2
|
<b-container fluid id="modeler-app" class="h-100 position-relative p-0">
|
|
3
3
|
|
|
4
4
|
<b-card no-body class="h-100 rounded-0">
|
|
5
|
-
<!-- TODO Remove me when the time comes -->
|
|
6
|
-
<!-- <b-card-header class="d-flex align-items-center header">-->
|
|
7
|
-
<!-- <b-card-text class="m-0 font-weight-bolder">-->
|
|
8
|
-
<!-- {{ $t('ProcessMaker Modeler') }}-->
|
|
9
|
-
<!-- </b-card-text>-->
|
|
10
|
-
|
|
11
|
-
<!-- <div class="ml-auto">-->
|
|
12
|
-
<!-- <b-btn variant="secondary" size="sm" v-b-modal="'uploadmodal'" class="mr-2">-->
|
|
13
|
-
<!-- <i class="fas fa-upload mr-1"/>-->
|
|
14
|
-
<!-- {{ $t('Upload XML') }}-->
|
|
15
|
-
<!-- </b-btn>-->
|
|
16
|
-
<!-- </div>-->
|
|
17
|
-
<!-- </b-card-header>-->
|
|
18
5
|
<b-card-body class="overflow-hidden position-relative p-0 vh-100">
|
|
19
6
|
<modeler ref="modeler" @set-xml-manager="xmlManager = $event" @validate="validationErrors = $event" @warnings="warnings = $event" :decorations="decorations" />
|
|
20
7
|
</b-card-body>
|
package/src/NodeIdGenerator.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
export default class NodeIdGenerator {
|
|
2
2
|
static prefix = 'node_';
|
|
3
|
-
|
|
3
|
+
static processPrefix = 'Process_';
|
|
4
4
|
static #counter = 1;
|
|
5
5
|
static #diagramCounter = 1;
|
|
6
|
+
static #processCounter = 1;
|
|
6
7
|
|
|
7
8
|
constructor(definitions) {
|
|
8
9
|
this.definitions = definitions;
|
|
9
10
|
this.refreshLastIdCounter();
|
|
10
11
|
this.refreshLastDiagramIdCounter();
|
|
12
|
+
this.refreshLastProcessIdCounter();
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
findById(id, root = this.definitions.rootElements, walked = []) {
|
|
@@ -61,12 +63,19 @@ export default class NodeIdGenerator {
|
|
|
61
63
|
let lastIdCounter = this.matchIds(new RegExp(`^${NodeIdGenerator.prefix}(\\d+)_di$`), this.definitions.diagrams);
|
|
62
64
|
NodeIdGenerator.#diagramCounter = lastIdCounter + 1;
|
|
63
65
|
}
|
|
66
|
+
refreshLastProcessIdCounter() {
|
|
67
|
+
let lastIdCounter = this.matchIds(new RegExp(`^${NodeIdGenerator.processPrefix}(\\d+)$`), this.definitions.rootElements);
|
|
68
|
+
NodeIdGenerator.#processCounter = lastIdCounter + 1;
|
|
69
|
+
}
|
|
64
70
|
|
|
65
71
|
generate() {
|
|
66
72
|
let definitionId = this.#generateDefinitionId();
|
|
67
73
|
let diagramId = this.#generateDiagramId();
|
|
68
74
|
return [definitionId, diagramId];
|
|
69
75
|
}
|
|
76
|
+
generateProcessId() {
|
|
77
|
+
return this.#generateProcessId();
|
|
78
|
+
}
|
|
70
79
|
|
|
71
80
|
#generateDefinitionId = () => {
|
|
72
81
|
const id = NodeIdGenerator.prefix + NodeIdGenerator.#counter;
|
|
@@ -79,6 +88,12 @@ export default class NodeIdGenerator {
|
|
|
79
88
|
const id = NodeIdGenerator.prefix + NodeIdGenerator.#diagramCounter + '_di';
|
|
80
89
|
NodeIdGenerator.#diagramCounter++;
|
|
81
90
|
|
|
91
|
+
return id;
|
|
92
|
+
};
|
|
93
|
+
#generateProcessId = () => {
|
|
94
|
+
const id = NodeIdGenerator.processPrefix + NodeIdGenerator.#processCounter;
|
|
95
|
+
NodeIdGenerator.#processCounter++;
|
|
96
|
+
|
|
82
97
|
return id;
|
|
83
98
|
};
|
|
84
99
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 17C0 16.4477 0.366312 16 0.818182 16H17.1818C17.6337 16 18 16.4477 18 17C18 17.5523 17.6337 18 17.1818 18H0.818182C0.366312 18 0 17.5523 0 17Z"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 9C0 8.44772 0.366312 8 0.818182 8H17.1818C17.6337 8 18 8.44772 18 9C18 9.55228 17.6337 10 17.1818 10H0.818182C0.366312 10 0 9.55228 0 9Z"/>
|
|
4
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.366312 0 0.818182 0H17.1818C17.6337 0 18 0.447715 18 1C18 1.55228 17.6337 2 17.1818 2H0.818182C0.366312 2 0 1.55228 0 1Z"/>
|
|
5
|
+
</svg>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<svg width="29" height="29" viewBox="0 0 29 29" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M13.5841 1.9168C14.121 1.37983 14.9916 1.37983 15.5286 1.9168L27.1959 13.5841C27.7329 14.121 27.7329 14.9916 27.1959 15.5286L15.5286 27.1959C14.9916 27.7328 14.121 27.7328 13.5841 27.1959L1.91682 15.5286C1.37984 14.9916 1.37984 14.121 1.91682 13.5841L13.5841 1.9168ZM0.944544 12.6118C-0.129398 13.6857 -0.129398 15.4269 0.944544 16.5009L12.6118 28.1681C13.6857 29.2421 15.427 29.2421 16.5009 28.1681L28.1682 16.5009C29.2421 15.4269 29.2421 13.6857 28.1682 12.6118L16.5009 0.94453C15.427 -0.129412 13.6857 -0.129412 12.6118 0.94453L0.944544 12.6118Z" />
|
|
3
|
-
<circle cx="14.5" cy="14.5" r="8" stroke="black"/>
|
|
2
|
+
<path d="M13.5841 1.9168C14.121 1.37983 14.9916 1.37983 15.5286 1.9168L27.1959 13.5841C27.7329 14.121 27.7329 14.9916 27.1959 15.5286L15.5286 27.1959C14.9916 27.7328 14.121 27.7328 13.5841 27.1959L1.91682 15.5286C1.37984 14.9916 1.37984 14.121 1.91682 13.5841L13.5841 1.9168ZM0.944544 12.6118C-0.129398 13.6857 -0.129398 15.4269 0.944544 16.5009L12.6118 28.1681C13.6857 29.2421 15.427 29.2421 16.5009 28.1681L28.1682 16.5009C29.2421 15.4269 29.2421 13.6857 28.1682 12.6118L16.5009 0.94453C15.427 -0.129412 13.6857 -0.129412 12.6118 0.94453L0.944544 12.6118Z" />
|
|
3
|
+
<circle cx="14.5" cy="14.5" r="8" stroke="black"/>
|
|
4
4
|
</svg>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</template>
|
|
33
33
|
|
|
34
34
|
<script>
|
|
35
|
-
import
|
|
35
|
+
import nodeTypesStore from '@/nodeTypesStore';
|
|
36
36
|
|
|
37
37
|
export default {
|
|
38
38
|
props: ['allowDrop', 'compressed', 'canvasDragPosition', 'parentHeight', 'nodeTypes'],
|
|
@@ -53,16 +53,7 @@ export default {
|
|
|
53
53
|
},
|
|
54
54
|
computed: {
|
|
55
55
|
controls() {
|
|
56
|
-
return
|
|
57
|
-
.filter(nodeType => nodeType.control)
|
|
58
|
-
.map(nodeType => ({
|
|
59
|
-
type: nodeType.id,
|
|
60
|
-
icon: nodeType.icon,
|
|
61
|
-
label: nodeType.label,
|
|
62
|
-
bpmnType: nodeType.bpmnType,
|
|
63
|
-
rank: nodeType.rank || BOTTOM,
|
|
64
|
-
}))
|
|
65
|
-
.sort((node1, node2) => node1.rank - node2.rank);
|
|
56
|
+
return nodeTypesStore.getters.getNodeTypes;
|
|
66
57
|
},
|
|
67
58
|
},
|
|
68
59
|
methods: {
|
|
@@ -14,9 +14,11 @@ import laneAboveIcon from '@/assets/lane-above.svg';
|
|
|
14
14
|
import CrownButton from '@/components/crown/crownButtons/crownButton';
|
|
15
15
|
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
16
16
|
import { faLaneAbove } from './icons';
|
|
17
|
+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
|
18
|
+
|
|
17
19
|
|
|
18
20
|
export default {
|
|
19
|
-
components: { CrownButton },
|
|
21
|
+
components: { CrownButton, FontAwesomeIcon },
|
|
20
22
|
data() {
|
|
21
23
|
return {
|
|
22
24
|
laneAboveIcon,
|
|
@@ -14,9 +14,11 @@ import laneBelowIcon from '@/assets/lane-below.svg';
|
|
|
14
14
|
import CrownButton from '@/components/crown/crownButtons/crownButton';
|
|
15
15
|
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
16
16
|
import { faLaneBelow } from './icons';
|
|
17
|
+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
|
18
|
+
|
|
17
19
|
|
|
18
20
|
export default {
|
|
19
|
-
components: { CrownButton },
|
|
21
|
+
components: { CrownButton, FontAwesomeIcon },
|
|
20
22
|
data() {
|
|
21
23
|
return {
|
|
22
24
|
laneBelowIcon,
|
|
@@ -45,10 +45,11 @@ import store from '@/store';
|
|
|
45
45
|
import Node from '@/components/nodes/node';
|
|
46
46
|
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
47
47
|
import { faBoundaryEvent } from './icons';
|
|
48
|
+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
|
48
49
|
|
|
49
50
|
export default {
|
|
50
51
|
name: 'CrownBoundaryEventDropdown',
|
|
51
|
-
components: { CrownButton },
|
|
52
|
+
components: { CrownButton, FontAwesomeIcon },
|
|
52
53
|
props: {
|
|
53
54
|
dropdownOpen: {
|
|
54
55
|
type: Boolean,
|
|
@@ -20,6 +20,7 @@ import store from '@/store';
|
|
|
20
20
|
import { V } from 'jointjs';
|
|
21
21
|
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
22
22
|
import { faConnectElements } from './icons';
|
|
23
|
+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
|
23
24
|
|
|
24
25
|
// Don't show the magic flow button on:
|
|
25
26
|
const dontShowOn = [
|
|
@@ -35,7 +36,7 @@ const dontShowOn = [
|
|
|
35
36
|
];
|
|
36
37
|
|
|
37
38
|
export default {
|
|
38
|
-
components: { CrownButton },
|
|
39
|
+
components: { CrownButton, FontAwesomeIcon },
|
|
39
40
|
props: ['node', 'moddle', 'nodeRegistry'],
|
|
40
41
|
data() {
|
|
41
42
|
return {
|
|
@@ -2,10 +2,10 @@ export const faAlignBottom = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-align-bottom',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M4 12.32v9.32h1V3H4v9.32m2.28-3.6v1.96h8.52V6.76H6.28v1.96m0 7.2v1.96h13.08v-3.92H6.28v1.96',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faAlignLeft = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-align-left',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M4 12.32v9.32h1V3H4v9.32m2.28-3.6v1.96h8.52V6.76H6.28v1.96m0 7.2v1.96h13.08v-3.92H6.28v1.96',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faAlignRight = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-align-right',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M18.4 12.32v9.32h1V3h-1v9.32m-9.8-3.6v1.96h8.48V6.76H8.6v1.96M4 15.92v1.96h13.08v-3.92H4v1.96',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faAlignTop = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-align-top',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M3 4.5V5h18.64V4H3v.5m3.76 8.32v6.54h3.92V6.28H6.76v6.54m7.2-2.28v4.26h3.92V6.28h-3.92v4.26',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faCenterHorizontally = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-center-horizontally',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M6.76 8.04v3.04H3v.96h3.76v6.04h3.92v-6.04h3.28v3.76h3.92v-3.76h3.76v-.959l-1.87-.011-1.87-.01-.01-1.89-.011-1.89H13.96v3.801l-1.63-.011-1.63-.01-.01-3.03L10.679 5H6.76v3.04',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faCenterVertically = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-center-vertically',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M11.04 4.88v1.88H7.28v3.92h3.76v3.28H5v3.92h6.04v3.76h1v-3.76h6.04v-3.92h-6.04v-3.28h3.76V6.76h-3.76V3h-1v1.88',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faDistributeHorizontally = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-distribute-horizontally',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M3 12.32v9.32h.96V3H3v9.32m17 0v9.32h1V3h-1v9.32m-10.44.02v6.54h4.88V5.8H9.56v6.54',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -2,10 +2,10 @@ export const faDistributeVertically = {
|
|
|
2
2
|
prefix: 'fpm',
|
|
3
3
|
iconName: 'fa-distribute-vertically',
|
|
4
4
|
icon: [
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
24,
|
|
6
|
+
24,
|
|
7
7
|
[],
|
|
8
8
|
'e001',
|
|
9
|
-
'
|
|
9
|
+
'M3 3.5V4h18.64V3H3v.5M5.8 12v2.44h13.08V9.56H5.8V12M3 20.52V21h18.64v-.96H3v.48',
|
|
10
10
|
],
|
|
11
11
|
};
|
|
@@ -39,8 +39,11 @@ import {
|
|
|
39
39
|
faDistributeHorizontally,
|
|
40
40
|
} from '../crownButtons/icons';
|
|
41
41
|
import { get } from 'lodash';
|
|
42
|
+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
|
43
|
+
|
|
42
44
|
|
|
43
45
|
export default {
|
|
46
|
+
components: {FontAwesomeIcon},
|
|
44
47
|
props: {
|
|
45
48
|
paper: Object,
|
|
46
49
|
hasPools: Boolean,
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<font-awesome-icon v-if="button.iconPrefix === 'fpm'" :icon="[button.iconPrefix, `fa-${button.icon}`]"/>
|
|
21
21
|
<i v-else :class="`${button.iconPrefix} fa-${button.icon} text-dark`" />
|
|
22
22
|
</button>
|
|
23
|
-
<crown-align v-show="showAlignmentButtons" :paper="paper"/>
|
|
23
|
+
<crown-align v-show="showAlignmentButtons" :paper="paper" @save-state="$emit('save-state')" />
|
|
24
24
|
</div>
|
|
25
25
|
</template>
|
|
26
26
|
|
|
@@ -29,14 +29,16 @@ import store from '@/store';
|
|
|
29
29
|
import runningInCypressTest from '@/runningInCypressTest';
|
|
30
30
|
import crownAlign from './crownAlign';
|
|
31
31
|
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
32
|
-
import {
|
|
32
|
+
import { faAlignLeft } from '../crownButtons/icons';
|
|
33
|
+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
|
34
|
+
|
|
33
35
|
|
|
34
36
|
export default {
|
|
35
37
|
props: {
|
|
36
38
|
paper: Object,
|
|
37
39
|
hasPools: Boolean,
|
|
38
40
|
},
|
|
39
|
-
components:{ crownAlign },
|
|
41
|
+
components:{ crownAlign, FontAwesomeIcon },
|
|
40
42
|
data() {
|
|
41
43
|
return {
|
|
42
44
|
showAlignmentButtons: false,
|
|
@@ -67,7 +69,7 @@ export default {
|
|
|
67
69
|
{
|
|
68
70
|
label: 'Align',
|
|
69
71
|
iconPrefix: 'fpm',
|
|
70
|
-
icon: '
|
|
72
|
+
icon: 'align-left',
|
|
71
73
|
testId: 'align',
|
|
72
74
|
role: 'menuitem',
|
|
73
75
|
action: this.showAlign,
|
|
@@ -86,7 +88,7 @@ export default {
|
|
|
86
88
|
},
|
|
87
89
|
created() {
|
|
88
90
|
this.$t = this.$t.bind(this);
|
|
89
|
-
library.add(
|
|
91
|
+
library.add(faAlignLeft);
|
|
90
92
|
},
|
|
91
93
|
computed: {
|
|
92
94
|
isMultiSelect() {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const COLOR_DEFAULT = '#5096db';
|
|
2
|
+
export const COLOR_ERROR = '#FF0000';
|
|
3
|
+
export const COLOR_IN_PROGRESS = '#3FA6FF';
|
|
4
|
+
export const COLOR_IN_PROGRESS_FILL = '#DCF2FF';
|
|
5
|
+
export const COLOR_IDLE = '#CCCCCC';
|
|
6
|
+
export const COLOR_IDLE_FILL = '#F5F5F5';
|
|
7
|
+
export const COLOR_COMPLETED = '#00BA7C';
|
|
8
|
+
export const COLOR_COMPLETED_FILL = '#D6FFE6';
|
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<transition name="inspector">
|
|
3
3
|
<b-col
|
|
4
|
-
v-show="!compressed"
|
|
5
4
|
id="inspector"
|
|
6
5
|
class="pl-0 h-100 overflow-hidden inspector-column"
|
|
7
|
-
:class="[{ 'ignore-pointer': canvasDragPosition
|
|
6
|
+
:class="[{ 'ignore-pointer': canvasDragPosition }]"
|
|
8
7
|
data-test="inspector-column"
|
|
9
8
|
>
|
|
10
9
|
<b-card
|
|
11
10
|
no-body class="inspector-container border-top-0 border-bottom-0 border-right-0 rounded-0"
|
|
12
11
|
data-test="inspector-container"
|
|
13
12
|
:style="{ height: parentHeight }"
|
|
13
|
+
data-cy="inspector-panel"
|
|
14
14
|
>
|
|
15
|
+
<template #header>
|
|
16
|
+
<div class="inspector-header">
|
|
17
|
+
<div class="inspector-header-title">
|
|
18
|
+
{{ $t('Configuration') }}
|
|
19
|
+
</div>
|
|
20
|
+
<button
|
|
21
|
+
type="button"
|
|
22
|
+
aria-label="Close"
|
|
23
|
+
class="close"
|
|
24
|
+
@click="onClose"
|
|
25
|
+
data-cy="inspector-close-button"
|
|
26
|
+
>
|
|
27
|
+
×
|
|
28
|
+
</button>
|
|
29
|
+
</div>
|
|
30
|
+
</template>
|
|
15
31
|
<vue-form-renderer
|
|
16
32
|
:key="highlightedNode._modelerId"
|
|
17
33
|
v-if="highlightedNode"
|
|
@@ -63,13 +79,14 @@ Vue.component('FormDatePicker', FormDatePicker);
|
|
|
63
79
|
Vue.component('FormMultiSelect', FormMultiSelect);
|
|
64
80
|
|
|
65
81
|
export default {
|
|
66
|
-
props: ['nodeRegistry', 'moddle', 'processNode', 'parentHeight', 'canvasDragPosition', '
|
|
82
|
+
props: ['nodeRegistry', 'moddle', 'processNode', 'parentHeight', 'canvasDragPosition', 'definitions'],
|
|
67
83
|
data() {
|
|
68
84
|
return {
|
|
69
85
|
data: {},
|
|
70
86
|
config: [],
|
|
71
87
|
inspectorHandler: null,
|
|
72
88
|
translated: [],
|
|
89
|
+
isVisible: true,
|
|
73
90
|
};
|
|
74
91
|
},
|
|
75
92
|
watch: {
|
|
@@ -131,6 +148,12 @@ export default {
|
|
|
131
148
|
},
|
|
132
149
|
},
|
|
133
150
|
methods: {
|
|
151
|
+
/**
|
|
152
|
+
* On Close even handler
|
|
153
|
+
*/
|
|
154
|
+
onClose(){
|
|
155
|
+
this.$emit('toggleInspector', false);
|
|
156
|
+
},
|
|
134
157
|
handleAssignmentChanges(currentValue, previousValue) {
|
|
135
158
|
if (currentValue === previousValue) {
|
|
136
159
|
return;
|
|
@@ -23,5 +23,16 @@ $inspector-column-max-width: 265px;
|
|
|
23
23
|
.inspector-font-size {
|
|
24
24
|
font-size: 0.875rem;
|
|
25
25
|
}
|
|
26
|
+
};
|
|
27
|
+
&-header {
|
|
28
|
+
justify-content: space-between;
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: row;
|
|
31
|
+
&-title {
|
|
32
|
+
flex-grow: 0;
|
|
33
|
+
font-weight: 600;
|
|
34
|
+
letter-spacing: -0.02em;
|
|
35
|
+
flex-grow: 0;
|
|
36
|
+
};
|
|
26
37
|
}
|
|
27
38
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<button
|
|
3
|
+
type="button"
|
|
4
|
+
@click="toggleInspector"
|
|
5
|
+
class="inspector-button"
|
|
6
|
+
data-cy="inspector-button"
|
|
7
|
+
>
|
|
8
|
+
<inline-svg :src="inspectorIcon" />
|
|
9
|
+
</button>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
import InlineSvg from 'vue-inline-svg';
|
|
14
|
+
|
|
15
|
+
export default {
|
|
16
|
+
components: {
|
|
17
|
+
InlineSvg,
|
|
18
|
+
},
|
|
19
|
+
props: {
|
|
20
|
+
showInspector: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: true,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
data() {
|
|
26
|
+
return {
|
|
27
|
+
inspectorIcon: require('@/assets/inspector.svg'),
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
methods: {
|
|
31
|
+
toggleInspector() {
|
|
32
|
+
this.$emit('toggleInspector', !this.showInspector);
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<style scoped lang="scss" src="./inspectorButton.scss"></style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.inspector-button {
|
|
2
|
+
position: absolute;
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
align-items: center;
|
|
6
|
+
width: 48px;
|
|
7
|
+
height: 48px;
|
|
8
|
+
top: 95px;
|
|
9
|
+
right: 65px;
|
|
10
|
+
padding: 4px;
|
|
11
|
+
background-color: #FFFFFF;
|
|
12
|
+
border: 0 none;
|
|
13
|
+
border-radius: 4px;
|
|
14
|
+
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
|
|
15
|
+
z-index: 2;
|
|
16
|
+
|
|
17
|
+
& > svg {
|
|
18
|
+
fill: #44494E;
|
|
19
|
+
}
|
|
20
|
+
}
|