mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-09 13:35:26 +00:00
feat(mail): Improve mail search (advanced search)
This commit is contained in:
@@ -184,9 +184,7 @@
|
||||
vm.mode.search = false;
|
||||
vm.selectedFolder.$filter(vm.service.$query).then(function() {
|
||||
if (vm.selectedFolder.$selectedMessage) {
|
||||
$timeout(function() {
|
||||
vm.selectedFolder.$topIndex = vm.selectedFolder.uidsMap[vm.selectedFolder.$selectedMessage];
|
||||
});
|
||||
vm.selectedFolder.$topIndex = vm.selectedFolder.uidsMap[vm.selectedFolder.$selectedMessage];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
&& ("UIxMailPartHTMLViewer" == parts[i].type
|
||||
|| "UIxMailPartTextViewer" == parts[i].type)) {
|
||||
// Content
|
||||
parts[i].content = this.highlightSearchTerms(parts[i].content);
|
||||
parts[i].content = this.highlightSearchTerms(parts[i].content, false);
|
||||
// Title
|
||||
this.subject = this.getHighlightSubject();
|
||||
// From
|
||||
@@ -513,14 +513,14 @@
|
||||
* @desc Returns the data with highlight search
|
||||
* @returns the data with highlighted search terms
|
||||
*/
|
||||
Message.prototype.highlightSearchTerms = function (data) {
|
||||
Message.prototype.highlightSearchTerms = function (data, encodeEntities) {
|
||||
var i = 0;
|
||||
if (this.$mailbox.getHighlightWords()
|
||||
&& this.$mailbox.getHighlightWords().length > 0
|
||||
&& data
|
||||
&& -1 === data.indexOf("data-markjs")) {
|
||||
var dom = document.createElement("DIV");
|
||||
dom.innerHTML = data;
|
||||
dom.innerHTML = encodeEntities ? data.encodeEntities() : data;
|
||||
var markInstance = new Mark(dom);
|
||||
markInstance.mark(this.$mailbox.getHighlightWords());
|
||||
data = dom.innerHTML;
|
||||
@@ -537,7 +537,7 @@
|
||||
* @returns the subject with highlighted search terms
|
||||
*/
|
||||
Message.prototype.getHighlightSubject = function () {
|
||||
return this.highlightSearchTerms(this.subject);
|
||||
return this.highlightSearchTerms(this.subject, false);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -549,8 +549,8 @@
|
||||
Message.prototype.getHighlightFrom = function () {
|
||||
var i = 0;
|
||||
for (i = 0; i < this.from.length; i++) {
|
||||
this.from[i].full = this.highlightSearchTerms(this.from[i].full);
|
||||
this.from[i].name = this.highlightSearchTerms(this.from[i].name);
|
||||
this.from[i].full = this.highlightSearchTerms(this.from[i].full, false);
|
||||
this.from[i].name = this.highlightSearchTerms(this.from[i].name, false);
|
||||
}
|
||||
|
||||
return this.from;
|
||||
|
||||
@@ -191,15 +191,15 @@
|
||||
};
|
||||
|
||||
this.defineSubjectAndSenderElements = function() {
|
||||
if ($ctrl && $ctrl.message) {
|
||||
if ($ctrl && $ctrl.message && !$ctrl.message.loading) {
|
||||
// Subject
|
||||
$ctrl.subjectElement.innerHTML = $ctrl.message.getHighlightSubject();
|
||||
|
||||
// Sender or recipient when in Sent or Draft mailbox
|
||||
if ($ctrl.MailboxService.selectedFolder.isSentFolder || $ctrl.MailboxService.selectedFolder.isDraftsFolder)
|
||||
$ctrl.senderElement.innerHTML = $ctrl.message.highlightSearchTerms($ctrl.message.$shortAddress('to', Preferences.defaults.SOGoMailDisplayFullEmail).encodeEntities());
|
||||
$ctrl.senderElement.innerHTML = $ctrl.message.highlightSearchTerms($ctrl.message.$shortAddress('to', Preferences.defaults.SOGoMailDisplayFullEmail), true);
|
||||
else
|
||||
$ctrl.senderElement.innerHTML = $ctrl.message.highlightSearchTerms($ctrl.message.$shortAddress('from', Preferences.defaults.SOGoMailDisplayFullEmail).encodeEntities());
|
||||
$ctrl.senderElement.innerHTML = $ctrl.message.highlightSearchTerms($ctrl.message.$shortAddress('from', Preferences.defaults.SOGoMailDisplayFullEmail), true);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user