Changeset 371


Ignore:
Timestamp:
07/23/12 15:24:04 (13 years ago)
Author:
jkraaijeveld
Message:

Session now also correctly removes the accounts (still question titles until we introduce accounts) when they are removed from the list. Ordering is not yet taken into account.

Location:
Dev/branches/rest-dojo-ui/client/rft
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui/client/rft/pages/session.js

    r369 r371  
    1515                        _listView: null,
    1616            _select: null,
    17             _accounts: null,
    1817                        onVisit: function() {
    1918                                if ( this.pageArgs.uid ) {
     
    2524                                        }));
    2625                    this._setupAutoComplete();
    27                     this._accounts = [];
    2826                                } else {
    2927                                        throw "No valid uid or session passed!";
     
    4341            onSave: function(evt) {
    4442                lang.mixin(this.session,this.propertiesForm.get('value'));
    45                 this.session.accounts = this._accounts;
    4643                store.put(this.session)
    4744                .then(function(){
     
    5855            },
    5956            _addAccount: function(item) {
    60                 this._accounts.push(item);
     57                this.session.accounts.push(item);
    6158                this._listView.insertItem(item);
     59            },
     60            _removeAccount: function(item) {
     61                this.session.accounts.splice(this.session.accounts.indexOf(item), 1);
    6262            },
    6363            _setupListView: function() {
    6464                this._listView = new AccountListView( {
    65                     controller: this
     65                    controller: this,
     66                    removeCallback: lang.hitch(this, this._removeAccount)
    6667                }).placeAt(this.listViewNode);
    6768                for (account in this.session.accounts) {
    68                     this._accounts.push(this.session.accounts[account]);
    69                     this._listView.insertItem({ "title" : this.session.accounts[account] });
     69                    this._listView.insertItem(this.session.accounts[account]);
    7070                }
     71
    7172                this._listView.startup();
    7273            },
  • Dev/branches/rest-dojo-ui/client/rft/ui/ListView.js

    r364 r371  
    1919            templateString: templateString,
    2020            baseClass: 'rftList',
     21
     22            removeCallback: null,
     23
     24            constructor: function() {
     25                lang.mixin(this, arguments);
     26            },
    2127
    2228            postCreate: function() {
     
    97103            removeItem: function(item, widget) {
    98104                widget.destroy();
     105                if(this.removeCallback)
     106                    this.removeCallback(item);
    99107            }
    100108        });
Note: See TracChangeset for help on using the changeset viewer.