update label in canvas
This commit is contained in:
1 parent
79e9890b46
commit
8692a849f7
2 files changed
+25
-17
No files matched your search
+4
-5
@@ -3,13 +3,13 @@
|
||||
{"type":"text","text":"User","id":"e4453b07c7efb110","x":-320,"y":-300,"width":100,"height":60,"color":"4"},
|
||||
{"type":"text","text":"Role","id":"6f83bef240cef0a0","x":-35,"y":-300,"width":100,"height":60,"color":"4"},
|
||||
{"type":"text","text":"Group","id":"516af98a002c6f8a","x":-320,"y":-150,"width":100,"height":60,"color":"4"},
|
||||
{"type":"text","text":"Inherited Group","id":"a53bf8944bdb649a","x":-640,"y":-150,"width":170,"height":60,"color":"4"},
|
||||
{"type":"text","text":"Menu","id":"d9f6873f51bb0add","x":-605,"y":30,"width":100,"height":60,"color":"3"},
|
||||
{"type":"text","text":"Views","id":"296c822362e95946","x":-420,"y":30,"width":100,"height":60,"color":"3"},
|
||||
{"type":"text","text":"Access Rights","id":"39e667b4bb0e6748","x":-220,"y":30,"width":170,"height":60,"color":"1"},
|
||||
{"type":"text","text":"Model + Domain + Access Type","id":"f63c21d203fff995","x":130,"y":170,"width":175,"height":60,"color":"3"},
|
||||
{"type":"text","text":"Model + Access Type","id":"0327dc932901ada1","x":-205,"y":170,"width":140,"height":60,"color":"3"},
|
||||
{"type":"text","text":"Record Roles","id":"eb6e29f1e861d07c","x":130,"y":30,"width":170,"height":60,"color":"1"}
|
||||
{"type":"text","text":"Record Roles","id":"eb6e29f1e861d07c","x":130,"y":30,"width":170,"height":60,"color":"1"},
|
||||
{"type":"text","text":"Inherited Group","id":"a53bf8944bdb649a","x":-675,"y":-150,"width":170,"height":60,"color":"4"}
|
||||
],
|
||||
"edges":[
|
||||
{"id":"dd8f3c35a30ff885","fromNode":"6f83bef240cef0a0","fromSide":"left","toNode":"e4453b07c7efb110","toSide":"right","label":"assign"},
|
||||
@@ -18,11 +18,10 @@
|
||||
{"id":"27abfa98f7847086","fromNode":"516af98a002c6f8a","fromSide":"left","toNode":"a53bf8944bdb649a","toSide":"right","label":"include"},
|
||||
{"id":"cfee08be00958a5c","fromNode":"516af98a002c6f8a","fromSide":"bottom","toNode":"d9f6873f51bb0add","toSide":"top","label":"grant"},
|
||||
{"id":"1dbc344b6d38d8d4","fromNode":"516af98a002c6f8a","fromSide":"bottom","toNode":"296c822362e95946","toSide":"top","label":"grant"},
|
||||
{"id":"07ab12d0a33df69e","fromNode":"516af98a002c6f8a","fromSide":"bottom","toNode":"39e667b4bb0e6748","toSide":"top","label":"include"},
|
||||
{"id":"c1b494761ae52b4a","fromNode":"516af98a002c6f8a","fromSide":"bottom","toNode":"eb6e29f1e861d07c","toSide":"top","label":"include"},
|
||||
{"id":"c19956127b4edab2","fromNode":"39e667b4bb0e6748","fromSide":"top","toNode":"516af98a002c6f8a","toSide":"bottom"},
|
||||
{"id":"5037b48eee560a2e","fromNode":"39e667b4bb0e6748","fromSide":"bottom","toNode":"0327dc932901ada1","toSide":"top","label":"grant"},
|
||||
{"id":"0f4a0e62d9c4ef36","fromNode":"eb6e29f1e861d07c","fromSide":"bottom","toNode":"f63c21d203fff995","toSide":"top","label":"grant"},
|
||||
{"id":"0d2daca977ce8fad","fromNode":"f63c21d203fff995","fromSide":"left","toNode":"0327dc932901ada1","toSide":"right","label":"overwrite"}
|
||||
{"id":"0d2daca977ce8fad","fromNode":"f63c21d203fff995","fromSide":"left","toNode":"0327dc932901ada1","toSide":"right","label":"overwrite"},
|
||||
{"id":"98749a5c68e477a3","fromNode":"516af98a002c6f8a","fromSide":"bottom","toNode":"39e667b4bb0e6748","toSide":"top","label":"include"}
|
||||
]
|
||||
}
|
||||
@@ -11,6 +11,7 @@ sitemap
|
||||
*/
|
||||
|
||||
// settings
|
||||
const debug = false
|
||||
const ignoreFiles = ['_navbar.md', '_sidbar.md']
|
||||
const scheme = 'https://'
|
||||
const hostname = 'wiki.mint-system.ch'
|
||||
@@ -229,25 +230,33 @@ function renderEdge(edge) {
|
||||
|
||||
if(edge['label']) {
|
||||
|
||||
// Calculate position with offset
|
||||
// Calculate position of label
|
||||
let labelLength = edge['label'].length*4
|
||||
let labelX = fromX - labelLength
|
||||
let labelY = fromY
|
||||
|
||||
|
||||
if (toX < fromX) {
|
||||
labelX -= Math.abs(toX - fromX)/2
|
||||
}
|
||||
if (toX > fromX) {
|
||||
labelX += Math.abs((fromX-toX)/2)
|
||||
}
|
||||
if (toY > fromY) {
|
||||
labelY += Math.abs((fromY-toY)/2)
|
||||
}
|
||||
if (toX < fromX) {
|
||||
labelX -= Math.abs((toX-fromY)/2)
|
||||
labelX += Math.abs(fromX - toX)/2
|
||||
}
|
||||
if (toY < fromY) {
|
||||
labelY -= Math.abs((toY-fromY)/2)
|
||||
labelY += Math.abs(toY - fromY)/2
|
||||
}
|
||||
if (toY > fromY) {
|
||||
labelY += Math.abs(fromY - toY)/2
|
||||
}
|
||||
// console.log(`(${labelX}/${labelY}) toX:${toX} fromX:${fromX} toY:${toY} fromY:${fromY}`)
|
||||
|
||||
label_text = edge['label']
|
||||
if (debug) {
|
||||
label_text += ` (${labelX}/${labelY})`
|
||||
}
|
||||
|
||||
label = content = `<text x="${labelX}" y="${labelY}" font-family="${fontFamily}" fill="${fontColor}">${edge['label']}</text>`
|
||||
label = `
|
||||
<text x="${labelX}" y="${labelY}" font-family="${fontFamily}">${label_text}</text>
|
||||
`
|
||||
}
|
||||
|
||||
return `
|
||||
@@ -257,7 +266,7 @@ function renderEdge(edge) {
|
||||
<marker xmlns="http://www.w3.org/2000/svg" id="arrow-start-${id}" viewBox="-10 -10 10 10" refX="-1" refY="-5" fill="${color}" markerUnits="strokeWidth" markerWidth="3" markerHeight="3" orient="auto">
|
||||
<path d="M 0 0 L -7 -5 L -0 -10 z"/>
|
||||
</marker>
|
||||
<line x1="${fromX}" y1="${fromY}" x2="${toX}" y2="${toY}" stroke="${color}" stroke-width="${strockWidth}" ${marker} />
|
||||
<line x1="${fromX}" y1="${fromY}" x2="${toX}" y2="${toY}" stroke="${color}" fill="white" stroke-width="${strockWidth}" ${marker} />
|
||||
${label}
|
||||
`
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user