mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-07 22:38:51 +00:00
(js) Fix mail labels handling in the Mail module
This commit is contained in:
@@ -739,6 +739,7 @@
|
||||
NSDictionary *content, *result;
|
||||
BOOL addOrRemove;
|
||||
NGImap4Client *client;
|
||||
id flag;
|
||||
|
||||
int i;
|
||||
|
||||
@@ -751,7 +752,13 @@
|
||||
|
||||
// We unescape our flags
|
||||
for (i = [flags count]-1; i >= 0; i--)
|
||||
[flags replaceObjectAtIndex: i withObject: [[flags objectAtIndex: i] fromCSSIdentifier]];
|
||||
{
|
||||
flag = [flags objectAtIndex: i];
|
||||
if ([flag isKindOfClass: [NSString class]])
|
||||
[flags replaceObjectAtIndex: i withObject: [flag fromCSSIdentifier]];
|
||||
else
|
||||
[flags removeObjectAtIndex: i];
|
||||
}
|
||||
|
||||
co = [self clientObject];
|
||||
client = [[co imap4Connection] client];
|
||||
|
||||
@@ -135,18 +135,21 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<md-chips class="sg-readonly" ng-model="viewer.message.flags" ng-change="viewer.changeFlags()">
|
||||
<md-chips class="sg-readonly"
|
||||
ng-model="viewer.message.flags"
|
||||
md-on-append="$chip.name"
|
||||
md-on-remove="viewer.message.removeTag($chip)">
|
||||
<md-chip-template>{{viewer.service.$tags[$chip][0]}}</md-chip-template>
|
||||
<md-autocomplete
|
||||
md-selected-item="viewer.tags.selected"
|
||||
md-selected-item-change="viewer.message.addTag(viewer.tags.selected)"
|
||||
md-selected-item-change="viewer.message.addTag(viewer.tags.selected.name)"
|
||||
md-search-text="viewer.tags.searchText"
|
||||
md-items="tag in viewer.service.filterTags(viewer.tags.searchText)"
|
||||
label:placeholder="Add a tag">
|
||||
<md-item-template>
|
||||
<span md-highlight-text="viewer.tags.searchText"
|
||||
md-highlight-flags="^i">{{tag}}</span>
|
||||
</md-item-template>
|
||||
<md-item-template>
|
||||
<span md-highlight-text="viewer.tags.searchText"
|
||||
md-highlight-flags="^i">{{tag.description}}</span>
|
||||
</md-item-template>
|
||||
</md-autocomplete>
|
||||
</md-chips>
|
||||
</md-toolbar>
|
||||
|
||||
@@ -86,10 +86,16 @@
|
||||
* @returns a collection of strings
|
||||
*/
|
||||
Message.filterTags = function(query) {
|
||||
var re = new RegExp(query, 'i');
|
||||
return _.filter(_.keys(Message.$tags), function(tag) {
|
||||
return tag.search(re) != -1;
|
||||
var re = new RegExp(query, 'i'),
|
||||
results = [];
|
||||
|
||||
_.forEach(_.keys(Message.$tags), function(tag) {
|
||||
var pair = Message.$tags[tag];
|
||||
if (pair[0].search(re) != -1) {
|
||||
results.push({ name: tag, description: pair[0], color: pair[1] });
|
||||
}
|
||||
});
|
||||
return results;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user