(function(window) { var Gitana = window.Gitana; Gitana.Changeset = Gitana.AbstractRepositoryObject.extend( /** @lends Gitana.Changeset.prototype */ { /** * @constructs * @augments Gitana.AbstractRepositoryObject * * @class Changeset * * @param {Gitana.Repository} repository * @param [Object] object json object (if no callback required for populating) */ constructor: function(repository, object) { this.base(repository, object); this.objectType = function() { return "Gitana.Changeset"; }; }, /** * @OVERRIDE */ getType: function() { return Gitana.TypedIDConstants.TYPE_CHANGESET; }, /** * @OVERRIDE */ getUri: function() { return "/repositories/" + this.getRepositoryId() + "/changesets/" + this.getId(); }, /** * @override */ clone: function() { return this.getFactory().changeset(this.getRepository(), this); }, /** * Lists the nodes on this changeset. * * @chained node map * * @param [Object] pagination optional pagination */ listNodes: function(pagination) { var params = {}; if (pagination) { Gitana.copyInto(params, pagination); } var uriFunction = function() { return "/repositories/" + this.getRepositoryId() + "/changesets/" + this.getId() + "/nodes"; }; var chainable = this.getFactory().nodeMap(this); return this.chainGet(chainable, uriFunction, params); } }); })(window);