/* --------------------- row manager ------------ */ SQL.RowManager = function(owner) { this.owner = owner; this.dom = {}; this.selected = null; this.creating = false; this.connecting = false; var ids = ["editrow","removerow","uprow","downrow","foreigncreate","foreignconnect","foreigndisconnect"]; for (var i=0;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"); } SQL.RowManager.prototype.endConnect = function() { this.connecting = false; this.dom.foreignconnect.value = _("foreignconnect"); } SQL.RowManager.prototype.up = function(e) { this.selected.up(); this.redraw(); } SQL.RowManager.prototype.down = function(e) { this.selected.down(); this.redraw(); } SQL.RowManager.prototype.remove = function(e) { var result = confirm(_("confirmrow")+" '"+this.selected.getTitle()+"' ?"); if (!result) { return; } var t = this.selected.owner; this.selected.owner.removeRow(this.selected); var next = false; if (t.rows) { next = t.rows[t.rows.length-1]; } this.select(next); } SQL.RowManager.prototype.redraw = function() { this.endCreate(); this.endConnect(); if (this.selected) { var table = this.selected.owner; var rows = table.rows; this.dom.uprow.disabled = (rows[0] == this.selected); this.dom.downrow.disabled = (rows[rows.length-1] == this.selected); this.dom.removerow.disabled = false; 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