Sha256: fc452c2f4b9ec55326c8edb0eb649a039912c2a47d4fb5cc4a7cf316c218ffe3

Contents?: true

Size: 1.23 KB

Versions: 6

Compression:

Stored size: 1.23 KB

Contents

var Attribute = function(params) {
  for (var thing in params)
    this[thing] = params[thing];
  this.value_clean = this.value;  
};

Attribute.prototype = {
  name: false,
  nice_name: false,
  type: false,
  value: false,
  value_clean: false,
  text: false,
  
  update_url: false,
  options_url: false,
  options: false,
  
  save: function(after) {
    var this2 = this;
    $.ajax({
      url: this.update_url,
      type: 'put',
      data: this.name + '=' + this.value,
			success: function(resp) {			  
				if (resp.success)
				{
				  if (resp.attributes && resp.attributes[this2.name])
				    for (var thing in resp.attributes[this2.name])
				      this2[thing] = resp.attributes[this2.name][thing];
				  this2.value_clean = this2.value;
				}
				if (after) after(resp);
			},
			error: function() { 
			  if (after) after(false);
			}
		});
  },
  
  populate_options: function(after) {
    if (!this.options_url)
      return;
    if (this.options)
    {
      if (after) after();
      return;
    }
    var this2 = this;
    $.ajax({
      url: this.options_url,
      type: 'get',
			success: function(resp) {
        this2.options = resp;
				if (after) after();
			},
			error: function() { 
			  if (after) after();
			}
		});
  }
};

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
caboose-cms-0.2.15 app/assets/javascripts/caboose/model/attribute.js
caboose-cms-0.2.14 app/assets/javascripts/caboose/model/attribute.js
caboose-cms-0.2.11 app/assets/javascripts/caboose/model/attribute.js
caboose-cms-0.2.8 app/assets/javascripts/caboose/model/attribute.js
caboose-cms-0.2.7 app/assets/javascripts/caboose/model/attribute.js
caboose-cms-0.2.6 app/assets/javascripts/caboose/model/attribute.js