From 3b4dff94ae4810b089b8a0983e8baf60a97c1ff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C5=BEe=20Fortun?= Date: Mon, 29 Jan 2024 16:58:59 +0100 Subject: [PATCH] Add theme support to workflows --- .../components/Common/RecordListFilter.vue | 2 +- client/web/workflow/public/icons/break.svg | 2 +- .../workflow/public/icons/clock-success.svg | 2 +- client/web/workflow/public/icons/continue.svg | 2 +- .../web/workflow/public/icons/dark/break.svg | 1 + .../public/icons/dark/clock-danger.svg | 1 + .../public/icons/dark/clock-success.svg | 1 + .../workflow/public/icons/dark/continue.svg | 1 + .../web/workflow/public/icons/dark/debug.svg | 1 + .../web/workflow/public/icons/dark/delay.svg | 1 + .../public/icons/dark/error-handler.svg | 1 + .../web/workflow/public/icons/dark/error.svg | 1 + .../public/icons/dark/exec-workflow.svg | 1 + .../public/icons/dark/expressions.svg | 10 +++ .../workflow/public/icons/dark/function.svg | 18 +++++ .../public/icons/dark/gateway-exclusive.svg | 1 + .../public/icons/dark/gateway-inclusive.svg | 1 + .../public/icons/dark/gateway-parallel.svg | 1 + .../web/workflow/public/icons/dark/grid.svg | 13 ++++ .../workflow/public/icons/dark/iterator.svg | 5 ++ .../web/workflow/public/icons/dark/prompt.svg | 1 + .../workflow/public/icons/dark/swimlane.svg | 1 + .../public/icons/dark/termination.svg | 1 + .../workflow/public/icons/dark/trigger.svg | 1 + client/web/workflow/public/icons/debug.svg | 2 +- client/web/workflow/public/icons/delay.svg | 2 +- .../workflow/public/icons/error-handler.svg | 2 +- client/web/workflow/public/icons/error.svg | 2 +- .../workflow/public/icons/exec-workflow.svg | 2 +- .../web/workflow/public/icons/expressions.svg | 6 +- client/web/workflow/public/icons/function.svg | 10 +-- .../public/icons/gateway-exclusive.svg | 2 +- .../public/icons/gateway-inclusive.svg | 2 +- .../public/icons/gateway-parallel.svg | 2 +- client/web/workflow/public/icons/iterator.svg | 4 +- client/web/workflow/public/icons/play.svg | 2 +- client/web/workflow/public/icons/prompt.svg | 2 +- client/web/workflow/public/icons/swimlane.svg | 2 +- .../web/workflow/public/icons/termination.svg | 2 +- client/web/workflow/public/icons/trigger.svg | 2 +- .../src/components/WorkflowEditor.vue | 66 ++++++++++--------- client/web/workflow/src/lib/style.js | 36 +++++----- 42 files changed, 143 insertions(+), 75 deletions(-) create mode 100644 client/web/workflow/public/icons/dark/break.svg create mode 100644 client/web/workflow/public/icons/dark/clock-danger.svg create mode 100644 client/web/workflow/public/icons/dark/clock-success.svg create mode 100644 client/web/workflow/public/icons/dark/continue.svg create mode 100644 client/web/workflow/public/icons/dark/debug.svg create mode 100644 client/web/workflow/public/icons/dark/delay.svg create mode 100644 client/web/workflow/public/icons/dark/error-handler.svg create mode 100644 client/web/workflow/public/icons/dark/error.svg create mode 100644 client/web/workflow/public/icons/dark/exec-workflow.svg create mode 100644 client/web/workflow/public/icons/dark/expressions.svg create mode 100644 client/web/workflow/public/icons/dark/function.svg create mode 100644 client/web/workflow/public/icons/dark/gateway-exclusive.svg create mode 100644 client/web/workflow/public/icons/dark/gateway-inclusive.svg create mode 100644 client/web/workflow/public/icons/dark/gateway-parallel.svg create mode 100644 client/web/workflow/public/icons/dark/grid.svg create mode 100644 client/web/workflow/public/icons/dark/iterator.svg create mode 100644 client/web/workflow/public/icons/dark/prompt.svg create mode 100644 client/web/workflow/public/icons/dark/swimlane.svg create mode 100644 client/web/workflow/public/icons/dark/termination.svg create mode 100644 client/web/workflow/public/icons/dark/trigger.svg diff --git a/client/web/compose/src/components/Common/RecordListFilter.vue b/client/web/compose/src/components/Common/RecordListFilter.vue index 825afe0ae..807df9164 100644 --- a/client/web/compose/src/components/Common/RecordListFilter.vue +++ b/client/web/compose/src/components/Common/RecordListFilter.vue @@ -688,7 +688,7 @@ export default { max-width: 99vw; max-height: 60vh; padding: 0; - color: #2d2d2d; + color: var(--black); text-align: center; background: var(--white); border-radius: 0.25rem; diff --git a/client/web/workflow/public/icons/break.svg b/client/web/workflow/public/icons/break.svg index 5bb1365b7..7810a72a7 100644 --- a/client/web/workflow/public/icons/break.svg +++ b/client/web/workflow/public/icons/break.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/clock-success.svg b/client/web/workflow/public/icons/clock-success.svg index 1e373f876..604d35f33 100644 --- a/client/web/workflow/public/icons/clock-success.svg +++ b/client/web/workflow/public/icons/clock-success.svg @@ -1 +1 @@ - + diff --git a/client/web/workflow/public/icons/continue.svg b/client/web/workflow/public/icons/continue.svg index e0748b55c..3c7384139 100644 --- a/client/web/workflow/public/icons/continue.svg +++ b/client/web/workflow/public/icons/continue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/break.svg b/client/web/workflow/public/icons/dark/break.svg new file mode 100644 index 000000000..b72a51824 --- /dev/null +++ b/client/web/workflow/public/icons/dark/break.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/clock-danger.svg b/client/web/workflow/public/icons/dark/clock-danger.svg new file mode 100644 index 000000000..abc18f797 --- /dev/null +++ b/client/web/workflow/public/icons/dark/clock-danger.svg @@ -0,0 +1 @@ + diff --git a/client/web/workflow/public/icons/dark/clock-success.svg b/client/web/workflow/public/icons/dark/clock-success.svg new file mode 100644 index 000000000..604d35f33 --- /dev/null +++ b/client/web/workflow/public/icons/dark/clock-success.svg @@ -0,0 +1 @@ + diff --git a/client/web/workflow/public/icons/dark/continue.svg b/client/web/workflow/public/icons/dark/continue.svg new file mode 100644 index 000000000..3c0008e14 --- /dev/null +++ b/client/web/workflow/public/icons/dark/continue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/debug.svg b/client/web/workflow/public/icons/dark/debug.svg new file mode 100644 index 000000000..b934dbe66 --- /dev/null +++ b/client/web/workflow/public/icons/dark/debug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/delay.svg b/client/web/workflow/public/icons/dark/delay.svg new file mode 100644 index 000000000..5b0798cee --- /dev/null +++ b/client/web/workflow/public/icons/dark/delay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/error-handler.svg b/client/web/workflow/public/icons/dark/error-handler.svg new file mode 100644 index 000000000..aad6c06ab --- /dev/null +++ b/client/web/workflow/public/icons/dark/error-handler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/error.svg b/client/web/workflow/public/icons/dark/error.svg new file mode 100644 index 000000000..15ec85f9d --- /dev/null +++ b/client/web/workflow/public/icons/dark/error.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/exec-workflow.svg b/client/web/workflow/public/icons/dark/exec-workflow.svg new file mode 100644 index 000000000..fe23813c1 --- /dev/null +++ b/client/web/workflow/public/icons/dark/exec-workflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/expressions.svg b/client/web/workflow/public/icons/dark/expressions.svg new file mode 100644 index 000000000..286f43a82 --- /dev/null +++ b/client/web/workflow/public/icons/dark/expressions.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/client/web/workflow/public/icons/dark/function.svg b/client/web/workflow/public/icons/dark/function.svg new file mode 100644 index 000000000..28ab91d67 --- /dev/null +++ b/client/web/workflow/public/icons/dark/function.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/client/web/workflow/public/icons/dark/gateway-exclusive.svg b/client/web/workflow/public/icons/dark/gateway-exclusive.svg new file mode 100644 index 000000000..f1c7089b3 --- /dev/null +++ b/client/web/workflow/public/icons/dark/gateway-exclusive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/gateway-inclusive.svg b/client/web/workflow/public/icons/dark/gateway-inclusive.svg new file mode 100644 index 000000000..8cee51683 --- /dev/null +++ b/client/web/workflow/public/icons/dark/gateway-inclusive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/gateway-parallel.svg b/client/web/workflow/public/icons/dark/gateway-parallel.svg new file mode 100644 index 000000000..d988186e9 --- /dev/null +++ b/client/web/workflow/public/icons/dark/gateway-parallel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/grid.svg b/client/web/workflow/public/icons/dark/grid.svg new file mode 100644 index 000000000..517a8679c --- /dev/null +++ b/client/web/workflow/public/icons/dark/grid.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/iterator.svg b/client/web/workflow/public/icons/dark/iterator.svg new file mode 100644 index 000000000..39499322b --- /dev/null +++ b/client/web/workflow/public/icons/dark/iterator.svg @@ -0,0 +1,5 @@ + diff --git a/client/web/workflow/public/icons/dark/prompt.svg b/client/web/workflow/public/icons/dark/prompt.svg new file mode 100644 index 000000000..9afe4036b --- /dev/null +++ b/client/web/workflow/public/icons/dark/prompt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/swimlane.svg b/client/web/workflow/public/icons/dark/swimlane.svg new file mode 100644 index 000000000..cfb8e3cf1 --- /dev/null +++ b/client/web/workflow/public/icons/dark/swimlane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/termination.svg b/client/web/workflow/public/icons/dark/termination.svg new file mode 100644 index 000000000..676dfefc6 --- /dev/null +++ b/client/web/workflow/public/icons/dark/termination.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/dark/trigger.svg b/client/web/workflow/public/icons/dark/trigger.svg new file mode 100644 index 000000000..d3cf10caf --- /dev/null +++ b/client/web/workflow/public/icons/dark/trigger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/web/workflow/public/icons/debug.svg b/client/web/workflow/public/icons/debug.svg index 14ba6ba0e..a1d848eca 100644 --- a/client/web/workflow/public/icons/debug.svg +++ b/client/web/workflow/public/icons/debug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/delay.svg b/client/web/workflow/public/icons/delay.svg index a7b1f16e8..3db5dc2a9 100644 --- a/client/web/workflow/public/icons/delay.svg +++ b/client/web/workflow/public/icons/delay.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/error-handler.svg b/client/web/workflow/public/icons/error-handler.svg index 5a38abaf7..6b94097ea 100644 --- a/client/web/workflow/public/icons/error-handler.svg +++ b/client/web/workflow/public/icons/error-handler.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/error.svg b/client/web/workflow/public/icons/error.svg index 3d12192b2..3fa61465b 100644 --- a/client/web/workflow/public/icons/error.svg +++ b/client/web/workflow/public/icons/error.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/exec-workflow.svg b/client/web/workflow/public/icons/exec-workflow.svg index 798331230..de13a3ee4 100644 --- a/client/web/workflow/public/icons/exec-workflow.svg +++ b/client/web/workflow/public/icons/exec-workflow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/expressions.svg b/client/web/workflow/public/icons/expressions.svg index b9588c352..85afb3c8f 100644 --- a/client/web/workflow/public/icons/expressions.svg +++ b/client/web/workflow/public/icons/expressions.svg @@ -2,9 +2,9 @@ - - - + + + diff --git a/client/web/workflow/public/icons/function.svg b/client/web/workflow/public/icons/function.svg index 13312b9c4..cfc26a55f 100644 --- a/client/web/workflow/public/icons/function.svg +++ b/client/web/workflow/public/icons/function.svg @@ -1,17 +1,17 @@ - + - - - - + + + + diff --git a/client/web/workflow/public/icons/gateway-exclusive.svg b/client/web/workflow/public/icons/gateway-exclusive.svg index 75a98e10c..3052bc55d 100644 --- a/client/web/workflow/public/icons/gateway-exclusive.svg +++ b/client/web/workflow/public/icons/gateway-exclusive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/gateway-inclusive.svg b/client/web/workflow/public/icons/gateway-inclusive.svg index 3cedbe6df..7ff1a31c2 100644 --- a/client/web/workflow/public/icons/gateway-inclusive.svg +++ b/client/web/workflow/public/icons/gateway-inclusive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/gateway-parallel.svg b/client/web/workflow/public/icons/gateway-parallel.svg index d8d1d4e94..629ed70e1 100644 --- a/client/web/workflow/public/icons/gateway-parallel.svg +++ b/client/web/workflow/public/icons/gateway-parallel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/iterator.svg b/client/web/workflow/public/icons/iterator.svg index 402725991..79087d070 100644 --- a/client/web/workflow/public/icons/iterator.svg +++ b/client/web/workflow/public/icons/iterator.svg @@ -1,5 +1,5 @@ diff --git a/client/web/workflow/public/icons/play.svg b/client/web/workflow/public/icons/play.svg index 8e8fdba6e..1491d1e5d 100644 --- a/client/web/workflow/public/icons/play.svg +++ b/client/web/workflow/public/icons/play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/prompt.svg b/client/web/workflow/public/icons/prompt.svg index f162e2ef5..4b5b42a79 100644 --- a/client/web/workflow/public/icons/prompt.svg +++ b/client/web/workflow/public/icons/prompt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/swimlane.svg b/client/web/workflow/public/icons/swimlane.svg index 516f12fc3..8bc42e7a3 100644 --- a/client/web/workflow/public/icons/swimlane.svg +++ b/client/web/workflow/public/icons/swimlane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/termination.svg b/client/web/workflow/public/icons/termination.svg index 83fd803a0..d09bbd849 100644 --- a/client/web/workflow/public/icons/termination.svg +++ b/client/web/workflow/public/icons/termination.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/public/icons/trigger.svg b/client/web/workflow/public/icons/trigger.svg index 9f9c22fc1..cacb3d69e 100644 --- a/client/web/workflow/public/icons/trigger.svg +++ b/client/web/workflow/public/icons/trigger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/client/web/workflow/src/components/WorkflowEditor.vue b/client/web/workflow/src/components/WorkflowEditor.vue index 038569b7e..cbfb62015 100644 --- a/client/web/workflow/src/components/WorkflowEditor.vue +++ b/client/web/workflow/src/components/WorkflowEditor.vue @@ -24,11 +24,7 @@ - +
- +
Initial scope', ...properties.map(({ name = '', type = '' }) => { - return `${name}${type || 'Any'}` + return `${name}${type || 'Any'}` }), ] } @@ -1754,7 +1754,7 @@ export default { mxConstants.CONNECT_HANDLE_FILLCOLOR = '#4D7281' mxConstants.VALID_COLOR = '#A7D0E3' - mxConstants.GUIDE_COLOR = '#2D2D2D' + mxConstants.GUIDE_COLOR = '162425' mxConstants.GUIDE_STROKEWIDTH = 1 // Creates the default style for vertices @@ -1796,7 +1796,7 @@ export default { style[mxConstants.STYLE_HORIZONTAL] = false style[mxConstants.STYLE_VERTICAL_LABEL_POSITION] = mxConstants.ALIGN_MIDDLE style[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE - style[mxConstants.STYLE_FILLCOLOR] = 'white' + style[mxConstants.STYLE_FILLCOLOR] = 'var(--white)' style[mxConstants.STYLE_STROKECOLOR] = 'var(--dark)' style[mxConstants.STYLE_STROKEWIDTH] = 0 style[mxConstants.STYLE_STROKEWIDTH] = 2 @@ -1932,7 +1932,7 @@ export default { } // Image for fixed point - mxConstraintHandler.prototype.pointImage = new mxImage(`${mxClient.imageBasePath}/connection-point.svg`, 8, 8) + mxConstraintHandler.prototype.pointImage = new mxImage(this.getIcon('connection-point'), 8, 8) // On hover outline for fixed point mxConstraintHandler.prototype.createHighlightShape = function () { @@ -1959,6 +1959,8 @@ export default { dragElt.style.width = `${prototype.geometry.width}px` dragElt.style.height = `${prototype.geometry.height}px` + icon = this.getIcon(icon, this.currentTheme) + const img = toolbar.addMode(title, icon, funct) const ds = mxUtils.makeDraggable(img, graph, funct, dragElt, null, null, this.graph.autoscroll, true) @@ -2415,10 +2417,10 @@ export default { this.highlights = [] // Handle first cell & edge - this.highlights[this.highlights.push(new mxCellHighlight(this.graph, '#719430', 2)) - 1].highlight(this.graph.view.getState(this.graph.model.getCell(this.dryRun.cellID))) + this.highlights[this.highlights.push(new mxCellHighlight(this.graph, 'var(--success)', 2)) - 1].highlight(this.graph.view.getState(this.graph.model.getCell(this.dryRun.cellID))) const firstEdge = this.graph.model.getEdgesBetween(this.graph.model.getCell(this.dryRun.cellID), this.graph.model.getCell(firstStepID), true)[0] if (firstEdge) { - this.highlights[this.highlights.push(new mxCellHighlight(this.graph, '#719430', 2)) - 1].highlight(this.graph.view.getState(firstEdge)) + this.highlights[this.highlights.push(new mxCellHighlight(this.graph, 'var(--success)', 2)) - 1].highlight(this.graph.view.getState(firstEdge)) } // Handle others @@ -2432,7 +2434,7 @@ export default { if (cell && cell.index !== 0) { this.graph.model.getEdgesBetween(this.graph.model.getCell(cell.parentID), this.graph.model.getCell(stepID), true) .forEach(edge => { - this.highlights[this.highlights.push(new mxCellHighlight(this.graph, '#719430', 2)) - 1].highlight(this.graph.view.getState(edge)) + this.highlights[this.highlights.push(new mxCellHighlight(this.graph, 'var(--success)', 2)) - 1].highlight(this.graph.view.getState(edge)) }) } } else { @@ -2462,7 +2464,7 @@ export default { time.sum += stepTime this.graph.model.getEdgesBetween(this.graph.model.getCell(parentID), this.graph.model.getCell(stepID), true) .forEach(edge => { - this.highlights[this.highlights.push(new mxCellHighlight(this.graph, '#719430', 2)) - 1].highlight(this.graph.view.getState(edge)) + this.highlights[this.highlights.push(new mxCellHighlight(this.graph, 'var(--success)', 2)) - 1].highlight(this.graph.view.getState(edge)) }) }) @@ -2471,14 +2473,14 @@ export default { } // Set info overlay - const time = new mxCellOverlay(new mxImage(`${mxClient.imageBasePath}/clock-${error ? 'danger' : 'success'}.svg`, 16, 16), `${log}`) + const time = new mxCellOverlay(new mxImage(this.getIcon(`clock-${error ? 'danger' : 'success'}`), 16, 16), `${log}`) this.graph.addCellOverlay(this.graph.model.getCell(stepID), time) // Highlight cell based on error if (error) { - this.highlights[this.highlights.push(new mxCellHighlight(this.graph, '#E54122', 2)) - 1].highlight(this.graph.view.getState(this.graph.model.getCell(stepID))) + this.highlights[this.highlights.push(new mxCellHighlight(this.graph, 'var(--danger)', 2)) - 1].highlight(this.graph.view.getState(this.graph.model.getCell(stepID))) } else { - this.highlights[this.highlights.push(new mxCellHighlight(this.graph, '#719430', 2)) - 1].highlight(this.graph.view.getState(this.graph.model.getCell(stepID))) + this.highlights[this.highlights.push(new mxCellHighlight(this.graph, 'var(--success)', 2)) - 1].highlight(this.graph.view.getState(this.graph.model.getCell(stepID))) } } }) @@ -2537,6 +2539,10 @@ export default { }) .catch(this.toastErrorHandler(this.$t('notification:event-type-fetch-failed'))) }, + + getIcon (icon, mode = 'light') { + return `${mxClient.imageBasePath}/${mode === 'dark' ? 'dark/' : ''}${icon}.svg` + }, }, } @@ -2551,7 +2557,7 @@ export default { } .toolbar { - background-color: var(--gray-200) !important; + background-color: var(--sidebar-bg) !important; width: 66px; } @@ -2651,7 +2657,7 @@ export default { } .step-values tr.title { - background-color: white !important; + background-color: var(--light) !important; } .step-values tr.title th { diff --git a/client/web/workflow/src/lib/style.js b/client/web/workflow/src/lib/style.js index b41cce617..872798325 100644 --- a/client/web/workflow/src/lib/style.js +++ b/client/web/workflow/src/lib/style.js @@ -13,126 +13,126 @@ const kindToStyle = { visualSwimlane: { width: 320, height: 160, - icon: 'icons/swimlane.svg', + icon: 'swimlane', style: 'swimlane', }, expressions: { width: 200, height: 80, - icon: 'icons/expressions.svg', + icon: 'expressions', style: 'expressions', }, function: { width: 200, height: 80, - icon: 'icons/function.svg', + icon: 'function', style: 'function', }, iterator: { width: 200, height: 80, - icon: 'icons/iterator.svg', + icon: 'iterator', style: 'iterator', }, 'exec-workflow': { width: 200, height: 80, - icon: 'icons/exec-workflow.svg', + icon: 'exec-workflow', style: 'exec-workflow', }, break: { width: 200, height: 80, - icon: 'icons/break.svg', + icon: 'break', style: 'break', }, continue: { width: 200, height: 80, - icon: 'icons/continue.svg', + icon: 'continue', style: 'continue', }, trigger: { width: 200, height: 80, - icon: 'icons/trigger.svg', + icon: 'trigger', style: 'trigger', }, 'error-handler': { width: 200, height: 80, - icon: 'icons/error-handler.svg', + icon: 'error-handler', style: 'error-handler', }, error: { width: 200, height: 80, - icon: 'icons/error.svg', + icon: 'error', style: 'error', }, termination: { width: 200, height: 80, - icon: 'icons/termination.svg', + icon: 'termination', style: 'termination', }, gatewayExcl: { width: 200, height: 80, - icon: 'icons/gateway-exclusive.svg', + icon: 'gateway-exclusive', style: 'gatewayExclusive', }, gatewayIncl: { width: 200, height: 80, - icon: 'icons/gateway-inclusive.svg', + icon: 'gateway-inclusive', style: 'gatewayInclusive', }, gatewayFork: { width: 200, height: 80, - icon: 'icons/gateway-parallel.svg', + icon: 'gateway-parallel', style: 'gatewayParallel', }, gatewayJoin: { width: 200, height: 80, - icon: 'icons/gateway-parallel.svg', + icon: 'gateway-parallel', style: 'gatewayParallel', }, prompt: { width: 200, height: 80, - icon: 'icons/prompt.svg', + icon: 'prompt', style: 'prompt', }, delay: { width: 200, height: 80, - icon: 'icons/delay.svg', + icon: 'delay', style: 'delay', }, debug: { width: 200, height: 80, - icon: 'icons/debug.svg', + icon: 'debug', style: 'debug', }, }