Implement metafolders
parent
31da61a9ac
commit
4c9e6c3d3a
|
@ -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()
|
||||
|
|
11
Store.js
11
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;
|
||||
|
|
Loading…
Reference in New Issue