define([ /*'dojo/_base/array', 'dojo/_base/declare', 'dojo/_base/event', 'dojo/_base/lang', 'dojo/when', '../search', '../store', '../app/Page', '../app/Router', '../widgets/ThresholdFilteringSelect', '../model/classes/SessionTemplate', '../model/widgets/AccountListView', 'dojo/text!./templates/session.html'*/ ],function(array,declare,event,lang,when,search,store,Page,Router,ThresholdFilteringSelect,SessionTemplate,AccountListView,template){ /*return declare([Page],{ templateString: template, session: null, _accountList: null, _select: null, startup: function() { if ( this._started ) { return; } this.inherited(arguments); if ( this.sessionId ) { this._loadSession(); this._setupAutoComplete(); } else { throw "No valid uid or session passed!"; } }, _loadSession: function() { if ( this.sessionId === "new" ) { this.session = SessionTemplate.create(); } else { when(store.get(this.sessionId)) .then(lang.hitch(this,function(obj){ this.session = obj; this._setupAccountList(); this._refresh(); })); } }, _refresh: function() { this.titleNode.innerHTML = SessionTemplate.DisplayTitle.get(this.session); this.propertiesForm.set('value',this.session); }, onInvite: function() { this._addAccount(this._select.item.i); this._select.reset(); }, onSave: function(evt) { lang.mixin(this.session,this.propertiesForm.get('value')); this.session.accounts = array.map(this._accountList.get('value'), function(item){ return store.getIdentity(item); }); store.put(this.session) .then(function(){ Router.go('/sessions'); }); event.stop(evt); return false; }, onDiscard: function(evt) { this.propertiesForm.reset(); event.stop(evt); Router.go('/sessions'); return false; }, _addAccount: function(item) { this._accountList.insertItem(item); }, _setupAccountList: function() { this._accountList = new AccountListView({ value: this.session.accounts }).placeAt(this.accountListNode); this._accountList.startup(); }, _setupAutoComplete: function() { this._select = new ThresholdFilteringSelect({ store: search, autoComplete: false, required: false, labelType: "text", placeHolder: "Enter email address here...", pageSize: 10, hasDownArrow: false, style: "width: 400", searchAttr: "title" }, this.accountSelector); this._select.startup(); } });*/ });