From 3217303a65eaa70a52459738ffe4c31215a1fd3b Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Fri, 24 Jun 2016 21:34:11 +0300 Subject: [PATCH] Fix search builder --- dev/Common/Momentor.jsx | 2 +- dev/View/Popup/AdvancedSearch.js | 25 ++++++++++++++++++++++++- dev/View/User/MailBox/MessageList.js | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/dev/Common/Momentor.jsx b/dev/Common/Momentor.jsx index ee021161a..d45d7585f 100644 --- a/dev/Common/Momentor.jsx +++ b/dev/Common/Momentor.jsx @@ -31,7 +31,7 @@ export function momentNowUnix() */ export function searchSubtractFormatDateHelper(date) { - momentNow().clone().subtract('days', date).format('YYYY.MM.DD'); + return momentNow().clone().subtract('days', date).format('YYYY.MM.DD'); } /** diff --git a/dev/View/Popup/AdvancedSearch.js b/dev/View/Popup/AdvancedSearch.js index 9200b02b2..fff3dd514 100644 --- a/dev/View/Popup/AdvancedSearch.js +++ b/dev/View/Popup/AdvancedSearch.js @@ -66,6 +66,28 @@ kn.extendAsViewModel(['View/Popup/AdvancedSearch', 'PopupsAdvancedSearchViewModel'], AdvancedSearchPopupView); _.extend(AdvancedSearchPopupView.prototype, AbstractView.prototype); + AdvancedSearchPopupView.prototype.parseSearchStringValue = function (search) + { + var + self = this, + parts = (search || '').split(/[\s]+/g) + ; + + _.each(parts, function(part){ + switch (part) + { + case 'has:attachment': + self.hasAttachment(true); + break; + case 'is:unseen,flagged': + self.starred(true); + case 'is:unseen': + self.unseen(true); + break; + } + }); + }; + AdvancedSearchPopupView.prototype.buildSearchStringValue = function (sValue) { if (-1 < sValue.indexOf(' ')) @@ -156,9 +178,10 @@ this.fromFocus(true); }; - AdvancedSearchPopupView.prototype.onShow = function () + AdvancedSearchPopupView.prototype.onShow = function (search) { this.clearPopup(); + this.parseSearchStringValue(search); }; AdvancedSearchPopupView.prototype.onShowWithDelay = function () diff --git a/dev/View/User/MailBox/MessageList.js b/dev/View/User/MailBox/MessageList.js index 4e5df3e9a..be42a9276 100644 --- a/dev/View/User/MailBox/MessageList.js +++ b/dev/View/User/MailBox/MessageList.js @@ -1005,7 +1005,7 @@ { if (Settings.capa(Enums.Capa.SearchAdv)) { - kn.showScreenPopup(require('View/Popup/AdvancedSearch')); + kn.showScreenPopup(require('View/Popup/AdvancedSearch'), [this.mainMessageListSearch()]); } };