diff options
author | ondrej.zara <none@none> | 2009-11-04 09:00:31 +0000 |
---|---|---|
committer | ondrej.zara <none@none> | 2009-11-04 09:00:31 +0000 |
commit | 8bdd03178ece260a776f3416440742208eea3bb8 (patch) | |
tree | ccc1f793b2656e30fff06f6be0604a080eaee662 /js/wwwsqldesigner.js | |
parent | 49dd797e7d54895c89b96efc94bda7a5a8ffd91a (diff) | |
download | wwwsqldesigner-8bdd03178ece260a776f3416440742208eea3bb8.zip wwwsqldesigner-8bdd03178ece260a776f3416440742208eea3bb8.tar.gz wwwsqldesigner-8bdd03178ece260a776f3416440742208eea3bb8.tar.bz2 |
remove foreign key; issue #7
--HG--
extra : convert_revision : svn%3Ab267cdba-c1da-11dd-874b-8bacd04a0a74/trunk%4054
Diffstat (limited to 'js/wwwsqldesigner.js')
-rw-r--r-- | js/wwwsqldesigner.js | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/js/wwwsqldesigner.js b/js/wwwsqldesigner.js index 06b9c00..491aa56 100644 --- a/js/wwwsqldesigner.js +++ b/js/wwwsqldesigner.js @@ -1463,7 +1463,7 @@ SQL.RowManager.prototype.init = function(owner) { this.creating = false; this.connecting = false; - var ids = ["editrow","removerow","uprow","downrow","foreigncreate","foreignconnect"]; + var ids = ["editrow","removerow","uprow","downrow","foreigncreate","foreignconnect","foreigndisconnect"]; for (var i=0;i<ids.length;i++) { var id = ids[i]; var elm = OZ.$(id); @@ -1479,6 +1479,7 @@ SQL.RowManager.prototype.init = function(owner) { OZ.Event.add(this.dom.removerow, "click", this.bind(this.remove)); OZ.Event.add(this.dom.foreigncreate, "click", this.bind(this.foreigncreate)); OZ.Event.add(this.dom.foreignconnect, "click", this.bind(this.foreignconnect)); + OZ.Event.add(this.dom.foreigndisconnect, "click", this.bind(this.foreigndisconnect)); OZ.Event.add(false, "tableclick", this.bind(this.tableClick)); OZ.Event.add(false, "rowclick", this.bind(this.rowClick)); OZ.Event.add(document, "keydown", this.bind(this.press)); @@ -1540,6 +1541,15 @@ SQL.RowManager.prototype.foreignconnect = function(e) { /* start drawing fk */ } } +SQL.RowManager.prototype.foreigndisconnect = function(e) { /* remove connector */ + var rels = this.selected.relations; + for (var i=rels.length-1;i>=0;i--) { + var r = rels[i]; + if (r.row2 == this.selected) { this.owner.removeRelation(r); } + } + this.redraw(); +} + SQL.RowManager.prototype.endCreate = function() { this.creating = false; this.dom.foreigncreate.value = _("foreigncreate"); @@ -1583,6 +1593,14 @@ SQL.RowManager.prototype.redraw = function() { this.dom.editrow.disabled = false; this.dom.foreigncreate.disabled = !(this.selected.isUnique()); this.dom.foreignconnect.disabled = !(this.selected.isUnique()); + + this.dom.foreigndisconnect.disabled = true; + var rels = this.selected.relations; + for (var i=0;i<rels.length;i++) { + var r = rels[i]; + if (r.row2 == this.selected) { this.dom.foreigndisconnect.disabled = false; } + } + } else { this.dom.uprow.disabled = true; this.dom.downrow.disabled = true; @@ -1590,6 +1608,7 @@ SQL.RowManager.prototype.redraw = function() { this.dom.editrow.disabled = true; this.dom.foreigncreate.disabled = true; this.dom.foreignconnect.disabled = true; + this.dom.foreigndisconnect.disabled = true; } } |