diff --git a/FolderList.js b/FolderList.js index c75c971..2a2280f 100644 --- a/FolderList.js +++ b/FolderList.js @@ -34,8 +34,13 @@ var FolderList = React.createClass({ { var acc = this.props.accounts[accIndex]; var folder = this.props.accounts[accIndex].folders[folderIndex]; - if (folder.folderId && (this.state.selectedAccount != accIndex || this.state.selectedFolder != folderIndex)) - Store.loadFolder(folder.folderId); + if (this.state.selectedAccount != accIndex || this.state.selectedFolder != folderIndex) + { + if (folder.folderId) + Store.loadFolder({ folderId: folder.folderId }); + else + Store.loadFolder({ accountId: acc.accountId, folderType: folder.type }); + } this.setState({ selectedAccount: accIndex, selectedFolder: folderIndex }); }, getInitialState: function() diff --git a/Store.js b/Store.js index f29cc0b..41d3475 100644 --- a/Store.js +++ b/Store.js @@ -137,9 +137,9 @@ var Store = module.exports = { }); }, - loadFolder: function(folderId) + loadFolder: function(folderParams) { - superagent.get('backend/groups').query({ folderId: folderId }).end(function(err, res) + superagent.get('backend/groups').query(folderParams).end(function(err, res) { var groups = res.body.groups.map(g => { return { name: Util.getGroupName(g.name), messageCount: g.count-0, start: 0 } }); var start = 0; @@ -149,7 +149,7 @@ var Store = module.exports = { start += groups[i].messageCount; } Store.setAll({ - folderId: folderId, + folderParams: folderParams, listGroups: groups, messages: [] }); @@ -159,7 +159,10 @@ var Store = module.exports = { loadMessages: function(start, count) { console.log('load '+start+'..'+count); - superagent.get('backend/messages').query({ folderId: Store.get('folderId'), limit: count, offset: start }).end(function(err, res) + var p = { ...Store.get('folderParams') }; + p.offset = start; + p.limit = count; + superagent.get('backend/messages').query(p).end(function(err, res) { var msgs = Store.get('messages').slice(0); var par = res.body.messages;