Ignore:
Timestamp:
03/10/14 16:07:00 (11 years ago)
Author:
hendrikvanantwerpen
Message:
  • Indicate of refresh is due to load or due to save in _ObjectPage.
  • _ComplexValueMixin & ListWidget? catch all change events and drops them if still being created.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/src/client/qed-client/widgets/ListWidget.js

    r494 r500  
    1414        name: "",
    1515        value: null,
     16        disabled: false,
     17        readOnly: false,
    1618        multiple: true,
    1719        type: "text",
     
    2022         */
    2123        container: Source,
     24        _onChangeActive: false,
    2225        buildRendering: function() {
    2326            this.inherited(arguments);
     
    5053            });
    5154            this.source = new this.container(this.domNode,sourceParams);
    52             this.own(this.source.on('Drop',lang.hitch(this,'_handleChange')));
     55            this.own(this.source.on('Drop',
     56                                    lang.hitch(this,'_handleDrop')));
     57            this.own(on(this.domNode,'change',
     58                        lang.hitch(this,'_handleChange')));
    5359        },
    5460        creator: function(item, hint) {
     
    9298            return this.value;
    9399        },
    94         _setValueAttr: function(value) {
     100        _setValueAttr: function(value,priorityChange) {
    95101            this.clear();
    96102            this.appendItems(value || []);
     
    158164            this.inherited(arguments);
    159165        },
    160         _handleChange: function() {
    161             this.value = this._getValueAttr();
    162             this.onChange(this.value);
     166        _handleChange: function(evt) {
     167            if ( evt.target !== this.domNode ) {
     168                if ( this._onChangeActive && !(this.readOnly || this.disabled) ) {
     169                    this.emit('change',this.get('value'));
     170                }
     171                if ( evt ) { event.stop(evt); }
     172                return false;
     173            }
     174            return true;
    163175        },
    164         onChange: function(value) {}
     176        _handleDrop: function() {
     177            if ( this._onChangeActive && !(this.readOnly || this.disabled) ) {
     178                this.emit('change',this.get('value'));
     179            }
     180        }
    165181    });
    166182});
Note: See TracChangeset for help on using the changeset viewer.