0:a02e94c5b96b
Anton Shestakov <engored@ya.ru>, Sun, 16 Dec 2012 19:00:48 +0900
Made public.

next change 7:5c5d433b3a14

static/js/framework/models.js

Permissions: -rw-r--r--

Other formats: Feeds:
var Model = Backbone.Model.extend({
url: function() {
var url = Backbone.Model.prototype.url.call(this);
return url[url.length - 1] == '/' ? url : url + '/';
},
adhoc: function(data) {
var model = this;
var options = {
url: this.urlRoot + encodeURIComponent(this.id) + '/',
contentType: 'application/json',
data: JSON.stringify(data)
};
return (this.sync || Backbone.sync).call(this, 'update', model, options).then(function(serverAttrs) {
model.set(serverAttrs);
});
}
});
var Project = Model.extend({
idAttribute: '_id',
urlRoot: '/projects/',
switchColor: function() {
var colorChain = [null, 'info', 'success', 'warning', 'danger'];
var currentColorIndex = colorChain.indexOf(this.get('color') || null);
var nextColor = colorChain[(currentColorIndex + 1) % colorChain.length];
return this.adhoc({color: nextColor});
}
});
var Task = Model.extend({
idAttribute: '_id',
urlRoot: '/tasks/'
});