From: Benjamin Auder Date: Tue, 30 Jan 2018 23:08:00 +0000 (+0100) Subject: Fix accents issues. Now allowing any non-space characters in names X-Git-Url: https://git.auder.net/%7B%7B%20asset%28%27mixstore/css/current/img/pieces/cq.svg?a=commitdiff_plain;h=d6c9499e06c65780d5f4c95664c2cb851ff6f2de;p=erdiag.git Fix accents issues. Now allowing any non-space characters in names --- 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)