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()]); } };