Browse Source

Fix checkbox trait rendering on change

pull/67/head
Artur Arseniev 9 years ago
parent
commit
4edfae8e24
  1. 3
      src/demo.js
  2. 36
      src/trait_manager/view/TraitCheckboxView.js

3
src/demo.js

@ -333,9 +333,6 @@ require(['config/require-config'], function() {
window.editor = editor;
editor.render();
});
});

36
src/trait_manager/view/TraitCheckboxView.js

@ -3,13 +3,13 @@ define(['./TraitView'],
return TraitView.extend({
initialize: function(o) {
TraitView.prototype.initialize.apply(this, arguments);
var iconCls = this.ppfx + 'chk-icon';
initialize: function(o) {
TraitView.prototype.initialize.apply(this, arguments);
var iconCls = this.ppfx + 'chk-icon';
this.tmpl = '<div class="' + this.fieldClass +'"><label class="' + this.inputhClass +'"><i class="' + iconCls +'"></i></label></div>';
},
/**
/**
* Fires when the input is changed
* @private
*/
@ -17,23 +17,27 @@ define(['./TraitView'],
this.model.set('value', this.getInputEl().checked);
},
/**
/**
* Returns input element
* @return {HTMLElement}
* @private
*/
getInputEl: function() {
var first;
if(!this.$input)
first = 1;
var el = TraitView.prototype.getInputEl.apply(this, arguments);
if(first){
var md = this.model;
var name = md.get('name');
if(md.get('changeProp')){
el.checked = this.target.get(name);
}
}
var first;
if(!this.$input)
first = 1;
var el = TraitView.prototype.getInputEl.apply(this, arguments);
if(first){
var md = this.model;
var name = md.get('name');
var target = this.target;
if(md.get('changeProp')){
el.checked = target.get(name);
} else {
var attrs = target.get('attributes');
el.checked = !!attrs[name];
}
}
return el;
},

Loading…
Cancel
Save