diff -r f67047a16084 -r fba23fde14ba client/js/models.js --- a/client/js/models.js Fri May 16 12:37:51 2014 +0200 +++ b/client/js/models.js Fri May 16 14:09:57 2014 +0200 @@ -1,31 +1,31 @@ (function() { "use strict"; var root = this; - + var Backbone = root.Backbone; - + var Models = root.Rkns.Models = {}; - - + + Models.getUID = function(obj) { var guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + var r = Math.random()*16|0, v = c === 'x' ? r : (r&0x3|0x8); return v.toString(16); }); - return obj.type + "-" + guid; + return obj.type + "-" + guid; }; - - + + var RenkanModel = Backbone.RelationalModel.extend({ idAttribute : "_id", constructor: function(options) { - + if (typeof options !== "undefined") { options._id = options._id || options.id || Models.getUID(this); options.title = options.title || ""; options.description = options.description || ""; options.uri = options.uri || ""; - + if(typeof this.prepare === "function") { options = this.prepare(options); } @@ -47,7 +47,7 @@ } } }); - + // USER var User = Models.User = RenkanModel.extend({ type: "user", @@ -65,7 +65,7 @@ }; } }); - + // NODE var Node = Models.Node = RenkanModel.extend({ type: "node", @@ -95,7 +95,7 @@ }; } }); - + // EDGE var Edge = Models.Edge = RenkanModel.extend({ type: "edge", @@ -136,7 +136,7 @@ }; } }); - + // View var View = Models.View = RenkanModel.extend({ type: "view", @@ -160,7 +160,7 @@ }; } }); - + // PROJECT var Project = Models.Project = RenkanModel.extend({ type: "project", @@ -209,7 +209,7 @@ return _user; }, addNode: function(_props, _options) { - _props.project = this; + _props.project = this; var _node = Node.findOrCreate(_props); this.get("nodes").push(_node, _options); return _node; @@ -258,19 +258,19 @@ this.on("remove:nodes", function(_node) { _this.get("edges").remove( _this.get("edges").filter(function(_edge) { - return _edge.get("from") == _node || _edge.get("to") == _node; + return _edge.get("from") === _node || _edge.get("to") === _node; }) ); }); } }); - + var RosterUser = Models.RosterUser = Backbone.Model.extend({ type: "roster_user", idAttribute : "_id", - + constructor: function(options) { - + if (typeof options !== "undefined") { options._id = options._id || options.id || Models.getUID(this); options.title = options.title || "(untitled " + this.type + ")"; @@ -278,25 +278,25 @@ options.uri = options.uri || ""; options.project = options.project || null; options.site_id = options.site_id || 0; - + if(typeof this.prepare === "function") { options = this.prepare(options); } } Backbone.Model.prototype.constructor.call(this, options); }, - + validate: function() { if(!this.type) { return "object has no type"; } }, - + prepare: function(options) { options.color = options.color || "#666666"; return options; }, - + toJSON: function() { return { _id: this.get("_id"), @@ -309,11 +309,10 @@ }; } }); - + var UsersList = Models.UsersList = Backbone.Collection.extend({ model: RosterUser }); - + }).call(window); -