159:2bc0a5ac4959
Anton Shestakov <av6@dwimlabs.net>, Tue, 31 Oct 2017 12:56:39 +0800
provision: WSGI is an acronym

previous change 148:7a236aa969f8

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 = {
contentType: 'application/json',
data: JSON.stringify(data)
};
return (this.sync || Backbone.sync).call(this, 'update', model, options).then(function(serverAttrs) {
model.set(serverAttrs);
});
}
});
var Workspace = Backbone.Model.extend({
idAttribute: 'name'
});
var Project = Model.extend({
idAttribute: '_id',
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'
});