Skip to content
This repository has been archived by the owner on Dec 27, 2023. It is now read-only.

Commit

Permalink
fix(Felamimail/js): TO filter not working in INBOX
Browse files Browse the repository at this point in the history
  • Loading branch information
ccheng-dev committed Feb 7, 2023
1 parent e270250 commit 0fead9e
Showing 1 changed file with 14 additions and 27 deletions.
41 changes: 14 additions & 27 deletions tine20/Felamimail/js/GridPanel.js
Expand Up @@ -1499,7 +1499,7 @@ Tine.Felamimail.GridPanel = Ext.extend(Tine.widgets.grid.GridPanel, {
this.sentFolderSelected = false;
}

this.resolveFilterInParams(options.params, this.sentFolderSelected);
this.updateDefaultfilter(options.params, this.sentFolderSelected);
this.changeGridState(stateId);
},

Expand Down Expand Up @@ -1531,38 +1531,25 @@ Tine.Felamimail.GridPanel = Ext.extend(Tine.widgets.grid.GridPanel, {
},

/**
* TODO: make quick filter search "to" in be , and remove all the filter switch in fe
* add custom filter before or after store load
*
*
* @param params
* @param sentFolderSelected
* @param isSentFolder
*
*/
resolveFilterInParams: function (params, sentFolderSelected) {
updateDefaultfilter: function (params, isSentFolder) {
let targetFilters = params?.filter?.[0].filters?.[0].filters;
if (!targetFilters) return;

const defaultFilterField = isSentFolder ? 'to' : 'query';
const existingDefaultFilter = _.find(targetFilters, {field: defaultFilterField});

if (!targetFilters) {
return;
}

const from = sentFolderSelected ? 'query' : 'to';
const to = sentFolderSelected ? 'to' : 'query';
const searchField = sentFolderSelected ? 'to' : 'query';
const searchFilter = _.find(targetFilters, {field: searchField});
// remove exist from filter
const oldFilter = targetFilters ? _.remove(targetFilters, {field: from}) : [];
const toFilter = {
field: to,
operator: 'contains',
value: oldFilter[0]?.value ?? ''
};
// concat or add target filter if not exist
if (!searchFilter) {
if (oldFilter.length > 0) {
targetFilters.concat(toFilter);
} else {
targetFilters.push(toFilter);
}
if (!existingDefaultFilter) {
targetFilters.push({ field: defaultFilterField, operator: 'contains', value: ''});
}

params.filter[0].filters[0].filters = targetFilters;
},

/**
Expand Down Expand Up @@ -1641,7 +1628,7 @@ Tine.Felamimail.GridPanel = Ext.extend(Tine.widgets.grid.GridPanel, {
folder.commit();
this.app.checkMailsDelayedTask.delay(1000);
}
this.resolveFilterInParams(options.params, this.sentFolderSelected);
this.updateDefaultfilter(options.params, this.sentFolderSelected);
this.updateQuotaBar();
},

Expand Down

0 comments on commit 0fead9e

Please sign in to comment.