diff -r e0f6f3c31150 -r bb63da144239 client/js/paper-renderer.js --- a/client/js/paper-renderer.js Thu Jan 31 18:53:08 2013 +0100 +++ b/client/js/paper-renderer.js Fri Feb 01 12:48:40 2013 +0100 @@ -20,7 +20,14 @@ _EDITOR_GRADIENT : new paper.Gradient(['#f0f0f0', '#d0d0d0']), _CLICKMODE_ADDNODE : 1, _CLICKMODE_STARTEDGE : 2, - _CLICKMODE_ENDEDGE : 3 + _CLICKMODE_ENDEDGE : 3, + _USER_PLACEHOLDER : { + color: "#000000", + title: "(unknown user)", + get: function(attr) { + return this[attr] || false; + } + } } Rkns.Renderer.Utils = { @@ -257,7 +264,7 @@ this.circle.position = this.paper_coords; this.title.content = this.model.get("title"); this.title.position = this.paper_coords.add([0, Rkns.Renderer._NODE_RADIUS + 1.5 *Rkns.Renderer._NODE_FONT_SIZE]); - this.circle.strokeColor = this.model.get("color") || this.model.get("created_by").get("color") || "#000000"; + this.circle.strokeColor = this.model.get("color") || (this.model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER).get("color"); this.edit_button.moveTo(this.paper_coords); this.remove_button.moveTo(this.paper_coords); this.link_button.moveTo(this.paper_coords); @@ -418,7 +425,7 @@ _p1b = _p1a.add(_delta), /* to differentiate inbound and outbound links */ _a = _v.angle, _handle = _v.divide(3), - _color = this.model.get("color") || this.model.get("created_by").get("color") || "#000000"; + _color = this.model.get("color") || this.model.get("color") || (this.model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER).get("color");; this.paper_coords = _p0b.add(_p1b).divide(2); this.line.strokeColor = _color; this.line.segments[0].point = _p0a; @@ -592,14 +599,15 @@ + '
' + '' + '' - + '<%=node.created_by_title%>
' ); Rkns.Renderer.NodeEditor.prototype.draw = function() { - var _model = this.node_representation.model; + var _model = this.node_representation.model, + _created_by = _model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER; this.editor_$ .html(this.template({ node: { @@ -607,9 +615,9 @@ uri: _model.get("uri"), description: _model.get("description"), image: _model.get("image") || "", - color: _model.get("color") || _model.get("created_by").get("color") || "#000000", - created_by_color: _model.get("created_by").get("color"), - created_by_title: _model.get("created_by").get("title") + color: _model.get("color") || _created_by.get("color"), + created_by_color: _created_by.get("color"), + created_by_title: _created_by.get("title") }, l10n: this.renderer.renkan.l10n })); @@ -643,7 +651,7 @@ ); this.editor_$.find(".Rk-Edit-ColorPicker li").hover( function() { _this.editor_$.find(".Rk-Edit-Color").css("background", $(this).attr("data-color")); }, - function() { _this.editor_$.find(".Rk-Edit-Color").css("background", _model.get("color") || _model.get("created_by").get("color") || "#000000") } + function() { _this.editor_$.find(".Rk-Edit-Color").css("background", _model.get("color") || (_model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER).get("color")) } ).click(function() { _model.set("color", $(this).attr("data-color")); _this.redraw(); @@ -689,28 +697,31 @@ '<%=edge.from_title%>
' - + '<%=edge.to_title%>
' + + '<%=edge.from_title%>
' + + '<%=edge.to_title%>
' + '<%=edge.created_by_title%>
' ); Rkns.Renderer.EdgeEditor.prototype.draw = function() { - var _model = this.edge_representation.model; + var _model = this.edge_representation.model, + _from_model = _model.get("from"), + _to_model = _model.get("to"), + _created_by = _model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER; this.editor_$ .html(this.template({ edge: { title: _model.get("title"), uri: _model.get("uri"), description: _model.get("description"), - color: _model.get("color") || _model.get("created_by").get("color") || "#000000", - from_title: _model.get("from").get("title"), - to_title: _model.get("to").get("title"), - from_created_by_color: _model.get("from").get("created_by").get("color"), - to_created_by_color: _model.get("to").get("created_by").get("color"), - created_by_color: _model.get("created_by").get("color"), - created_by_title: _model.get("created_by").get("title") + color: _model.get("color") || _created_by.get("color"), + from_title: _from_model.get("title"), + to_title: _to_model.get("title"), + from_color: _from_model.get("color") || (_from_model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER).get("color"), + to_color: _to_model.get("color") || (_to_model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER).get("color"), + created_by_color: _created_by.get("color"), + created_by_title: _created_by.get("title") }, l10n: this.renderer.renkan.l10n })); @@ -735,7 +746,7 @@ ); this.editor_$.find(".Rk-Edit-ColorPicker li").hover( function() { _this.editor_$.find(".Rk-Edit-Color").css("background", $(this).attr("data-color")); }, - function() { _this.editor_$.find(".Rk-Edit-Color").css("background", _model.get("color") || _model.get("created_by").get("color") || "#000000") } + function() { _this.editor_$.find(".Rk-Edit-Color").css("background", _model.get("color") || (_model.get("created_by") || Rkns.Renderer._USER_PLACEHOLDER).get("color")); } ).click(function() { _model.set("color", $(this).attr("data-color")); _this.redraw();