@processmaker/modeler 1.30.3 → 1.32.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.
Files changed (207) hide show
  1. package/dist/.DS_Store +0 -0
  2. package/dist/img/{boundary-event.5bf51421.svg → boundary-event.4e0fb9de.svg} +3 -3
  3. package/dist/img/clipboard.5fe6f79e.svg +3 -0
  4. package/dist/img/conditional-start-event.a56e4b5b.svg +4 -0
  5. package/dist/img/{connect-artifacts.5f8bed89.svg → connect-artifacts.496eb4b9.svg} +3 -3
  6. package/dist/img/{connect-elements.d4abedf2.svg → connect-elements.9ec5ca93.svg} +3 -3
  7. package/dist/img/copy-regular.2d678143.svg +3 -0
  8. package/dist/img/data-object.0d6d1585.svg +3 -0
  9. package/dist/img/data-store.32bed5ce.svg +3 -0
  10. package/dist/img/{default-flow.212147b4.svg → default-flow.156a793b.svg} +3 -3
  11. package/dist/img/end-event.9d1ff5c0.svg +3 -0
  12. package/dist/img/error-end-event.aab86eca.svg +11 -0
  13. package/dist/img/event-based-gateway.9960eee5.svg +6 -0
  14. package/dist/img/exclusive-gateway.26db4fae.svg +4 -0
  15. package/dist/img/generic-gateway.09ca6929.svg +3 -0
  16. package/dist/img/generic-intermediate-event.a711eb33.svg +4 -0
  17. package/dist/img/inclusive-gateway.754cb36f.svg +4 -0
  18. package/dist/img/intermediate-conditional-catch-event.e9ae6198.svg +5 -0
  19. package/dist/img/intermediate-message-catch-event.9d25208e.svg +5 -0
  20. package/dist/img/intermediate-message-throw-event.4309dc45.svg +5 -0
  21. package/dist/img/intermediate-signal-catch-event.74b65f17.svg +5 -0
  22. package/dist/img/intermediate-signal-throw-event.29cad018.svg +5 -0
  23. package/dist/img/intermediate-timer-event.1670a1c8.svg +5 -0
  24. package/dist/img/issue-close.5d1630e6.svg +3 -0
  25. package/dist/img/issue-item.3187f291.svg +3 -0
  26. package/dist/img/issue-open.707390b4.svg +4 -0
  27. package/dist/img/{lane-below.890c069b.svg → lane-below.e67f9823.svg} +12 -12
  28. package/dist/img/manual-task.374a73c3.svg +4 -0
  29. package/dist/img/message-end-event.f15b67f5.svg +4 -0
  30. package/dist/img/message-start-event.f2d4a5e6.svg +4 -0
  31. package/dist/img/mini-map.ae46890c.svg +3 -0
  32. package/dist/img/minus.ca21cc3b.svg +3 -0
  33. package/dist/img/parallel-gateway.877bb628.svg +4 -0
  34. package/dist/img/pin-angle-fill.0e4af645.svg +3 -0
  35. package/dist/img/pin-angle.3462c115.svg +3 -0
  36. package/dist/img/plus.afbb0b13.svg +3 -0
  37. package/dist/img/pool.98d4734c.svg +3 -0
  38. package/dist/img/redo.8425ce7e.svg +4 -0
  39. package/dist/img/script-task.3d8c664a.svg +4 -0
  40. package/dist/img/signal-end-event.a38a6616.svg +4 -0
  41. package/dist/img/signal-start-event.3d7b096c.svg +4 -0
  42. package/dist/img/start-event.7f1911cb.svg +3 -0
  43. package/dist/img/sub-task.52d09847.svg +4 -0
  44. package/dist/img/task.8a1c6c75.svg +3 -0
  45. package/dist/img/terminate-end-event.3aa5cd00.svg +4 -0
  46. package/dist/img/text-annotation.02df53cd.svg +3 -0
  47. package/dist/img/timer-start-event.55abac82.svg +4 -0
  48. package/dist/img/trash-alt-solid.58c408b8.svg +1 -0
  49. package/dist/img/undo.e0ffff93.svg +4 -0
  50. package/dist/img/validate-close.09ace97a.svg +4 -0
  51. package/dist/img/validate-open.b0ecf74e.svg +4 -0
  52. package/dist/modeler.common.js +27454 -19961
  53. package/dist/modeler.common.js.map +1 -1
  54. package/dist/modeler.umd.js +27454 -19961
  55. package/dist/modeler.umd.js.map +1 -1
  56. package/dist/modeler.umd.min.js +28 -3
  57. package/dist/modeler.umd.min.js.map +1 -1
  58. package/jsconfig.json +12 -0
  59. package/package.json +4 -2
  60. package/src/.DS_Store +0 -0
  61. package/src/ModelerApp.vue +13 -22
  62. package/src/assets/boundary-event.svg +3 -3
  63. package/src/assets/clipboard.svg +3 -1
  64. package/src/assets/cog-solid.svg +1 -0
  65. package/src/assets/connect-artifacts.svg +3 -3
  66. package/src/assets/connect-elements.svg +3 -3
  67. package/src/assets/copy-regular.svg +3 -1
  68. package/src/assets/default-flow.svg +3 -3
  69. package/src/assets/lane-below.svg +12 -12
  70. package/src/assets/palette.svg +1 -0
  71. package/src/assets/pin-angle-fill.svg +3 -0
  72. package/src/assets/pin-angle.svg +3 -0
  73. package/src/assets/railBottom/mini-map.svg +3 -0
  74. package/src/assets/railBottom/minus.svg +3 -0
  75. package/src/assets/railBottom/plus.svg +3 -0
  76. package/src/assets/railBottom/redo.svg +4 -0
  77. package/src/assets/railBottom/undo.svg +4 -0
  78. package/src/assets/scss/settings/_settings.variables.scss +5 -0
  79. package/src/assets/scss/tools/_tools.chevron.scss +1 -1
  80. package/src/assets/toolpanel/conditional-start-event.svg +4 -0
  81. package/src/assets/toolpanel/data-object.svg +2 -8
  82. package/src/assets/toolpanel/data-store.svg +2 -5
  83. package/src/assets/toolpanel/end-event.svg +3 -19
  84. package/src/assets/toolpanel/error-end-event.svg +11 -0
  85. package/src/assets/toolpanel/event-based-gateway.svg +6 -0
  86. package/src/assets/toolpanel/exclusive-gateway.svg +4 -0
  87. package/src/assets/toolpanel/generic-gateway.svg +2 -13
  88. package/src/assets/toolpanel/generic-intermediate-event.svg +3 -4
  89. package/src/assets/toolpanel/inclusive-gateway.svg +4 -0
  90. package/src/assets/toolpanel/intermediate-conditional-catch-event.svg +5 -0
  91. package/src/assets/toolpanel/intermediate-message-catch-event.svg +5 -0
  92. package/src/assets/toolpanel/intermediate-message-throw-event.svg +4 -5
  93. package/src/assets/toolpanel/intermediate-signal-catch-event.svg +5 -0
  94. package/src/assets/toolpanel/intermediate-signal-throw-event.svg +5 -0
  95. package/src/assets/toolpanel/intermediate-timer-event.svg +5 -0
  96. package/src/assets/toolpanel/manual-task.svg +4 -0
  97. package/src/assets/toolpanel/message-end-event.svg +4 -0
  98. package/src/assets/toolpanel/message-start-event.svg +3 -3
  99. package/src/assets/toolpanel/parallel-gateway.svg +4 -0
  100. package/src/assets/toolpanel/pool.svg +3 -11
  101. package/src/assets/toolpanel/script-task.svg +4 -0
  102. package/src/assets/toolpanel/signal-end-event.svg +4 -0
  103. package/src/assets/toolpanel/signal-start-event.svg +4 -0
  104. package/src/assets/toolpanel/start-event.svg +3 -19
  105. package/src/assets/toolpanel/sub-task.svg +4 -0
  106. package/src/assets/toolpanel/task.svg +3 -14
  107. package/src/assets/toolpanel/terminate-end-event.svg +4 -0
  108. package/src/assets/toolpanel/text-annotation.svg +3 -17
  109. package/src/assets/toolpanel/timer-start-event.svg +4 -0
  110. package/src/assets/topRail/issue-close.svg +3 -0
  111. package/src/assets/topRail/issue-item.svg +3 -0
  112. package/src/assets/topRail/issue-open.svg +4 -0
  113. package/src/assets/topRail/validate-close.svg +4 -0
  114. package/src/assets/topRail/validate-open.svg +4 -0
  115. package/src/assets/trash-alt-solid.svg +1 -4
  116. package/src/components/crown/crownButtons/addLaneAboveButton.vue +6 -4
  117. package/src/components/crown/crownButtons/addLaneBelowButton.vue +6 -4
  118. package/src/components/crown/crownButtons/associationFlowButton.vue +1 -14
  119. package/src/components/crown/crownButtons/cloneButton.vue +1 -6
  120. package/src/components/crown/crownButtons/copyButton.vue +1 -4
  121. package/src/components/crown/crownButtons/crownBoundaryEventDropdown.vue +7 -2
  122. package/src/components/crown/crownButtons/crownButton.vue +36 -11
  123. package/src/components/crown/crownButtons/crownColorDropdown.vue +1 -1
  124. package/src/components/crown/crownButtons/crownDropdown.scss +4 -9
  125. package/src/components/crown/crownButtons/crownTaskDropdown.vue +1 -1
  126. package/src/components/crown/crownButtons/deleteButton.vue +1 -7
  127. package/src/components/crown/crownButtons/genericFlowButton.vue +4 -4
  128. package/src/components/crown/crownButtons/icons/faAlignBottom.js +11 -0
  129. package/src/components/crown/crownButtons/icons/faAlignLeft.js +11 -0
  130. package/src/components/crown/crownButtons/icons/faAlignRight.js +11 -0
  131. package/src/components/crown/crownButtons/icons/faAlignTop.js +11 -0
  132. package/src/components/crown/crownButtons/icons/faBoundaryEvent.js +11 -0
  133. package/src/components/crown/crownButtons/icons/faCenterHorizontally.js +11 -0
  134. package/src/components/crown/crownButtons/icons/faCenterVertically.js +11 -0
  135. package/src/components/crown/crownButtons/icons/faConnectElements.js +11 -0
  136. package/src/components/crown/crownButtons/icons/faDistributeHorizontally.js +11 -0
  137. package/src/components/crown/crownButtons/icons/faDistributeVertically.js +11 -0
  138. package/src/components/crown/crownButtons/icons/faLaneAbove.js +11 -0
  139. package/src/components/crown/crownButtons/icons/faLaneBelow.js +11 -0
  140. package/src/components/crown/crownButtons/icons/index.js +12 -0
  141. package/src/components/crown/crownConfig/crownConfig.scss +5 -4
  142. package/src/components/crown/crownConfig/crownConfig.vue +5 -2
  143. package/src/components/crown/crownMultiselect/crownAlign.scss +20 -0
  144. package/src/components/crown/crownMultiselect/crownAlign.vue +302 -0
  145. package/src/components/crown/crownMultiselect/crownMultiselect.vue +60 -14
  146. package/src/components/hotkeys/escKey.js +20 -0
  147. package/src/components/hotkeys/main.js +4 -2
  148. package/src/components/miniPaper/MiniPaper.vue +16 -2
  149. package/src/components/miniPaper/miniPaper.scss +6 -12
  150. package/src/components/modeler/Modeler.vue +32 -22
  151. package/src/components/modeler/ModelerReadonly.vue +1011 -0
  152. package/src/components/modeler/Selection.vue +11 -9
  153. package/src/components/nodes/endEvent/index.js +37 -0
  154. package/src/components/nodes/exclusiveGateway/index.js +30 -0
  155. package/src/components/nodes/index.js +1 -0
  156. package/src/components/nodes/intermediateTimerEvent/index.js +44 -0
  157. package/src/components/nodes/startEvent/index.js +43 -0
  158. package/src/components/nodes/task/index.js +30 -0
  159. package/src/components/railBottom/RailBottom.vue +120 -0
  160. package/src/components/railBottom/controls/Controls.vue +80 -0
  161. package/src/components/railBottom/controls/SubmenuPopper/SubmenuPopper.vue +188 -0
  162. package/src/components/railBottom/controls/controls.scss +98 -0
  163. package/src/components/railBottom/icons/MinusIcon.vue +5 -0
  164. package/src/components/railBottom/icons/PlusIcon.vue +5 -0
  165. package/src/components/railBottom/icons/index.js +2 -0
  166. package/src/components/railBottom/miniPaperControl/MiniPaperControl.vue +46 -0
  167. package/src/components/railBottom/miniPaperControl/miniPaperControl.scss +45 -0
  168. package/src/components/railBottom/railBottom.scss +28 -0
  169. package/src/components/railBottom/undoRedoControl/UndoRedoControl.vue +89 -0
  170. package/src/components/railBottom/undoRedoControl/undoRedoControl.scss +51 -0
  171. package/src/components/railBottom/zoomControl/ZoomControl.vue +80 -0
  172. package/src/components/railBottom/zoomControl/zoomControl.scss +66 -0
  173. package/src/components/rails/explorer-rail/explorer-rail.scss +55 -0
  174. package/src/components/rails/explorer-rail/explorer.vue +93 -0
  175. package/src/components/rails/explorer-rail/filterNodeTypes/filterNodeTypes.vue +54 -0
  176. package/src/components/rails/explorer-rail/nodeTypesLoop/nodeTypesLoop.vue +164 -0
  177. package/src/components/rails/explorer-rail/rankConstants.js +1 -0
  178. package/src/components/toolbar/ToolBar.vue +23 -80
  179. package/src/components/topRail/TopRail.vue +91 -0
  180. package/src/components/topRail/topRail.scss +6 -0
  181. package/src/components/topRail/validateControl/index.js +3 -0
  182. package/src/components/topRail/validateControl/validateButton/ValidateButton.vue +38 -0
  183. package/src/components/topRail/validateControl/validateButton/validateButton.scss +25 -0
  184. package/src/components/topRail/validateControl/validateIssue/ValidateIssue.vue +59 -0
  185. package/src/components/topRail/validateControl/validateIssue/validateIssue.scss +54 -0
  186. package/src/components/topRail/validateControl/validatePanel/ValidatePanel.vue +51 -0
  187. package/src/components/topRail/validateControl/validatePanel/validatePanel.scss +67 -0
  188. package/src/main.js +6 -0
  189. package/src/mixins/clickAndDrop.js +100 -0
  190. package/src/mixins/highlightConfig.js +52 -8
  191. package/src/mixins/linkConfig.js +7 -0
  192. package/src/mixins/resizeConfig.js +3 -1
  193. package/src/nodeTypesStore.js +133 -0
  194. package/src/store.js +5 -0
  195. package/dist/img/clipboard.bcc7796a.svg +0 -1
  196. package/dist/img/copy-regular.3eb4c04a.svg +0 -1
  197. package/dist/img/data-object.e931f8e7.svg +0 -9
  198. package/dist/img/data-store.7ca4c899.svg +0 -6
  199. package/dist/img/end-event.1ad31396.svg +0 -19
  200. package/dist/img/generic-gateway.3a76fc75.svg +0 -14
  201. package/dist/img/generic-intermediate-event.ba2e1d71.svg +0 -5
  202. package/dist/img/intermediate-message-throw-event.ac432d96.svg +0 -6
  203. package/dist/img/pool.ac62ddae.svg +0 -11
  204. package/dist/img/start-event.e895cee2.svg +0 -19
  205. package/dist/img/task.e7419065.svg +0 -14
  206. package/dist/img/text-annotation.926416f4.svg +0 -17
  207. package/dist/img/trash-alt-solid.f2f64c1f.svg +0 -4
@@ -0,0 +1,67 @@
1
+ .validate {
2
+ &-container {
3
+ position: absolute;
4
+ top: 48px;
5
+ right: 8px;
6
+ display: flex;
7
+ flex-direction: column;
8
+ width: 386px;
9
+ height: 273px;
10
+ padding: 12px;
11
+ background: #F7F7F7;
12
+ border: 1px solid #C4C8CC;
13
+ border-radius: 4px;
14
+ overflow-y: auto;
15
+ z-index: 1;
16
+ }
17
+
18
+ &-item {
19
+ &-box {
20
+ display: flex;
21
+ justify-content: flex-start;
22
+ margin-bottom: 10px;
23
+ color: #000000;
24
+
25
+ & > svg {
26
+ width: 16px;
27
+ margin: {
28
+ top: 4px;
29
+ right: 10px;
30
+ };
31
+ fill: #D11401;
32
+ }
33
+
34
+ &:last-child {
35
+ margin-bottom: 0;
36
+ }
37
+ }
38
+
39
+ &-info {
40
+ flex: 1 1 0;
41
+ display: flex;
42
+ flex-direction: column;
43
+ font-family: 'Open Sans';
44
+ font-style: normal;
45
+ font-size: 14px;
46
+ }
47
+
48
+ &-title {
49
+ font-weight: 600;
50
+ text-transform: capitalize;
51
+ }
52
+
53
+ &-description {
54
+ font-style: italic;
55
+ font-weight: 400;
56
+ color: #6C757D;
57
+ }
58
+
59
+ &-node {
60
+ &-title {
61
+ font-weight: 600;
62
+ }
63
+
64
+ font-weight: 400;
65
+ }
66
+ }
67
+ }
package/src/main.js CHANGED
@@ -12,11 +12,17 @@ import ScreenBuilder from '@processmaker/screen-builder';
12
12
  import Multiselect from '@processmaker/vue-multiselect/src/Multiselect';
13
13
 
14
14
  import '@fortawesome/fontawesome-free/css/all.min.css';
15
+ import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
16
+ import { library } from '@fortawesome/fontawesome-svg-core';
17
+ import { faBoundaryEvent } from '@/components/crown/crownButtons/icons';
18
+
19
+ library.add(faBoundaryEvent);
15
20
 
16
21
  Vue.use(BootstrapVue);
17
22
  Vue.use(VueDeepSet);
18
23
  Vue.use(VueI18Next);
19
24
  Vue.use(ScreenBuilder);
25
+ Vue.component('font-awesome-icon', FontAwesomeIcon);
20
26
  Vue.component('Multiselect', Multiselect);
21
27
 
22
28
  Vue.config.productionTip = false;
@@ -0,0 +1,100 @@
1
+ import nodeTypesStore from '@/nodeTypesStore';
2
+
3
+ export default {
4
+ data() {
5
+ return {
6
+ wasClicked: false,
7
+ selectedSubmenuItem: null,
8
+ xOffset: 0,
9
+ yOffset: 0,
10
+ helperStyles: {
11
+ backgroundColor:'#ffffff',
12
+ position: 'absolute',
13
+ height: '40px',
14
+ width: '40px',
15
+ zIndex: '10',
16
+ opacity: '0.5',
17
+ pointerEvents: 'none',
18
+ },
19
+ popperType: null,
20
+ };
21
+ },
22
+ methods: {
23
+ onClickHandler(event, control) {
24
+ this.createDraggingHelper(event, control);
25
+ document.addEventListener('mousemove', this.setDraggingPosition);
26
+ this.setDraggingPosition(event);
27
+ // Deselect control on click if same control is already selected
28
+ if (this.selectedItem && (this.selectedItem.type === control.type)) {
29
+ document.removeEventListener('mousemove', this.setDraggingPosition);
30
+ document.body.removeChild(this.movedElement);
31
+ this.$emit('onSetCursor', 'none');
32
+ nodeTypesStore.commit('clearSelectedNode');
33
+ nodeTypesStore.commit('setGhostNode', null);
34
+ this.wasClicked = false;
35
+ return;
36
+ }
37
+ this.wasClicked = true;
38
+ nodeTypesStore.commit('setSelectedNode', control);
39
+ this.$emit('onSetCursor', 'crosshair');
40
+ if (!this.parent) {
41
+ this.popperType = control.type;
42
+ }
43
+ window.ProcessMaker.EventBus.$on('custom-pointerclick', message => {
44
+ window.ProcessMaker.EventBus.$off('custom-pointerclick');
45
+ document.removeEventListener('mousemove', this.setDraggingPosition);
46
+ if (this.movedElement) {
47
+ document.body.removeChild(this.movedElement);
48
+ }
49
+ this.popperType = null;
50
+ this.selectedSubmenuItem = null;
51
+ this.onCreateElement(message);
52
+ nodeTypesStore.commit('clearSelectedNode');
53
+ nodeTypesStore.commit('setGhostNode', null);
54
+ });
55
+ },
56
+ onCreateElement(event){
57
+ if (this.wasClicked && this.selectedItem) {
58
+ if (this.parent) {
59
+ this.parent = null;
60
+ }
61
+ this.$emit('onCreateElement', { event, control: this.selectedItem });
62
+ this.$emit('onSetCursor', 'none');
63
+ event.preventDefault();
64
+ this.wasClicked = false;
65
+ }
66
+ },
67
+ setDraggingPosition({ pageX, pageY }) {
68
+ let tempGhost = this.movedElement;
69
+ tempGhost.style.left = `${pageX}px`;
70
+ tempGhost.style.top = `${pageY}px`;
71
+ nodeTypesStore.commit('setGhostNode', tempGhost);
72
+ },
73
+ createDraggingHelper(event, control) {
74
+ if (this.movedElement) {
75
+ document.removeEventListener('mousemove', this.setDraggingPosition);
76
+ document.body.removeChild(this.movedElement);
77
+ nodeTypesStore.commit('setGhostNode', null);
78
+ }
79
+ const sourceElement = event.target;
80
+ nodeTypesStore.commit('setGhostNode', document.createElement('img'));
81
+ let tempGhost = this.movedElement;
82
+ Object.keys(this.helperStyles).forEach((property) => {
83
+ tempGhost.style[property] = this.helperStyles[property];
84
+ });
85
+ tempGhost.src = control.icon;
86
+ nodeTypesStore.commit('setGhostNode', tempGhost);
87
+ document.body.appendChild(this.movedElement);
88
+ this.xOffset = event.clientX - sourceElement.getBoundingClientRect().left;
89
+ this.yOffset = event.clientY - sourceElement.getBoundingClientRect().top;
90
+ },
91
+ },
92
+ computed: {
93
+ selectedItem() {
94
+ return nodeTypesStore.getters.getSelectedNode;
95
+ },
96
+ movedElement() {
97
+ return nodeTypesStore.getters.getGhostNode;
98
+ },
99
+ },
100
+ };
@@ -1,4 +1,6 @@
1
+ /* eslint-disable no-unused-vars */
1
2
  import cloneDeep from 'lodash/cloneDeep';
3
+ import store from '@/store';
2
4
 
3
5
  const errorHighlighter = {
4
6
  highlighter: {
@@ -27,6 +29,31 @@ const defaultHighlighter = {
27
29
  },
28
30
  };
29
31
 
32
+ const completedHighlighter = {
33
+ highlighter: {
34
+ name: 'stroke',
35
+ options: {
36
+ attrs: {
37
+ stroke: '#1572C2',
38
+ 'stroke-width': 3,
39
+ },
40
+ },
41
+ },
42
+ };
43
+
44
+ const inProgressHighlighter = {
45
+ highlighter: {
46
+ name: 'stroke',
47
+ options: {
48
+ attrs: {
49
+ stroke: '#00875A',
50
+ 'stroke-width': 3,
51
+ 'stroke-dasharray': '4 4',
52
+ },
53
+ },
54
+ },
55
+ };
56
+
30
57
  export default {
31
58
  props: [
32
59
  'highlighted',
@@ -34,6 +61,8 @@ export default {
34
61
  'hasError',
35
62
  'autoValidate',
36
63
  'borderOutline',
64
+ 'isCompleted',
65
+ 'isInProgress',
37
66
  ],
38
67
  data() {
39
68
  return {
@@ -68,6 +97,18 @@ export default {
68
97
  },
69
98
  methods: {
70
99
  setShapeHighlight() {
100
+ if (store.getters.isReadOnly) {
101
+ this.shapeView.unhighlight(this.shapeBody, completedHighlighter);
102
+ if (this.isCompleted) {
103
+ this.shapeView.highlight(this.shapeBody, completedHighlighter);
104
+ }
105
+ this.shapeView.unhighlight(this.shapeBody, inProgressHighlighter);
106
+ if (this.isInProgress) {
107
+ this.shapeView.highlight(this.shapeBody, inProgressHighlighter);
108
+ }
109
+ return;
110
+ }
111
+
71
112
  if (!this.shapeView) {
72
113
  return;
73
114
  }
@@ -84,7 +125,9 @@ export default {
84
125
  if (this.currentBorderOutline) {
85
126
  this.shapeView.unhighlight(this.shapeBody, this.currentBorderOutline);
86
127
  }
87
- this.currentBorderOutline = borderOutline ? cloneDeep(borderOutline) : null;
128
+ this.currentBorderOutline = borderOutline
129
+ ? cloneDeep(borderOutline)
130
+ : null;
88
131
  if (this.currentBorderOutline) {
89
132
  this.shapeView.highlight(this.shapeBody, this.currentBorderOutline);
90
133
  }
@@ -92,14 +135,15 @@ export default {
92
135
  },
93
136
  mounted() {
94
137
  this.$nextTick(() => {
95
- this.paperManager.awaitScheduledUpdates()
96
- .then(() => {
97
- this.setShapeHighlight();
98
- this.shape.on('change:size', () => {
99
- this.paperManager.awaitScheduledUpdates().then(this.setShapeHighlight);
100
- this.$emit('shape-resize', this.shape);
101
- });
138
+ this.paperManager.awaitScheduledUpdates().then(() => {
139
+ this.setShapeHighlight();
140
+ this.shape.on('change:size', () => {
141
+ this.paperManager
142
+ .awaitScheduledUpdates()
143
+ .then(this.setShapeHighlight);
144
+ this.$emit('shape-resize', this.shape);
102
145
  });
146
+ });
103
147
  });
104
148
  },
105
149
  };
@@ -4,6 +4,7 @@ import debounce from 'lodash/debounce';
4
4
  import { invalidNodeColor, setShapeColor, validNodeColor } from '@/components/nodeColors';
5
5
  import { getDefaultAnchorPoint } from '@/portsUtils';
6
6
  import resetShapeColor from '@/components/resetShapeColor';
7
+ import store from '@/store';
7
8
 
8
9
  const endpoints = {
9
10
  source: 'source',
@@ -39,6 +40,9 @@ export default {
39
40
  }
40
41
  },
41
42
  highlighted(highlighted) {
43
+ if (store.getters.isReadOnly) {
44
+ return;
45
+ }
42
46
  if (highlighted) {
43
47
  this.shape.attr({
44
48
  line: { stroke: '#5096db' },
@@ -254,6 +258,9 @@ export default {
254
258
 
255
259
  this.$once('click', () => {
256
260
  this.$nextTick(() => {
261
+ if (store.getters.isReadOnly) {
262
+ return;
263
+ }
257
264
  this.setupLinkTools();
258
265
  });
259
266
  });
@@ -28,7 +28,9 @@ export default {
28
28
  }
29
29
 
30
30
  if (highlighted) {
31
- this.addResizeAnchors();
31
+ if (store.getters.isReadOnly === false) {
32
+ this.addResizeAnchors();
33
+ }
32
34
  this.calculateElementLimits();
33
35
  this.updateAnchorPointPosition();
34
36
  } else {
@@ -0,0 +1,133 @@
1
+ import Vue from 'vue';
2
+ import Vuex from 'vuex';
3
+ import { uniqueId, uniqBy } from 'lodash';
4
+ import { BOTTOM } from '@/components/rails/explorer-rail/rankConstants';
5
+
6
+ Vue.use(Vuex);
7
+
8
+ export default new Vuex.Store({
9
+ state: {
10
+ nodeTypes: [],
11
+ pinnedNodeTypes: [],
12
+ filteredNodeTypes: [],
13
+ explorerOpen: false,
14
+ searchTerm: '',
15
+ selectedNode: null,
16
+ ghostNode: null,
17
+ },
18
+ getters: {
19
+ getNodeTypes: state => state.nodeTypes,
20
+ getPinnedNodeTypes: state => state.pinnedNodeTypes,
21
+ getFilteredNodeTypes: state => state.filteredNodeTypes,
22
+ getExplorerOpen: state => state.explorerOpen,
23
+ getSearchTerm: state => state.searchTerm,
24
+ getSelectedNode: state => state.selectedNode,
25
+ getGhostNode: state => state.ghostNode,
26
+ },
27
+ mutations: {
28
+ setNodeTypes(state, nodeTypes) {
29
+ state.nodeTypes = nodeTypes
30
+ .filter(nodeType => nodeType.control)
31
+ .map(nodeType => ({
32
+ id: uniqueId('nodeType_'),
33
+ type: nodeType.id,
34
+ icon: nodeType.icon,
35
+ label: nodeType.label,
36
+ bpmnType: nodeType.bpmnType,
37
+ rank: nodeType.rank || BOTTOM,
38
+ items: nodeType.items?.map(item => ({ ...item, type: item.id })),
39
+ }))
40
+ .sort((node1, node2) => node1.rank - node2.rank);
41
+ },
42
+ setPinnedNodes(state, payload) {
43
+ state.pinnedNodeTypes.push(payload);
44
+ // Remove duplicates
45
+ state.pinnedNodeTypes = [...new Map(state.pinnedNodeTypes.map(node => [node['type'], node])).values()];
46
+ state.pinnedNodeTypes.sort((node1, node2) => node1.rank - node2.rank);
47
+ },
48
+ setUnpinNode(state, payload) {
49
+ state.pinnedNodeTypes = state.pinnedNodeTypes.filter(node => node !== payload);
50
+ },
51
+ setFilteredNodeTypes(state, searchTerm) {
52
+ const pinnedNodeTypes = state.pinnedNodeTypes;
53
+ const nodeTypes = state.nodeTypes;
54
+ state.searchTerm = searchTerm;
55
+ const allNodes = uniqBy([...pinnedNodeTypes, ...nodeTypes], 'id');
56
+ state.filteredNodeTypes = allNodes.filter(node => {
57
+ return node.label.toLowerCase().includes(searchTerm.toLowerCase());
58
+ });
59
+ },
60
+ clearFilteredNodes(state) {
61
+ state.filteredNodeTypes = [];
62
+ state.searchTerm = '';
63
+ },
64
+ closeExplorer(state) {
65
+ state.explorerOpen = false;
66
+ },
67
+ toggleExplorer(state) {
68
+ state.explorerOpen = !state.explorerOpen;
69
+ },
70
+ setSelectedNode(state, payload) {
71
+ state.selectedNode = payload;
72
+ },
73
+ clearSelectedNode(state) {
74
+ state.selectedNode = null;
75
+ },
76
+ setGhostNode(state, payload) {
77
+ state.ghostNode = payload;
78
+ },
79
+ },
80
+ actions: {
81
+ getUserPinnedObjects({ commit }) {
82
+ if (!window.ProcessMaker.user) {
83
+ // For standalone version of Modeler
84
+ const pinnedNodes = localStorage.pinnedNodes ? JSON.parse(localStorage.pinnedNodes) : [] ;
85
+ pinnedNodes.forEach(node => {
86
+ commit('setPinnedNodes', node);
87
+ });
88
+ return;
89
+ }
90
+ const user = window.ProcessMaker.user ? window.ProcessMaker.user.id : '';
91
+ window.ProcessMaker.apiClient.get(`/users/${user}/get_pinnned_controls`)
92
+ .then(({ data }) => {
93
+ data.forEach(node => {
94
+ commit('setPinnedNodes', node);
95
+ });
96
+ })
97
+ .catch((e) => {
98
+ // eslint-disable-next-line no-console
99
+ console.error(e);
100
+ });
101
+ },
102
+ addUserPinnedObject({ commit, state }, pinnedNode) {
103
+ commit('setPinnedNodes', pinnedNode);
104
+ const pinnedNodes = state.pinnedNodeTypes;
105
+ if (!window.ProcessMaker.user) {
106
+ // For standalone version of Modeler
107
+ localStorage.pinnedNodes = JSON.stringify(pinnedNodes);
108
+ return;
109
+ }
110
+ const user = window.ProcessMaker.user ? window.ProcessMaker.user.id : '';
111
+ window.ProcessMaker.apiClient.put(`/users/${user}/update_pinned_controls`, { pinnedNodes })
112
+ .catch((e) => {
113
+ // eslint-disable-next-line no-console
114
+ console.error(e);
115
+ });
116
+ },
117
+ removeUserPinnedObject({ commit, state }, nodeToUnpin) {
118
+ commit('setUnpinNode', nodeToUnpin);
119
+ const pinnedNodes = state.pinnedNodeTypes;
120
+ if (!window.ProcessMaker.user) {
121
+ // For standalone version of Modeler
122
+ localStorage.pinnedNodes = JSON.stringify(pinnedNodes);
123
+ return;
124
+ }
125
+ const user = window.ProcessMaker.user ? window.ProcessMaker.user.id : '';
126
+ window.ProcessMaker.apiClient.put(`/users/${user}/update_pinned_controls`, { pinnedNodes })
127
+ .catch((e) => {
128
+ // eslint-disable-next-line no-console
129
+ console.error(e);
130
+ });
131
+ },
132
+ },
133
+ });
package/src/store.js CHANGED
@@ -37,6 +37,7 @@ export default new Vuex.Store({
37
37
  allowSavingElementPosition: true,
38
38
  copiedElements: [],
39
39
  clientLeftPaper: false,
40
+ readOnly: false,
40
41
  },
41
42
  getters: {
42
43
  nodes: state => state.nodes,
@@ -57,8 +58,12 @@ export default new Vuex.Store({
57
58
  allowSavingElementPosition: state => state.allowSavingElementPosition,
58
59
  copiedElements: state => state.copiedElements,
59
60
  clientLeftPaper: state => state.clientLeftPaper,
61
+ isReadOnly: state => state.readOnly,
60
62
  },
61
63
  mutations: {
64
+ setReadOnly(state, value) {
65
+ state.readOnly = value;
66
+ },
62
67
  preventSavingElementPosition(state) {
63
68
  state.allowSavingElementPosition = false;
64
69
  },
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="#fff" d="M280 64h40c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h40 9.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64H280zM64 112c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H304v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"/></svg>
@@ -1 +0,0 @@
1
- <svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="copy" class="svg-inline--fa fa-copy fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="#fff" d="M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"></path></svg>
@@ -1,9 +0,0 @@
1
- <svg width="36" height="50" viewBox="0 0 36 50" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path
3
- d="M1,1 L25,1 L35,10 L35,49 L1,49 L1,1 M24,1 L24,10 L35,10"
4
- stroke="#788793"
5
- stroke-width="1.5"
6
- stroke-linejoin="round"
7
- stroke-linecap="round"
8
- />
9
- </svg>
@@ -1,6 +0,0 @@
1
- <svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M12.5 0C6.6594 0 2.08337 1.6475 2.08337 3.75C2.08337 5.85251 6.6594 7.50001 12.5 7.50001C18.3406 7.50001 22.9167 5.85251 22.9167 3.75C22.9167 1.6475 18.3406 0 12.5 0ZM12.5 6.66669C6.97502 6.66669 3.12502 5.12919 3.12502 3.75C3.12502 2.37082 6.97502 0.833321 12.5 0.833321C18.025 0.833321 21.875 2.37082 21.875 3.75C21.875 5.12919 18.025 6.66669 12.5 6.66669Z" fill="#788793"/>
3
- <path d="M22.4122 5.23438C22.1247 5.23438 21.8913 5.42106 21.8913 5.65106C21.8913 7.03024 18.0413 8.56774 12.5163 8.56774C6.99131 8.56774 3.14131 7.03024 3.14131 5.65106C3.14131 5.42106 2.90796 5.23438 2.62046 5.23438C2.33296 5.23438 2.09961 5.42106 2.09961 5.65106C2.09961 7.75356 6.67563 9.40106 12.5163 9.40106C18.3569 9.40106 22.9329 7.75356 22.9329 5.65106C22.933 5.42106 22.6997 5.23438 22.4122 5.23438Z" fill="#788793"/>
4
- <path d="M22.4122 7.30473C22.1247 7.30473 21.8913 7.49141 21.8913 7.72141C21.8913 9.10055 18.0413 10.6381 12.5163 10.6381C6.99131 10.6381 3.14131 9.10055 3.14131 7.72137C3.14131 7.49137 2.90796 7.30469 2.62046 7.30469C2.33296 7.30469 2.09961 7.49137 2.09961 7.72137C2.09961 9.82387 6.67563 11.4714 12.5163 11.4714C18.3569 11.4714 22.9329 9.82387 22.9329 7.72137C22.933 7.49137 22.6997 7.30473 22.4122 7.30473Z" fill="#788793"/>
5
- <path d="M22.3959 3.33331C22.1084 3.33331 21.875 3.51999 21.875 3.74999V16.25C21.875 17.6292 18.025 19.1667 12.5 19.1667C6.97502 19.1667 3.12502 17.6292 3.12502 16.25V3.74999C3.12502 3.51999 2.89167 3.33331 2.60417 3.33331C2.31667 3.33331 2.08337 3.51999 2.08337 3.74999V16.25C2.08337 18.3525 6.6594 20 12.5 20C18.3406 20 22.9167 18.3525 22.9167 16.25V3.74999C22.9167 3.51999 22.6834 3.33331 22.3959 3.33331Z" fill="#788793"/>
6
- </svg>
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
4
- <title>icons/processbuilder/end-event</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs>
7
- <circle id="path-1" cx="29" cy="17" r="11"></circle>
8
- </defs>
9
- <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
- <g id="Build/Applications/Processes/ProcessBuilder" transform="translate(-18.000000, -307.000000)">
11
- <g id="10" transform="translate(0.000000, 301.000000)">
12
- <g id="icons/processbuilder/end-event">
13
- <use fill="#FFF1F2" fill-rule="evenodd" xlink:href="#path-1"></use>
14
- <circle stroke="#ED4757" stroke-width="2" cx="29" cy="17" r="10"></circle>
15
- </g>
16
- </g>
17
- </g>
18
- </g>
19
- </svg>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="21px" height="22px" viewBox="0 0 21 22" version="1.1" xmlns="http://www.w3.org/2000/svg">
3
- <title>icons/processbuilder/exlusive-gateway</title>
4
- <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
- <g id="Build/Applications/Processes/ProcessBuilder" transform="translate(-19.000000, -76.000000)">
6
- <g id="3" transform="translate(0.000000, 70.000000)">
7
- <g id="icons/processbuilder/exlusive-gateway" transform="translate(19.000000, 6.000000)">
8
- <path d="M0.625628427,10.6725043 C0.458127928,10.8493013 0.458171241,11.1511931 0.625436542,11.3272938 L10.1747502,21.3788402 C10.3282145,21.5403866 10.5717855,21.5403866 10.7252498,21.3788402 L20.274552,11.3266381 C20.441816,11.1505655 20.441816,10.8487669 20.2745635,10.6727062 L10.7252498,0.621159773 C10.5717855,0.459613409 10.3282145,0.459613409 10.1747387,0.621171796 L0.625628427,10.6725043 Z"
9
- id="3" stroke="#788793"/>
10
- </g>
11
- </g>
12
- </g>
13
- </g>
14
- </svg>
@@ -1,5 +0,0 @@
1
- <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22Z" fill="#fff4d3"/>
3
- <path d="M11 21.5C16.799 21.5 21.5 16.799 21.5 11C21.5 5.20101 16.799 0.5 11 0.5C5.20101 0.5 0.5 5.20101 0.5 11C0.5 16.799 5.20101 21.5 11 21.5Z" stroke="#fabd2d"/>
4
- <path d="M11 19.5C15.6944 19.5 19.5 15.6944 19.5 11C19.5 6.30558 15.6944 2.5 11 2.5C6.30558 2.5 2.5 6.30558 2.5 11C2.5 15.6944 6.30558 19.5 11 19.5Z" stroke="#fabd2d"/>
5
- </svg>
@@ -1,6 +0,0 @@
1
- <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="5" y="6" width="12" height="9" fill="black"/>
3
- <path d="M11 21.5C16.799 21.5 21.5 16.799 21.5 11C21.5 5.20101 16.799 0.5 11 0.5C5.20101 0.5 0.5 5.20101 0.5 11C0.5 16.799 5.20101 21.5 11 21.5Z" stroke="#788793"/>
4
- <path d="M11 19.5C15.6944 19.5 19.5 15.6944 19.5 11C19.5 6.30558 15.6944 2.5 11 2.5C6.30558 2.5 2.5 6.30558 2.5 11C2.5 15.6944 6.30558 19.5 11 19.5Z" stroke="#788793"/>
5
- <path d="M15.9298 15.4253H6.07027C5.80048 15.4253 5.56654 15.3359 5.36782 15.1595L8.76914 11.7471C8.85422 11.8084 8.93291 11.8657 9.00387 11.9178C9.25849 12.1059 9.46493 12.2527 9.62351 12.3579C9.78194 12.4633 9.99293 12.5707 10.2565 12.6804C10.52 12.7903 10.7655 12.845 10.9933 12.845H11H11.0067C11.2344 12.845 11.48 12.7902 11.7435 12.6804C12.0069 12.5707 12.2179 12.4633 12.3765 12.3579C12.5351 12.2527 12.7416 12.1059 12.9961 11.9178C13.0708 11.8636 13.1499 11.8067 13.2315 11.748L16.6322 15.1595C16.4334 15.3359 16.1997 15.4253 15.9298 15.4253ZM5.67459 9.61452C6.62031 10.256 7.39064 10.7842 7.98851 11.2008L5 14.1839V9.03448C5.19588 9.2523 5.42087 9.44568 5.67459 9.61452ZM16.3319 9.61451C16.5857 9.44116 16.8084 9.24792 17 9.03448V14.1839L14.0115 11.202C14.6484 10.7581 15.4219 10.2291 16.3319 9.61451ZM15.9285 6C16.2187 6 16.4698 6.10452 16.682 6.31346C16.8938 6.52265 17 6.77382 17 7.06735C17 7.41868 16.8905 7.75445 16.6721 8.07455C16.4533 8.39465 16.181 8.66826 15.8552 8.89499C14.7717 9.64411 13.954 10.2097 13.3989 10.5939C13.0938 10.805 12.8668 10.9621 12.7212 11.0631C12.6996 11.0782 12.6659 11.1021 12.6211 11.1341C12.5728 11.1685 12.5117 11.2123 12.4366 11.2665C12.2915 11.3711 12.1709 11.4556 12.0749 11.5201C11.9788 11.5845 11.8628 11.6568 11.7266 11.7369C11.5904 11.817 11.4621 11.877 11.3416 11.917C11.221 11.957 11.1094 11.977 11.0068 11.977H11.0001H10.9934C10.8908 11.977 10.7792 11.957 10.6586 11.917C10.5381 11.877 10.4097 11.8168 10.2735 11.7369C10.1373 11.6568 10.0211 11.5847 9.92528 11.5201C9.82929 11.4556 9.70877 11.3711 9.56369 11.2665C9.48835 11.2123 9.42728 11.1685 9.37902 11.134C9.33423 11.1021 9.30048 11.0781 9.27902 11.0631C9.09209 10.9321 8.86568 10.7743 8.60314 10.5921C8.29514 10.3781 7.93673 10.1301 7.52458 9.8456C6.7611 9.3187 6.30349 9.00179 6.15174 8.89499C5.87494 8.70823 5.61374 8.45149 5.36826 8.12462C5.12279 7.79762 5 7.4941 5 7.21398C5 6.86719 5.09253 6.57802 5.27789 6.34679C5.4631 6.11568 5.72749 6 6.07137 6H15.9285Z" stroke="#788793"/>
6
- </svg>
@@ -1,11 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="27px" height="18px" viewBox="0 0 27 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
4
- <title>custom/processbuilder/pool2</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs></defs>
7
- <g id="custom/processbuilder/pool2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
- <rect id="Rectangle" stroke="#333333" fill="#FFFFFF" x="0.5" y="0.5" width="26" height="17"></rect>
9
- <rect id="Rectangle-3" fill="#333333" x="7" y="1" width="1" height="16"></rect>
10
- </g>
11
- </svg>
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
4
- <title>icons/processbuilder/start-event</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs>
7
- <circle id="path-1" cx="29" cy="17" r="11"></circle>
8
- </defs>
9
- <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
- <g id="Build/Applications/Processes/ProcessBuilder" transform="translate(-18.000000, -175.000000)">
11
- <g id="6" transform="translate(0.000000, 169.000000)">
12
- <g id="icons/processbuilder/start-event">
13
- <use fill="#EDFFFC" fill-rule="evenodd" xlink:href="#path-1"></use>
14
- <circle stroke="#00BF9C" stroke-width="1" cx="29" cy="17" r="10.5"></circle>
15
- </g>
16
- </g>
17
- </g>
18
- </g>
19
- </svg>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="27px" height="18px" viewBox="0 0 27 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
4
- <title>icons/processbuilder/task</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs></defs>
7
- <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
- <g id="Build/Applications/Processes/ProcessBuilder" transform="translate(-16.000000, -12.000000)" stroke="#788793">
9
- <g id="1" transform="translate(0.000000, 4.000000)">
10
- <rect id="icons/processbuilder/task" x="16.5" y="8.5" width="25.3076923" height="17" rx="2"></rect>
11
- </g>
12
- </g>
13
- </g>
14
- </svg>
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="31px" height="18px" viewBox="0 0 31 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
4
- <title>icons/processbuilder/text-annotation</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs></defs>
7
- <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
- <g id="Build/Applications/Processes/ProcessBuilder" transform="translate(-14.000000, -573.000000)" fill="#788793">
9
- <g id="18" transform="translate(0.000000, 565.000000)">
10
- <g id="icons/processbuilder/text-annotation" transform="translate(14.000000, 7.000000)">
11
- <path d="M2.945435,2.96366812 C3.4877712,2.96366812 3.92733623,2.52423743 3.92733623,1.98190123 C3.92733623,1.43956503 3.48790554,1 2.945435,1 L0.981901229,1 C0.439565032,1 0,1.43956503 0,1.98190123 L0,18.0183675 C0,18.5603006 0.439430691,19 0.981901229,19 L2.945435,19 C3.4877712,19 3.92733623,18.5605693 3.92733623,18.0183675 C3.92733623,17.4760313 3.48790554,17.0363319 2.945435,17.0363319 L1.96366812,17.0363319 L1.96366812,2.96366812 L2.945435,2.96366812 Z" id="Shape" fill-rule="nonzero"></path>
12
- <path d="M8.640625,15 L7.47851562,15 L7.47851562,6.03808594 L4.31347656,6.03808594 L4.31347656,5.00585938 L11.8056641,5.00585938 L11.8056641,6.03808594 L8.640625,6.03808594 L8.640625,15 Z M15.3261719,15.1367188 C14.2187445,15.1367188 13.3448925,14.7994825 12.7045898,14.125 C12.0642872,13.4505175 11.7441406,12.5140034 11.7441406,11.3154297 C11.7441406,10.1077414 12.0415009,9.14844105 12.6362305,8.4375 C13.23096,7.72655895 14.0296174,7.37109375 15.0322266,7.37109375 C15.9710333,7.37109375 16.7138645,7.67984717 17.2607422,8.29736328 C17.8076199,8.91487939 18.0810547,9.72948713 18.0810547,10.7412109 L18.0810547,11.4589844 L12.9199219,11.4589844 C12.9427084,12.3385461 13.1648742,13.0061826 13.5864258,13.4619141 C14.0079774,13.9176455 14.6015587,14.1455078 15.3671875,14.1455078 C16.1738322,14.1455078 16.9713502,13.9768897 17.7597656,13.6396484 L17.7597656,14.6513672 C17.358722,14.8245451 16.9793312,14.9487301 16.621582,15.0239258 C16.2638328,15.0991215 15.8320338,15.1367188 15.3261719,15.1367188 Z M15.0185547,8.32128906 C14.4169892,8.32128906 13.937339,8.51725064 13.5795898,8.90917969 C13.2218407,9.30110873 13.011068,9.84342102 12.9472656,10.5361328 L16.8642578,10.5361328 C16.8642578,9.82063444 16.7047542,9.2726256 16.3857422,8.89208984 C16.0667302,8.51155409 15.6110056,8.32128906 15.0185547,8.32128906 Z M21.5400391,11.1650391 L18.9355469,7.5078125 L20.2275391,7.5078125 L22.203125,10.3789062 L24.171875,7.5078125 L25.4501953,7.5078125 L22.8457031,11.1650391 L25.5869141,15 L24.3017578,15 L22.203125,11.9648438 L20.0839844,15 L18.7988281,15 L21.5400391,11.1650391 Z M29.4902344,14.2001953 C29.6907562,14.2001953 29.8844392,14.1853843 30.0712891,14.1557617 C30.258139,14.1261392 30.4062495,14.0953778 30.515625,14.0634766 L30.515625,14.9316406 C30.3925775,14.9908857 30.211427,15.0398761 29.972168,15.0786133 C29.732909,15.1173505 29.5175791,15.1367188 29.3261719,15.1367188 C27.8769459,15.1367188 27.1523438,14.37338 27.1523438,12.8466797 L27.1523438,8.38964844 L26.0791016,8.38964844 L26.0791016,7.84277344 L27.1523438,7.37109375 L27.6308594,5.77148438 L28.2871094,5.77148438 L28.2871094,7.5078125 L30.4609375,7.5078125 L30.4609375,8.38964844 L28.2871094,8.38964844 L28.2871094,12.7988281 C28.2871094,13.2500023 28.3942047,13.596353 28.6083984,13.8378906 C28.8225922,14.0794283 29.1165346,14.2001953 29.4902344,14.2001953 Z" id="Text"></path>
13
- </g>
14
- </g>
15
- </g>
16
- </g>
17
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
2
- <path fill="#fff"
3
- d="M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm416 56v324c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V140c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12zm-272 68c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208z"/>
4
- </svg>