@processmaker/modeler 1.33.0 → 1.35.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/cypress.json +1 -1
- package/dist/modeler.common.js +846 -2162
- package/dist/modeler.common.js.map +1 -1
- package/dist/modeler.umd.js +846 -2162
- 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/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/crownMultiselect.vue +3 -3
- package/src/components/highlightColors.js +8 -0
- package/src/components/inspectors/inspectorButton/inspectorButton.scss +1 -0
- package/src/components/modeler/Modeler.vue +46 -3
- package/src/components/nodes/index.js +0 -1
- package/src/components/railBottom/RailBottom.vue +9 -0
- package/src/components/railBottom/controls/Controls.vue +14 -2
- package/src/components/railBottom/controls/SubmenuPopper/SubmenuPopper.vue +6 -4
- 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.vue +3 -3
- package/src/components/rails/explorer-rail/filterNodeTypes/filterNodeTypes.vue +3 -0
- package/src/components/rails/explorer-rail/pmBlocksLoop/pmBlocksLoop.vue +19 -9
- package/src/components/toolbar/ToolBar.vue +21 -5
- package/src/components/toolbar/toolbar.scss +23 -0
- package/src/components/topRail/validateControl/validateButton/ValidateButton.vue +2 -0
- package/src/mixins/highlightConfig.js +15 -12
- package/src/mixins/linkConfig.js +15 -8
- package/src/nodeTypesStore.js +2 -0
- package/src/store.js +1 -0
- package/src/components/modeler/ModelerReadonly.vue +0 -1042
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
aria-label="Publish controls"
|
|
23
23
|
data-cy="publish-control"
|
|
24
24
|
>
|
|
25
|
+
<div class="divider" />
|
|
25
26
|
<template v-if="isVersionsInstalled">
|
|
26
27
|
<div
|
|
27
28
|
class="toolbar-item toolbar-version-status"
|
|
@@ -63,6 +64,17 @@
|
|
|
63
64
|
data-cy="ellipsis-menu"
|
|
64
65
|
/>
|
|
65
66
|
</template>
|
|
67
|
+
<button
|
|
68
|
+
v-else
|
|
69
|
+
class="save-button"
|
|
70
|
+
data-test="mini-map-btn"
|
|
71
|
+
v-b-tooltip.hover
|
|
72
|
+
:title="$t('Save')"
|
|
73
|
+
@click="$emit('saveBpmn')"
|
|
74
|
+
>
|
|
75
|
+
<font-awesome-icon :icon="saveIcon" />
|
|
76
|
+
<span class="save-button-label">{{ $t('Save') }}</span>
|
|
77
|
+
</button>
|
|
66
78
|
</div>
|
|
67
79
|
</div>
|
|
68
80
|
</div>
|
|
@@ -74,7 +86,6 @@ import { faCompress, faExpand, faMapMarked, faMinus, faPlus, faRedo, faUndo, faS
|
|
|
74
86
|
import undoRedoStore from '@/undoRedoStore';
|
|
75
87
|
import Breadcrumb from '@/components/toolbar/breadcrumb/Breadcrumb';
|
|
76
88
|
import TopRail from '@/components/topRail/TopRail.vue';
|
|
77
|
-
|
|
78
89
|
export default {
|
|
79
90
|
name: 'tool-bar',
|
|
80
91
|
components: {
|
|
@@ -218,13 +229,18 @@ export default {
|
|
|
218
229
|
},
|
|
219
230
|
},
|
|
220
231
|
mounted() {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
232
|
+
const childProcess = this.$root.$children[0]?.process;
|
|
233
|
+
const indexOfActions = this.ellipsisMenuActions.findIndex(object => {
|
|
234
|
+
return object.value === 'save-template';
|
|
235
|
+
});
|
|
225
236
|
|
|
237
|
+
if (childProcess?.is_template) {
|
|
226
238
|
this.ellipsisMenuActions.splice(indexOfActions, 1);
|
|
227
239
|
}
|
|
240
|
+
|
|
241
|
+
if (childProcess?.asset_type === 'PM_BLOCK') {
|
|
242
|
+
this.ellipsisMenuActions.splice(indexOfActions, 2);
|
|
243
|
+
}
|
|
228
244
|
},
|
|
229
245
|
};
|
|
230
246
|
</script>
|
|
@@ -79,3 +79,26 @@ $toolbar-background-color: #fff;
|
|
|
79
79
|
border-top-left-radius: 4px !important;
|
|
80
80
|
border-bottom-left-radius: 4px !important;
|
|
81
81
|
}
|
|
82
|
+
|
|
83
|
+
.save-button {
|
|
84
|
+
display: flex;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
align-items: center;
|
|
87
|
+
height: 32px;
|
|
88
|
+
background-color: #6C757D;
|
|
89
|
+
border: 0 none;
|
|
90
|
+
border-radius: 4px;
|
|
91
|
+
transition: background-color 0.3s ease;
|
|
92
|
+
color: #ffffff;
|
|
93
|
+
&:active {
|
|
94
|
+
background-color: #5A6268;
|
|
95
|
+
}
|
|
96
|
+
&-label {
|
|
97
|
+
padding-left: 0.4em;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
.divider {
|
|
101
|
+
border-left: 1px solid #6C757D;
|
|
102
|
+
height: 80%;
|
|
103
|
+
padding-left: 11px;
|
|
104
|
+
}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
type="button"
|
|
4
4
|
@click.prevent="handleOpen"
|
|
5
5
|
:class="['validate-button', { 'validate-button-active': isOpen }]"
|
|
6
|
+
:title="$t('Auto validate')"
|
|
7
|
+
v-b-tooltip.hover.viewport.d50="{ customClass: 'no-pointer-events' }"
|
|
6
8
|
data-cy="validate-button"
|
|
7
9
|
>
|
|
8
10
|
<inline-svg :src="isOpen ? validateOpenIcon : validateCloseIcon" />
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import cloneDeep from 'lodash/cloneDeep';
|
|
2
2
|
import store from '@/store';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import {
|
|
4
|
+
COLOR_DEFAULT,
|
|
5
|
+
COLOR_ERROR,
|
|
6
|
+
COLOR_IN_PROGRESS,
|
|
7
|
+
COLOR_IN_PROGRESS_FILL,
|
|
8
|
+
COLOR_IDLE,
|
|
9
|
+
COLOR_IDLE_FILL,
|
|
10
|
+
COLOR_COMPLETED,
|
|
11
|
+
COLOR_COMPLETED_FILL,
|
|
12
|
+
} from '@/components/highlightColors.js';
|
|
10
13
|
|
|
11
14
|
const errorHighlighter = {
|
|
12
15
|
highlighter: {
|
|
@@ -41,7 +44,7 @@ const completedHighlighter = {
|
|
|
41
44
|
options: {
|
|
42
45
|
attrs: {
|
|
43
46
|
stroke: COLOR_COMPLETED,
|
|
44
|
-
'stroke-width':
|
|
47
|
+
'stroke-width': 5,
|
|
45
48
|
},
|
|
46
49
|
},
|
|
47
50
|
},
|
|
@@ -53,8 +56,7 @@ const inProgressHighlighter = {
|
|
|
53
56
|
options: {
|
|
54
57
|
attrs: {
|
|
55
58
|
stroke: COLOR_IN_PROGRESS,
|
|
56
|
-
'stroke-width':
|
|
57
|
-
'stroke-dasharray': '4 4',
|
|
59
|
+
'stroke-width': 5,
|
|
58
60
|
},
|
|
59
61
|
},
|
|
60
62
|
},
|
|
@@ -66,7 +68,7 @@ const idleHighlighter = {
|
|
|
66
68
|
options: {
|
|
67
69
|
attrs: {
|
|
68
70
|
stroke: COLOR_IDLE,
|
|
69
|
-
'stroke-width':
|
|
71
|
+
'stroke-width': 5,
|
|
70
72
|
},
|
|
71
73
|
},
|
|
72
74
|
},
|
|
@@ -124,10 +126,11 @@ export default {
|
|
|
124
126
|
}
|
|
125
127
|
this.shapeView.unhighlight(this.shapeBody, inProgressHighlighter);
|
|
126
128
|
if (this.isInProgress) {
|
|
129
|
+
this.shape.attr('body/fill', COLOR_IN_PROGRESS_FILL);
|
|
127
130
|
this.shapeView.highlight(this.shapeBody, inProgressHighlighter);
|
|
128
131
|
}
|
|
129
132
|
if (this.isIdle) {
|
|
130
|
-
this.shape.attr('body/fill',
|
|
133
|
+
this.shape.attr('body/fill', COLOR_IDLE_FILL);
|
|
131
134
|
this.shapeView.highlight(this.shapeBody, idleHighlighter);
|
|
132
135
|
}
|
|
133
136
|
return;
|
package/src/mixins/linkConfig.js
CHANGED
|
@@ -5,6 +5,10 @@ import { invalidNodeColor, setShapeColor, validNodeColor } from '@/components/no
|
|
|
5
5
|
import { getDefaultAnchorPoint } from '@/portsUtils';
|
|
6
6
|
import resetShapeColor from '@/components/resetShapeColor';
|
|
7
7
|
import store from '@/store';
|
|
8
|
+
import {
|
|
9
|
+
COLOR_IDLE,
|
|
10
|
+
COLOR_COMPLETED,
|
|
11
|
+
} from '@/components/highlightColors.js';
|
|
8
12
|
|
|
9
13
|
const endpoints = {
|
|
10
14
|
source: 'source',
|
|
@@ -15,11 +19,8 @@ function isPoint(item) {
|
|
|
15
19
|
return item.x && item.y;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
|
-
const COLOR_IDLE = '#ced4da';
|
|
19
|
-
const COLOR_COMPLETED = '#00875A';
|
|
20
|
-
|
|
21
22
|
export default {
|
|
22
|
-
props: ['highlighted', 'paper', 'paperManager', 'isCompleted'],
|
|
23
|
+
props: ['highlighted', 'paper', 'paperManager', 'isCompleted', 'isIdle'],
|
|
23
24
|
data() {
|
|
24
25
|
return {
|
|
25
26
|
sourceShape: null,
|
|
@@ -80,10 +81,16 @@ export default {
|
|
|
80
81
|
},
|
|
81
82
|
methods: {
|
|
82
83
|
setShapeHighlight() {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
if (this.isCompleted) {
|
|
85
|
+
this.shape.attr({
|
|
86
|
+
line: { stroke: COLOR_COMPLETED },
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else if (this.isIdle) {
|
|
90
|
+
this.shape.attr({
|
|
91
|
+
line: { stroke: COLOR_IDLE },
|
|
92
|
+
});
|
|
93
|
+
}
|
|
87
94
|
},
|
|
88
95
|
findSourceShape() {
|
|
89
96
|
return this.graph.getElements().find(element => {
|
package/src/nodeTypesStore.js
CHANGED
|
@@ -68,6 +68,8 @@ export default new Vuex.Store({
|
|
|
68
68
|
id: uniqueId('pmBlockNode_'),
|
|
69
69
|
type: pmBlockNode.id,
|
|
70
70
|
icon: pmBlockNode.icon,
|
|
71
|
+
customIcon: pmBlockNode.customIcon,
|
|
72
|
+
svgIcon: pmBlockNode.svgIcon,
|
|
71
73
|
label: pmBlockNode.label,
|
|
72
74
|
description: pmBlockNode.description,
|
|
73
75
|
bpmnType: pmBlockNode.bpmnType,
|
package/src/store.js
CHANGED
|
@@ -59,6 +59,7 @@ export default new Vuex.Store({
|
|
|
59
59
|
copiedElements: state => state.copiedElements,
|
|
60
60
|
clientLeftPaper: state => state.clientLeftPaper,
|
|
61
61
|
isReadOnly: state => state.readOnly,
|
|
62
|
+
showComponent: state => !state.readOnly,
|
|
62
63
|
},
|
|
63
64
|
mutations: {
|
|
64
65
|
setReadOnly(state, value) {
|