diff --git a/src/diagrams/flowchart/flowDb.js b/src/diagrams/flowchart/flowDb.js
index 275e9c39d..140b820da 100644
--- a/src/diagrams/flowchart/flowDb.js
+++ b/src/diagrams/flowchart/flowDb.js
@@ -181,14 +181,7 @@ const setLink = function (id, linkStr) {
return
}
if (typeof vertices[id] !== 'undefined') {
- funs.push(function (element) {
- const elem = d3.select(element).select(`[id="${id}"]`)
- if (elem !== null) {
- elem.on('click', function () {
- window.open(linkStr, 'newTab')
- })
- }
- })
+ vertices[id].link = linkStr
}
}
export const getTooltip = function (id) {
diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js
index 237526505..28c010218 100644
--- a/src/diagrams/flowchart/flowRenderer.js
+++ b/src/diagrams/flowchart/flowRenderer.js
@@ -70,6 +70,9 @@ export const addVertices = function (vert, g) {
verticeText = verticeText.replace(/fa:fa[\w-]+/g, function (s) {
return ''
})
+ if (vertice.link) {
+ verticeText = '' + verticeText + ''
+ }
} else {
const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text')
@@ -85,7 +88,14 @@ export const addVertices = function (vert, g) {
}
labelTypeStr = 'svg'
- verticeText = svgLabel
+ if (vertice.link) {
+ const link = document.createElementNS('http://www.w3.org/2000/svg', 'a')
+ link.setAttributeNS('http://www.w3.org/2000/svg', 'href', vertice.link)
+ link.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener')
+ verticeText = link
+ } else {
+ verticeText = svgLabel
+ }
}
let radious = 0