summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/config.js17
-rw-r--r--js/oz.js3
-rw-r--r--js/wwwsqldesigner.js19
3 files changed, 24 insertions, 15 deletions
diff --git a/js/config.js b/js/config.js
index 2f1ddaa..cf314a6 100644
--- a/js/config.js
+++ b/js/config.js
@@ -1,15 +1,16 @@
var CONFIG = {
- AVAILABLE_DBS:["mysql","sqlite","web2py","mssql","postgresql", "oracle", "sqlalchemy", "vfp9"],
- DEFAULT_DB:"mysql",
+ AVAILABLE_DBS: ["mysql","sqlite","web2py","mssql","postgresql", "oracle", "sqlalchemy", "vfp9"],
+ DEFAULT_DB: "mysql",
- AVAILABLE_LOCALES:["en", "fr", "de", "cs", "pl", "pt_BR", "es", "ru", "eo", "ja"],
- DEFAULT_LOCALE:"en",
+ AVAILABLE_LOCALES: ["en", "fr", "de", "cs", "pl", "pt_BR", "es", "ru", "eo", "ja"],
+ DEFAULT_LOCALE: "en",
- AVAILABLE_BACKENDS:["php-mysql","php-blank","php-file","php-sqlite"],
- DEFAULT_BACKEND:["php-mysql"],
+ AVAILABLE_BACKENDS: ["php-mysql","php-blank","php-file","php-sqlite"],
+ DEFAULT_BACKEND: ["php-mysql"],
- RELATION_THICKNESS:2,
- RELATION_SPACING:15,
+ RELATION_THICKNESS: 2,
+ RELATION_SPACING: 15,
+ RELATION_COLORS: ["#000","#800","#080","#008","#088","#808","#088"],
STATIC_PATH: "",
XHR_PATH: ""
diff --git a/js/oz.js b/js/oz.js
index 10fe15b..77029ec 100644
--- a/js/oz.js
+++ b/js/oz.js
@@ -1,4 +1,4 @@
-/* (c) 2007 - now() Ondrej Zara, 1.5 */
+/* (c) 2007 - now() Ondrej Zara, 1.6 */
var OZ = {
$:function(x) { return typeof(x) == "string" ? document.getElementById(x) : x; },
opera:!!window.opera,
@@ -60,6 +60,7 @@ var OZ = {
var tmp = function(){};
tmp.prototype = parent.prototype;
this.prototype = new tmp();
+ this.prototype.constructor = this;
return this;
};
c.prototype.bind = function(fnc) { return fnc.bind(this); };
diff --git a/js/wwwsqldesigner.js b/js/wwwsqldesigner.js
index 9f4d0bb..d57a243 100644
--- a/js/wwwsqldesigner.js
+++ b/js/wwwsqldesigner.js
@@ -346,7 +346,7 @@ SQL.Row.prototype.destroy = function() {
SQL.Row.prototype.toXML = function() {
var xml = "";
- var t = this.getTitle().replace(/"/g,""");
+ var t = this.getTitle().replace(/"/g,"""); //"
var nn = (this.data.nll ? "1" : "0");
var ai = (this.data.ai ? "1" : "0");
xml += '<row name="'+t+'" null="'+nn+'" autoincrement="'+ai+'">\n';
@@ -449,8 +449,9 @@ SQL.Row.prototype.enter = function(e) {
/* --------------------------- relation (connector) ----------- */
SQL.Relation = OZ.Class().extend(SQL.Visual);
-
+SQL.Relation._counter = 0;
SQL.Relation.prototype.init = function(owner, row1, row2) {
+ this.constructor._counter++;
this.owner = owner;
this.row1 = row1;
this.row2 = row2;
@@ -461,12 +462,18 @@ SQL.Relation.prototype.init = function(owner, row1, row2) {
this.row2.addRelation(this);
this.dom = [];
+ if (CONFIG.RELATION_COLORS) {
+ var colorIndex = this.constructor._counter - 1;
+ var color = CONFIG.RELATION_COLORS[colorIndex % CONFIG.RELATION_COLORS.length];
+ } else {
+ var color = "#000";
+ }
if (this.owner.vector == "svg") {
var path = document.createElementNS(this.owner.svgNS, "path");
- path.setAttribute("stroke","black");
- path.setAttribute("stroke-width",CONFIG.RELATION_THICKNESS);
- path.setAttribute("fill","none");
+ path.setAttribute("stroke", color);
+ path.setAttribute("stroke-width", CONFIG.RELATION_THICKNESS);
+ path.setAttribute("fill", "none");
this.owner.dom.svg.appendChild(path);
this.dom.push(path);
} else if (this.owner.vector == "vml") {
@@ -476,7 +483,7 @@ SQL.Relation.prototype.init = function(owner, row1, row2) {
curve.to = "0 0";
curve.control1 = "10 10";
curve.control2 = "100 300";
- curve.strokecolor = "#000";
+ curve.strokecolor = color;
curve.filled = false;
this.owner.dom.content.appendChild(curve);
this.dom.push(curve);