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; window.editor = editor;
editor.render(); editor.render();
}); });
}); });

36
src/trait_manager/view/TraitCheckboxView.js

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

Loading…
Cancel
Save