From d6c9499e06c65780d5f4c95664c2cb851ff6f2de Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Wed, 31 Jan 2018 00:08:00 +0100 Subject: [PATCH] Fix accents issues. Now allowing any non-space characters in names --- parser.js | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/parser.js b/parser.js index 57cf81c..8a4c524 100644 --- a/parser.js +++ b/parser.js @@ -16,7 +16,7 @@ class ErDiags static get TYPES() { - // SQLite types without null (TODO: be more general) + // SQLite storage classes without null return ["integer","real","text","blob"]; } @@ -67,7 +67,7 @@ class ErDiags { case '[': // Entity = { name: { attributes, [weak] } } - let name = lines[start].match(/\w+/)[0]; + let name = lines[start].match(/[^\[\]\s]+/)[0]; let entity = { attributes: this.parseAttributes(lines, start+1, end) }; if (lines[start].charAt(1) == '[') entity.weak = true; @@ -79,7 +79,7 @@ class ErDiags case '{': //association // Association = { [name], [attributes], [weak], entities: ArrayOf entity indices } let relationship = { }; - let nameRes = lines[start].match(/\w+/); + let nameRes = lines[start].match(/[^{}\s]+/); if (nameRes !== null) relationship.name = nameRes[0]; if (lines[start].charAt(1) == '{') @@ -95,15 +95,20 @@ class ErDiags let attributes = []; for (let i=start; i { this.mcdGraph = graphSvg; element.innerHTML = graphSvg; - }) + }); } // "Modèle logique des données" @@ -288,6 +293,11 @@ class ErDiags }); }); // this.graphMld = ... + //console.log(mldDot); + ErDiags.AjaxGet(mldDot, graphSvg => { + this.mldGraph = graphSvg; + element.innerHTML = graphSvg; + }); } fillSql(id) -- 2.44.0