- Timestamp:
- 03/10/14 16:07:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/src/client/qed-client/widgets/_ComplexValueMixin.js
r493 r500 11 11 return declare([_Container, _FormMixin], { 12 12 name: "", 13 value: null, 13 14 disabled: false, 14 15 readOnly: false, 15 _changeActive: false, 16 _onChangeActive: false, 17 constructor: function() { 18 this._listenerMap = {}; 19 }, 20 buildRendering: function() { 21 // capture child change events 22 this.inherited(arguments); 23 this.own(on(this.domNode,'change', 24 lang.hitch(this,'_handleChange'))); 25 }, 26 create: function() { 27 this.inherited(arguments); 28 this._onChangeActive = true; 29 }, 16 30 postCreate: function() { 17 31 this.inherited(arguments); … … 24 38 if (this._started) { return; } 25 39 this.inherited(arguments); 26 this._connectChildren();27 this._changeActive = true;28 },29 _connectChildren: function() {30 var children = this._getDescendantFormWidgets();31 array.forEach(children, lang.hitch(this,function(child) {32 this.own(child.on('change',lang.hitch(this,'_handleChange')));33 }));34 40 }, 35 41 _setDisabledAttr: function(value) { … … 41 47 // Yuk, this function is taken directly from _FromMixin only 42 48 // to add the priorityChange parameter 49 _getValueAttr: function() { 50 this.value = this.inherited(arguments); 51 return this.value; 52 }, 43 53 _setValueAttr: function(obj, priorityChange) { 54 this.value = obj; 55 44 56 var map = { }; 45 57 array.forEach(this._getDescendantFormWidgets(), function(widget){ … … 84 96 } 85 97 }, 86 _handleChange: function() { 87 if ( this._changeActive ) { 88 this.onChange(this.get('value')); 98 _handleChange: function(evt) { 99 if ( evt.target !== this.domNode ) { 100 if ( this._onChangeActive && !(this.readOnly || this.disabled) ) { 101 this.emit('change',this.get('value')); 102 } 103 if ( evt ) { event.stop(evt); } 104 return false; 89 105 } 106 return true; 90 107 }, 91 onChange: function(){},92 108 _handleSubmit: function(evt) { 93 109 var node = this.domNode;
Note: See TracChangeset
for help on using the changeset viewer.