(js) Fix display of category colors of components

pull/16/merge
Francis Lachapelle 2017-03-23 13:55:14 -04:00
parent 0cc7c6be3d
commit 736921bdf7
2 changed files with 10 additions and 10 deletions

1
NEWS
View File

@ -30,6 +30,7 @@ Bug fixes
- [web] fixed missing CC or BCC when specified before sending message (#3944)
- [web] enabled Save button after deleting attributes from a card (#4095)
- [web] don't show Copy To and Move To menu options when user has a single address book
- [web] fixed display of category colors in events and tasks lists
- [eas] fixed opacity in EAS freebusy (#4033)
3.2.7 (2017-02-14)

View File

@ -316,10 +316,6 @@
componentData.hour = start.getHourString();
componentData.blocks = [];
component = new Component(componentData);
// Filter out categories for which there's no associated color
component.categories = _.filter(component.categories, function(name) {
return Component.$Preferences.defaults.SOGoCalendarCategoriesColors[name];
});
objects.push(component);
return objects;
};
@ -437,10 +433,6 @@
_.reduce(data[type], function(components, componentData, i) {
var data = _.zipObject(fields, componentData), component;
component = new Component(data);
// Filter out categories for which there's no associated color
component.categories = _.filter(component.categories, function(name) {
return Component.$Preferences.defaults.SOGoCalendarCategoriesColors[name];
});
components.push(component);
return components;
}, components);
@ -539,8 +531,15 @@
else if (this.type == 'task')
this.completed = new Date();
if (this.c_category)
this.categories = _.invokeMap(this.c_category, 'asCSSIdentifier');
if (this.c_category) {
// c_category is only defined in list mode (when calling $filter)
Component.$Preferences.ready().then(function() {
// Filter out categories for which there's no associated color
_this.categories = _.invokeMap(_.filter(_this.c_category, function(name) {
return Component.$Preferences.defaults.SOGoCalendarCategoriesColors[name];
}), 'asCSSIdentifier');
});
}
// Parse recurrence rule definition and initialize default values
this.$isRecurrent = angular.isDefined(data.repeat);