diff --git a/Odoo Access.canvas b/Odoo Access.canvas
index 7caa1ba5..589ac6e3 100644
--- a/Odoo Access.canvas
+++ b/Odoo Access.canvas
@@ -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"}
]
}
\ No newline at end of file
diff --git a/build.js b/build.js
index b5b8c279..556e75af 100644
--- a/build.js
+++ b/build.js
@@ -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 = `${edge['label']}`
+ label = `
+ ${label_text}
+ `
}
return `
@@ -257,7 +266,7 @@ function renderEdge(edge) {
-
+
${label}
`
}