Skip to content

Commit dec5d79

Browse files
Merge pull request #5 from conjoon/dev
dev
2 parents 228a04c + a0c5955 commit dec5d79

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

src/data/MessageItemSim.js

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
Ext.define("conjoon.dev.cn_mailsim.data.MessageItemSim", {
3030

3131
extend: "Ext.ux.ajax.JsonSimlet",
32-
32+
3333
requires: [
3434
"conjoon.dev.cn_mailsim.data.table.MessageTable"
3535
],
@@ -276,14 +276,23 @@ Ext.define("conjoon.dev.cn_mailsim.data.MessageItemSim", {
276276

277277
data: function (ctx) {
278278

279-
var me = this,
279+
let me = this,
280280
keys = me.extractCompoundKey(ctx.url),
281281
id,
282282
MessageTable = conjoon.dev.cn_mailsim.data.table.MessageTable,
283283
messageItems = MessageTable.getMessageItems(),
284284
ret = {},
285285
mailAccountId,
286-
mailFolderId;
286+
mailFolderId,
287+
fields = ctx.params.attributes ? ctx.params.attributes.split(",") : [],
288+
messageItemIds = ctx.params.messageItemIds ? ctx.params.messageItemIds.split(",") : [];
289+
290+
let excludeFields = [];
291+
292+
// * found, map excludeFields
293+
if (fields.indexOf("*") !== -1) {
294+
excludeFields = fields.filter(field => field !== "*");
295+
}
287296

288297

289298
if (["MessageBodyDraft", "MessageItem", "MessageBody", "MessageDraft"].indexOf(ctx.params.target) === -1) {
@@ -368,16 +377,35 @@ Ext.define("conjoon.dev.cn_mailsim.data.MessageItemSim", {
368377
return {data: item};
369378

370379
} else if (!id) {
371-
380+
/* eslint-disable-next-line no-console*/
381+
console.log("GET MessageItems ", ctx, keys);
372382
var items = [];
373383
for (let i in messageItems) {
374384
let messageItem = messageItems[i];
375385
if (messageItem.mailAccountId === keys.mailAccountId &&
376386
messageItem.mailFolderId === keys.mailFolderId) {
387+
388+
if (messageItemIds.length) {
389+
if (messageItemIds.indexOf(messageItem.id) === -1) {
390+
continue;
391+
}
392+
}
393+
394+
excludeFields.forEach(field => delete messageItem[field]);
395+
377396
items.push(messageItem);
378397
}
379398
}
380399

400+
/* eslint-disable-next-line no-console*/
401+
console.log("GET MessageItems response", items);
402+
if (!ctx.xhr.options || !ctx.xhr.options.proxy) {
403+
// if we are here, then the simmanager detected no proxy and the
404+
// items have to be wrapped in an object with the assumed proxy-reader's "rootProperty",
405+
// since the request was not triggered
406+
// from a store's proxy
407+
return {data: items};
408+
}
381409
return items;
382410
} else {
383411
return messageItems;
@@ -504,4 +532,4 @@ Ext.define("conjoon.dev.cn_mailsim.data.MessageItemSim", {
504532
}
505533

506534

507-
});
535+
});

src/data/table/MessageTable.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Ext.define("conjoon.dev.cn_mailsim.data.table.MessageTable", {
3535
],
3636

3737

38-
ITEM_LENGTH: 100,
38+
ITEM_LENGTH: 1000,
3939

4040
messageBodies: null,
4141

0 commit comments

Comments
 (0)